// https://syzkaller.appspot.com/bug?id=03f4404da0737d2be5145ac3ed936712fcfd504c // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static void sleep_ms(uint64_t ms) { usleep(ms * 1000); } static uint64_t current_time_ms(void) { struct timespec ts; if (clock_gettime(CLOCK_MONOTONIC, &ts)) exit(1); return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; } static void thread_start(void* (*fn)(void*), void* arg) { pthread_t th; pthread_attr_t attr; pthread_attr_init(&attr); pthread_attr_setstacksize(&attr, 128 << 10); int i = 0; for (; i < 100; i++) { if (pthread_create(&th, &attr, fn, arg) == 0) { pthread_attr_destroy(&attr); return; } if (errno == EAGAIN) { usleep(50); continue; } break; } exit(1); } typedef struct { int state; } event_t; static void event_init(event_t* ev) { ev->state = 0; } static void event_reset(event_t* ev) { ev->state = 0; } static void event_set(event_t* ev) { if (ev->state) exit(1); __atomic_store_n(&ev->state, 1, __ATOMIC_RELEASE); syscall(SYS_futex, &ev->state, FUTEX_WAKE | FUTEX_PRIVATE_FLAG, 1000000); } static void event_wait(event_t* ev) { while (!__atomic_load_n(&ev->state, __ATOMIC_ACQUIRE)) syscall(SYS_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, 0); } static int event_isset(event_t* ev) { return __atomic_load_n(&ev->state, __ATOMIC_ACQUIRE); } static int event_timedwait(event_t* ev, uint64_t timeout) { uint64_t start = current_time_ms(); uint64_t now = start; for (;;) { uint64_t remain = timeout - (now - start); struct timespec ts; ts.tv_sec = remain / 1000; ts.tv_nsec = (remain % 1000) * 1000 * 1000; syscall(SYS_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, &ts); if (__atomic_load_n(&ev->state, __ATOMIC_ACQUIRE)) return 1; now = current_time_ms(); if (now - start > timeout) return 0; } } static bool write_file(const char* file, const char* what, ...) { char buf[1024]; va_list args; va_start(args, what); vsnprintf(buf, sizeof(buf), what, args); va_end(args); buf[sizeof(buf) - 1] = 0; int len = strlen(buf); int fd = open(file, O_WRONLY | O_CLOEXEC); if (fd == -1) return false; if (write(fd, buf, len) != len) { int err = errno; close(fd); errno = err; return false; } close(fd); return true; } #define MAX_FDS 30 static void setup_gadgetfs(); static void setup_binderfs(); static void setup_fusectl(); static void sandbox_common_mount_tmpfs(void) { write_file("/proc/sys/fs/mount-max", "100000"); if (mkdir("./syz-tmp", 0777)) exit(1); if (mount("", "./syz-tmp", "tmpfs", 0, NULL)) exit(1); if (mkdir("./syz-tmp/newroot", 0777)) exit(1); if (mkdir("./syz-tmp/newroot/dev", 0700)) exit(1); unsigned bind_mount_flags = MS_BIND | MS_REC | MS_PRIVATE; if (mount("/dev", "./syz-tmp/newroot/dev", NULL, bind_mount_flags, NULL)) exit(1); if (mkdir("./syz-tmp/newroot/proc", 0700)) exit(1); if (mount("syz-proc", "./syz-tmp/newroot/proc", "proc", 0, NULL)) exit(1); if (mkdir("./syz-tmp/newroot/selinux", 0700)) exit(1); const char* selinux_path = "./syz-tmp/newroot/selinux"; if (mount("/selinux", selinux_path, NULL, bind_mount_flags, NULL)) { if (errno != ENOENT) exit(1); if (mount("/sys/fs/selinux", selinux_path, NULL, bind_mount_flags, NULL) && errno != ENOENT) exit(1); } if (mkdir("./syz-tmp/newroot/sys", 0700)) exit(1); if (mount("/sys", "./syz-tmp/newroot/sys", 0, bind_mount_flags, NULL)) exit(1); if (mount("/sys/kernel/debug", "./syz-tmp/newroot/sys/kernel/debug", NULL, bind_mount_flags, NULL) && errno != ENOENT) exit(1); if (mount("/sys/fs/smackfs", "./syz-tmp/newroot/sys/fs/smackfs", NULL, bind_mount_flags, NULL) && errno != ENOENT) exit(1); if (mount("/proc/sys/fs/binfmt_misc", "./syz-tmp/newroot/proc/sys/fs/binfmt_misc", NULL, bind_mount_flags, NULL) && errno != ENOENT) exit(1); if (mkdir("./syz-tmp/newroot/syz-inputs", 0700)) exit(1); if (mount("/syz-inputs", "./syz-tmp/newroot/syz-inputs", NULL, bind_mount_flags | MS_RDONLY, NULL) && errno != ENOENT) exit(1); if (mkdir("./syz-tmp/pivot", 0777)) exit(1); if (syscall(SYS_pivot_root, "./syz-tmp", "./syz-tmp/pivot")) { if (chdir("./syz-tmp")) exit(1); } else { if (chdir("/")) exit(1); if (umount2("./pivot", MNT_DETACH)) exit(1); } if (chroot("./newroot")) exit(1); if (chdir("/")) exit(1); setup_gadgetfs(); setup_binderfs(); setup_fusectl(); } static void setup_gadgetfs() { if (mkdir("/dev/gadgetfs", 0777)) { } if (mount("gadgetfs", "/dev/gadgetfs", "gadgetfs", 0, NULL)) { } } static void setup_fusectl() { if (mount(0, "/sys/fs/fuse/connections", "fusectl", 0, 0)) { } } static void setup_binderfs() { if (mkdir("/dev/binderfs", 0777)) { } if (mount("binder", "/dev/binderfs", "binder", 0, NULL)) { } if (symlink("/dev/binderfs", "./binderfs")) { } } static void loop(); static void sandbox_common() { prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0); if (getppid() == 1) exit(1); struct rlimit rlim; rlim.rlim_cur = rlim.rlim_max = (200 << 20); setrlimit(RLIMIT_AS, &rlim); rlim.rlim_cur = rlim.rlim_max = 32 << 20; setrlimit(RLIMIT_MEMLOCK, &rlim); rlim.rlim_cur = rlim.rlim_max = 136 << 20; setrlimit(RLIMIT_FSIZE, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_STACK, &rlim); rlim.rlim_cur = rlim.rlim_max = 128 << 20; setrlimit(RLIMIT_CORE, &rlim); rlim.rlim_cur = rlim.rlim_max = 256; setrlimit(RLIMIT_NOFILE, &rlim); if (unshare(CLONE_NEWNS)) { } if (mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, NULL)) { } if (unshare(CLONE_NEWIPC)) { } if (unshare(0x02000000)) { } if (unshare(CLONE_NEWUTS)) { } if (unshare(CLONE_SYSVSEM)) { } typedef struct { const char* name; const char* value; } sysctl_t; static const sysctl_t sysctls[] = { {"/proc/sys/kernel/shmmax", "16777216"}, {"/proc/sys/kernel/shmall", "536870912"}, {"/proc/sys/kernel/shmmni", "1024"}, {"/proc/sys/kernel/msgmax", "8192"}, {"/proc/sys/kernel/msgmni", "1024"}, {"/proc/sys/kernel/msgmnb", "1024"}, {"/proc/sys/kernel/sem", "1024 1048576 500 1024"}, }; unsigned i; for (i = 0; i < sizeof(sysctls) / sizeof(sysctls[0]); i++) write_file(sysctls[i].name, sysctls[i].value); } static int wait_for_loop(int pid) { if (pid < 0) exit(1); int status = 0; while (waitpid(-1, &status, __WALL) != pid) { } return WEXITSTATUS(status); } static void drop_caps(void) { struct __user_cap_header_struct cap_hdr = {}; struct __user_cap_data_struct cap_data[2] = {}; cap_hdr.version = _LINUX_CAPABILITY_VERSION_3; cap_hdr.pid = getpid(); if (syscall(SYS_capget, &cap_hdr, &cap_data)) exit(1); const int drop = (1 << CAP_SYS_PTRACE) | (1 << CAP_SYS_NICE); cap_data[0].effective &= ~drop; cap_data[0].permitted &= ~drop; cap_data[0].inheritable &= ~drop; if (syscall(SYS_capset, &cap_hdr, &cap_data)) exit(1); } static int do_sandbox_none(void) { if (unshare(CLONE_NEWPID)) { } int pid = fork(); if (pid != 0) return wait_for_loop(pid); sandbox_common(); drop_caps(); if (unshare(CLONE_NEWNET)) { } write_file("/proc/sys/net/ipv4/ping_group_range", "0 65535"); sandbox_common_mount_tmpfs(); loop(); exit(1); } static void kill_and_wait(int pid, int* status) { kill(-pid, SIGKILL); kill(pid, SIGKILL); for (int i = 0; i < 100; i++) { if (waitpid(-1, status, WNOHANG | __WALL) == pid) return; usleep(1000); } DIR* dir = opendir("/sys/fs/fuse/connections"); if (dir) { for (;;) { struct dirent* ent = readdir(dir); if (!ent) break; if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0) continue; char abort[300]; snprintf(abort, sizeof(abort), "/sys/fs/fuse/connections/%s/abort", ent->d_name); int fd = open(abort, O_WRONLY); if (fd == -1) { continue; } if (write(fd, abort, 1) < 0) { } close(fd); } closedir(dir); } else { } while (waitpid(-1, status, __WALL) != pid) { } } static void setup_test() { prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0); setpgrp(); write_file("/proc/self/oom_score_adj", "1000"); } static void close_fds() { for (int fd = 3; fd < MAX_FDS; fd++) close(fd); } struct thread_t { int created, call; event_t ready, done; }; static struct thread_t threads[16]; static void execute_call(int call); static int running; static void* thr(void* arg) { struct thread_t* th = (struct thread_t*)arg; for (;;) { event_wait(&th->ready); event_reset(&th->ready); execute_call(th->call); __atomic_fetch_sub(&running, 1, __ATOMIC_RELAXED); event_set(&th->done); } return 0; } static void execute_one(void) { if (write(1, "executing program\n", sizeof("executing program\n") - 1)) { } int i, call, thread; for (call = 0; call < 5; call++) { for (thread = 0; thread < (int)(sizeof(threads) / sizeof(threads[0])); thread++) { struct thread_t* th = &threads[thread]; if (!th->created) { th->created = 1; event_init(&th->ready); event_init(&th->done); event_set(&th->done); thread_start(thr, th); } if (!event_isset(&th->done)) continue; event_reset(&th->done); th->call = call; __atomic_fetch_add(&running, 1, __ATOMIC_RELAXED); event_set(&th->ready); event_timedwait(&th->done, 50); break; } } for (i = 0; i < 100 && __atomic_load_n(&running, __ATOMIC_RELAXED); i++) sleep_ms(1); close_fds(); } static void execute_one(void); #define WAIT_FLAGS __WALL static void loop(void) { int iter = 0; for (;; iter++) { int pid = fork(); if (pid < 0) exit(1); if (pid == 0) { setup_test(); execute_one(); exit(0); } int status = 0; uint64_t start = current_time_ms(); for (;;) { sleep_ms(10); if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid) break; if (current_time_ms() - start < 5000) continue; kill_and_wait(pid, &status); break; } } } uint64_t r[2] = {0xffffffffffffffff, 0xffffffffffffffff}; void execute_call(int call) { intptr_t res = 0; switch (call) { case 0: res = syscall(__NR_socketpair, /*domain=*/0x1eul, /*type=*/1ul, /*proto=*/0, /*fds=*/0x200000000000ul); if (res != -1) { r[0] = *(uint32_t*)0x200000000000; r[1] = *(uint32_t*)0x200000000004; } break; case 1: *(uint64_t*)0x2000000003c0 = 0x200000000180; *(uint16_t*)0x200000000180 = 0x1e; *(uint8_t*)0x200000000182 = 1; *(uint8_t*)0x200000000183 = 0; *(uint32_t*)0x200000000184 = 0; *(uint32_t*)0x200000000188 = 0; *(uint32_t*)0x20000000018c = 0; *(uint32_t*)0x2000000003c8 = 0x10; *(uint64_t*)0x2000000003d0 = 0x200000000380; *(uint64_t*)0x200000000380 = 0x200000000480; memcpy( (void*)0x200000000480, "\xc3\xe9\x72\xbd\x85\xa6\xd8\x41\x36\xd6\xdd\x55\x04\x8d\x35\x93\xa7" "\x4f\x33\x8c\xe6\x77\x2a\xb9\xa6\xf6\x40\x41\xc2\xf6\xfb\xbe\xcd\xc0" "\x8e\xbc\xd3\x19\x2b\x6a\x53\x66\x2d\xae\x7c\x8e\x9c\x66\x5e\x80\xa5" "\xd0\x92\x5f\x72\x8d\xca\xc3\x0c\x29\x79\x39\x92\xe5\x88\x95\x26\x53" "\xd4\x14\xcb\x8c\xcd\xab\xc3\x87\x67\xfe\xe8\x19\xec\x5a\xf0\xc5\xee" "\x93\x68\x80\xfe\x85\x49\xb4\xed\x34\x77\x79\xca\xb4\xff\xd4\xe0\xb6" "\x2c\x53\xa1\xc0\x1d\xb2\x8f\x2b\x3f\x91\xc3\x42\x11\xc9\x35\x3b\xc1" "\xde\xce\x61\x51\x19\x17\xc2\x24\x5f\xd6\x6c\xb8\xdf\xfe\xac\xb4\xd4" "\x6d\x62\x7c\x97\xb4\x98\xbf\x1f\xf6\xb3\x13\xbf\xbc\x97\x65\x45\x7c" "\x83\x17\x71\xd5\xee\xc7\x99\x7e\xc2\x42\xe4\x50\x5f\x01\xc1\xbb\x3e" "\x06\x9b\x2e\x63\x0f\x42\xa2\xbe\x86\x59\x8a\x61", 182); *(uint64_t*)0x200000000388 = 0x64; *(uint64_t*)0x200000000390 = 0x200000000300; memset((void*)0x200000000300, 86, 1); *(uint64_t*)0x200000000398 = 1; *(uint64_t*)0x2000000003a0 = 0x200000001600; memcpy( (void*)0x200000001600, "\x3e\xed\x50\xd0\x12\x57\x19\xa8\x10\xf8\x8e\x3f\x47\x18\x6f\xe4\xda" "\xe7\x41\x82\xdf\xd1\x09\xa2\x58\x7c\x47\x97\x41\x0c\x9b\x8e\x39\xbd" "\x3d\x9a\xa1\x44\xd5\x90\x86\x47\xc3\x0c\x8d\xb6\x9b\x5c\x17\x08\x4c" "\x9b\x1b\xfb\xb8\x68\x07\x37\xc4\xf8\x8a\xbc\xdb\xc7\xd2\x94\xd7\x2a" "\xb1\xb3\x44\x27\x09\x15\xdf\x9d\xdf\x56\x35\x64\x4c\x35\x1c\x22\xb2" "\x9d\x94\x8a\xc4\x10\x6b\xce\x71\x07\x57\x0b\xee\xd6\x30\x77\xcf\xbc" "\x98\xef\x71\x69\x9e\xae\x65\xd3\x77\x24\xd9\x95\xb5\x53\xe7\xa3\xad" "\xe6\x19\xb5\x22\x31\x3a\xb3\x82\xca\xf8\x79\xfe\xb4\x89\x42\x87\x8e" "\x60\x5e\xe3\xee\x28\x72\x79\x4e\x3a\xbe\x22\xa3\xf0\x25\x06\x8b\x62" "\x8a\x5d\x92\x46\x80\x92\xa5\xcc\x64\x9b\xbb\xd9\x78\xb5\x77\x2e\x53" "\x79\x39\x43\x2a\x50\x21\x22\x23\x5c\xed\x31\x2d\xaf\xd1\x08\xc9\xff" "\xeb\x0b\x38\xcc\x16\xda\x94\x18\xca\x01\xd4\x85\xa6\xaf\xb5\x82\x7d" "\xa4\xdf\x6e\x11\x21\xec\x30\x7d\xe1\x4b\xb3\x2b\x6a\x97\x76\x08\xe4" "\x57\x6a\x99\x81\x82\xdd\x93\xd5\x92\xff\x43\xe5\x5b\xfd\xbb\xce\x23" "\xec\xd5\x01\xe4\x3b\x3e\x93\xef\x8d\x9d\x01\x71\x1d\xff\x54\xc3\x01" "\xe2\x99\xd3\x80\x1a\x3c\xff\xe6\xc9\x88\x3f\xbd\x0e\x47\x12\x4d\xc0" "\x25\x69\xf6\x2d\x48\xb8\x78\xfc\xb5\x8c\xe9\x9f\xcf\xfc\xd2\xa5\x16" "\x6e\xff\x3a\xd9\x3c\xf1\xd1\x37\x27\x49\x93\xd8\x6a\x3b\x37\x30\xd6" "\x3d\xed\x75\x9f\x6c\xa8\x8f\xa4\x49\xe5\x57\x5b\x15\x32\x1e\x5a\x58" "\xa1\xf8\x88\xee\xd7\x46\x6d\xb4\x97\x6c\xe3\x5f\x6d\x2e\xfb\x5a\xd0" "\x5d\x99\xa6\x64\x82\xdc\x60\x7c\xb5\xac\xb2\x4d\x32\x68\x03\xbd\x33" "\x75\x19\xcc\x98\x10\x3f\x59\xc6\x3b\x59\x62\xcd\x72\xe4\x49\x7d\x1b" "\x00\x81\x7d\x6e\x09\xde\x70\x27\x0a\x09\xb4\x93\xc2\x22\x66\x17\xb1" "\xc9\xef\x9d\x50\x6b\xe0\x0d\x6e\x07\xf1\x46\x33\xa9\x66\xf0\x4e\xcc" "\xa9\x0f\xb8\xd2\xb9\x63\xad\x6f\x38\x17\x93\x5b\xd6\x53\x4f\xa3\xda" "\x1c\x5d\xc4\x68\x78\x9c\xbf\x11\x92\xf3\xc0\xbf\xf3\x77\x7f\x1e\xdd" "\x2a\xda\x5d\x35\xf8\x8f\x12\xf2\x9e\x95\x2c\x44\x44\x5c\xe6\x23\x50" "\x9d\x66\x81\x1c\x80\xa9\xe0\xf1\x3a\xd8\x5a\xba\x37\xd8\x6f\xf0\xda" "\x4d\xda\x60\x1d\x9e\x8a\xcb\x26\x42\x33\xbc\x93\x9f\xb0\x56\x31\x66" "\x12\xcf\xf6\x87\xd5\xc4\x41\x57\xbe\x05\xbc\xc8\x8b\x33\x3f\xf2\xa4" "\x00\x41\xd9\x8f\x1a\xcf\xe6\xe2\x23\x1a\x84\xe0\x9b\xd7\xa5\x4a\x04" "\x42\xcf\x87\xce\x3e\xe8\xfd\x8d\xa3\x9d\xa1\x86\x28\x62\xae\x40\xfc" "\x3c\xb3\x05\x5c\x8b\x70\xe6\x2f\x24\x38\x50\x70\x73\x41\xf5\x14\x26" "\xbb\x3e\x71\xc7\xa4\xff\xfe\xfa\xb0\x60\xdb\x78\x60\x00\x61\x8b\x05" "\xeb\x08\x7a\x42\x4a\x2f\x30\xf6\xa2\x32\xff\x44\xb6\x05\xf7\x0c\xee" "\xc0\xa8\xf7\x0e\x37\x90\x7f\x6e\x0b\xbb\xa2\x1e\x9d\x5b\x7e\xcb\x6d" "\x28\x77\x42\xb7\x5c\x10\x1b\xa7\x95\x25\x91\x8c\x34\x73\xea\xe3\x8f" "\x3c\x17\x72\x49\xdf\xa8\x81\x66\x61\xc9\x92\x1f\x0b\x0c\x85\x8d\x53" "\xab\x87\xc8\x40\x7b\x97\x95\x0c\x84\x21\x11\x00\x2e\xdd\x1d\x1e\x80" "\xb8\x01\xb4\x95\xda\x28\xbc\xd5\x40\x9b\xc9\x71\xe5\x5d\xab\x18\x57" "\xe1\x88\xac\x97\x28\xef\xc8\xf9\xa4\x54\x39\x45\xf8\x6a\xde\x13\xb4" "\x45\xea\xce\xcb\xbf\x84\x8a\x96\x41\x0a\xc3\x7c\x57\xe3\xe9\xe8\xbc" "\x8b\x8f\xad\xd5\x59\xd2\x25\xc7\x46\x86\x39\xda\x2b\x5d\x12\x08\x55" "\x8b\x51\xe9\x4c\x14\xfa\xa7\x94\x7a\x7c\x60\xe8\x1a\x96\xbb\x5d\x19" "\x4c\xc7\x28\x9a\xdb\xc0\x2e\xbb\x4b\x49\xbe\x1f\x1e\xfc\x42\x9d\xb2" "\xf9\xb7\x9b\x5a\x22\x91\x9d\xba\x0c\x35\x34\x10\x42\xc5\x77\x69\x42" "\xc5\x23\x65\x36\x7c\x4b\xfc\x95\xb4\x2b\xe3\x83\xcc\xa7\x10\x71\x61" "\xde\xd7\xe8\x51\xd0\x12\x6d\xa3\x3d\x58\x1f\x1e\x2b\x08\xd0\xc0\x61" "\xe8\x6d\x31\xe7\xa8\x3f\x9b\x51\xc7\x9b\x40\x34\xc7\xde\xda\x76\x97" "\x03\x4e\x14\x04\xc6\xe8\xe4\x59\xf7\x6c\x2e\xfe\x64\x35\x01\x46\xc7" "\x43\x7e\xf8\x08\xe0\x4c\xa1\x4d\xf5\xf6\xf5\x00\x26\x4f\xd9\x77\x27" "\x2b\xbf\x8f\xc0\x96\x77\x4e\x8e\xb6\x1d\x09\x63\x43\x07\x51\xac\x14" "\x25\xa0\x73\xf8\x43\x46\xb0\xeb\xa3\x68\xcb\xa7\xfa\x34\xad\xc4\x20" "\x80\x0d\x4f\x99\x92\x72\x80\xeb\xa1\x99\xf9\x69\x5c\xf8\x81\x24\xfa" "\xfc\x3a\x2b\x12\x26\xd2\xf2\xab\x3e\xa2\x7c\x69\xa1\x27\x65\x0c\xf5" "\xc7\x25\xb5\x4c\x02\xbd\x87\x29\x03\x3c\xf6\x99\xce\x7f\x03\x0f\x9a" "\x34\x42\x05\x62\x44\xda\x3c\xfb\x61\xa8\x12\x6d\xba\x11\x37\x76\x24" "\xf3\x9e\xb0\x09\x24\x21\x52\xfd\x7b\x8b\x88\xde\x7d\xd8\x60\x57\xf2" "\x9b\xfc\xb7\xb7\xdf\x0e\x65\xe7\xe9\xac\x9e\xea\xa4\x1a\xfa\x62\x74" "\x36\x98\xbf\xf0\x3d\x5b\x2d\x51\xfb\x6b\xca\x2d\x92\x29\x4e\x8e\x17" "\x7c\xfa\x36\x61\xb2\x6f\x1c\x04\x0e\x9b\xed\x98\x3b\x7b\xc0\xaa\x15" "\x4e\xb9\xc9\x2e\x4e\xe2\x50\x91\x31\x8c\x53\x11\x3a\x1c\x23\xac\x62" "\xd2\xd7\x15\x04\xcb\xa9\x90\x41\xf2\x9a\x4f\x33\x21\x33\x29\x2c\xf2" "\x0a\xbe\xc9\x22\x2a\x2a\xcc\xa5\x7c\xac\x48\xfa\x6c\x06\x68\xee\x5e" "\xec\xb4\x94\x74\x1a\x64\xd3\x3b\x01\x1d\xcc\xa7\x46\x96\xd4\x61\x4c" "\x5b\x45\xa5\xd2\x09\x83\xb1\x70\x8d\x36\x5e\xd3\xff\xa6\x0f\x91\x61" "\x97\x2a\x61\x1c\x22\x64\x2c\x3c\x25\x9b\x41\xf9\x43\xf6\xd7\xa8\xb6" "\x0f\x28\x4d\x32\x5e\x38\xfe\x76\xf0\x64\x5e\x06\x9f\xf7\x0c\xae\x38" "\x85\x0c\xcf\x97\x31\x93\xb6\x23\x2c\x98\x7d\xf2\x62\x39\xa5\x74\x69" "\x1f\x7f\x07\xff\xfa\x6d\xea\xe1\xeb\x03\x24\xfe\x54\x65\x73\xc3\x6f" "\x2a\x2c\x31\xcd\x44\x25\x17\xa9\xb0\x36\xae\x6a\x2a\x49\x1e\x73\x43" "\x86\x46\x93\xc1\x07\xa5\xdc\x25\x85\x82\x08\x63\xc1\x46\xc1\xba\x6c" "\xaa\x4f\xea\x9b\x87\xd5\x67\x71\x6f\x4c\x8c\xa1\xa9\xd2\x84\x80\x55" "\xcd\x75\x05\x12\xd3\xb7\x41\x5d\x09\x00\x19\xdc\x8a\x04\xa1\xa1\xd2" "\x89\x31\x09\x3c\xd8\xf0\x0e\x94\xc4\x07\xca\x1f\xa2\xa5\xce\x90\x3d" "\x9d\xf2\x6e\x00\x8c\x07\xcd\x13\xaf\xa7\x83\x22\x0e\x1b\xd5\xe6\xb6" "\x06\x45\xf3\xdb\xb6\xec\xb4\x15\x6f\xed\xaf\xa2\xdd\x25\x49\x8c\x6a" "\x99\xd9\x4f\x0b\x38\x12\x5e\xa7\x74\x1b\x75\x10\x9d\xca\xc9\xf8\x06" "\x35\xf7\x9f\x5c\x8a\x04\x83\xbb\x9f\x05\xa3\xa5\xbf\x72\x1c\x75\x41" "\xed\xb2\x52\x44\x9f\x8b\x13\xe6\x3c\x37\x0a\x61\x46\x33\x2f\x03\xca" "\x1f\x1b\x6f\xe0\xbe\xd9\x84\xf1\x37\x44\xbb\x7f\xa0\xfe\x32\x2e\x83" "\xdd\xf9\xff\xb2\x08\x3e\x94\xf3\x36\x04\xa0\xa1\x99\x22\x0c\x45\x0d" "\xad\x94\xbf\x15\x48\x05\xe7\xf9\xe4\x35\x0c\xa2\xd8\x1a\xdf\x29\x78" "\xc8\x7d\xcc\x8a\x8a\x7d\x56\x29\x7e\xc1\x24\xbf\xef\x0d\x28\xf3\x57" "\x77\x20\x5e\x97\x32\x72\xc8\x7e\x01\x07\x0f\x14\xf5\xb1\x4d\xaa\x3b" "\x51\x04\xd9\xff\x6b\x29\x6c\x4f\x16\xed\x49\xeb\x42\xd3\x5e\x7b\xa3" "\xbc\xcb\x7a\x26\xc3\x3a\x26\x3d\xf8\x8a\xad\xd5\x96\xe9\xd9\xde\x0a" "\xbb\xd4\xd4\x49\xdf\x11\x08\x1f\x2c\xd6\x2e\x1d\x89\x62\xb9\xb9\xfe" "\xb2\x5a\x3b\x8e\x03\x53\x7d\x61\xa6\x1c\x11\xac\x22\xb7\x21\x1d\x12" "\xc8\x4e\x60\xa6\xab\xcc\x21\x9e\x55\x8b\x25\x13\xd8\xc5\x30\xb3\xc7" "\xa5\x7c\xdc\x47\xde\x54\x5a\xaf\xbb\x2a\x13\xc0\xe6\xc7\x5b\x1b\x92" "\xfa\x24\x1c\x71\x3c\x83\xa0\x9c\x92\xb2\xb6\x1d\x56\x51\x20\x37\x2a" "\x91\x43\x41\x55\x83\xc9\x59\x6f\x27\xa6\x63\xd4\x96\x7c\xd6\x53\xb0" "\x8c\xeb\xd6\xcb\x96\xc1\xf0\xdc\x80\xd5\x72\x67\xac\x9a\x82\x81\xd7" "\x14\x9b\xde\x88\x08\x28\xee\x27\xd6\x9a\x68\x18\xdb\x58\x32\x0d\xb2" "\x9d\x1b\x04\x4e\xaf\x6a\xb8\xa5\x10\x8b\xc5\x22\xde\x40\x69\x90\xb5" "\x39\x3b\x1f\x7e\x7b\xab\x71\xbf\x6c\xf8\xee\xd1\xcd\x59\xc7\x60\x7d" "\x66\x2e\x8b\x31\x3f\x5c\x4f\xce\x0f\x59\xb1\x02\x73\x71\x38\x10\x11" "\xb6\x3d\xd5\xb2\xb0\x97\x39\x08\x2c\x0d\x62\xff\xad\x96\xe3\x01\x53" "\xa3\x95\x23\x49\x37\xd3\x77\xc3\x2f\xe7\xaf\x82\xac\xa3\xa1\x9d\x0e" "\xbc\x4a\x5c\x5f\xb5\xff\x19\x0f\x14\xd5\x69\x5c\x70\x3b\x57\x1f\xb4" "\xbf\x03\x75\x66\x35\xca\xfc\x6c\xf6\x26\x7e\xab\x83\x6c\x34\x7a\x9d" "\x07\xe8\x08\x9f\xc1\x05\x34\x69\x34\xcf\x33\x64\xe5\xbe\x37\x0b\x3c" "\x42\xb9\x4b\xc5\xae\x3d\x17\xa8\x17\x39\x85\x66\xa2\x95\x32\x51\xeb" "\x91\x69\x7d\x67\x27\x81\x45\xdf\x9a\x4b\x91\x7b\xcc\xa1\xbf\x21\x17" "\x80\xb2\x2f\x4c\xaa\xcf\xcb\x76\x04\xc8\x4f\x94\x3d\x05\xf6\xfd\xf8" "\xed\xbd\x25\x8d\x7d\x8d\xbf\x84\xf9\xd9\x9e\x57\x47\x2c\x5b\x1c\x23" "\x37\xd7\x49\xa1\xf3\x45\xe6\x62\xe2\x53\x6d\x23\xc7\xa6\x3b\xbb\xbf" "\x00\xf8\xb5\xb0\xa2\x10\x6a\x03\x42\xab\x27\xb9\xa1\x0b\x82\xe8\x26" "\x68\xcd\x49\xe0\xcb\xb0\x9d\x7b\xe0\x21\x76\x45\xf1\xdd\xa3\xbe\x59" "\xc8\x23\x2f\xa2\x90\xd3\x47\x91\xcd\xa5\x2a\xa5\xb5\xce\xc6\x33\x9a" "\xb9\x6a\x2e\xb3\xf5\x32\x8c\xc7\xc0\xe6\x71\x7c\x28\x24\x34\x45\x47" "\xa2\xed\x51\x8f\x6b\x2b\x4e\x4f\xe5\xb6\x84\x59\x6a\xa6\xa9\xd3\x98" "\x8f\xc5\xd5\xff\x4c\xb4\x6c\xec\x99\xd9\x51\xb8\x38\x6b\x10\x94\x9a" "\x16\x3a\xf9\x74\xb7\x54\x3d\xf9\x7b\x48\x82\xa4\xed\x60\xe9\x27\xa1" "\xde\xb6\x7c\x5f\x81\x42\x35\xbe\xf6\x5f\xea\x79\xa2\xc7\x12\x81\x5b" "\xe7\x40\x3c\x93\xa3\x70\x7f\xb9\x0d\x46\x04\xec\x3a\x6a\x3b\x09\x28" "\xf2\x53\xf6\xab\x6b\xd5\x6c\x95\x8e\x02\x6c\x8c\x58\x17\x2c\x4a\xc2" "\xa3\xef\xe2\xec\xd5\xce\xa7\x0c\x83\x13\xf9\xac\x2d\x63\x8b\xc2\x96" "\xba\x99\xe2\xca\x86\xd2\xfd\x06\xb5\x40\x2c\xdc\xdd\xc3\xf3\xc9\x84" "\x5d\x5a\xe7\x7f\x6f\x36\x96\x3b\x91\xe8\xf6\xcd\xcc\xd1\x7a\xbe\x8d" "\x40\xed\x02\x46\x3a\xf4\xbb\x0e\x49\x63\x44\xf3\x50\x09\x7f\x1c\xc1" "\x33\x13\xfa\x1e\x17\x2b\x63\x55\x6e\xd2\xb8\xa8\x12\x1c\x01\xa5\xfb" "\x34\x3f\xf7\x76\x78\x21\x62\x6f\xc4\x9b\x0d\x6b\xd5\x22\xe1\xc9\xbf" "\x13\x7d\x5a\x5b\xcc\xb4\xbc\x8d\xbb\x64\xc8\x3a\x82\xef\x6c\x28\x94" "\xf3\x89\x6c\x9f\x6b\xf0\xc3\x76\x40\x11\xd5\x3e\xeb\x6d\xb9\xea\x9d" "\xae\x22\xd3\xeb\xcc\xa4\x94\x2d\x58\x28\xc0\xbc\xa0\xd9\xea\x37\x70" "\x1d\x5a\x06\xc0\x66\xac\x4f\xe3\x18\xe1\x1e\x9c\x0d\x6c\x65\x8a\xc8" "\x10\xfb\x5d\x78\x36\xcf\xff\xe4\xcc\xbb\x09\x34\xe5\x56\x7d\x74\x69" "\x59\x80\xa1\x56\xd4\xbf\x1c\x18\x86\x1c\x5a\x29\xcc\xd3\x49\x99\x9d" "\xc2\x05\x62\xd0\x0e\x1f\x6c\x18\x51\xae\x56\x35\x41\x08\x64\x38\xd6" "\x0b\x97\x5c\x8c\xeb\x46\x64\x14\xff\x60\xef\xa0\xb2\xde\xe7\x90\xfd" "\x06\x59\xff\xa9\x8b\x92\x41\x4c\x13\xd5\xa6\x82\x53\x68\xf5\x6c\x49" "\x84\x41\x22\x05\x04\x1c\xd8\xe0\x06\xc7\x12\x7d\x43\x95\xec\xdf\xfb" "\x5a\xdd\xf8\x0e\xf9\x38\xce\x54\xa3\x67\x15\x4c\x4f\xc2\x86\xd5\xf9" "\x69\x32\x5c\x12\xb1\x36\x55\xa9\xa9\x56\xdd\x3b\x98\x28\x1f\x53\x7e" "\x83\x76\x69\xfc\x55\xd8\x93\x06\x76\xe8\x07\xaa\x8c\xd0\x46\xe0\xf4" "\x58\x3d\x59\xf8\x6c\xb9\x9f\x3f\x7a\x7d\xdd\xe1\xfb\x39\x11\x1f\xde" "\xc7\x67\x7d\x2f\xee\x4b\x8f\x48\x14\xa5\xde\xf5\xeb\xcc\x67\xc6\x53" "\x38\x4c\xe8\x0e\xaf\xfd\x88\x04\x05\xf7\xed\xf8\xfd\x3e\xa0\x49\xf0" "\x40\x59\x5d\xf4\xa7\x5e\x2f\x89\x2e\x7a\x85\xe0\xba\x35\x1f\xb8\xd2" "\x63\xbf\xff\x71\x68\xbb\x85\x01\x7b\x36\x0f\xcd\x2b\xa8\x93\x46\x68" "\x2a\x6e\xa7\xcc\xc4\x6a\xfb\xdb\x5a\xb4\x44\xe3\xf4\x77\x23\x8b\x2a" "\xb5\x03\xbd\xe9\x14\xd3\xcf\x17\x89\x53\x9c\xde\x9c\x06\x21\x15\x2c" "\xd9\x7b\xff\x9f\x23\x5d\x88\xa1\xef\x4e\xa4\x30\x9d\xb3\xa0\x5d\x40" "\x1a\xf7\xfb\x82\x78\x4b\x05\x0e\xf5\x29\xda\xb4\xf1\xf0\x03\xeb\x29" "\x71\x0a\x96\x2f\x75\x38\xc5\x21\xe6\x17\xe2\xf0\xef\xac\x36\x18\x2d" "\x09\x98\x5e\x1d\x72\x5c\xc3\x8c\x38\x33\xa5\x37\x42\xa0\x2f\x76\xfb" "\x28\x54\xa9\xe4\x5f\x0f\xeb\xac\xf3\xbd\xa8\x3f\x11\x18\x3e\xf5\xb9" "\xfe\xf0\x2e\xbc\xdf\x56\xd4\x10\x4b\x17\x5b\xad\x93\x7d\x8f\x61\x96" "\x4f\x97\xd6\x73\x57\x7c\xdc\xbb\xb4\x8d\x8e\xb6\x2b\x06\x3e\xe6\x56" "\x3b\x9f\xf0\x53\x71\x9b\xaf\xf8\x71\xbc\xd8\x38\x22\xd8\x65\xb2\xf7" "\xef\x02\x30\x76\x42\x5a\xc5\xcd\x71\xb1\xf2\x30\x9d\xe0\xc6\xf1\x4c" "\xc9\xc4\xd3\xe8\xfa\xd9\x45\xf7\x56\xa7\xc8\xa0\x84\xea\x1b\xfd\xf5" "\xac\x6e\x74\x00\x43\xe7\xf7\xbd\xac\xa0\x67\x74\xb0\x84\xae\x31\x4c" "\x26\x36\x52\x9d\x4f\xdc\xd9\x65\xc7\xf8\xc0\x71\x56\x57\x26\x20\xb8" "\x27\xd6\x94\xef\xdc\x9d\x2b\xfc\x5a\xa9\x39\x12\x20\xa8\x37\x65\xf2" "\xc7\x1f\xcd\x48\xd4\xac\xae\xd6\x0a\xfb\x53\xd1\x01\x3f\xa3\xb1\x5e" "\x94\x8e\xc4\x15\x9f\x7d\x13\x0e\xf8\x5b\x59\x40\x18\x34\x6e\x99\x03" "\x4c\x18\x73\x82\x85\x22\x3e\xa5\x3a\x6b\x1d\x5c\xf1\x1a\x60\x7d\xe2" "\xe1\x96\x08\xba\x03\xec\x97\x0a\x91\x5b\x77\x38\x24\x26\x1f\x3f\xc9" "\x31\xdd\x6d\x3b\x93\x4d\x89\xf0\x7b\xaf\x14\x77\x63\x14\xc3\xee\xb8" "\xcd\x05\x37\xef\x57\x36\xf5\x65\xfb\xd1\x4e\x52\x0d\x4a\xb2\xf7\x7e" "\xd9\x59\x7b\x76\xff\x91\xf8\xd1\xf9\x9e\xbd\x6e\x47\x3e\xfd\xa7\xac" "\xcb\x27\x39\x75\xa0\x69\x44\xd1\x03\x70\x32\x12\x99\x92\xb9\x94\xca" "\x79\x1a\x09\xb4\xd8\x39\x80\xa1\xe4\x94\xb0\xf9\x70\x98\xdf\x5f\x6f" "\xb6\xbb\xb0\x27\x22\xad\xb1\x1d\xc3\x19\xc5\x65\xc2\xc3\x63\xcb\xd1" "\x9d\x9f\xb3\xef\xb4\x61\x3b\x62\xd6\x58\x4c\xd5\x3f\x7b\xd8\x0e\x3e" "\x89\x30\x4f\x44\x4c\xe9\xdd\x18\x35\x66\x1e\x3b\xb4\xde\x02\xcc\xf5" "\x68\xa2\xa5\xda\xaf\x0d\x56\x89\x8d\x42\x86\xc3\xfb\x62\xe2\x2a\xf6" "\x2d\x7a\xc3\x18\x68\x58\x34\x46\x7f\x33\x75\x61\xdd\xe2\xe0\xc1\xe2" "\x82\x7c\xdf\xfc\xf4\x2c\x17\x72\x8e\xe6\x4b\x3f\xf4\xcc\xc0\x22\x75" "\x90\xba\xdd\x0b\xd7\xe4\x48\xb8\xcc\xa0\x89\x2d\x6a\x5e\x01\x30\xd2" "\xac\x66\x5f\x47\xc6\xb2\x8d\xaa\x10\x1c\x1b\x31\x98\x69\xbd\xd3\x9f" "\xa9\x24\xd6\xd9\xba\x7d\x72\xfe\xda\x5f\x21\xac\x78\x64\x1c\x7d\x48" "\x01\xd4\x1c\x78\x79\x72\x1b\x3b\xe4\xda\xb4\x0d\x9c\x4a\x78\x55\x24" "\x40\x10\x1f\x37\x34\x89\xcc\x52\x40\xb0\x14\x4a\x9c\xe3\x26\x91\xa7" "\x84\xb6\xdf\xe9\x71\xa2\x1b\xb5\x98\x0f\xf6\x7d\xa2\xd1\xbb\x90\xb2" "\x23\xc9\xe1\x92\xa3\x9c\x1a\xea\xdd\x1f\x5c\x79\x08\x11\x07\x9c\x0b" "\x51\xa9\x71\x05\xc9\x9b\x6f\x95\xd7\x1b\xb3\xea\x47\xc3\x3d\x9d\xcb" "\x0a\x53\xc9\x29\xc4\x44\x99\xe1\x84\xa3\xcd\x72\x2c\x90\x8d\x3b\x0d" "\x15\x7e\x28\xff\xde\xb2\xed\x71\x92\xe7\x80\xd9\x6a\x7a\x2f\x0f\xd5" "\xa8\x7b\xdc\x97\x3e\x04\x9d\xa0\xca\xf9\x31\xf2\x6f\x5a\x21\x81\x3e" "\x2e\x60\x2c\xeb\x22\x59\x99\x7e\x02\x05\xce\x48\xfd\x94\x24\xbd\x6d" "\x4d\x75\xdd\x43\x01\xf4\x29\xee\x30\x74\x5c\xd8\x39\xa4\x0d\xbe\xab" "\x4c\x3d\xb2\xf0\xf1\x0b\xba\xea\x07\x1c\xa4\x1d\x13\x92\x38\x56\x81" "\x73\x0a\x36\x78\xa5\xf6\x0f\x60\x4d\xbe\x19\xcb\x9d\x7d\xd2\x34\x33" "\x7e\x32\x74\x51\xb8\xcc\x65\x39\x4a\xf3\x99\x43\x2e\xf7\xfc\x37\x65" "\xd0\x55\x87\x4e\xbd\xca\x14\xe5\x99\x92\x92\xd6\xf7\x2f\x31\xe9\x2b" "\xac\xf2\x5d\xb5\xef\x8f\x52\x12\x95\x2c\x19\x10\xde\x06\xdd\xbe\x16" "\x87\xa0\xe1\x83\x79\x22\xf2\x22\x82\x89\x91\x6e\xd3\xae\xb7\xb9\xcc" "\x24\xda\x3a\xe4\x71\x39\xe3\x71\x93\x0a\xfa\x6d\x35\x73\xdf\x67\x32" "\xc2\x6c\x0c\x7a\xe0\x6d\x9c\xed\xfa\x77\x16\x07\x11\xbc\xb0\x6e\x65" "\x53\x33\x8d\xea\xe4\xc5\x73\x1c\xf5\x3c\xc1\x54\x11\x30\x96\xd0\x2f" "\x30\x36\xd7\xd9\xed\xfc\xdc\x33\x1e\x4b\xb8\x60\xc5\x20\x84\x89\x21" "\x2e\x90\x4e\xab\x70\xe7\xf8\x60\xb0\x37\x98\x95\xcb\xde\xcb\xf7\xa0" "\xb7\xa2\x5e\x5b\x85\x3c\x7d\xbe\x08\xa4\xe2\x96\xa3\x0a\xfe\xc8\xcf" "\x5a\x9f\x6e\xa4\xae\xf3\x2a\x50\x86\x55\xd5\x39\xa7\x70\xb2\x1e\x66" "\x0c\x9e\xe1\xd7\x68\x8c\x56\xab\xeb\x7c\xf1\xaf\xcc\xc8\xd5\x97\x80" "\xcf\x26\x31\x25\x89\xe0\xc8\xe1\xbc\x00\xad\x7b\x13\x25\xcd\x9a\x5d" "\xd6\x92\x46\xe0\xb3\x34\x07\xc3\x81\xea\x09\x26\x51\x54\xae\xc2\x97" "\xe4\xcc\xdf\x97\x85\xa1\x04\x2a\x83\xe7\x7c\x13\xd4\xce\x43\x60\x78" "\x2f\x24\x28\xf9\x91\x6b\x5c\xd1\x23\xb0\x89\xeb\x68\x3d\x30\xc1\xe8" "\x95\xb9\x94\x4a\xa9\x05\xa1\xa5\xb5\x23\x01\xd8\xcc\x5e\x47\x41\x83" "\x4e\xad\x6e\xbd\xb5\xdc\x05\xc9\xc4\x9c\x5e\x88\x3e\x99\xd4\x0b\x98" "\x38\x03\x7b\xea\xf8\x76\x53\x4d\x74\x78\x56\x10\x3e\x59\xca\xf6\x26" "\x6f\xbb\xe7\x60\xb6\xef\x83\xd0\x04\x63\x4b\x74\xf1\x4f\x8e\xb4\xae" "\xf9\x3c\x4c\xc9\xcb\xbd\x78\xd8\x3d\x53\x2c\x70\xfe\xef\x51\xea\x3f" "\x17\x0b\x25\xd8\x1a\x6a\x9b\x07\x4b\xfc\xa7\xe9\xb3\x77\x1b\xf8\x35" "\x17\xe0\xdd\x9d\x06\x00\xf7\x0b\x86\xb2\x0f\x61\xfe\x36\x07\x6f\x8b" "\xad\xa3\x34\xb2\x39\x0f\xa9\x54\x97\x3b\xc9\x01\x61\x9a\x3c\xfd\x03" "\x93\x49\xcb\x32\x86\x25\xf4\x95\xab\x28\x8d\xbd\xd6\xdb\xfd\x02\x2c" "\x2a\x83\xf5\x9e\x0b\x99\x86\x19\xa1\x2e\x35\x89\x1b\x5a\xe9\xe8\x3a" "\x71\x76\x55\x07\xb4\xa5\x71\xcd\x22\x41\xe5\x88\x5c\x70\x52\x44\xc1" "\x02\x26\x88\xbe\xf7\xc5\x06\x5f\xbc\xf2\x19\xfc\x01\x75\x3a\xdb\x61" "\x1b\x3f\xbc\x09\x40\x3d\xcb\x10\xa4\xf9\x9d\x78\x86\x67\xef\xf7\x5f" "\xa2\x70\x74\xca\x84\x81\xa6\x33\x53\x0e\x26\x16\x3c\xcf\x7d\xad\xa0" "\x49\xd2\x3e\x71\x7e\x06\x7b\x6f\xa5\xb2\xf6\x52\xbc\x50\xab\xda\x9e" "\x7c\xcd\xc5\xf2\xf3\xc3\x5e\xcc\x2c\x44\x31\xc8\x19\xc9\x69\x1b\xe4" "\x42\x2e\x37\x97\x50\x77\x4e\x9f\x39\xda\xe0\x6f\x26\x42\x3c\x8a\x42" "\x78\x78\x9c\x9f\x31\x11\xb4\x3f\x6d\xd2\x5b\x0a\xd4\x7c\x4c\xc5\xfd" "\xa3\xf3\xed\x82\x07\x9c\x93\x66\xe0\xad\xce\xd8\x83\x48\x8f\x42\x9c" "\x1d\x7e\x1b\x35\x1f\xd0\xbb\x20\x4d\xd7\x97\x7e\xf2\x24\xc4\xdf\x6d" "\x7a\x5f\x76\x97\xbc\x65\x00\xa7\xd0\x3a\x8a\x91\x41\x54\x77\x9f\xa7" "\x09\x2b\xf1\xbe\x6b\xad\x40\x92\x36\x7c\xe5\xd2\x95\xa5\xd5\xd0\xe7" "\xc4\x69\xf3\x72\xca\x20\x11\xd6\x12\x63\x70\x25\xe8\x9f\x17\x8a\xe9" "\xad\xa0\xc5\xb7\x3b\xcb\x7d\x7c\x03\x4f\xf5\x95\x26\x3c\xd4\x21\x6e" "\x3c\x76\xba\x5f\x3d\x81\x93\x2a\x08\x8a\x90\xbf\x80\x43\xe8\x77\xe2" "\x99\xc6\x70\xef\x16\x22\xa0\x98\xd5\x51\x9d\x9a\xdc\x4e\xe7\xd4\xcd" "\x00\xe5\x93\x4a\x43\x75\xfa\x83\xfd\xb8\x12\x14\xb8\x92\x48\x2b\x31" "\xbd\xde\x59\xa7\x0a\xaf\x25\xcb\x7f\x41\x7c\x3a\x2a\x91\xc4\xe5\x4b" "\x48\x14\x9f\x6c\x41\xd9\xd3\x96\xee\x6f\xf1\x3e\x30\x28\xc6\x4a\x7c" "\x9b\x1f\x2e\x7c\x6e\x67\x18\x4a\x3d\x52\xd6\xf5\x70\xdb\x3d\x22\x5c" "\x94\x74\x23\xc4\xc6\x53\x3f\x22\xdf\x57\xd1\x5c\x5e\x5a\x31\x83\x42" "\x2b\xd3\x78\xb0\x6f\xe4\x73\x2a\x94\x01\xdc\xb1\x98\x40\xfb\x8f\xa5" "\xc5\x0a\x0f\xf4\x97\xfe\xf3\x62\xc5\x07\x75\x3e\x46\xb8\x88\x1d\x3e" "\x76\x7f\x3b\x1d\x89\x3a\x38\x05\x94\x1c\x94\xf2\xef\xa0\x5c\xe3\x4b" "\x9e\xa8\x1d\x71\x69\x84\xaf\x68\x34\x23\x0d\x47\x07\xa8\x70\x89\xd4" "\x07\x79\x50\x3e\xe6\xa9\xbb\x24\x5d\x7d\x99\x7f\x14\xac\xb8\x0e\x89" "\x73\x1c\x04\x2b\xbb\xbe\x3d\xcd\x05\x17\x7b\x0e\xe0\xee\xc2\x34\x55" "\x83\x0e\xf5\xb6\x5a\xca\x35\x7f\x2b\x0b\x88\x7e\x0b\x98\x21\xc0", 4096); *(uint64_t*)0x2000000003a8 = 0x1000; *(uint64_t*)0x2000000003b0 = 0x200000000340; memcpy((void*)0x200000000340, "\xb7\x68\xeb\x20\x30\x4f\x2f\xdc\x5a\x96\x94\xa4\x86\x78\x40\xd9" "\x31\x70\xca\x1a\x86\x40\x6f", 23); *(uint64_t*)0x2000000003b8 = 0xfffffec0; *(uint64_t*)0x2000000003d8 = 4; *(uint64_t*)0x2000000003e0 = 0; *(uint64_t*)0x2000000003e8 = 0; *(uint32_t*)0x2000000003f0 = 0x8010; syscall(__NR_sendmsg, /*fd=*/r[0], /*msg=*/0x2000000003c0ul, /*f=*/0ul); break; case 2: syscall(__NR_dup2, /*oldfd=*/r[1], /*newfd=*/r[0]); break; case 3: *(uint32_t*)0x200000000040 = -1; syscall(__NR_setsockopt, /*fd=*/r[0], /*level=*/1, /*optname=*/0x21, /*optval=*/0x200000000040ul, /*optlen=*/4ul); break; case 4: *(uint64_t*)0x200000010c80 = 0; *(uint32_t*)0x200000010c88 = 0; *(uint64_t*)0x200000010c90 = 0; *(uint64_t*)0x200000010c98 = 0; *(uint64_t*)0x200000010ca0 = 0; *(uint64_t*)0x200000010ca8 = 0; *(uint32_t*)0x200000010cb0 = 0; *(uint32_t*)0x200000010cb8 = 0; *(uint64_t*)0x200000010cc0 = 0; *(uint32_t*)0x200000010cc8 = 0; *(uint64_t*)0x200000010cd0 = 0; *(uint64_t*)0x200000010cd8 = 0; *(uint64_t*)0x200000010ce0 = 0; *(uint64_t*)0x200000010ce8 = 0; *(uint32_t*)0x200000010cf0 = 0; *(uint32_t*)0x200000010cf8 = 0; *(uint64_t*)0x200000010d00 = 0; *(uint32_t*)0x200000010d08 = 0; *(uint64_t*)0x200000010d10 = 0; *(uint64_t*)0x200000010d18 = 0; *(uint64_t*)0x200000010d20 = 0; *(uint64_t*)0x200000010d28 = 0; *(uint32_t*)0x200000010d30 = 0; *(uint32_t*)0x200000010d38 = 0; *(uint64_t*)0x200000010d40 = 0; *(uint32_t*)0x200000010d48 = 0; *(uint64_t*)0x200000010d50 = 0; *(uint64_t*)0x200000010d58 = 0; *(uint64_t*)0x200000010d60 = 0; *(uint64_t*)0x200000010d68 = 0; *(uint32_t*)0x200000010d70 = 0; *(uint32_t*)0x200000010d78 = 0; *(uint64_t*)0x200000010d80 = 0; *(uint32_t*)0x200000010d88 = 0; *(uint64_t*)0x200000010d90 = 0; *(uint64_t*)0x200000010d98 = 0; *(uint64_t*)0x200000010da0 = 0; *(uint64_t*)0x200000010da8 = 0; *(uint32_t*)0x200000010db0 = 0; *(uint32_t*)0x200000010db8 = 0; *(uint64_t*)0x200000010dc0 = 0; *(uint32_t*)0x200000010dc8 = 0; *(uint64_t*)0x200000010dd0 = 0x200000004b40; *(uint64_t*)0x200000004b40 = 0; *(uint64_t*)0x200000004b48 = 0; *(uint64_t*)0x200000004b50 = 0x200000002880; memcpy( (void*)0x200000002880, "\xe8\x1a\xc9\xa4\xbc\x34\x9c\x10\x7e\xf6\xc1\xd5\x04\x90\xa8\x72\xc3" "\xdb\x14\x7c\xe7\x03\x20\x63\x54\x91\xd8\xf1\x69\xa3\xa0\x25\xe7\x5a" "\xdd\xef\xa7\x8b\x31\xb6\x29\xd7\xab\x8a\x10\x4f\x9c\xcc\xd8\xb3\x2b" "\x6c\xe1\xf3\xca\x7e\x7f\xbf\xba\x28\x2b\x24\x86\x8a\x15\xb1\xc0\x08" "\x56\x57\xd7\xa0\xfb\x42\xe6\xe7\xd0\x9c\xf7\xbb\xe6\xe9\x8b\x2c\x5a" "\xe0\x62\x01\x75\xe8\x06\xac\x5e\x23\xb4\xea\xad\xa0\x1c\x42\x95\xff" "\x5b\xa6\xa5\xca\x9c\x33\x11\x34\x6c\x5d\x79\x1c\xa0\xb7\x94\xbc\x19" "\x87\xce\xf0\xfe\x89\x5d\x18\x2a\xd0\x6d\xac\x7d\xfa\xcf\x0a\x65\x25" "\xf8\x1d\x92\xf2\x4f\x3d\x53\x5a\x48\x8d\xab\xb9\xfd\xa2\xa9\xdf\x48" "\x90\x1d\x08\x96\xeb\x07\x6b\x87\x02\x9b\x0b\xcb\x05\xb0\x92\x05\xbe" "\xbe\x98\x09\xe8\xec\xb1\xda\xbb\xa0\xb5\x6e\xb2\x28\x88\x9a\xc7\xb2" "\x89\xd7\xbe\x98\x39\xe3\x54\x03\xb2\x59\x47\x27\x30\x17\x7e\x1b\x6a" "\xff\x7f\x88\x81\xfd\xcf\x1f\x66\x58\x04\xc2\x8f\x9a\x4a\x56\x4e\xcd" "\xc9\x3f\xfd\xd6\x34\xb6\x0d\xc2\xc6\x33\xb3\x93\x9f\x56\x23\x0b\x23" "\x85\x0e\xcf\xc1\x22\x2f\x5e\x2b\x48\x65\x3c\x99\x9f\x18\x46\x7d\xa1" "\xf2\xab\x7c\x76\xea\xb3\xa7\x5e\xa3\xc0\xfd\x55\x77\xc4\xe5\x08\x60" "\xed\x0b\x13\xae\x59\x55\x2c\xe5\x9c\x10\xeb\x06\x25\x57\x30\x5e\x86" "\xda\x0e\x1d\x3b\x1e\x47\xe5\x13\x16\x16\x12\xfd\xf4\xb2\x85\xd3\x8e" "\x8a\xf0\xba\x42\x90\xb4\x23\xe2\x34\x30\xb9\xa0\xe8\xf9\x4d\xa9\x24" "\x3a\xe9\x18\x29\xc2\xb6\x15\xac\x7c\x20\x4e\x2a\x92\xd6\x2a\xef\xcd" "\x27\x76\x6f\xbf\xa8\x14\x93\x2e\xfe\x50\x4f\xcb\x31\x59\x30\xfd\xba" "\x6c\xbb\x61\x47\x00\x00\xb5\x89\x26\xc7\x10\x11\xd8\xb4\xaa\x37\xa4" "\x23\x7f\x8d\x48\xde\x6e\x4e\xb2\x44\x7a\x0d\xa3\x61\xc2\x2c\x49\xd4" "\x67\x30\x2d\x33\xa0\x39\x86\xc6\xef\xee\x63\x63\x6d\xc9\x51\xe6\x30" "\x78\x0f\x6e\xf5\x4a\xc7\x77\xd5\x11\xce\x45\xef\x51\x86\x4b\x96\xaf" "\x6d\x3b\xb1\x51\xe9\x17\x61\x61\x71\x21\xd0\xb7\x40\x84\xb6\x62\xed" "\x5e\x1d\x36\xdc\x48\x0f\x12\xad\xe1\x04\x4d\x2e\x46\x16\x36\xe1\x58" "\x46\xba\xcd\x8d\x2e\x1d\xea\x80\x2e\xa3\xab\xbd\x4d\xbb\x82\x54\x16" "\xc1\x4d\x3d\x20\x72\xd3\x3b\xc9\x64\x3f\xf9\xd2\xc0\x8a\xae\xaf\xca" "\x1a\x9c\xcc\xbb\xd9\x40\xb2\xd8\xac\x5d\x54\x5a\xa1\xfb\xe0\xb0\x65" "\xf0\x3d\xc3\xa0\x5c\x4f\xcb\x22\xc8\x3d\xf8\x94\x87\xe9\x15\x75\x2b" "\x41\x14\x45\x94\x92\x1b\x56\x0b\x7b\xa4\x48\x35\xb4\x6e\x2b\xae\xcc" "\x1c\xbf\xf0\x7a\xa4\xaa\x8c\x87\xb1\x39\x8e\x0e\x88\xbf\x07\xae\x1f" "\x4c\x7c\x3f\x44\x38\xba\x1e\xfc\xe4\x5f\x72\x1a\xd4\x4f\x6c\x3d\xf8" "\xdf\x99\x14\xe1\x8f\xb2\x0e\x57\x3e\x18\x80\xa6\xfb\x0c\xc8\xc3\xa2" "\x6c\x4b\x90\x48\xba\xfe\xe2\xdc\x2d\xb9\xb8\xe6\x12\xac\xa0\xcf\xac" "\x01\xc3\x87\xee\xb6\x6a\xe9\x97\xbe\xa7\xc2\x12\xa7\x45\xd5\x17\x01" "\xdb\xd0\x10\xf2\x1f\xf1\x6a\x58\x2a\x4b\xaf\x6a\xee\xc8\x5c\x36\x68" "\x5a\x4c\x57\x39\xd3\xee\xbd\xeb\x7f\x1d\x2e\x38\x10\x43\xb6\xf6\xc8" "\x53\x26\xeb\x56\x5e\xc4\xc0\x10\xdc\xa1\xae\x6b\xb9\xc4\xa0\xf1\xe2" "\x72\x5f\xf6\x3e\x92\x42\x83\x5d\xbf\x9c\xfa\xa0\xd0\xb4\x88\xc1\x7e" "\xb6\x1a\x99\xd4\x06\xd3\xc5\x02\x7e\xb3\xb6\xd0\x13\xe6\x29\x80\xff" "\x21\x70\x51\xa3\x39\xc2\x2b\xb3\x64\x76\xc1\x67\xb6\x15\x06\x34\x6b" "\xb6\x5e\xe5\x9d\xfa\xdb\x9b\xe5\x50\x38\x08\xd1\xb6\x6a\x4d\x75\xa3" "\x53\x15\xa8\x85\xae\x1d\x8c\x38\x6b\x0d\x1e\x41\x62\xdd\x93\x45\x9a" "\xd2\x86\x23\xce\x57\xe5\x0b\xb7\x88\x3e\x63\x12\x18\x39\x05\xc8\x9c" "\x17\xca\xf8\x64\x55\xcb\x01\xf3\xaa\x63\x04\xaa\x1d\x5f\xa7\xae\xae" "\x0f\x95\x18\xf7\xed\xd9\x43\x86\x22\xf9\xc0\xb3\x34\x34\xf7\xac\xac" "\x9c\x3b\x26\x49\x7e\x66\x39\x26\xd1\x07\x88\x5b\xd8\xc7\xbc\xdd\xe2" "\xd5\x5a\x3f\x06\x78\xeb\x4e\xbe\x52\x08\x6a\x95\xa0\xe3\x1f\x2d\x5f" "\x27\x3e\xc4\x5c\x47\xcc\x4b\xae\x70\x84\x96\x22\x98\xa6\x88\x3e\xae" "\x55\x14\xa9\x33\x09\xb8\x54\x5a\xa1\x13\xc1\x19\xd4\x1e\xc0\x4f\x28" "\x02\x2d\xa9\x23\xfe\xa2\x71\x0e\xef\xef\x06\x49\xec\xb5\x62\x10\x36" "\x48\xc0\xe4\x27\x09\x32\xef\x5f\x0a\xaf\x1e\x3d\xf5\xdf\x82\x9e\xc6" "\x1d\x7e\x2e\x8c\x69\x8c\x8f\xa6\xe4\xcc\xc7\x52\x72\xfa\x5b\xdf\xb8" "\x7e\x69\xd3\x67\x77\xad\xef\x52\xe7\x07\x91\x7b\x93\x30\x34\x60\x9a" "\xf6\x06\x8d\xf5\x8e\xe1\x0e\xb5\xb6\xef\x9a\xb5\x0d\x8c\x15\xcf\xc1" "\x7f\x6b\xa4\xc0\x9b\x16\xe4\x9d\xb6\x29\xeb\x5a\xf3\x93\x74\x72\x5f" "\x6e\x6f\x22\x95\x1d\x46\x66\x8d\x75\x90\xc0\x95\xce\xe6\x43\x3a\xd4" "\xa4\x3d\x25\xd5\x8b\x5d\x3e\x09\xae\xa1\x1f\x39\x49\xc5\xd8\x42\xc0" "\x6b\xca\xea\xb9\x54\xf3\x0d\xdd\xbe\xb7\xa3\xcd\xaf\x9e\x8f\xe5\x2e" "\xb2\x33\xe7\x94\xf0\x28\x9c\x4b\x3c\x3f\xa1\x50\x71\x36\x70\xe1\x11" "\xab\x2a\x78\xda\x68\xa3\xfa\x48\x0a\xe1\x44\x5d\xf1\xd8\x2c\x34\xdc" "\xcc\xf9\x16\x46\x9b\x99\x97\x91\x41\xa4\x4e\xd6\x75\x82\x72\x18\x1f" "\x7f\xd7\x05\x8b\x88\x77\x39\xfa\xb1\x80\xb6\x53\x76\x74\x94\x78\xb6" "\x23\x88\x32\xeb\x64\xcc\x45\xef\xba\x33\xb8\xd0\x85\xdd\xa7\xbf\x8a" "\xaf\xf3\x60\x8d\x9a\x3f\x60\xd3\x97\x86\xfa\xc2\x63\xad\xec\x1d\xd0" "\xca\xab\x20\x24\xd8\x51\xed\x09\xc8\xcc\xc2\x8e\x36\x94\x0e\x3a\xf3" "\xd2\x8e\xb4\x5a\x5d\x8d\xb0\xf9\xcd\xf6\x9e\x25\x96\x69\xf4\xa7\x49" "\xf0\x67\xbd\xc8\x86\x7b\x4d\xc3\xae\x76\xec\x17\x1d\x8e\xf3\x64\x2e" "\x78\x2b\xd6\x6c\xa4\xe9\x33\x8a\xb2\xac\x8f\x69\xbf\xbe\x8a\xa4\x9a" "\xb7\x60\x45\x01\x20\x30\x93\x02\xff\x88\xd6\x3e\x7c\x57\xb7\x22\x17" "\x05\xe0\x9d\x4c\x9c\x51\xf4\xb5\xfb\x8b\x06\x9b\x90\xde\x9c\x08\xef" "\xb3\xe9\xc3\xcf\x0b\x4a\x81\xd3\x65\x12\x5f\x54\xb5\x40\xea\xad\x46" "\x4d\x2c\x5a\xa1\xb3\x4c\x7f\x76\xd0\x2b\x87\x88\xe9\xf5\xd1\x99\x99" "\x99\x65\x4d\x02\x76\x39\xc9\xf8\xce\x4f\x93\x02\xab\xa9\xbb\x17\xd5" "\x02\xef\x27\xaa\x55\x4e\x94\xde\x91\x46\x78\x22\x83\xca\x38\x63\xeb" "\x01\x77\x35\x66\x48\xa7\xf8\xb0\x32\x66\xbf\xa0\x71\xe1\x87\x13\x1b" "\xd3\xd7\xdd\xdc\x50\x29\x0a\xb0\x5d\x11\x16\xaf\x13\x4f\xbd\xc9\x2f" "\xb8\x68\xdf\x66\x7f\xa3\x6a\x4d\xfc\x8e\x1a\xf2\x2a\x8a\x2a\xf8\xc6" "\x3d\x0c\x10\x70\x98\xa6\xb9\x9c\xd8\x44\xc5\x50\x25\xfc\x98\x63\xd0" "\x9b\x2e\x40\xbb\x2a\xc7\xde\x5e\x29\xbf\xfb\x55\xe7\x50\xd5\x0b\x14" "\x56\xb0\xe6\x0b\xf0\x9f\xea\x7e\x33\x3f\x34\xa8\xd1\xf9\xc5\xe4\x0a" "\xaa\x0d\x32\x42\x1e\x98\x05\x22\x3d\xbf\x79\x6e\x2a\x72\xba\x58\xb8" "\x5a\x0c\xb5\x86\x61\xe5\xe8\x89\xc1\x8a\xd4\x81\xfb\xf0\xa9\xfa\x1f" "\x35\x3e\x25\x0f\xd1\xf0\x10\xed\xa7\xce\xa4\x4c\x3e\x5b\x53\x50\xab" "\xfa\xc4\xda\x47\xf1\x3a\x0b\xcc\x31\x3b\xeb\x3e\xbf\xd4\x68\xbe\xad" "\x52\x0b\xbb\xe7\x14\xe1\x49\x68\x20\xc0\xd7\xfe\x40\xaa\x00\xda\x21" "\xb9\x76\xef\x8d\x3b\xa2\x9a\xe1\x6a\x5e\x9c\x3c\xe4\x50\xc2\xc3\x11" "\x21\xa2\x49\xce\x7e\x2a\x88\x76\xb3\xe8\xb1\x25\x71\x34\x6f\x77\x17" "\xd2\xdd\xd3\x3f\x6e\x7a\x9e\xf1\x70\x2b\x0b\x40\x07\x53\xc9\x39\x11" "\x46\x89\xb8\x35\x09\x07\xb5\x5d\x29\x02\xb0\x2e\xf8\xb2\x37\xb0\xa6" "\xb6\x10\xa5\xde\x99\xf0\x04\xa2\x6a\xa6\x16\x3a\xa1\xef\x6f\xf8\xfe" "\x02\xe6\x15\xeb\x8f\x34\x01\xec\x43\xa7\xd9\x1f\x0f\xe1\x03\x1c\x31" "\x62\x39\x64\x52\x6d\x11\xbf\xd9\x97\xa1\x4b\xeb\x54\x51\x75\x92\x55" "\x8d\xf7\x71\x8e\x07\x9f\xdc\xb4\x13\xd5\xd1\xda\x5e\xf4\x75\xe4\x4c" "\xba\x4a\xe9\xce\x28\x3c\x74\x69\x3a\x67\x29\xf4\x03\x59\xe4\x2d\x53" "\xf8\x38\x7a\x7c\xfa\xcb\x17\x4f\x94\x99\xa1\x0c\x00\x11\xc8\xaf\x73" "\xb8\x50\xf9\xf0\xed\x34\xfc\xdb\x56\x5f\x74\x11\x75\xcb\x0f\x0c\x7f" "\xa4\x42\x9e\x73\xe7\x6d\x6f\x7a\xa5\xb0\xd7\x98\xee\x02\x77\x45\xe0" "\x30\x93\x07\x66\x06\x17\x38\x5f\xfd\x55\x02\x8b\xa4\x83\x23\x95\x5f" "\xec\x7b\x2e\xe0\x43\x89\xc0\x96\xca\x4e\x8d\x2f\xfb\x31\xbc\xe0\xea" "\xeb\x5a\x97\x71\xcd\xeb\xfd\x6f\x79\x1e\x58\xbc\x08\x6b\xf4\x8d\x97" "\xff\x40\x14\x83\xb4\xd6\x70\x80\xfc\x2f\xfa\xcb\xd1\xcf\x5f\x5a\x38" "\xae\x6a\x70\xbc\x83\xd9\xc8\x30\x4a\x5f\x05\xe5\x2c\x4b\x0d\x8b\x49" "\x8c\x6f\x66\xf7\x44\x6b\x42\xa5\x05\xa6\x4c\xdf\x9e\x9d\x0b\xdb\x1c" "\x00\x05\x68\x85\xeb\xfe\xe4\x5e\xb0\xfb\xd0\xa5\xf7\x68\x99\xca\x59" "\x41\xda\x8b\xb8\xbd\xdf\x45\x32\xb4\xe1\x24\xc8\x33\xd9\x4f\x83\x4c" "\xf8\xab\xc6\xa0\x69\xa0\x8b\x94\x80\x06\xaf\x05\xee\x8b\xb2\x3e\x04" "\x49\x83\xb9\x7b\xfe\xef\x89\xb7\x2c\x2e\x55\x1f\x6c\x3b\x3c\xa5\xd0" "\x7d\xe1\xb0\x35\x7e\xf5\x99\xa9\xcf\x68\x3b\xe4\x84\xba\x9f\x77\x09" "\x8f\x57\xef\x3f\xde\x9a\xa1\x88\x5d\xce\xed\xa6\xdc\x4d\x1c\x1f\x3a" "\x9b\x4e\x28\x7b\x15\xa1\x5f\xf7\x33\x72\xca\x15\xf5\x7a\x8e\x4b\x76" "\xfa\xf1\xe9\xad\xe2\xba\x6c\x89\x30\x1b\xad\xbc\xe0\xd8\xef\xa4\x00" "\x9d\xc3\x00\x57\x01\x03\xe4\x10\x2b\x14\x29\xa3\xc9\xdd\xaa\x75\x8b" "\x23\x0e\x90\x9a\x02\x01\x5f\x99\x05\xcf\xa9\x9e\xd6\xfa\x12\xe8\xde" "\x87\xe9\x2f\xdf\xab\xcc\x68\x5e\x5b\x96\xb8\xd3\x27\xd3\xc4\xde\xbf" "\x26\xca\xda\x57\xa0\x3e\xde\xa8\xe6\xa0\x59\xa2\x85\xac\x18\xc8\xd0" "\x89\xd6\xd9\xca\xb1\x01\x94\xce\x69\x3f\x02\x63\x66\x15\x9d\x37\xab" "\x2f\x04\x63\x52\x43\x2d\x45\x9b\xf2\xb6\x87\xb3\x25\xde\x85\xe6\xbc" "\x1d\x97\xf3\x31\x47\x58\x5a\xc3\x21\xf4\x5a\x25\x1b\x6b\x71\x1d\x5c" "\x3a\x9d\x5c\x0d\xc5\xe9\xb8\x80\x00\x58\xf7\xf7\xda\x62\x77\x52\xcd" "\x57\x0c\xd2\x99\xc1\xd7\x3c\xa3\x32\x18\xba\x7d\xf8\x02\x23\x80\xde" "\x3b\x8b\x42\xac\x78\x95\xde\x86\xdd\xb4\xbc\x45\x81\xa9\xc8\xdd\xbe" "\xef\x92\x8c\x30\xfe\x05\xdc\x70\xe5\x43\xca\xc0\x26\x90\xd4\x81\xbc" "\x2e\xd2\xf9\x6c\x63\xaf\x15\xfa\xec\x9b\xa6\x6c\xf1\x4a\x0e\x7b\x13" "\x4a\x1c\xd2\x21\x60\x8a\x35\xa1\xfc\x98\xa2\x4c\x2b\x0e\x73\xd4\x81" "\x10\x44\xb4\x19\x41\x8e\xc8\x9a\x3a\x94\x7e\x93\x5d\xed\xf3\xfb\xb9" "\x2a\x9f\xf1\x93\x22\x2b\xdb\x00\xe6\xa2\x6a\xc8\x17\xdc\x90\x7a\xda" "\xaa\xfc\xdd\x2d\x55\xbc\xd9\x7b\x6b\x34\x38\xdf\x1f\x1a\x3c\x41\x12" "\x11\x5d\x9c\x97\xf8\x4d\xee\x38\x61\xa0\xa7\x7f\x31\xc0\x4f\x39\x7d" "\x2a\xff\xc3\xa3\x70\xd4\xdc\xbd\x8e\x7a\xb4\xf5\x58\x20\xe4\xe1\x10" "\x1b\xfb\x52\x69\x46\xd4\xc0\x6b\xb7\x40\xc3\x0c\xcc\x5f\x4d\x40\xd9" "\x8a\x3d\x1a\x6e\xf1\x41\x4b\xdf\xba\xaf\x4f\xcd\x5a\xd6\xa6\x09\xb5" "\x05\x86\xb1\x2f\x2a\x25\x12\x09\x99\x79\x4b\x82\x07\xa9\xb4\x11\x1e" "\x19\x9f\x7f\x08\x02\x1b\xc6\x33\x9d\x6a\xfc\x68\xe3\xb9\xe5\xeb\xed" "\xd4\x56\xf6\xf1\x87\x4a\xe3\xfe\x47\x45\x89\xb9\x11\x96\x99\x52\x60" "\xe6\xfa\x34\x27\x5c\x53\x18\xb4\xb2\xbd\x39\xe2\xe3\x34\xfa\xe8\x1f" "\xb8\x54\x7c\x4b\xb7\x1a\x93\x44\x0e\x27\xa5\x51\x7c\x39\x17\xa7\x34" "\xb4\xac\x0b\x3e\xdb\x73\x60\xb0\x56\x3c\x0f\xf4\xf4\xec\x19\x84\x60" "\x98\xb8\xc3\xd6\x90\x04\xeb\x09\xbc\xf3\xce\x14\x4d\x95\xf7\xcc\xc6" "\x28\x70\x77\xff\x13\xaf\x8f\xb3\x97\xf7\x77\xc2\x6d\xf7\xb2\x94\x67" "\x11\x2f\x7a\x82\x1c\x31\x2f\x2d\x09\x95\x62\xfb\x8e\x05\x99\x2b\x92" "\x61\x56\x77\x68\xfa\x66\x57\xfc\x73\x8a\x18\xcb\x8b\x08\xb4\x93\x64" "\x59\xb6\x34\x71\x99\xd1\x30\xc9\x8c\x99\xe0\x6e\x12\x9a\x96\x0b\x79" "\xc9\x33\xb4\x0a\x5c\xaa\xdb\x46\xb6\xa7\xd9\x09\x5d\x00\xcb\x72\xc0" "\x07\xab\x07\x6c\x00\x33\x32\x73\xf3\x00\x18\xb1\x0e\x88\xb0\x8e\x17" "\x18\xcc\x88\x20\x71\x5d\x7a\xb9\x0b\xab\x99\xee\x91\xa6\x49\x5f\xf6" "\xb2\x7a\xf2\x86\xdc\x10\xea\xb6\xe6\x46\x8b\x39\x07\xbd\x49\xfb\x23" "\x93\xf7\xc7\x4b\x8a\x9f\xfe\x2c\xb8\xa9\x54\x50\x6b\x1e\xd6\xfd\x0b" "\xb9\xea\x97\xdd\x44\x54\xc9\xdc\xe7\x44\xee\xd7\xa5\x16\x39\x4f\x13" "\x20\x78\x39\x84\xd8\xac\xb9\x9c\x2e\xb0\x52\xda\xef\xcd\xe8\xc4\x97" "\xb9\x3d\xb4\x52\x87\x3f\x1d\x0a\xd2\x0b\x23\x48\xdf\xdc\x70\xf1\xf2" "\x9f\xc4\xa3\x1b\xc7\xb5\xf5\x9e\x61\xcb\x85\x09\x6c\xba\x0e\xc4\x99" "\x20\x4d\x22\xe5\x8b\xba\x7d\xfa\x5a\xac\x5e\x51\x81\x81\x9c\x69\xea" "\x62\xf9\x47\xfe\xf5\x63\x26\x85\x8f\xdb\x23\xcb\x11\x8b\xe0\x4b\xcc" "\xb9\xf2\x7b\xe4\xca\xea\x29\x06\x75\x2d\x11\x2b\x4e\xea\xf2\x04\x92" "\xaf\xe0\xf1\x78\x57\x0b\xa7\x69\x16\x0f\x4a\x44\x19\x7a\xc9\x4c\x56" "\x3e\x4d\xd2\xad\x9b\xd7\xae\x28\x2f\x2d\x16\x41\x37\x1a\x47\x46\xa4" "\x27\x3f\xdd\x54\x1c\xb6\xac\xd8\xa5\x3b\x67\xd6\xbb\x1e\x94\xe4\x91" "\x6a\x35\x26\x1a\xb5\x64\x91\x57\x5a\x61\x1a\x9d\x9d\xe4\x94\x03\x6f" "\x28\xde\x2e\xa1\xa5\x02\x17\xcc\x90\xc5\x22\xec\x53\x79\xd3\xec\xd2" "\x4a\x3d\x4c\x03\x04\xa2\x80\x5d\x82\x66\xd5\x99\xc2\x53\x3c\xca\xd0" "\xa6\xe1\x66\xc3\xb5\xf0\xf0\xd7\xa6\xfe\xa6\x52\x18\x30\x97\xdc\x82" "\x22\x8d\x7b\xd9\x29\x47\xd9\x01\x92\x76\xc1\x66\xe4\x04\x9b\x76\x50" "\xdf\x6c\x72\x32\x80\xc3\x7e\x1d\x46\xf4\xeb\x66\x61\xc8\xba\x6e\xf6" "\x58\xa8\x22\xf9\x7e\xec\xd3\xfa\x9d\x36\x7d\x6c\x02\xa5\xd9\xdc\xbf" "\xe7\xfc\x36\xc8\xfe\x8c\xa1\x11\xbd\x13\x92\x63\xf5\xeb\x20\x52\x0b" "\x6b\x7a\xa9\x6c\x93\x4b\x4c\xe9\x6a\x1f\x4c\xfd\xd3\x1d\xf7\xdf\xe2" "\x33\xeb\xa4\x5d\xca\x17\x82\x50\x74\x07\xd4\x3b\x0f\xf3\x6c\x3e\xef" "\xbf\x33\x56\xbc\x5e\xd7\x3c\x85\xa3\x0e\xbd\x7d\x6a\x20\x00\xa4\x6c" "\x05\x29\x2d\xe4\x68\xf1\xcc\x0a\x3f\x75\xc7\x10\xa0\x67\x81\xd1\xd2" "\x16\x9c\xf1\xc2\x2a\x54\xa3\x3b\x9d\x0f\x80\x71\x11\x48\x1f\x19\x60" "\xe6\xc8\x94\xa4\x35\x90\xed\x8b\x9e\x10\xf8\x69\xfd\x6d\xf6\x15\x04" "\x70\xd2\x91\xe1\xd4\x40\x28\x2b\x61\x47\xd4\x4a\xf5\xe3\x25\x86\x22" "\x17\x87\xf0\x33\x91\x2c\xaa\xa0\xc5\xbf\xc0\xc8\x6f\x73\xe1\x6b\x75" "\x95\x56\x3f\xe2\x0d\x84\x78\xdf\xed\x51\x2e\xe1\xc6\x0e\x5b\x93\x17" "\x1f\xb8\x92\xc6\x99\x1c\xc5\x84\xc4\x43\x59\x8a\xfd\x83\xf4\x56\x09" "\x03\x7a\x6a\x55\x99\x67\x9e\x0e\x62\x1c\x91\x67\xfa\x18\xca\xa4\xc4" "\x37\xfd\xdd\xd9\x4e\xce\xbc\x7c\xe0\x5a\x92\x0b\xac\xce\x65\x09\x76" "\x53\x52\x57\x07\x73\x0a\xb6\xeb\x9b\x29\x82\x3a\x30\x17\xb8\xa5\xd3" "\xfb\xbb\xb2\x29\xd9\x59\xcc\xdb\x1d\x11\x67\xab\x6e\x0c\xcf\x27\x6e" "\x29\x8a\x1c\x16\xf9\x96\x9d\xe2\x82\x4e\xc5\x95\x84\xce\x2d\xfa\x4e" "\x1c\x62\xb5\x42\x74\x98\x7a\x32\xb8\x07\x73\x88\x15\x70\xdd\xa7\x2f" "\x1b\x55\x30\x8f\xb2\x1f\x84\x53\xa7\xb3\x1b\x70\x90\xca\xe4\x43\x6a" "\x81\x32\x17\x5c\x06\x1f\x67\xee\x6e\x4b\x05\xdf\xf5\xfa\x8a\x49\x82" "\x43\x88\x10\x3e\x01\x4d\xae\xe1\x9b\xdd\x5e\xd1\x9d\xe2\x5a\x84\x7c" "\x18\xbf\xc6\x5c\x95\xba\xcc\xbb\xd8\x27\x39\x5e\xca\xdd\x1c\xd3\x59" "\x12\x33\xa6\xc3\xce\x4e\x9c\x83\x18\x0d\x00\x72\x11\xd6\xeb\x3a\xe1" "\x16\xdc\x66\xf6\x70\xbb\x9a\x5a\x45\xac\xd5\x91\x8a\x4b\x90\xdc\xa1" "\xbe\xed\xcd\xeb\x8d\x32\x91\xa9\xac\xfd\xb0\xbe\xad\xef\x2a\x24\x7b" "\x86\x3e\x0d\x7f\x0e\xb4\xf8\xbb\x2b\xa5\x0a\x8c\x81\x61\xef\xc6\x36" "\x5f\xbf\x5d\xb4\x10\x1e\xaf\xc6\xc9\xdf\x56\xc0\x90\xa7\x00\xd4\xeb" "\x22\xc7\x21\xa9\xd5\xe3\x61\xde\xff\x8e\x8f\xaf\xc9\x4b\x55\xa1\xf1" "\xe0\xb2\xa2\x9a\x82\xb0\xa8\xd6\x28\xaa\x62\x36\x8f\x3a\xf6\x1f\xc1" "\x7a\xe3\xd6\x83\x14\xb6\xa5\x78\x9b\x74\x3f\x23\x76\xe1\xf4\x7f\xbf" "\xda\xe5\xaa\xb2\x69\x8e\xa8\x54\xd0\x30\x2c\xf1\x63\x0f\x45\x5a\x4b" "\xd5\x12\x88\x43\xee\xfc\x46\x20\x55\xf0\xfd\x39\xf6\xab\x58\xd3\x2b" "\x11\xa9\xe8\x9e\x7c\xcf\x30\x5f\x35\xbf\x18\x96\x3b\x66\x34\xf1\xb0" "\x3f\x0d\x3a\x5c\x41\x1a\xeb\x92\x63\x50\xe4\xf5\xab\xa3\xeb\xb7\xd0" "\x76\xf5\x57\xc3\x06\x73\x85\x69\x57\x42\x2a\x6c\x50\xfd\x3c\x16\xc3" "\x2e\xff\x50\x5e\x51\xf1\x85\xc8\xb6\x29\xb9\xfb\x38\x9d\x1d\x83\xc7" "\x6e\x16\x82\xad\x74\x7f\xba\xb1\x87\x74\xba\x1d\xb8\x9a\x19\x22\x82" "\x08\xba\xd1\x84\x6f\x27\x1e\xc2\xa6\xf9\x7a\x45\xca\x44\x87\x88\x66" "\xa4\x5e\x1d\x10\xe3\x1b\x4b\x70\xa0\x10\xed\xe2\xa6\xfc\x7b\x48\x05" "\xf8\x99\x2c\xda\xfd\x44\xf6\xaa\x4d\xb1\xea\xc4\x51\xbe\xa2\x4c\x3b" "\x78\xfb\x73\x71\xfa\x4b\xb0\xfb\xca\xac\xa2\x1c\xc4\xd6\x1d\x0f\x8c" "\x6d\x52\x49\x4c\xf4\xd6\xc4\x98\x23\xad\x77\xdc\xa2\x1e\x53\xb2\xf1" "\x8a\x03\xfb\xfa\xc3\x90\x90\xc1\x0f\xe9\xf9\xb7\xa7\x59\x3c\xa4\x0a" "\x7c\x10\x52\xbf\xb9\xcd\x4d\x5f\x4c\xf6\xa4\x94\x1f\x9b\xdd\x37\x75" "\x31\x08\xdd\x03\xe1\x56\xfa\x9e\xba\x4e\x31\x84\x4e\x16\x2a\x29\xb0" "\xed\x24\x84\x9b\x43\xd4\x7e\x14\xec\x7d\xdf\xb5\xb9\xcc\x20\xd6\x8c" "\x43\x53\xc4\x98\x04\x97\x6f\x6e\x62\x2c\xc3\x43\x11\x1b\xa2\x0b\xf3" "\x67\x9a\x97\x4c\x86\x47\x86\x44\xa3\x49\x46\x07\x3d\x70\x16\xae\x6d" "\x92\xaf\xb8\x4a\xba\x0d\x37\x2a\x78\x00\x63\xdc\xcd\x38\x43\x0e\x3f" "\x7e\xfc\x8a\x1a\xb7\xd3\x26\x97\x61\xc8\x5a\x5b\x48\xfe\xfb\xf2\x2a" "\xda\x2c\xe0\xf2\xec\x89\xae\xb6\x80\x10\xe8\xfd\x67\x0b\xb0\x65\xf0" "\x1d\xfa\xdb\x6e\x6f\xb8\x9d\xf4\xd5\x86\x50\x28\x25\xc3\xba\x33\x7d" "\x5e\x0c\xf9\x05\xfb\x39\x14\x3f\x80\xb5\x6f\x09\x3a\x1b\x4f\x5b\x96" "\x1a\x82\xed\x89\x8b\xe2\xb0\x33\x32\x84\xa1\xa9\x60\x20\x75\x16\x3a" "\x85\x29\xb2\xc4\xc4\xfe\x8b\xdb\x3b\x84\x53\x57\x63\xd8\x13\xd7\x4f" "\x24\x60\x87\x9b\x25\x03\x24\xec\xa4\xd7\xfa\x6d\x08\xd9\xce\xe0\x4e" "\x89\x26\xdd\x0e\x4e\x58\x1c\x4d\xde\x24\x30\x1e\x35\x84\x9c\x79\xa4" "\x47\x3a\x0e\x22\x74\x2e\x34\x8f\x76\x3f\x81\xd1\xef\xd6\xc4\x16\x80" "\x3f\x26\x86\x13\x08\xc3\x02\xa2\x97\xfa\x24\xdb\xcd\x83\xbf\x32\x15" "\xc5\x16\x6b\x98\x6c\x8f\x5f\xd7\xaa\xdc\xd3\x45\x53\x0d\x68\xc9\xc5" "\xa8\xc2\xb2\x8a\x01\x92\x15\xa8\x8d\xe4\x72\xac\x0a\x8d\x24\xaa\x38" "\x64\xe6\xe0\xaf\x40\x4d\x60\x00\x75\xdb\x44\x15\x14\x79\x29\xd5\xe6" "\xab\xf3\x19\x8e\x77\x5a\x58\x00\x15\x62\x00\xaf\x66\xd8\x3d\x4b\xe1" "\xd6\xc9\x79\x96\xdb\x16\xf7\x4f\x8f\xf9\xeb\x37\xe7\xf0\x13\xb0\x31" "\x1d\x3a\x86\xe1\xf5\x1c\x43\xc6\x65\x6e\x1f\x25\x57\xb1\x0e\xc7\x22" "\xf5\x23\x74\x25\x8f\xf7\xf6\x9c\x78\x56\x48\x19\x36\x2d\xa8\xad\x5c" "\xb9\x83\x80\xb1\x22\x19\x7b\x11\xc6\xc6\x6a\x33\xd3\x79\x93\xf3\x54" "\xed\x63\x1b\x31\x5e\x6d\xf2\x93\xa0\x2d\x5a\x7c\x39\xcf\xab\x58\xaf" "\x4c\x8e\x6b\x2e\xc4\x13\xcf\x4f\xa5\xb4\xa6\x1f\x48\x48\x56\xac\x9c" "\xb1\x05\x15\x50\xd9\x70\xd7\x5b\xd7\x1e\x3c\x71\x20\x56\x77\x38\x1d" "\xae\x0b\x92\x0a\x07\xee\x6a\xdc\xd9\x78\x9b\x17\x85\x63\x29\x71\x29" "\x40\xaa\x29\x3e\xc5\xdf\xfe\x5c\x89\xc1\x5b\xc2\xdb\x1f\x5c\x7b\x54" "\xcd\x43\xd8\x64\x83\x08\x76\xd5\xe7\xf7\x46\xb3\x27\xef\x55\x21\xe9" "\xcb\x65\xfd\xb4\x1c\xef\x73\xfe\xd3\xfd\xc7\xe8\x76\x4d\xf4\xd5\xfa" "\x9b\x8a\x97\x26\x23\xf5\xa5\xa8\x9e\x12\x43\x29\xd4\x66\xaf\x9a", 4096); *(uint64_t*)0x200000004b58 = 0x1000; *(uint64_t*)0x200000004b60 = 0; *(uint64_t*)0x200000004b68 = 0; *(uint64_t*)0x200000004b70 = 0; *(uint64_t*)0x200000004b78 = 0; *(uint64_t*)0x200000004b80 = 0; *(uint64_t*)0x200000004b88 = 0; *(uint64_t*)0x200000004b90 = 0; *(uint64_t*)0x200000004b98 = 0; *(uint64_t*)0x200000004ba0 = 0; *(uint64_t*)0x200000004ba8 = 0; *(uint64_t*)0x200000004bb0 = 0; *(uint64_t*)0x200000004bb8 = 0; *(uint64_t*)0x200000004bc0 = 0; *(uint64_t*)0x200000004bc8 = 0; *(uint64_t*)0x200000004bd0 = 0; *(uint64_t*)0x200000004bd8 = 0; *(uint64_t*)0x200000010dd8 = 0xa; *(uint64_t*)0x200000010de0 = 0; *(uint64_t*)0x200000010de8 = 0; *(uint32_t*)0x200000010df0 = 0; *(uint32_t*)0x200000010df8 = 0; *(uint64_t*)0x200000010e00 = 0; *(uint32_t*)0x200000010e08 = 0; *(uint64_t*)0x200000010e10 = 0; *(uint64_t*)0x200000010e18 = 0; *(uint64_t*)0x200000010e20 = 0; *(uint64_t*)0x200000010e28 = 0; *(uint32_t*)0x200000010e30 = 0; *(uint32_t*)0x200000010e38 = 0; *(uint64_t*)0x200000010e40 = 0; *(uint32_t*)0x200000010e48 = 0; *(uint64_t*)0x200000010e50 = 0; *(uint64_t*)0x200000010e58 = 0; *(uint64_t*)0x200000010e60 = 0; *(uint64_t*)0x200000010e68 = 0; *(uint32_t*)0x200000010e70 = 0; *(uint32_t*)0x200000010e78 = 0; *(uint64_t*)0x200000010e80 = 0; *(uint32_t*)0x200000010e88 = 0; *(uint64_t*)0x200000010e90 = 0; *(uint64_t*)0x200000010e98 = 0; *(uint64_t*)0x200000010ea0 = 0; *(uint64_t*)0x200000010ea8 = 0; *(uint32_t*)0x200000010eb0 = 0; *(uint32_t*)0x200000010eb8 = 0; *(uint64_t*)0x200000010ec0 = 0; *(uint32_t*)0x200000010ec8 = 0; *(uint64_t*)0x200000010ed0 = 0; *(uint64_t*)0x200000010ed8 = 0; *(uint64_t*)0x200000010ee0 = 0; *(uint64_t*)0x200000010ee8 = 0; *(uint32_t*)0x200000010ef0 = 0; *(uint32_t*)0x200000010ef8 = 0; *(uint64_t*)0x200000010f00 = 0; *(uint32_t*)0x200000010f08 = 0; *(uint64_t*)0x200000010f10 = 0; *(uint64_t*)0x200000010f18 = 0; *(uint64_t*)0x200000010f20 = 0; *(uint64_t*)0x200000010f28 = 0; *(uint32_t*)0x200000010f30 = 0; *(uint32_t*)0x200000010f38 = 0; *(uint64_t*)0x200000010f40 = 0; *(uint32_t*)0x200000010f48 = 0; *(uint64_t*)0x200000010f50 = 0; *(uint64_t*)0x200000010f58 = 0; *(uint64_t*)0x200000010f60 = 0; *(uint64_t*)0x200000010f68 = 0; *(uint32_t*)0x200000010f70 = 0; *(uint32_t*)0x200000010f78 = 0; *(uint64_t*)0x200000010f80 = 0; *(uint32_t*)0x200000010f88 = 0; *(uint64_t*)0x200000010f90 = 0; *(uint64_t*)0x200000010f98 = 0; *(uint64_t*)0x200000010fa0 = 0; *(uint64_t*)0x200000010fa8 = 0x3358; *(uint32_t*)0x200000010fb0 = 0; *(uint32_t*)0x200000010fb8 = 0; *(uint64_t*)0x200000010fc0 = 0; *(uint32_t*)0x200000010fc8 = 0; *(uint64_t*)0x200000010fd0 = 0; *(uint64_t*)0x200000010fd8 = 0; *(uint64_t*)0x200000010fe0 = 0; *(uint64_t*)0x200000010fe8 = 0; *(uint32_t*)0x200000010ff0 = 0; *(uint32_t*)0x200000010ff8 = 0; *(uint64_t*)0x200000011000 = 0; *(uint32_t*)0x200000011008 = 0; *(uint64_t*)0x200000011010 = 0; *(uint64_t*)0x200000011018 = 0; *(uint64_t*)0x200000011020 = 0; *(uint64_t*)0x200000011028 = 0; *(uint32_t*)0x200000011030 = 0; *(uint32_t*)0x200000011038 = 0; *(uint64_t*)0x200000011040 = 0; *(uint32_t*)0x200000011048 = 0; *(uint64_t*)0x200000011050 = 0; *(uint64_t*)0x200000011058 = 0; *(uint64_t*)0x200000011060 = 0; *(uint64_t*)0x200000011068 = 0; *(uint32_t*)0x200000011070 = 0; *(uint32_t*)0x200000011078 = 0; syscall( __NR_sendmmsg, /*fd=*/r[0], /*mmsg=*/0x200000010c80ul, /*vlen=*/0x10ul, /*f=MSG_FASTOPEN|MSG_PROBE|MSG_OOB|MSG_EOR|MSG_DONTWAIT*/ 0x200000d1ul); break; } } int main(void) { syscall(__NR_mmap, /*addr=*/0x1ffffffff000ul, /*len=*/0x1000ul, /*prot=*/0ul, /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/(intptr_t)-1, /*offset=*/0ul); syscall(__NR_mmap, /*addr=*/0x200000000000ul, /*len=*/0x1000000ul, /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul, /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/(intptr_t)-1, /*offset=*/0ul); syscall(__NR_mmap, /*addr=*/0x200001000000ul, /*len=*/0x1000ul, /*prot=*/0ul, /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/(intptr_t)-1, /*offset=*/0ul); const char* reason; (void)reason; do_sandbox_none(); return 0; }