From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 97DCD2E63B; Tue, 20 Feb 2024 03:00:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.47 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708398020; cv=none; b=do30lTWEPCYLgEyuPIrfkOPCBacEZeeUjX9aZZzncG07JXtt/XSDtH4KQEwBffVOqcOSLYAyIw89VyMVgwergfh4vXdz4IsnF18S9dlWbAhN4XYy97nbswz0O42IKp1LIbUOFvBmpzBvex71x0OXjZ3HNCPnPk0CUX2sgzscqxw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708398020; c=relaxed/simple; bh=kZvwIYPqETtMRWkyzTYOEqfePWKXu7KYACf7rmibxPw=; h=MIME-Version:From:Date:Message-ID:Subject:To:Cc:Content-Type; b=Y3fWTPaK2DLAiY5ryCd9R5d9VAwYyjyeiS6eCn+L9uKdqJx4OmI9x3LKSiCoTscZA0WmwzKYDbxtpXcX/cU0TZLJtuRRD9ccDkAaAaFW582loSBX5hs4gPdhLxJ485fvy3atwz5Q0GuZ80a3RGzvgHxZ6p12TNunIOLFnmM4CMA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=SKIgq4aU; arc=none smtp.client-ip=209.85.216.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="SKIgq4aU" Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-290ec261a61so3013683a91.0; Mon, 19 Feb 2024 19:00:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1708398016; x=1709002816; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Jjtf9qOzdoU2nDQ6BCVJkx1DTk7g3CAUIJg4yOmArZ0=; b=SKIgq4aUYQaaU3chv7QhQR58c+90cveI61b2XdJ/wP7UlxApirvyl4afnNvRap6OLb uDOYC5FmgERHfzGdMjN8Pi6rk2HmTKsyrqVQ/P0qbcPDLpNYxmYEYc3+1fhWI7i05wOa iDqJqa/oHyBHgBrG0iJHt9iiKU3YNvfZ65mA6Z6GAH4g2fa0Acb154tBog57M0rCwwmq WQkZD81Jvf5t6JQrZ1HhwbhcPX5zJwtiLqEGDcqTDn7V/Qm1lON09RS0GFi1dkxbMrKr ax7hJAUWlnupgGXUxOp3KfObTEb+hCiZB7NQSxQVL/qGtpqlmgzyo3bnlHDIrqVHGFS5 uwBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708398016; x=1709002816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Jjtf9qOzdoU2nDQ6BCVJkx1DTk7g3CAUIJg4yOmArZ0=; b=a2saSlg0nKEhUaYvsq4Zzu3jM1DBoDJZmtyoy2qG6CtHFFHUCdgZd0BE+r8gFbyQak uwArkDm7fFyTt1nfTd7g9lnNAIYKO61N0uW7z7TMZiuOGs8oxhld7RX5zWZM3w2Fvrdl 6nDFz3BtNk5RYU087fMig2TpiAwwWtujPNjVf91dVEuhPjkS9rFLaUTSQPvaxdxSaGiv pbTuYa24EoV5xHraOuPZyMZQ+1wnlDlt9UebiZL+ie6OZi/P/LQJISgu2j8ngNvL1CuP 4+/CfgsyNgbHVouV8wZ96K4YHHoU+/CCPRKM9Qx6V+ctJpphqoT8/aJVxKeta869Nmu7 RUVA== X-Forwarded-Encrypted: i=1; AJvYcCU5ReILgwcL0B/WDxYJeqLIH7gm3XCPd4PA/mKa4P8VQpr2YIezmgdjaU45kTwsnBTHWlsdYsW7hh/FIRrabWnyDmkSYhdBDPf98Fh/wUdFOpxown01+ig0Tn9ut3pX1zOJ+VnbcLL/PMBORA== X-Gm-Message-State: AOJu0Yzxyupzpb4RiKpXz3X43s+zgqABiv7CDMyrrLVx3xhyRZF6Sclz HuRv9l4otbgvixQRhOsB+Yw0IgKJAb8i/U5sVczAtAQbxPlGXsRltWbfU46SXGsEkmq88YXk/Ll VJ7Ywk4FE2YqakL/hJnSE9VBS1vo= X-Google-Smtp-Source: AGHT+IEKKnLWeCAQOzzk0ZGp3PrEb5jr86juYj6vtCkx5KiqilbSqyLJIvfPA76EFHCfoRqEy7qiTvD+jlYZrYQmCE0= X-Received: by 2002:a17:90b:19c2:b0:299:5b06:5814 with SMTP id nm2-20020a17090b19c200b002995b065814mr4561271pjb.40.1708398014624; Mon, 19 Feb 2024 19:00:14 -0800 (PST) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: xingwei lee Date: Tue, 20 Feb 2024 11:00:03 +0800 Message-ID: Subject: Re: [syzbot] [jfs?] kernel BUG in txEnd (2) To: syzbot+776b5fc6c99745aa7860@syzkaller.appspotmail.com, syzbot+3699edf4da1e736b317b@syzkaller.appspotmail.com Cc: jfs-discussion@lists.sourceforge.net, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, shaggy@kernel.org, syzkaller-bugs@googlegroups.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello, I reproduced this bug with titled "KASAN: null-ptr-deref Read in txEnd" and comfired in the latest upstream. If you fix this issue, please add the following tag to the commit: Reported-by: xingwei lee I use the same config in the syzbot dashboard kernel version: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?id= =3Dc664e16bb1ba1c8cf1d7ecf3df5fd83bbb8ac15a kernel config: https://syzkaller.appspot.com/text?tag=3DKernelConfig&x=3D25= b2f1c52b0610fa with KASAN enabled compiler: gcc (Debian 12.2.0-14) 12.2.0 My report is not the same as syzbot, but I'd venture to guess they maybe the same bug. Also, I notice there are two dashboard in syzbot releated to this bug, https://syzkaller.appspot.com/bug?extid=3D3699edf4da1e736b317b taged as fixed and https://syzkaller.appspot.com/bug?extid=3D776b5fc6c99745aa7860 still taged open. However, both of them share the same error message and the former fixed https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?= id=3D6f861765464f43a71462d52026fbddfc858239a5 is merged in the upstream but still triggered this bug. Does this mean that the fix is not complete enough? So, I consider provide my reproducer to help. My reproducer titled "KASAN: null-ptr-deref Read in txEnd=E2=80=9D =3D* report =3D* BUG: KASAN: null-ptr-deref in __wake_up_common_lock kernel/sched/wait.c:106 [inline] BUG: KASAN: null-ptr-deref in __wake_up+0x63/0xd0 kernel/sched/wait.c:127 Read of size 8 at addr 0000000000000000 by task syz-executor.0/23318 CPU: 2 PID: 23318 Comm: syz-executor.0 Not tainted 6.8.0-rc1-00202-gaa2b2eb39348-dirty #3 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xfe/0x160 lib/dump_stack.c:106 print_report+0xe6/0x540 mm/kasan/report.c:491 kasan_report+0xd2/0x110 mm/kasan/report.c:601 __asan_load8+0x87/0x90 mm/kasan/generic.c:262 __wake_up_common_lock kernel/sched/wait.c:106 [inline] __wake_up+0x63/0xd0 kernel/sched/wait.c:127 txEnd+0x8d/0x380 fs/jfs/jfs_txnmgr.c:504 __jfs_xattr_set+0x111/0x150 fs/jfs/xattr.c:920 jfs_xattr_set+0x4b/0x60 fs/jfs/xattr.c:941 __vfs_setxattr+0x367/0x390 fs/xattr.c:201 __vfs_setxattr_noperm+0xeb/0x410 fs/xattr.c:235 __vfs_setxattr_locked+0x1d5/0x1f0 fs/xattr.c:296 vfs_setxattr+0x19d/0x320 fs/xattr.c:322 do_setxattr fs/xattr.c:630 [inline] setxattr+0x235/0x2a0 fs/xattr.c:653 path_setxattr+0x14c/0x200 fs/xattr.c:672 __do_sys_setxattr fs/xattr.c:688 [inline] __se_sys_setxattr fs/xattr.c:684 [inline] __x64_sys_setxattr+0x76/0x90 fs/xattr.c:684 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0x59/0x120 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x63/0x6b RIP: 0033:0x7f55b607cc29 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 20 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f55b6d050c8 EFLAGS: 00000246 ORIG_RAX: 00000000000000bc RAX: ffffffffffffffda RBX: 00007f55b619bf80 RCX: 00007f55b607cc29 RDX: 0000000000000000 RSI: 00000000200001c0 RDI: 0000000020000180 RBP: 00007f55b60c847a R08: 0000000000000002 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 000000000000000b R14: 00007f55b619bf80 R15: 00007ffd21becf88 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D BUG: kernel NULL pointer dereference, address: 0000000000000000 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 1177e067 P4D 1177e067 PUD 2bce0067 PMD 0 Oops: 0000 [#1] PREEMPT SMP KASAN CPU: 2 PID: 23318 Comm: syz-executor.0 Tainted: G B 6.8.0-rc1-00202-gaa2b2eb39348-dirty #3 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 RIP: 0010:__wake_up_common_lock kernel/sched/wait.c:106 [inline] RIP: 0010:__wake_up+0x63/0xd0 kernel/sched/wait.c:127 Code: 5d c0 48 8b 5b 08 44 89 6d d4 4c 89 75 b8 4c 39 f3 74 57 44 8b 6d d4 eb 06 48 3b 5d b8 74 4b 49 89 de 48 89 df e8 4d 73 40 00 <48> 8b 1b 4d 8d 66 e8 4c 89 e7 e8 1e 72 40 00 45 8b 7e e8 49 8d 7e RSP: 0018:ffff8880339477f0 EFLAGS: 00010082 RAX: ffff888104e91801 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000001 RSI: ffff888104e918c0 RDI: 0000000000000000 RBP: ffff888033947840 R08: ffffffff8123ea00 R09: 1ffffffff11b8530 R10: fffffbfff11b8531 R11: fffffbfff11b8531 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 FS: 00007f55b6d056c0(0000) GS:ffff888064d00000(0000) knlGS:000000000000000= 0 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 0000000108645000 CR4: 0000000000750ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 PKRU: 55555554 Call Trace: txEnd+0x8d/0x380 fs/jfs/jfs_txnmgr.c:504 __jfs_xattr_set+0x111/0x150 fs/jfs/xattr.c:920 jfs_xattr_set+0x4b/0x60 fs/jfs/xattr.c:941 __vfs_setxattr+0x367/0x390 fs/xattr.c:201 __vfs_setxattr_noperm+0xeb/0x410 fs/xattr.c:235 __vfs_setxattr_locked+0x1d5/0x1f0 fs/xattr.c:296 vfs_setxattr+0x19d/0x320 fs/xattr.c:322 do_setxattr fs/xattr.c:630 [inline] setxattr+0x235/0x2a0 fs/xattr.c:653 path_setxattr+0x14c/0x200 fs/xattr.c:672 __do_sys_setxattr fs/xattr.c:688 [inline] __se_sys_setxattr fs/xattr.c:684 [inline] __x64_sys_setxattr+0x76/0x90 fs/xattr.c:684 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0x59/0x120 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x63/0x6b RIP: 0033:0x7f55b607cc29 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 20 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f55b6d050c8 EFLAGS: 00000246 ORIG_RAX: 00000000000000bc RAX: ffffffffffffffda RBX: 00007f55b619bf80 RCX: 00007f55b607cc29 RDX: 0000000000000000 RSI: 00000000200001c0 RDI: 0000000020000180 RBP: 00007f55b60c847a R08: 0000000000000002 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 000000000000000b R14: 00007f55b619bf80 R15: 00007ffd21becf88 =3D* repro.c =3D* #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 #ifndef __NR_memfd_create #define __NR_memfd_create 319 #endif static unsigned long long procid; 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 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] =3D 0; int len =3D strlen(buf); int fd =3D open(file, O_WRONLY | O_CLOEXEC); if (fd =3D=3D -1) return false; if (write(fd, buf, len) !=3D len) { int err =3D errno; close(fd); errno =3D err; return false; } close(fd); return true; } //% This code is derived from puff.{c,h}, found in the zlib development. Th= e //% original files come with the following copyright notice: //% Copyright (C) 2002-2013 Mark Adler, all rights reserved //% version 2.3, 21 Jan 2013 //% This software is provided 'as-is', without any express or implied //% warranty. In no event will the author be held liable for any damages //% arising from the use of this software. //% Permission is granted to anyone to use this software for any purpose, //% including commercial applications, and to alter it and redistribute it //% freely, subject to the following restrictions: //% 1. The origin of this software must not be misrepresented; you must not //% claim that you wrote the original software. If you use this software //% in a product, an acknowledgment in the product documentation would b= e //% appreciated but is not required. //% 2. Altered source versions must be plainly marked as such, and must not= be //% misrepresented as being the original software. //% 3. This notice may not be removed or altered from any source distributi= on. //% Mark Adler madler@alumni.caltech.edu //% BEGIN CODE DERIVED FROM puff.{c,h} #define MAXBITS 15 #define MAXLCODES 286 #define MAXDCODES 30 #define MAXCODES (MAXLCODES + MAXDCODES) #define FIXLCODES 288 struct puff_state { unsigned char* out; unsigned long outlen; unsigned long outcnt; const unsigned char* in; unsigned long inlen; unsigned long incnt; int bitbuf; int bitcnt; jmp_buf env; }; static int puff_bits(struct puff_state* s, int need) { long val =3D s->bitbuf; while (s->bitcnt < need) { if (s->incnt =3D=3D s->inlen) longjmp(s->env, 1); val |=3D (long)(s->in[s->incnt++]) << s->bitcnt; s->bitcnt +=3D 8; } s->bitbuf =3D (int)(val >> need); s->bitcnt -=3D need; return (int)(val & ((1L << need) - 1)); } static int puff_stored(struct puff_state* s) { s->bitbuf =3D 0; s->bitcnt =3D 0; if (s->incnt + 4 > s->inlen) return 2; unsigned len =3D s->in[s->incnt++]; len |=3D s->in[s->incnt++] << 8; if (s->in[s->incnt++] !=3D (~len & 0xff) || s->in[s->incnt++] !=3D ((~len >> 8) & 0xff)) return -2; if (s->incnt + len > s->inlen) return 2; if (s->outcnt + len > s->outlen) return 1; for (; len--; s->outcnt++, s->incnt++) { if (s->in[s->incnt]) s->out[s->outcnt] =3D s->in[s->incnt]; } return 0; } struct puff_huffman { short* count; short* symbol; }; static int puff_decode(struct puff_state* s, const struct puff_huffman* h) = { int first =3D 0; int index =3D 0; int bitbuf =3D s->bitbuf; int left =3D s->bitcnt; int code =3D first =3D index =3D 0; int len =3D 1; short* next =3D h->count + 1; while (1) { while (left--) { code |=3D bitbuf & 1; bitbuf >>=3D 1; int count =3D *next++; if (code - count < first) { s->bitbuf =3D bitbuf; s->bitcnt =3D (s->bitcnt - len) & 7; return h->symbol[index + (code - first)]; } index +=3D count; first +=3D count; first <<=3D 1; code <<=3D 1; len++; } left =3D (MAXBITS + 1) - len; if (left =3D=3D 0) break; if (s->incnt =3D=3D s->inlen) longjmp(s->env, 1); bitbuf =3D s->in[s->incnt++]; if (left > 8) left =3D 8; } return -10; } static int puff_construct(struct puff_huffman* h, const short* length, int = n) { int len; for (len =3D 0; len <=3D MAXBITS; len++) h->count[len] =3D 0; int symbol; for (symbol =3D 0; symbol < n; symbol++) (h->count[length[symbol]])++; if (h->count[0] =3D=3D n) return 0; int left =3D 1; for (len =3D 1; len <=3D MAXBITS; len++) { left <<=3D 1; left -=3D h->count[len]; if (left < 0) return left; } short offs[MAXBITS + 1]; offs[1] =3D 0; for (len =3D 1; len < MAXBITS; len++) offs[len + 1] =3D offs[len] + h->count[len]; for (symbol =3D 0; symbol < n; symbol++) if (length[symbol] !=3D 0) h->symbol[offs[length[symbol]]++] =3D symbol; return left; } static int puff_codes(struct puff_state* s, const struct puff_huffman* lencode, const struct puff_huffman* distcode) { static const short lens[29] =3D {3, 4, 5, 6, 7, 8, 9, 10, 11,= 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 5= 9, 67, 83, 99, 115, 131, 163, 195, 227, 258}; static const short lext[29] =3D {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2= , 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0}; static const short dists[30] =3D { 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577}; static const short dext[30] =3D {0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13}; int symbol; do { symbol =3D puff_decode(s, lencode); if (symbol < 0) return symbol; if (symbol < 256) { if (s->outcnt =3D=3D s->outlen) return 1; if (symbol) s->out[s->outcnt] =3D symbol; s->outcnt++; } else if (symbol > 256) { symbol -=3D 257; if (symbol >=3D 29) return -10; int len =3D lens[symbol] + puff_bits(s, lext[symbol]); symbol =3D puff_decode(s, distcode); if (symbol < 0) return symbol; unsigned dist =3D dists[symbol] + puff_bits(s, dext[symbol]); if (dist > s->outcnt) return -11; if (s->outcnt + len > s->outlen) return 1; while (len--) { if (dist <=3D s->outcnt && s->out[s->outcnt - dist]) s->out[s->outcnt] =3D s->out[s->outcnt - dist]; s->outcnt++; } } } while (symbol !=3D 256); return 0; } static int puff_fixed(struct puff_state* s) { static int virgin =3D 1; static short lencnt[MAXBITS + 1], lensym[FIXLCODES]; static short distcnt[MAXBITS + 1], distsym[MAXDCODES]; static struct puff_huffman lencode, distcode; if (virgin) { lencode.count =3D lencnt; lencode.symbol =3D lensym; distcode.count =3D distcnt; distcode.symbol =3D distsym; short lengths[FIXLCODES]; int symbol; for (symbol =3D 0; symbol < 144; symbol++) lengths[symbol] =3D 8; for (; symbol < 256; symbol++) lengths[symbol] =3D 9; for (; symbol < 280; symbol++) lengths[symbol] =3D 7; for (; symbol < FIXLCODES; symbol++) lengths[symbol] =3D 8; puff_construct(&lencode, lengths, FIXLCODES); for (symbol =3D 0; symbol < MAXDCODES; symbol++) lengths[symbol] =3D 5; puff_construct(&distcode, lengths, MAXDCODES); virgin =3D 0; } return puff_codes(s, &lencode, &distcode); } static int puff_dynamic(struct puff_state* s) { static const short order[19] =3D {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15}; int nlen =3D puff_bits(s, 5) + 257; int ndist =3D puff_bits(s, 5) + 1; int ncode =3D puff_bits(s, 4) + 4; if (nlen > MAXLCODES || ndist > MAXDCODES) return -3; short lengths[MAXCODES]; int index; for (index =3D 0; index < ncode; index++) lengths[order[index]] =3D puff_bits(s, 3); for (; index < 19; index++) lengths[order[index]] =3D 0; short lencnt[MAXBITS + 1], lensym[MAXLCODES]; struct puff_huffman lencode =3D {lencnt, lensym}; int err =3D puff_construct(&lencode, lengths, 19); if (err !=3D 0) return -4; index =3D 0; while (index < nlen + ndist) { int symbol; int len; symbol =3D puff_decode(s, &lencode); if (symbol < 0) return symbol; if (symbol < 16) lengths[index++] =3D symbol; else { len =3D 0; if (symbol =3D=3D 16) { if (index =3D=3D 0) return -5; len =3D lengths[index - 1]; symbol =3D 3 + puff_bits(s, 2); } else if (symbol =3D=3D 17) symbol =3D 3 + puff_bits(s, 3); else symbol =3D 11 + puff_bits(s, 7); if (index + symbol > nlen + ndist) return -6; while (symbol--) lengths[index++] =3D len; } } if (lengths[256] =3D=3D 0) return -9; err =3D puff_construct(&lencode, lengths, nlen); if (err && (err < 0 || nlen !=3D lencode.count[0] + lencode.count[1])) return -7; short distcnt[MAXBITS + 1], distsym[MAXDCODES]; struct puff_huffman distcode =3D {distcnt, distsym}; err =3D puff_construct(&distcode, lengths + nlen, ndist); if (err && (err < 0 || ndist !=3D distcode.count[0] + distcode.count[1])) return -8; return puff_codes(s, &lencode, &distcode); } static int puff(unsigned char* dest, unsigned long* destlen, const unsigned char* source, unsigned long sourcelen) { struct puff_state s =3D { .out =3D dest, .outlen =3D *destlen, .outcnt =3D 0, .in =3D source, .inlen =3D sourcelen, .incnt =3D 0, .bitbuf =3D 0, .bitcnt =3D 0, }; int err; if (setjmp(s.env) !=3D 0) err =3D 2; else { int last; do { last =3D puff_bits(&s, 1); int type =3D puff_bits(&s, 2); err =3D type =3D=3D 0 ? puff_stored(&s) : (type =3D=3D 1 ? puff_fixed(&s) : (type =3D=3D 2 ? puff_dynamic(&s) : -1= )); if (err !=3D 0) break; } while (!last); } *destlen =3D s.outcnt; return err; } //% END CODE DERIVED FROM puff.{c,h} #define ZLIB_HEADER_WIDTH 2 static int puff_zlib_to_file(const unsigned char* source, unsigned long sourcelen, int dest_fd) { if (sourcelen < ZLIB_HEADER_WIDTH) return 0; source +=3D ZLIB_HEADER_WIDTH; sourcelen -=3D ZLIB_HEADER_WIDTH; const unsigned long max_destlen =3D 132 << 20; void* ret =3D mmap(0, max_destlen, PROT_WRITE | PROT_READ, MAP_PRIVATE | MAP_ANON, -1, 0); if (ret =3D=3D MAP_FAILED) return -1; unsigned char* dest =3D (unsigned char*)ret; unsigned long destlen =3D max_destlen; int err =3D puff(dest, &destlen, source, sourcelen); if (err) { munmap(dest, max_destlen); errno =3D -err; return -1; } if (write(dest_fd, dest, destlen) !=3D (ssize_t)destlen) { munmap(dest, max_destlen); return -1; } return munmap(dest, max_destlen); } static int setup_loop_device(unsigned char* data, unsigned long size, const char* loopname, int* loopfd_p) { int err =3D 0, loopfd =3D -1; int memfd =3D syscall(__NR_memfd_create, "syzkaller", 0); if (memfd =3D=3D -1) { err =3D errno; goto error; } if (puff_zlib_to_file(data, size, memfd)) { err =3D errno; goto error_close_memfd; } loopfd =3D open(loopname, O_RDWR); if (loopfd =3D=3D -1) { err =3D errno; goto error_close_memfd; } if (ioctl(loopfd, LOOP_SET_FD, memfd)) { if (errno !=3D EBUSY) { err =3D errno; goto error_close_loop; } ioctl(loopfd, LOOP_CLR_FD, 0); usleep(1000); if (ioctl(loopfd, LOOP_SET_FD, memfd)) { err =3D errno; goto error_close_loop; } } close(memfd); *loopfd_p =3D loopfd; return 0; error_close_loop: close(loopfd); error_close_memfd: close(memfd); error: errno =3D err; return -1; } static long syz_mount_image(volatile long fsarg, volatile long dir, volatile long flags, volatile long optsarg, volatile long change_dir, volatile unsigned long size, volatile long image) { unsigned char* data =3D (unsigned char*)image; int res =3D -1, err =3D 0, loopfd =3D -1, need_loop_device =3D !!size; char* mount_opts =3D (char*)optsarg; char* target =3D (char*)dir; char* fs =3D (char*)fsarg; char* source =3D NULL; char loopname[64]; if (need_loop_device) { memset(loopname, 0, sizeof(loopname)); snprintf(loopname, sizeof(loopname), "/dev/loop%llu", procid); if (setup_loop_device(data, size, loopname, &loopfd) =3D=3D -1) return -1; source =3D loopname; } mkdir(target, 0777); char opts[256]; memset(opts, 0, sizeof(opts)); if (strlen(mount_opts) > (sizeof(opts) - 32)) { } strncpy(opts, mount_opts, sizeof(opts) - 32); if (strcmp(fs, "iso9660") =3D=3D 0) { flags |=3D MS_RDONLY; } else if (strncmp(fs, "ext", 3) =3D=3D 0) { bool has_remount_ro =3D false; char* remount_ro_start =3D strstr(opts, "errors=3Dremount-ro"); if (remount_ro_start !=3D NULL) { char after =3D *(remount_ro_start + strlen("errors=3Dremount-ro")); char before =3D remount_ro_start =3D=3D opts ? '\0' : *(remount_ro_st= art - 1); has_remount_ro =3D ((before =3D=3D '\0' || before =3D=3D ',') && (after =3D=3D '\0' || after =3D=3D ',')); } if (strstr(opts, "errors=3Dpanic") || !has_remount_ro) strcat(opts, ",errors=3Dcontinue"); } else if (strcmp(fs, "xfs") =3D=3D 0) { strcat(opts, ",nouuid"); } res =3D mount(source, target, fs, flags, opts); if (res =3D=3D -1) { err =3D errno; goto error_clear_loop; } res =3D open(target, O_RDONLY | O_DIRECTORY); if (res =3D=3D -1) { err =3D errno; goto error_clear_loop; } if (change_dir) { res =3D chdir(target); if (res =3D=3D -1) { err =3D errno; } } error_clear_loop: if (need_loop_device) { ioctl(loopfd, LOOP_CLR_FD, 0); close(loopfd); } errno =3D err; return res; } static void kill_and_wait(int pid, int* status) { kill(-pid, SIGKILL); kill(pid, SIGKILL); for (int i =3D 0; i < 100; i++) { if (waitpid(-1, status, WNOHANG | __WALL) =3D=3D pid) return; usleep(1000); } DIR* dir =3D opendir("/sys/fs/fuse/connections"); if (dir) { for (;;) { struct dirent* ent =3D readdir(dir); if (!ent) break; if (strcmp(ent->d_name, ".") =3D=3D 0 || strcmp(ent->d_name, "..") = =3D=3D 0) continue; char abort[300]; snprintf(abort, sizeof(abort), "/sys/fs/fuse/connections/%s/abort", ent->d_name); int fd =3D open(abort, O_WRONLY); if (fd =3D=3D -1) { continue; } if (write(fd, abort, 1) < 0) { } close(fd); } closedir(dir); } else { } while (waitpid(-1, status, __WALL) !=3D pid) { } } static void reset_loop() { char buf[64]; snprintf(buf, sizeof(buf), "/dev/loop%llu", procid); int loopfd =3D open(buf, O_RDWR); if (loopfd !=3D -1) { ioctl(loopfd, LOOP_CLR_FD, 0); close(loopfd); } } static void setup_test() { prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0); setpgrp(); write_file("/proc/self/oom_score_adj", "1000"); } static void execute_one(void); #define WAIT_FLAGS __WALL static void loop(void) { int iter =3D 0; for (;; iter++) { reset_loop(); int pid =3D fork(); if (pid < 0) exit(1); if (pid =3D=3D 0) { setup_test(); execute_one(); exit(0); } int status =3D 0; uint64_t start =3D current_time_ms(); for (;;) { if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) =3D=3D pid) break; sleep_ms(1); if (current_time_ms() - start < 5000) continue; kill_and_wait(pid, &status); break; } } } void execute_one(void) { memcpy((void*)0x20005d00, "jfs\000", 4); memcpy((void*)0x20000000, "./file0\000", 8); memcpy((void*)0x200002c0, "usrquota", 8); *(uint8_t*)0x200002c8 =3D 0x2c; memcpy((void*)0x200002c9, "iocharset", 9); *(uint8_t*)0x200002d2 =3D 0x3d; memcpy((void*)0x200002d3, "cp855", 5); *(uint8_t*)0x200002d8 =3D 0x2c; memcpy((void*)0x200002d9, "gid", 3); *(uint8_t*)0x200002dc =3D 0x3d; sprintf((char*)0x200002dd, "0x%016llx", (long long)0); *(uint8_t*)0x200002ef =3D 0x2c; memcpy((void*)0x200002f0, "discard", 7); *(uint8_t*)0x200002f7 =3D 0x3d; sprintf((char*)0x200002f8, "0x%016llx", (long long)0); *(uint8_t*)0x2000030a =3D 0x2c; memcpy((void*)0x2000030b, "discard", 7); *(uint8_t*)0x20000312 =3D 0x2c; memcpy((void*)0x20000313, "iocharset", 9); *(uint8_t*)0x2000031c =3D 0x3d; memcpy((void*)0x2000031d, "iso8859-2", 9); *(uint8_t*)0x20000326 =3D 0x2c; memcpy((void*)0x20000327, "quota", 5); *(uint8_t*)0x2000032c =3D 0x2c; memcpy((void*)0x2000032d, "errors=3Dcontinue", 15); *(uint8_t*)0x2000033c =3D 0x2c; *(uint8_t*)0x2000033d =3D 0; memcpy( (void*)0x20002dc0, "\x78\x9c\xec\xdd\xdd\x6e\x1c\x67\xfd\x07\xf0\xdf\xbe\x78\xfd\xd2\x7f= \x13" "\xff\x2b\x54\x85\x08\x89\x34\x85\xd2\x52\x9a\xf7\x04\xca\x5b\x13\x84= \x38" "\x28\x12\x20\x55\x39\x26\x91\xeb\x56\x81\x14\x50\x12\x50\x5b\x45\xc4= \x95" "\x0f\x10\x9c\x70\x0b\x70\xd2\x13\x0e\x7a\x0b\x5c\x40\xaf\x01\x71\x01= \x44" "\x4a\x38\xea\x01\x65\xd0\xd8\xcf\x93\x8c\xd7\xeb\xac\xdd\xda\x3b\xbb= \x7e" "\x3e\x1f\xc9\x99\xfd\xed\x33\x63\xff\x26\x5f\x8f\x67\xd7\x33\xe3\x09= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x5e\xff\xd1\x1b= \x67" "\x3b\x11\x71\xed\x77\xe9\x89\xe5\x88\xff\x8b\x5e\x44\x37\x62\x31\x22= \xaa" "\xa4\xb9\xcc\xb1\xd8\x18\x8e\x67\x23\xa2\x37\x1f\x51\x2f\xbf\xf1\xcf= \xd1" "\x88\x0b\x11\xf1\xf1\x91\x88\x07\x0f\xef\xae\xd4\x4f\x9f\xdb\x65\x1f= \x17" "\xcf\xdc\xb9\xf5\xe9\x8f\x7f\xf0\x8f\x3f\xfc\x79\xfd\xd8\x2f\xde\xfc= \xf9" "\x87\xc3\xe3\x3f\xfb\xc2\xf9\x8f\xfe\x78\x2f\x62\xf9\xa7\xaf\x7e\xf4= \xe9" "\xbd\x7d\x58\x71\x00\x00\x00\x28\x48\xfd\xde\xbe\x7e\xeb\x7e\x22\x22= \x8e" "\x47\x44\x3f\xbd\xb7\x07\x00\x0e\xbf\xbc\xff\xdf\xfa\xfb\xfe\x2b\x3f= \xc9" "\xcf\xe4\xf9\x86\x8f\x07\xa8\xd5\x7b\xa9\x3b\x53\xd6\xcf\x4c\xd7\xf3= \x53" "\xd6\x8f\x5a\xad\x9e\xa9\xba\xa9\x1a\xed\x5e\xb3\x88\x88\xb5\xe6\x32= \xf5" "\x6b\x06\x87\xe3\x01\x60\xc6\xac\xc5\x27\x6d\xb7\x40\x8b\xe4\x5f\xb4= \x7e" "\x44\x3c\xd5\x76\x13\xc0\x54\xeb\xb4\xdd\x00\x07\xe2\xc1\xc3\xbb\x2b= \x9d" "\x94\x6f\xa7\xb9\x3f\x38\xb1\x39\x9e\xcf\x05\xd9\x92\xff\x5a\xe7\xd1= \xf5" "\x1d\x3b\x4d\xc7\x19\x3e\xc7\x64\x52\xdf\x5f\xeb\xd1\x8b\x67\x76\xe8= \x67" "\x71\x42\x3d\x4c\x93\x3a\xaf\xe5\xb4\xfe\x5b\xf2\xbf\xb6\x39\x3e\xa8= \xff" "\x59\x18\x5a\xe8\x00\xf2\x9f\x94\x9d\xf2\x1f\x6c\x5e\xfa\xb4\x27\xf3= \xfb" "\xd4\x53\x9b\xf2\xf6\xdf\x1b\xce\x7f\xc8\x41\x6f\xff\x93\xb2\x1e\xdd= \x91" "\xf9\x97\x2a\xe7\xdf\xdf\x53\xfe\x3d\xf9\x03\x00\x00\x00\x00\xc0\x14= \xcb" "\xbf\xff\x5f\x6e\xf9\xf8\xef\xa4\x8e\xa5\x3d\xe9\xf8\xef\x89\x09\xf5= \x00" "\x00\x00\x00\x00\x00\x00\x00\xfb\x6d\xdc\xfd\xff\x36\x0e\x8a\x2f\xc6= \xe5" "\x3c\x7f\x7f\xe8\xfe\x7f\x8f\xb8\xff\x1f\x00\x00\x00\x4c\xad\xfa\xbd= \x7a" "\xed\x2f\x47\x1e\x3f\xb7\xd3\xdf\x62\xbb\xb5\x18\x71\xb5\x13\xf1\xf4= \xd0" "\xfc\x40\x61\xd2\xc5\x32\x4b\x6d\xf7\x01\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x25\xe9\x6f\x9e\xc3\x7b\xb5\x13\x31\x17\x11\x4f\x2f\x2d\x55= \x55" "\x55\x7f\x34\x0d\xd7\x7b\xf5\x79\x97\x9f\x75\xa5\xaf\x3f\x94\xac\xed= \x1f" "\xf2\x00\x00\xb0\xe9\xe3\x23\x43\xd7\xf2\x77\x22\x16\x22\xe2\x6a\xfa= \x5b" "\x7f\x73\x4b\x4b\x4b\x55\xb5\xb0\xb8\x54\x2d\x55\x8b\xf3\xf9\xf5\xec= \x60" "\x7e\xa1\x5a\x6c\xbc\xaf\xcd\xd3\xfa\xb9\xf9\xc1\x2e\x5e\x10\xf7\x07= \x55" "\xfd\xc9\x16\x1a\xcb\x35\x8d\x7b\xbf\x3c\x6e\x7c\xf8\xf3\xd5\x5f\x6b= \x50" "\xf5\x76\xd1\xd8\x64\xb4\x18\x38\x00\x44\xc4\xe6\xde\xe8\x81\x3d\xd2= \x21" "\x53\x55\x47\xa3\xed\x57\x39\xcc\x06\xdb\xff\xe1\x63\xfb\x67\x37\xda= \xfe" "\x3e\x05\x00\x00\x00\x0e\x5e\x55\x55\x55\x27\xfd\x39\xef\xe3\xe9\x98= \x7f" "\xb7\xed\xa6\x00\x80\x89\xc8\xfb\xff\xe1\xe3\x02\xb3\x55\xaf\xed\x72= \xfe" "\x7e\x4c\x47\xbf\xea\x7d\xac\xdf\x98\xb2\x7e\x8a\xad\xa3\x61\x1a\xfa= \xd9" "\x8f\xba\x93\xee\x8a\xb6\x9b\xf9\xff\x3f\xda\xef\xf7\xe0\xea\x6e\x4c= \x57" "\x3f\xea\xcf\x53\x37\x55\xa3\xdd\x6b\x16\x1b\x3b\xd9\x86\xfa\x35\x83= \xdb" "\xf1\x03\xc0\x8c\x59\x8b\x4f\xda\x6e\x81\x16\xc9\xbf\x68\xfd\x88\x38= \xf6" "\x19\x96\x9b\x3f\x80\x5e\x80\xe9\xd4\x69\xbb\x01\x0e\xc4\x83\x87\x77= \x57" "\x3a\x29\xdf\x4e\x73\x7f\x90\xee\xef\x9e\xcf\x05\xd9\x92\xff\x5a\x67= \x63" "\xb9\xbc\xfc\xa8\xe9\x38\xc3\xe7\x98\x4c\xea\xfb\x6b\x3d\x7a\xf1\xcc= \x0e" "\xfd\x3c\x3b\xa1\x1e\xa6\x49\xce\xbf\x3b\x9c\xff\xb5\xcd\xf1\x41\x9a= \xef" "\xa0\xf3\x9f\x94\x9d\xf2\xaf\xd7\x73\xb9\x85\x7e\xda\x96\xf3\xef\x0d= \xe7" "\x3f\xe4\xf0\xe4\xdf\x1d\x99\x7f\xa9\x72\xfe\xfd\x3d\xe5\xdf\x93\x3f= \x00" "\x00\x00\x00\x00\x4c\xb1\xfc\xfb\xff\x65\xc7\x7f\xf3\x2a\x03\x00\x00= \x00" "\x00\x00\x00\xc0\xcc\x79\xf0\xf0\xee\x4a\xbe\xee\x35\x1f\xff\xff\xd2= \x88" "\xf9\x5c\xff\x79\x38\xe5\xfc\x3b\xf2\x2f\x52\xce\xbf\x3b\x9c\xff\xd0= \x09" "\x39\xbd\xc6\xe3\xfb\x57\x1e\xe7\xff\xef\x87\x77\x57\x3e\xbc\xf3\xaf= \x2f" "\xe6\xe9\xd4\xe7\x3f\xd7\x1b\xd4\x5f\x7b\xae\xd3\xed\xf5\xd3\x39\x3f= \xd5" "\xdc\x5b\x71\x23\x6e\xc6\x6a\x9c\xd9\x36\x7f\x7f\xcb\xf8\xd9\x6d\xe3= \x73" "\x5b\xc6\xcf\x8d\x19\x3f\xbf\x6d\x7c\x50\x8f\x2f\xe6\xf1\x53\xb1\x12= \xbf" "\x8e\x9b\xf1\xe6\xa3\xf1\xf9\x31\x27\x46\x2d\x8c\x19\xaf\xc6\x8c\xe7= \xfc" "\x7b\xb6\xff\x22\xe5\xfc\xfb\x8d\x8f\x3a\xff\xa5\x34\xde\x19\x9a\xd6= \xee" "\x7f\xd0\xdd\xb6\xdd\x37\xa7\xa3\xbe\xce\xe5\xbf\xfd\xe7\x85\xed\x5b= \xd7" "\xe4\xad\x47\xef\xd1\xba\x35\xd5\xeb\x77\x72\xf4\x22\xab\xef\x1e\x60= \x3f" "\xe9\xff\x64\xed\xb7\xb7\x57\x6f\x9d\x7a\xf7\xfa\x9d\x3b\xb7\xce\x46= \x9a" "\x3c\x35\x88\xc7\xcf\x9e\x8b\x34\xd9\x67\x39\xff\xb9\xf4\x91\xf3\x7f= \xf1" "\xf9\xcd\xf1\xfc\x73\xbf\xb9\xbd\xde\xff\x60\xb0\xe7\xfc\xa7\xc5\x7a= \xf4" "\x77\xcc\xff\xf9\xc6\xe3\x7a\x7d\x5f\xda\x3e\xdb\xb8\x1f\xa7\x33\x27= \xe7" "\x3f\x48\x1f\x39\xff\xbc\x07\x1a\xbd\xfd\xcf\x72\xfe\x3b\x6f\xff\x2f= \xb7" "\xd0\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x49\x55= \x55" "\x1b\xd7\x34\x5d\x8e\x88\x4b\xf9\x7a\xd7\xa3\x6d\x77\x05\x00\x4c\x42= \xde" "\xff\x57\x49\x7e\x7e\xea\xeb\x2f\x4f\x59\x3f\x6a\xb5\x5a\xad\x1e\x53= \x77" "\xa7\xac\x9f\x32\xeb\xa6\x6a\xb4\xd7\x9a\x45\x44\xfc\xbd\xb9\x4c\xfd= \x9a" "\xe1\xf7\xa3\x3e\x19\x00\x30\xcd\xfe\x1b\x11\xff\x6c\xbb\x09\x5a\x23= \xff" "\x82\xe5\xbf\xf7\x57\x4f\xbf\xd2\x76\x33\xc0\x44\xdd\x7e\xef\xfd\x5f= \x5e" "\xbf\x79\x73\xf5\xd6\xed\xb6\x3b\x01\x00\x00\x00\x00\x00\x00\x00\x3e= \xab" "\x7c\xff\xcf\x13\x8d\xfb\x3f\x6f\x9c\x07\x34\x74\xa3\xd3\x2d\xf7\x7f= \xbd" "\x12\x27\x9e\x78\xff\xcf\x1f\xfe\x69\xc2\x6b\xb1\x7b\xeb\xdd\x41\x6f= \xe3" "\x5e\xe7\x69\x85\x9e\x8b\x27\xdf\xff\xfb\x64\x3c\xf9\xfe\xdf\xfd\x31= \x5f" "\x6f\x6e\xcc\xf8\x60\xcc\xf8\xfc\x98\xf1\x85\x31\xe3\x23\x2f\xf4\x68= \xc8" "\xf9\x3f\x97\x32\xce\xf9\x1f\x4f\x2b\x56\xd2\xfd\x5f\x5f\x6c\xa1\x9f= \xb6" "\xe5\xfc\x4f\xa6\x7b\x3d\xe7\xfc\xbf\x36\x34\x5f\x33\xff\xea\xaf\xb3= \x9c" "\x7f\x77\x4b\xfe\xa7\xef\xbc\xf3\x9b\xd3\xb7\xdf\x7b\xff\x95\x1b\xef= \x5c" "\x7f\x7b\xf5\xed\xd5\x5f\x9d\x3d\x73\xe9\xc2\xf9\x8b\x17\xce\x5f\xbc= \x78" "\xfa\xad\x1b\x37\x57\xcf\x6c\xfe\xdb\x62\xc7\x07\x2b\xe7\x9f\xef\x7d= \xed" "\x3c\xd0\xb2\xe4\xfc\x73\xe6\xf2\x2f\x4b\xce\xff\xab\xa9\x96\x7f\x59= \x72" "\xfe\x2f\xa4\x5a\xfe\x65\xc9\xf9\xe7\xd7\x7b\xf2\x2f\x4b\xce\x3f\xbf= \xf7" "\x91\x7f\x59\x72\xfe\x2f\xa5\x5a\xfe\x65\xc9\xf9\x7f\x3d\xd5\xf2\x2f= \x4b" "\xce\xff\xe5\x54\xcb\xbf\x2c\x39\xff\x6f\xa4\x5a\xfe\x65\xc9\xf9\xbf= \x92" "\x6a\xf9\x97\x25\xe7\x7f\x2a\xd5\xf2\x2f\x4b\xce\xff\x74\xaa\xe5\x5f= \x96" "\x9c\x7f\x3e\xc2\x25\xff\xb2\xe4\xfc\xf3\x99\x0d\xf2\x2f\x4b\xce\xff= \x5c" "\xaa\xe5\x5f\x96\x9c\xff\xf9\x54\xcb\xbf\x2c\x39\xff\x0b\xa9\x96\x7f= \x59" "\x72\xfe\x17\x53\x2d\xff\xb2\xe4\xfc\x2f\xa5\x5a\xfe\x65\xc9\xf9\x7f= \x33" "\xd5\xf2\x2f\x4b\xce\xff\x5b\xa9\x96\x7f\x59\x72\xfe\xaf\xa6\x5a\xfe= \x65" "\xc9\xf9\x7f\x3b\xd5\xf2\x2f\x4b\xce\xff\x3b\xa9\x96\x7f\x59\x72\xfe= \xdf" "\x4d\xb5\xfc\xcb\x92\xf3\xff\x5e\xaa\xe5\x5f\x96\x9c\xff\xf7\x53\x2d= \xff" "\xb2\xe4\xfc\x5f\x4b\xf5\x66\xfe\xaf\x8f\xbb\xac\x98\x43\xe2\xf1\xdf= \xff" "\xf7\xa0\xf8\x07\xd7\xe6\x22\xa6\xa0\x0d\x0f\xa6\xe1\x41\xdb\x3f\x99= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x61\x93\x38\x9d\xb8\xed\x75= \x04" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xff\xb1\x03\xc7\x02\x00\x00= \x00" "\x00\xc2\xfc\xad\x63\xe8\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00= \x00" "\x60\x28\x00\x00\xff\xff\xd4\xc5\x48\x6c", 8974); syz_mount_image(/*fs=3D*/0x20005d00, /*dir=3D*/0x20000000, /*flags=3D*/7, /*opts=3D*/0x200002c0, /*chdir=3D*/0, /*size=3D*/0x230e, /*img=3D*/0x20002dc0); memcpy((void*)0x20000080, "./file0\000", 8); syscall(__NR_mount, /*src=3D*/0ul, /*dst=3D*/0x20000080ul, /*type=3D*/0ul= , /*flags=3D*/0x20ul, /*opts=3D*/0ul); memcpy((void*)0x200000c0, "./file0\000", 8); syscall(__NR_mount, /*src=3D*/0ul, /*dst=3D*/0x200000c0ul, /*type=3D*/0ul= , /*flags=3D*/0x20860ul, /*opts=3D*/0ul); memcpy((void*)0x20000180, "./file0\000", 8); memcpy((void*)0x200001c0, "trusted.overlay.upper\000", 22); syscall(__NR_setxattr, /*path=3D*/0x20000180ul, /*name=3D*/0x200001c0ul, /*val=3D*/0ul, /*size=3D*/0ul, /*flags=3D*/2ul); } int main(void) { syscall(__NR_mmap, /*addr=3D*/0x1ffff000ul, /*len=3D*/0x1000ul, /*prot=3D= */0ul, /*flags=3D*/0x32ul, /*fd=3D*/-1, /*offset=3D*/0ul); syscall(__NR_mmap, /*addr=3D*/0x20000000ul, /*len=3D*/0x1000000ul, /*prot= =3D*/7ul, /*flags=3D*/0x32ul, /*fd=3D*/-1, /*offset=3D*/0ul); syscall(__NR_mmap, /*addr=3D*/0x21000000ul, /*len=3D*/0x1000ul, /*prot=3D= */0ul, /*flags=3D*/0x32ul, /*fd=3D*/-1, /*offset=3D*/0ul); loop(); return 0; } =3D* repro.txt =3D* syz_mount_image$jfs(&(0x7f0000005d00), &(0x7f0000000000)=3D'./file0\x00', 0x7, &(0x7f00000002c0)=3D{[{@usrquota}, {@iocharset=3D{'iocharset', 0x3d, 'cp855'}}, {@gid}, {@discard_size}, {@discard}, {@iocharset=3D{'iocharset', 0x3d, 'iso8859-2'}}, {@quota}, {@errors_continue}]}, 0x0, 0x230e, &(0x7f0000002dc0)=3D"$eJzs3d1uHGf9B/Dfvnj90n8T/ytUhQiJNIXSUpr3BMpbE4Q4KBIgV= TkmketWgRRQElBbRcSVDxCccAtw0hMOegtcQK8BcQFESjjqAWXQ2M+TjNfrrN3aO7t+Ph/Jmf3t= M2P/Jl+PZ9cz4wkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIF7/0RtnOxFx7XfpieW= I/4teRDdiMSKqpLnMsdgYjmcjojcfUS+/8c/RiAsR8fGRiAcP767UT5/bZR8Xz9y59emPf/CPP/= x5/dgv3vz5h8PjP/vC+Y/+eC9i+aevfvTpvX1YcQAAAChI/d6+fut+IiKOR0Q/vbcHAA6/vP/f+= vv+Kz/Jz+T5ho8HqNV7qTtT1s9M1/NT1o9arZ6puqka7V6ziIi15jL1awaH4wFgxqzFJ223QIvk= X7R+RDzVdhPAVOu03QAH4sHDuyudlG+nuT84sTmezwXZkv9a59H1HTtNxxk+x2RS31/r0Ytnduh= ncUI9TJM6r+W0/lvyv7Y5Pqj/WRha6ADyn5Sd8h9sXvq0J/P71FOb8vbfG85/yEFv/5OyHt2R+Z= cq59/fU/49+QMAAAAAwBTLv/9fbvn476SOpT3p+O+JCfUAAAAAAAAAAPtt3P3/Ng6KL8blPH9/6= P5/j7j/HwAAAEyt+r167S9HHj+3099iu7UYcbUT8fTQ/EBh0sUyS233AQAAAAAAAAAAAAAl6W+e= w3u1EzEXEU8vLVVVVX80Ddd79XmXn3Wlrz+UrO0f8gAAsOnjI0PX8nciFiLiavpbf3NLS0tVtbC= 4VC1Vi/P59exgfqFabLyvzdP6ufnBLl4Q9wdV/ckWGss1jXu/PG58+PPVX2tQ9XbR2GS0GDgARM= Tm3uiBPdIhU1VHo+1XOcwG2//hY/tnN9r+PgUAAAAOXlVVVSf9Oe/j6Zh/t+2mAICJyPv/4eMCs= 1Wv7XL+fkxHv+p9rN+Ysn6KraNhGvrZj7qT7oq2m/n/P9rv9+DqbkxXP+rPUzdVo91rFhs72Yb6= NYPb8QPAjFmLT9pugRbJv2j9iDj2GZabP4BegOnUabsBDsSDh3dXOinfTnN/kO7vns8F2ZL/Wmd= jubz8qOk4w+eYTOr7az168cwO/Tw7oR6mSc6/O5z/tc3xQZrvoPOflJ3yr9dzuYV+2pbz7w3nP+= Tw5N8dmX+pcv79PeXfkz8AAAAAAEyx/Pv/Zcd/8yoDAAAAAAAAwMx58PDuSr7uNR///9KI+Vz/e= Tjl/DvyL1LOvzuc/9AJOb3G4/tXHuf/74d3Vz68868v5unU5z/XG9Rfe67T7fXTOT/V3FtxI27G= apzZNn9/y/jZbeNzW8bPjRk/v218UI8v5vFTsRK/jpvx5qPx+TEnRi2MGa/GjOf8e7b/IuX8+42= POv+lNN4Zmtbuf9Ddtt03p6O+zuW//eeF7VvX5K1H79G6NdXrd3L0IqvvHmA/6f9k7be3V2+dev= f6nTu3zkaaPDWIx8+eizTZZzn/ufSR83/x+c3x/HO/ub3e/2Cw5/ynxXr0d8z/+cbjen1f2j7bu= B+nMyfnP0gfOf+8Bxq9/c9y/jtv/y+30A8AAAAAAAAAAAAAAAA8SVVVG9c0XY6IS/l616NtdwUA= TELe/1dJfn7q6y9PWT9qtVqtHlN3p6yfMuumarTXmkVE/L25TP2a4fejPhkAMM3+GxH/bLsJWiP= /guW/91dPv9J2M8BE3X7v/V9ev3lz9dbttjsBAAAAAAAAAD6rfP/PE437P2+cBzR0o9Mt93+9Ei= eeeP/PH/5pwmuxe+vdQW/jXudphZ6LJ9//+2Q8+f7f/TFfb27M+GDM+PyY8YUx4yMv9GjI+T+XM= s75H08rVtL9X19soZ+25fxPpns95/y/NjRfM//qr7Ocf3dL/qfvvPOb07ffe/+VG+9cf3v17dVf= nT1z6cL5ixfOX7x4+q0bN1fPbP7bYscHK+ef733tPNCy5Pxz5vIvS87/q6mWf1ly/i+kWv5lyfn= n13vyL0vOP7/3kX9Zcv4vpVr+Zcn5fz3V8i9Lzv/lVMu/LDn/b6Ra/mXJ+b+SavmXJed/KtXyL0= vO/3Sq5V+WnH8+wiX/suT885kN8i9Lzv9cquVflpz/+VTLvyw5/wupln9Zcv4XUy3/suT8L6Va/= mXJ+X8z1fIvS87/W6mWf1ly/q+mWv5lyfl/O9XyL0vO/zupln9Zcv7fTbX8y5Lz/16q5V+WnP/3= Uy3/suT8X0v1Zv6vj7usmEPi8d//96D4B9fmIqagDQ+m4UHbP5kAAAAAAAAAAAAAgGGTOJ247XU= EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAgP+xA8cCAAAAAML8rWPo3wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYCgAAP//1MVIbA=3D=3D") mount$afs(0x0, &(0x7f0000000080)=3D'./file0\x00', 0x0, 0x20, 0x0) mount$pvfs2(0x0, &(0x7f00000000c0)=3D'./file0\x00', 0x0, 0x20860, 0x0) setxattr$trusted_overlay_upper(&(0x7f0000000180)=3D'./file0\x00', &(0x7f00000001c0), 0x0, 0x0, 0x2) and see also in https://gist.github.com/xrivendell7/dc3cfa652f30e34ca4b2952db14885a4 I hope it helps. Best regrads. xingwei Lee