From unknown Mon Jun 23 18:29:31 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#12703 <12703@debbugs.gnu.org> To: bug#12703 <12703@debbugs.gnu.org> Subject: Status: segfault in 0x0000000100087491 in char_table_ref () at chartab.c:233 (emacs-24.2.50.1, osx-10.8.2) Reply-To: bug#12703 <12703@debbugs.gnu.org> Date: Tue, 24 Jun 2025 01:29:31 +0000 retitle 12703 segfault in 0x0000000100087491 in char_table_ref () at charta= b.c:233 (emacs-24.2.50.1, osx-10.8.2) reassign 12703 emacs,ns submitter 12703 Leif Walsh severity 12703 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 22 11:56:31 2012 Received: (at submit) by debbugs.gnu.org; 22 Oct 2012 15:56:31 +0000 Received: from localhost ([127.0.0.1]:56050 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQKMf-0004qe-Lw for submit@debbugs.gnu.org; Mon, 22 Oct 2012 11:56:30 -0400 Received: from eggs.gnu.org ([208.118.235.92]:54506) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQJje-0003T8-Tr for submit@debbugs.gnu.org; Mon, 22 Oct 2012 11:16:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TQJhk-0004Os-E3 for submit@debbugs.gnu.org; Mon, 22 Oct 2012 11:14:18 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:36451) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TQJhk-0004Ok-52 for submit@debbugs.gnu.org; Mon, 22 Oct 2012 11:14:12 -0400 Received: from eggs.gnu.org ([208.118.235.92]:48225) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TQJhe-0000g0-8M for bug-gnu-emacs@gnu.org; Mon, 22 Oct 2012 11:14:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TQJhW-0004I4-VY for bug-gnu-emacs@gnu.org; Mon, 22 Oct 2012 11:14:06 -0400 Received: from mail-pa0-f41.google.com ([209.85.220.41]:46343) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TQJhU-0004CU-UJ for bug-gnu-emacs@gnu.org; Mon, 22 Oct 2012 11:13:58 -0400 Received: by mail-pa0-f41.google.com with SMTP id fa10so2143944pad.0 for ; Mon, 22 Oct 2012 08:13:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=iEf1jD26YV9YxDM8NJOL3z+Q2fOvwQMYPf6Gs0Z7b6g=; b=ATEvmqKJhOcN5VSU4HtXBui7enwB+9HTXk1yxbpnXHmw1nSN1kghckxsqBv0n5T0Ld TWPE6XR1hOVMsS4BiMHzRIEWleyEwal0lBJhktH86gzdOz7Wv++ngzpAP7QiQjgQNtBp ShfapQTqJi7PDBtnkSMEYhe6PISBpPhyPBrdD6eZ2eTuCSiYFoddEnKWwBTkx/oYjMkt hR4jq6ZLHHfCSYF43jkT5u9KrqBXsYfitxkpQRkRyC6FD7dqY6RsK6lzSKKs6NWvTGhX 0YkkLn8MXh+ha/Ph3aFjpmuG3TxMnWrVZO26DQ/cyH6GdV8d2d3QQb9U7s9WZW8VPCBZ +lsA== Received: by 10.68.200.72 with SMTP id jq8mr30781058pbc.38.1350918835409; Mon, 22 Oct 2012 08:13:55 -0700 (PDT) MIME-Version: 1.0 Received: by 10.66.222.229 with HTTP; Mon, 22 Oct 2012 08:13:35 -0700 (PDT) From: Leif Walsh Date: Mon, 22 Oct 2012 11:13:35 -0400 Message-ID: Subject: segfault in 0x0000000100087491 in char_table_ref () at chartab.c:233 (emacs-24.2.50.1, osx-10.8.2) To: bug-gnu-emacs@gnu.org Content-Type: multipart/mixed; boundary=047d7b111a274e139404cca74df5 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Mon, 22 Oct 2012 11:56:27 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org --047d7b111a274e139404cca74df5 Content-Type: text/plain; charset=UTF-8 Hi, I am getting a pretty reproducible bug in my own build of emacs-24.2.50.1 on osx-10.8.2 with the "lion fullscreen patch" from somewhere. Build info: git://git.savannah.gnu.org/emacs.git@fbfb2416 additional patch attached in fullscreen.patch config.log attached Steps to reproduce: 1. Install auto-complete-1.3.1 and git://github.com/brianjcj/auto-complete-clang 2. Visit a c++ file 3. Try completing some stuff 4. Segfaults after not too much messing around Backtrace: (gdb) bt #0 0x00007fff96242d46 in __kill () #1 0x000000010009f63e in fatal_error_backtrace (sig=6, backtrace_limit=6) at emacs.c:331 #2 0x00000001000bc5b3 in emacs_abort () at sysdep.c:1830 #3 0x000000010018c73d in ns_term_shutdown (sig=) at nsterm.m:4229 #4 0x000000010009f5f1 in fatal_error_backtrace (sig=11, backtrace_limit=10) at emacs.c:314 #5 0x00000001000a1cde in handle_fatal_signal (sig=) at emacs.c:287 #6 0x00000001000bc80d in handle_on_main_thread (sig=11, handler=0x1000a1cd0 ) at sysdep.c:1493 #7 #8 0x0000000100087491 in char_table_ref () at chartab.c:233 #9 0x000000010016fadf in composition_compute_stop_pos (cmp_it=0x7fff5fbf2770, charpos=4195335, bytepos=5, endpos=4300718816, string=140734799751024) at composite.c:1053 #10 0x000000010002e701 in compute_stop_pos (it=0x7fff5fbf4c40) at xdisp.c:3393 #11 0x000000010002fdcb in next_element_from_string (it=0x7fff5fbf43d8) at xdisp.c:7525 #12 0x00000001000318f2 in get_next_display_element (it=0x7fff5fbf43d8) at xdisp.c:6568 #13 0x0000000100039f06 in display_line (it=0x7fff5fbf43d8) at xdisp.c:19382 #14 0x00000001000410cf in try_window (window=4346955808, flags=1606373632) at xdisp.c:16285 #15 0x000000010004a5b6 in redisplay_window (window=140734799758296, just_this_one_p=1606393984) at xdisp.c:15811 #16 0x0000000100035d86 in redisplay_window_0 (window=140734799758296) at xdisp.c:13879 #17 0x000000010011b030 in internal_condition_case_1 (bfun=0x100035d60 , arg=140734799758296, handlers=4320156886, hfun=0x100016250 ) at eval.c:1346 #18 0x0000000100035d3c in redisplay_windows (window=140734799758296) at xdisp.c:13859 #19 0x00000001000422ad in redisplay_internal () at xdisp.c:13439 #20 0x0000000100042b37 in redisplay_preserve_echo_area (from_where=51992685) at xdisp.c:13695 #21 0x00000001000aaf39 in detect_input_pending_run_timers (do_display=1) at keyboard.c:10361 #22 0x000000010015dbed in wait_reading_process_output (time_limit=140734799790240, nsecs=1606402208, read_kbd=1606402208, do_display=1606402208, wait_for_cell=140734799790240, wait_proc=0x7fff5fbfc0a0, just_wait_proc=0) at process.c:4768 #23 0x00000001000056c5 in sit_for (timeout=28, do_display=1, reading=true) at dispnew.c:5977 #24 0x00000001000ae6e8 in read_char (commandflag=1606402928, nmaps=140734799790960, maps=0x7fff5fbfc370, prev_event=1, used_mouse_menu=0x7fff5fbfc370, end_time=0x7fff5fbfc370) at keyboard.c:2707 #25 0x00000001000b26b1 in read_key_sequence () at keyboard.c:2838 #26 0x00000001000b4148 in command_loop_1 () at keyboard.c:1487 #27 0x000000010011b186 in internal_condition_case (bfun=0x1000b2d10 , handlers=4320212282, hfun=0x1000b41d0 ) at eval.c:1308 #28 0x00000001000b2cee in command_loop_2 (ignore=140734799791752) at keyboard.c:1182 #29 0x000000010011b282 in internal_catch (tag=140734799791752, func=0x1000b2cb0 , arg=140734799791752) at eval.c:1069 #30 0x00000001000b4760 in command_loop [inlined] () at /Users/leif/git/emacs/src/keyboard.c:1161 #31 0x00000001000b4760 in recursive_edit_1 () at keyboard.c:782 #32 0x00000001000a4ead in Frecursive_edit () at keyboard.c:846 #33 0x00000001000a1c2d in main (argc=25241098, argv=0x7fff5fbfcc70) at emacs.c:1655 (gdb) thread apply all bt Thread 5 (core thread 4): #0 0x00007fff96243322 in select$DARWIN_EXTSN () #1 0x000000010018876b in -[EmacsApp fd_handler:] (self=0x5, _cmd=0x100f09b00, unused=0x0) at nsterm.m:4570 #2 0x00007fff9750a612 in __NSThread__main__ () #3 0x00007fff930d4742 in _pthread_start () #4 0x00007fff930c1181 in thread_start () Thread 4 (core thread 3): #0 0x00007fff962436d6 in __workq_kernreturn () #1 0x00007fff930d6eec in _pthread_workq_return () #2 0x00007fff930d6cb3 in _pthread_wqthread () #3 0x00007fff930c1171 in start_wqthread () Thread 3 (core thread 2): #0 0x00007fff96243d16 in kevent () #1 0x00007fff8c571dea in _dispatch_mgr_invoke () #2 0x00007fff8c5719ee in _dispatch_mgr_thread () Thread 2 (core thread 1): #0 0x00007fff962436d6 in __workq_kernreturn () #1 0x00007fff930d6eec in _pthread_workq_return () #2 0x00007fff930d6cb3 in _pthread_wqthread () #3 0x00007fff930c1171 in start_wqthread () Thread 1 (core thread 0): #0 0x00007fff96242d46 in __kill () #1 0x000000010009f63e in fatal_error_backtrace (sig=6, backtrace_limit=6) at emacs.c:331 #2 0x00000001000bc5b3 in emacs_abort () at sysdep.c:1830 #3 0x000000010018c73d in ns_term_shutdown (sig=) at nsterm.m:4229 #4 0x000000010009f5f1 in fatal_error_backtrace (sig=11, backtrace_limit=10) at emacs.c:314 #5 0x00000001000a1cde in handle_fatal_signal (sig=) at emacs.c:287 #6 0x00000001000bc80d in handle_on_main_thread (sig=11, handler=0x1000a1cd0 ) at sysdep.c:1493 #7 #8 0x0000000100087491 in char_table_ref () at chartab.c:233 #9 0x000000010016fadf in composition_compute_stop_pos (cmp_it=0x7fff5fbf2770, charpos=4195335, bytepos=5, endpos=4300718816, string=140734799751024) at composite.c:1053 #10 0x000000010002e701 in compute_stop_pos (it=0x7fff5fbf4c40) at xdisp.c:3393 #11 0x000000010002fdcb in next_element_from_string (it=0x7fff5fbf43d8) at xdisp.c:7525 #12 0x00000001000318f2 in get_next_display_element (it=0x7fff5fbf43d8) at xdisp.c:6568 #13 0x0000000100039f06 in display_line (it=0x7fff5fbf43d8) at xdisp.c:19382 #14 0x00000001000410cf in try_window (window=4346955808, flags=1606373632) at xdisp.c:16285 #15 0x000000010004a5b6 in redisplay_window (window=140734799758296, just_this_one_p=1606393984) at xdisp.c:15811 #16 0x0000000100035d86 in redisplay_window_0 (window=140734799758296) at xdisp.c:13879 #17 0x000000010011b030 in internal_condition_case_1 (bfun=0x100035d60 , arg=140734799758296, handlers=4320156886, hfun=0x100016250 ) at eval.c:1346 #18 0x0000000100035d3c in redisplay_windows (window=140734799758296) at xdisp.c:13859 #19 0x00000001000422ad in redisplay_internal () at xdisp.c:13439 #20 0x0000000100042b37 in redisplay_preserve_echo_area (from_where=51992685) at xdisp.c:13695 #21 0x00000001000aaf39 in detect_input_pending_run_timers (do_display=1) at keyboard.c:10361 #22 0x000000010015dbed in wait_reading_process_output (time_limit=140734799790240, nsecs=1606402208, read_kbd=1606402208, do_display=1606402208, wait_for_cell=140734799790240, wait_proc=0x7fff5fbfc0a0, just_wait_proc=0) at process.c:4768 #23 0x00000001000056c5 in sit_for (timeout=28, do_display=1, reading=true) at dispnew.c:5977 #24 0x00000001000ae6e8 in read_char (commandflag=1606402928, nmaps=140734799790960, maps=0x7fff5fbfc370, prev_event=1, used_mouse_menu=0x7fff5fbfc370, end_time=0x7fff5fbfc370) at keyboard.c:2707 #25 0x00000001000b26b1 in read_key_sequence () at keyboard.c:2838 #26 0x00000001000b4148 in command_loop_1 () at keyboard.c:1487 #27 0x000000010011b186 in internal_condition_case (bfun=0x1000b2d10 , handlers=4320212282, hfun=0x1000b41d0 ) at eval.c:1308 #28 0x00000001000b2cee in command_loop_2 (ignore=140734799791752) at keyboard.c:1182 #29 0x000000010011b282 in internal_catch (tag=140734799791752, func=0x1000b2cb0 , arg=140734799791752) at eval.c:1069 #30 0x00000001000b4760 in command_loop [inlined] () at /Users/leif/git/emacs/src/keyboard.c:1161 #31 0x00000001000b4760 in recursive_edit_1 () at keyboard.c:782 #32 0x00000001000a4ead in Frecursive_edit () at keyboard.c:846 #33 0x00000001000a1c2d in main (argc=25241098, argv=0x7fff5fbfcc70) at emacs.c:1655 Let me know if there's anything else I can do to help. I'm not familiar with emacs code but I'm handy with gdb. I'm uploading the corefile to my server, it's gonna be maybe a half an hour (it's ~120MB bzipped), when it's done you can: wget 'http://leifwalsh.com/emacs24-osx10.8-segfault-auto-complete-clang.core.bz2' -O- | bunzip2 -c >core.34598 -- Cheers, Leif --047d7b111a274e139404cca74df5 Content-Type: application/octet-stream; name="fullscreen.patch" Content-Disposition: attachment; filename="fullscreen.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h8lpr2xu0 ZGlmZiAtLWdpdCBhL2xpc3AvdGVybS9ucy13aW4uZWwgYi9saXNwL3Rlcm0vbnMtd2luLmVsCmlu ZGV4IDA2YjY3NDcuLjk3Y2JjM2QgMTAwNjQ0Ci0tLSBhL2xpc3AvdGVybS9ucy13aW4uZWwKKysr IGIvbGlzcC90ZXJtL25zLXdpbi5lbApAQCAtOTI4LDYgKzkyOCwxMCBAQCBTZWUgdGhlIGRvY3Vt ZW50YXRpb24gb2YgYGNyZWF0ZS1mb250c2V0LWZyb20tZm9udHNldC1zcGVjJyBmb3IgdGhlIGZv cm1hdC4iKQogKGFkZC10by1saXN0ICdmcmFtZS1jcmVhdGlvbi1mdW5jdGlvbi1hbGlzdCAnKG5z IC4geC1jcmVhdGUtZnJhbWUtd2l0aC1mYWNlcykpCiAoYWRkLXRvLWxpc3QgJ3dpbmRvdy1zeXN0 ZW0taW5pdGlhbGl6YXRpb24tYWxpc3QgJyhucyAuIG5zLWluaXRpYWxpemUtd2luZG93LXN5c3Rl bSkpCiAKKyhkZWNsYXJlLWZ1bmN0aW9uIG5zLXRvZ2dsZS1mdWxsc2NyZWVuLWludGVybmFsICJu c2Zucy5tIiAoKSkKKyhkZWZ1biBucy10b2dnbGUtZnVsbHNjcmVlbiAoKQorICAoaW50ZXJhY3Rp dmUpCisgIChucy10b2dnbGUtZnVsbHNjcmVlbi1pbnRlcm5hbCkpCiAKIChwcm92aWRlICducy13 aW4pCiAKZGlmZiAtLWdpdCBhL3NyYy9uc2Zucy5tIGIvc3JjL25zZm5zLm0KaW5kZXggMDcyMDA1 ZC4uMzIyZThjNSAxMDA2NDQKLS0tIGEvc3JjL25zZm5zLm0KKysrIGIvc3JjL25zZm5zLm0KQEAg LTI1ODksNiArMjU4OSwyMiBAQCBWYWx1ZSBpcyB0IGlmIHRvb2x0aXAgd2FzIG9wZW4sIG5pbCBv dGhlcndpc2UuICAqLykKIH0KIAogCitERUZVTiAoIm5zLXRvZ2dsZS1mdWxsc2NyZWVuLWludGVy bmFsIiwgRm5zX3RvZ2dsZV9mdWxsc2NyZWVuX2ludGVybmFsLCBTbnNfdG9nZ2xlX2Z1bGxzY3Jl ZW5faW50ZXJuYWwsCisgICAgICAgIDAsIDAsIDAsCisgICAgICAgIGRvYzogLyogVG9nZ2xlIGZ1 bHNjcmVlbiBtb2RlICovKQorKCkKK3sKKyAgc3RydWN0IGZyYW1lICpmID0gU0VMRUNURURfRlJB TUUoKTsKKyAgRW1hY3NXaW5kb3cgKndpbmRvdyA9IG5zX2dldF93aW5kb3coZik7CisKKyNpZiBk ZWZpbmVkIChOU19JTVBMX0NPQ09BKSAmJiBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49 IE1BQ19PU19YX1ZFUlNJT05fMTBfNworICBbd2luZG93IHRvZ2dsZUZ1bGxTY3JlZW46bmlsXTsK KyNlbmRpZgorCisgIHJldHVybiBRbmlsOworfQorCisKIC8qID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAK ICAgICBDbGFzcyBpbXBsZW1lbnRhdGlvbnMKQEAgLTI3NDQsNiArMjc2MCw4IEBAIGJlIHVzZWQg YXMgdGhlIGltYWdlIG9mIHRoZSBpY29uIHJlcHJlc2VudGluZyB0aGUgZnJhbWUuICAqLyk7CiAg IGRlZnN1YnIgKCZTeF9zaG93X3RpcCk7CiAgIGRlZnN1YnIgKCZTeF9oaWRlX3RpcCk7CiAKKyAg ZGVmc3ViciAoJlNuc190b2dnbGVfZnVsbHNjcmVlbl9pbnRlcm5hbCk7CisKICAgLyogdXNlZCBv bmx5IGluIGZvbnRzZXQuYyAqLwogICBjaGVja193aW5kb3dfc3lzdGVtX2Z1bmMgPSBjaGVja19u czsKIApkaWZmIC0tZ2l0IGEvc3JjL25zbWVudS5tIGIvc3JjL25zbWVudS5tCmluZGV4IDkwN2Qz ZWEuLjA5NzRjMDQgMTAwNjQ0Ci0tLSBhL3NyYy9uc21lbnUubQorKysgYi9zcmMvbnNtZW51Lm0K QEAgLTEwMTMsNyArMTAxMyw3IEBAIGZyZWVfZnJhbWVfdG9vbF9iYXIgKEZSQU1FX1BUUiBmKQog ICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIHsKICAgQkxPQ0tfSU5QVVQ7Ci0gIFtbRlJBTUVfTlNf VklFVyAoZikgdG9vbGJhcl0gc2V0VmlzaWJsZTogTk9dOworICBbW0ZSQU1FX05TX1ZJRVcgKGYp IHdpbmRvd10gc2V0VG9vbGJhcjogbmlsXTsKICAgRlJBTUVfVE9PTEJBUl9IRUlHSFQgKGYpID0g MDsKICAgVU5CTE9DS19JTlBVVDsKIH0KQEAgLTEwMzAsNiArMTAzMCw4IEBAIHVwZGF0ZV9mcmFt ZV90b29sX2JhciAoRlJBTUVfUFRSIGYpCiAgIEVtYWNzVG9vbGJhciAqdG9vbGJhciA9IFt2aWV3 IHRvb2xiYXJdOwogCiAgIEJMT0NLX0lOUFVUOworICBbd2luZG93IHNldFRvb2xiYXI6IHRvb2xi YXJdOworCiAgIFt0b29sYmFyIGNsZWFyQWN0aXZlXTsKIAogICAvKiB1cGRhdGUgRW1hY3NUb29s YmFyIGFzIGluIEd0a1V0aWxzLCBidWlsZCBpdGVtcyBsaXN0ICovCmRpZmYgLS1naXQgYS9zcmMv bnN0ZXJtLmggYi9zcmMvbnN0ZXJtLmgKaW5kZXggZjNhZGFiOC4uOWIyZjAwNCAxMDA2NDQKLS0t IGEvc3JjL25zdGVybS5oCisrKyBiL3NyYy9uc3Rlcm0uaApAQCAtMzgsNiArMzgsOSBAQCBhbG9u ZyB3aXRoIEdOVSBFbWFjcy4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5z ZXMvPi4gICovCiAjaWZuZGVmIE1BQ19PU19YX1ZFUlNJT05fMTBfNgogI2RlZmluZSBNQUNfT1Nf WF9WRVJTSU9OXzEwXzYgMTA2MAogI2VuZGlmCisjaWZuZGVmIE1BQ19PU19YX1ZFUlNJT05fMTBf NworI2RlZmluZSBNQUNfT1NfWF9WRVJTSU9OXzEwXzcgMTA3MAorI2VuZGlmCiAjZW5kaWYgLyog TlNfSU1QTF9DT0NPQSAqLwogCiAjaWZkZWYgX19PQkpDX18KZGlmZiAtLWdpdCBhL3NyYy9uc3Rl cm0ubSBiL3NyYy9uc3Rlcm0ubQppbmRleCAwYjI2NTA4Li44Y2IyMmY5IDEwMDY0NAotLS0gYS9z cmMvbnN0ZXJtLm0KKysrIGIvc3JjL25zdGVybS5tCkBAIC0xNDYwLDcgKzE0NjAsNyBAQCBuc19n ZXRfY29sb3IgKGNvbnN0IGNoYXIgKm5hbWUsIE5TQ29sb3IgKipjb2wpCiAKICAgaWYgKHIgPj0g MC4wKQogICAgIHsKLSAgICAgICpjb2wgPSBbTlNDb2xvciBjb2xvcldpdGhDYWxpYnJhdGVkUmVk OiByIGdyZWVuOiBnIGJsdWU6IGIgYWxwaGE6IDEuMF07CisgICAgICAqY29sID0gW05TQ29sb3Ig Y29sb3JXaXRoRGV2aWNlUmVkOiByIGdyZWVuOiBnIGJsdWU6IGIgYWxwaGE6IDEuMF07CiAgICAg ICBVTkJMT0NLX0lOUFVUOwogICAgICAgcmV0dXJuIDA7CiAgICAgfQpAQCAtMTYyMiw3ICsxNjIy LDcgQEAgbnNfZ2V0X3JnYl9jb2xvciAoc3RydWN0IGZyYW1lICpmLCBmbG9hdCByLCBmbG9hdCBn LCBmbG9hdCBiLCBmbG9hdCBhKQogICBpZiAoYSA8IDAuMCkgYSA9IDAuMDsKICAgZWxzZSBpZiAo YSA+IDEuMCkgYSA9IDEuMDsKICAgcmV0dXJuICh1bnNpZ25lZCBsb25nKSBuc19pbmRleF9jb2xv cigKLSAgICBbTlNDb2xvciBjb2xvcldpdGhDYWxpYnJhdGVkUmVkOiByIGdyZWVuOiBnIGJsdWU6 IGIgYWxwaGE6IGFdLCBmKTsKKyAgICBbTlNDb2xvciBjb2xvcldpdGhEZXZpY2VSZWQ6IHIgZ3Jl ZW46IGcgYmx1ZTogYiBhbHBoYTogYV0sIGYpOwogfQogCiAKQEAgLTQwOTUsNyArNDA5NSw3IEBA IG5zX3Rlcm1faW5pdCAoTGlzcF9PYmplY3QgZGlzcGxheV9uYW1lKQogICAgICAgICAgICAgbmFt ZSA9IFNTREFUQSAoWENBUiAoY29sb3IpKTsKICAgICAgICAgICAgIGMgPSBYSU5UIChYQ0RSIChj b2xvcikpOwogICAgICAgICAgICAgW2NsIHNldENvbG9yOgotICAgICAgICAgICAgICAgICAgW05T Q29sb3IgY29sb3JXaXRoQ2FsaWJyYXRlZFJlZDogUkVEX0ZST01fVUxPTkcgKGMpIC8gMjU1LjAK KyAgICAgICAgICAgICAgICAgIFtOU0NvbG9yIGNvbG9yV2l0aERldmljZVJlZDogUkVEX0ZST01f VUxPTkcgKGMpIC8gMjU1LjAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ3JlZW46IEdSRUVOX0ZST01fVUxPTkcgKGMpIC8gMjU1LjAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWU6IEJMVUVfRlJPTV9VTE9ORyAoYykg LyAyNTUuMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHBo YTogMS4wXQpAQCAtNTQ0MywzOCArNTQ0Myw3IEBAIG5vdF9pbl9hcmd2IChOU1N0cmluZyAqYXJn KQogI2VuZGlmCiAgIGlmIChyb3dzIDwgTUlOSEVJR0hUKQogICAgIHJvd3MgPSBNSU5IRUlHSFQ7 Ci0jaWZkZWYgTlNfSU1QTF9DT0NPQQotICB7Ci0gICAgLyogdGhpcyBzZXRzIHdpbmRvdyB0aXRs ZSB0byBoYXZlIHNpemUgaW4gaXQ7IHRoZSB3bSBkb2VzIHRoaXMgdW5kZXIgR1MgKi8KLSAgICBO U1JlY3QgciA9IFtbc2VsZiB3aW5kb3ddIGZyYW1lXTsKLSAgICBpZiAoci5zaXplLmhlaWdodCA9 PSBmcmFtZVNpemUuaGVpZ2h0ICYmIHIuc2l6ZS53aWR0aCA9PSBmcmFtZVNpemUud2lkdGgpCi0g ICAgICB7Ci0gICAgICAgIGlmIChvbGRfdGl0bGUgIT0gMCkKLSAgICAgICAgICB7Ci0gICAgICAg ICAgICB4ZnJlZSAob2xkX3RpdGxlKTsKLSAgICAgICAgICAgIG9sZF90aXRsZSA9IDA7Ci0gICAg ICAgICAgfQotICAgICAgfQotICAgIGVsc2UKLSAgICAgIHsKLSAgICAgICAgY2hhciAqc2l6ZV90 aXRsZTsKLSAgICAgICAgTlNXaW5kb3cgKndpbmRvdyA9IFtzZWxmIHdpbmRvd107Ci0gICAgICAg IGlmIChvbGRfdGl0bGUgPT0gMCkKLSAgICAgICAgICB7Ci0gICAgICAgICAgICBjb25zdCBjaGFy ICp0ID0gW1tbc2VsZiB3aW5kb3ddIHRpdGxlXSBVVEY4U3RyaW5nXTsKLSAgICAgICAgICAgIGNo YXIgKnBvcyA9IHN0cnN0ciAodCwgIiAg4oCUICAiKTsKLSAgICAgICAgICAgIGlmIChwb3MpCi0g ICAgICAgICAgICAgICpwb3MgPSAnXDAnOwotICAgICAgICAgICAgb2xkX3RpdGxlID0geHN0cmR1 cCAodCk7Ci0gICAgICAgICAgfQotICAgICAgICBzaXplX3RpdGxlID0geG1hbGxvYyAoc3RybGVu IChvbGRfdGl0bGUpICsgNDApOwotCWVzcHJpbnRmIChzaXplX3RpdGxlLCAiJXMgIOKAlCAgKCVk IHggJWQpIiwgb2xkX3RpdGxlLCBjb2xzLCByb3dzKTsKLSAgICAgICAgW3dpbmRvdyBzZXRUaXRs ZTogW05TU3RyaW5nIHN0cmluZ1dpdGhVVEY4U3RyaW5nOiBzaXplX3RpdGxlXV07Ci0gICAgICAg IFt3aW5kb3cgZGlzcGxheV07Ci0gICAgICAgIHhmcmVlIChzaXplX3RpdGxlKTsKLSAgICAgIH0K LSAgfQotI2VuZGlmIC8qIE5TX0lNUExfQ09DT0EgKi8KKwogLypmcHJpbnRmIChzdGRlcnIsIiAg ICAuLi5zaXplIGJlY2FtZSAlLjBmIHggJS4wZiAgKCVkIHggJWQpXG4iLGZyYW1lU2l6ZS53aWR0 aCxmcmFtZVNpemUuaGVpZ2h0LGNvbHMscm93cyk7ICovCiAKICAgcmV0dXJuIGZyYW1lU2l6ZTsK QEAgLTU0OTYsMTQgKzU0NjUsNiBAQCBub3RfaW5fYXJndiAoTlNTdHJpbmcgKmFyZykKICAgTlNU UkFDRSAod2luZG93RGlkUmVzaXplKTsKIC8qZnByaW50ZiAoc3RkZXJyLCJ3aW5kb3dEaWRSZXNp emU6ICUuMGZcbiIsW3RoZVdpbmRvdyBmcmFtZV0uc2l6ZS5oZWlnaHQpOyAqLwogCi0jaWZkZWYg TlNfSU1QTF9DT0NPQQotICBpZiAob2xkX3RpdGxlICE9IDApCi0gICAgewotICAgICAgeGZyZWUg KG9sZF90aXRsZSk7Ci0gICAgICBvbGRfdGl0bGUgPSAwOwotICAgIH0KLSNlbmRpZiAvKiBOU19J TVBMX0NPQ09BICovCi0KICAgLyogQXZvaWQgbG9vcCB1bmRlciBHTlVzdGVwIGR1ZSB0byBjYWxs IGF0IGJlZ2lubmluZyBvZiB0aGlzIGZ1bmN0aW9uLgogICAgICAoeF9zZXRfd2luZG93X3NpemUg Y2F1c2VzIGEgcmVzaXplIHdoaWNoIGNhdXNlcwogICAgICBhICJ3aW5kb3dEaWRSZXNpemUiIHdo aWNoIGNhbGxzIHhfc2V0X3dpbmRvd19zaXplKS4gICovCkBAIC01NTIyLDYgKzU0ODMsNjAgQEAg bm90X2luX2FyZ3YgKE5TU3RyaW5nICphcmcpCiAgIG5zX3NlbmRfYXBwZGVmaW5lZCAoLTEpOwog fQogCisjaWYgZGVmaW5lZCAoTlNfSU1QTF9DT0NPQSkgJiYgTUFDX09TX1hfVkVSU0lPTl9NQVhf QUxMT1dFRCA+PSBNQUNfT1NfWF9WRVJTSU9OXzEwXzcKKy0gKHZvaWQpd2luZG93RGlkRW50ZXJG dWxsU2NyZWVuOihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgoreworICAgIE5TVFJBQ0Ug KHdpbmRvd0RpZEVudGVyRnVsbFNjcmVlbik7CisgICAgLyogTlNMb2coQCJDYWxsaW5nIHdpbmRv d0RpZEVudGVyRnVsbFNjcmVlbiIpOyAqLworICAgIAorICAgIE5TV2luZG93ICp3aW5kb3cgPSBb c2VsZiB3aW5kb3ddOworICAgIE5TUmVjdCB3ciA9IFt3aW5kb3cgZnJhbWVdOworICAgIGludCB3 ID0gKGludCl3ci5zaXplLndpZHRoIC0gZW1hY3NmcmFtZS0+Ym9yZGVyX3dpZHRoOworICAgIGlu dCBoID0gKGludCl3ci5zaXplLmhlaWdodDsKKyAgICBjb2xzID0gRlJBTUVfUElYRUxfV0lEVEhf VE9fVEVYVF9DT0xTKGVtYWNzZnJhbWUsIHcpOworICAgIHJvd3MgPSBGUkFNRV9QSVhFTF9IRUlH SFRfVE9fVEVYVF9MSU5FUyhlbWFjc2ZyYW1lLCBoKTsKKyAgICAvKiBOU0xvZyhAIndpbmRvd19z aXplPSVkeCVkICglZHglZCkiLCB3LCBoLCBjb2xzLCByb3dzKTsgKi8KKyAgICBGUkFNRV9QSVhF TF9XSURUSCAoZW1hY3NmcmFtZSkgPSB3OworICAgIEZSQU1FX1BJWEVMX0hFSUdIVCAoZW1hY3Nm cmFtZSkgPSBoOworICAgIGNoYW5nZV9mcmFtZV9zaXplIChlbWFjc2ZyYW1lLCByb3dzLCBjb2xz LCAwLCAxLCAwKTsKKyAgICBTRVRfRlJBTUVfR0FSQkFHRUQgKGVtYWNzZnJhbWUpOworICAgIGNh bmNlbF9tb3VzZV9mYWNlIChlbWFjc2ZyYW1lKTsKKyAgICBuc19zZW5kX2FwcGRlZmluZWQgKC0x KTsKK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZCAoTlNfSU1QTF9DT0NPQSkgJiYgTUFDX09TX1hf VkVSU0lPTl9NQVhfQUxMT1dFRCA+PSBNQUNfT1NfWF9WRVJTSU9OXzEwXzcKKy0gKHZvaWQpd2lu ZG93RGlkRXhpdEZ1bGxTY3JlZW46KE5TTm90aWZpY2F0aW9uICopbm90aWZpY2F0aW9uCit7Cisg ICAgTlNUUkFDRSAod2luZG93RGlkRXhpdEZ1bGxTY3JlZW4pOworICAgIC8qIE5TTG9nKEAiQ2Fs bGluZyB3aW5kb3dEaWRFeGl0RnVsbFNjcmVlbiIpOyAqLworICAgIAorICAgIE5TV2luZG93ICp3 aW5kb3cgPSBbc2VsZiB3aW5kb3ddOworICAgIE5TUmVjdCB3ciA9IFt3aW5kb3cgZnJhbWVdOwor ICAgIGludCB3ID0gKGludCl3ci5zaXplLndpZHRoIC0gZW1hY3NmcmFtZS0+Ym9yZGVyX3dpZHRo OworICAgIGludCBoID0gKGludCl3ci5zaXplLmhlaWdodAorICAgIC0gRlJBTUVfTlNfVElUTEVC QVJfSEVJR0hUIChlbWFjc2ZyYW1lKQorICAgIC0gRlJBTUVfVE9PTEJBUl9IRUlHSFQgKGVtYWNz ZnJhbWUpOworICAgIGNvbHMgPSBGUkFNRV9QSVhFTF9XSURUSF9UT19URVhUX0NPTFMoZW1hY3Nm cmFtZSwgdyk7CisgICAgcm93cyA9IEZSQU1FX1BJWEVMX0hFSUdIVF9UT19URVhUX0xJTkVTKGVt YWNzZnJhbWUsIGgpOworICAgIC8qIE5TTG9nKEAid2luZG93X3NpemU9JWR4JWQgKCVkeCVkKSIs IHcsIGgsIGNvbHMsIHJvd3MpOyAqLworICAgIEZSQU1FX1BJWEVMX1dJRFRIIChlbWFjc2ZyYW1l KSA9IHc7CisgICAgRlJBTUVfUElYRUxfSEVJR0hUIChlbWFjc2ZyYW1lKSA9IGg7CisgICAgY2hh bmdlX2ZyYW1lX3NpemUgKGVtYWNzZnJhbWUsIHJvd3MsIGNvbHMsIDAsIDEsIDApOworICAgIFNF VF9GUkFNRV9HQVJCQUdFRCAoZW1hY3NmcmFtZSk7CisgICAgY2FuY2VsX21vdXNlX2ZhY2UgKGVt YWNzZnJhbWUpOworICAgIG5zX3NlbmRfYXBwZGVmaW5lZCAoLTEpOworfQorI2VuZGlmCisKKyNp ZiBkZWZpbmVkIChOU19JTVBMX0NPQ09BKSAmJiBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VE ID49IE1BQ19PU19YX1ZFUlNJT05fMTBfNworLSAoTlNBcHBsaWNhdGlvblByZXNlbnRhdGlvbk9w dGlvbnMpd2luZG93OihOU1dpbmRvdyAqKXdpbmRvdyB3aWxsVXNlRnVsbFNjcmVlblByZXNlbnRh dGlvbk9wdGlvbnM6KE5TQXBwbGljYXRpb25QcmVzZW50YXRpb25PcHRpb25zKXByb3Bvc2VkT3B0 aW9ucworeworICAgIC8qIE5TTG9nKEAiQ2FsbGluZyB3aW5kb3c6d2lsbFVzZUZ1bGxTY3JlZW5Q cmVzZW50YXRpb25PcHRpb25zOiAlZCIsIHByb3Bvc2VkT3B0aW9ucyk7ICovCisgICAgcmV0dXJu IHByb3Bvc2VkT3B0aW9ucyB8IE5TQXBwbGljYXRpb25QcmVzZW50YXRpb25BdXRvSGlkZVRvb2xi YXI7Cit9CisjZW5kaWYKKwogCiAtICh2b2lkKXdpbmRvd0RpZEJlY29tZUtleTogKE5TTm90aWZp Y2F0aW9uICopbm90aWZpY2F0aW9uCiAvKiBjZi4geF9kZXRlY3RfZm9jdXNfY2hhbmdlKCksIHhf Zm9jdXNfY2hhbmdlZCgpLCB4X25ld19mb2N1c19mcmFtZSgpICovCkBAIC01NjkyLDYgKzU3MDcs MTQgQEAgbm90X2luX2FyZ3YgKE5TU3RyaW5nICphcmcpCiAgIFtOU0FwcCByZWdpc3RlclNlcnZp Y2VzTWVudVNlbmRUeXBlczogbnNfc2VuZF90eXBlcwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgcmV0dXJuVHlwZXM6IG5pbF07CiAKKyNpZiBkZWZpbmVkIChOU19JTVBMX0NPQ09BKSAmJiBN QUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IE1BQ19PU19YX1ZFUlNJT05fMTBfNworICBp ZiAoTlNBcHAgIT0gbmlsICYmIFtOU0FwcCBpc0FjdGl2ZV0pCisgIHsKKyAgICBbTlNBcHAgc2V0 UHJlc2VudGF0aW9uT3B0aW9uczogTlNBcHBsaWNhdGlvblByZXNlbnRhdGlvbkZ1bGxTY3JlZW4g fCBbTlNBcHAgcHJlc2VudGF0aW9uT3B0aW9uc10gXTsKKyAgICBbd2luIHNldENvbGxlY3Rpb25C ZWhhdmlvcjogTlNXaW5kb3dDb2xsZWN0aW9uQmVoYXZpb3JGdWxsU2NyZWVuUHJpbWFyeSB8IFt3 aW4gY29sbGVjdGlvbkJlaGF2aW9yXSBdOworICB9CisjZW5kaWYKKwogICBuc193aW5kb3dfbnVt Kys7CiAgIHJldHVybiBzZWxmOwogfQo= --047d7b111a274e139404cca74df5 Content-Type: application/octet-stream; name="config.log" Content-Disposition: attachment; filename="config.log" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h8lpuyr91 VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IGVtYWNzIGNvbmZpZ3VyZSAyNC4yLjUwLCB3 aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY5LiAgSW52b2NhdGlvbiBjb21t YW5kIGxpbmUgd2FzCgogICQgLi9jb25maWd1cmUgLS13aXRoLW5zIC0tZW5hYmxlLW5zLXNlbGYt Y29udGFpbmVkIC0tbm8tY3JlYXRlIC0tbm8tcmVjdXJzaW9uCgojIyAtLS0tLS0tLS0gIyMKIyMg UGxhdGZvcm0uICMjCiMjIC0tLS0tLS0tLSAjIwoKaG9zdG5hbWUgPSBpQnVrTWFjLmxvY2FsCnVu YW1lIC1tID0geDg2XzY0CnVuYW1lIC1yID0gMTIuMS4wCnVuYW1lIC1zID0gRGFyd2luCnVuYW1l IC12ID0gRGFyd2luIEtlcm5lbCBWZXJzaW9uIDEyLjEuMDogVHVlIEF1ZyAxNCAxMzoyOTo1NSBQ RFQgMjAxMjsgcm9vdDp4bnUtMjA1MC45LjJ+MS9SRUxFQVNFX1g4Nl82NAoKL3Vzci9iaW4vdW5h bWUgLXAgPSBpMzg2Ci9iaW4vdW5hbWUgLVggICAgID0gdW5rbm93bgoKL2Jpbi9hcmNoICAgICAg ICAgICAgICA9IHVua25vd24KL3Vzci9iaW4vYXJjaCAtayAgICAgICA9IHVua25vd24KL3Vzci9j b252ZXgvZ2V0c3lzaW5mbyA9IHVua25vd24KL3Vzci9iaW4vaG9zdGluZm8gICAgICA9IE1hY2gg a2VybmVsIHZlcnNpb246CgkgRGFyd2luIEtlcm5lbCBWZXJzaW9uIDEyLjEuMDogVHVlIEF1ZyAx NCAxMzoyOTo1NSBQRFQgMjAxMjsgcm9vdDp4bnUtMjA1MC45LjJ+MS9SRUxFQVNFX1g4Nl82NApL ZXJuZWwgY29uZmlndXJlZCBmb3IgdXAgdG8gMiBwcm9jZXNzb3JzLgoyIHByb2Nlc3NvcnMgYXJl IHBoeXNpY2FsbHkgYXZhaWxhYmxlLgoyIHByb2Nlc3NvcnMgYXJlIGxvZ2ljYWxseSBhdmFpbGFi bGUuClByb2Nlc3NvciB0eXBlOiBpNDg2IChJbnRlbCA4MDQ4NikKUHJvY2Vzc29ycyBhY3RpdmU6 IDAgMQpQcmltYXJ5IG1lbW9yeSBhdmFpbGFibGU6IDQuMDAgZ2lnYWJ5dGVzCkRlZmF1bHQgcHJv Y2Vzc29yIHNldDogMTM0IHRhc2tzLCA2ODcgdGhyZWFkcywgMiBwcm9jZXNzb3JzCkxvYWQgYXZl cmFnZTogNC4wNiwgTWFjaCBmYWN0b3I6IDAuMzMKL2Jpbi9tYWNoaW5lICAgICAgICAgICA9IHVu a25vd24KL3Vzci9iaW4vb3NsZXZlbCAgICAgICA9IHVua25vd24KL2Jpbi91bml2ZXJzZSAgICAg ICAgICA9IHVua25vd24KClBBVEg6IC9Vc2Vycy9sZWlmL2JpbgpQQVRIOiAvVXNlcnMvbGVpZi9s b2NhbC9iaW4KUEFUSDogL1VzZXJzL2xlaWYvbG9jYWwvc2JpbgpQQVRIOiAvdXNyL2xvY2FsL0Nl bGxhci9jb3JldXRpbHMvOC4xOS9saWJleGVjL2dudWJpbgpQQVRIOiAvQXBwbGljYXRpb25zL1hj b2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZl bG9wZXIvU0RLcy9NYWNPU1gxMC44LnNkay91c3IvYmluClBBVEg6IC9BcHBsaWNhdGlvbnMvWGNv ZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9Ub29sY2hhaW5zL1hjb2RlRGVmYXVsdC54Y3Rvb2xj aGFpbi91c3IvYmluClBBVEg6IC9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVs b3Blci91c3IvYmluClBBVEg6IC91c3IvbG9jYWwvYmluClBBVEg6IC91c3IvbG9jYWwvc2JpbgpQ QVRIOiAvdXNyL2JpbgpQQVRIOiAvYmluClBBVEg6IC91c3Ivc2JpbgpQQVRIOiAvc2JpbgpQQVRI OiAvdXNyL2xvY2FsL2JpbgpQQVRIOiAvb3B0L1gxMS9iaW4KUEFUSDogL3Vzci90ZXhiaW4KCgoj IyAtLS0tLS0tLS0tLSAjIwojIyBDb3JlIHRlc3RzLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoKY29u ZmlndXJlOjMzODc6IGNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwKY29uZmln dXJlOjM0NTU6IHJlc3VsdDogL3Vzci9sb2NhbC9DZWxsYXIvY29yZXV0aWxzLzguMTkvbGliZXhl Yy9nbnViaW4vaW5zdGFsbCAtYwpjb25maWd1cmU6MzQ2NjogY2hlY2tpbmcgd2hldGhlciBidWls ZCBlbnZpcm9ubWVudCBpcyBzYW5lCmNvbmZpZ3VyZTozNTIxOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MzY3MjogY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAKY29uZmlndXJlOjM3 MTE6IHJlc3VsdDogL3Vzci9sb2NhbC9DZWxsYXIvY29yZXV0aWxzLzguMTkvbGliZXhlYy9nbnVi aW4vbWtkaXIgLXAKY29uZmlndXJlOjM3MTk6IGNoZWNraW5nIGZvciBnYXdrCmNvbmZpZ3VyZToz NzQ5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozNzE5OiBjaGVja2luZyBmb3IgbWF3awpjb25maWd1 cmU6Mzc0OTogcmVzdWx0OiBubwpjb25maWd1cmU6MzcxOTogY2hlY2tpbmcgZm9yIG5hd2sKY29u ZmlndXJlOjM3NDk6IHJlc3VsdDogbm8KY29uZmlndXJlOjM3MTk6IGNoZWNraW5nIGZvciBhd2sK Y29uZmlndXJlOjM3MzU6IGZvdW5kIC91c3IvYmluL2F3awpjb25maWd1cmU6Mzc0NjogcmVzdWx0 OiBhd2sKY29uZmlndXJlOjM3NTc6IGNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkK Y29uZmlndXJlOjM3Nzk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NDMyOiBjaGVja2luZyBidWls ZCBzeXN0ZW0gdHlwZQpjb25maWd1cmU6NDQ0NjogcmVzdWx0OiBpMzg2LWFwcGxlLWRhcndpbjEy LjEuMApjb25maWd1cmU6NDQ2NjogY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZQpjb25maWd1cmU6 NDQ3OTogcmVzdWx0OiBpMzg2LWFwcGxlLWRhcndpbjEyLjEuMApjb25maWd1cmU6NDcyNTogY2hl Y2tpbmcgZm9yIGdjYwpjb25maWd1cmU6NDc0MTogZm91bmQgL0FwcGxpY2F0aW9ucy9YY29kZS5h cHAvQ29udGVudHMvRGV2ZWxvcGVyL3Vzci9iaW4vZ2NjCmNvbmZpZ3VyZTo0NzUyOiByZXN1bHQ6 IGdjYwpjb25maWd1cmU6NDk4MTogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgdmVyc2lvbgpjb25m aWd1cmU6NDk5MDogZ2NjIC0tdmVyc2lvbiA+JjUKaTY4Ni1hcHBsZS1kYXJ3aW4xMS1sbHZtLWdj Yy00LjIgKEdDQykgNC4yLjEgKEJhc2VkIG9uIEFwcGxlIEluYy4gYnVpbGQgNTY1OCkgKExMVk0g YnVpbGQgMjMzNi4xMS4wMCkKQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgpUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5 aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTwp3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KCmNvbmZpZ3Vy ZTo1MDAxOiAkPyA9IDAKY29uZmlndXJlOjQ5OTA6IGdjYyAtdiA+JjUKVXNpbmcgYnVpbHQtaW4g c3BlY3MuClRhcmdldDogaTY4Ni1hcHBsZS1kYXJ3aW4xMQpDb25maWd1cmVkIHdpdGg6IC9wcml2 YXRlL3Zhci90bXAvbGx2bWdjYzQyL2xsdm1nY2M0Mi0yMzM2LjExfjI4L3NyYy9jb25maWd1cmUg LS1kaXNhYmxlLWNoZWNraW5nIC0tZW5hYmxlLXdlcnJvciAtLXByZWZpeD0vQXBwbGljYXRpb25z L1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvdXNyL2xsdm0tZ2NjLTQuMiAtLW1hbmRpcj0v c2hhcmUvbWFuIC0tZW5hYmxlLWxhbmd1YWdlcz1jLG9iamMsYysrLG9iai1jKysgLS1wcm9ncmFt LXByZWZpeD1sbHZtLSAtLXByb2dyYW0tdHJhbnNmb3JtLW5hbWU9L15bY2ddW14uLV0qJC9zLyQv LTQuMi8gLS13aXRoLXNsaWJkaXI9L3Vzci9saWIgLS1idWlsZD1pNjg2LWFwcGxlLWRhcndpbjEx IC0tZW5hYmxlLWxsdm09L3ByaXZhdGUvdmFyL3RtcC9sbHZtZ2NjNDIvbGx2bWdjYzQyLTIzMzYu MTF+MjgvZHN0LWxsdm1Db3JlL0RldmVsb3Blci91c3IvbG9jYWwgLS1wcm9ncmFtLXByZWZpeD1p Njg2LWFwcGxlLWRhcndpbjExLSAtLWhvc3Q9eDg2XzY0LWFwcGxlLWRhcndpbjExIC0tdGFyZ2V0 PWk2ODYtYXBwbGUtZGFyd2luMTEgLS13aXRoLWd4eC1pbmNsdWRlLWRpcj0vdXNyL2luY2x1ZGUv YysrLzQuMi4xClRocmVhZCBtb2RlbDogcG9zaXgKZ2NjIHZlcnNpb24gNC4yLjEgKEJhc2VkIG9u IEFwcGxlIEluYy4gYnVpbGQgNTY1OCkgKExMVk0gYnVpbGQgMjMzNi4xMS4wMCkKY29uZmlndXJl OjUwMDE6ICQ/ID0gMApjb25maWd1cmU6NDk5MDogZ2NjIC1WID4mNQpsbHZtLWdjYy00LjI6IGFy Z3VtZW50IHRvIGAtVicgaXMgbWlzc2luZwpjb25maWd1cmU6NTAwMTogJD8gPSAxCmNvbmZpZ3Vy ZTo0OTkwOiBnY2MgLXF2ZXJzaW9uID4mNQppNjg2LWFwcGxlLWRhcndpbjExLWxsdm0tZ2NjLTQu Mjogbm8gaW5wdXQgZmlsZXMKY29uZmlndXJlOjUwMDE6ICQ/ID0gMQpjb25maWd1cmU6NTAyMTog Y2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcwpjb25maWd1cmU6NTA0MzogZ2Nj ICAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6NTA0NzogJD8gPSAwCmNvbmZpZ3VyZTo1MDk1 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTA5ODogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVm YXVsdCBvdXRwdXQgZmlsZSBuYW1lCmNvbmZpZ3VyZTo1MTAwOiByZXN1bHQ6IGEub3V0CmNvbmZp Z3VyZTo1MTA2OiBjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzCmNvbmZpZ3VyZTo1 MTEzOiBnY2MgLW8gY29uZnRlc3QgICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo1MTE3OiAk PyA9IDAKY29uZmlndXJlOjUxMzk6IHJlc3VsdDogCmNvbmZpZ3VyZTo1MTYxOiBjaGVja2luZyB3 aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcKY29uZmlndXJlOjUxNjk6IGdjYyAtbyBjb25m dGVzdCAgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjUxNzM6ICQ/ID0gMApjb25maWd1cmU6 NTE4MDogLi9jb25mdGVzdApjb25maWd1cmU6NTE4NDogJD8gPSAwCmNvbmZpZ3VyZTo1MTk5OiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1MjA0OiBjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBm aWxlcwpjb25maWd1cmU6NTIyNjogZ2NjIC1jICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjUy MzA6ICQ/ID0gMApjb25maWd1cmU6NTI1MTogcmVzdWx0OiBvCmNvbmZpZ3VyZTo1MjU1OiBjaGVj a2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIKY29uZmlndXJlOjUy NzQ6IGdjYyAtYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1Mjc0OiAkPyA9IDAKY29uZmln dXJlOjUyODM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1MjkyOiBjaGVja2luZyB3aGV0aGVyIGdj YyBhY2NlcHRzIC1nCmNvbmZpZ3VyZTo1MzEyOiBnY2MgLWMgLWcgIGNvbmZ0ZXN0LmMgPiY1CmNv bmZpZ3VyZTo1MzEyOiAkPyA9IDAKY29uZmlndXJlOjUzNTM6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZTo1MzcwOiBjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OQpjb25maWd1 cmU6NTQzMzogZ2NjICAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1NDMzOiAk PyA9IDAKY29uZmlndXJlOjU0NDY6IHJlc3VsdDogbm9uZSBuZWVkZWQKY29uZmlndXJlOjU0Nzc6 IGNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZQpjb25maWd1cmU6NTUw NTogcmVzdWx0OiBHTlUKY29uZmlndXJlOjU1MzE6IGNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUg b2YgZ2NjCmNvbmZpZ3VyZTo1NjQyOiByZXN1bHQ6IGdjYzMKY29uZmlndXJlOjU2NTg6IGNoZWNr aW5nIHdoZXRoZXIgZ2NjIGFuZCBjYyB1bmRlcnN0YW5kIC1jIGFuZCAtbyB0b2dldGhlcgpjb25m aWd1cmU6NTY4OTogZ2NjIC1jIGNvbmZ0ZXN0LmMgLW8gY29uZnRlc3QyLm8gPiY1CmNvbmZpZ3Vy ZTo1NjkzOiAkPyA9IDAKY29uZmlndXJlOjU2OTk6IGdjYyAtYyBjb25mdGVzdC5jIC1vIGNvbmZ0 ZXN0Mi5vID4mNQpjb25maWd1cmU6NTcwMzogJD8gPSAwCmNvbmZpZ3VyZTo1NzE0OiBjYyAtYyBj b25mdGVzdC5jID4mNQpjb25maWd1cmU6NTcxODogJD8gPSAwCmNvbmZpZ3VyZTo1NzI2OiBjYyAt YyBjb25mdGVzdC5jIC1vIGNvbmZ0ZXN0Mi5vID4mNQpjb25maWd1cmU6NTczMDogJD8gPSAwCmNv bmZpZ3VyZTo1NzM2OiBjYyAtYyBjb25mdGVzdC5jIC1vIGNvbmZ0ZXN0Mi5vID4mNQpjb25maWd1 cmU6NTc0MDogJD8gPSAwCmNvbmZpZ3VyZTo1NzU4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTc5 NzogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IKY29uZmlndXJlOjU4Mjg6 IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NTgyODogJD8gPSAwCmNvbmZpZ3VyZTo1ODQy OiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxMjoyODogZXJyb3I6IGFjX25vbmV4aXN0 ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjU4NDI6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVm aW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZF UlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjU4Njc6IHJl c3VsdDogZ2NjIC1FCmNvbmZpZ3VyZTo1ODg3OiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJl OjU4ODc6ICQ/ID0gMApjb25maWd1cmU6NTkwMTogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZ0ZXN0 LmM6MTI6Mjg6IGVycm9yOiBhY19ub25leGlzdGVudC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0 b3J5CmNvbmZpZ3VyZTo1OTAxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0 LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg UEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJ TF9VU0VfUE9QIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGFjX25vbmV4 aXN0ZW50Lmg+CmNvbmZpZ3VyZTo1OTMwOiBjaGVja2luZyBmb3IgZ3JlcCB0aGF0IGhhbmRsZXMg bG9uZyBsaW5lcyBhbmQgLWUKY29uZmlndXJlOjU5ODg6IHJlc3VsdDogL3Vzci9iaW4vZ3JlcApj b25maWd1cmU6NTk5MzogY2hlY2tpbmcgZm9yIGVncmVwCmNvbmZpZ3VyZTo2MDU1OiByZXN1bHQ6 IC91c3IvYmluL2dyZXAgLUUKY29uZmlndXJlOjYwNjI6IGNoZWNraW5nIGZvciBNaW5peCBBbXN0 ZXJkYW0gY29tcGlsZXIKY29uZmlndXJlOjYwODY6IHJlc3VsdDogbm8KY29uZmlndXJlOjYxMzg6 IGNoZWNraW5nIGZvciBhcgpjb25maWd1cmU6NjE1NDogZm91bmQgL0FwcGxpY2F0aW9ucy9YY29k ZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1Rvb2xjaGFpbnMvWGNvZGVEZWZhdWx0LnhjdG9vbGNo YWluL3Vzci9iaW4vYXIKY29uZmlndXJlOjYxNjU6IHJlc3VsdDogYXIKY29uZmlndXJlOjYyNDU6 IGNoZWNraW5nIGZvciByYW5saWIKY29uZmlndXJlOjYyNjE6IGZvdW5kIC9BcHBsaWNhdGlvbnMv WGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9Ub29sY2hhaW5zL1hjb2RlRGVmYXVsdC54Y3Rv b2xjaGFpbi91c3IvYmluL3JhbmxpYgpjb25maWd1cmU6NjI3MjogcmVzdWx0OiByYW5saWIKY29u ZmlndXJlOjYyOTg6IGNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzCmNvbmZpZ3VyZTo2 MzE4OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjMxODogJD8gPSAw CmNvbmZpZ3VyZTo2MzkxOiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1 CmNvbmZpZ3VyZTo2MzkxOiAkPyA9IDAKY29uZmlndXJlOjYzOTE6IC4vY29uZnRlc3QKY29uZmln dXJlOjYzOTE6ICQ/ID0gMApjb25maWd1cmU6NjQwMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY0 MTU6IGNoZWNraW5nIGZvciBzeXMvdHlwZXMuaApjb25maWd1cmU6NjQxNTogZ2NjIC1jIC1nIC1P MiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY0MTU6ICQ/ID0gMApjb25maWd1cmU6NjQxNTog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjY0MTU6IGNoZWNraW5nIGZvciBzeXMvc3RhdC5oCmNvbmZp Z3VyZTo2NDE1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjQxNTog JD8gPSAwCmNvbmZpZ3VyZTo2NDE1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjQxNTogY2hlY2tp bmcgZm9yIHN0ZGxpYi5oCmNvbmZpZ3VyZTo2NDE1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6NjQxNTogJD8gPSAwCmNvbmZpZ3VyZTo2NDE1OiByZXN1bHQ6IHllcwpj b25maWd1cmU6NjQxNTogY2hlY2tpbmcgZm9yIHN0cmluZy5oCmNvbmZpZ3VyZTo2NDE1OiBnY2Mg LWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjQxNTogJD8gPSAwCmNvbmZpZ3Vy ZTo2NDE1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjQxNTogY2hlY2tpbmcgZm9yIG1lbW9yeS5o CmNvbmZpZ3VyZTo2NDE1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 NjQxNTogJD8gPSAwCmNvbmZpZ3VyZTo2NDE1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjQxNTog Y2hlY2tpbmcgZm9yIHN0cmluZ3MuaApjb25maWd1cmU6NjQxNTogZ2NjIC1jIC1nIC1PMiAgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjY0MTU6ICQ/ID0gMApjb25maWd1cmU6NjQxNTogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjY0MTU6IGNoZWNraW5nIGZvciBpbnR0eXBlcy5oCmNvbmZpZ3VyZTo2 NDE1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjQxNTogJD8gPSAw CmNvbmZpZ3VyZTo2NDE1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjQxNTogY2hlY2tpbmcgZm9y IHN0ZGludC5oCmNvbmZpZ3VyZTo2NDE1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6NjQxNTogJD8gPSAwCmNvbmZpZ3VyZTo2NDE1OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6NjQxNTogY2hlY2tpbmcgZm9yIHVuaXN0ZC5oCmNvbmZpZ3VyZTo2NDE1OiBnY2MgLWMgLWcg LU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjQxNTogJD8gPSAwCmNvbmZpZ3VyZTo2NDE1 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjQzMDogY2hlY2tpbmcgbWluaXgvY29uZmlnLmggdXNh YmlsaXR5CmNvbmZpZ3VyZTo2NDMwOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25m dGVzdC5jOjU1OjI2OiBlcnJvcjogbWluaXgvY29uZmlnLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl Y3RvcnkKY29uZmlndXJlOjY0MzA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi MjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmlu ZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBN QUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9T WVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYg U1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5o Pgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+ CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5l ZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVt b3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRl IDxtaW5peC9jb25maWcuaD4KY29uZmlndXJlOjY0MzA6IHJlc3VsdDogbm8KY29uZmlndXJlOjY0 MzA6IGNoZWNraW5nIG1pbml4L2NvbmZpZy5oIHByZXNlbmNlCmNvbmZpZ3VyZTo2NDMwOiBnY2Mg LUUgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoyMjoyNjogZXJyb3I6IG1pbml4L2NvbmZpZy5oOiBO byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo2NDMwOiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1h Y3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIy NC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPG1pbml4 L2NvbmZpZy5oPgpjb25maWd1cmU6NjQzMDogcmVzdWx0OiBubwpjb25maWd1cmU6NjQzMDogY2hl Y2tpbmcgZm9yIG1pbml4L2NvbmZpZy5oCmNvbmZpZ3VyZTo2NDMwOiByZXN1bHQ6IG5vCmNvbmZp Z3VyZTo2NDU5OiBjaGVja2luZyB3aGV0aGVyIGl0IGlzIHNhZmUgdG8gZGVmaW5lIF9fRVhURU5T SU9OU19fCmNvbmZpZ3VyZTo2NDc3OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25m aWd1cmU6NjQ3NzogJD8gPSAwCmNvbmZpZ3VyZTo2NDg0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 NjUxMzogY2hlY2tpbmcgZm9yIHNwZWNpYWwgQyBjb21waWxlciBvcHRpb25zIG5lZWRlZCBmb3Ig bGFyZ2UgZmlsZXMKY29uZmlndXJlOjY1NTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjY1NjQ6IGNo ZWNraW5nIGZvciBfRklMRV9PRkZTRVRfQklUUyB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVz CmNvbmZpZ3VyZTo2NTg5OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 NjU4OTogJD8gPSAwCmNvbmZpZ3VyZTo2NjIxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NzEwOiBj aGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM5OQpjb25maWd1cmU6Njg1OTog Z2NjICAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzg6IGVycm9yOiBleHBl Y3RlZCAnOycsICcsJyBvciAnKScgYmVmb3JlICd0ZXh0Jwpjb25mdGVzdC5jOiBJbiBmdW5jdGlv biAnbWFpbic6CmNvbmZ0ZXN0LmM6MTMyOiBlcnJvcjogbmVzdGVkIGZ1bmN0aW9ucyBhcmUgZGlz YWJsZWQsIHVzZSAtZm5lc3RlZC1mdW5jdGlvbnMgdG8gcmUtZW5hYmxlCmNvbmZ0ZXN0LmM6MTMy OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18n IGJlZm9yZSAnbmV3dmFyJwpjb25mdGVzdC5jOjEzMjogZXJyb3I6ICduZXd2YXInIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQpjb25mdGVzdC5jOjEzMjogZXJyb3I6IChF YWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UKY29uZnRlc3Qu YzoxMzI6IGVycm9yOiBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluLikKY29uZnRlc3Qu YzoxNDI6IGVycm9yOiAnZm9yJyBsb29wIGluaXRpYWwgZGVjbGFyYXRpb24gdXNlZCBvdXRzaWRl IEM5OSBtb2RlCmNvbmZpZ3VyZTo2ODU5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNk ZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZp bmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVm aW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUg X1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGFyZy5oPgp8ICNpbmNsdWRlIDxz dGRib29sLmg+CnwgI2luY2x1ZGUgPHN0ZGxpYi5oPgp8ICNpbmNsdWRlIDx3Y2hhci5oPgp8ICNp bmNsdWRlIDxzdGRpby5oPgp8IAp8IC8vIENoZWNrIHZhcmFyZ3MgbWFjcm9zLiAgVGhlc2UgZXhh bXBsZXMgYXJlIHRha2VuIGZyb20gQzk5IDYuMTAuMy41Lgp8ICNkZWZpbmUgZGVidWcoLi4uKSBm cHJpbnRmIChzdGRlcnIsIF9fVkFfQVJHU19fKQp8ICNkZWZpbmUgc2hvd2xpc3QoLi4uKSBwdXRz ICgjX19WQV9BUkdTX18pCnwgI2RlZmluZSByZXBvcnQodGVzdCwuLi4pICgodGVzdCkgPyBwdXRz ICgjdGVzdCkgOiBwcmludGYgKF9fVkFfQVJHU19fKSkKfCBzdGF0aWMgdm9pZAp8IHRlc3RfdmFy YXJnc19tYWNyb3MgKHZvaWQpCnwgewp8ICAgaW50IHggPSAxMjM0Owp8ICAgaW50IHkgPSA1Njc4 Owp8ICAgZGVidWcgKCJGbGFnIik7CnwgICBkZWJ1ZyAoIlggPSAlZFxuIiwgeCk7CnwgICBzaG93 bGlzdCAoVGhlIGZpcnN0LCBzZWNvbmQsIGFuZCB0aGlyZCBpdGVtcy4pOwp8ICAgcmVwb3J0ICh4 PnksICJ4IGlzICVkIGJ1dCB5IGlzICVkIiwgeCwgeSk7CnwgfQp8IAp8IC8vIENoZWNrIGxvbmcg bG9uZyB0eXBlcy4KfCAjZGVmaW5lIEJJRzY0IDE4NDQ2NzQ0MDczNzA5NTUxNjE1dWxsCnwgI2Rl ZmluZSBCSUczMiA0Mjk0OTY3Mjk1dWwKfCAjZGVmaW5lIEJJR19PSyAoQklHNjQgLyBCSUczMiA9 PSA0Mjk0OTY3Mjk3dWxsICYmIEJJRzY0ICUgQklHMzIgPT0gMCkKfCAjaWYgIUJJR19PSwp8ICAg eW91ciBwcmVwcm9jZXNzb3IgaXMgYnJva2VuOwp8ICNlbmRpZgp8ICNpZiBCSUdfT0sKfCAjZWxz ZQp8ICAgeW91ciBwcmVwcm9jZXNzb3IgaXMgYnJva2VuOwp8ICNlbmRpZgp8IHN0YXRpYyBsb25n IGxvbmcgaW50IGJpZ251bSA9IC05MjIzMzcyMDM2ODU0Nzc1ODA3TEw7Cnwgc3RhdGljIHVuc2ln bmVkIGxvbmcgbG9uZyBpbnQgdWJpZ251bSA9IEJJRzY0Owp8IAp8IHN0cnVjdCBpbmNvbXBsZXRl X2FycmF5Cnwgewp8ICAgaW50IGRhdGFzaXplOwp8ICAgZG91YmxlIGRhdGFbXTsKfCB9Owp8IAp8 IHN0cnVjdCBuYW1lZF9pbml0IHsKfCAgIGludCBudW1iZXI7CnwgICBjb25zdCB3Y2hhcl90ICpu YW1lOwp8ICAgZG91YmxlIGF2ZXJhZ2U7CnwgfTsKfCAKfCB0eXBlZGVmIGNvbnN0IGNoYXIgKmNj cDsKfCAKfCBzdGF0aWMgaW5saW5lIGludAp8IHRlc3RfcmVzdHJpY3QgKGNjcCByZXN0cmljdCB0 ZXh0KQp8IHsKfCAgIC8vIFNlZSBpZiBDKystc3R5bGUgY29tbWVudHMgd29yay4KfCAgIC8vIEl0 ZXJhdGUgdGhyb3VnaCBpdGVtcyB2aWEgdGhlIHJlc3RyaWN0ZWQgcG9pbnRlci4KfCAgIC8vIEFs c28gY2hlY2sgZm9yIGRlY2xhcmF0aW9ucyBpbiBmb3IgbG9vcHMuCnwgICBmb3IgKHVuc2lnbmVk IGludCBpID0gMDsgKih0ZXh0K2kpICE9ICdcMCc7ICsraSkKfCAgICAgY29udGludWU7CnwgICBy ZXR1cm4gMDsKfCB9CnwgCnwgLy8gQ2hlY2sgdmFyYXJncyBhbmQgdmFfY29weS4KfCBzdGF0aWMg dm9pZAp8IHRlc3RfdmFyYXJncyAoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCnwgewp8ICAgdmFf bGlzdCBhcmdzOwp8ICAgdmFfc3RhcnQgKGFyZ3MsIGZvcm1hdCk7CnwgICB2YV9saXN0IGFyZ3Nf Y29weTsKfCAgIHZhX2NvcHkgKGFyZ3NfY29weSwgYXJncyk7CnwgCnwgICBjb25zdCBjaGFyICpz dHI7CnwgICBpbnQgbnVtYmVyOwp8ICAgZmxvYXQgZm51bWJlcjsKfCAKfCAgIHdoaWxlICgqZm9y bWF0KQp8ICAgICB7CnwgICAgICAgc3dpdGNoICgqZm9ybWF0KyspCnwgCXsKfCAJY2FzZSAncyc6 IC8vIHN0cmluZwp8IAkgIHN0ciA9IHZhX2FyZyAoYXJnc19jb3B5LCBjb25zdCBjaGFyICopOwp8 IAkgIGJyZWFrOwp8IAljYXNlICdkJzogLy8gaW50CnwgCSAgbnVtYmVyID0gdmFfYXJnIChhcmdz X2NvcHksIGludCk7CnwgCSAgYnJlYWs7CnwgCWNhc2UgJ2YnOiAvLyBmbG9hdAp8IAkgIGZudW1i ZXIgPSB2YV9hcmcgKGFyZ3NfY29weSwgZG91YmxlKTsKfCAJICBicmVhazsKfCAJZGVmYXVsdDoK fCAJICBicmVhazsKfCAJfQp8ICAgICB9CnwgICB2YV9lbmQgKGFyZ3NfY29weSk7CnwgICB2YV9l bmQgKGFyZ3MpOwp8IH0KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IAp8ICAgLy8gQ2hlY2sgYm9v bC4KfCAgIF9Cb29sIHN1Y2Nlc3MgPSBmYWxzZTsKfCAKfCAgIC8vIENoZWNrIHJlc3RyaWN0Lgp8 ICAgaWYgKHRlc3RfcmVzdHJpY3QgKCJTdHJpbmcgbGl0ZXJhbCIpID09IDApCnwgICAgIHN1Y2Nl c3MgPSB0cnVlOwp8ICAgY2hhciAqcmVzdHJpY3QgbmV3dmFyID0gIkFub3RoZXIgc3RyaW5nIjsK fCAKfCAgIC8vIENoZWNrIHZhcmFyZ3MuCnwgICB0ZXN0X3ZhcmFyZ3MgKCJzLCBkJyBmIC4iLCAi c3RyaW5nIiwgNjUsIDM0LjIzNCk7CnwgICB0ZXN0X3ZhcmFyZ3NfbWFjcm9zICgpOwp8IAp8ICAg Ly8gQ2hlY2sgZmxleGlibGUgYXJyYXkgbWVtYmVycy4KfCAgIHN0cnVjdCBpbmNvbXBsZXRlX2Fy cmF5ICppYSA9CnwgICAgIG1hbGxvYyAoc2l6ZW9mIChzdHJ1Y3QgaW5jb21wbGV0ZV9hcnJheSkg KyAoc2l6ZW9mIChkb3VibGUpICogMTApKTsKfCAgIGlhLT5kYXRhc2l6ZSA9IDEwOwp8ICAgZm9y IChpbnQgaSA9IDA7IGkgPCBpYS0+ZGF0YXNpemU7ICsraSkKfCAgICAgaWEtPmRhdGFbaV0gPSBp ICogMS4yMzQ7CnwgCnwgICAvLyBDaGVjayBuYW1lZCBpbml0aWFsaXplcnMuCnwgICBzdHJ1Y3Qg bmFtZWRfaW5pdCBuaSA9IHsKfCAgICAgLm51bWJlciA9IDM0LAp8ICAgICAubmFtZSA9IEwiVGVz dCB3aWRlIHN0cmluZyIsCnwgICAgIC5hdmVyYWdlID0gNTQzLjM0MzQzLAp8ICAgfTsKfCAKfCAg IG5pLm51bWJlciA9IDU4Owp8IAp8ICAgaW50IGR5bmFtaWNfYXJyYXlbbmkubnVtYmVyXTsKfCAg IGR5bmFtaWNfYXJyYXlbbmkubnVtYmVyIC0gMV0gPSA1NDM7CnwgCnwgICAvLyB3b3JrIGFyb3Vu ZCB1bnVzZWQgdmFyaWFibGUgd2FybmluZ3MKfCAgIHJldHVybiAoIXN1Y2Nlc3MgfHwgYmlnbnVt ID09IDBMTCB8fCB1YmlnbnVtID09IDB1TEwgfHwgbmV3dmFyWzBdID09ICd4Jwp8IAkgIHx8IGR5 bmFtaWNfYXJyYXlbbmkubnVtYmVyIC0gMV0gIT0gNTQzKTsKfCAKfCAgIDsKfCAgIHJldHVybiAw Owp8IH0KY29uZmlndXJlOjY4NTk6IGdjYyAtc3RkPWdudTk5IC1jIC1nIC1PMiAgY29uZnRlc3Qu YyA+JjUKY29uZmlndXJlOjY4NTk6ICQ/ID0gMApjb25maWd1cmU6Njg3OTogcmVzdWx0OiAtc3Rk PWdudTk5CmNvbmZpZ3VyZTo2OTgwOiBjaGVja2luZyBmb3IgZ2NjIC1zdGQ9Z251OTkgb3B0aW9u IHRvIGFjY2VwdCBJU08gU3RhbmRhcmQgQwpjb25maWd1cmU6Njk5NDogcmVzdWx0OiAtc3RkPWdu dTk5CmNvbmZpZ3VyZTo3MDk2OiBjaGVja2luZyB3aGV0aGVyIGdjYyAtc3RkPWdudTk5IGFjY2Vw dHMgLWczIC1PMgpjb25maWd1cmU6NzExMjogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWcz IC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6NzExMjogJD8gPSAwCmNvbmZpZ3VyZTo3 MTIwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6Nzg4OTogY2hlY2tpbmcgd2hldGhlciBsbiAtcyB3 b3Jrcwpjb25maWd1cmU6Nzg5MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjc5MDM6IGNoZWNraW5n IGZvciBpbnN0YWxsLWluZm8KY29uZmlndXJlOjc5MjE6IGZvdW5kIC91c3IvYmluL2luc3RhbGwt aW5mbwpjb25maWd1cmU6NzkzNDogcmVzdWx0OiAvdXNyL2Jpbi9pbnN0YWxsLWluZm8KY29uZmln dXJlOjc5NDQ6IGNoZWNraW5nIGZvciBnemlwCmNvbmZpZ3VyZTo3OTYyOiBmb3VuZCAvdXNyL2Jp bi9nemlwCmNvbmZpZ3VyZTo3OTc0OiByZXN1bHQ6IC91c3IvYmluL2d6aXAKY29uZmlndXJlOjgw NTI6IGNoZWNraW5nIGZvciBtYWtlaW5mbwpjb25maWd1cmU6ODA3MDogZm91bmQgL3Vzci9iaW4v bWFrZWluZm8KY29uZmlndXJlOjgwODM6IHJlc3VsdDogL3Vzci9iaW4vbWFrZWluZm8KY29uZmln dXJlOjgxNDI6IGNoZWNraW5nIGZvciAtem5vY29tYnJlbG9jCmNvbmZpZ3VyZTo4MTU1OiBnY2Mg LXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgLVdsLC16bm9jb21icmVsb2MgY29uZnRl c3QuYyAgPiY1CmxkOiB1bmtub3duIG9wdGlvbjogLXpub2NvbWJyZWxvYwpjb2xsZWN0MjogbGQg cmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6ODE1NTogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNz IDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FH RV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQu Mi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NP VVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNF IDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVN X1NPVVJDRSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IGludAp8IG1haW4gKCkKfCB7 CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo4MTYwOiByZXN1bHQ6IG5vCmNv bmZpZ3VyZTo4NDg5OiBjaGVja2luZyBmb3IgcGtnLWNvbmZpZwpjb25maWd1cmU6ODUwNzogZm91 bmQgL3Vzci9sb2NhbC9iaW4vcGtnLWNvbmZpZwpjb25maWd1cmU6ODUyMDogcmVzdWx0OiAvdXNy L2xvY2FsL2Jpbi9wa2ctY29uZmlnCmNvbmZpZ3VyZTo4NTM3OiBjaGVja2luZyBtYWNoaW5lL3Nv dW5kY2FyZC5oIHVzYWJpbGl0eQpjb25maWd1cmU6ODUzNzogZ2NjIC1zdGQ9Z251OTkgLWMgLWcz IC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjYyOjMxOiBlcnJvcjogbWFjaGluZS9z b3VuZGNhcmQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6ODUzNzogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZp bmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwg I2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVm aW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwg I2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFW RV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRl Zi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGli Lmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVm aW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8 bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNs dWRlIDxtYWNoaW5lL3NvdW5kY2FyZC5oPgpjb25maWd1cmU6ODUzNzogcmVzdWx0OiBubwpjb25m aWd1cmU6ODUzNzogY2hlY2tpbmcgbWFjaGluZS9zb3VuZGNhcmQuaCBwcmVzZW5jZQpjb25maWd1 cmU6ODUzNzogZ2NjIC1FICAgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoyOTozMTogZXJyb3I6IG1h Y2hpbmUvc291bmRjYXJkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjg1 Mzc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIK fCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRh cndpbiIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPG1hY2hpbmUvc291bmRj YXJkLmg+CmNvbmZpZ3VyZTo4NTM3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo4NTM3OiBjaGVja2lu ZyBmb3IgbWFjaGluZS9zb3VuZGNhcmQuaApjb25maWd1cmU6ODUzNzogcmVzdWx0OiBubwpjb25m aWd1cmU6ODUzNzogY2hlY2tpbmcgc3lzL3NvdW5kY2FyZC5oIHVzYWJpbGl0eQpjb25maWd1cmU6 ODUzNzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVz dC5jOjYyOjI3OiBlcnJvcjogc3lzL3NvdW5kY2FyZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0 b3J5CmNvbmZpZ3VyZTo4NTM3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0 LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg UEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJ TF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lY X1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5l IFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl IDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlw ZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMv c3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxp Yi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElC X0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVf TUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxz dHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0 cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxp bnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxz dGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5p c3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPHN5cy9zb3VuZGNhcmQuaD4KY29uZmlndXJlOjg1 Mzc6IHJlc3VsdDogbm8KY29uZmlndXJlOjg1Mzc6IGNoZWNraW5nIHN5cy9zb3VuZGNhcmQuaCBw cmVzZW5jZQpjb25maWd1cmU6ODUzNzogZ2NjIC1FICAgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoy OToyNzogZXJyb3I6IHN5cy9zb3VuZGNhcmQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpj b25maWd1cmU6ODUzNzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUw Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tB R0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNF X1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhS RUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAiZGFyd2luIgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lz L3NvdW5kY2FyZC5oPgpjb25maWd1cmU6ODUzNzogcmVzdWx0OiBubwpjb25maWd1cmU6ODUzNzog Y2hlY2tpbmcgZm9yIHN5cy9zb3VuZGNhcmQuaApjb25maWd1cmU6ODUzNzogcmVzdWx0OiBubwpj b25maWd1cmU6ODUzNzogY2hlY2tpbmcgc291bmRjYXJkLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo4 NTM3OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0 LmM6NjI6MjM6IGVycm9yOiBzb3VuZGNhcmQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpj b25maWd1cmU6ODUzNzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUw Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tB R0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNF X1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhS RUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAiZGFyd2luIgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3Rk aW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+ CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQu aD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4K fCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwg IyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU UklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9S WV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5n Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlw ZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50 Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5o Pgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxzb3VuZGNhcmQuaD4KY29uZmlndXJlOjg1Mzc6IHJlc3Vs dDogbm8KY29uZmlndXJlOjg1Mzc6IGNoZWNraW5nIHNvdW5kY2FyZC5oIHByZXNlbmNlCmNvbmZp Z3VyZTo4NTM3OiBnY2MgLUUgICAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjI5OjIzOiBlcnJvcjog c291bmRjYXJkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjg1Mzc6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVm aW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8 ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2Rl ZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8 ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHNvdW5kY2FyZC5oPgpjb25maWd1 cmU6ODUzNzogcmVzdWx0OiBubwpjb25maWd1cmU6ODUzNzogY2hlY2tpbmcgZm9yIHNvdW5kY2Fy ZC5oCmNvbmZpZ3VyZTo4NTM3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo4NTQ4OiBjaGVja2luZyBm b3IgX29zc19pb2N0bCBpbiAtbG9zc2F1ZGlvCmNvbmZpZ3VyZTo4NTczOiBnY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1sb3NzYXVkaW8gICA+JjUgCmxk OiBsaWJyYXJ5IG5vdCBmb3VuZCBmb3IgLWxvc3NhdWRpbwpjb2xsZWN0MjogbGQgcmV0dXJuZWQg MSBleGl0IHN0YXR1cwpjb25maWd1cmU6ODU3MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK fCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAj ZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwg I2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVm aW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAx CnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBl cnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5 cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUg d291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIK fCAjZW5kaWYKfCBjaGFyIF9vc3NfaW9jdGwgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1 cm4gX29zc19pb2N0bCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjg1ODI6 IHJlc3VsdDogbm8KY29uZmlndXJlOjg2MDI6IGNoZWNraW5nIGZvciBhbHNhID49IDEuMC4wCmNv bmZpZ3VyZTo4NjIwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo4NzE5OiBjaGVja2luZyBmb3IgbGlu dXgvdmVyc2lvbi5oCmNvbmZpZ3VyZTo4NzE5OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAg IGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NjM6Mjc6IGVycm9yOiBsaW51eC92ZXJzaW9uLmg6 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjg3MTk6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJl bWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04g IjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FM TF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RB TkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIKfCAvKiBlbmQgY29u ZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVT X0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19T VEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVB REVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxz ZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5k aWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19I RUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8 ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU UklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lO VFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VO SVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8bGlu dXgvdmVyc2lvbi5oPgpjb25maWd1cmU6ODcxOTogcmVzdWx0OiBubwpjb25maWd1cmU6ODcxOTog Y2hlY2tpbmcgZm9yIHN5cy9zeXN0ZW1pbmZvLmgKY29uZmlndXJlOjg3MTk6IGdjYyAtc3RkPWdu dTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo2MzoyODogZXJyb3I6 IHN5cy9zeXN0ZW1pbmZvLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjg3 MTk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIK fCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRh cndpbiIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lm ZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlm CnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRl IDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMg aWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGlu Y2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYK fCAKfCAjaW5jbHVkZSA8c3lzL3N5c3RlbWluZm8uaD4KY29uZmlndXJlOjg3MTk6IHJlc3VsdDog bm8KY29uZmlndXJlOjg3MTk6IGNoZWNraW5nIGZvciBzdGRpb19leHQuaApjb25maWd1cmU6ODcx OTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j OjYzOjIzOiBlcnJvcjogc3RkaW9fZXh0Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29u ZmlndXJlOjg3MTk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FH RV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdF ICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9Q T1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19F WFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9D X1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVB RF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVN X1RZUEUgImRhcndpbiIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlv Lmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8 ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+ CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+Cnwg IyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMg IGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJ TkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllf SAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4K fCAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8c3RkaW9fZXh0Lmg+CmNvbmZpZ3VyZTo4NzE5OiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZTo4NzE5OiBjaGVja2luZyBmb3IgZmNudGwuaApjb25maWd1cmU6ODcx OTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 ODcxOTogJD8gPSAwCmNvbmZpZ3VyZTo4NzE5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODcxOTog Y2hlY2tpbmcgZm9yIGNvZmYuaApjb25maWd1cmU6ODcxOTogZ2NjIC1zdGQ9Z251OTkgLWMgLWcz IC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjY0OjE4OiBlcnJvcjogY29mZi5oOiBO byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo4NzE5OiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1h Y3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIy NC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExf U09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VS Q0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5E RU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZF X0ZDTlRMX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4K fCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGlu Y2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5j bHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19I CnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwg IyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNl bmRpZgp8IAp8ICNpbmNsdWRlIDxjb2ZmLmg+CmNvbmZpZ3VyZTo4NzE5OiByZXN1bHQ6IG5vCmNv bmZpZ3VyZTo4NzE5OiBjaGVja2luZyBmb3IgcHR5LmgKY29uZmlndXJlOjg3MTk6IGdjYyAtc3Rk PWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo2NDoxNzogZXJy b3I6IHB0eS5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo4NzE5OiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmlu ZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAj ZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZp bmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAj ZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwg I2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVk ZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5 cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lz L3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJ Ql9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZF X01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8 c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxz dHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8 aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8 c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVu aXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDxwdHkuaD4KY29uZmlndXJlOjg3MTk6IHJl c3VsdDogbm8KY29uZmlndXJlOjg3MTk6IGNoZWNraW5nIGZvciBzeXMvdmxpbWl0LmgKY29uZmln dXJlOjg3MTk6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29u ZnRlc3QuYzo2NDoyNDogZXJyb3I6IHN5cy92bGltaXQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVj dG9yeQpjb25maWd1cmU6ODcxOTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy NC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5l IFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1B SUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBf REFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJ WF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmlu ZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZ UEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZ U19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENf SEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAj ZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMg ZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1RE Q19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5o Pgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8 c3lzL3ZsaW1pdC5oPgpjb25maWd1cmU6ODcxOTogcmVzdWx0OiBubwpjb25maWd1cmU6ODcxOTog Y2hlY2tpbmcgZm9yIHN5cy9yZXNvdXJjZS5oCmNvbmZpZ3VyZTo4NzE5OiBnY2MgLXN0ZD1nbnU5 OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4NzE5OiAkPyA9IDAKY29u ZmlndXJlOjg3MTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4NzE5OiBjaGVja2luZyBmb3Igc3lz L3V0c25hbWUuaApjb25maWd1cmU6ODcxOTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBj b25mdGVzdC5jID4mNQpjb25maWd1cmU6ODcxOTogJD8gPSAwCmNvbmZpZ3VyZTo4NzE5OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6ODcxOTogY2hlY2tpbmcgZm9yIHB3ZC5oCmNvbmZpZ3VyZTo4NzE5 OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4 NzE5OiAkPyA9IDAKY29uZmlndXJlOjg3MTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4NzE5OiBj aGVja2luZyBmb3IgdXRtcC5oCmNvbmZpZ3VyZTo4NzE5OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMg LU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4NzE5OiAkPyA9IDAKY29uZmlndXJlOjg3 MTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4NzE5OiBjaGVja2luZyBmb3IgZGlyZW50LmgKY29u ZmlndXJlOjg3MTk6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjg3MTk6ICQ/ID0gMApjb25maWd1cmU6ODcxOTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjg3MTk6IGNoZWNraW5nIGZvciB1dGlsLmgKY29uZmlndXJlOjg3MTk6IGdjYyAtc3RkPWdu dTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjg3MTk6ICQ/ID0gMApj b25maWd1cmU6ODcxOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjg3MTk6IGNoZWNraW5nIGZvciBz eXMvc29ja2V0LmgKY29uZmlndXJlOjg3MTk6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjg3MTk6ICQ/ID0gMApjb25maWd1cmU6ODcxOTogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjg3MTk6IGNoZWNraW5nIGZvciBzdGRsaWIuaApjb25maWd1cmU6 ODcxOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjg3MTk6IGNoZWNraW5nIGZvciB1bmlzdGQuaApj b25maWd1cmU6ODcxOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjg3MTk6IGNoZWNraW5nIGZvciBz eXMvcGFyYW0uaApjb25maWd1cmU6ODcxOTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBj b25mdGVzdC5jID4mNQpjb25maWd1cmU6ODcxOTogJD8gPSAwCmNvbmZpZ3VyZTo4NzE5OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6ODcxOTogY2hlY2tpbmcgZm9yIHB0aHJlYWQuaApjb25maWd1cmU6 ODcxOTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6ODcxOTogJD8gPSAwCmNvbmZpZ3VyZTo4NzE5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODcx OTogY2hlY2tpbmcgZm9yIG1hbGxvYy9tYWxsb2MuaApjb25maWd1cmU6ODcxOTogZ2NjIC1zdGQ9 Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6ODcxOTogJD8gPSAw CmNvbmZpZ3VyZTo4NzE5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODcxOTogY2hlY2tpbmcgZm9y IG1haWxsb2NrLmgKY29uZmlndXJlOjg3MTk6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAg Y29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3NjoyMjogZXJyb3I6IG1haWxsb2NrLmg6IE5vIHN1 Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjg3MTk6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAy NC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjIu NTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VS Q0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAx CnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9T T1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIKfCAjZGVmaW5lIEhBVkVfRkNO VExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9I IDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZp bmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9T WVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYg U1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5o Pgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+ CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5l ZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVt b3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNs dWRlIDxtYWlsbG9jay5oPgpjb25maWd1cmU6ODcxOTogcmVzdWx0OiBubwpjb25maWd1cmU6ODcx OTogY2hlY2tpbmcgZm9yIHN5cy91bi5oCmNvbmZpZ3VyZTo4NzE5OiBnY2MgLXN0ZD1nbnU5OSAt YyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4NzE5OiAkPyA9IDAKY29uZmln dXJlOjg3MTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4NzE5OiBjaGVja2luZyBmb3IgZXhlY2lu Zm8uaApjb25maWd1cmU6ODcxOTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVz dC5jID4mNQpjb25maWd1cmU6ODcxOTogJD8gPSAwCmNvbmZpZ3VyZTo4NzE5OiByZXN1bHQ6IHll cwpjb25maWd1cmU6ODcxOTogY2hlY2tpbmcgZm9yIGdldG9wdC5oCmNvbmZpZ3VyZTo4NzE5OiBn Y2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4NzE5 OiAkPyA9IDAKY29uZmlndXJlOjg3MTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4NzE5OiBjaGVj a2luZyBmb3Igc3lzL3RpbWUuaApjb25maWd1cmU6ODcxOTogZ2NjIC1zdGQ9Z251OTkgLWMgLWcz IC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6ODcxOTogJD8gPSAwCmNvbmZpZ3VyZTo4 NzE5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODcxOTogY2hlY2tpbmcgZm9yIHdjaGFyLmgKY29u ZmlndXJlOjg3MTk6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjg3MTk6ICQ/ID0gMApjb25maWd1cmU6ODcxOTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjg3MTk6IGNoZWNraW5nIGZvciBzdGRpbnQuaApjb25maWd1cmU6ODcxOTogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjg3MTk6IGNoZWNraW5nIGZvciBpbnR0eXBlcy5oCmNvbmZpZ3VyZTo4NzE5 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODcxOTogY2hlY2tpbmcgZm9yIHN5cy9zZWxlY3QuaApj b25maWd1cmU6ODcxOTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4m NQpjb25maWd1cmU6ODcxOTogJD8gPSAwCmNvbmZpZ3VyZTo4NzE5OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6ODcxOTogY2hlY2tpbmcgZm9yIHN5cy9zdGF0LmgKY29uZmlndXJlOjg3MTk6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZTo4NzE5OiBjaGVja2luZyBmb3IgdXRpbWUuaApjb25maWd1cmU6ODcx OTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 ODcxOTogJD8gPSAwCmNvbmZpZ3VyZTo4NzE5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODc1ODog Y2hlY2tpbmcgaWYgcGVyc29uYWxpdHkgTElOVVgzMiBjYW4gYmUgc2V0CmNvbmZpZ3VyZTo4Nzcx OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6 NTI6Mjk6IGVycm9yOiBzeXMvcGVyc29uYWxpdHkuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y eQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6NTY6IHdhcm5pbmc6 IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdwZXJzb25hbGl0eScKY29uZnRlc3Qu Yzo1NjogZXJyb3I6ICdQRVJfTElOVVgzMicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pCmNvbmZ0ZXN0LmM6NTY6IGVycm9yOiAoRWFjaCB1bmRlY2xhcmVkIGlkZW50aWZp ZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlCmNvbmZ0ZXN0LmM6NTY6IGVycm9yOiBmb3IgZWFjaCBm dW5jdGlvbiBpdCBhcHBlYXJzIGluLikKY29uZmlndXJlOjg3NzE6ICQ/ID0gMQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFj cyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tB R0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0 LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9T T1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJD RSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRF TV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIKfCAjZGVmaW5lIEhBVkVf RkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRN UF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElMX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3BlcnNvbmFsaXR5Lmg+CnwgaW50CnwgbWFpbiAoKQp8 IHsKfCBwZXJzb25hbGl0eSAoUEVSX0xJTlVYMzIpCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNv bmZpZ3VyZTo4Nzc3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo4Nzg4OiBjaGVja2luZyBmb3IgdGVy bS5oCmNvbmZpZ3VyZTo4Nzg4OiBnY2MgLUUgICAgY29uZnRlc3QuYwpjb25maWd1cmU6ODc4ODog JD8gPSAwCmNvbmZpZ3VyZTo4Nzg4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODc5ODogY2hlY2tp bmcgd2hldGhlciB0aW1lLmggYW5kIHN5cy90aW1lLmggbWF5IGJvdGggYmUgaW5jbHVkZWQKY29u ZmlndXJlOjg4MTg6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjg4MTg6ICQ/ID0gMApjb25maWd1cmU6ODgyNTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjg4MzM6IGNoZWNraW5nIHdoZXRoZXIgc3lzX3NpZ2xpc3QgaXMgZGVjbGFyZWQKY29uZmln dXJlOjg4MzM6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29u ZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjk0OiBlcnJvcjogJ3N5c19z aWdsaXN0JyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKY29uZnRlc3Qu Yzo5NDogZXJyb3I6IChFYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5 IG9uY2UKY29uZnRlc3QuYzo5NDogZXJyb3I6IGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMg aW4uKQpjb25maWd1cmU6ODgzMzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy NC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5l IFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1B SUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBf REFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJ WF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmlu ZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFW RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURf SCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19V Tl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBU SU1FX1dJVEhfU1lTX1RJTUUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8 c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0 YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIu aD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9I CnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01F TU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3Ry aW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJp bmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50 dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3Rk aW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0 ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7CnwgI2lmbmRlZiBzeXNfc2lnbGlzdAp8 ICNpZmRlZiBfX2NwbHVzcGx1cwp8ICAgKHZvaWQpIHN5c19zaWdsaXN0Owp8ICNlbHNlCnwgICAo dm9pZCkgc3lzX3NpZ2xpc3Q7CnwgI2VuZGlmCnwgI2VuZGlmCnwgCnwgICA7CnwgICByZXR1cm4g MDsKfCB9CmNvbmZpZ3VyZTo4ODMzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo4ODQ2OiBjaGVja2lu ZyB3aGV0aGVyIF9fc3lzX3NpZ2xpc3QgaXMgZGVjbGFyZWQKY29uZmlndXJlOjg4NDY6IGdjYyAt c3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVu Y3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjk1OiBlcnJvcjogJ19fc3lzX3NpZ2xpc3QnIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQpjb25mdGVzdC5jOjk1OiBlcnJvcjog KEVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZQpjb25mdGVz dC5jOjk1OiBlcnJvcjogZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbi4pCmNvbmZpZ3Vy ZTo4ODQ2OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1h Y3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5T SU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VS Q0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VN QU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBF ICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q V0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5l IEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZp bmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9V VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf VElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8 ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRf SAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJT CnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwg IyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8 ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURF UlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBl bmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5H U19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQ RVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJ TlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1RE X0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7Cnwg I2lmbmRlZiBfX3N5c19zaWdsaXN0CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgICAodm9pZCkgX19z eXNfc2lnbGlzdDsKfCAjZWxzZQp8ICAgKHZvaWQpIF9fc3lzX3NpZ2xpc3Q7CnwgI2VuZGlmCnwg I2VuZGlmCnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo4ODQ2OiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZTo4ODYzOiBjaGVja2luZyBmb3Igc3lzL3dhaXQuaCB0aGF0IGlzIFBPU0lY LjEgY29tcGF0aWJsZQpjb25maWd1cmU6ODg4OTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAg ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6ODg4OTogJD8gPSAwCmNvbmZpZ3VyZTo4ODk2OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6ODkwNTogY2hlY2tpbmcgZm9yIHNwZWVkX3QKY29uZmlndXJl Ojg5MjE6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjg5MjE6ICQ/ID0gMApjb25maWd1cmU6ODkyODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjg5 NDE6IGNoZWNraW5nIGZvciBuZXQvaWYuaApjb25maWd1cmU6ODk0MTogZ2NjIC1zdGQ9Z251OTkg LWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6ODk0MTogJD8gPSAwCmNvbmZp Z3VyZTo4OTQxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODk1NzogY2hlY2tpbmcgZm9yIGlmYWRk cnMuaApjb25maWd1cmU6ODk1NzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVz dC5jID4mNQpjb25maWd1cmU6ODk1NzogJD8gPSAwCmNvbmZpZ3VyZTo4OTU3OiByZXN1bHQ6IHll cwpjb25maWd1cmU6ODk3MzogY2hlY2tpbmcgZm9yIG5ldC9pZl9kbC5oCmNvbmZpZ3VyZTo4OTcz OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4 OTczOiAkPyA9IDAKY29uZmlndXJlOjg5NzM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4OTg4OiBj aGVja2luZyBmb3Igc3RydWN0IGlmcmVxLmlmcl9mbGFncwpjb25maWd1cmU6ODk4ODogZ2NjIC1z dGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6ODk4ODogJD8g PSAwCmNvbmZpZ3VyZTo4OTg4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTAwNDogY2hlY2tpbmcg Zm9yIHN0cnVjdCBpZnJlcS5pZnJfaHdhZGRyCmNvbmZpZ3VyZTo5MDA0OiBnY2MgLXN0ZD1nbnU5 OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdt YWluJzoKY29uZnRlc3QuYzoxMDY6IGVycm9yOiAnc3RydWN0IGlmcmVxJyBoYXMgbm8gbWVtYmVy IG5hbWVkICdpZnJfaHdhZGRyJwpjb25maWd1cmU6OTAwNDogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0 LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41 MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJD RSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEK fCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NP VVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05U TF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0gg MQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmlu ZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1f SCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZ U19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5l IEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFW RV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05F VF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZ U19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBT VERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+ CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4K fCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVk IFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1v cnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVf U1lTX1NPQ0tFVF9ICnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCAjZW5kaWYKfCAjaWYgSEFW RV9ORVRfSUZfSAp8ICNpbmNsdWRlIDxuZXQvaWYuaD4KfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWlu ICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3QgaWZyZXEgYWNfYWdncjsKfCBpZiAoYWNfYWdnci5pZnJf aHdhZGRyKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6OTAw NDogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j OiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTA2OiBlcnJvcjogJ3N0cnVjdCBpZnJl cScgaGFzIG5vIG1lbWJlciBuYW1lZCAnaWZyX2h3YWRkcicKY29uZmlndXJlOjkwMDQ6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5l IFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNk ZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmlu ZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNk ZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIKfCAj ZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BB UkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0Nf TUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJ TkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lH TElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9U IDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8 ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfRkxBR1MgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4K fCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGlu Y2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5j bHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19I CnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwg IyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNl bmRpZgp8ICNpZiBIQVZFX1NZU19TT0NLRVRfSAp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+Cnwg I2VuZGlmCnwgI2lmIEhBVkVfTkVUX0lGX0gKfCAjaW5jbHVkZSA8bmV0L2lmLmg+CnwgI2VuZGlm CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IGlmcmVxIGFjX2FnZ3I7Cnwg aWYgKHNpemVvZiBhY19hZ2dyLmlmcl9od2FkZHIpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZTo5MDA0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5MDIwOiBjaGVj a2luZyBmb3Igc3RydWN0IGlmcmVxLmlmcl9uZXRtYXNrCmNvbmZpZ3VyZTo5MDIwOiBnY2MgLXN0 ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0 aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMDY6IGVycm9yOiAnc3RydWN0IGlmcmVxJyBoYXMgbm8g bWVtYmVyIG5hbWVkICdpZnJfbmV0bWFzaycKY29uZmlndXJlOjkwMjA6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJl bWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04g IjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FM TF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RB TkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIKfCAjZGVmaW5lIEhB VkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElMX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfTUFMTE9DX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8 ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwg I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVm aW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUg SEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1Mg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYg SEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAj aWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0 ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3Rk bGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAh ZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVk ZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNp ZiBIQVZFX1NZU19TT0NLRVRfSAp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgI2VuZGlmCnwg I2lmIEhBVkVfTkVUX0lGX0gKfCAjaW5jbHVkZSA8bmV0L2lmLmg+CnwgI2VuZGlmCnwgCnwgaW50 CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IGlmcmVxIGFjX2FnZ3I7CnwgaWYgKGFjX2Fn Z3IuaWZyX25ldG1hc2spCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp Z3VyZTo5MDIwOiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNv bmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMDY6IGVycm9yOiAnc3Ry dWN0IGlmcmVxJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdpZnJfbmV0bWFzaycKY29uZmlndXJlOjkw MjA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIK fCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRh cndpbiIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJD RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFW RV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBI QVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NF TEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1F IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf X19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFE RFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfRkxBR1MgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8 c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0 YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIu aD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9I CnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01F TU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3Ry aW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJp bmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50 dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3Rk aW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0 ZC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NZU19TT0NLRVRfSAp8ICNpbmNsdWRlIDxzeXMvc29j a2V0Lmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfTkVUX0lGX0gKfCAjaW5jbHVkZSA8bmV0L2lmLmg+ CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IGlmcmVxIGFj X2FnZ3I7CnwgaWYgKHNpemVvZiBhY19hZ2dyLmlmcl9uZXRtYXNrKQp8IHJldHVybiAwOwp8ICAg Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6OTAyMDogcmVzdWx0OiBubwpjb25maWd1cmU6 OTAzNjogY2hlY2tpbmcgZm9yIHN0cnVjdCBpZnJlcS5pZnJfYnJvYWRhZGRyCmNvbmZpZ3VyZTo5 MDM2OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0 LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMDY6IGVycm9yOiB1c2VkIHN0cnVj dCB0eXBlIHZhbHVlIHdoZXJlIHNjYWxhciBpcyByZXF1aXJlZApjb25maWd1cmU6OTAzNjogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZp bmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwg I2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVm aW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwg I2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8 ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExP Q19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhF Q0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19T SUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVE X1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAx CnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9GTEFHUyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5o Pgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8 ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMg aW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBp bmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5H X0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gK fCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+Cnwg I2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9ICnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4K fCAjZW5kaWYKfCAjaWYgSEFWRV9ORVRfSUZfSAp8ICNpbmNsdWRlIDxuZXQvaWYuaD4KfCAjZW5k aWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3QgaWZyZXEgYWNfYWdncjsK fCBpZiAoYWNfYWdnci5pZnJfYnJvYWRhZGRyKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJu IDA7CnwgfQpjb25maWd1cmU6OTAzNjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25m dGVzdC5jID4mNQpjb25maWd1cmU6OTAzNjogJD8gPSAwCmNvbmZpZ3VyZTo5MDM2OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6OTA1MjogY2hlY2tpbmcgZm9yIHN0cnVjdCBpZnJlcS5pZnJfYWRkcgpj b25maWd1cmU6OTA1MjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4m NQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTA3OiBlcnJvcjog dXNlZCBzdHJ1Y3QgdHlwZSB2YWx1ZSB3aGVyZSBzY2FsYXIgaXMgcmVxdWlyZWQKY29uZmlndXJl OjkwNTI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFj cyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJ T05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJD RSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1B TlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUg ImRhcndpbiIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUg SEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmlu ZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VU SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19U SU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9J RkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JS T0FEQUREUiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8 ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNl bmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5j bHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNs dWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gK fCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAj ICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8 ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2Vu ZGlmCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9ICnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCAj ZW5kaWYKfCAjaWYgSEFWRV9ORVRfSUZfSAp8ICNpbmNsdWRlIDxuZXQvaWYuaD4KfCAjZW5kaWYK fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3QgaWZyZXEgYWNfYWdncjsKfCBp ZiAoYWNfYWdnci5pZnJfYWRkcikKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0K Y29uZmlndXJlOjkwNTI6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjkwNTI6ICQ/ID0gMApjb25maWd1cmU6OTA1MjogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjkwNjg6IGNoZWNraW5nIGZvciBzdHJ1Y3QgaWZyZXEuaWZyX2FkZHIuc2FfbGVuCmNv bmZpZ3VyZTo5MDY4OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZpZ3VyZTo5MDY4OiAkPyA9IDAKY29uZmlndXJlOjkwNjg6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZTo5MDkyOiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyBHTlUgTWFrZQpjb25maWd1 cmU6OTEwMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjkxMDQ6IGNoZWNraW5nIHdoZXRoZXIgZ2Nj IHVuZGVyc3RhbmRzIC1NTUQgLU1GCmNvbmZpZ3VyZTo5MTE5OiBnY2MgLXN0ZD1nbnU5OSAtYyAt ZzMgLU8yIC1NTUQgLU1GIGRlcHMuZCAtTVAgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjkx MTk6ICQ/ID0gMApjb25maWd1cmU6OTEyODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjkxNDg6IGNo ZWNraW5nIGZvciBsb25nIGZpbGUgbmFtZXMKY29uZmlndXJlOjkxODA6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTo5MTk3OiBjaGVja2luZyBmb3IgWApjb25maWd1cmU6OTMwNTogZ2NjIC1FICAgIGNv bmZ0ZXN0LmMKY29uZnRlc3QuYzo2NjoyMjogZXJyb3I6IFgxMS9YbGliLmg6IE5vIHN1Y2ggZmls ZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjkzMDU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUw Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi CnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwg I2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2Rl ZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0Ug MQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05B TUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAj ZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFW RV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9X Q0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8 ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lH TElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZF X1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVU X0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZf RExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9M RU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8WDExL1hsaWIuaD4KY29uZmlndXJlOjkzMzY6IGdjYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxYMTEgID4mNSAKY29uZnRl c3QuYzo2NjoyMjogZXJyb3I6IFgxMS9YbGliLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkK Y29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjcwOiB3YXJuaW5nOiBp bXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnWHJtSW5pdGlhbGl6ZScKY29uZmlndXJl OjkzMzY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFj cyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJ T05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJD RSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1B TlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUg ImRhcndpbiIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUg SEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmlu ZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VU SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19U SU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9J RkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JS T0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05H X0ZJTEVfTkFNRVMgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8WDExL1hs aWIuaD4KfCBpbnQKfCBtYWluICgpCnwgewp8IFhybUluaXRpYWxpemUgKCkKfCAgIDsKfCAgIHJl dHVybiAwOwp8IH0KY29uZmlndXJlOjkzODY6IHJlc3VsdDogbGlicmFyaWVzIC91c3IvWDExL2xp YiwgaGVhZGVycyAvdXNyL1gxMS9pbmNsdWRlCmNvbmZpZ3VyZTo5NTIwOiBjaGVja2luZyBBcHBL aXQvQXBwS2l0LmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo5NTIwOiBnY2MgLXN0ZD1nbnU5OSAtYyAt ZzMgLU8yIC14IG9iamVjdGl2ZS1jICAgICAteCBvYmplY3RpdmUtYyBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6OTUyMDogJD8gPSAwCmNvbmZpZ3VyZTo5NTIwOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6OTUyMDogY2hlY2tpbmcgQXBwS2l0L0FwcEtpdC5oIHByZXNlbmNlCmNvbmZpZ3VyZTo5NTIw OiBnY2MgLUUgICAgLXggb2JqZWN0aXZlLWMgY29uZnRlc3QuYwpjb25maWd1cmU6OTUyMDogJD8g PSAwCmNvbmZpZ3VyZTo5NTIwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTUyMDogY2hlY2tpbmcg Zm9yIEFwcEtpdC9BcHBLaXQuaApjb25maWd1cmU6OTUyMDogcmVzdWx0OiB5ZXMKY29uZmlndXJl Ojk1NDA6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgLXggb2JqZWN0aXZlLWMgICAgIC14IG9i amVjdGl2ZS1jIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NTQwOiAkPyA9IDAKY29uZmlndXJl Ojk2OTQ6IGNoZWNraW5nIHdoZXRoZXIgbWFsbG9jIGlzIERvdWcgTGVhIHN0eWxlCmNvbmZpZ3Vy ZTo5NzEzOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5j ICA+JjUgCmNvbmZ0ZXN0LmM6Njg6MjA6IGVycm9yOiBtYWxsb2MuaDogTm8gc3VjaCBmaWxlIG9y IGRpcmVjdG9yeQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6NzM6 IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdtYWxsb2Nfc2V0X3N0 YXRlJwpjb25mdGVzdC5jOjczOiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5j dGlvbiAnbWFsbG9jX2dldF9zdGF0ZScKY29uZnRlc3QuYzo3NDogZXJyb3I6ICdfX2FmdGVyX21v cmVjb3JlX2hvb2snIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQpjb25m dGVzdC5jOjc0OiBlcnJvcjogKEVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVk IG9ubHkgb25jZQpjb25mdGVzdC5jOjc0OiBlcnJvcjogZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBw ZWFycyBpbi4pCmNvbmZ0ZXN0LmM6NzU6IGVycm9yOiAnX19tYWxsb2NfaW5pdGlhbGl6ZV9ob29r JyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKY29uZmlndXJlOjk3MTM6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg IiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAj ZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZp bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18g MQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwg I2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1Mg MQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndp biIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9N QUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZF X0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVD VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19T WVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9T UEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJT X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQURE UiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVf TkFNRVMgMQp8ICNkZWZpbmUgTlNfSEFWRV9OU0lOVEVHRVIgMQp8ICNkZWZpbmUgVEVSTV9IRUFE RVIgIm5zdGVybS5oIgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8bWFsbG9j Lmg+CnwgCSAgc3RhdGljIHZvaWQgaG9vayAodm9pZCkge30KfCBpbnQKfCBtYWluICgpCnwgewp8 IG1hbGxvY19zZXRfc3RhdGUgKG1hbGxvY19nZXRfc3RhdGUgKCkpOwp8IAkgIF9fYWZ0ZXJfbW9y ZWNvcmVfaG9vayA9IGhvb2s7CnwgCSAgX19tYWxsb2NfaW5pdGlhbGl6ZV9ob29rID0gaG9vazsK fCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjk3MjE6IHJlc3VsdDogbm8KY29uZmln dXJlOjk3ODQ6IGNoZWNraW5nIGZvciBnZXRwYWdlc2l6ZQpjb25maWd1cmU6OTc4NDogZ2NjIC1z dGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgY29uZnRlc3QuYyAgPiY1IApjb25maWd1 cmU6OTc4NDogJD8gPSAwCmNvbmZpZ3VyZTo5Nzg0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTc5 MzogY2hlY2tpbmcgZm9yIHdvcmtpbmcgbW1hcApjb25maWd1cmU6OTk0MDogZ2NjIC1zdGQ9Z251 OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgY29uZnRlc3QuYyAgPiY1IApjb25maWd1cmU6OTk0 MDogJD8gPSAwCmNvbmZpZ3VyZTo5OTQwOiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZTo5OTQwOiAkPyA9 IDAKY29uZmlndXJlOjk5NTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5OTY4OiBjaGVja2luZyBm b3IgZG5ldF9udG9hIGluIC1sZG5ldApjb25maWd1cmU6OTk5MzogZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgLWczIC1PMiAgICAgY29uZnRlc3QuYyAtbGRuZXQgICAgPiY1IApsZDogbGlicmFy eSBub3QgZm91bmQgZm9yIC1sZG5ldApjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1 cwpjb25maWd1cmU6OTk5MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8 IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4y LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBB Q0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxf VVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFS V0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9Q VEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBT WVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVm aW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9E SVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL RVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAx CnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9I IDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1F X1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAx CnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2Rl ZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERS IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmlu ZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwg I2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90 b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQg bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1 c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBkbmV0X250b2EgKCk7CnwgaW50Cnwg bWFpbiAoKQp8IHsKfCByZXR1cm4gZG5ldF9udG9hICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6MTAwMDI6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwMDE0OiBjaGVja2luZyBm b3IgbWFpbiBpbiAtbFhic2QKY29uZmlndXJlOjEwMDMzOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1sWGJzZCAgICA+JjUgCmxkOiBsaWJyYXJ5IG5v dCBmb3VuZCBmb3IgLWxYYnNkCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNv bmZpZ3VyZToxMDAzMzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUw Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tB R0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNF X1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhS RUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5l IEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJF TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwg I2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEK fCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJ VEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwg I2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmlu ZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBI QVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2Rl ZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gbWFpbiAo KTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEwMDQyOiByZXN1bHQ6IG5vCmNv bmZpZ3VyZToxMDA2MDogY2hlY2tpbmcgZm9yIHB0aHJlYWRfc2VsZiBpbiAtbHB0aHJlYWQKY29u ZmlndXJlOjEwMDg1OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25m dGVzdC5jIC1scHRocmVhZCAgICA+JjUgCmNvbmZpZ3VyZToxMDA4NTogJD8gPSAwCmNvbmZpZ3Vy ZToxMDA5NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwMTE0OiBjaGVja2luZyBmb3IgY21hX29w ZW4gaW4gLWxwdGhyZWFkcwpjb25maWd1cmU6MTAxMzk6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0 ZXN0IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkcyAgLWxwdGhyZWFkICAgPiY1IAps ZDogbGlicmFyeSBub3QgZm91bmQgZm9yIC1scHRocmVhZHMKY29sbGVjdDI6IGxkIHJldHVybmVk IDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjEwMTM5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41 MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAi Igp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8 ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEK fCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNF IDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNO QU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwg I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhB VkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf V0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEK fCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJ R0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFW RV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05F VF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lG X0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0Ff TEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVf TlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZ U1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZF X01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4g ZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0 eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBl IHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMi CnwgI2VuZGlmCnwgY2hhciBjbWFfb3BlbiAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVy biBjbWFfb3BlbiAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEwMTQ4OiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMDQxNzogY2hlY2tpbmcgZm9yIGxpYnJzdmctMi4wID49IDIu MTEuMApjb25maWd1cmU6MTA0MzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwODA4OiBjaGVja2lu ZyBmb3IgZGJ1cy0xID49IDEuMApjb25maWd1cmU6MTA4MjY6IHJlc3VsdDogbm8KY29uZmlndXJl OjExMDgzOiBjaGVja2luZyBmb3IgbGdldGZpbGVjb24gaW4gLWxzZWxpbnV4CmNvbmZpZ3VyZTox MTEwODogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgY29uZnRlc3QuYyAt bHNlbGludXggIC1scHRocmVhZCAgID4mNSAKbGQ6IGxpYnJhcnkgbm90IGZvdW5kIGZvciAtbHNl bGludXgKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjExMTA4 OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwg I2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3 aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAx CnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVf TUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFW RV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxF Q1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19f U1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERS U19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxF X05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVB REVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRl cm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBp bnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQg dGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZk ZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBsZ2V0ZmlsZWNvbiAo KTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBsZ2V0ZmlsZWNvbiAoKTsKfCAgIDsKfCAg IHJldHVybiAwOwp8IH0KY29uZmlndXJlOjExMTE3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMTE0 NTogY2hlY2tpbmcgZm9yIGdudXRscyA+PSAyLjYuNgpjb25maWd1cmU6MTExNjM6IHJlc3VsdDog bm8KY29uZmlndXJlOjExMTk4OiBjaGVja2luZyBmb3IgZ251dGxzX2NlcnRpZmljYXRlX3NldF92 ZXJpZnlfZnVuY3Rpb24KY29uZmlndXJlOjExMTk4OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVz dCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAgLWxwdGhyZWFkICAgPiY1IApVbmRlZmluZWQgc3lt Ym9scyBmb3IgYXJjaGl0ZWN0dXJlIHg4Nl82NDoKICAiX2dudXRsc19jZXJ0aWZpY2F0ZV9zZXRf dmVyaWZ5X2Z1bmN0aW9uIiwgcmVmZXJlbmNlZCBmcm9tOgogICAgICBfbWFpbiBpbiBjYzdJTmJM Si5vCmxkOiBzeW1ib2wocykgbm90IGZvdW5kIGZvciBhcmNoaXRlY3R1cmUgeDg2XzY0CmNvbGxl Y3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMTE5ODogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZp bmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVS U0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hF QURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I IDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmlu ZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9H TlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmlu ZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZp bmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUg SEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VU SUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1f SCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxM T0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9f SCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNU IDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8 ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2Rl ZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9G TEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwg I2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJt LmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUg MQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBnbnV0bHNfY2VydGlmaWNhdGVfc2V0X3Zlcmlm eV9mdW5jdGlvbiB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRl Y2xhcmVzIGdudXRsc19jZXJ0aWZpY2F0ZV9zZXRfdmVyaWZ5X2Z1bmN0aW9uLgp8ICAgIEZvciBl eGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8 ICNkZWZpbmUgZ251dGxzX2NlcnRpZmljYXRlX3NldF92ZXJpZnlfZnVuY3Rpb24gaW5ub2N1b3Vz X2dudXRsc19jZXJ0aWZpY2F0ZV9zZXRfdmVyaWZ5X2Z1bmN0aW9uCnwgCnwgLyogU3lzdGVtIGhl YWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVz LAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGdudXRsc19jZXJ0aWZpY2F0ZV9z ZXRfdmVyaWZ5X2Z1bmN0aW9uICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8g PGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+ IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBf X1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2Vy dC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBnbnV0bHNfY2VydGlmaWNhdGVfc2V0X3ZlcmlmeV9m dW5jdGlvbgp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2 b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSBy ZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0 ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZ251dGxzX2NlcnRpZmljYXRlX3NldF92ZXJpZnlfZnVu Y3Rpb24gKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlv bnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4g IFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRp bmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVm aW5lZCBfX3N0dWJfZ251dGxzX2NlcnRpZmljYXRlX3NldF92ZXJpZnlfZnVuY3Rpb24gfHwgZGVm aW5lZCBfX3N0dWJfX19nbnV0bHNfY2VydGlmaWNhdGVfc2V0X3ZlcmlmeV9mdW5jdGlvbgp8IGNo b2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZ251dGxzX2Nl cnRpZmljYXRlX3NldF92ZXJpZnlfZnVuY3Rpb24gKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9 CmNvbmZpZ3VyZToxMTE5ODogcmVzdWx0OiBubwpjb25maWd1cmU6MTE2OTg6IGdjYyAtc3RkPWdu dTk5IC1jIC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NzQ6MjU6IGVycm9y OiBYMTEvWGxpYi5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZ0ZXN0LmM6NzU6MzA6 IGVycm9yOiBYMTEvWHJlc291cmNlLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZnRl c3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjc5OiBlcnJvcjogJ1hJTVByb2Mn IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQpjb25mdGVzdC5jOjc5OiBl cnJvcjogKEVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZQpj b25mdGVzdC5jOjc5OiBlcnJvcjogZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbi4pCmNv bmZ0ZXN0LmM6Nzk6IGVycm9yOiBleHBlY3RlZCAnOycgYmVmb3JlICdjYWxsYmFjaycKY29uZmln dXJlOjExNjk4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAi ZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9Q IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhU RU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19T T1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURf U0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9U WVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVm aW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNk ZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9T WVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhB VkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVf TE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5l IFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgCnwgCSAgI2luY2x1ZGUgPFgxMS9YbGliLmg+CnwgCSAgI2luY2x1 ZGUgPFgxMS9YcmVzb3VyY2UuaD4KfCBpbnQKfCBtYWluICgpCnwgewp8IFhJTVByb2MgIGNhbGxi YWNrOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTI3MDA6IGNoZWNraW5nIGdw bS5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTI3MDA6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIg ICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MTA3OjE3OiBlcnJvcjogZ3BtLmg6IE5vIHN1 Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjEyNzAwOiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3Mg MjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4y LjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZD TlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBf SCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVm aW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVS TV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZp bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVf TkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FE RFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5T X0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVm aW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09M S0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMg aW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8 ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwg IyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBp ZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMg JiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRp Zgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19I CnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNf SAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRf SAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gK fCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxncG0uaD4KY29uZmln dXJlOjEyNzAwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjcwMDogY2hlY2tpbmcgZ3BtLmggcHJl c2VuY2UKY29uZmlndXJlOjEyNzAwOiBnY2MgLUUgICAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjc0 OjE3OiBlcnJvcjogZ3BtLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjEy NzAwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS TkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3Mi CnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9O U19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0Ug MQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJk YXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VS Q0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhB VkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUg SEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T RUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElN RSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZB RERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9B REFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19G SUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1f SEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFW RV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9Y SU0gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8Z3BtLmg+CmNvbmZpZ3Vy ZToxMjcwMDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI3MDA6IGNoZWNraW5nIGZvciBncG0uaApj b25maWd1cmU6MTI3MDA6IHJlc3VsdDogbm8KY29uZmlndXJlOjEyODYxOiBjaGVja2luZyBmb3Ig bGlieG1sLTIuMCA+IDIuNi4xNwpjb25maWd1cmU6MTI4Nzk6IHJlc3VsdDogbm8KY29uZmlndXJl OjEyOTYyOiBjaGVja2luZyB3aGV0aGVyIG5ldGRiIGRlY2xhcmVzIGhfZXJybm8KY29uZmlndXJl OjEyOTc4OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3Qu YyAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTI5Nzg6ICQ/ID0gMApjb25maWd1cmU6MTI5 ODY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjk5NjogY2hlY2tpbmcgZm9yIHNxcnQgaW4gLWxt CmNvbmZpZ3VyZToxMzAyMTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAg IGNvbmZ0ZXN0LmMgLWxtICAgLWxwdGhyZWFkICAgPiY1IApjb25mdGVzdC5jOjg0OiB3YXJuaW5n OiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gJ3NxcnQnCmNvbmZpZ3Vy ZToxMzAyMTogJD8gPSAwCmNvbmZpZ3VyZToxMzAzMDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEz MDQ0OiBjaGVja2luZyBmb3IgbWFpbGxvY2sgaW4gLWxtYWlsCmNvbmZpZ3VyZToxMzA2OTogZ2Nj IC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtYWlsICAt bG0gIC1scHRocmVhZCAgID4mNSAKbGQ6IGxpYnJhcnkgbm90IGZvdW5kIGZvciAtbG1haWwKY29s bGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjEzMDY5OiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBW RVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENf SEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVm aW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUg X0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVm aW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2Rl ZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJB TV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01B TExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5G T19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJ U1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAx CnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAj ZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEK fCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rl cm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVm aW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZp bmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9F UlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAK fCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv ci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg b2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291 bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAj ZW5kaWYKfCBjaGFyIG1haWxsb2NrICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIG1h aWxsb2NrICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTMwNzg6IHJlc3Vs dDogbm8KY29uZmlndXJlOjEzMDk1OiBjaGVja2luZyBmb3IgbWFpbGxvY2sgaW4gLWxsb2NrZmls ZQpjb25maWd1cmU6MTMxMjA6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAg ICBjb25mdGVzdC5jIC1sbG9ja2ZpbGUgIC1sbSAgLWxwdGhyZWFkICAgPiY1IApsZDogbGlicmFy eSBub3QgZm91bmQgZm9yIC1sbG9ja2ZpbGUKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBz dGF0dXMKY29uZmlndXJlOjEzMTIwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g IjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp bmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUg TUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BP U0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVm aW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBI QVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJ VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEK fCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAj ZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VS IDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxM T0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJT IDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19J TVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0g MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVy bmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGlu dCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0 aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRl ZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIG1haWxsb2NrICgpOwp8 IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIG1haWxsb2NrICgpOwp8ICAgOwp8ICAgcmV0dXJu IDA7CnwgfQpjb25maWd1cmU6MTMxMjk6IHJlc3VsdDogbm8KY29uZmlndXJlOjEzMTQ5OiBjaGVj a2luZyBmb3IgbGlibG9ja2ZpbGUuc28KY29uZmlndXJlOjEzMTc4OiByZXN1bHQ6IG5vCmNvbmZp Z3VyZToxMzI1NzogY2hlY2tpbmcgZm9yIGdldGhvc3RuYW1lCmNvbmZpZ3VyZToxMzI1NzogZ2Nj IC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0 aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1NzogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3IgY2xvc2VkaXIKY29uZmlndXJl OjEzMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3Qu YyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjEzMjU3OiAkPyA9IDAKY29uZmlndXJl OjEzMjU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMyNTc6IGNoZWNraW5nIGZvciBnZXRydXNh Z2UKY29uZmlndXJlOjEzMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAg ICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjEzMjU3OiAkPyA9 IDAKY29uZmlndXJlOjEzMjU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMyNTc6IGNoZWNraW5n IGZvciBnZXRfY3VycmVudF9kaXJfbmFtZQpjb25maWd1cmU6MTMyNTc6IGdjYyAtc3RkPWdudTk5 IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1 IApVbmRlZmluZWQgc3ltYm9scyBmb3IgYXJjaGl0ZWN0dXJlIHg4Nl82NDoKICAiX2dldF9jdXJy ZW50X2Rpcl9uYW1lIiwgcmVmZXJlbmNlZCBmcm9tOgogICAgICBfbWFpbiBpbiBjY1R0eFdTUS5v CmxkOiBzeW1ib2wocykgbm90IGZvdW5kIGZvciBhcmNoaXRlY3R1cmUgeDg2XzY0CmNvbGxlY3Qy OiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg ImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lP TiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBf QUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVf U09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBf VEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUg SEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFW RV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0Nf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAx CnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAK fCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNk ZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmlu ZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFH UyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2Rl ZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgi CnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBV U0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhB VkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8g MQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVm aW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJVU0FHRSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBn ZXRfY3VycmVudF9kaXJfbmFtZSB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGlt aXRzLmg+IGRlY2xhcmVzIGdldF9jdXJyZW50X2Rpcl9uYW1lLgp8ICAgIEZvciBleGFtcGxlLCBI UC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUg Z2V0X2N1cnJlbnRfZGlyX25hbWUgaW5ub2N1b3VzX2dldF9jdXJyZW50X2Rpcl9uYW1lCnwgCnwg LyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZl dyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGdldF9jdXJy ZW50X2Rpcl9uYW1lICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2Vy dC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0 cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENf Xwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8 ICNlbmRpZgp8IAp8ICN1bmRlZiBnZXRfY3VycmVudF9kaXJfbmFtZQp8IAp8IC8qIE92ZXJyaWRl IGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBj aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAg IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBs eS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIg Z2V0X2N1cnJlbnRfZGlyX25hbWUgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0 aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFp bCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBz b21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFz LiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZ2V0X2N1cnJlbnRfZGlyX25hbWUgfHwgZGVmaW5l ZCBfX3N0dWJfX19nZXRfY3VycmVudF9kaXJfbmFtZQp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwg aW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZ2V0X2N1cnJlbnRfZGlyX25hbWUgKCk7CnwgICA7 CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiBubwpjb25maWd1cmU6 MTMyNTc6IGNoZWNraW5nIGZvciBscmFuZDQ4CmNvbmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9Z251 OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+ JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3Igc2V0c2lkCmNvbmZpZ3VyZToxMzI1NzogZ2Nj IC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0 aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1NzogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3IgZnBhdGhjb25mCmNvbmZpZ3Vy ZToxMzI1NzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0 LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3Vy ZToxMzI1NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3Igc2VsZWN0 CmNvbmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAg IGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAw CmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBm b3IgZXVpZGFjY2Vzcwpjb25maWd1cmU6MTMyNTc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApVbmRlZmluZWQg c3ltYm9scyBmb3IgYXJjaGl0ZWN0dXJlIHg4Nl82NDoKICAiX2V1aWRhY2Nlc3MiLCByZWZlcmVu Y2VkIGZyb206CiAgICAgIF9tYWluIGluIGNjUVJaZko2Lm8KbGQ6IHN5bWJvbChzKSBub3QgZm91 bmQgZm9yIGFyY2hpdGVjdHVyZSB4ODZfNjQKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBz dGF0dXMKY29uZmlndXJlOjEzMjU3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g IjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp bmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUg TUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BP U0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVm aW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBI QVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJ VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEK fCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAj ZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VS IDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxM T0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJT IDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19J TVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0g MQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAx CnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAj ZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBI QVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8IC8qIERlZmluZSBldWlkYWNjZXNzIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBp biBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgZXVpZGFjY2Vzcy4KfCAgICBGb3IgZXhhbXBsZSwg SFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5l IGV1aWRhY2Nlc3MgaW5ub2N1b3VzX2V1aWRhY2Nlc3MKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRv IGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAg IHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZXVpZGFjY2VzcyAoKTsgYmVsb3cuCnwgICAg IFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwg c2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGls ZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNl bHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZXVpZGFjY2Vz cwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFu IGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4g dHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlw ZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJD Igp8ICNlbmRpZgp8IGNoYXIgZXVpZGFjY2VzcyAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBk ZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFs d2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVk CnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMg YW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9ldWlkYWNjZXNzIHx8IGRlZmluZWQg X19zdHViX19fZXVpZGFjY2Vzcwp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAo KQp8IHsKfCByZXR1cm4gZXVpZGFjY2VzcyAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u ZmlndXJlOjEzMjU3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzI1NzogY2hlY2tpbmcgZm9yIGdl dHBhZ2VzaXplCmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBj aGVja2luZyBmb3Igc2V0bG9jYWxlCmNvbmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNv bmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjEzMjU3OiBjaGVja2luZyBmb3IgdXRpbWVzCmNvbmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9 Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQg ICA+JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3IgZ2V0cmxpbWl0CmNvbmZpZ3VyZToxMzI1 NzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxt ICAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1 NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3Igc2V0cmxpbWl0CmNv bmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNv bmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNv bmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3Ig c2V0cGdpZApjb25maWd1cmU6MTMyNTc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAt TzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTMyNTc6 ICQ/ID0gMApjb25maWd1cmU6MTMyNTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzI1NzogY2hl Y2tpbmcgZm9yIGdldGN3ZApjb25maWd1cmU6MTMyNTc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0 ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1 cmU6MTMyNTc6ICQ/ID0gMApjb25maWd1cmU6MTMyNTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox MzI1NzogY2hlY2tpbmcgZm9yIHNodXRkb3duCmNvbmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9Z251 OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+ JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3IgZ2V0YWRkcmluZm8KY29uZmlndXJlOjEzMjU3 OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0g IC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjEzMjU3OiAkPyA9IDAKY29uZmlndXJlOjEzMjU3 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMyNTc6IGNoZWNraW5nIGZvciBfX2ZwZW5kaW5nCmNv bmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNv bmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgClVuZGVmaW5lZCBzeW1ib2xzIGZvciBhcmNo aXRlY3R1cmUgeDg2XzY0OgogICJfX19mcGVuZGluZyIsIHJlZmVyZW5jZWQgZnJvbToKICAgICAg X21haW4gaW4gY2NlM3p5c2EubwpsZDogc3ltYm9sKHMpIG5vdCBmb3VuZCBmb3IgYXJjaGl0ZWN0 dXJlIHg4Nl82NApjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6 MTMyNTc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFj cyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJ T05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJD RSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1B TlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUg ImRhcndpbiIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUg SEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmlu ZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VU SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19U SU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9J RkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JS T0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05H X0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgTlNfSEFWRV9OU0lOVEVHRVIgMQp8ICNkZWZpbmUgVEVS TV9IRUFERVIgIm5zdGVybS5oIgp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQUQgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNF X1hJTSAxCnwgI2RlZmluZSBIQVZFX05TIDEKfCAjZGVmaW5lIE5TX0lNUExfQ09DT0EgMQp8ICNk ZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlM X1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVf Q0xPU0VESVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9MUkFO RDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEK fCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUg SEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFW RV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERP V04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq Lwp8IC8qIERlZmluZSBfX2ZwZW5kaW5nIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNl IDxsaW1pdHMuaD4gZGVjbGFyZXMgX19mcGVuZGluZy4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVgg MTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIF9fZnBl bmRpbmcgaW5ub2N1b3VzX19fZnBlbmRpbmcKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmlu ZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNo IGNhbiBjb25mbGljdCB3aXRoIGNoYXIgX19mcGVuZGluZyAoKTsgYmVsb3cuCnwgICAgIFByZWZl ciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UK fCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAg Ki8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwg IyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgX19mcGVuZGluZwp8IAp8 IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9y Lgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv ZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3Vs ZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNl bmRpZgp8IGNoYXIgX19mcGVuZGluZyAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVz IHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBm YWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAg IHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxp YXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9fX2ZwZW5kaW5nIHx8IGRlZmluZWQgX19zdHVi X19fX19mcGVuZGluZwp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsK fCByZXR1cm4gX19mcGVuZGluZyAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJl OjEzMjU3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzI1NzogY2hlY2tpbmcgZm9yIHN0cnNpZ25h bApjb25maWd1cmU6MTMyNTc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAg ICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTMyNTc6ICQ/ID0g MApjb25maWd1cmU6MTMyNTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzI1NzogY2hlY2tpbmcg Zm9yIHNldGl0aW1lcgpjb25maWd1cmU6MTMyNTc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6 MTMyNTc6ICQ/ID0gMApjb25maWd1cmU6MTMyNTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzI1 NzogY2hlY2tpbmcgZm9yIHNlbmR0bwpjb25maWd1cmU6MTMyNTc6IGdjYyAtc3RkPWdudTk5IC1v IGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApj b25maWd1cmU6MTMyNTc6ICQ/ID0gMApjb25maWd1cmU6MTMyNTc6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxMzI1NzogY2hlY2tpbmcgZm9yIHJlY3Zmcm9tCmNvbmZpZ3VyZToxMzI1NzogZ2NjIC1z dGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJl YWQgICA+JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3IgZ2V0c29ja25hbWUKY29uZmlndXJl OjEzMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3Qu YyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjEzMjU3OiAkPyA9IDAKY29uZmlndXJl OjEzMjU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMyNTc6IGNoZWNraW5nIGZvciBnZXRwZWVy bmFtZQpjb25maWd1cmU6MTMyNTc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIg ICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTMyNTc6ICQ/ ID0gMApjb25maWd1cmU6MTMyNTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzI1NzogY2hlY2tp bmcgZm9yIGdldGlmYWRkcnMKY29uZmlndXJlOjEzMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmln dXJlOjEzMjU3OiAkPyA9IDAKY29uZmlndXJlOjEzMjU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTMyNTc6IGNoZWNraW5nIGZvciBmcmVlaWZhZGRycwpjb25maWd1cmU6MTMyNTc6IGdjYyAtc3Rk PWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFk ICAgPiY1IApjb25maWd1cmU6MTMyNTc6ICQ/ID0gMApjb25maWd1cmU6MTMyNTc6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxMzI1NzogY2hlY2tpbmcgZm9yIGdhaV9zdHJlcnJvcgpjb25maWd1cmU6 MTMyNTc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5j IC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTMyNTc6ICQ/ID0gMApjb25maWd1cmU6 MTMyNTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzI1NzogY2hlY2tpbmcgZm9yIG1rc3RlbXAK Y29uZmlndXJlOjEzMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAg Y29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjEzMjU3OiAkPyA9IDAK Y29uZmlndXJlOjEzMjU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMyNTc6IGNoZWNraW5nIGZv ciBnZXRsaW5lCmNvbmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWcz IC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzI1 NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBj aGVja2luZyBmb3IgZ2V0ZGVsaW0KY29uZmlndXJlOjEzMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29u ZmlndXJlOjEzMjU3OiAkPyA9IDAKY29uZmlndXJlOjEzMjU3OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTMyNTc6IGNoZWNraW5nIGZvciBmc3luYwpjb25maWd1cmU6MTMyNTc6IGdjYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAg PiY1IApjb25maWd1cmU6MTMyNTc6ICQ/ID0gMApjb25maWd1cmU6MTMyNTc6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxMzI1NzogY2hlY2tpbmcgZm9yIHN5bmMKY29uZmlndXJlOjEzMjU3OiBnY2Mg LXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRo cmVhZCAgID4mNSAKY29uZmlndXJlOjEzMjU3OiAkPyA9IDAKY29uZmlndXJlOjEzMjU3OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTMyNTc6IGNoZWNraW5nIGZvciBkaWZmdGltZQpjb25maWd1cmU6 MTMyNTc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5j IC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTMyNTc6ICQ/ID0gMApjb25maWd1cmU6 MTMyNTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzI1NzogY2hlY2tpbmcgZm9yIHBvc2l4X21l bWFsaWduCmNvbmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1P MiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzI1Nzog JD8gPSAwCmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVj a2luZyBmb3IgZ2V0cHdlbnQKY29uZmlndXJlOjEzMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmln dXJlOjEzMjU3OiAkPyA9IDAKY29uZmlndXJlOjEzMjU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTMyNTc6IGNoZWNraW5nIGZvciBlbmRwd2VudApjb25maWd1cmU6MTMyNTc6IGdjYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAg PiY1IApjb25maWd1cmU6MTMyNTc6ICQ/ID0gMApjb25maWd1cmU6MTMyNTc6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxMzI1NzogY2hlY2tpbmcgZm9yIGdldGdyZW50CmNvbmZpZ3VyZToxMzI1Nzog Z2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAt bHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1Nzog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3IgZW5kZ3JlbnQKY29uZmln dXJlOjEzMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRl c3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjEzMjU3OiAkPyA9IDAKY29uZmln dXJlOjEzMjU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMyNTc6IGNoZWNraW5nIGZvciB0b3Vj aGxvY2sKY29uZmlndXJlOjEzMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8y ICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKVW5kZWZpbmVkIHN5bWJvbHMg Zm9yIGFyY2hpdGVjdHVyZSB4ODZfNjQ6CiAgIl90b3VjaGxvY2siLCByZWZlcmVuY2VkIGZyb206 CiAgICAgIF9tYWluIGluIGNjRHVvQUl5Lm8KbGQ6IHN5bWJvbChzKSBub3QgZm91bmQgZm9yIGFy Y2hpdGVjdHVyZSB4ODZfNjQKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29u ZmlndXJlOjEzMjU3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FH RSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0Vf UE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9f RVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5f Q19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJF QURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RF TV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAj ZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8 ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lU SF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5l IEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhB VkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVm aW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVm aW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09B IDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZp bmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhB VkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRI Q09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVm aW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZF X1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9T VFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5E VE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJT IDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJS T1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwg I2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUg SEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJ WF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5E UFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5U IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHRvdWNobG9jayB0byBhbiBp bm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHRvdWNobG9jay4K fCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9m ZGF5LiAgKi8KfCAjZGVmaW5lIHRvdWNobG9jayBpbm5vY3VvdXNfdG91Y2hsb2NrCnwgCnwgLyog U3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBw cm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHRvdWNobG9jayAo KTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERD X18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVl c3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUg PGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAj dW5kZWYgdG91Y2hsb2NrCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5 cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0 Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJn dW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3Bs dXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciB0b3VjaGxvY2sgKCk7CnwgLyogVGhlIEdO VSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50 cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBh Y3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5v cm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfdG91Y2hsb2Nr IHx8IGRlZmluZWQgX19zdHViX19fdG91Y2hsb2NrCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBp bnQKfCBtYWluICgpCnwgewp8IHJldHVybiB0b3VjaGxvY2sgKCk7CnwgICA7CnwgICByZXR1cm4g MDsKfCB9CmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiBubwpjb25maWd1cmU6MTMyNTc6IGNoZWNr aW5nIGZvciBjZm1ha2VyYXcKY29uZmlndXJlOjEzMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmln dXJlOjEzMjU3OiAkPyA9IDAKY29uZmlndXJlOjEzMjU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTMyNTc6IGNoZWNraW5nIGZvciBjZnNldHNwZWVkCmNvbmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9 Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQg ICA+JjUgCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAwCmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2luZyBmb3IgY29weXNpZ24KY29uZmlndXJlOjEzMjU3 OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0g IC1scHRocmVhZCAgID4mNSAKY29uZnRlc3QuYzoxNDA6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5 cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiAnY29weXNpZ24nCmNvbmZpZ3VyZToxMzI1NzogJD8g PSAwCmNvbmZpZ3VyZToxMzI1NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMjU3OiBjaGVja2lu ZyBmb3IgX19leGVjdXRhYmxlX3N0YXJ0CmNvbmZpZ3VyZToxMzI1NzogZ2NjIC1zdGQ9Z251OTkg LW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUg ClVuZGVmaW5lZCBzeW1ib2xzIGZvciBhcmNoaXRlY3R1cmUgeDg2XzY0OgogICJfX19leGVjdXRh YmxlX3N0YXJ0IiwgcmVmZXJlbmNlZCBmcm9tOgogICAgICBfbWFpbiBpbiBjY3VxTXhPZi5vCmxk OiBzeW1ib2wocykgbm90IGZvdW5kIGZvciBhcmNoaXRlY3R1cmUgeDg2XzY0CmNvbGxlY3QyOiBs ZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMzI1NzogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVt YWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAi MjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxM X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09V UkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFO REVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFW RV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9V VE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwg I2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmlu ZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwg I2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0Vf VE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVf TlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8 ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5l IEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBI QVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9T RVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1Qg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAx CnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUg SEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dF VEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VU SVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00g MQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJT IDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAx CnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2Rl ZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJ RkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9H RVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JF TlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAx CnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBfX2V4ZWN1dGFibGVfc3RhcnQgdG8g YW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBfX2V4ZWN1 dGFibGVfc3RhcnQuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xh cmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBfX2V4ZWN1dGFibGVfc3RhcnQgaW5ub2N1 b3VzX19fZXhlY3V0YWJsZV9zdGFydAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9f c3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2Fu IGNvbmZsaWN0IHdpdGggY2hhciBfX2V4ZWN1dGFibGVfc3RhcnQgKCk7IGJlbG93Lgp8ICAgICBQ cmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNp bmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVy cy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxz ZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIF9fZXhlY3V0YWJs ZV9zdGFydAp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2 b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSBy ZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0 ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgX19leGVjdXRhYmxlX3N0YXJ0ICgpOwp8IC8qIFRoZSBH TlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVu dHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUg YWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBu b3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX19fZXhlY3V0 YWJsZV9zdGFydCB8fCBkZWZpbmVkIF9fc3R1Yl9fX19fZXhlY3V0YWJsZV9zdGFydAp8IGNob2tl IG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gX19leGVjdXRhYmxl X3N0YXJ0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTMyNTc6IHJlc3Vs dDogbm8KY29uZmlndXJlOjEzMjc0OiBjaGVja2luZyBmb3IgZ2V0d2QKY29uZmlndXJlOjEzMjc0 OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0g IC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjEzMjc0OiAkPyA9IDAKY29uZmlndXJlOjEzMjc0 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMyOTY6IGNoZWNraW5nIGZvciByYW5kb20KY29uZmln dXJlOjEzMjk2OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRl c3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjEzMjk2OiAkPyA9IDAKY29uZmln dXJlOjEzMjk2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMyOTY6IGNoZWNraW5nIGZvciByaW50 CmNvbmZpZ3VyZToxMzI5NjogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAg IGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNvbmZ0ZXN0LmM6MTQzOiB3YXJuaW5n OiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gJ3JpbnQnCmNvbmZpZ3Vy ZToxMzI5NjogJD8gPSAwCmNvbmZpZ3VyZToxMzI5NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEz MzA3OiBjaGVja2luZyBmb3IgX19idWlsdGluX3Vud2luZF9pbml0CmNvbmZpZ3VyZToxMzMyMzog Z2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAt bHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzMyMzogJD8gPSAwCmNvbmZpZ3VyZToxMzMzMTog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMzQzOiBjaGVja2luZyBmb3IgX0xBUkdFRklMRV9TT1VS Q0UgdmFsdWUgbmVlZGVkIGZvciBsYXJnZSBmaWxlcwpjb25maWd1cmU6MTMzNjI6IGdjYyAtc3Rk PWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFk ICAgPiY1IApjb25maWd1cmU6MTMzNjI6ICQ/ID0gMApjb25maWd1cmU6MTMzOTA6IHJlc3VsdDog bm8KY29uZmlndXJlOjEzNDEyOiBjaGVja2luZyB3aGV0aGVyIGdldHBncnAgcmVxdWlyZXMgemVy byBhcmd1bWVudHMKY29uZmlndXJlOjEzNDI5OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAg ICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0 LmM6MTU5OiBlcnJvcjogdG9vIG1hbnkgYXJndW1lbnRzIHRvIGZ1bmN0aW9uICdnZXRwZ3JwJwpj b25maWd1cmU6MTM0Mjk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41 MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNL QUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VT RV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg X19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJ Tl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRI UkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lT VEVNX1RZUEUgImRhcndpbiIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElS RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8 ICNkZWZpbmUgSEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAx CnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9X SVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZp bmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUg SEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgTlNfSEFWRV9OU0lOVEVHRVIgMQp8ICNk ZWZpbmUgVEVSTV9IRUFERVIgIm5zdGVybS5oIgp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNk ZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX05TIDEKfCAjZGVmaW5lIE5TX0lNUExfQ09D T0EgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2Rl ZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVm aW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUg SEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBB VEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8 ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhB VkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZF X1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NF TkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQURE UlMgMQp8ICNkZWZpbmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJF UlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEK fCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BP U0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9F TkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JF TlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVE IDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2Rl ZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9f X0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQ RVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lT X1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19I RUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNl bHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBl bmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERD X0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+ CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf SU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf VU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkK fCB7CnwgZ2V0cGdycCAoMCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMzQz NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzNDQ5OiBjaGVja2luZyBmb3IgZ3JhbnRwdApjb25m aWd1cmU6MTM0NDk6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25m dGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTM0NDk6ICQ/ID0gMApjb25m aWd1cmU6MTM0NDk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzQ2MzogY2hlY2tpbmcgZm9yIGdl dHB0CmNvbmZpZ3VyZToxMzQ2MzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAg ICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgClVuZGVmaW5lZCBzeW1ib2xzIGZv ciBhcmNoaXRlY3R1cmUgeDg2XzY0OgogICJfZ2V0cHQiLCByZWZlcmVuY2VkIGZyb206CiAgICAg IF9tYWluIGluIGNjOGxpRXR2Lm8KbGQ6IHN5bWJvbChzKSBub3QgZm91bmQgZm9yIGFyY2hpdGVj dHVyZSB4ODZfNjQKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJl OjEzNDYzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1h Y3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5T SU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VS Q0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VN QU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBF ICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q V0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5l IEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZp bmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9V VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf VElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVf SUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9C Uk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9O R19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRF Uk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVT RV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAj ZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJ TF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZF X0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJB TkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAx CnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5l IEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRE T1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdO QUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8 ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAj ZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8 ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmlu ZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9T WU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1B TElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQg MQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAj ZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2Rl ZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFW RV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElO X1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBf Vk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAvKiBEZWZpbmUgZ2V0cHQgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0 cy5oPiBkZWNsYXJlcyBnZXRwdC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMu aD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGdldHB0IGlubm9jdW91c19n ZXRwdAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhv cGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hh ciBnZXRwdCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4g aWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZl biBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAj IGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5k aWYKfCAKfCAjdW5kZWYgZ2V0cHQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHBy b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdo dCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0 cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2Nw bHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGdldHB0ICgpOwp8IC8qIFRoZSBH TlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVu dHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUg YWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBu b3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2dldHB0IHx8 IGRlZmluZWQgX19zdHViX19fZ2V0cHQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1h aW4gKCkKfCB7CnwgcmV0dXJuIGdldHB0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25m aWd1cmU6MTM0NjM6IHJlc3VsdDogbm8KY29uZmlndXJlOjEzNDYzOiBjaGVja2luZyBmb3IgcG9z aXhfb3BlbnB0CmNvbmZpZ3VyZToxMzQ2MzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWcz IC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMzQ2 MzogJD8gPSAwCmNvbmZpZ3VyZToxMzQ2MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzNDc4OiBj aGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIHRwdXRzCmNvbmZpZ3VyZToxMzUzMTogZ2Nj IC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0 aHJlYWQgICA+JjUgClVuZGVmaW5lZCBzeW1ib2xzIGZvciBhcmNoaXRlY3R1cmUgeDg2XzY0Ogog ICJfdHB1dHMiLCByZWZlcmVuY2VkIGZyb206CiAgICAgIF9tYWluIGluIGNjMENwbnMwLm8KbGQ6 IHN5bWJvbChzKSBub3QgZm91bmQgZm9yIGFyY2hpdGVjdHVyZSB4ODZfNjQKY29sbGVjdDI6IGxk IHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjEzNTMxOiAkPyA9IDEKY29uZmlndXJl OiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVm aW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5l IE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmlu ZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9Q T1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2Rl ZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEK fCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUg SEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9Q VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmlu ZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dB SVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAx CnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwg I2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdF UiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFM TE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFS UyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNf SU1QTF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJN IDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUg MQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwg I2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUg SEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VU SU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNk ZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVm aW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5l IEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9H RVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVf R0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVf R0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dF VExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEK fCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5l IEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NG U0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdE IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmlu ZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwg I2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5l IEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgICBleHRl cm4gdm9pZCB0cHV0cyAoY29uc3QgY2hhciAqLCBpbnQsIGludCAoKikoaW50KSk7CnwgICAgICAg IGludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCnwgICAgICAgIHsKfCAJICBpZiAoYXJn YyA9PSAxMDAwMCkKfCAJICAgIHRwdXRzIChhcmd2WzBdLCAwLCAwKTsKfCAJICByZXR1cm4gMDsK fCAgICAgICAgfQp8IApjb25maWd1cmU6MTM1MzE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sdGluZm8gLWxtICAtbHB0aHJlYWQgICA+JjUgCmxk OiBsaWJyYXJ5IG5vdCBmb3VuZCBmb3IgLWx0aW5mbwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBl eGl0IHN0YXR1cwpjb25maWd1cmU6MTM1MzE6ICQ/ID0gMQpjb25maWd1cmU6IHByb2dyYW0gZXhp dGVkIHdpdGggc3RhdHVzIDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAi ZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9Q IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhU RU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19T T1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURf U0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9U WVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVm aW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNk ZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9T WVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhB VkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVf TE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5l IFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5l IFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEK fCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUg TUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBI QVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVf TFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09O RiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK fCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVm aW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NI VVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJT SUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8g MQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEK fCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1Ig MQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2Rl ZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFW RV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9N RU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdF TlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEK fCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwg I2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUg SEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlM VElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBH UlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9P UEVOUFQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAgIGV4dGVybiB2b2lkIHRwdXRz IChjb25zdCBjaGFyICosIGludCwgaW50ICgqKShpbnQpKTsKfCAgICAgICAgaW50IG1haW4gKGlu dCBhcmdjLCBjaGFyICoqYXJndikKfCAgICAgICAgewp8IAkgIGlmIChhcmdjID09IDEwMDAwKQp8 IAkgICAgdHB1dHMgKGFyZ3ZbMF0sIDAsIDApOwp8IAkgIHJldHVybiAwOwp8ICAgICAgICB9Cnwg CmNvbmZpZ3VyZToxMzUzMTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAg IGNvbmZ0ZXN0LmMgLWxuY3Vyc2VzIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTM1 MzE6ICQ/ID0gMApjb25maWd1cmU6MTM1MzE6IC4vY29uZnRlc3QKY29uZmlndXJlOjEzNTMxOiAk PyA9IDAKY29uZmlndXJlOjEzNTQ1OiByZXN1bHQ6IC1sbmN1cnNlcwpjb25maWd1cmU6MTQ0MjE6 IGNoZWNraW5nIGZvciB0enNldApjb25maWd1cmU6MTQ0MjE6IGdjYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25m aWd1cmU6MTQ0MjE6ICQ/ID0gMApjb25maWd1cmU6MTQ0MjE6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxNDQyMTogY2hlY2tpbmcgZm9yIHJlYWRsaW5rYXQKY29uZmlndXJlOjE0NDIxOiBnY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVh ZCAgID4mNSAKVW5kZWZpbmVkIHN5bWJvbHMgZm9yIGFyY2hpdGVjdHVyZSB4ODZfNjQ6CiAgIl9y ZWFkbGlua2F0IiwgcmVmZXJlbmNlZCBmcm9tOgogICAgICBfbWFpbiBpbiBjY1cxMzY0RC5vCmxk OiBzeW1ib2wocykgbm90IGZvdW5kIGZvciBhcmNoaXRlY3R1cmUgeDg2XzY0CmNvbGxlY3QyOiBs ZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNDQyMTogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVt YWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAi MjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxM X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09V UkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFO REVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFW RV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9V VE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwg I2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmlu ZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwg I2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0Vf VE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVf TlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8 ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5l IEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBI QVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9T RVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1Qg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAx CnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUg SEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dF VEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VU SVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00g MQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJT IDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAx CnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2Rl ZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJ RkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9H RVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JF TlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAx CnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwg I2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhB VkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmlu ZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9H UkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZP IDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBE ZWZpbmUgcmVhZGxpbmthdCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRz Lmg+IGRlY2xhcmVzIHJlYWRsaW5rYXQuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGlt aXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSByZWFkbGlua2F0IGlu bm9jdW91c19yZWFkbGlua2F0CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHVi IG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29u ZmxpY3Qgd2l0aCBjaGFyIHJlYWRsaW5rYXQgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0 cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxs aW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwg I2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVk ZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHJlYWRsaW5rYXQKfCAKfCAvKiBPdmVy cmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBV c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MK fCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwg YXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBj aGFyIHJlYWRsaW5rYXQgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZv ciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRo IEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhp bmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8K fCAjaWYgZGVmaW5lZCBfX3N0dWJfcmVhZGxpbmthdCB8fCBkZWZpbmVkIF9fc3R1Yl9fX3JlYWRs aW5rYXQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJu IHJlYWRsaW5rYXQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNDQyMTog cmVzdWx0OiBubwpjb25maWd1cmU6MTQ0MjE6IGNoZWNraW5nIGZvciBnZXR0aW1lb2ZkYXkKY29u ZmlndXJlOjE0NDIxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29u ZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE0NDIxOiAkPyA9IDAKY29u ZmlndXJlOjE0NDIxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ0MjE6IGNoZWNraW5nIGZvciBu YW5vdGltZQpjb25maWd1cmU6MTQ0MjE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAt TzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApVbmRlZmluZWQgc3ltYm9s cyBmb3IgYXJjaGl0ZWN0dXJlIHg4Nl82NDoKICAiX25hbm90aW1lIiwgcmVmZXJlbmNlZCBmcm9t OgogICAgICBfbWFpbiBpbiBjY2RPWVRjTi5vCmxkOiBzeW1ib2wocykgbm90IGZvdW5kIGZvciBh cmNoaXRlY3R1cmUgeDg2XzY0CmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNv bmZpZ3VyZToxNDQyMTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUw Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tB R0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNF X1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhS RUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5l IEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJF TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwg I2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEK fCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJ VEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwg I2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmlu ZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBI QVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2Rl ZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2Rl ZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NP QSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVm aW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZp bmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBI QVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFU SENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwg I2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFW RV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVf U1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VO RFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFN RSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERS UyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVS Uk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5l IEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9T SVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VO RFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVO VCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQg MQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVm aW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19f QlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBH RVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9T SVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8 ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAv KiBEZWZpbmUgbmFub3RpbWUgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0 cy5oPiBkZWNsYXJlcyBuYW5vdGltZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1p dHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIG5hbm90aW1lIGlubm9j dW91c19uYW5vdGltZQp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNy b3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0 IHdpdGggY2hhciBuYW5vdGltZSAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRv IDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5o PiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYg X19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3Nl cnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgbmFub3RpbWUKfCAKfCAvKiBPdmVycmlkZSBhbnkg R0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBi ZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWls dGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAq Lwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIG5hbm90 aW1lICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25z IHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBT b21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5n IHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmlu ZWQgX19zdHViX25hbm90aW1lIHx8IGRlZmluZWQgX19zdHViX19fbmFub3RpbWUKfCBjaG9rZSBt ZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIG5hbm90aW1lICgpOwp8 ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTQ0MjE6IHJlc3VsdDogbm8KY29uZmln dXJlOjE0NDIxOiBjaGVja2luZyBmb3IgbHN0YXQKY29uZmlndXJlOjE0NDIxOiBnY2MgLXN0ZD1n bnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAg ID4mNSAKY29uZmlndXJlOjE0NDIxOiAkPyA9IDAKY29uZmlndXJlOjE0NDIxOiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTQ0MjE6IGNoZWNraW5nIGZvciBhbGFybQpjb25maWd1cmU6MTQ0MjE6IGdj YyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxw dGhyZWFkICAgPiY1IApjb25maWd1cmU6MTQ0MjE6ICQ/ID0gMApjb25maWd1cmU6MTQ0MjE6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToxNDQyMTogY2hlY2tpbmcgZm9yIHBzZWxlY3QKY29uZmlndXJl OjE0NDIxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3Qu YyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE0NDIxOiAkPyA9IDAKY29uZmlndXJl OjE0NDIxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ0MjE6IGNoZWNraW5nIGZvciBwdGhyZWFk X3NpZ21hc2sKY29uZmlndXJlOjE0NDIxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMg LU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE0NDIx OiAkPyA9IDAKY29uZmlndXJlOjE0NDIxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ0MjE6IGNo ZWNraW5nIGZvciByZWFkbGluawpjb25maWd1cmU6MTQ0MjE6IGdjYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25m aWd1cmU6MTQ0MjE6ICQ/ID0gMApjb25maWd1cmU6MTQ0MjE6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxNDQyMTogY2hlY2tpbmcgZm9yIHN0cnRvaW1heApjb25maWd1cmU6MTQ0MjE6IGdjYyAtc3Rk PWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFk ICAgPiY1IApjb25maWd1cmU6MTQ0MjE6ICQ/ID0gMApjb25maWd1cmU6MTQ0MjE6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxNDQyMTogY2hlY2tpbmcgZm9yIHN0cnRvdW1heApjb25maWd1cmU6MTQ0 MjE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1s bSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTQ0MjE6ICQ/ID0gMApjb25maWd1cmU6MTQ0 MjE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDQyMTogY2hlY2tpbmcgZm9yIHN5bWxpbmsKY29u ZmlndXJlOjE0NDIxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29u ZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE0NDIxOiAkPyA9IDAKY29u ZmlndXJlOjE0NDIxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ0MjE6IGNoZWNraW5nIGZvciBs b2NhbHRpbWVfcgpjb25maWd1cmU6MTQ0MjE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1n MyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTQ0 MjE6ICQ/ID0gMApjb25maWd1cmU6MTQ0MjE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDQyMTog Y2hlY2tpbmcgZm9yIGZ1dGltZXMKY29uZmlndXJlOjE0NDIxOiBnY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29u ZmlndXJlOjE0NDIxOiAkPyA9IDAKY29uZmlndXJlOjE0NDIxOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTQ0MjE6IGNoZWNraW5nIGZvciBmdXRpbWVzYXQKY29uZmlndXJlOjE0NDIxOiBnY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVh ZCAgID4mNSAKVW5kZWZpbmVkIHN5bWJvbHMgZm9yIGFyY2hpdGVjdHVyZSB4ODZfNjQ6CiAgIl9m dXRpbWVzYXQiLCByZWZlcmVuY2VkIGZyb206CiAgICAgIF9tYWluIGluIGNjd0tsUkk0Lm8KbGQ6 IHN5bWJvbChzKSBub3QgZm91bmQgZm9yIGFyY2hpdGVjdHVyZSB4ODZfNjQKY29sbGVjdDI6IGxk IHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE0NDIxOiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1h Y3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIy NC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExf U09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VS Q0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5E RU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZF X0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VU TVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAj ZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf VEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNk ZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmlu ZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhB VkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5l IE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAj ZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2Rl ZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9U T09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9O UyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwg I2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUg SEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhB VkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NF VFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAx CnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEK fCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVm aW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBI QVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VU QUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJ VElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAx CnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMg MQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEK fCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVm aW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElG RlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dF VFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVO VCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEK fCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFW RV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5l IEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dS QU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8g MQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwg I2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFW RV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhB VkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9T VFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxU SU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgLyogRGVmaW5lIGZ1dGltZXNhdCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8 bGltaXRzLmg+IGRlY2xhcmVzIGZ1dGltZXNhdC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFp IDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGZ1dGltZXNh dCBpbm5vY3VvdXNfZnV0aW1lc2F0CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19z dHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4g Y29uZmxpY3Qgd2l0aCBjaGFyIGZ1dGltZXNhdCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGlt aXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAg PGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAK fCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNs dWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZnV0aW1lc2F0CnwgCnwgLyogT3Zl cnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAg VXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0ND CnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxs IGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwg Y2hhciBmdXRpbWVzYXQgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZv ciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRo IEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhp bmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8K fCAjaWYgZGVmaW5lZCBfX3N0dWJfZnV0aW1lc2F0IHx8IGRlZmluZWQgX19zdHViX19fZnV0aW1l c2F0CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBm dXRpbWVzYXQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNDQyMTogcmVz dWx0OiBubwpjb25maWd1cmU6MTQ0MjE6IGNoZWNraW5nIGZvciBmdXRpbWVucwpjb25maWd1cmU6 MTQ0MjE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5j IC1sbSAgLWxwdGhyZWFkICAgPiY1IApVbmRlZmluZWQgc3ltYm9scyBmb3IgYXJjaGl0ZWN0dXJl IHg4Nl82NDoKICAiX2Z1dGltZW5zIiwgcmVmZXJlbmNlZCBmcm9tOgogICAgICBfbWFpbiBpbiBj Y3JOUmN0Uy5vCmxkOiBzeW1ib2wocykgbm90IGZvdW5kIGZvciBhcmNoaXRlY3R1cmUgeDg2XzY0 CmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNDQyMTogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZp bmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwg I2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVm aW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwg I2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8 ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExP Q19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhF Q0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19T SUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVE X1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAx CnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1F UyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAi bnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFH RVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwg I2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAj ZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBIQVZF X0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NL IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAx CnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNk ZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUg SEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZF X1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQg MQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2Rl ZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVm aW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhB VkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZF X0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZF X0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhB VkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRE RUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNk ZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5l IEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZF X0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9D T1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEK fCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5J VCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNk ZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVm aW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRU SU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEK fCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAx CnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmlu ZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBmdXRpbWVucyB0byBhbiBpbm5vY3VvdXMgdmFyaWFu dCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGZ1dGltZW5zLgp8ICAgIEZvciBleGFtcGxl LCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZp bmUgZnV0aW1lbnMgaW5ub2N1b3VzX2Z1dGltZW5zCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBk ZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3 aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGZ1dGltZW5zICgpOyBiZWxvdy4KfCAgICAgUHJl ZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5j ZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMu ICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UK fCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBmdXRpbWVucwp8IAp8 IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9y Lgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv ZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3Vs ZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNl bmRpZgp8IGNoYXIgZnV0aW1lbnMgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0 aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFp bCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBz b21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFz LiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZnV0aW1lbnMgfHwgZGVmaW5lZCBfX3N0dWJfX19m dXRpbWVucwp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1 cm4gZnV0aW1lbnMgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNDQyMTog cmVzdWx0OiBubwpjb25maWd1cmU6MTQ0MjE6IGNoZWNraW5nIGZvciB1dGltZW5zYXQKY29uZmln dXJlOjE0NDIxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRl c3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKVW5kZWZpbmVkIHN5bWJvbHMgZm9yIGFyY2hpdGVj dHVyZSB4ODZfNjQ6CiAgIl91dGltZW5zYXQiLCByZWZlcmVuY2VkIGZyb206CiAgICAgIF9tYWlu IGluIGNjTVBwQUJxLm8KbGQ6IHN5bWJvbChzKSBub3QgZm91bmQgZm9yIGFyY2hpdGVjdHVyZSB4 ODZfNjQKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE0NDIx OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwg I2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3 aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAx CnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVf TUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFW RV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxF Q1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19f U1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERS U19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxF X05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVB REVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE IDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0g MQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5l IEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0Vf RkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NF RElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAx CnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2Rl ZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5l IEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVf R0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VU UEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEK fCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8 ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZp bmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5l IEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZp bmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZF X0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEK fCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAx CnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5l IEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBI QVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5E T00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lO RF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAx CnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8 ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZF X0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxB Uk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdN QVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVgg MQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAj ZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHV0aW1lbnNhdCB0byBhbiBpbm5vY3VvdXMg dmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHV0aW1lbnNhdC4KfCAgICBGb3Ig ZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8K fCAjZGVmaW5lIHV0aW1lbnNhdCBpbm5vY3VvdXNfdXRpbWVuc2F0CnwgCnwgLyogU3lzdGVtIGhl YWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVz LAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHV0aW1lbnNhdCAoKTsgYmVsb3cu CnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVm aW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcg Y29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5o Pgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgdXRp bWVuc2F0CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZv aWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJl dHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJv dG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRl cm4gIkMiCnwgI2VuZGlmCnwgY2hhciB1dGltZW5zYXQgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJh cnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0 byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBu YW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1l IGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfdXRpbWVuc2F0IHx8IGRlZmlu ZWQgX19zdHViX19fdXRpbWVuc2F0CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWlu ICgpCnwgewp8IHJldHVybiB1dGltZW5zYXQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNv bmZpZ3VyZToxNDQyMTogcmVzdWx0OiBubwpjb25maWd1cmU6MTQ0MjE6IGNoZWNraW5nIGZvciBs dXRpbWVzCmNvbmZpZ3VyZToxNDQyMTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1P MiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxNDQyMTog JD8gPSAwCmNvbmZpZ3VyZToxNDQyMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NDMzOiBjaGVj a2luZyB3aGV0aGVyIGxvY2FsdGltZSBjYWNoZXMgVFoKY29uZmlndXJlOjE0NDY3OiBnY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVh ZCAgID4mNSAKY29uZnRlc3QuYzoxNDQ6IHdhcm5pbmc6IHJldHVybiB0eXBlIGRlZmF1bHRzIHRv ICdpbnQnCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxNDc6IHdh cm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdwdXRlbnYnCmNvbmZ0ZXN0 LmM6MTQ4OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnZXhpdCcK Y29uZnRlc3QuYzoxNDg6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBsaWNpdCBkZWNsYXJhdGlv biBvZiBidWlsdC1pbiBmdW5jdGlvbiAnZXhpdCcKY29uZnRlc3QuYzoxNTA6IHdhcm5pbmc6IGlt cGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICd1bnNldGVudicKY29uZnRlc3QuYzoxNTM6 IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBm dW5jdGlvbiAnZXhpdCcKY29uZnRlc3QuYzoxNTU6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBs aWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAnZXhpdCcKY29uZnRlc3QuYzox NTg6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1p biBmdW5jdGlvbiAnZXhpdCcKY29uZnRlc3QuYzoxNTk6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBp bXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAnZXhpdCcKY29uZmlndXJl OjE0NDY3OiAkPyA9IDAKY29uZmlndXJlOjE0NDY3OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToxNDQ2 NzogJD8gPSAwCmNvbmZpZ3VyZToxNDQ4MjogcmVzdWx0OiBubwpjb25maWd1cmU6MTQ0OTE6IGNo ZWNraW5nIGZvciBzb2NrZXQKY29uZmlndXJlOjE0NDkxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbG0gIC1scHRocmVhZCAgID4mNSAKY29uZmln dXJlOjE0NDkxOiAkPyA9IDAKY29uZmlndXJlOjE0NDkxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTQ0OTk6IGNoZWNraW5nIG5ldGluZXQvaW4uaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0NDk5OiBn Y2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTQ0 OTk6ICQ/ID0gMApjb25maWd1cmU6MTQ0OTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDQ5OTog Y2hlY2tpbmcgbmV0aW5ldC9pbi5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDQ5OTogZ2NjIC1FICAg IGNvbmZ0ZXN0LmMKY29uZmlndXJlOjE0NDk5OiAkPyA9IDAKY29uZmlndXJlOjE0NDk5OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTQ0OTk6IGNoZWNraW5nIGZvciBuZXRpbmV0L2luLmgKY29uZmln dXJlOjE0NDk5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ1MDk6IGNoZWNraW5nIGFycGEvaW5l dC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTQ1MDk6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIg ICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDUwOTogJD8gPSAwCmNvbmZpZ3VyZToxNDUw OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NTA5OiBjaGVja2luZyBhcnBhL2luZXQuaCBwcmVz ZW5jZQpjb25maWd1cmU6MTQ1MDk6IGdjYyAtRSAgICBjb25mdGVzdC5jCmNvbmZpZ3VyZToxNDUw OTogJD8gPSAwCmNvbmZpZ3VyZToxNDUwOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NTA5OiBj aGVja2luZyBmb3IgYXJwYS9pbmV0LmgKY29uZmlndXJlOjE0NTA5OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTQ1MzA6IGNoZWNraW5nIHdoZXRoZXIgc3lzdGVtIHN1cHBvcnRzIGR5bmFtaWMgcHR5 cwpjb25maWd1cmU6MTQ1Mzk6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0NTQ4OiBjaGVja2luZyBm b3IgcGlkX3QKY29uZmlndXJlOjE0NTQ4OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgICBj b25mdGVzdC5jID4mNQpjb25maWd1cmU6MTQ1NDg6ICQ/ID0gMApjb25maWd1cmU6MTQ1NDg6IGdj YyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IElu IGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxNzc6IGVycm9yOiBleHBlY3RlZCBleHByZXNz aW9uIGJlZm9yZSAnKScgdG9rZW4KY29uZmlndXJlOjE0NTQ4OiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3Mg MjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4y LjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZD TlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBf SCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVm aW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVS TV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZp bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVf TkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FE RFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5T X0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVm aW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09M S0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAx CnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2Rl ZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFW RV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVf R0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJ RCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZF X0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQURE UklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElN RVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwg I2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8 ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAj ZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5l IEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJ TUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBX RU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAx CnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAj ZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVm aW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9S SU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhB VkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5U UFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8 ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2Rl ZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9Q U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVf UkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJU T1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1F X1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwg I2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp bmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxz eXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRl IDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVf U1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVk IEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNs dWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1 ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNs dWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNs dWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVk ZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgo cGlkX3QpKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1 cmU6MTQ1NDg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDU2MTogY2hlY2tpbmcgdmZvcmsuaCB1 c2FiaWxpdHkKY29uZmlndXJlOjE0NTYxOiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgICBj b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjE3NDoxOTogZXJyb3I6IHZmb3JrLmg6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjE0NTYxOiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQu Mi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUw Igp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNF IDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09V UkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRM X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19V VFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAx CnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5l IEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9I IDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lT X1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUg SEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZF X05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVU X0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJf U0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hB VkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5l IFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lU X1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwg I2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmlu ZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9H RVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VU UlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAx CnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVm aW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dF VENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklO Rk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIg MQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNk ZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVm aW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhB VkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUg MQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5U IDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwg I2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVm aW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5l IEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5U IDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVf RlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQg MQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNk ZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmlu ZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VM RUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVB RExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VN QVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1Ig MQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2Rl ZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs dWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMv dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxz eXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0 ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RE TElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhB VkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRl IDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUg PHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRl IDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRl IDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8 dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPHZmb3JrLmg+CmNvbmZpZ3VyZToxNDU2MTog cmVzdWx0OiBubwpjb25maWd1cmU6MTQ1NjE6IGNoZWNraW5nIHZmb3JrLmggcHJlc2VuY2UKY29u ZmlndXJlOjE0NTYxOiBnY2MgLUUgICAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjE0MToxOTogZXJy b3I6IHZmb3JrLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjE0NTYxOiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIi CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2Rl ZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEK fCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNk ZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEK fCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4i CnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwg I2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFM TE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9F WEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1Rf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lT X1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BF RURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19I IDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05B TUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVS ICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEK fCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8 ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhB VkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxP Q0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElS IDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwg I2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmlu ZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhB VkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJ RCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNk ZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUg SEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhB VkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUg SEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dF VERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAj ZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwg I2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZp bmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhB VkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZF X0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00g MQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9J TklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwg I2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNk ZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dF VFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0g MQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNL IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8 ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVm aW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5l IEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDx2Zm9yay5oPgpjb25maWd1cmU6MTQ1NjE6IHJlc3Vs dDogbm8KY29uZmlndXJlOjE0NTYxOiBjaGVja2luZyBmb3IgdmZvcmsuaApjb25maWd1cmU6MTQ1 NjE6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0NTc0OiBjaGVja2luZyBmb3IgZm9yawpjb25maWd1 cmU6MTQ1NzQ6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVz dC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25mdGVzdC5jOjE2NDogd2FybmluZzogY29uZmxp Y3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdmb3JrJwpjb25maWd1cmU6MTQ1NzQ6 ICQ/ID0gMApjb25maWd1cmU6MTQ1NzQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDU3NDogY2hl Y2tpbmcgZm9yIHZmb3JrCmNvbmZpZ3VyZToxNDU3NDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3Vy ZToxNDU3NDogJD8gPSAwCmNvbmZpZ3VyZToxNDU3NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0 NTg0OiBjaGVja2luZyBmb3Igd29ya2luZyBmb3JrCmNvbmZpZ3VyZToxNDYwNjogZ2NjIC1zdGQ9 Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQg ICA+JjUgCmNvbmZpZ3VyZToxNDYwNjogJD8gPSAwCmNvbmZpZ3VyZToxNDYwNjogLi9jb25mdGVz dApjb25maWd1cmU6MTQ2MDY6ICQ/ID0gMApjb25maWd1cmU6MTQ2MTY6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToxNDYzNzogY2hlY2tpbmcgZm9yIHdvcmtpbmcgdmZvcmsKY29uZmlndXJlOjE0NzQ3 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ3NzU6IGNoZWNraW5nIGZvciBzbnByaW50Zgpjb25m aWd1cmU6MTQ3NzU6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25m dGVzdC5jIC1sbSAgLWxwdGhyZWFkICAgPiY1IApjb25mdGVzdC5jOjE2ODogd2FybmluZzogY29u ZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdzbnByaW50ZicKY29uZmlndXJl OjE0Nzc1OiAkPyA9IDAKY29uZmlndXJlOjE0Nzc1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ3 ODU6IGNoZWNraW5nIGZvciBubF9sYW5naW5mbyBhbmQgQ09ERVNFVApjb25maWd1cmU6MTQ4MDE6 IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1sbSAg LWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTQ4MDE6ICQ/ID0gMApjb25maWd1cmU6MTQ4MTA6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDgxODogY2hlY2tpbmcgZm9yIG1ic3RhdGVfdApjb25m aWd1cmU6MTQ4MzU6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZpZ3VyZToxNDgzNTogJD8gPSAwCmNvbmZpZ3VyZToxNDg0MjogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjE0ODU0OiBjaGVja2luZyBmb3IgQyByZXN0cmljdGVkIGFycmF5IGRlY2xhcmF0aW9u cwpjb25maWd1cmU6MTQ4NzA6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZToxNDg3MDogJD8gPSAwCmNvbmZpZ3VyZToxNDg3NzogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjE1MTk4OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05V IEMgbGlicmFyeQpjb25maWd1cmU6MTUyMTY6IGdjYyAtRSAgICBjb25mdGVzdC5jCmNvbmZ0ZXN0 LmM6MTcwOjIyOiBlcnJvcjogZmVhdHVyZXMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpj b25mdGVzdC5jOjE3MjozOiBlcnJvcjogI2Vycm9yICJ0aGlzIGlzIG5vdCB0aGUgR05VIEMgbGli cmFyeSIKY29uZmlndXJlOjE1MjE2OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g IjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp bmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUg TUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BP U0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVm aW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBI QVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJ VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEK fCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAj ZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VS IDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxM T0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJT IDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19J TVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0g MQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAx CnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAj ZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBI QVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dF VFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlU IDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2Rl ZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZp bmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUg SEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dF VFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9H QUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VU TElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8 ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5l IEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZF X0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZT RVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0Qg MQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5l IEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAj ZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9U WlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFU IDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNk ZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZp bmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUg SEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0lO RVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAx CnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZP UksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NP REVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9h cnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBD TEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09D S0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hB UiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBw dy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJ Q0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBE SVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQ IChfY18pKQp8ICNkZWZpbmUgRE9OVF9SRU9QRU5fUFRZIDEKfCAjZGVmaW5lIERFRkFVTFRfU09V TkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmlu ZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUg RklSU1RfUFRZX0xFVFRFUiAncCcKfCAjZGVmaW5lIFBUWV9PUEVOICBkbyB7IGludCBzbGF2ZTsg aWYgKG9wZW5wdHkgKCZmZCwgJnNsYXZlLCBwdHlfbmFtZSwgTlVMTCwgTlVMTCkgPT0gLTEpIGZk ID0gLTE7IGVsc2UgZW1hY3NfY2xvc2UgKHNsYXZlKTsgfSB3aGlsZSAoMCkKfCAjZGVmaW5lIFBU WV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgLyoqLwp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaW5jbHVkZSA8ZmVhdHVyZXMuaD4KfCAjaWZu ZGVmIF9fR05VX0xJQlJBUllfXwp8ICMgZXJyb3IgInRoaXMgaXMgbm90IHRoZSBHTlUgQyBsaWJy YXJ5Igp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICA7CnwgICByZXR1cm4g MDsKfCB9CmNvbmZpZ3VyZToxNTIyMjogcmVzdWx0OiBubwpjb25maWd1cmU6MTU0ODc6IGNoZWNr aW5nIGZvciBfc2V0am1wCmNvbmZpZ3VyZToxNTUwNjogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3Vy ZToxNTUwNjogJD8gPSAwCmNvbmZpZ3VyZToxNTUxNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1 NzE3OiBjaGVja2luZyBmb3IgdXNhYmxlIEZJT05SRUFECmNvbmZpZ3VyZToxNTc0NDogZ2NjIC1z dGQ9Z251OTkgLWMgLWczIC1PMiAgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE1NzQ0OiAk PyA9IDAKY29uZmlndXJlOjE1NzUzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU3NjE6IGNoZWNr aW5nIGZvciB1c2FibGUgU0lHSU8KY29uZmlndXJlOjE1Nzc5OiBnY2MgLXN0ZD1nbnU5OSAtYyAt ZzMgLU8yICAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTU3Nzk6ICQ/ID0gMApjb25maWd1 cmU6MTU3ODY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjA5NTogY2hlY2tpbmcgZm9yIHdvcmtp bmcgYWxsb2NhLmgKY29uZmlndXJlOjE2MTEyOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAt ZzMgLU8yICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MTYxMTI6ICQ/ ID0gMApjb25maWd1cmU6MTYxMjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjEyODogY2hlY2tp bmcgZm9yIGFsbG9jYQpjb25maWd1cmU6MTYxNjU6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToxNjE2NTog JD8gPSAwCmNvbmZpZ3VyZToxNjE3MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2Mjg2OiBjaGVj a2luZyB3aGV0aGVyIGJ5dGUgb3JkZXJpbmcgaXMgYmlnZW5kaWFuCmNvbmZpZ3VyZToxNjMwMTog Z2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTYz MDE6ICQ/ID0gMApjb25maWd1cmU6MTYzNDY6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE2MzQ2OiAkPyA9IDAKY29uZmlndXJlOjE2MzY0OiBn Y2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IElu IGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxOTI6IGVycm9yOiAnbm90JyB1bmRlY2xhcmVk IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKY29uZnRlc3QuYzoxOTI6IGVycm9yOiAoRWFj aCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlCmNvbmZ0ZXN0LmM6 MTkyOiBlcnJvcjogZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbi4pCmNvbmZ0ZXN0LmM6 MTkyOiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAnYmlnJwpjb25maWd1cmU6MTYzNjQ6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVm aW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8 ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2Rl ZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8 ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIK fCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxM T0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0VY RUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNf U0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVF RF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0gg MQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFN RVMgMQp8ICNkZWZpbmUgTlNfSEFWRV9OU0lOVEVHRVIgMQp8ICNkZWZpbmUgVEVSTV9IRUFERVIg Im5zdGVybS5oIgp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8 ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwg I2RlZmluZSBIQVZFX05TIDEKfCAjZGVmaW5lIE5TX0lNUExfQ09DT0EgMQp8ICNkZWZpbmUgSEFW RV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9D SyAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIg MQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAj ZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5l IEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFW RV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRS TElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lE IDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNk ZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2Rl ZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBI QVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFW RV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFW RV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBI QVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VU REVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNk ZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVf Q09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAx CnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lO SVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAj ZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2Rl ZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VU VElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAx CnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sg MQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwg I2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZp bmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUg SEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhB VkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19W Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJ TlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01C U1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBB TVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmlu ZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVW SUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vz c2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElS RUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJ U19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJ U19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBET05UX1JF T1BFTl9QVFkgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNk ZWZpbmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZv ciAoaSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBGSVJTVF9QVFlfTEVUVEVSICdwJwp8ICNk ZWZpbmUgUFRZX09QRU4gIGRvIHsgaW50IHNsYXZlOyBpZiAob3BlbnB0eSAoJmZkLCAmc2xhdmUs IHB0eV9uYW1lLCBOVUxMLCBOVUxMKSA9PSAtMSkgZmQgPSAtMTsgZWxzZSBlbWFjc19jbG9zZSAo c2xhdmUpOyB9IHdoaWxlICgwKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2Rl ZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9D T1VOVChGSUxFKSAoKEZJTEUpLT5fcCAtIChGSUxFKS0+X2JmLl9iYXNlKQp8ICNkZWZpbmUgVEFC MyBPWFRBQlMKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRK TVAgMQp8ICNkZWZpbmUgQlNENF8yIC8qKi8KfCAjZGVmaW5lIEJTRF9TWVNURU0gLyoqLwp8ICNk ZWZpbmUgREFSV0lOX09TIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmlu ZSBVU0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTIg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgIm5z dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAiaTM4Ni1hcHBsZS1kYXJ3aW4x Mi4xLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICctLXdpdGgtbnMnICctLWVu YWJsZS1ucy1zZWxmLWNvbnRhaW5lZCciCnwgI2RlZmluZSBIQVZFX01FTlVTIDEKfCAjZGVmaW5l IEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgCQkjaW5jbHVkZSA8c3lzL3BhcmFt Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAjaWYgQllURV9PUkRFUiAhPSBCSUdfRU5ESUFO CnwgCQkgbm90IGJpZyBlbmRpYW4KfCAJCSNlbmRpZgp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6MTY0OTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2NTExOiBjaGVja2luZyBm b3IgaW5saW5lCmNvbmZpZ3VyZToxNjUyNzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBj b25mdGVzdC5jID4mNQpjb25maWd1cmU6MTY1Mjc6ICQ/ID0gMApjb25maWd1cmU6MTY1MzU6IHJl c3VsdDogaW5saW5lCmNvbmZpZ3VyZToxNjU1NDogY2hlY2tpbmcgd2hldGhlciBzdHJ0b2xkIGNv bmZvcm1zIHRvIEM5OQpjb25maWd1cmU6MTY1ODE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToxNjU4MTog JD8gPSAwCmNvbmZpZ3VyZToxNjU4OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2NzI3OiBjaGVj a2luZyBpZiBlbnZpcm9uIGlzIHByb3Blcmx5IGRlY2xhcmVkCmNvbmZpZ3VyZToxNjc1MDogZ2Nj IC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTY3NTA6 ICQ/ID0gMApjb25maWd1cmU6MTY3NTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2Nzc3OiBjaGVj a2luZyBmb3Igc3RfZG1fbW9kZSBpbiBzdHJ1Y3Qgc3RhdApjb25maWd1cmU6MTY3OTU6IGdjYyAt c3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVu Y3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjE5MjogZXJyb3I6ICdzdHJ1Y3Qgc3RhdCcgaGFzIG5v IG1lbWJlciBuYW1lZCAnc3RfZG1fbW9kZScKY29uZmlndXJlOjE2Nzk1OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi ZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQ QUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9O ICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9B TExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9T T1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9U QU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBI QVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZF X1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEK fCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2Rl ZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5l IEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdT IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVm aW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIK fCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVT RV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFW RV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAx CnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZp bmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5l IEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZF X1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVD VCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxF IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAj ZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmlu ZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVf R0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9T RVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJP TSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQURE UlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1Q IDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAj ZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVf RElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZF X0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRH UkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFX IDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEK fCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUg SEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVm aW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZF X0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlO Rk8gMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAx CnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUg SEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5l IEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFW RV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9D QUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1F UyAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8 ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNk ZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2Rl ZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8 ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZV TExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlT IDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9u dWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2Rl ZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAg Jy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZ X1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChf Y18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgRE9OVF9SRU9QRU5fUFRZIDEK fCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVS UlVQVF9JTlBVVCAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBp IDwgMTsgaSsrKQp8ICNkZWZpbmUgRklSU1RfUFRZX0xFVFRFUiAncCcKfCAjZGVmaW5lIFBUWV9P UEVOICBkbyB7IGludCBzbGF2ZTsgaWYgKG9wZW5wdHkgKCZmZCwgJnNsYXZlLCBwdHlfbmFtZSwg TlVMTCwgTlVMTCkgPT0gLTEpIGZkID0gLTE7IGVsc2UgZW1hY3NfY2xvc2UgKHNsYXZlKTsgfSB3 aGlsZSAoMCkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUFRZX1RU WV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfQ09VTlQoRklMRSkg KChGSUxFKS0+X3AgLSAoRklMRSktPl9iZi5fYmFzZSkKfCAjZGVmaW5lIFRBQjMgT1hUQUJTCnwg I2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVm aW5lIEJTRDRfMiAvKiovCnwgI2RlZmluZSBCU0RfU1lTVEVNIC8qKi8KfCAjZGVmaW5lIERBUldJ Tl9PUyAvKiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJ R0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEyIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAj ZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gImkzODYtYXBwbGUtZGFyd2luMTIuMS4wIgp8ICNk ZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS13aXRoLW5zJyAnLS1lbmFibGUtbnMtc2Vs Zi1jb250YWluZWQnIgp8ICNkZWZpbmUgSEFWRV9NRU5VUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Cnwg I2luY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdHJ1Y3Qgc3RhdCBz OyBzLnN0X2RtX21vZGU7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNjgwMjog cmVzdWx0OiBubwpjb25maWd1cmU6MTY4MTI6IGNoZWNraW5nIHdoZXRoZXIgc3RybW9kZSBpcyBk ZWNsYXJlZApjb25maWd1cmU6MTY4MTI6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjE2ODEyOiAkPyA9IDAKY29uZmlndXJlOjE2ODEyOiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTY5MDA6IGNoZWNraW5nIHdoZXRoZXIgdGhlIHByZXByb2Nlc3Nv ciBzdXBwb3J0cyBpbmNsdWRlX25leHQKY29uZmlndXJlOjE2OTM4OiBnY2MgLXN0ZD1nbnU5OSAt YyAtZzMgLU8yICAgIC1JY29uZnRlc3RkMWIgLUljb25mdGVzdGQyIGNvbmZ0ZXN0LmMgPiY1CmNv bmZpZ3VyZToxNjkzODogJD8gPSAwCmNvbmZpZ3VyZToxNjk1OTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjE2OTgwOiBjaGVja2luZyB3aGV0aGVyIHN5c3RlbSBoZWFkZXIgZmlsZXMgbGltaXQgdGhl IGxpbmUgbGVuZ3RoCmNvbmZpZ3VyZToxNzAwMzogcmVzdWx0OiBubwpjb25maWd1cmU6MTcxMDQ6 IGNoZWNraW5nIGZvciBnZXRvcHQuaApjb25maWd1cmU6MTcxMDQ6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxNzEyMTogY2hlY2tpbmcgZm9yIGdldG9wdF9sb25nX29ubHkKY29uZmlndXJlOjE3MTIx OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1scHRo cmVhZCAgPiY1IApjb25maWd1cmU6MTcxMjE6ICQ/ID0gMApjb25maWd1cmU6MTcxMjE6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToxNzEzNTogY2hlY2tpbmcgd2hldGhlciBnZXRvcHQgaXMgUE9TSVgg Y29tcGF0aWJsZQpjb25maWd1cmU6MTcxNzc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1n MyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToxNzE3NzogJD8g PSAwCmNvbmZpZ3VyZToxNzE3NzogLi9jb25mdGVzdApjb25maWd1cmU6MTcxNzc6ICQ/ID0gMApj b25maWd1cmU6MTcyMzY6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgIGNv bmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToxNzIzNjogJD8gPSAwCmNvbmZpZ3Vy ZToxNzIzNjogLi9jb25mdGVzdApjb25maWd1cmU6MTcyMzY6ICQ/ID0gMApjb25maWd1cmU6MTcy Nzg6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxw dGhyZWFkICA+JjUgCmNvbmZpZ3VyZToxNzI3ODogJD8gPSAwCmNvbmZpZ3VyZToxNzI3ODogLi9j b25mdGVzdApwcm9ncmFtOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gYgpjb25maWd1 cmU6MTcyNzg6ICQ/ID0gMTYKY29uZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAx Ngpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5l IFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNk ZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmlu ZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNk ZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIKfCAj ZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BB UkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0Nf TUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJ TkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lH TElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9U IDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8 ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMg MQp8ICNkZWZpbmUgTlNfSEFWRV9OU0lOVEVHRVIgMQp8ICNkZWZpbmUgVEVSTV9IRUFERVIgIm5z dGVybS5oIgp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNk ZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2Rl ZmluZSBIQVZFX05TIDEKfCAjZGVmaW5lIE5TX0lNUExfQ09DT0EgMQp8ICNkZWZpbmUgSEFWRV9I X0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAx CnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8 ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVm aW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhB VkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9T RVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElN SVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEK fCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZp bmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmlu ZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZF X1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9G UkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZF X01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVM SU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZp bmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVm aW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBI QVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9D Rk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09Q WVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwg I2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQg MQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVm aW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmlu ZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElN RU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAxCnwg I2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8 ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2Rl ZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUg SEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVf Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9S SyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRG IDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RB VEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBF UlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBI QVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNF ICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2Vz IDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNU T1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19E SVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19B TllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBET05UX1JFT1BF Tl9QVFkgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZp bmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAo aSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBGSVJTVF9QVFlfTEVUVEVSICdwJwp8ICNkZWZp bmUgUFRZX09QRU4gIGRvIHsgaW50IHNsYXZlOyBpZiAob3BlbnB0eSAoJmZkLCAmc2xhdmUsIHB0 eV9uYW1lLCBOVUxMLCBOVUxMKSA9PSAtMSkgZmQgPSAtMTsgZWxzZSBlbWFjc19jbG9zZSAoc2xh dmUpOyB9IHdoaWxlICgwKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmlu ZSBQVFlfVFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9DT1VO VChGSUxFKSAoKEZJTEUpLT5fcCAtIChGSUxFKS0+X2JmLl9iYXNlKQp8ICNkZWZpbmUgVEFCMyBP WFRBQlMKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAg MQp8ICNkZWZpbmUgQlNENF8yIC8qKi8KfCAjZGVmaW5lIEJTRF9TWVNURU0gLyoqLwp8ICNkZWZp bmUgREFSV0lOX09TIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBV U0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTIgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgIm5zdGVy bS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAiaTM4Ni1hcHBsZS1kYXJ3aW4xMi4x LjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICctLXdpdGgtbnMnICctLWVuYWJs ZS1ucy1zZWxmLWNvbnRhaW5lZCciCnwgI2RlZmluZSBIQVZFX01FTlVTIDEKfCAjZGVmaW5lIEhB VkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DOTlf U1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAxCnwgI2RlZmluZSBIQVZFX0dF VE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8IAp8ICNpbmNsdWRlIDx1bmlzdGQuaD4KfCAjaW5jbHVkZSA8c3RkbGliLmg+ CnwgI2luY2x1ZGUgPHN0cmluZy5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgICBzdGF0aWMg Y2hhciBwcm9ncmFtW10gPSAicHJvZ3JhbSI7CnwgICBzdGF0aWMgY2hhciBhYltdID0gIi1hYiI7 CnwgICBjaGFyICphcmd2WzNdID0geyBwcm9ncmFtLCBhYiwgTlVMTCB9Owp8ICAgaWYgKGdldG9w dCAoMiwgYXJndiwgImFiOiIpICE9ICdhJykKfCAgICAgcmV0dXJuIDEzOwp8ICAgaWYgKGdldG9w dCAoMiwgYXJndiwgImFiOiIpICE9ICc/JykKfCAgICAgcmV0dXJuIDE0Owp8ICAgaWYgKG9wdG9w dCAhPSAnYicpCnwgICAgIHJldHVybiAxNTsKfCAgIGlmIChvcHRpbmQgIT0gMikKfCAgICAgcmV0 dXJuIDE2Owp8ICAgcmV0dXJuIDA7CnwgfQp8IApjb25maWd1cmU6MTcyOTY6IHJlc3VsdDogbm8K Y29uZmlndXJlOjE3NjMxOiBjaGVja2luZyB3aGV0aGVyIGdldGVudiBpcyBkZWNsYXJlZApjb25m aWd1cmU6MTc2MzE6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjE3NjMxOiAkPyA9IDAKY29uZmlndXJlOjE3NjMxOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTc2NDc6IGNoZWNraW5nIGZvciBDL0MrKyByZXN0cmljdCBrZXl3b3JkCmNvbmZpZ3Vy ZToxNzY3MjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25m aWd1cmU6MTc2NzI6ICQ/ID0gMApjb25maWd1cmU6MTc2ODA6IHJlc3VsdDogX19yZXN0cmljdApj b25maWd1cmU6MTc4MTM6IGNoZWNraW5nIGZvciBzdHJ1Y3QgdGltZXZhbApjb25maWd1cmU6MTc4 MzY6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl OjE3ODM2OiAkPyA9IDAKY29uZmlndXJlOjE3ODQ0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc4 NDk6IGNoZWNraW5nIGZvciB3aWRlLWVub3VnaCBzdHJ1Y3QgdGltZXZhbC50dl9zZWMgbWVtYmVy CmNvbmZpZ3VyZToxNzg3NjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6MTc4NzY6ICQ/ID0gMApjb25maWd1cmU6MTc4ODQ6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxNzg5NzogY2hlY2tpbmcgZm9yIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQKY29u ZmlndXJlOjE3OTQ1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc5NTU6IGNoZWNraW5nIGZvciBs b25nIGxvbmcgaW50CmNvbmZpZ3VyZToxODAwNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE4MDI3 OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTox ODAyNzogJD8gPSAwCmNvbmZpZ3VyZToxODE4MDogY2hlY2tpbmcgd2hldGhlciBzdGRpbnQuaCBj b25mb3JtcyB0byBDOTkKY29uZmlndXJlOjE4MzQ5OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8y ICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MzEzOiBlcnJvcjogbmVnYXRpdmUgd2lkdGgg aW4gYml0LWZpZWxkICdjaGVja19VSU5UOF9DJwpjb25mdGVzdC5jOjMxNTogZXJyb3I6IG5lZ2F0 aXZlIHdpZHRoIGluIGJpdC1maWVsZCAnY2hlY2tfVUlOVDE2X0MnCmNvbmZpZ3VyZToxODM0OTog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNk ZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAx CnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAx CnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2lu Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01B TExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVf RVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZ U19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQ RUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNf SCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERS IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9O QU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURF UiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAx CnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEK fCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBI QVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZM T0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJ UiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8 ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZp bmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBH SUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwg I2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAj ZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5l IEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBI QVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5l IEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9H RVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwg I2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8 ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVm aW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBI QVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFW RV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRf SU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8 ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAj ZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9H RVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJN IDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFT SyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEK fCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2Rl ZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmlu ZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUg SEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05Q UklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVf TUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5l IEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVm aW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9E RVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9j ZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBE SVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5l IElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5l IElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIERPTlRf UkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwg I2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsg Zm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRURVIgJ3AnCnwg I2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgmZmQsICZzbGF2 ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Nsb3Nl IChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAj ZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVU X0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwgI2RlZmluZSBU QUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NF VEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RFTSAvKiovCnwg I2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVm aW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAx MiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAi bnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2LWFwcGxlLWRhcndp bjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0td2l0aC1ucycgJy0t ZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZF X0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEKfCAjZGVmaW5lIEhB VkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5l IF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVm aW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05H X0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAKfCAKfCAjZGVmaW5lIF9HTF9KVVNUX0lOQ0xVREVfU1lTVEVNX1NURElOVF9IIDEg Lyogd29yayBpZiBidWlsZCBpc24ndCBjbGVhbiAqLwp8ICNpbmNsdWRlIDxzdGRpbnQuaD4KfCAv KiBEcmFnb25mbHkgZGVmaW5lcyBXQ0hBUl9NSU4sIFdDSEFSX01BWCBvbmx5IGluIDx3Y2hhci5o Pi4gICovCnwgI2lmICEoZGVmaW5lZCBXQ0hBUl9NSU4gJiYgZGVmaW5lZCBXQ0hBUl9NQVgpCnwg I2Vycm9yICJXQ0hBUl9NSU4sIFdDSEFSX01BWCBub3QgZGVmaW5lZCBpbiA8c3RkaW50Lmg+Igp8 ICNlbmRpZgp8IAp8IAp8ICAgLyogQlNEL09TIDQuMC4xIGhhcyBhIGJ1ZzogPHN0ZGRlZi5oPiwg PHN0ZGlvLmg+IGFuZCA8dGltZS5oPiBtdXN0IGJlCnwgICAgICBpbmNsdWRlZCBiZWZvcmUgPHdj aGFyLmg+LiAgKi8KfCAgICNpbmNsdWRlIDxzdGRkZWYuaD4KfCAgICNpbmNsdWRlIDxzaWduYWwu aD4KfCAgICNpZiBIQVZFX1dDSEFSX0gKfCAgICMgaW5jbHVkZSA8c3RkaW8uaD4KfCAgICMgaW5j bHVkZSA8dGltZS5oPgp8ICAgIyBpbmNsdWRlIDx3Y2hhci5oPgp8ICAgI2VuZGlmCnwgCnwgCnwg I2lmZGVmIElOVDhfTUFYCnwgaW50OF90IGExID0gSU5UOF9NQVg7CnwgaW50OF90IGExbWluID0g SU5UOF9NSU47CnwgI2VuZGlmCnwgI2lmZGVmIElOVDE2X01BWAp8IGludDE2X3QgYTIgPSBJTlQx Nl9NQVg7CnwgaW50MTZfdCBhMm1pbiA9IElOVDE2X01JTjsKfCAjZW5kaWYKfCAjaWZkZWYgSU5U MzJfTUFYCnwgaW50MzJfdCBhMyA9IElOVDMyX01BWDsKfCBpbnQzMl90IGEzbWluID0gSU5UMzJf TUlOOwp8ICNlbmRpZgp8ICNpZmRlZiBJTlQ2NF9NQVgKfCBpbnQ2NF90IGE0ID0gSU5UNjRfTUFY Owp8IGludDY0X3QgYTRtaW4gPSBJTlQ2NF9NSU47CnwgI2VuZGlmCnwgI2lmZGVmIFVJTlQ4X01B WAp8IHVpbnQ4X3QgYjEgPSBVSU5UOF9NQVg7CnwgI2Vsc2UKfCB0eXBlZGVmIGludCBiMVsodW5z aWduZWQgY2hhcikgLTEgIT0gMjU1ID8gMSA6IC0xXTsKfCAjZW5kaWYKfCAjaWZkZWYgVUlOVDE2 X01BWAp8IHVpbnQxNl90IGIyID0gVUlOVDE2X01BWDsKfCAjZW5kaWYKfCAjaWZkZWYgVUlOVDMy X01BWAp8IHVpbnQzMl90IGIzID0gVUlOVDMyX01BWDsKfCAjZW5kaWYKfCAjaWZkZWYgVUlOVDY0 X01BWAp8IHVpbnQ2NF90IGI0ID0gVUlOVDY0X01BWDsKfCAjZW5kaWYKfCBpbnRfbGVhc3Q4X3Qg YzEgPSBJTlQ4X0MgKDB4N2YpOwp8IGludF9sZWFzdDhfdCBjMW1heCA9IElOVF9MRUFTVDhfTUFY Owp8IGludF9sZWFzdDhfdCBjMW1pbiA9IElOVF9MRUFTVDhfTUlOOwp8IGludF9sZWFzdDE2X3Qg YzIgPSBJTlQxNl9DICgweDdmZmYpOwp8IGludF9sZWFzdDE2X3QgYzJtYXggPSBJTlRfTEVBU1Qx Nl9NQVg7CnwgaW50X2xlYXN0MTZfdCBjMm1pbiA9IElOVF9MRUFTVDE2X01JTjsKfCBpbnRfbGVh c3QzMl90IGMzID0gSU5UMzJfQyAoMHg3ZmZmZmZmZik7CnwgaW50X2xlYXN0MzJfdCBjM21heCA9 IElOVF9MRUFTVDMyX01BWDsKfCBpbnRfbGVhc3QzMl90IGMzbWluID0gSU5UX0xFQVNUMzJfTUlO Owp8IGludF9sZWFzdDY0X3QgYzQgPSBJTlQ2NF9DICgweDdmZmZmZmZmZmZmZmZmZmYpOwp8IGlu dF9sZWFzdDY0X3QgYzRtYXggPSBJTlRfTEVBU1Q2NF9NQVg7CnwgaW50X2xlYXN0NjRfdCBjNG1p biA9IElOVF9MRUFTVDY0X01JTjsKfCB1aW50X2xlYXN0OF90IGQxID0gVUlOVDhfQyAoMHhmZik7 CnwgdWludF9sZWFzdDhfdCBkMW1heCA9IFVJTlRfTEVBU1Q4X01BWDsKfCB1aW50X2xlYXN0MTZf dCBkMiA9IFVJTlQxNl9DICgweGZmZmYpOwp8IHVpbnRfbGVhc3QxNl90IGQybWF4ID0gVUlOVF9M RUFTVDE2X01BWDsKfCB1aW50X2xlYXN0MzJfdCBkMyA9IFVJTlQzMl9DICgweGZmZmZmZmZmKTsK fCB1aW50X2xlYXN0MzJfdCBkM21heCA9IFVJTlRfTEVBU1QzMl9NQVg7CnwgdWludF9sZWFzdDY0 X3QgZDQgPSBVSU5UNjRfQyAoMHhmZmZmZmZmZmZmZmZmZmZmKTsKfCB1aW50X2xlYXN0NjRfdCBk NG1heCA9IFVJTlRfTEVBU1Q2NF9NQVg7CnwgaW50X2Zhc3Q4X3QgZTEgPSBJTlRfRkFTVDhfTUFY Owp8IGludF9mYXN0OF90IGUxbWluID0gSU5UX0ZBU1Q4X01JTjsKfCBpbnRfZmFzdDE2X3QgZTIg PSBJTlRfRkFTVDE2X01BWDsKfCBpbnRfZmFzdDE2X3QgZTJtaW4gPSBJTlRfRkFTVDE2X01JTjsK fCBpbnRfZmFzdDMyX3QgZTMgPSBJTlRfRkFTVDMyX01BWDsKfCBpbnRfZmFzdDMyX3QgZTNtaW4g PSBJTlRfRkFTVDMyX01JTjsKfCBpbnRfZmFzdDY0X3QgZTQgPSBJTlRfRkFTVDY0X01BWDsKfCBp bnRfZmFzdDY0X3QgZTRtaW4gPSBJTlRfRkFTVDY0X01JTjsKfCB1aW50X2Zhc3Q4X3QgZjEgPSBV SU5UX0ZBU1Q4X01BWDsKfCB1aW50X2Zhc3QxNl90IGYyID0gVUlOVF9GQVNUMTZfTUFYOwp8IHVp bnRfZmFzdDMyX3QgZjMgPSBVSU5UX0ZBU1QzMl9NQVg7CnwgdWludF9mYXN0NjRfdCBmNCA9IFVJ TlRfRkFTVDY0X01BWDsKfCAjaWZkZWYgSU5UUFRSX01BWAp8IGludHB0cl90IGcgPSBJTlRQVFJf TUFYOwp8IGludHB0cl90IGdtaW4gPSBJTlRQVFJfTUlOOwp8ICNlbmRpZgp8ICNpZmRlZiBVSU5U UFRSX01BWAp8IHVpbnRwdHJfdCBoID0gVUlOVFBUUl9NQVg7CnwgI2VuZGlmCnwgaW50bWF4X3Qg aSA9IElOVE1BWF9NQVg7CnwgdWludG1heF90IGogPSBVSU5UTUFYX01BWDsKfCAKfCAjaW5jbHVk ZSA8bGltaXRzLmg+IC8qIGZvciBDSEFSX0JJVCAqLwp8ICNkZWZpbmUgVFlQRV9NSU5JTVVNKHQp ICAgKCh0KSAoKHQpIDAgPCAodCkgLTEgPyAodCkgMCA6IH4gVFlQRV9NQVhJTVVNICh0KSkpCnwg I2RlZmluZSBUWVBFX01BWElNVU0odCkgICAoKHQpICgodCkgMCA8ICh0KSAtMSAgICAgICAgID8g KHQpIC0xICAgICAgICAgOiAoKCgodCkgMSA8PCAoc2l6ZW9mICh0KSAqIENIQVJfQklUIC0gMikp IC0gMSkgKiAyICsgMSkpKQp8IHN0cnVjdCBzIHsKfCAgIGludCBjaGVja19QVFJESUZGOgp8ICAg ICAgIFBUUkRJRkZfTUlOID09IFRZUEVfTUlOSU1VTSAocHRyZGlmZl90KQp8ICAgICAgICYmIFBU UkRJRkZfTUFYID09IFRZUEVfTUFYSU1VTSAocHRyZGlmZl90KQp8ICAgICAgID8gMSA6IC0xOwp8 ICAgLyogRGV0ZWN0IGJ1ZyBpbiBGcmVlQlNEIDYuMCAvIGlhNjQuICAqLwp8ICAgaW50IGNoZWNr X1NJR19BVE9NSUM6CnwgICAgICAgU0lHX0FUT01JQ19NSU4gPT0gVFlQRV9NSU5JTVVNIChzaWdf YXRvbWljX3QpCnwgICAgICAgJiYgU0lHX0FUT01JQ19NQVggPT0gVFlQRV9NQVhJTVVNIChzaWdf YXRvbWljX3QpCnwgICAgICAgPyAxIDogLTE7CnwgICBpbnQgY2hlY2tfU0laRTogU0laRV9NQVgg PT0gVFlQRV9NQVhJTVVNIChzaXplX3QpID8gMSA6IC0xOwp8ICAgaW50IGNoZWNrX1dDSEFSOgp8 ICAgICAgIFdDSEFSX01JTiA9PSBUWVBFX01JTklNVU0gKHdjaGFyX3QpCnwgICAgICAgJiYgV0NI QVJfTUFYID09IFRZUEVfTUFYSU1VTSAod2NoYXJfdCkKfCAgICAgICA/IDEgOiAtMTsKfCAgIC8q IERldGVjdCBidWcgaW4gbWluZ3cuICAqLwp8ICAgaW50IGNoZWNrX1dJTlQ6CnwgICAgICAgV0lO VF9NSU4gPT0gVFlQRV9NSU5JTVVNICh3aW50X3QpCnwgICAgICAgJiYgV0lOVF9NQVggPT0gVFlQ RV9NQVhJTVVNICh3aW50X3QpCnwgICAgICAgPyAxIDogLTE7CnwgCnwgICAvKiBEZXRlY3QgYnVn cyBpbiBnbGliYyAyLjQgYW5kIFNvbGFyaXMgMTAgc3RkaW50LmgsIGFtb25nIG90aGVycy4gICov CnwgICBpbnQgY2hlY2tfVUlOVDhfQzoKfCAgICAgICAgICgtMSA8IFVJTlQ4X0MgKDApKSA9PSAo LTEgPCAodWludF9sZWFzdDhfdCkgMCkgPyAxIDogLTE7CnwgICBpbnQgY2hlY2tfVUlOVDE2X0M6 CnwgICAgICAgICAoLTEgPCBVSU5UMTZfQyAoMCkpID09ICgtMSA8ICh1aW50X2xlYXN0MTZfdCkg MCkgPyAxIDogLTE7CnwgCnwgICAvKiBEZXRlY3QgYnVncyBpbiBPcGVuQlNEIDMuOSBzdGRpbnQu aC4gICovCnwgI2lmZGVmIFVJTlQ4X01BWAp8ICAgaW50IGNoZWNrX3VpbnQ4OiAodWludDhfdCkg LTEgPT0gVUlOVDhfTUFYID8gMSA6IC0xOwp8ICNlbmRpZgp8ICNpZmRlZiBVSU5UMTZfTUFYCnwg ICBpbnQgY2hlY2tfdWludDE2OiAodWludDE2X3QpIC0xID09IFVJTlQxNl9NQVggPyAxIDogLTE7 CnwgI2VuZGlmCnwgI2lmZGVmIFVJTlQzMl9NQVgKfCAgIGludCBjaGVja191aW50MzI6ICh1aW50 MzJfdCkgLTEgPT0gVUlOVDMyX01BWCA/IDEgOiAtMTsKfCAjZW5kaWYKfCAjaWZkZWYgVUlOVDY0 X01BWAp8ICAgaW50IGNoZWNrX3VpbnQ2NDogKHVpbnQ2NF90KSAtMSA9PSBVSU5UNjRfTUFYID8g MSA6IC0xOwp8ICNlbmRpZgp8ICAgaW50IGNoZWNrX3VpbnRfbGVhc3Q4OiAodWludF9sZWFzdDhf dCkgLTEgPT0gVUlOVF9MRUFTVDhfTUFYID8gMSA6IC0xOwp8ICAgaW50IGNoZWNrX3VpbnRfbGVh c3QxNjogKHVpbnRfbGVhc3QxNl90KSAtMSA9PSBVSU5UX0xFQVNUMTZfTUFYID8gMSA6IC0xOwp8 ICAgaW50IGNoZWNrX3VpbnRfbGVhc3QzMjogKHVpbnRfbGVhc3QzMl90KSAtMSA9PSBVSU5UX0xF QVNUMzJfTUFYID8gMSA6IC0xOwp8ICAgaW50IGNoZWNrX3VpbnRfbGVhc3Q2NDogKHVpbnRfbGVh c3Q2NF90KSAtMSA9PSBVSU5UX0xFQVNUNjRfTUFYID8gMSA6IC0xOwp8ICAgaW50IGNoZWNrX3Vp bnRfZmFzdDg6ICh1aW50X2Zhc3Q4X3QpIC0xID09IFVJTlRfRkFTVDhfTUFYID8gMSA6IC0xOwp8 ICAgaW50IGNoZWNrX3VpbnRfZmFzdDE2OiAodWludF9mYXN0MTZfdCkgLTEgPT0gVUlOVF9GQVNU MTZfTUFYID8gMSA6IC0xOwp8ICAgaW50IGNoZWNrX3VpbnRfZmFzdDMyOiAodWludF9mYXN0MzJf dCkgLTEgPT0gVUlOVF9GQVNUMzJfTUFYID8gMSA6IC0xOwp8ICAgaW50IGNoZWNrX3VpbnRfZmFz dDY0OiAodWludF9mYXN0NjRfdCkgLTEgPT0gVUlOVF9GQVNUNjRfTUFYID8gMSA6IC0xOwp8ICAg aW50IGNoZWNrX3VpbnRwdHI6ICh1aW50cHRyX3QpIC0xID09IFVJTlRQVFJfTUFYID8gMSA6IC0x Owp8ICAgaW50IGNoZWNrX3VpbnRtYXg6ICh1aW50bWF4X3QpIC0xID09IFVJTlRNQVhfTUFYID8g MSA6IC0xOwp8ICAgaW50IGNoZWNrX3NpemU6IChzaXplX3QpIC0xID09IFNJWkVfTUFYID8gMSA6 IC0xOwp8IH07CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8 IH0KY29uZmlndXJlOjE4NDQxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxODQ1MDogY2hlY2tpbmcg c3lzL2ludHR5cGVzLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxODQ1MDogZ2NjIC1zdGQ9Z251OTkg LWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjIyNzoyNjogZXJyb3I6IHN5 cy9pbnR0eXBlcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToxODQ1MDog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNk ZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAx CnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAx CnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2lu Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01B TExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVf RVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZ U19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQ RUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNf SCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERS IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9O QU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURF UiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAx CnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEK fCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBI QVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZM T0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJ UiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8 ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZp bmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBH SUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwg I2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAj ZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5l IEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBI QVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5l IEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9H RVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwg I2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8 ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVm aW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBI QVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFW RV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRf SU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8 ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAj ZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9H RVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJN IDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFT SyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEK fCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2Rl ZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmlu ZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUg SEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05Q UklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVf TUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5l IEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVm aW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9E RVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9j ZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBE SVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5l IElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5l IElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIERPTlRf UkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwg I2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsg Zm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRURVIgJ3AnCnwg I2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgmZmQsICZzbGF2 ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Nsb3Nl IChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAj ZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVU X0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwgI2RlZmluZSBU QUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NF VEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RFTSAvKiovCnwg I2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVm aW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAx MiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAi bnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2LWFwcGxlLWRhcndp bjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0td2l0aC1ucycgJy0t ZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZF X0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEKfCAjZGVmaW5lIEhB VkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5l IF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVm aW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05H X0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMg aW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8 ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwg IyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBp ZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMg JiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRp Zgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19I CnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNf SAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRf SAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gK fCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxzeXMvaW50dHlwZXMu aD4KY29uZmlndXJlOjE4NDUwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxODQ1MDogY2hlY2tpbmcg c3lzL2ludHR5cGVzLmggcHJlc2VuY2UKY29uZmlndXJlOjE4NDUwOiBnY2MgLUUgICAgY29uZnRl c3QuYwpjb25mdGVzdC5jOjE5NDoyNjogZXJyb3I6IHN5cy9pbnR0eXBlcy5oOiBObyBzdWNoIGZp bGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToxODQ1MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIu NTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg IiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIK fCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB VkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAx CnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAj ZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJD RSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRT TkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8 ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBI QVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAx CnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19T SUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhB VkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9O RVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9J Rl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NB X0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZF X05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBT WVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFW RV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9T Q1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNk ZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUg SEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VU SE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJV U0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8 ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZF X1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRD V0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZP IDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEK fCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZp bmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVm aW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmlu ZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZF X0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEK fCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAx CnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNk ZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmlu ZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBI QVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAx CnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZT RUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEK fCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVm aW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUg SEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVD VCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURM SU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEK fCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZp bmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhB VkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVf V09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9M QU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9f cmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8 ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmlu ZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVm aW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9G VUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZp bmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAo KF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElS RUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIERPTlRfUkVPUEVOX1BUWSAxCnwgI2RlZmluZSBE RUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQg MQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykK fCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRURVIgJ3AnCnwgI2RlZmluZSBQVFlfT1BFTiAgZG8geyBp bnQgc2xhdmU7IGlmIChvcGVucHR5ICgmZmQsICZzbGF2ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwp ID09IC0xKSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Nsb3NlIChzbGF2ZSk7IH0gd2hpbGUgKDApCnwg I2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJ TlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9w IC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwgI2RlZmluZSBUQUIzIE9YVEFCUwp8ICNkZWZpbmUgR0Nf U0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIg LyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RFTSAvKiovCnwgI2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8 ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2Rl ZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFD U19DT05GSUdVUkFUSU9OICJpMzg2LWFwcGxlLWRhcndpbjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNT X0NPTkZJR19PUFRJT05TICIgJy0td2l0aC1ucycgJy0tZW5hYmxlLW5zLXNlbGYtY29udGFpbmVk JyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2Rl ZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TVFJNT0RFIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUg SEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwg I2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QK fCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xP TkdfTE9OR19JTlQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL2lu dHR5cGVzLmg+CmNvbmZpZ3VyZToxODQ1MDogcmVzdWx0OiBubwpjb25maWd1cmU6MTg0NTA6IGNo ZWNraW5nIGZvciBzeXMvaW50dHlwZXMuaApjb25maWd1cmU6MTg0NTA6IHJlc3VsdDogbm8KY29u ZmlndXJlOjE4NDUwOiBjaGVja2luZyBzeXMvYml0eXBlcy5oIHVzYWJpbGl0eQpjb25maWd1cmU6 MTg0NTA6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzoyMjc6MjU6IGVycm9yOiBzeXMvYml0eXBlcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0 b3J5CmNvbmZpZ3VyZToxODQ1MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy NC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5l IFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1B SUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBf REFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJ WF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmlu ZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFW RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURf SCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19V Tl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBU SU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRf SCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwg I2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9B RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2Rl ZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAx CnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9D IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAx CnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1Q TF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEK fCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2Rl ZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFW RV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1F UyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZp bmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5l IEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhB VkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRT T0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VU SUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJ X1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJ TkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAj ZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhB VkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBI QVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9F TkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VU U1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEK fCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBI QVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2Rl ZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhB VkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpT RVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAx CnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVm aW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5l IEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhB VkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVU X1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8 ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JL IDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RF U0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJy IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xB U0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tF VFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIg JzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHct PnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNF X1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElS RUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAo X2NfKSkKfCAjZGVmaW5lIERPTlRfUkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5E X0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUg UFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJ UlNUX1BUWV9MRVRURVIgJ3AnCnwgI2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlm IChvcGVucHR5ICgmZmQsICZzbGF2ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9 IC0xOyBlbHNlIGVtYWNzX2Nsb3NlIChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlf TkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAj ZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5f YmYuX2Jhc2UpCnwgI2RlZmluZSBUQUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktT IDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZp bmUgQlNEX1NZU1RFTSAvKiovCnwgI2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNB QkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklH SFQgIkNvcHlyaWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwg I2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFU SU9OICJpMzg2LWFwcGxlLWRhcndpbjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJ T05TICIgJy0td2l0aC1ucycgJy0tZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5l IEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FM TE9DQSAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJNT0RFIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRf TE9OR19PTkxZIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZF X0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhB VkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYg SEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAj aWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0 ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3Rk bGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAh ZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVk ZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNp bmNsdWRlIDxzeXMvYml0eXBlcy5oPgpjb25maWd1cmU6MTg0NTA6IHJlc3VsdDogbm8KY29uZmln dXJlOjE4NDUwOiBjaGVja2luZyBzeXMvYml0eXBlcy5oIHByZXNlbmNlCmNvbmZpZ3VyZToxODQ1 MDogZ2NjIC1FICAgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxOTQ6MjU6IGVycm9yOiBzeXMvYml0 eXBlcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToxODQ1MDogJD8gPSAx CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm aW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUg VkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2Rl ZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5l IF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2Rl ZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNk ZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZp bmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFS QU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19N QUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lO Rk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdM SVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1Qg MQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwg I2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAx CnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0 ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2Rl ZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVm aW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hf RVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEK fCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwg I2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZp bmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFW RV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NF VExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8 ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmlu ZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5l IEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVf UkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dF VFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZS RUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVf TUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJ TSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZp bmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhB VkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NG TUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZ U0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAj ZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAx CnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZp bmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5l IFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1F T0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAj ZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwg I2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVm aW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBI QVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZF X0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9G T1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JL IDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYg MQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFU RV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVS U0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhB VkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0Ug Ii9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMg MQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RP UllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJ UkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FO WV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIERPTlRfUkVPUEVO X1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmlu ZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChp ID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRURVIgJ3AnCnwgI2RlZmlu ZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgmZmQsICZzbGF2ZSwgcHR5 X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Nsb3NlIChzbGF2 ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5l IFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5U KEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwgI2RlZmluZSBUQUIzIE9Y VEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAx CnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RFTSAvKiovCnwgI2RlZmlu ZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVT QUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxMiBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJt LmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2LWFwcGxlLWRhcndpbjEyLjEu MCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0td2l0aC1ucycgJy0tZW5hYmxl LW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgSEFW RV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0M5OV9T VFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEKfCAjZGVmaW5lIEhBVkVfR0VU T1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIF9fR0VU T1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJl c3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8c3lzL2JpdHlwZXMuaD4KY29uZmlndXJlOjE4NDUwOiByZXN1bHQ6IG5vCmNv bmZpZ3VyZToxODQ1MDogY2hlY2tpbmcgZm9yIHN5cy9iaXR5cGVzLmgKY29uZmlndXJlOjE4NDUw OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxODQ3OTogY2hlY2tpbmcgZm9yIGJpdCBzaXplIG9mIHB0 cmRpZmZfdApjb25maWd1cmU6MTg0ODQ6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAt TzIgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToxODQ4NDogJD8gPSAw CmNvbmZpZ3VyZToxODQ4NDogLi9jb25mdGVzdApjb25maWd1cmU6MTg0ODQ6ICQ/ID0gMApjb25m aWd1cmU6MTg1MDU6IHJlc3VsdDogNjQKY29uZmlndXJlOjE4NDc5OiBjaGVja2luZyBmb3IgYml0 IHNpemUgb2Ygc2l6ZV90CmNvbmZpZ3VyZToxODQ4NDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgLWczIC1PMiAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjE4NDg0 OiAkPyA9IDAKY29uZmlndXJlOjE4NDg0OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToxODQ4NDogJD8g PSAwCmNvbmZpZ3VyZToxODUwNTogcmVzdWx0OiA2NApjb25maWd1cmU6MTg1MjQ6IGNoZWNraW5n IGZvciBiaXQgc2l6ZSBvZiBzaWdfYXRvbWljX3QKY29uZmlndXJlOjE4NTI5OiBnY2MgLXN0ZD1n bnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApj b25maWd1cmU6MTg1Mjk6ICQ/ID0gMApjb25maWd1cmU6MTg1Mjk6IC4vY29uZnRlc3QKY29uZmln dXJlOjE4NTI5OiAkPyA9IDAKY29uZmlndXJlOjE4NTUwOiByZXN1bHQ6IDMyCmNvbmZpZ3VyZTox ODUyNDogY2hlY2tpbmcgZm9yIGJpdCBzaXplIG9mIHdjaGFyX3QKY29uZmlndXJlOjE4NTI5OiBn Y2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1scHRocmVh ZCAgPiY1IApjb25maWd1cmU6MTg1Mjk6ICQ/ID0gMApjb25maWd1cmU6MTg1Mjk6IC4vY29uZnRl c3QKY29uZmlndXJlOjE4NTI5OiAkPyA9IDAKY29uZmlndXJlOjE4NTUwOiByZXN1bHQ6IDMyCmNv bmZpZ3VyZToxODUyNDogY2hlY2tpbmcgZm9yIGJpdCBzaXplIG9mIHdpbnRfdApjb25maWd1cmU6 MTg1Mjk6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMg LWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToxODUyOTogJD8gPSAwCmNvbmZpZ3VyZToxODUyOTog Li9jb25mdGVzdApjb25maWd1cmU6MTg1Mjk6ICQ/ID0gMApjb25maWd1cmU6MTg1NTA6IHJlc3Vs dDogMzIKY29uZmlndXJlOjE4NTY4OiBjaGVja2luZyB3aGV0aGVyIHNpZ19hdG9taWNfdCBpcyBz aWduZWQKY29uZmlndXJlOjE4NTk1OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZpZ3VyZToxODU5NTogJD8gPSAwCmNvbmZpZ3VyZToxODYwNTogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjE4NTY4OiBjaGVja2luZyB3aGV0aGVyIHdjaGFyX3QgaXMgc2lnbmVk CmNvbmZpZ3VyZToxODU5NTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6MTg1OTU6ICQ/ID0gMApjb25maWd1cmU6MTg2MDU6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxODU2ODogY2hlY2tpbmcgd2hldGhlciB3aW50X3QgaXMgc2lnbmVkCmNvbmZp Z3VyZToxODU5NTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6MTg1OTU6ICQ/ID0gMApjb25maWd1cmU6MTg2MDU6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxODYyNzogY2hlY2tpbmcgZm9yIHB0cmRpZmZfdCBpbnRlZ2VyIGxpdGVyYWwgc3VmZml4 CmNvbmZpZ3VyZToxODY3MzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5j ID4mNQpjb25mdGVzdC5jOjIxNDogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnZm9vJwpj b25mdGVzdC5jOjIxMzogZXJyb3I6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdmb28nIHdhcyBo ZXJlCmNvbmZpZ3VyZToxODY3MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy NC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5l IFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1B SUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBf REFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJ WF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmlu ZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFW RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURf SCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19V Tl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBU SU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRf SCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwg I2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9B RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2Rl ZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAx CnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9D IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAx CnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1Q TF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEK fCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2Rl ZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFW RV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1F UyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZp bmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5l IEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhB VkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRT T0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VU SUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJ X1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJ TkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAj ZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhB VkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBI QVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9F TkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VU U1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEK fCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBI QVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2Rl ZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhB VkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpT RVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAx CnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVm aW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5l IEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhB VkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVU X1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8 ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JL IDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RF U0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJy IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xB U0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tF VFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIg JzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHct PnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNF X1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElS RUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAo X2NfKSkKfCAjZGVmaW5lIERPTlRfUkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5E X0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUg UFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJ UlNUX1BUWV9MRVRURVIgJ3AnCnwgI2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlm IChvcGVucHR5ICgmZmQsICZzbGF2ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9 IC0xOyBlbHNlIGVtYWNzX2Nsb3NlIChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlf TkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAj ZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5f YmYuX2Jhc2UpCnwgI2RlZmluZSBUQUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktT IDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZp bmUgQlNEX1NZU1RFTSAvKiovCnwgI2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNB QkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklH SFQgIkNvcHlyaWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwg I2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFU SU9OICJpMzg2LWFwcGxlLWRhcndpbjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJ T05TICIgJy0td2l0aC1ucycgJy0tZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5l IEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FM TE9DQSAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJNT0RFIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRf TE9OR19PTkxZIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZF X0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhB VkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQg MQp8ICNkZWZpbmUgQklUU0laRU9GX1BUUkRJRkZfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJ WkVfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJR19BVE9NSUNfVCAzMgp8ICNkZWZpbmUgQklU U0laRU9GX1dDSEFSX1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9XSU5UX1QgMzIKfCAjZGVmaW5l IEhBVkVfU0lHTkVEX1NJR19BVE9NSUNfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9XQ0hBUl9U IDEKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1dJTlRfVCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq Lwp8IAp8ICAgLyogQlNEL09TIDQuMC4xIGhhcyBhIGJ1ZzogPHN0ZGRlZi5oPiwgPHN0ZGlvLmg+ IGFuZCA8dGltZS5oPiBtdXN0IGJlCnwgICAgICBpbmNsdWRlZCBiZWZvcmUgPHdjaGFyLmg+LiAg Ki8KfCAgICNpbmNsdWRlIDxzdGRkZWYuaD4KfCAgICNpbmNsdWRlIDxzaWduYWwuaD4KfCAgICNp ZiBIQVZFX1dDSEFSX0gKfCAgICMgaW5jbHVkZSA8c3RkaW8uaD4KfCAgICMgaW5jbHVkZSA8dGlt ZS5oPgp8ICAgIyBpbmNsdWRlIDx3Y2hhci5oPgp8ICAgI2VuZGlmCnwgCnwgICAgICAgICAgICAg ICBleHRlcm4gcHRyZGlmZl90IGZvbzsKfCAgICAgICAgICAgICAgIGV4dGVybiBpbnQgZm9vOwp8 IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTox ODY3MzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6MTg2NzM6ICQ/ID0gMApjb25maWd1cmU6MTg2ODI6IHJlc3VsdDogbApjb25maWd1cmU6MTg2 Mjc6IGNoZWNraW5nIGZvciBzaXplX3QgaW50ZWdlciBsaXRlcmFsIHN1ZmZpeApjb25maWd1cmU6 MTg2NzM6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzoyMTU6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2ZvbycKY29uZnRlc3QuYzoy MTQ6IGVycm9yOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnZm9vJyB3YXMgaGVyZQpjb25maWd1 cmU6MTg2NzM6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJl bWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1Ag MQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRF TlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NP VVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9T RU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgImRhcndpbiIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19S RVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZF X1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZp bmUgSEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2Rl ZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZ U19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFW RV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9M T05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgTlNfSEFWRV9OU0lOVEVHRVIgMQp8ICNkZWZpbmUg VEVSTV9IRUFERVIgIm5zdGVybS5oIgp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQUQgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUg VVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX05TIDEKfCAjZGVmaW5lIE5TX0lNUExfQ09DT0EgMQp8 ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBN QUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhB VkVfQ0xPU0VESVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9M UkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05G IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZp bmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hV VERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJ R05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAx CnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8 ICNkZWZpbmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAx CnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVm aW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZF X1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01F TUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VO VCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8 ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAj ZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBI QVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxU SU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdS UF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09Q RU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVm aW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUg SEFWRV9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NU UlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJ TksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMg MQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEK fCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhB VkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmlu ZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2Rl ZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0 CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElP TiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVm aW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZp bmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8 ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAw CnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVAp CnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2Rl ZmluZSBET05UX1JFT1BFTl9QVFkgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9k ZXYvZHNwIgp8ICNkZWZpbmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJ T04gaW50IGk7IGZvciAoaSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBGSVJTVF9QVFlfTEVU VEVSICdwJwp8ICNkZWZpbmUgUFRZX09QRU4gIGRvIHsgaW50IHNsYXZlOyBpZiAob3BlbnB0eSAo JmZkLCAmc2xhdmUsIHB0eV9uYW1lLCBOVUxMLCBOVUxMKSA9PSAtMSkgZmQgPSAtMTsgZWxzZSBl bWFjc19jbG9zZSAoc2xhdmUpOyB9IHdoaWxlICgwKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5U RiAvKiovCnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBQRU5E SU5HX09VVFBVVF9DT1VOVChGSUxFKSAoKEZJTEUpLT5fcCAtIChGSUxFKS0+X2JmLl9iYXNlKQp8 ICNkZWZpbmUgVEFCMyBPWFRBQlMKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmlu ZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgQlNENF8yIC8qKi8KfCAjZGVmaW5lIEJTRF9TWVNU RU0gLyoqLwp8ICNkZWZpbmUgREFSV0lOX09TIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVB RCAxCnwgI2RlZmluZSBVU0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmln aHQgKEMpIDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVS TV9IRUFERVIgIm5zdGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAiaTM4Ni1h cHBsZS1kYXJ3aW4xMi4xLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICctLXdp dGgtbnMnICctLWVuYWJsZS1ucy1zZWxmLWNvbnRhaW5lZCciCnwgI2RlZmluZSBIQVZFX01FTlVT IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNk ZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAx CnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVO ViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVE X0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5l IEJJVFNJWkVPRl9QVFJESUZGX1QgNjQKfCAjZGVmaW5lIEJJVFNJWkVPRl9TSVpFX1QgNjQKfCAj ZGVmaW5lIEJJVFNJWkVPRl9TSUdfQVRPTUlDX1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9XQ0hB Ul9UIDMyCnwgI2RlZmluZSBCSVRTSVpFT0ZfV0lOVF9UIDMyCnwgI2RlZmluZSBIQVZFX1NJR05F RF9TSUdfQVRPTUlDX1QgMQp8ICNkZWZpbmUgSEFWRV9TSUdORURfV0NIQVJfVCAxCnwgI2RlZmlu ZSBIQVZFX1NJR05FRF9XSU5UX1QgMQp8ICNkZWZpbmUgUFRSRElGRl9UX1NVRkZJWCBsCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICAgLyogQlNEL09TIDQuMC4xIGhhcyBhIGJ1ZzogPHN0 ZGRlZi5oPiwgPHN0ZGlvLmg+IGFuZCA8dGltZS5oPiBtdXN0IGJlCnwgICAgICBpbmNsdWRlZCBi ZWZvcmUgPHdjaGFyLmg+LiAgKi8KfCAgICNpbmNsdWRlIDxzdGRkZWYuaD4KfCAgICNpbmNsdWRl IDxzaWduYWwuaD4KfCAgICNpZiBIQVZFX1dDSEFSX0gKfCAgICMgaW5jbHVkZSA8c3RkaW8uaD4K fCAgICMgaW5jbHVkZSA8dGltZS5oPgp8ICAgIyBpbmNsdWRlIDx3Y2hhci5oPgp8ICAgI2VuZGlm CnwgCnwgICAgICAgICAgICAgICBleHRlcm4gc2l6ZV90IGZvbzsKfCAgICAgICAgICAgICAgIGV4 dGVybiB1bnNpZ25lZCBpbnQgZm9vOwp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICA7CnwgICBy ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxODY3MzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAg ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTg2NzM6ICQ/ID0gMApjb25maWd1cmU6MTg2ODI6 IHJlc3VsdDogdWwKY29uZmlndXJlOjE4Njk5OiBjaGVja2luZyBmb3Igc2lnX2F0b21pY190IGlu dGVnZXIgbGl0ZXJhbCBzdWZmaXgKY29uZmlndXJlOjE4NzQ1OiBnY2MgLXN0ZD1nbnU5OSAtYyAt ZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxODc0NTogJD8gPSAwCmNvbmZpZ3Vy ZToxODc1NDogcmVzdWx0OiAKY29uZmlndXJlOjE4Njk5OiBjaGVja2luZyBmb3Igd2NoYXJfdCBp bnRlZ2VyIGxpdGVyYWwgc3VmZml4CmNvbmZpZ3VyZToxODc0NTogZ2NjIC1zdGQ9Z251OTkgLWMg LWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTg3NDU6ICQ/ID0gMApjb25maWd1 cmU6MTg3NTQ6IHJlc3VsdDogCmNvbmZpZ3VyZToxODY5OTogY2hlY2tpbmcgZm9yIHdpbnRfdCBp bnRlZ2VyIGxpdGVyYWwgc3VmZml4CmNvbmZpZ3VyZToxODc0NTogZ2NjIC1zdGQ9Z251OTkgLWMg LWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTg3NDU6ICQ/ID0gMApjb25maWd1 cmU6MTg3NTQ6IHJlc3VsdDogCmNvbmZpZ3VyZToxODk3MDogY2hlY2tpbmcgd2hldGhlciBsc3Rh dCBjb3JyZWN0bHkgaGFuZGxlcyB0cmFpbGluZyBzbGFzaApjb25maWd1cmU6MTkwMDM6IGdjYyAt c3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+ JjUgCmNvbmZpZ3VyZToxOTAwMzogJD8gPSAwCmNvbmZpZ3VyZToxOTAwMzogLi9jb25mdGVzdApj b25maWd1cmU6MTkwMDM6ICQ/ID0gMQpjb25maWd1cmU6IHByb2dyYW0gZXhpdGVkIHdpdGggc3Rh dHVzIDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIi CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2Rl ZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEK fCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNk ZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEK fCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4i CnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwg I2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFM TE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9F WEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1Rf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lT X1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BF RURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19I IDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05B TUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVS ICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEK fCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8 ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhB VkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxP Q0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElS IDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwg I2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmlu ZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhB VkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJ RCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNk ZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUg SEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhB VkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUg SEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dF VERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAj ZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwg I2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZp bmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhB VkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZF X0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00g MQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9J TklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwg I2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNk ZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dF VFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0g MQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNL IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8 ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVm aW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5l IEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBI QVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf VkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBS SU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9N QlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUg QU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZp bmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RF VklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nl c3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJ UkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUg SVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUg SVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgRE9OVF9S RU9QRU5fUFRZIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAj ZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBm b3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgRklSU1RfUFRZX0xFVFRFUiAncCcKfCAj ZGVmaW5lIFBUWV9PUEVOICBkbyB7IGludCBzbGF2ZTsgaWYgKG9wZW5wdHkgKCZmZCwgJnNsYXZl LCBwdHlfbmFtZSwgTlVMTCwgTlVMTCkgPT0gLTEpIGZkID0gLTE7IGVsc2UgZW1hY3NfY2xvc2Ug KHNsYXZlKTsgfSB3aGlsZSAoMCkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNk ZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRf Q09VTlQoRklMRSkgKChGSUxFKS0+X3AgLSAoRklMRSktPl9iZi5fYmFzZSkKfCAjZGVmaW5lIFRB QjMgT1hUQUJTCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VU Sk1QIDEKfCAjZGVmaW5lIEJTRDRfMiAvKiovCnwgI2RlZmluZSBCU0RfU1lTVEVNIC8qKi8KfCAj ZGVmaW5lIERBUldJTl9PUyAvKiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZp bmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEy IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJu c3Rlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gImkzODYtYXBwbGUtZGFyd2lu MTIuMS4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS13aXRoLW5zJyAnLS1l bmFibGUtbnMtc2VsZi1jb250YWluZWQnIgp8ICNkZWZpbmUgSEFWRV9NRU5VUyAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVf Qzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMQp8ICNkZWZpbmUgSEFW RV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUg X19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZp bmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdf SU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBCSVRTSVpFT0Zf UFRSRElGRl9UIDY0CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0laRV9UIDY0CnwgI2RlZmluZSBCSVRT SVpFT0ZfU0lHX0FUT01JQ19UIDMyCnwgI2RlZmluZSBCSVRTSVpFT0ZfV0NIQVJfVCAzMgp8ICNk ZWZpbmUgQklUU0laRU9GX1dJTlRfVCAzMgp8ICNkZWZpbmUgSEFWRV9TSUdORURfU0lHX0FUT01J Q19UIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TSUdO RURfV0lOVF9UIDEKfCAjZGVmaW5lIFBUUkRJRkZfVF9TVUZGSVggbAp8ICNkZWZpbmUgU0laRV9U X1NVRkZJWCB1bAp8ICNkZWZpbmUgU0lHX0FUT01JQ19UX1NVRkZJWCAKfCAjZGVmaW5lIFdDSEFS X1RfU1VGRklYIAp8ICNkZWZpbmUgV0lOVF9UX1NVRkZJWCAKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGlu Y2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAj IGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMg aW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZk ZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYm IGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYK fCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8 ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gK fCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gK fCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwg IyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0cnVj dCBzdGF0IHNidWY7CnwgICAgICAgICAgICAgICAvKiBMaW51eCB3aWxsIGRlcmVmZXJlbmNlIHRo ZSBzeW1saW5rIGFuZCBmYWlsLCBhcyByZXF1aXJlZCBieQp8ICAgICAgICAgICAgICAgICAgUE9T SVguICBUaGF0IGlzIGJldHRlciBpbiB0aGUgc2Vuc2UgdGhhdCBpdCBtZWFucyB3ZSB3aWxsIG5v dAp8ICAgICAgICAgICAgICAgICAgaGF2ZSB0byBjb21waWxlIGFuZCB1c2UgdGhlIGxzdGF0IHdy YXBwZXIuICAqLwp8ICAgICAgICAgICAgICAgcmV0dXJuIGxzdGF0ICgiY29uZnRlc3Quc3ltLyIs ICZzYnVmKSA9PSAwOwp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTkwMjA6 IHJlc3VsdDogbm8KY29uZmlndXJlOjE5MDYxOiBjaGVja2luZyB3aGV0aGVyIDxzeXMvc2VsZWN0 Lmg+IGlzIHNlbGYtY29udGFpbmVkCmNvbmZpZ3VyZToxOTA3ODogZ2NjIC1zdGQ9Z251OTkgLWMg LWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTkwNzg6ICQ/ID0gMApjb25maWd1 cmU6MTkwOTc6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29u ZmlndXJlOjE5MDk3OiAkPyA9IDAKY29uZmlndXJlOjE5MTI3OiBnY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6 MTkxMjc6ICQ/ID0gMApjb25maWd1cmU6MTkxNDA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTI3 OTogY2hlY2tpbmcgZm9yIHNpZ3NldF90CmNvbmZpZ3VyZToxOTI3OTogZ2NjIC1zdGQ9Z251OTkg LWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTkyNzk6ICQ/ID0gMApjb25m aWd1cmU6MTkyNzk6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUK Y29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIxNjogZXJyb3I6IGV4 cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgpjb25maWd1cmU6MTkyNzk6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5l IFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNk ZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmlu ZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNk ZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIKfCAj ZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BB UkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0Nf TUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJ TkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lH TElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9U IDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8 ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMg MQp8ICNkZWZpbmUgTlNfSEFWRV9OU0lOVEVHRVIgMQp8ICNkZWZpbmUgVEVSTV9IRUFERVIgIm5z dGVybS5oIgp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNk ZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2Rl ZmluZSBIQVZFX05TIDEKfCAjZGVmaW5lIE5TX0lNUExfQ09DT0EgMQp8ICNkZWZpbmUgSEFWRV9I X0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAx CnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8 ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVm aW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhB VkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9T RVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElN SVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEK fCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZp bmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmlu ZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZF X1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9G UkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZF X01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVM SU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZp bmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVm aW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBI QVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9D Rk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09Q WVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwg I2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQg MQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVm aW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmlu ZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElN RU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAxCnwg I2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8 ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2Rl ZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUg SEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVf Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9S SyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRG IDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RB VEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBF UlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBI QVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNF ICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2Vz IDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNU T1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19E SVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19B TllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBET05UX1JFT1BF Tl9QVFkgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZp bmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAo aSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBGSVJTVF9QVFlfTEVUVEVSICdwJwp8ICNkZWZp bmUgUFRZX09QRU4gIGRvIHsgaW50IHNsYXZlOyBpZiAob3BlbnB0eSAoJmZkLCAmc2xhdmUsIHB0 eV9uYW1lLCBOVUxMLCBOVUxMKSA9PSAtMSkgZmQgPSAtMTsgZWxzZSBlbWFjc19jbG9zZSAoc2xh dmUpOyB9IHdoaWxlICgwKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmlu ZSBQVFlfVFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9DT1VO VChGSUxFKSAoKEZJTEUpLT5fcCAtIChGSUxFKS0+X2JmLl9iYXNlKQp8ICNkZWZpbmUgVEFCMyBP WFRBQlMKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAg MQp8ICNkZWZpbmUgQlNENF8yIC8qKi8KfCAjZGVmaW5lIEJTRF9TWVNURU0gLyoqLwp8ICNkZWZp bmUgREFSV0lOX09TIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBV U0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTIgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgIm5zdGVy bS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAiaTM4Ni1hcHBsZS1kYXJ3aW4xMi4x LjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICctLXdpdGgtbnMnICctLWVuYWJs ZS1ucy1zZWxmLWNvbnRhaW5lZCciCnwgI2RlZmluZSBIQVZFX01FTlVTIDEKfCAjZGVmaW5lIEhB VkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DOTlf U1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAxCnwgI2RlZmluZSBIQVZFX0dF VE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAxCnwgI2RlZmluZSBfX0dF VE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSBy ZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQg MQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEJJVFNJWkVPRl9QVFJE SUZGX1QgNjQKfCAjZGVmaW5lIEJJVFNJWkVPRl9TSVpFX1QgNjQKfCAjZGVmaW5lIEJJVFNJWkVP Rl9TSUdfQVRPTUlDX1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9XQ0hBUl9UIDMyCnwgI2RlZmlu ZSBCSVRTSVpFT0ZfV0lOVF9UIDMyCnwgI2RlZmluZSBIQVZFX1NJR05FRF9TSUdfQVRPTUlDX1Qg MQp8ICNkZWZpbmUgSEFWRV9TSUdORURfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9X SU5UX1QgMQp8ICNkZWZpbmUgUFRSRElGRl9UX1NVRkZJWCBsCnwgI2RlZmluZSBTSVpFX1RfU1VG RklYIHVsCnwgI2RlZmluZSBTSUdfQVRPTUlDX1RfU1VGRklYIAp8ICNkZWZpbmUgV0NIQVJfVF9T VUZGSVggCnwgI2RlZmluZSBXSU5UX1RfU1VGRklYIAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAKfCAgICAgICAjaW5jbHVkZSA8c2lnbmFsLmg+CnwgICAgICAgLyogTWluZ3cgZGVmaW5lcyBz aWdzZXRfdCBub3QgaW4gPHNpZ25hbC5oPiwgYnV0IGluIDxzeXMvdHlwZXMuaD4uICAqLwp8ICAg ICAgICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGlm IChzaXplb2YgKChzaWdzZXRfdCkpKQp8IAkgICAgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4g MDsKfCB9CmNvbmZpZ3VyZToxOTI3OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5MzE3OiBjaGVj a2luZyBmb3Igc3RkYm9vbC5oIHRoYXQgY29uZm9ybXMgdG8gQzk5CmNvbmZpZ3VyZToxOTM4NDog Z2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTkz ODQ6ICQ/ID0gMApjb25maWd1cmU6MTkzOTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTM5Mzog Y2hlY2tpbmcgZm9yIF9Cb29sCmNvbmZpZ3VyZToxOTM5MzogZ2NjIC1zdGQ9Z251OTkgLWMgLWcz IC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTkzOTM6ICQ/ID0gMApjb25maWd1cmU6 MTkzOTM6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjI0NDogZXJyb3I6IGV4cGVjdGVk IGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgpjb25maWd1cmU6MTkzOTM6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5l IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJ T04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUg X0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05V X1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUg X1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIKfCAjZGVmaW5l IEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElM X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfTUFMTE9D X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0gg MQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAw CnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAj ZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxB R1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNk ZWZpbmUgTlNfSEFWRV9OU0lOVEVHRVIgMQp8ICNkZWZpbmUgVEVSTV9IRUFERVIgIm5zdGVybS5o Igp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK fCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUg VVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBI QVZFX05TIDEKfCAjZGVmaW5lIE5TX0lNUExfQ09DT0EgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5P IDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2Rl ZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNkZWZp bmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhB VkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VM RUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NB TEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8 ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVm aW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFW RV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZF X1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZG Uk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVS TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9GUkVFSUZB RERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RF TVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8 ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFW RV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhB VkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dF VEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VS QVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04g MQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmlu ZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNk ZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhB VkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJN SU5GTyAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZ IDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAxCnwgI2RlZmlu ZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZp bmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBI QVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9M T0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9MVVRJ TUVTIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAx CnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwg I2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAj ZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAx CnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRf RlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BU WVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2 L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAj ZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NF UCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RP UllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQ KF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBET05UX1JFT1BFTl9QVFkg MQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgSU5U RVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAoaSA9IDA7 IGkgPCAxOyBpKyspCnwgI2RlZmluZSBGSVJTVF9QVFlfTEVUVEVSICdwJwp8ICNkZWZpbmUgUFRZ X09QRU4gIGRvIHsgaW50IHNsYXZlOyBpZiAob3BlbnB0eSAoJmZkLCAmc2xhdmUsIHB0eV9uYW1l LCBOVUxMLCBOVUxMKSA9PSAtMSkgZmQgPSAtMTsgZWxzZSBlbWFjc19jbG9zZSAoc2xhdmUpOyB9 IHdoaWxlICgwKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBQVFlf VFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9DT1VOVChGSUxF KSAoKEZJTEUpLT5fcCAtIChGSUxFKS0+X2JmLl9iYXNlKQp8ICNkZWZpbmUgVEFCMyBPWFRBQlMK fCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNk ZWZpbmUgQlNENF8yIC8qKi8KfCAjZGVmaW5lIEJTRF9TWVNURU0gLyoqLwp8ICNkZWZpbmUgREFS V0lOX09TIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBVU0FCTEVf U0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTIgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgIm5zdGVybS5oIgp8 ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAiaTM4Ni1hcHBsZS1kYXJ3aW4xMi4xLjAiCnwg I2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICctLXdpdGgtbnMnICctLWVuYWJsZS1ucy1z ZWxmLWNvbnRhaW5lZCciCnwgI2RlZmluZSBIQVZFX01FTlVTIDEKfCAjZGVmaW5lIEhBVkVfQUxM T0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9M RCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9I IDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAxCnwgI2RlZmluZSBfX0dFVE9QVF9Q UkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmlj dCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNk ZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEJJVFNJWkVPRl9QVFJESUZGX1Qg NjQKfCAjZGVmaW5lIEJJVFNJWkVPRl9TSVpFX1QgNjQKfCAjZGVmaW5lIEJJVFNJWkVPRl9TSUdf QVRPTUlDX1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9XQ0hBUl9UIDMyCnwgI2RlZmluZSBCSVRT SVpFT0ZfV0lOVF9UIDMyCnwgI2RlZmluZSBIQVZFX1NJR05FRF9TSUdfQVRPTUlDX1QgMQp8ICNk ZWZpbmUgSEFWRV9TSUdORURfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9XSU5UX1Qg MQp8ICNkZWZpbmUgUFRSRElGRl9UX1NVRkZJWCBsCnwgI2RlZmluZSBTSVpFX1RfU1VGRklYIHVs CnwgI2RlZmluZSBTSUdfQVRPTUlDX1RfU1VGRklYIAp8ICNkZWZpbmUgV0NIQVJfVF9TVUZGSVgg CnwgI2RlZmluZSBXSU5UX1RfU1VGRklYIAp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZ U19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBT VERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+ CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4K fCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVk IFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1v cnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50CnwgbWFp biAoKQp8IHsKfCBpZiAoc2l6ZW9mICgoX0Jvb2wpKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8 ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTkzOTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox OTQwOTogY2hlY2tpbmcgZm9yIHdjaGFyX3QKY29uZmlndXJlOjE5NDI2OiBnY2MgLXN0ZD1nbnU5 OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxOTQyNjogJD8gPSAwCmNv bmZpZ3VyZToxOTQzMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5NTQ0OiBjaGVja2luZyB3aGV0 aGVyIHN0cnVjdCB0bSBpcyBpbiBzeXMvdGltZS5oIG9yIHRpbWUuaApjb25maWd1cmU6MTk1NjQ6 IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE5 NTY0OiAkPyA9IDAKY29uZmlndXJlOjE5NTcxOiByZXN1bHQ6IHRpbWUuaApjb25maWd1cmU6MTk1 Nzk6IGNoZWNraW5nIGZvciBzdHJ1Y3QgdG0udG1fem9uZQpjb25maWd1cmU6MTk1Nzk6IGdjYyAt c3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE5NTc5OiAk PyA9IDAKY29uZmlndXJlOjE5NTc5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTk2NDc6IGNoZWNr aW5nIGZvciBzdHJ1Y3QgdG0udG1fZ210b2ZmCmNvbmZpZ3VyZToxOTY0NzogZ2NjIC1zdGQ9Z251 OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTk2NDc6ICQ/ID0gMApj b25maWd1cmU6MTk2NDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTY1ODogY2hlY2tpbmcgd2hl dGhlciBzdHJ0b2ltYXggaXMgZGVjbGFyZWQKY29uZmlndXJlOjE5NjU4OiBnY2MgLXN0ZD1nbnU5 OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxOTY1ODogJD8gPSAwCmNv bmZpZ3VyZToxOTY1ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5NjcxOiBjaGVja2luZyB3aGV0 aGVyIHN0cnRvdW1heCBpcyBkZWNsYXJlZApjb25maWd1cmU6MTk2NzE6IGdjYyAtc3RkPWdudTk5 IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE5NjcxOiAkPyA9IDAKY29u ZmlndXJlOjE5NjcxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTk2ODQ6IGNoZWNraW5nIHdoZXRo ZXIgc3RhdCBmaWxlLW1vZGUgbWFjcm9zIGFyZSBicm9rZW4KY29uZmlndXJlOjE5NzExOiBnY2Mg LXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxOTcxMTog JD8gPSAwCmNvbmZpZ3VyZToxOTcxODogcmVzdWx0OiBubwpjb25maWd1cmU6MTk3Mjg6IGNoZWNr aW5nIGZvciBtb2RlX3QKY29uZmlndXJlOjE5NzI4OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8y ICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxOTcyODogJD8gPSAwCmNvbmZpZ3VyZToxOTcy ODogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j OiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjUxOiBlcnJvcjogZXhwZWN0ZWQgZXhw cmVzc2lvbiBiZWZvcmUgJyknIHRva2VuCmNvbmZpZ3VyZToxOTcyODogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVt YWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAi MjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxM X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09V UkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFO REVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFW RV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9V VE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwg I2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmlu ZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwg I2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0Vf VE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVf TlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8 ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5l IEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBI QVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9T RVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1Qg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAx CnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUg SEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dF VEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VU SVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00g MQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJT IDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAx CnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2Rl ZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJ RkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9H RVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JF TlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAx CnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwg I2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhB VkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmlu ZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9H UkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZP IDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8 ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhB VkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBI QVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVf U1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FM VElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMg MQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAj ZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVm aW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZp bmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAj ZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxM X05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAx CnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVs bCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZp bmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcv Jwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9T RVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2Nf KSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIERPTlRfUkVPUEVOX1BUWSAxCnwg I2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJV UFRfSU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8 IDE7IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRURVIgJ3AnCnwgI2RlZmluZSBQVFlfT1BF TiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgmZmQsICZzbGF2ZSwgcHR5X25hbWUsIE5V TEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Nsb3NlIChzbGF2ZSk7IH0gd2hp bGUgKDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBUWV9UVFlf TkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgo RklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwgI2RlZmluZSBUQUIzIE9YVEFCUwp8ICNk ZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmlu ZSBCU0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RFTSAvKiovCnwgI2RlZmluZSBEQVJXSU5f T1MgLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJ TyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2Rl ZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2LWFwcGxlLWRhcndpbjEyLjEuMCIKfCAjZGVm aW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0td2l0aC1ucycgJy0tZW5hYmxlLW5zLXNlbGYt Y29udGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0Ff SCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8 ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJ WCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9f cmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmlu ZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgQklUU0laRU9GX1BUUkRJRkZfVCA2NAp8 ICNkZWZpbmUgQklUU0laRU9GX1NJWkVfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJR19BVE9N SUNfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dDSEFSX1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVP Rl9XSU5UX1QgMzIKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1NJR19BVE9NSUNfVCAxCnwgI2RlZmlu ZSBIQVZFX1NJR05FRF9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1dJTlRfVCAxCnwg I2RlZmluZSBQVFJESUZGX1RfU1VGRklYIGwKfCAjZGVmaW5lIFNJWkVfVF9TVUZGSVggdWwKfCAj ZGVmaW5lIFNJR19BVE9NSUNfVF9TVUZGSVggCnwgI2RlZmluZSBXQ0hBUl9UX1NVRkZJWCAKfCAj ZGVmaW5lIFdJTlRfVF9TVUZGSVggCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5l IEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX1RNX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVf VE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUlRPVU1BWCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxz dGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMu aD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3Rh dC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5o Pgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gK fCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVN T1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJp bmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmlu Z3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0 eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRp bnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3Rk Lmg+CnwgI2VuZGlmCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgobW9kZV90KSkp CnwgCSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE5NzI4 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTk3NDE6IGNoZWNraW5nIGZvciBzdHJ1Y3QgdGltZXNw ZWMgaW4gPHRpbWUuaD4KY29uZmlndXJlOjE5NzU4OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8y ICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxOTc1ODogJD8gPSAwCmNvbmZpZ3VyZToxOTc2 NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5OTE5OiBjaGVja2luZyB3aGV0aGVyIHRoZSB1dGlt ZXMgZnVuY3Rpb24gd29ya3MKY29uZmlndXJlOjIwMDM0OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MjAw MzQ6ICQ/ID0gMApjb25maWd1cmU6MjAwMzQ6IC4vY29uZnRlc3QKY29uZmlndXJlOjIwMDM0OiAk PyA9IDAKY29uZmlndXJlOjIwMDQ0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjAwNTc6IGNoZWNr aW5nIGZvciBzdHJ1Y3QgdXRpbWJ1Zgpjb25maWd1cmU6MjAwODA6IGdjYyAtc3RkPWdudTk5IC1j IC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIwMDgwOiAkPyA9IDAKY29uZmln dXJlOjIwMDg3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjAxMzc6IGNoZWNraW5nIGZvciBhbGxv Y2EgYXMgYSBjb21waWxlciBidWlsdC1pbgpjb25maWd1cmU6MjAxNjE6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToyMDE5NzogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBjbG9ja19nZXR0 aW1lCmNvbmZpZ3VyZToyMDIyODogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAg ICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKVW5kZWZpbmVkIHN5bWJvbHMgZm9yIGFyY2hp dGVjdHVyZSB4ODZfNjQ6CiAgIl9jbG9ja19nZXR0aW1lIiwgcmVmZXJlbmNlZCBmcm9tOgogICAg ICBfbWFpbiBpbiBjY3ZIWnQwSC5vCmxkOiBzeW1ib2wocykgbm90IGZvdW5kIGZvciBhcmNoaXRl Y3R1cmUgeDg2XzY0CmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3Vy ZToyMDIyODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVt YWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAx CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVO U0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09V UkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NF TUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQ RSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JF U09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVf UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmlu ZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVm aW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lT X1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZF X0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xP TkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBU RVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVf UFRIUkVBRCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBV U0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwg I2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1B SUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFW RV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xS QU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYg MQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBI QVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVU RE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lH TkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEK fCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwg I2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwg I2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEK fCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZp bmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVf U1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVN QUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5U IDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwg I2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNk ZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhB VkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJ Tl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQ X1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BF TlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZp bmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBI QVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RS VE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElO SyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAx CnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8 ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFW RV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5l IEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVm aW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QK fCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9O IDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZp bmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmlu ZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwg I2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAK fCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkK fCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVm aW5lIERPTlRfUkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rl di9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElP TiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRU RVIgJ3AnCnwgI2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgm ZmQsICZzbGF2ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVt YWNzX2Nsb3NlIChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRG IC8qKi8KfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJ TkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwg I2RlZmluZSBUQUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5l IEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RF TSAvKiovCnwgI2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFE IDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdo dCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJN X0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2LWFw cGxlLWRhcndpbjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0td2l0 aC1ucycgJy0tZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMg MQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEKfCAj ZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEK fCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5W IDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg QklUU0laRU9GX1BUUkRJRkZfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJWkVfVCA2NAp8ICNk ZWZpbmUgQklUU0laRU9GX1NJR19BVE9NSUNfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dDSEFS X1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9XSU5UX1QgMzIKfCAjZGVmaW5lIEhBVkVfU0lHTkVE X1NJR19BVE9NSUNfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9XQ0hBUl9UIDEKfCAjZGVmaW5l IEhBVkVfU0lHTkVEX1dJTlRfVCAxCnwgI2RlZmluZSBQVFJESUZGX1RfU1VGRklYIGwKfCAjZGVm aW5lIFNJWkVfVF9TVUZGSVggdWwKfCAjZGVmaW5lIFNJR19BVE9NSUNfVF9TVUZGSVggCnwgI2Rl ZmluZSBXQ0hBUl9UX1NVRkZJWCAKfCAjZGVmaW5lIFdJTlRfVF9TVUZGSVggCnwgI2RlZmluZSBI QVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9U TV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0EgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlk ZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2Ug Y2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAg ICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBw bHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFy IGNsb2NrX2dldHRpbWUgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gY2xvY2tfZ2V0 dGltZSAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIwMjI4OiBnY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1scnQgIC1scHRocmVh ZCAgPiY1IApsZDogbGlicmFyeSBub3QgZm91bmQgZm9yIC1scnQKY29sbGVjdDI6IGxkIHJldHVy bmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjIwMjI4OiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQu Mi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUw Igp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNF IDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09V UkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRM X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19V VFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAx CnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5l IEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9I IDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lT X1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUg SEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZF X05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVU X0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJf U0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hB VkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5l IFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lU X1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwg I2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmlu ZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9H RVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VU UlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAx CnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVm aW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dF VENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklO Rk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIg MQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNk ZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVm aW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhB VkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUg MQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5U IDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwg I2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVm aW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5l IEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5U IDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVf RlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQg MQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNk ZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmlu ZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VM RUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVB RExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VN QVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1Ig MQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2Rl ZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUg SEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFW RV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZF X0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUg X19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAx CnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVm aW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNk ZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VS X0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2Rl ZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18p ICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19E SVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgRE9OVF9SRU9QRU5fUFRZIDEKfCAjZGVmaW5l IERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBV VCAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsr KQp8ICNkZWZpbmUgRklSU1RfUFRZX0xFVFRFUiAncCcKfCAjZGVmaW5lIFBUWV9PUEVOICBkbyB7 IGludCBzbGF2ZTsgaWYgKG9wZW5wdHkgKCZmZCwgJnNsYXZlLCBwdHlfbmFtZSwgTlVMTCwgTlVM TCkgPT0gLTEpIGZkID0gLTE7IGVsc2UgZW1hY3NfY2xvc2UgKHNsYXZlKTsgfSB3aGlsZSAoMCkK fCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQ UklOVEYgLyoqLwp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfQ09VTlQoRklMRSkgKChGSUxFKS0+ X3AgLSAoRklMRSktPl9iZi5fYmFzZSkKfCAjZGVmaW5lIFRBQjMgT1hUQUJTCnwgI2RlZmluZSBH Q19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIEJTRDRf MiAvKiovCnwgI2RlZmluZSBCU0RfU1lTVEVNIC8qKi8KfCAjZGVmaW5lIERBUldJTl9PUyAvKiov CnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAj ZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIEVN QUNTX0NPTkZJR1VSQVRJT04gImkzODYtYXBwbGUtZGFyd2luMTIuMS4wIgp8ICNkZWZpbmUgRU1B Q1NfQ09ORklHX09QVElPTlMgIiAnLS13aXRoLW5zJyAnLS1lbmFibGUtbnMtc2VsZi1jb250YWlu ZWQnIgp8ICNkZWZpbmUgSEFWRV9NRU5VUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAj ZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1NUUk1PREUgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmlu ZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8K fCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmlj dAp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBCSVRTSVpFT0ZfUFRSRElGRl9UIDY0CnwgI2RlZmlu ZSBCSVRTSVpFT0ZfU0laRV9UIDY0CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0lHX0FUT01JQ19UIDMy CnwgI2RlZmluZSBCSVRTSVpFT0ZfV0NIQVJfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dJTlRf VCAzMgp8ICNkZWZpbmUgSEFWRV9TSUdORURfU0lHX0FUT01JQ19UIDEKfCAjZGVmaW5lIEhBVkVf U0lHTkVEX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TSUdORURfV0lOVF9UIDEKfCAjZGVmaW5l IFBUUkRJRkZfVF9TVUZGSVggbAp8ICNkZWZpbmUgU0laRV9UX1NVRkZJWCB1bAp8ICNkZWZpbmUg U0lHX0FUT01JQ19UX1NVRkZJWCAKfCAjZGVmaW5lIFdDSEFSX1RfU1VGRklYIAp8ICNkZWZpbmUg V0lOVF9UX1NVRkZJWCAKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9f Qk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1f VE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9HTVRP RkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRv IGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo ZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50 IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwg ZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgY2xvY2tfZ2V0dGltZSAoKTsKfCBpbnQKfCBtYWlu ICgpCnwgewp8IHJldHVybiBjbG9ja19nZXR0aW1lICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6MjAyMjg6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAg IGNvbmZ0ZXN0LmMgLWxwb3NpeDQgIC1scHRocmVhZCAgPiY1IApsZDogbGlicmFyeSBub3QgZm91 bmQgZm9yIC1scG9zaXg0CmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZp Z3VyZToyMDIyODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdF X0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0Ug ImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BP UCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VY VEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0Nf U09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFE X1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1f VFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhB VkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2Rl ZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAj ZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhf U1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBI QVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZF X0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmlu ZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmlu ZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAx CnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5l IE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUg SEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZF X0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENP TkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAx CnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmlu ZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9T SFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RS U0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRP IDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAx CnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAx CnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9S IDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhB VkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhf TUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBX RU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAx CnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8 ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5l IEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJ TFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQ R1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhf T1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmlu ZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVf U1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lN TElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1F UyAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMg MQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVm aW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAj ZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJp Y3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNU SU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNk ZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2Rl ZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29z CnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18p IDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NF UCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAj ZGVmaW5lIERPTlRfUkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAi L2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJB VElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9M RVRURVIgJ3AnCnwgI2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5 ICgmZmQsICZzbGF2ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNl IGVtYWNzX2Nsb3NlIChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJ TlRGIC8qKi8KfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBF TkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2Up CnwgI2RlZmluZSBUQUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVm aW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZ U1RFTSAvKiovCnwgI2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05S RUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHly aWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBU RVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2 LWFwcGxlLWRhcndpbjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0t d2l0aC1ucycgJy0tZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVO VVMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwg I2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEK fCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZ IDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VU RU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdO RURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZp bmUgQklUU0laRU9GX1BUUkRJRkZfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJWkVfVCA2NAp8 ICNkZWZpbmUgQklUU0laRU9GX1NJR19BVE9NSUNfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dD SEFSX1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9XSU5UX1QgMzIKfCAjZGVmaW5lIEhBVkVfU0lH TkVEX1NJR19BVE9NSUNfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9XQ0hBUl9UIDEKfCAjZGVm aW5lIEhBVkVfU0lHTkVEX1dJTlRfVCAxCnwgI2RlZmluZSBQVFJESUZGX1RfU1VGRklYIGwKfCAj ZGVmaW5lIFNJWkVfVF9TVUZGSVggdWwKfCAjZGVmaW5lIFNJR19BVE9NSUNfVF9TVUZGSVggCnwg I2RlZmluZSBXQ0hBUl9UX1NVRkZJWCAKfCAjZGVmaW5lIFdJTlRfVF9TVUZGSVggCnwgI2RlZmlu ZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9X Q0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFW RV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBI QVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0EgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVy cmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBV c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MK fCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwg YXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBj aGFyIGNsb2NrX2dldHRpbWUgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gY2xvY2tf Z2V0dGltZSAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIwMjQ1OiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZToyMDI1NzogY2hlY2tpbmcgZm9yIGNsb2NrX2dldHRpbWUKY29uZmln dXJlOjIwMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVz dC5jIC1scHRocmVhZCAgPiY1IApVbmRlZmluZWQgc3ltYm9scyBmb3IgYXJjaGl0ZWN0dXJlIHg4 Nl82NDoKICAiX2Nsb2NrX2dldHRpbWUiLCByZWZlcmVuY2VkIGZyb206CiAgICAgIF9tYWluIGlu IGNjVWpnMEVFLm8KbGQ6IHN5bWJvbChzKSBub3QgZm91bmQgZm9yIGFyY2hpdGVjdHVyZSB4ODZf NjQKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjIwMjU3OiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIi CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2Rl ZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEK fCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNk ZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEK fCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4i CnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwg I2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFM TE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9F WEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1Rf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lT X1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BF RURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19I IDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05B TUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVS ICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEK fCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8 ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhB VkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxP Q0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElS IDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwg I2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmlu ZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhB VkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJ RCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNk ZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUg SEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhB VkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUg SEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dF VERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAj ZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwg I2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZp bmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhB VkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZF X0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00g MQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9J TklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwg I2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNk ZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dF VFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0g MQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNL IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8 ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVm aW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5l IEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBI QVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf VkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBS SU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9N QlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUg QU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZp bmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RF VklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nl c3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJ UkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUg SVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUg SVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgRE9OVF9S RU9QRU5fUFRZIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAj ZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBm b3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgRklSU1RfUFRZX0xFVFRFUiAncCcKfCAj ZGVmaW5lIFBUWV9PUEVOICBkbyB7IGludCBzbGF2ZTsgaWYgKG9wZW5wdHkgKCZmZCwgJnNsYXZl LCBwdHlfbmFtZSwgTlVMTCwgTlVMTCkgPT0gLTEpIGZkID0gLTE7IGVsc2UgZW1hY3NfY2xvc2Ug KHNsYXZlKTsgfSB3aGlsZSAoMCkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNk ZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRf Q09VTlQoRklMRSkgKChGSUxFKS0+X3AgLSAoRklMRSktPl9iZi5fYmFzZSkKfCAjZGVmaW5lIFRB QjMgT1hUQUJTCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VU Sk1QIDEKfCAjZGVmaW5lIEJTRDRfMiAvKiovCnwgI2RlZmluZSBCU0RfU1lTVEVNIC8qKi8KfCAj ZGVmaW5lIERBUldJTl9PUyAvKiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZp bmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEy IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJu c3Rlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gImkzODYtYXBwbGUtZGFyd2lu MTIuMS4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS13aXRoLW5zJyAnLS1l bmFibGUtbnMtc2VsZi1jb250YWluZWQnIgp8ICNkZWZpbmUgSEFWRV9NRU5VUyAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVf Qzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMQp8ICNkZWZpbmUgSEFW RV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUg X19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZp bmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdf SU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBCSVRTSVpFT0Zf UFRSRElGRl9UIDY0CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0laRV9UIDY0CnwgI2RlZmluZSBCSVRT SVpFT0ZfU0lHX0FUT01JQ19UIDMyCnwgI2RlZmluZSBCSVRTSVpFT0ZfV0NIQVJfVCAzMgp8ICNk ZWZpbmUgQklUU0laRU9GX1dJTlRfVCAzMgp8ICNkZWZpbmUgSEFWRV9TSUdORURfU0lHX0FUT01J Q19UIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TSUdO RURfV0lOVF9UIDEKfCAjZGVmaW5lIFBUUkRJRkZfVF9TVUZGSVggbAp8ICNkZWZpbmUgU0laRV9U X1NVRkZJWCB1bAp8ICNkZWZpbmUgU0lHX0FUT01JQ19UX1NVRkZJWCAKfCAjZGVmaW5lIFdDSEFS X1RfU1VGRklYIAp8ICNkZWZpbmUgV0lOVF9UX1NVRkZJWCAKfCAjZGVmaW5lIEhBVkVfU0lHU0VU X1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX1pPTkUgMQp8 ICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19V VElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBIQVZFX0FM TE9DQSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBjbG9ja19nZXR0aW1l IHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgY2xv Y2tfZ2V0dGltZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFy ZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGNsb2NrX2dldHRpbWUgaW5ub2N1b3VzX2Ns b2NrX2dldHRpbWUKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9z IGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3 aXRoIGNoYXIgY2xvY2tfZ2V0dGltZSAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+ IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0 cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZk ZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxh c3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgY2xvY2tfZ2V0dGltZQp8IAp8IC8qIE92ZXJy aWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVz ZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8 ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBh cHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNo YXIgY2xvY2tfZ2V0dGltZSAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMg Zm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdp dGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0 aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAq Lwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9jbG9ja19nZXR0aW1lIHx8IGRlZmluZWQgX19zdHViX19f Y2xvY2tfZ2V0dGltZQp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsK fCByZXR1cm4gY2xvY2tfZ2V0dGltZSAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln dXJlOjIwMjU3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyMDI1NzogY2hlY2tpbmcgZm9yIGNsb2Nr X3NldHRpbWUKY29uZmlndXJlOjIwMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMg LU8yICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApVbmRlZmluZWQgc3ltYm9scyBmb3Ig YXJjaGl0ZWN0dXJlIHg4Nl82NDoKICAiX2Nsb2NrX3NldHRpbWUiLCByZWZlcmVuY2VkIGZyb206 CiAgICAgIF9tYWluIGluIGNjR3VEbzFHLm8KbGQ6IHN5bWJvbChzKSBub3QgZm91bmQgZm9yIGFy Y2hpdGVjdHVyZSB4ODZfNjQKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29u ZmlndXJlOjIwMjU3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FH RSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0Vf UE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9f RVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5f Q19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJF QURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RF TV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAj ZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8 ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lU SF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5l IEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhB VkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVm aW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVm aW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09B IDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZp bmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhB VkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRI Q09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVm aW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZF X1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9T VFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5E VE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJT IDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJS T1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwg I2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUg SEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJ WF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5E UFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5U IDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAx CnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZp bmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19C VUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdF VFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJ WF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwg I2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVm aW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVf UFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFW RV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9T WU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJ TUVTIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VU UyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmlu ZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNk ZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8 ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0 cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRF Q1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwg I2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAj ZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vj b3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9j XykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllf U0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8 ICNkZWZpbmUgRE9OVF9SRU9QRU5fUFRZIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNF ICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBQVFlfSVRF UkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgRklSU1RfUFRZ X0xFVFRFUiAncCcKfCAjZGVmaW5lIFBUWV9PUEVOICBkbyB7IGludCBzbGF2ZTsgaWYgKG9wZW5w dHkgKCZmZCwgJnNsYXZlLCBwdHlfbmFtZSwgTlVMTCwgTlVMTCkgPT0gLTEpIGZkID0gLTE7IGVs c2UgZW1hY3NfY2xvc2UgKHNsYXZlKTsgfSB3aGlsZSAoMCkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQ UklOVEYgLyoqLwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUg UEVORElOR19PVVRQVVRfQ09VTlQoRklMRSkgKChGSUxFKS0+X3AgLSAoRklMRSktPl9iZi5fYmFz ZSkKfCAjZGVmaW5lIFRBQjMgT1hUQUJTCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNk ZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIEJTRDRfMiAvKiovCnwgI2RlZmluZSBCU0Rf U1lTVEVNIC8qKi8KfCAjZGVmaW5lIERBUldJTl9PUyAvKiovCnwgI2RlZmluZSBVU0FCTEVfRklP TlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29w eXJpZ2h0IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5l IFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gImkz ODYtYXBwbGUtZGFyd2luMTIuMS4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAn LS13aXRoLW5zJyAnLS1lbmFibGUtbnMtc2VsZi1jb250YWluZWQnIgp8ICNkZWZpbmUgSEFWRV9N RU5VUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEK fCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUg MQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09O TFkgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9H RVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJ R05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2Rl ZmluZSBCSVRTSVpFT0ZfUFRSRElGRl9UIDY0CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0laRV9UIDY0 CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0lHX0FUT01JQ19UIDMyCnwgI2RlZmluZSBCSVRTSVpFT0Zf V0NIQVJfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dJTlRfVCAzMgp8ICNkZWZpbmUgSEFWRV9T SUdORURfU0lHX0FUT01JQ19UIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1dDSEFSX1QgMQp8ICNk ZWZpbmUgSEFWRV9TSUdORURfV0lOVF9UIDEKfCAjZGVmaW5lIFBUUkRJRkZfVF9TVUZGSVggbAp8 ICNkZWZpbmUgU0laRV9UX1NVRkZJWCB1bAp8ICNkZWZpbmUgU0lHX0FUT01JQ19UX1NVRkZJWCAK fCAjZGVmaW5lIFdDSEFSX1RfU1VGRklYIAp8ICNkZWZpbmUgV0lOVF9UX1NVRkZJWCAKfCAjZGVm aW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZF X1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxCnwgI2RlZmluZSBI QVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5l IEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwg I2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmlu ZSBjbG9ja19zZXR0aW1lIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMu aD4gZGVjbGFyZXMgY2xvY2tfc2V0dGltZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxs aW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGNsb2NrX3NldHRp bWUgaW5ub2N1b3VzX2Nsb2NrX3NldHRpbWUKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmlu ZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNo IGNhbiBjb25mbGljdCB3aXRoIGNoYXIgY2xvY2tfc2V0dGltZSAoKTsgYmVsb3cuCnwgICAgIFBy ZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2lu Y2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJz LiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNl CnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgY2xvY2tfc2V0dGlt ZQp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFu IGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4g dHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlw ZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJD Igp8ICNlbmRpZgp8IGNoYXIgY2xvY2tfc2V0dGltZSAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFy eSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRv IGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5h bWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUg aXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9jbG9ja19zZXR0aW1lIHx8IGRl ZmluZWQgX19zdHViX19fY2xvY2tfc2V0dGltZQp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50 CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gY2xvY2tfc2V0dGltZSAoKTsKfCAgIDsKfCAgIHJldHVy biAwOwp8IH0KY29uZmlndXJlOjIwMjU3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyMDI5NjogY2hl Y2tpbmcgd2hldGhlciBkdXAyIHdvcmtzCmNvbmZpZ3VyZToyMDM1MDogZ2NjIC1zdGQ9Z251OTkg LW8gY29uZnRlc3QgLWczIC1PMiAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmln dXJlOjIwMzUwOiAkPyA9IDAKY29uZmlndXJlOjIwMzUwOiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToy MDM1MDogJD8gPSAwCmNvbmZpZ3VyZToyMDM2MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIwNDE2 OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIGJhY2t0cmFjZV9zeW1ib2xzX2ZkCmNv bmZpZ3VyZToyMDQ0NzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgY29u ZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjIwNDQ3OiAkPyA9IDAKY29uZmlndXJl OjIwNDY0OiByZXN1bHQ6IG5vbmUgcmVxdWlyZWQKY29uZmlndXJlOjIwNTE2OiBjaGVja2luZyBm b3IgZ2V0bG9hZGF2Zwpjb25maWd1cmU6MjA1MTY6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyMDUxNjog JD8gPSAwCmNvbmZpZ3VyZToyMDUxNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIwODc0OiBjaGVj a2luZyBzeXMvbG9hZGF2Zy5oIHVzYWJpbGl0eQpjb25maWd1cmU6MjA4NzQ6IGdjYyAtc3RkPWdu dTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoyNTI6MjU6IGVycm9y OiBzeXMvbG9hZGF2Zy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToyMDg3 NDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8 ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNf XyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEK fCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElD UyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFy d2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNF X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0gg MQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZF X01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhB VkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VM RUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9f X1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZF X1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQURE UlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURB RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklM RV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hF QURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElN IDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmlu ZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNF X0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9T RURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDgg MQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNk ZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZF X0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NF VFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAx CnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEK fCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVm aW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmlu ZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVm aW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFW RV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAx CnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04g MQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAj ZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmlu ZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUg SEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFO RE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJ TkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQg MQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEK fCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFW RV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FM QVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lH TUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwg I2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2Rl ZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZp bmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JL SU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVf U05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhB VkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVm aW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAj ZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVM TF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJw cm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmlu ZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVm aW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVm aW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIERP TlRfUkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3Ai CnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQg aTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRURVIgJ3An CnwgI2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgmZmQsICZz bGF2ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Ns b3NlIChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8K fCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJTkdfT1VU UFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwgI2RlZmlu ZSBUQUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVf X1NFVEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RFTSAvKiov CnwgI2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAj ZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykg MjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURF UiAibnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2LWFwcGxlLWRh cndpbjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0td2l0aC1ucycg Jy0tZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBI QVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEKfCAjZGVmaW5l IEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVm aW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAj ZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgQklUU0la RU9GX1BUUkRJRkZfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJWkVfVCA2NAp8ICNkZWZpbmUg QklUU0laRU9GX1NJR19BVE9NSUNfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dDSEFSX1QgMzIK fCAjZGVmaW5lIEJJVFNJWkVPRl9XSU5UX1QgMzIKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1NJR19B VE9NSUNfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVf U0lHTkVEX1dJTlRfVCAxCnwgI2RlZmluZSBQVFJESUZGX1RfU1VGRklYIGwKfCAjZGVmaW5lIFNJ WkVfVF9TVUZGSVggdWwKfCAjZGVmaW5lIFNJR19BVE9NSUNfVF9TVUZGSVggCnwgI2RlZmluZSBX Q0hBUl9UX1NVRkZJWCAKfCAjZGVmaW5lIFdJTlRfVF9TVUZGSVggCnwgI2RlZmluZSBIQVZFX1NJ R1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9aT05F IDEKfCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lN QVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1dPUktJ TkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgSEFW RV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1 ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGlu Y2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5j bHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYg SEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRl ZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAj IGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMg aW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAj IGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAj IGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBp bmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8c3lzL2xvYWRhdmcuaD4KY29u ZmlndXJlOjIwODc0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyMDg3NDogY2hlY2tpbmcgc3lzL2xv YWRhdmcuaCBwcmVzZW5jZQpjb25maWd1cmU6MjA4NzQ6IGdjYyAtRSAgICBjb25mdGVzdC5jCmNv bmZ0ZXN0LmM6MjE5OjI1OiBlcnJvcjogc3lzL2xvYWRhdmcuaDogTm8gc3VjaCBmaWxlIG9yIGRp cmVjdG9yeQpjb25maWd1cmU6MjA4NzQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl ZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmlu ZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZp bmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBf UE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNk ZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAx CnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5l IEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRP UFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZp bmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19X QUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0gg MQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8 ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgTlNfSEFWRV9OU0lOVEVH RVIgMQp8ICNkZWZpbmUgVEVSTV9IRUFERVIgIm5zdGVybS5oIgp8ICNkZWZpbmUgU1lTVEVNX01B TExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JB UlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX05TIDEKfCAjZGVmaW5lIE5T X0lNUExfQ09DT0EgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElC TSAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1F IDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8 ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5l IEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9V VElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElN SVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAj ZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmlu ZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVf R0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZF X0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZF X0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9H RVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAx CnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmlu ZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZp bmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhB VkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9D RlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRX RCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZp bmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8 ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmlu ZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZF X1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNU QVQgMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwg I2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2Rl ZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmlu ZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVf SU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JL IDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9f Q09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0 X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5l IENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9T T0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBD SEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1F IHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RF VklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09 IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9T RVAgKF9jXykpCnwgI2RlZmluZSBET05UX1JFT1BFTl9QVFkgMQp8ICNkZWZpbmUgREVGQVVMVF9T T1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVm aW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAoaSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmlu ZSBGSVJTVF9QVFlfTEVUVEVSICdwJwp8ICNkZWZpbmUgUFRZX09QRU4gIGRvIHsgaW50IHNsYXZl OyBpZiAob3BlbnB0eSAoJmZkLCAmc2xhdmUsIHB0eV9uYW1lLCBOVUxMLCBOVUxMKSA9PSAtMSkg ZmQgPSAtMTsgZWxzZSBlbWFjc19jbG9zZSAoc2xhdmUpOyB9IHdoaWxlICgwKQp8ICNkZWZpbmUg UFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiAvKiov CnwgI2RlZmluZSBQRU5ESU5HX09VVFBVVF9DT1VOVChGSUxFKSAoKEZJTEUpLT5fcCAtIChGSUxF KS0+X2JmLl9iYXNlKQp8ICNkZWZpbmUgVEFCMyBPWFRBQlMKfCAjZGVmaW5lIEdDX1NFVEpNUF9X T1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgQlNENF8yIC8qKi8KfCAj ZGVmaW5lIEJTRF9TWVNURU0gLyoqLwp8ICNkZWZpbmUgREFSV0lOX09TIC8qKi8KfCAjZGVmaW5l IFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBVU0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09Q WVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu Igp8ICNkZWZpbmUgVEVSTV9IRUFERVIgIm5zdGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklH VVJBVElPTiAiaTM4Ni1hcHBsZS1kYXJ3aW4xMi4xLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdf T1BUSU9OUyAiICctLXdpdGgtbnMnICctLWVuYWJsZS1ucy1zZWxmLWNvbnRhaW5lZCciCnwgI2Rl ZmluZSBIQVZFX01FTlVTIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFW RV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSTU9ERSAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VU T1BUX0xPTkdfT05MWSAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUg SEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmlu ZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdf SU5UIDEKfCAjZGVmaW5lIEJJVFNJWkVPRl9QVFJESUZGX1QgNjQKfCAjZGVmaW5lIEJJVFNJWkVP Rl9TSVpFX1QgNjQKfCAjZGVmaW5lIEJJVFNJWkVPRl9TSUdfQVRPTUlDX1QgMzIKfCAjZGVmaW5l IEJJVFNJWkVPRl9XQ0hBUl9UIDMyCnwgI2RlZmluZSBCSVRTSVpFT0ZfV0lOVF9UIDMyCnwgI2Rl ZmluZSBIQVZFX1NJR05FRF9TSUdfQVRPTUlDX1QgMQp8ICNkZWZpbmUgSEFWRV9TSUdORURfV0NI QVJfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9XSU5UX1QgMQp8ICNkZWZpbmUgUFRSRElGRl9U X1NVRkZJWCBsCnwgI2RlZmluZSBTSVpFX1RfU1VGRklYIHVsCnwgI2RlZmluZSBTSUdfQVRPTUlD X1RfU1VGRklYIAp8ICNkZWZpbmUgV0NIQVJfVF9TVUZGSVggCnwgI2RlZmluZSBXSU5UX1RfU1VG RklYIAp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9UTV9UTV9aT05FIDEK fCAjZGVmaW5lIEhBVkVfVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVgg MQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9V VElNQlVGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvbG9hZGF2Zy5oPgpjb25maWd1 cmU6MjA4NzQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjIwODc0OiBjaGVja2luZyBmb3Igc3lzL2xv YWRhdmcuaApjb25maWd1cmU6MjA4NzQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjIwODg5OiBjaGVj a2luZyB3aGV0aGVyIGdldGxvYWRhdmcgaXMgZGVjbGFyZWQKY29uZmlndXJlOjIwODg5OiBnY2Mg LXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMDg4OTog JD8gPSAwCmNvbmZpZ3VyZToyMDg4OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIxMTM5OiBjaGVj a2luZyB3aGV0aGVyIGdldHRpbWVvZmRheSBjbG9iYmVycyBsb2NhbHRpbWUgYnVmZmVyCmNvbmZp Z3VyZToyMTE3ODogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgY29uZnRl c3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjIxMTc4OiAkPyA9IDAKY29uZmlndXJlOjIx MTc4OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyMTE3ODogJD8gPSAwCmNvbmZpZ3VyZToyMTE4ODog cmVzdWx0OiBubwpjb25maWd1cmU6MjEyMDg6IGNoZWNraW5nIGZvciBnZXR0aW1lb2ZkYXkgd2l0 aCBQT1NJWCBzaWduYXR1cmUKY29uZmlndXJlOjIxMjM2OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMg LU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMTIzNjogJD8gPSAwCmNvbmZpZ3VyZToy MTI2MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIxMzgyOiBjaGVja2luZyBmb3Igd29ya2luZyBt a3RpbWUKY29uZmlndXJlOjIxNTg3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8y ICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MjE1ODc6ICQ/ID0gMApj b25maWd1cmU6MjE1ODc6IC4vY29uZnRlc3QKY29uZmlndXJlOjIxNTg3OiAkPyA9IDEKY29uZmln dXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj ZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVm aW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2Rl ZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5l IF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwg I2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9I IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZp bmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dF VE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFS X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2Rl ZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNU IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lT X1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZf SCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAx CnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5U RUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1f TUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQ IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExf QkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUg TlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9M SUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5B TUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAx CnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZp bmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFW RV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZF X1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8 ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAj ZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVm aW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFW RV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhB VkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZF X0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5D IDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVm aW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2Rl ZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUg SEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZF X0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dF VFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2Rl ZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAx CnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVm aW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhB VkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9M U1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwg I2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEK fCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVm aW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZP UksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lO R19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5G T19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJp Y3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZp bmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZF X1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNF UENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05B TUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNf REVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykg PT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZ X1NFUCAoX2NfKSkKfCAjZGVmaW5lIERPTlRfUkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxU X1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNk ZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVm aW5lIEZJUlNUX1BUWV9MRVRURVIgJ3AnCnwgI2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xh dmU7IGlmIChvcGVucHR5ICgmZmQsICZzbGF2ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0x KSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Nsb3NlIChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmlu ZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8q Ki8KfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJ TEUpLT5fYmYuX2Jhc2UpCnwgI2RlZmluZSBUQUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1Q X1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8 ICNkZWZpbmUgQlNEX1NZU1RFTSAvKiovCnwgI2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZp bmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBD T1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05G SUdVUkFUSU9OICJpMzg2LWFwcGxlLWRhcndpbjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJ R19PUFRJT05TICIgJy0td2l0aC1ucycgJy0tZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAj ZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBI QVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TVFJNT0RFIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9H RVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVm aW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgQklUU0laRU9GX1BUUkRJRkZfVCA2NAp8ICNkZWZpbmUgQklUU0la RU9GX1NJWkVfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJR19BVE9NSUNfVCAzMgp8ICNkZWZp bmUgQklUU0laRU9GX1dDSEFSX1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9XSU5UX1QgMzIKfCAj ZGVmaW5lIEhBVkVfU0lHTkVEX1NJR19BVE9NSUNfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9X Q0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1dJTlRfVCAxCnwgI2RlZmluZSBQVFJESUZG X1RfU1VGRklYIGwKfCAjZGVmaW5lIFNJWkVfVF9TVUZGSVggdWwKfCAjZGVmaW5lIFNJR19BVE9N SUNfVF9TVUZGSVggCnwgI2RlZmluZSBXQ0hBUl9UX1NVRkZJWCAKfCAjZGVmaW5lIFdJTlRfVF9T VUZGSVggCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUg MQp8ICNkZWZpbmUgSEFWRV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1B WCAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1VUSU1CVUYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEK fCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElN RVpPTkUgdm9pZAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBUZXN0IHByb2dyYW0gZnJv bSBQYXVsIEVnZ2VydCBhbmQgVG9ueSBMZW5laXMuICAqLwp8ICNpbmNsdWRlIDxsaW1pdHMuaD4K fCAjaW5jbHVkZSA8c3RkbGliLmg+CnwgI2luY2x1ZGUgPHRpbWUuaD4KfCAKfCAjaWZkZWYgSEFW RV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgCnwgI2lmbmRlZiBI QVZFX0FMQVJNCnwgIyBkZWZpbmUgYWxhcm0oWCkgLyogZW1wdHkgKi8KfCAjZW5kaWYKfCAKfCAv KiBXb3JrIGFyb3VuZCByZWRlZmluaXRpb24gdG8gcnBsX3B1dGVudiBieSBvdGhlciBjb25maWcg dGVzdHMuICAqLwp8ICN1bmRlZiBwdXRlbnYKfCAKfCBzdGF0aWMgdGltZV90IHRpbWVfdF9tYXg7 Cnwgc3RhdGljIHRpbWVfdCB0aW1lX3RfbWluOwp8IAp8IC8qIFZhbHVlcyB3ZSdsbCB1c2UgdG8g c2V0IHRoZSBUWiBlbnZpcm9ubWVudCB2YXJpYWJsZS4gICovCnwgc3RhdGljIGNoYXIgKnR6X3N0 cmluZ3NbXSA9IHsKfCAgIChjaGFyICopIDAsICJUWj1HTVQwIiwgIlRaPUpTVC05IiwKfCAgICJU Wj1FU1QrM0VEVCsyLE0xMC4xLjAvMDA6MDA6MDAsTTIuMy4wLzAwOjAwOjAwIgp8IH07CnwgI2Rl ZmluZSBOX1NUUklOR1MgKHNpemVvZiAodHpfc3RyaW5ncykgLyBzaXplb2YgKHR6X3N0cmluZ3Nb MF0pKQp8IAp8IC8qIFJldHVybiAwIGlmIG1rdGltZSBmYWlscyB0byBjb252ZXJ0IGEgZGF0ZSBp biB0aGUgc3ByaW5nLWZvcndhcmQgZ2FwLgp8ICAgIEJhc2VkIG9uIGEgcHJvYmxlbSByZXBvcnQg ZnJvbSBBbmRyZWFzIEphZWdlci4gICovCnwgc3RhdGljIGludAp8IHNwcmluZ19mb3J3YXJkX2dh cCAoKQp8IHsKfCAgIC8qIGdsaWJjICh1cCB0byBhYm91dCAxOTk4LTEwLTA3KSBmYWlsZWQgdGhp cyB0ZXN0LiAqLwp8ICAgc3RydWN0IHRtIHRtOwp8IAp8ICAgLyogVXNlIHRoZSBwb3J0YWJsZSBQ T1NJWC4xIHNwZWNpZmljYXRpb24gIlRaPVBTVDhQRFQsTTQuMS4wLE0xMC41LjAiCnwgICAgICBp bnN0ZWFkIG9mICJUWj1BbWVyaWNhL1ZhbmNvdXZlciIgaW4gb3JkZXIgdG8gZGV0ZWN0IHRoZSBi dWcgZXZlbgp8ICAgICAgb24gc3lzdGVtcyB0aGF0IGRvbid0IHN1cHBvcnQgdGhlIE9sc29uIGV4 dGVuc2lvbiwgb3IgZG9uJ3QgaGF2ZSB0aGUKfCAgICAgIGZ1bGwgem9uZWluZm8gdGFibGVzIGlu c3RhbGxlZC4gICovCnwgICBwdXRlbnYgKCJUWj1QU1Q4UERULE00LjEuMCxNMTAuNS4wIik7Cnwg CnwgICB0bS50bV95ZWFyID0gOTg7CnwgICB0bS50bV9tb24gPSAzOwp8ICAgdG0udG1fbWRheSA9 IDU7CnwgICB0bS50bV9ob3VyID0gMjsKfCAgIHRtLnRtX21pbiA9IDA7CnwgICB0bS50bV9zZWMg PSAwOwp8ICAgdG0udG1faXNkc3QgPSAtMTsKfCAgIHJldHVybiBta3RpbWUgKCZ0bSkgIT0gKHRp bWVfdCkgLTE7CnwgfQp8IAp8IHN0YXRpYyBpbnQKfCBta3RpbWVfdGVzdDEgKHRpbWVfdCBub3cp Cnwgewp8ICAgc3RydWN0IHRtICpsdDsKfCAgIHJldHVybiAhIChsdCA9IGxvY2FsdGltZSAoJm5v dykpIHx8IG1rdGltZSAobHQpID09IG5vdzsKfCB9CnwgCnwgc3RhdGljIGludAp8IG1rdGltZV90 ZXN0ICh0aW1lX3Qgbm93KQp8IHsKfCAgIHJldHVybiAobWt0aW1lX3Rlc3QxIChub3cpCnwgICAg ICAgICAgICYmIG1rdGltZV90ZXN0MSAoKHRpbWVfdCkgKHRpbWVfdF9tYXggLSBub3cpKQp8ICAg ICAgICAgICAmJiBta3RpbWVfdGVzdDEgKCh0aW1lX3QpICh0aW1lX3RfbWluICsgbm93KSkpOwp8 IH0KfCAKfCBzdGF0aWMgaW50CnwgaXJpeF82XzRfYnVnICgpCnwgewp8ICAgLyogQmFzZWQgb24g Y29kZSBmcm9tIEFyaWVsIEZhaWdvbi4gICovCnwgICBzdHJ1Y3QgdG0gdG07CnwgICB0bS50bV95 ZWFyID0gOTY7CnwgICB0bS50bV9tb24gPSAzOwp8ICAgdG0udG1fbWRheSA9IDA7CnwgICB0bS50 bV9ob3VyID0gMDsKfCAgIHRtLnRtX21pbiA9IDA7CnwgICB0bS50bV9zZWMgPSAwOwp8ICAgdG0u dG1faXNkc3QgPSAtMTsKfCAgIG1rdGltZSAoJnRtKTsKfCAgIHJldHVybiB0bS50bV9tb24gPT0g MiAmJiB0bS50bV9tZGF5ID09IDMxOwp8IH0KfCAKfCBzdGF0aWMgaW50CnwgYmlndGltZV90ZXN0 IChpbnQgaikKfCB7CnwgICBzdHJ1Y3QgdG0gdG07CnwgICB0aW1lX3Qgbm93Owp8ICAgdG0udG1f eWVhciA9IHRtLnRtX21vbiA9IHRtLnRtX21kYXkgPSB0bS50bV9ob3VyID0gdG0udG1fbWluID0g dG0udG1fc2VjID0gajsKfCAgIG5vdyA9IG1rdGltZSAoJnRtKTsKfCAgIGlmIChub3cgIT0gKHRp bWVfdCkgLTEpCnwgICAgIHsKfCAgICAgICBzdHJ1Y3QgdG0gKmx0ID0gbG9jYWx0aW1lICgmbm93 KTsKfCAgICAgICBpZiAoISAobHQKfCAgICAgICAgICAgICAgJiYgbHQtPnRtX3llYXIgPT0gdG0u dG1feWVhcgp8ICAgICAgICAgICAgICAmJiBsdC0+dG1fbW9uID09IHRtLnRtX21vbgp8ICAgICAg ICAgICAgICAmJiBsdC0+dG1fbWRheSA9PSB0bS50bV9tZGF5CnwgICAgICAgICAgICAgICYmIGx0 LT50bV9ob3VyID09IHRtLnRtX2hvdXIKfCAgICAgICAgICAgICAgJiYgbHQtPnRtX21pbiA9PSB0 bS50bV9taW4KfCAgICAgICAgICAgICAgJiYgbHQtPnRtX3NlYyA9PSB0bS50bV9zZWMKfCAgICAg ICAgICAgICAgJiYgbHQtPnRtX3lkYXkgPT0gdG0udG1feWRheQp8ICAgICAgICAgICAgICAmJiBs dC0+dG1fd2RheSA9PSB0bS50bV93ZGF5CnwgICAgICAgICAgICAgICYmICgobHQtPnRtX2lzZHN0 IDwgMCA/IC0xIDogMCA8IGx0LT50bV9pc2RzdCkKfCAgICAgICAgICAgICAgICAgICA9PSAodG0u dG1faXNkc3QgPCAwID8gLTEgOiAwIDwgdG0udG1faXNkc3QpKSkpCnwgICAgICAgICByZXR1cm4g MDsKfCAgICAgfQp8ICAgcmV0dXJuIDE7CnwgfQp8IAp8IHN0YXRpYyBpbnQKfCB5ZWFyXzIwNTBf dGVzdCAoKQp8IHsKfCAgIC8qIFRoZSBjb3JyZWN0IGFuc3dlciBmb3IgMjA1MC0wMi0wMSAwMDow MDowMCBpbiBQYWNpZmljIHRpbWUsCnwgICAgICBpZ25vcmluZyBsZWFwIHNlY29uZHMuICAqLwp8 ICAgdW5zaWduZWQgbG9uZyBpbnQgYW5zd2VyID0gMjUyNzMxNTIwMFVMOwp8IAp8ICAgc3RydWN0 IHRtIHRtOwp8ICAgdGltZV90IHQ7CnwgICB0bS50bV95ZWFyID0gMjA1MCAtIDE5MDA7CnwgICB0 bS50bV9tb24gPSAyIC0gMTsKfCAgIHRtLnRtX21kYXkgPSAxOwp8ICAgdG0udG1faG91ciA9IHRt LnRtX21pbiA9IHRtLnRtX3NlYyA9IDA7CnwgICB0bS50bV9pc2RzdCA9IC0xOwp8IAp8ICAgLyog VXNlIHRoZSBwb3J0YWJsZSBQT1NJWC4xIHNwZWNpZmljYXRpb24gIlRaPVBTVDhQRFQsTTQuMS4w LE0xMC41LjAiCnwgICAgICBpbnN0ZWFkIG9mICJUWj1BbWVyaWNhL1ZhbmNvdXZlciIgaW4gb3Jk ZXIgdG8gZGV0ZWN0IHRoZSBidWcgZXZlbgp8ICAgICAgb24gc3lzdGVtcyB0aGF0IGRvbid0IHN1 cHBvcnQgdGhlIE9sc29uIGV4dGVuc2lvbiwgb3IgZG9uJ3QgaGF2ZSB0aGUKfCAgICAgIGZ1bGwg em9uZWluZm8gdGFibGVzIGluc3RhbGxlZC4gICovCnwgICBwdXRlbnYgKCJUWj1QU1Q4UERULE00 LjEuMCxNMTAuNS4wIik7CnwgCnwgICB0ID0gbWt0aW1lICgmdG0pOwp8IAp8ICAgLyogQ2hlY2sg dGhhdCB0aGUgcmVzdWx0IGlzIGVpdGhlciBhIGZhaWx1cmUsIG9yIGNsb3NlIGVub3VnaAp8ICAg ICAgdG8gdGhlIGNvcnJlY3QgYW5zd2VyIHRoYXQgd2UgY2FuIGFzc3VtZSB0aGUgZGlzY3JlcGFu Y3kgaXMKfCAgICAgIGR1ZSB0byBsZWFwIHNlY29uZHMuICAqLwp8ICAgcmV0dXJuICh0ID09ICh0 aW1lX3QpIC0xCnwgICAgICAgICAgIHx8ICgwIDwgdCAmJiBhbnN3ZXIgLSAxMjAgPD0gdCAmJiB0 IDw9IGFuc3dlciArIDEyMCkpOwp8IH0KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8ICAgaW50IHJl c3VsdCA9IDA7CnwgICB0aW1lX3QgdCwgZGVsdGE7CnwgICBpbnQgaSwgajsKfCAgIGludCB0aW1l X3Rfc2lnbmVkX21hZ25pdHVkZSA9ICh0aW1lX3QpIH4gKHRpbWVfdCkgMCA8ICh0aW1lX3QpIC0x Owp8ICAgaW50IHRpbWVfdF9zaWduZWQgPSAhICgodGltZV90KSAwIDwgKHRpbWVfdCkgLTEpOwp8 IAp8ICAgLyogVGhpcyB0ZXN0IG1ha2VzIHNvbWUgYnVnZ3kgbWt0aW1lIGltcGxlbWVudGF0aW9u cyBsb29wLgp8ICAgICAgR2l2ZSB1cCBhZnRlciA2MCBzZWNvbmRzOyBhIG1rdGltZSBzbG93ZXIg dGhhbiB0aGF0CnwgICAgICBpc24ndCB3b3J0aCB1c2luZyBhbnl3YXkuICAqLwp8ICAgYWxhcm0g KDYwKTsKfCAKfCAgIHRpbWVfdF9tYXggPSAoISB0aW1lX3Rfc2lnbmVkCnwgICAgICAgICAgICAg ICAgID8gKHRpbWVfdCkgLTEKfCAgICAgICAgICAgICAgICAgOiAoKCgodGltZV90KSAxIDw8IChz aXplb2YgKHRpbWVfdCkgKiBDSEFSX0JJVCAtIDIpKSAtIDEpCnwgICAgICAgICAgICAgICAgICAg ICogMiArIDEpKTsKfCAgIHRpbWVfdF9taW4gPSAoISB0aW1lX3Rfc2lnbmVkCnwgICAgICAgICAg ICAgICAgID8gKHRpbWVfdCkgMAp8ICAgICAgICAgICAgICAgICA6IHRpbWVfdF9zaWduZWRfbWFn bml0dWRlCnwgICAgICAgICAgICAgICAgID8gfiAodGltZV90KSAwCnwgICAgICAgICAgICAgICAg IDogfiB0aW1lX3RfbWF4KTsKfCAKfCAgIGRlbHRhID0gdGltZV90X21heCAvIDk5NzsgLyogYSBz dWl0YWJsZSBwcmltZSBudW1iZXIgKi8KfCAgIGZvciAoaSA9IDA7IGkgPCBOX1NUUklOR1M7IGkr KykKfCAgICAgewp8ICAgICAgIGlmICh0el9zdHJpbmdzW2ldKQp8ICAgICAgICAgcHV0ZW52ICh0 el9zdHJpbmdzW2ldKTsKfCAKfCAgICAgICBmb3IgKHQgPSAwOyB0IDw9IHRpbWVfdF9tYXggLSBk ZWx0YSAmJiAocmVzdWx0ICYgMSkgPT0gMDsgdCArPSBkZWx0YSkKfCAgICAgICAgIGlmICghIG1r dGltZV90ZXN0ICh0KSkKfCAgICAgICAgICAgcmVzdWx0IHw9IDE7CnwgICAgICAgaWYgKChyZXN1 bHQgJiAyKSA9PSAwCnwgICAgICAgICAgICYmICEgKG1rdGltZV90ZXN0ICgodGltZV90KSAxKQp8 ICAgICAgICAgICAgICAgICAmJiBta3RpbWVfdGVzdCAoKHRpbWVfdCkgKDYwICogNjApKQp8ICAg ICAgICAgICAgICAgICAmJiBta3RpbWVfdGVzdCAoKHRpbWVfdCkgKDYwICogNjAgKiAyNCkpKSkK fCAgICAgICAgIHJlc3VsdCB8PSAyOwp8IAp8ICAgICAgIGZvciAoaiA9IDE7IChyZXN1bHQgJiA0 KSA9PSAwOyBqIDw8PSAxKQp8ICAgICAgICAgewp8ICAgICAgICAgICBpZiAoISBiaWd0aW1lX3Rl c3QgKGopKQp8ICAgICAgICAgICAgIHJlc3VsdCB8PSA0Owp8ICAgICAgICAgICBpZiAoSU5UX01B WCAvIDIgPCBqKQp8ICAgICAgICAgICAgIGJyZWFrOwp8ICAgICAgICAgfQp8ICAgICAgIGlmICgo cmVzdWx0ICYgOCkgPT0gMCAmJiAhIGJpZ3RpbWVfdGVzdCAoSU5UX01BWCkpCnwgICAgICAgICBy ZXN1bHQgfD0gODsKfCAgICAgfQp8ICAgaWYgKCEgaXJpeF82XzRfYnVnICgpKQp8ICAgICByZXN1 bHQgfD0gMTY7CnwgICBpZiAoISBzcHJpbmdfZm9yd2FyZF9nYXAgKCkpCnwgICAgIHJlc3VsdCB8 PSAzMjsKfCAgIGlmICghIHllYXJfMjA1MF90ZXN0ICgpKQp8ICAgICByZXN1bHQgfD0gNjQ7Cnwg ICByZXR1cm4gcmVzdWx0Owp8IH0KY29uZmlndXJlOjIxNTk4OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToyMTYzODogY2hlY2tpbmcgd2hldGhlciBzaWduYXR1cmUgb2YgcHNlbGVjdCBjb25mb3JtcyB0 byBQT1NJWApjb25maWd1cmU6MjE2NTg6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAt TzIgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyMTY1ODogJD8gPSAw CmNvbmZpZ3VyZToyMTY2NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIxNzE4OiBjaGVja2luZyB3 aGV0aGVyIHB0aHJlYWRfc2lnbWFzayB3b3JrcyB3aXRob3V0IC1scHRocmVhZApjb25maWd1cmU6 MjE3NDc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMg LWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyMTc0NzogJD8gPSAwCmNvbmZpZ3VyZToyMTc0Nzog Li9jb25mdGVzdApjb25maWd1cmU6MjE3NDc6ICQ/ID0gMQpjb25maWd1cmU6IHByb2dyYW0gZXhp dGVkIHdpdGggc3RhdHVzIDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAi ZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9Q IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhU RU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19T T1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURf U0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9U WVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVm aW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNk ZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9T WVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhB VkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVf TE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5l IFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5l IFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEK fCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUg TUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBI QVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVf TFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09O RiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK fCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVm aW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NI VVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJT SUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8g MQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEK fCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1Ig MQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2Rl ZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFW RV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9N RU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdF TlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEK fCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwg I2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUg SEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlM VElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBH UlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9P UEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5l IEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9T VFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1M SU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVT IDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAx CnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBI QVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZp bmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNk ZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmlj dAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJ T04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2Rl ZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVm aW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MK fCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykg MAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQ KQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNk ZWZpbmUgRE9OVF9SRU9QRU5fUFRZIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIv ZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBQVFlfSVRFUkFU SU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgRklSU1RfUFRZX0xF VFRFUiAncCcKfCAjZGVmaW5lIFBUWV9PUEVOICBkbyB7IGludCBzbGF2ZTsgaWYgKG9wZW5wdHkg KCZmZCwgJnNsYXZlLCBwdHlfbmFtZSwgTlVMTCwgTlVMTCkgPT0gLTEpIGZkID0gLTE7IGVsc2Ug ZW1hY3NfY2xvc2UgKHNsYXZlKTsgfSB3aGlsZSAoMCkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklO VEYgLyoqLwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUEVO RElOR19PVVRQVVRfQ09VTlQoRklMRSkgKChGSUxFKS0+X3AgLSAoRklMRSktPl9iZi5fYmFzZSkK fCAjZGVmaW5lIFRBQjMgT1hUQUJTCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZp bmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIEJTRDRfMiAvKiovCnwgI2RlZmluZSBCU0RfU1lT VEVNIC8qKi8KfCAjZGVmaW5lIERBUldJTl9PUyAvKiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJF QUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJp Z2h0IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRF Uk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gImkzODYt YXBwbGUtZGFyd2luMTIuMS4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS13 aXRoLW5zJyAnLS1lbmFibGUtbnMtc2VsZi1jb250YWluZWQnIgp8ICNkZWZpbmUgSEFWRV9NRU5V UyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAj ZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkg MQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRF TlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJR05F RF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmlu ZSBCSVRTSVpFT0ZfUFRSRElGRl9UIDY0CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0laRV9UIDY0Cnwg I2RlZmluZSBCSVRTSVpFT0ZfU0lHX0FUT01JQ19UIDMyCnwgI2RlZmluZSBCSVRTSVpFT0ZfV0NI QVJfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dJTlRfVCAzMgp8ICNkZWZpbmUgSEFWRV9TSUdO RURfU0lHX0FUT01JQ19UIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1dDSEFSX1QgMQp8ICNkZWZp bmUgSEFWRV9TSUdORURfV0lOVF9UIDEKfCAjZGVmaW5lIFBUUkRJRkZfVF9TVUZGSVggbAp8ICNk ZWZpbmUgU0laRV9UX1NVRkZJWCB1bAp8ICNkZWZpbmUgU0lHX0FUT01JQ19UX1NVRkZJWCAKfCAj ZGVmaW5lIFdDSEFSX1RfU1VGRklYIAp8ICNkZWZpbmUgV0lOVF9UX1NVRkZJWCAKfCAjZGVmaW5l IEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dD SEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZF X1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhB VkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2Rl ZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgX19HRVRP UFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICNpbmNsdWRlIDxwdGhyZWFkLmg+CnwgI2luY2x1ZGUg PHNpZ25hbC5oPgp8ICNpbmNsdWRlIDxzdGRkZWYuaD4KfCBpbnQgbWFpbiAoKQp8IHsKfCAgIHNp Z3NldF90IHNldDsKfCAgIHNpZ2VtcHR5c2V0ICgmc2V0KTsKfCAgIHJldHVybiBwdGhyZWFkX3Np Z21hc2sgKDE3MjksICZzZXQsIE5VTEwpICE9IDA7CnwgfQpjb25maWd1cmU6MjE3NTg6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToyMTc3MDogY2hlY2tpbmcgd2hldGhlciBwdGhyZWFkX3NpZ21hc2sg cmV0dXJucyBlcnJvciBudW1iZXJzCmNvbmZpZ3VyZToyMTgwMjogZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgLWczIC1PMiAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3Vy ZToyMTgwMjogJD8gPSAwCmNvbmZpZ3VyZToyMTgwMjogLi9jb25mdGVzdApjb25maWd1cmU6MjE4 MDI6ICQ/ID0gMApjb25maWd1cmU6MjE4MTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMTgyNTog Y2hlY2tpbmcgd2hldGhlciBwdGhyZWFkX3NpZ21hc2sgdW5ibG9ja3Mgc2lnbmFscyBjb3JyZWN0 bHkKY29uZmlndXJlOjIxODc5OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAg ICBjb25mdGVzdC5jIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjIxODc5OiAkPyA9IDAKY29u ZmlndXJlOjIxODc5OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyMTg3OTogJD8gPSAwCmNvbmZpZ3Vy ZToyMTg5MTogcmVzdWx0OiBndWVzc2luZyB5ZXMKY29uZmlndXJlOjIxOTM5OiBjaGVja2luZyB3 aGV0aGVyIHJlYWRsaW5rIHNpZ25hdHVyZSBpcyBjb3JyZWN0CmNvbmZpZ3VyZToyMTk1NzogZ2Nj IC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjE5NTc6 ICQ/ID0gMApjb25maWd1cmU6MjE5NjQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMTk2NjogY2hl Y2tpbmcgd2hldGhlciByZWFkbGluayBoYW5kbGVzIHRyYWlsaW5nIHNsYXNoIGNvcnJlY3RseQpj b25maWd1cmU6MjE5OTY6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgIGNv bmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyMTk5NjogJD8gPSAwCmNvbmZpZ3Vy ZToyMTk5NjogLi9jb25mdGVzdApjb25maWd1cmU6MjE5OTY6ICQ/ID0gMQpjb25maWd1cmU6IHBy b2dyYW0gZXhpdGVkIHdpdGggc3RhdHVzIDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0 LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg UEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJ TF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lY X1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5l IFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZF X0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP Q0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9I IDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VO X0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJ TUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAj ZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVm aW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEK fCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0Mg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEK fCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBM X0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8 ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwg I2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVm aW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZF X0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVT IDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmlu ZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUg SEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFW RV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNP Q0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJ RkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlf U1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElO RSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNk ZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFW RV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhB VkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VO REdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRT UEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8 ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhB VkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVm aW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFW RV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9UWlNF VCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEK fCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZp bmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUg SEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFW RV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0lORVRf U09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwg I2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksg MQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVT RVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIg X19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFT SF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VU UyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAn OicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+ cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0Vf U0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJF Q1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChf Y18pKQp8ICNkZWZpbmUgRE9OVF9SRU9QRU5fUFRZIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRf REVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBQ VFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgRklS U1RfUFRZX0xFVFRFUiAncCcKfCAjZGVmaW5lIFBUWV9PUEVOICBkbyB7IGludCBzbGF2ZTsgaWYg KG9wZW5wdHkgKCZmZCwgJnNsYXZlLCBwdHlfbmFtZSwgTlVMTCwgTlVMTCkgPT0gLTEpIGZkID0g LTE7IGVsc2UgZW1hY3NfY2xvc2UgKHNsYXZlKTsgfSB3aGlsZSAoMCkKfCAjZGVmaW5lIFBUWV9O QU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNk ZWZpbmUgUEVORElOR19PVVRQVVRfQ09VTlQoRklMRSkgKChGSUxFKS0+X3AgLSAoRklMRSktPl9i Zi5fYmFzZSkKfCAjZGVmaW5lIFRBQjMgT1hUQUJTCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1Mg MQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIEJTRDRfMiAvKiovCnwgI2RlZmlu ZSBCU0RfU1lTVEVNIC8qKi8KfCAjZGVmaW5lIERBUldJTl9PUyAvKiovCnwgI2RlZmluZSBVU0FC TEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENPUFlSSUdI VCAiQ29weXJpZ2h0IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAj ZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJ T04gImkzODYtYXBwbGUtZGFyd2luMTIuMS4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElP TlMgIiAnLS13aXRoLW5zJyAnLS1lbmFibGUtbnMtc2VsZi1jb250YWluZWQnIgp8ICNkZWZpbmUg SEFWRV9NRU5VUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxM T0NBIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU Uk1PREUgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9M T05HX09OTFkgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVf REVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFW RV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSBCSVRTSVpFT0ZfUFRSRElGRl9UIDY0CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0la RV9UIDY0CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0lHX0FUT01JQ19UIDMyCnwgI2RlZmluZSBCSVRT SVpFT0ZfV0NIQVJfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dJTlRfVCAzMgp8ICNkZWZpbmUg SEFWRV9TSUdORURfU0lHX0FUT01JQ19UIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1dDSEFSX1Qg MQp8ICNkZWZpbmUgSEFWRV9TSUdORURfV0lOVF9UIDEKfCAjZGVmaW5lIFBUUkRJRkZfVF9TVUZG SVggbAp8ICNkZWZpbmUgU0laRV9UX1NVRkZJWCB1bAp8ICNkZWZpbmUgU0lHX0FUT01JQ19UX1NV RkZJWCAKfCAjZGVmaW5lIFdDSEFSX1RfU1VGRklYIAp8ICNkZWZpbmUgV0lOVF9UX1NVRkZJWCAK fCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxCnwgI2Rl ZmluZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAj ZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJV RiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZp bmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2 b2lkCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDx1bmlzdGQuaD4KfCAKfCBp bnQKfCBtYWluICgpCnwgewp8IGNoYXIgYnVmWzIwXTsKfCAgICAgICByZXR1cm4gcmVhZGxpbmsg KCJjb25mdGVzdC5sbmsyLyIsIGJ1Ziwgc2l6ZW9mIGJ1ZikgIT0gLTE7CnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZToyMjAwNzogcmVzdWx0OiBubwpjb25maWd1cmU6MjIxMjM6IGNo ZWNraW5nIGZvciB2b2xhdGlsZSBzaWdfYXRvbWljX3QKY29uZmlndXJlOjIyMTIzOiBnY2MgLXN0 ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMjEyMzogJD8g PSAwCmNvbmZpZ3VyZToyMjEyMzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVz dC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjI5OiBl cnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJyknIHRva2VuCmNvbmZpZ3VyZToyMjEy MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8 ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNf XyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEK fCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElD UyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFy d2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNF X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0gg MQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZF X01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhB VkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VM RUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9f X1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZF X1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQURE UlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURB RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklM RV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hF QURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElN IDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmlu ZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNF X0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9T RURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDgg MQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNk ZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZF X0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NF VFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAx CnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEK fCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVm aW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmlu ZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVm aW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFW RV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAx CnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04g MQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAj ZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmlu ZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUg SEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFO RE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJ TkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQg MQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEK fCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFW RV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FM QVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lH TUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwg I2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2Rl ZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZp bmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JL SU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVf U05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhB VkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVm aW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAj ZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVM TF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJw cm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmlu ZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVm aW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVm aW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIERP TlRfUkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3Ai CnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQg aTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRURVIgJ3An CnwgI2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgmZmQsICZz bGF2ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Ns b3NlIChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8K fCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJTkdfT1VU UFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwgI2RlZmlu ZSBUQUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVf X1NFVEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RFTSAvKiov CnwgI2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAj ZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykg MjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURF UiAibnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2LWFwcGxlLWRh cndpbjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0td2l0aC1ucycg Jy0tZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBI QVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEKfCAjZGVmaW5l IEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVm aW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAj ZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgQklUU0la RU9GX1BUUkRJRkZfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJWkVfVCA2NAp8ICNkZWZpbmUg QklUU0laRU9GX1NJR19BVE9NSUNfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dDSEFSX1QgMzIK fCAjZGVmaW5lIEJJVFNJWkVPRl9XSU5UX1QgMzIKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1NJR19B VE9NSUNfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVf U0lHTkVEX1dJTlRfVCAxCnwgI2RlZmluZSBQVFJESUZGX1RfU1VGRklYIGwKfCAjZGVmaW5lIFNJ WkVfVF9TVUZGSVggdWwKfCAjZGVmaW5lIFNJR19BVE9NSUNfVF9TVUZGSVggCnwgI2RlZmluZSBX Q0hBUl9UX1NVRkZJWCAKfCAjZGVmaW5lIFdJTlRfVF9TVUZGSVggCnwgI2RlZmluZSBIQVZFX1NJ R1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9aT05F IDEKfCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lN QVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1dPUktJ TkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgSEFW RV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJ WCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgUkVB RExJTktfVFJBSUxJTkdfU0xBU0hfQlVHIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwg I2luY2x1ZGUgPHNpZ25hbC5oPgp8IAp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYgKHNpemVv ZiAoKHZvbGF0aWxlIHNpZ19hdG9taWNfdCkpKQp8IAkgICAgcmV0dXJuIDA7CnwgICA7CnwgICBy ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyMjEyMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyMTM5 OiBjaGVja2luZyBmb3Igc2lnaGFuZGxlcl90CmNvbmZpZ3VyZToyMjEzOTogZ2NjIC1zdGQ9Z251 OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAn bWFpbic6CmNvbmZ0ZXN0LmM6MjI5OiBlcnJvcjogJ3NpZ2hhbmRsZXJfdCcgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCmNvbmZ0ZXN0LmM6MjI5OiBlcnJvcjogKEVhY2gg dW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZQpjb25mdGVzdC5jOjIy OTogZXJyb3I6IGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4uKQpjb25maWd1cmU6MjIx Mzk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIK fCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRh cndpbiIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJD RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFW RV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBI QVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NF TEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1F IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf X19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFE RFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FE QUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJ TEVfTkFNRVMgMQp8ICNkZWZpbmUgTlNfSEFWRV9OU0lOVEVHRVIgMQp8ICNkZWZpbmUgVEVSTV9I RUFERVIgIm5zdGVybS5oIgp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZF X0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QUQgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJ TSAxCnwgI2RlZmluZSBIQVZFX05TIDEKfCAjZGVmaW5lIE5TX0lNUExfQ09DT0EgMQp8ICNkZWZp bmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VT RV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xP U0VESVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4 IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAj ZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T RVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04g MQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAx CnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2Rl ZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZp bmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZp bmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2Rl ZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhB VkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMg MQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdO IDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwg I2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZp bmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5l IEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JB TkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5X SU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lE IDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAx CnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhB VkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9B TEFSTSAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJ R01BU0sgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1B WCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8 ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNk ZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVm aW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09S S0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZF X1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBI QVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwg I2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5V TExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3Vi cHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZp bmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2Rl ZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2Rl ZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBE T05UX1JFT1BFTl9QVFkgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNw Igp8ICNkZWZpbmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50 IGk7IGZvciAoaSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBGSVJTVF9QVFlfTEVUVEVSICdw Jwp8ICNkZWZpbmUgUFRZX09QRU4gIGRvIHsgaW50IHNsYXZlOyBpZiAob3BlbnB0eSAoJmZkLCAm c2xhdmUsIHB0eV9uYW1lLCBOVUxMLCBOVUxMKSA9PSAtMSkgZmQgPSAtMTsgZWxzZSBlbWFjc19j bG9zZSAoc2xhdmUpOyB9IHdoaWxlICgwKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiov CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBQRU5ESU5HX09V VFBVVF9DT1VOVChGSUxFKSAoKEZJTEUpLT5fcCAtIChGSUxFKS0+X2JmLl9iYXNlKQp8ICNkZWZp bmUgVEFCMyBPWFRBQlMKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZF X19TRVRKTVAgMQp8ICNkZWZpbmUgQlNENF8yIC8qKi8KfCAjZGVmaW5lIEJTRF9TWVNURU0gLyoq Lwp8ICNkZWZpbmUgREFSV0lOX09TIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwg I2RlZmluZSBVU0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMp IDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFE RVIgIm5zdGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAiaTM4Ni1hcHBsZS1k YXJ3aW4xMi4xLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICctLXdpdGgtbnMn ICctLWVuYWJsZS1ucy1zZWxmLWNvbnRhaW5lZCciCnwgI2RlZmluZSBIQVZFX01FTlVTIDEKfCAj ZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUg SEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAxCnwgI2RlZmlu ZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAxCnwgI2Rl ZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwg I2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEJJVFNJ WkVPRl9QVFJESUZGX1QgNjQKfCAjZGVmaW5lIEJJVFNJWkVPRl9TSVpFX1QgNjQKfCAjZGVmaW5l IEJJVFNJWkVPRl9TSUdfQVRPTUlDX1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9XQ0hBUl9UIDMy CnwgI2RlZmluZSBCSVRTSVpFT0ZfV0lOVF9UIDMyCnwgI2RlZmluZSBIQVZFX1NJR05FRF9TSUdf QVRPTUlDX1QgMQp8ICNkZWZpbmUgSEFWRV9TSUdORURfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZF X1NJR05FRF9XSU5UX1QgMQp8ICNkZWZpbmUgUFRSRElGRl9UX1NVRkZJWCBsCnwgI2RlZmluZSBT SVpFX1RfU1VGRklYIHVsCnwgI2RlZmluZSBTSUdfQVRPTUlDX1RfU1VGRklYIAp8ICNkZWZpbmUg V0NIQVJfVF9TVUZGSVggCnwgI2RlZmluZSBXSU5UX1RfU1VGRklYIAp8ICNkZWZpbmUgSEFWRV9T SUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9UTV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fWk9O RSAxCnwgI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9J TUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9XT1JL SU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEhB VkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVG SVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIFJF QURMSU5LX1RSQUlMSU5HX1NMQVNIX0JVRyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8 ICNpbmNsdWRlIDxzaWduYWwuaD4KfCAKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChzaXpl b2YgKHNpZ2hhbmRsZXJfdCkpCnwgCSByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0K Y29uZmlndXJlOjIyMTM5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyMjE1MjogY2hlY2tpbmcgZm9y IHNvY2tsZW5fdApjb25maWd1cmU6MjIxNTI6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIyMTUyOiAkPyA9IDAKY29uZmlndXJlOjIyMTUyOiBn Y2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IElu IGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMzc6IGVycm9yOiBleHBlY3RlZCBleHByZXNz aW9uIGJlZm9yZSAnKScgdG9rZW4KY29uZmlndXJlOjIyMTUyOiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3Mg MjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4y LjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZD TlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBf SCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVm aW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVS TV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZp bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVf TkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FE RFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5T X0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVm aW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09M S0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAx CnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2Rl ZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFW RV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVf R0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJ RCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZF X0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQURE UklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElN RVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwg I2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8 ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAj ZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5l IEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJ TUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBX RU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAx CnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAj ZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVm aW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9S SU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhB VkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5U UFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8 ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2Rl ZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9Q U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVf UkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJU T1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1F X1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwg I2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZp bmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBI QVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZp bmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFN RSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAj ZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8 ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBV U0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwg I2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChf Y18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJ U19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgRE9OVF9SRU9QRU5fUFRZIDEKfCAjZGVm aW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9J TlBVVCAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsg aSsrKQp8ICNkZWZpbmUgRklSU1RfUFRZX0xFVFRFUiAncCcKfCAjZGVmaW5lIFBUWV9PUEVOICBk byB7IGludCBzbGF2ZTsgaWYgKG9wZW5wdHkgKCZmZCwgJnNsYXZlLCBwdHlfbmFtZSwgTlVMTCwg TlVMTCkgPT0gLTEpIGZkID0gLTE7IGVsc2UgZW1hY3NfY2xvc2UgKHNsYXZlKTsgfSB3aGlsZSAo MCkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1F X1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfQ09VTlQoRklMRSkgKChGSUxF KS0+X3AgLSAoRklMRSktPl9iZi5fYmFzZSkKfCAjZGVmaW5lIFRBQjMgT1hUQUJTCnwgI2RlZmlu ZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIEJT RDRfMiAvKiovCnwgI2RlZmluZSBCU0RfU1lTVEVNIC8qKi8KfCAjZGVmaW5lIERBUldJTl9PUyAv KiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEK fCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5l IEVNQUNTX0NPTkZJR1VSQVRJT04gImkzODYtYXBwbGUtZGFyd2luMTIuMS4wIgp8ICNkZWZpbmUg RU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS13aXRoLW5zJyAnLS1lbmFibGUtbnMtc2VsZi1jb250 YWluZWQnIgp8ICNkZWZpbmUgSEFWRV9NRU5VUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEK fCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2Rl ZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJw bF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0 cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhB VkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBCSVRTSVpFT0ZfUFRSRElGRl9UIDY0CnwgI2Rl ZmluZSBCSVRTSVpFT0ZfU0laRV9UIDY0CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0lHX0FUT01JQ19U IDMyCnwgI2RlZmluZSBCSVRTSVpFT0ZfV0NIQVJfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dJ TlRfVCAzMgp8ICNkZWZpbmUgSEFWRV9TSUdORURfU0lHX0FUT01JQ19UIDEKfCAjZGVmaW5lIEhB VkVfU0lHTkVEX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TSUdORURfV0lOVF9UIDEKfCAjZGVm aW5lIFBUUkRJRkZfVF9TVUZGSVggbAp8ICNkZWZpbmUgU0laRV9UX1NVRkZJWCB1bAp8ICNkZWZp bmUgU0lHX0FUT01JQ19UX1NVRkZJWCAKfCAjZGVmaW5lIFdDSEFSX1RfU1VGRklYIAp8ICNkZWZp bmUgV0lOVF9UX1NVRkZJWCAKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFW RV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf VE1fVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9H TVRPRkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBI QVZFX0RVUDIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJ TUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBSRUFETElOS19UUkFJTElOR19TTEFTSF9C VUcgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiA8c3lzL3R5cGVzLmg+IGlzIG5v dCBuZWVkZWQgYWNjb3JkaW5nIHRvIFBPU0lYLCBidXQgdGhlCnwgICAgPHN5cy9zb2NrZXQuaD4g aW4gaTM4Ni11bmtub3duLWZyZWVic2Q0LjEwIGFuZAp8ICAgIHBvd2VycGMtYXBwbGUtZGFyd2lu NS41IHJlcXVpcmVkIGl0LiAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaWYgSEFWRV9T WVNfU09DS0VUX0gKfCAjIGluY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCAjZWxpZiBIQVZFX1dTMlRD UElQX0gKfCAjIGluY2x1ZGUgPHdzMnRjcGlwLmg+CnwgI2VuZGlmCnwgCnwgCnwgaW50CnwgbWFp biAoKQp8IHsKfCBpZiAoc2l6ZW9mICgoc29ja2xlbl90KSkpCnwgCSAgICByZXR1cm4gMDsKfCAg IDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIyMTUyOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MjIyMTY6IGNoZWNraW5nIGZvciBzc2l6ZV90CmNvbmZpZ3VyZToyMjIzMzogZ2NjIC1zdGQ9 Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjIyMzM6ICQ/ID0g MApjb25maWd1cmU6MjIyNDA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjI1MjogY2hlY2tpbmcg Zm9yIHN0cnVjdCBzdGF0LnN0X2F0aW0udHZfbnNlYwpjb25maWd1cmU6MjIyNTI6IGdjYyAtc3Rk PWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rp b24gJ21haW4nOgpjb25mdGVzdC5jOjIyOTogZXJyb3I6ICdzdHJ1Y3Qgc3RhdCcgaGFzIG5vIG1l bWJlciBuYW1lZCAnc3RfYXRpbScKY29uZmlndXJlOjIyMjUyOiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3Mg MjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4y LjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZD TlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBf SCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVm aW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVS TV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZp bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVf TkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FE RFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5T X0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVm aW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09M S0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAx CnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2Rl ZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFW RV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVf R0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJ RCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZF X0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQURE UklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElN RVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwg I2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8 ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAj ZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5l IEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJ TUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBX RU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAx CnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAj ZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVm aW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9S SU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhB VkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5U UFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8 ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2Rl ZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9Q U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVf UkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJU T1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1F X1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwg I2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZp bmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBI QVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZp bmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFN RSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAj ZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8 ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBV U0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwg I2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChf Y18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJ U19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgRE9OVF9SRU9QRU5fUFRZIDEKfCAjZGVm aW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9J TlBVVCAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsg aSsrKQp8ICNkZWZpbmUgRklSU1RfUFRZX0xFVFRFUiAncCcKfCAjZGVmaW5lIFBUWV9PUEVOICBk byB7IGludCBzbGF2ZTsgaWYgKG9wZW5wdHkgKCZmZCwgJnNsYXZlLCBwdHlfbmFtZSwgTlVMTCwg TlVMTCkgPT0gLTEpIGZkID0gLTE7IGVsc2UgZW1hY3NfY2xvc2UgKHNsYXZlKTsgfSB3aGlsZSAo MCkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1F X1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUEVORElOR19PVVRQVVRfQ09VTlQoRklMRSkgKChGSUxF KS0+X3AgLSAoRklMRSktPl9iZi5fYmFzZSkKfCAjZGVmaW5lIFRBQjMgT1hUQUJTCnwgI2RlZmlu ZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIEJT RDRfMiAvKiovCnwgI2RlZmluZSBCU0RfU1lTVEVNIC8qKi8KfCAjZGVmaW5lIERBUldJTl9PUyAv KiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEK fCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5l IEVNQUNTX0NPTkZJR1VSQVRJT04gImkzODYtYXBwbGUtZGFyd2luMTIuMS4wIgp8ICNkZWZpbmUg RU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS13aXRoLW5zJyAnLS1lbmFibGUtbnMtc2VsZi1jb250 YWluZWQnIgp8ICNkZWZpbmUgSEFWRV9NRU5VUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEK fCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2Rl ZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJw bF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0 cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhB VkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBCSVRTSVpFT0ZfUFRSRElGRl9UIDY0CnwgI2Rl ZmluZSBCSVRTSVpFT0ZfU0laRV9UIDY0CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0lHX0FUT01JQ19U IDMyCnwgI2RlZmluZSBCSVRTSVpFT0ZfV0NIQVJfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dJ TlRfVCAzMgp8ICNkZWZpbmUgSEFWRV9TSUdORURfU0lHX0FUT01JQ19UIDEKfCAjZGVmaW5lIEhB VkVfU0lHTkVEX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TSUdORURfV0lOVF9UIDEKfCAjZGVm aW5lIFBUUkRJRkZfVF9TVUZGSVggbAp8ICNkZWZpbmUgU0laRV9UX1NVRkZJWCB1bAp8ICNkZWZp bmUgU0lHX0FUT01JQ19UX1NVRkZJWCAKfCAjZGVmaW5lIFdDSEFSX1RfU1VGRklYIAp8ICNkZWZp bmUgV0lOVF9UX1NVRkZJWCAKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFW RV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf VE1fVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9H TVRPRkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBI QVZFX0RVUDIgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJ TUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBSRUFETElOS19UUkFJTElOR19TTEFTSF9C VUcgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Cnwg ICAgICAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRp YyBzdHJ1Y3Qgc3RhdCBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnN0X2F0aW0udHZfbnNlYykKfCBy ZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIyMjUyOiBnY2MgLXN0 ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0 aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMjk6IGVycm9yOiAnc3RydWN0IHN0YXQnIGhhcyBubyBt ZW1iZXIgbmFtZWQgJ3N0X2F0aW0nCmNvbmZpZ3VyZToyMjI1MjogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNz IDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FH RV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQu Mi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NP VVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNF IDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVN X1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9G Q05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1Q X0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2Rl ZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RF Uk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVm aW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUg SEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZF X05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9B RERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBO U19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2Rl ZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBVU0VfVE9P TEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfTlMg MQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNk ZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhB VkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZF X0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRT SUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwg I2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmlu ZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFW RV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFE RFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJ TUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8 ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEK fCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwg I2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmlu ZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZU SU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQ V0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQg MQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwg I2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2Rl ZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVf UklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBI QVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFO VFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEK fCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNk ZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVf UFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZF X1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RS VE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElN RV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8 ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVm aW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5l IEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUg SEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVm aW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05B TUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwg I2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIK fCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUg VVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8 ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAo X2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAo SVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIERPTlRfUkVPUEVOX1BUWSAxCnwgI2Rl ZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRf SU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7 IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRURVIgJ3AnCnwgI2RlZmluZSBQVFlfT1BFTiAg ZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgmZmQsICZzbGF2ZSwgcHR5X25hbWUsIE5VTEws IE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Nsb3NlIChzbGF2ZSk7IH0gd2hpbGUg KDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBUWV9UVFlfTkFN RV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklM RSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwgI2RlZmluZSBUQUIzIE9YVEFCUwp8ICNkZWZp bmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBC U0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RFTSAvKiovCnwgI2RlZmluZSBEQVJXSU5fT1Mg LyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAx CnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmlu ZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2LWFwcGxlLWRhcndpbjEyLjEuMCIKfCAjZGVmaW5l IEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0td2l0aC1ucycgJy0tZW5hYmxlLW5zLXNlbGYtY29u dGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBy cGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVz dHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBI QVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgQklUU0laRU9GX1BUUkRJRkZfVCA2NAp8ICNk ZWZpbmUgQklUU0laRU9GX1NJWkVfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJR19BVE9NSUNf VCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dDSEFSX1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9X SU5UX1QgMzIKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1NJR19BVE9NSUNfVCAxCnwgI2RlZmluZSBI QVZFX1NJR05FRF9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1dJTlRfVCAxCnwgI2Rl ZmluZSBQVFJESUZGX1RfU1VGRklYIGwKfCAjZGVmaW5lIFNJWkVfVF9TVUZGSVggdWwKfCAjZGVm aW5lIFNJR19BVE9NSUNfVF9TVUZGSVggCnwgI2RlZmluZSBXQ0hBUl9UX1NVRkZJWCAKfCAjZGVm aW5lIFdJTlRfVF9TVUZGSVggCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhB VkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1RNX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1f R01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUg SEFWRV9EVVAyIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBHRVRU SU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgUkVBRExJTktfVFJBSUxJTkdfU0xBU0hf QlVHIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8 ICAgICAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0 aWMgc3RydWN0IHN0YXQgYWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYXRpbS50dl9u c2VjKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjIyNTI6 IHJlc3VsdDogbm8KY29uZmlndXJlOjIyMzAzOiBjaGVja2luZyBmb3Igc3RydWN0IHN0YXQuc3Rf YXRpbWVzcGVjLnR2X25zZWMKY29uZmlndXJlOjIyMzAzOiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMg LU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMjMwMzogJD8gPSAwCmNvbmZpZ3VyZToy MjMwMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyMzQ3OiBjaGVja2luZyBmb3Igc3RydWN0IHN0 YXQuc3RfYmlydGh0aW1lc3BlYy50dl9uc2VjCmNvbmZpZ3VyZToyMjM0NzogZ2NjIC1zdGQ9Z251 OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjIzNDc6ICQ/ID0gMApj b25maWd1cmU6MjIzNDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjM4NzogY2hlY2tpbmcgZm9y IHdvcmtpbmcgc3RkYWxpZ24uaApjb25maWd1cmU6MjI0MjY6IGdjYyAtc3RkPWdudTk5IC1jIC1n MyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoyMjQ6MjI6IGVycm9yOiBzdGRhbGln bi5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZ0ZXN0LmM6MjM2OiB3YXJuaW5nOiBp bXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnX0FsaWdub2YnCmNvbmZ0ZXN0LmM6MjM2 OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJ2RvdWJsZScKY29uZnRlc3QuYzoy MzY6IGVycm9yOiB2YXJpYWJseSBtb2RpZmllZCAndGVzdF9kb3VibGUnIGF0IGZpbGUgc2NvcGUK Y29uZnRlc3QuYzoyMzc6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnbG9uZycK Y29uZnRlc3QuYzoyMzc6IGVycm9yOiB2YXJpYWJseSBtb2RpZmllZCAndGVzdF9sb25nJyBhdCBm aWxlIHNjb3BlCmNvbmZ0ZXN0LmM6MjM4OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBv ZiBmdW5jdGlvbiAnYWxpZ25vZicKY29uZnRlc3QuYzoyMzg6IGVycm9yOiBleHBlY3RlZCBleHBy ZXNzaW9uIGJlZm9yZSAnZG91YmxlJwpjb25mdGVzdC5jOjIzODogZXJyb3I6IGV4cGVjdGVkIGV4 cHJlc3Npb24gYmVmb3JlICdkb3VibGUnCmNvbmZ0ZXN0LmM6MjM4OiBlcnJvcjogdmFyaWFibHkg bW9kaWZpZWQgJ3Rlc3RfYWxpZ25vZicgYXQgZmlsZSBzY29wZQpjb25mdGVzdC5jOjI0MjogZXJy b3I6IGV4cGVjdGVkIGRlY2xhcmF0aW9uIHNwZWNpZmllcnMgb3IgJy4uLicgYmVmb3JlIG51bWVy aWMgY29uc3RhbnQKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ2FsaWduYXMnOgpjb25mdGVzdC5j OjI0MjogZXJyb3I6IGV4cGVjdGVkIGRlY2xhcmF0aW9uIHNwZWNpZmllcnMgYmVmb3JlICdhbGln bmFzX2ludCcKY29uZnRlc3QuYzoyNDM6IGVycm9yOiAnYWxpZ25hc19pbnQnIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQpjb25mdGVzdC5jOjI0MzogZXJyb3I6IChFYWNo IHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UKY29uZnRlc3QuYzoy NDM6IGVycm9yOiBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluLikKY29uZnRlc3QuYzoy NDg6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVf XycgYmVmb3JlICd7JyB0b2tlbgpjb25mdGVzdC5jOjI0MzogZXJyb3I6IGRlY2xhcmF0aW9uIGZv ciBwYXJhbWV0ZXIgJ3Rlc3RfYWxpZ25hcycgYnV0IG5vIHN1Y2ggcGFyYW1ldGVyCmNvbmZ0ZXN0 LmM6MjUyOiBlcnJvcjogZXhwZWN0ZWQgJ3snIGF0IGVuZCBvZiBpbnB1dApjb25maWd1cmU6MjI0 MjY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4yLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIK fCAjZGVmaW5lIFZFUlNJT04gIjI0LjIuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImRh cndpbiIKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJD RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFW RV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBI QVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NF TEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1F IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf X19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFE RFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FE QUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJ TEVfTkFNRVMgMQp8ICNkZWZpbmUgTlNfSEFWRV9OU0lOVEVHRVIgMQp8ICNkZWZpbmUgVEVSTV9I RUFERVIgIm5zdGVybS5oIgp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZF X0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QUQgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJ TSAxCnwgI2RlZmluZSBIQVZFX05TIDEKfCAjZGVmaW5lIE5TX0lNUExfQ09DT0EgMQp8ICNkZWZp bmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VT RV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xP U0VESVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4 IDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAj ZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T RVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04g MQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAx CnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2Rl ZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZp bmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZp bmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2Rl ZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhB VkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NZTkMg MQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdO IDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwg I2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZp bmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5l IEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1JB TkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5X SU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lE IDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAx CnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhB VkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9B TEFSTSAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJ R01BU0sgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1B WCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8 ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNk ZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVm aW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09S S0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZF X1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBI QVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwg I2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5V TExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3Vi cHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZp bmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2Rl ZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2Rl ZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBE T05UX1JFT1BFTl9QVFkgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNw Igp8ICNkZWZpbmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50 IGk7IGZvciAoaSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBGSVJTVF9QVFlfTEVUVEVSICdw Jwp8ICNkZWZpbmUgUFRZX09QRU4gIGRvIHsgaW50IHNsYXZlOyBpZiAob3BlbnB0eSAoJmZkLCAm c2xhdmUsIHB0eV9uYW1lLCBOVUxMLCBOVUxMKSA9PSAtMSkgZmQgPSAtMTsgZWxzZSBlbWFjc19j bG9zZSAoc2xhdmUpOyB9IHdoaWxlICgwKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiov CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBQRU5ESU5HX09V VFBVVF9DT1VOVChGSUxFKSAoKEZJTEUpLT5fcCAtIChGSUxFKS0+X2JmLl9iYXNlKQp8ICNkZWZp bmUgVEFCMyBPWFRBQlMKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZF X19TRVRKTVAgMQp8ICNkZWZpbmUgQlNENF8yIC8qKi8KfCAjZGVmaW5lIEJTRF9TWVNURU0gLyoq Lwp8ICNkZWZpbmUgREFSV0lOX09TIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwg I2RlZmluZSBVU0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMp IDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFE RVIgIm5zdGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAiaTM4Ni1hcHBsZS1k YXJ3aW4xMi4xLjAiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiICctLXdpdGgtbnMn ICctLWVuYWJsZS1ucy1zZWxmLWNvbnRhaW5lZCciCnwgI2RlZmluZSBIQVZFX01FTlVTIDEKfCAj ZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUg SEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAxCnwgI2RlZmlu ZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAxCnwgI2Rl ZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwg I2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEJJVFNJ WkVPRl9QVFJESUZGX1QgNjQKfCAjZGVmaW5lIEJJVFNJWkVPRl9TSVpFX1QgNjQKfCAjZGVmaW5l IEJJVFNJWkVPRl9TSUdfQVRPTUlDX1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9XQ0hBUl9UIDMy CnwgI2RlZmluZSBCSVRTSVpFT0ZfV0lOVF9UIDMyCnwgI2RlZmluZSBIQVZFX1NJR05FRF9TSUdf QVRPTUlDX1QgMQp8ICNkZWZpbmUgSEFWRV9TSUdORURfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZF X1NJR05FRF9XSU5UX1QgMQp8ICNkZWZpbmUgUFRSRElGRl9UX1NVRkZJWCBsCnwgI2RlZmluZSBT SVpFX1RfU1VGRklYIHVsCnwgI2RlZmluZSBTSUdfQVRPTUlDX1RfU1VGRklYIAp8ICNkZWZpbmUg V0NIQVJfVF9TVUZGSVggCnwgI2RlZmluZSBXSU5UX1RfU1VGRklYIAp8ICNkZWZpbmUgSEFWRV9T SUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9UTV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fWk9O RSAxCnwgI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9J TUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9XT1JL SU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEhB VkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVG SVggcnBsXwp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIFJF QURMSU5LX1RSQUlMSU5HX1NMQVNIX0JVRyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NU X0FUSU1FU1BFQ19UVl9OU0VDIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQklSVEhU SU1FU1BFQ19UVl9OU0VDIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0 ZGFsaWduLmg+CnwgICAgICAgICAgICAgI2luY2x1ZGUgPHN0ZGRlZi5oPgp8IAp8ICAgICAgICAg ICAgIC8qIFRlc3QgdGhhdCBhbGlnbm9mIHlpZWxkcyBhIHJlc3VsdCBjb25zaXN0ZW50IHdpdGgg b2Zmc2V0b2YuCnwgICAgICAgICAgICAgICAgVGhpcyBjYXRjaGVzIEdDQyBidWcgNTIwMjMKfCAg ICAgICAgICAgICAgICA8aHR0cDovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9p ZD01MjAyMz4uICAqLwp8ICAgICAgICAgICAgICNpZmRlZiBfX2NwbHVzcGx1cwp8ICAgICAgICAg ICAgICAgIHRlbXBsYXRlIDxjbGFzcyB0PiBzdHJ1Y3QgYWxpZ25vZl9oZWxwZXIgeyBjaGFyIGE7 IHQgYjsgfTsKfCAgICAgICAgICAgICAjIGRlZmluZSBhbyh0eXBlKSBvZmZzZXRvZiAoYWxpZ25v Zl9oZWxwZXI8dHlwZT4sIGIpCnwgICAgICAgICAgICAgI2Vsc2UKfCAgICAgICAgICAgICAjIGRl ZmluZSBhbyh0eXBlKSBvZmZzZXRvZiAoc3RydWN0IHsgY2hhciBhOyB0eXBlIGI7IH0sIGIpCnwg ICAgICAgICAgICAgI2VuZGlmCnwgICAgICAgICAgICAgY2hhciB0ZXN0X2RvdWJsZVthbyAoZG91 YmxlKSAlIF9BbGlnbm9mIChkb3VibGUpID09IDAgPyAxIDogLTFdOwp8ICAgICAgICAgICAgIGNo YXIgdGVzdF9sb25nW2FvIChsb25nIGludCkgJSBfQWxpZ25vZiAobG9uZyBpbnQpID09IDAgPyAx IDogLTFdOwp8ICAgICAgICAgICAgIGNoYXIgdGVzdF9hbGlnbm9mW2FsaWdub2YgKGRvdWJsZSkg PT0gX0FsaWdub2YgKGRvdWJsZSkgPyAxIDogLTFdOwp8IAp8ICAgICAgICAgICAgIC8qIFRlc3Qg X0FsaWduYXMgb25seSBvbiBwbGF0Zm9ybXMgd2hlcmUgZ251bGliIGNhbiBoZWxwLiAgKi8KfCAg ICAgICAgICAgICAjaWYgICAgICAgICAgICAgICAgIChfX0dOVUNfXyB8fCBfX0lCTUNfXyB8fCBf X0lCTUNQUF9fICAgICAgICAgICAgICAgICAgfHwgMHg1MTEwIDw9IF9fU1VOUFJPX0MgfHwgMTMw MCA8PSBfTVNDX1ZFUikKfCAgICAgICAgICAgICAgIGludCBhbGlnbmFzICg4KSBhbGlnbmFzX2lu dCA9IDE7CnwgICAgICAgICAgICAgICBjaGFyIHRlc3RfYWxpZ25hc1tfQWxpZ25vZiAoYWxpZ25h c19pbnQpID09IDggPyAxIDogLTFdOwp8ICAgICAgICAgICAgICNlbmRpZgp8IAp8IGludAp8IG1h aW4gKCkKfCB7CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyMjQzMzogcmVz dWx0OiBubwpjb25maWd1cmU6MjI0NTU6IGNoZWNraW5nIGZvciB2YV9jb3B5CmNvbmZpZ3VyZToy MjQ3NjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6MjI0NzY6ICQ/ID0gMApjb25maWd1cmU6MjI0ODQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToy MjY2NjogY2hlY2tpbmcgd2hldGhlciBOVUxMIGNhbiBiZSB1c2VkIGluIGFyYml0cmFyeSBleHBy ZXNzaW9ucwpjb25maWd1cmU6MjI2ODQ6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjIyNjg0OiAkPyA9IDAKY29uZmlndXJlOjIyNjkxOiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MjI5ODM6IGNoZWNraW5nIHdoZXRoZXIgc3RydG9pbWF4IHdvcmtz CmNvbmZpZ3VyZToyMzAzNzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAg Y29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjIzMDM3OiAkPyA9IDAKY29uZmln dXJlOjIzMDM3OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyMzAzNzogJD8gPSAwCmNvbmZpZ3VyZToy MzA0ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIzMTQ0OiBjaGVja2luZyB3aGV0aGVyIHN5bWxp bmsgaGFuZGxlcyB0cmFpbGluZyBzbGFzaCBjb3JyZWN0bHkKY29uZmlndXJlOjIzMTc4OiBnY2Mg LXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAg PiY1IApjb25maWd1cmU6MjMxNzg6ICQ/ID0gMApjb25maWd1cmU6MjMxNzg6IC4vY29uZnRlc3QK Y29uZmlndXJlOjIzMTc4OiAkPyA9IDQKY29uZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0 YXR1cyA0CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNk ZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAx CnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAx CnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2lu Igp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01B TExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVf RVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZ U19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NQ RUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNf SCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERS IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9O QU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBURVJNX0hFQURF UiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAx CnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEK fCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwgI2RlZmluZSBI QVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZM T0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJ UiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8 ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZp bmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBH SUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwg I2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAj ZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5l IEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBI QVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5l IEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9H RVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwg I2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8 ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVm aW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBI QVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFW RV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRf SU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8 ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAj ZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9H RVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0FMQVJN IDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFT SyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEK fCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2Rl ZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmlu ZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUg SEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05Q UklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVf TUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5l IEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVm aW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9E RVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9j ZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBE SVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5l IElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5l IElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIERPTlRf UkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwg I2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsg Zm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRURVIgJ3AnCnwg I2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgmZmQsICZzbGF2 ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Nsb3Nl IChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAj ZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJTkdfT1VUUFVU X0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwgI2RlZmluZSBU QUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NF VEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RFTSAvKiovCnwg I2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVm aW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAx MiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAi bnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2LWFwcGxlLWRhcndp bjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0td2l0aC1ucycgJy0t ZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZF X0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEKfCAjZGVmaW5lIEhB VkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5l IF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVm aW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05H X0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgQklUU0laRU9G X1BUUkRJRkZfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJWkVfVCA2NAp8ICNkZWZpbmUgQklU U0laRU9GX1NJR19BVE9NSUNfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dDSEFSX1QgMzIKfCAj ZGVmaW5lIEJJVFNJWkVPRl9XSU5UX1QgMzIKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1NJR19BVE9N SUNfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU0lH TkVEX1dJTlRfVCAxCnwgI2RlZmluZSBQVFJESUZGX1RfU1VGRklYIGwKfCAjZGVmaW5lIFNJWkVf VF9TVUZGSVggdWwKfCAjZGVmaW5lIFNJR19BVE9NSUNfVF9TVUZGSVggCnwgI2RlZmluZSBXQ0hB Ul9UX1NVRkZJWCAKfCAjZGVmaW5lIFdJTlRfVF9TVUZGSVggCnwgI2RlZmluZSBIQVZFX1NJR1NF VF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9aT05FIDEK fCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVgg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf VVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgSEFWRV9B TExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBy cGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgUkVBRExJ TktfVFJBSUxJTkdfU0xBU0hfQlVHIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQVRJ TUVTUEVDX1RWX05TRUMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CSVJUSFRJTUVT UEVDX1RWX05TRUMgMQp8ICNkZWZpbmUgR05VTElCX0ZTQ0FORiAxCnwgI2RlZmluZSBHTlVMSUJf U0NBTkYgMQp8ICNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8ICNpbmNsdWRlIDx1bmlzdGQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGlu dCByZXN1bHQgPSAwOwp8ICAgICAgICAgICAgICBpZiAoIXN5bWxpbmsgKCJhIiwgImNvbmZ0ZXN0 LmxpbmsvIikpCnwgICAgICAgICAgICAgICAgcmVzdWx0IHw9IDE7CnwgICAgICAgICAgICAgIGlm IChzeW1saW5rICgiY29uZnRlc3QuZiIsICJjb25mdGVzdC5sbmsyIikpCnwgICAgICAgICAgICAg ICAgcmVzdWx0IHw9IDI7CnwgICAgICAgICAgICAgIGVsc2UgaWYgKCFzeW1saW5rICgiYSIsICJj b25mdGVzdC5sbmsyLyIpKQp8ICAgICAgICAgICAgICAgIHJlc3VsdCB8PSA0Owp8ICAgICAgICAg ICAgICByZXR1cm4gcmVzdWx0Owp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6 MjMxODk6IHJlc3VsdDogbm8KY29uZmlndXJlOjIzMjI1OiBjaGVja2luZyB3aGV0aGVyIDxzeXMv c2VsZWN0Lmg+IGlzIHNlbGYtY29udGFpbmVkCmNvbmZpZ3VyZToyMzMwNDogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjIzNTExOiBjaGVja2luZyBmb3IgbmxpbmtfdApjb25maWd1cmU6MjM1MTE6IGdj YyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIzNTEx OiAkPyA9IDAKY29uZmlndXJlOjIzNTExOiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNv bmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoy MzM6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnKScgdG9rZW4KY29uZmlndXJl OjIzNTExOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjIuNTAiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1h Y3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4yLjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5T SU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VS Q0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VN QU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBF ICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q V0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5l IEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZp bmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9V VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf VElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVf SUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0RMX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9C Uk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEKfCAjZGVmaW5lIEhBVkVfTE9O R19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIE5TX0hBVkVfTlNJTlRFR0VSIDEKfCAjZGVmaW5lIFRF Uk1fSEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVT RV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9OUyAxCnwgI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKfCAj ZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJ TF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZF X0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfTFJB TkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAx CnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5l IEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRE T1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdO QUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8 ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAj ZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8 ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmlu ZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9T WU5DIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1B TElHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQg MQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAj ZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2Rl ZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFW RV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElO X1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEdFVFBHUlBf Vk9JRCAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVO UFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhB VkVfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJU T0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5L IDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEK fCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwg I2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUg SEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZp bmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8 ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04g MQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmlu ZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5l IHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAj ZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8 ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8 ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZp bmUgRE9OVF9SRU9QRU5fUFRZIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2 L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9O IGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgRklSU1RfUFRZX0xFVFRF UiAncCcKfCAjZGVmaW5lIFBUWV9PUEVOICBkbyB7IGludCBzbGF2ZTsgaWYgKG9wZW5wdHkgKCZm ZCwgJnNsYXZlLCBwdHlfbmFtZSwgTlVMTCwgTlVMTCkgPT0gLTEpIGZkID0gLTE7IGVsc2UgZW1h Y3NfY2xvc2UgKHNsYXZlKTsgfSB3aGlsZSAoMCkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYg LyoqLwp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgUEVORElO R19PVVRQVVRfQ09VTlQoRklMRSkgKChGSUxFKS0+X3AgLSAoRklMRSktPl9iZi5fYmFzZSkKfCAj ZGVmaW5lIFRBQjMgT1hUQUJTCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUg SEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIEJTRDRfMiAvKiovCnwgI2RlZmluZSBCU0RfU1lTVEVN IC8qKi8KfCAjZGVmaW5lIERBUldJTl9PUyAvKiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQg MQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0 IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1f SEVBREVSICJuc3Rlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gImkzODYtYXBw bGUtZGFyd2luMTIuMS4wIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIiAnLS13aXRo LW5zJyAnLS1lbmFibGUtbnMtc2VsZi1jb250YWluZWQnIgp8ICNkZWZpbmUgSEFWRV9NRU5VUyAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVm aW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8 ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYg MQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9M T05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBC SVRTSVpFT0ZfUFRSRElGRl9UIDY0CnwgI2RlZmluZSBCSVRTSVpFT0ZfU0laRV9UIDY0CnwgI2Rl ZmluZSBCSVRTSVpFT0ZfU0lHX0FUT01JQ19UIDMyCnwgI2RlZmluZSBCSVRTSVpFT0ZfV0NIQVJf VCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dJTlRfVCAzMgp8ICNkZWZpbmUgSEFWRV9TSUdORURf U0lHX0FUT01JQ19UIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkVEX1dDSEFSX1QgMQp8ICNkZWZpbmUg SEFWRV9TSUdORURfV0lOVF9UIDEKfCAjZGVmaW5lIFBUUkRJRkZfVF9TVUZGSVggbAp8ICNkZWZp bmUgU0laRV9UX1NVRkZJWCB1bAp8ICNkZWZpbmUgU0lHX0FUT01JQ19UX1NVRkZJWCAKfCAjZGVm aW5lIFdDSEFSX1RfU1VGRklYIAp8ICNkZWZpbmUgV0lOVF9UX1NVRkZJWCAKfCAjZGVmaW5lIEhB VkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFS X1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RN X1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU UlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVf V09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgX19HRVRPUFRf UFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmlu ZSBSRUFETElOS19UUkFJTElOR19TTEFTSF9CVUcgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RB VF9TVF9BVElNRVNQRUNfVFZfTlNFQyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0JJ UlRIVElNRVNQRUNfVFZfTlNFQyAxCnwgI2RlZmluZSBHTlVMSUJfRlNDQU5GIDEKfCAjZGVmaW5l IEdOVUxJQl9TQ0FORiAxCnwgI2RlZmluZSBteV9zdHJmdGltZSBuc3RyZnRpbWUKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAgICAgI2luY2x1ZGUg PHN5cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgobmxpbmtf dCkpKQp8IAkgICAgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToy MzUxMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIzNTM5OiBjaGVja2luZyB3aGV0aGVyIGxvY2Fs dGltZV9yIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZToyMzUzOTogZ2NjIC1zdGQ9Z251OTkgLWMgLWcz IC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjM1Mzk6ICQ/ID0gMApjb25maWd1cmU6 MjM1Mzk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMzU1ODogY2hlY2tpbmcgd2hldGhlciBsb2Nh bHRpbWVfciBpcyBjb21wYXRpYmxlIHdpdGggaXRzIFBPU0lYIHNpZ25hdHVyZQpjb25maWd1cmU6 MjM1ODI6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjIzNTgyOiAkPyA9IDAKY29uZmlndXJlOjIzNTkwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MjM4MTg6IGNoZWNraW5nIHdoZXRoZXIgc3RhdCBoYW5kbGVzIHRyYWlsaW5nIHNsYXNoZXMgb24g ZGlyZWN0b3JpZXMKY29uZmlndXJlOjIzODQxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAt ZzMgLU8yICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MjM4NDE6ICQ/ ID0gMApjb25maWd1cmU6MjM4NDE6IC4vY29uZnRlc3QKY29uZmlndXJlOjIzODQxOiAkPyA9IDAK Y29uZmlndXJlOjIzODUxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjM4NTM6IGNoZWNraW5nIHdo ZXRoZXIgc3RhdCBoYW5kbGVzIHRyYWlsaW5nIHNsYXNoZXMgb24gZmlsZXMKY29uZmlndXJlOjIz ODkzOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1s cHRocmVhZCAgPiY1IApjb25maWd1cmU6MjM4OTM6ICQ/ID0gMApjb25maWd1cmU6MjM4OTM6IC4v Y29uZnRlc3QKY29uZmlndXJlOjIzODkzOiAkPyA9IDIKY29uZmlndXJlOiBwcm9ncmFtIGV4aXRl ZCB3aXRoIHN0YXR1cyAyCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4yLjUwIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjIuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVt YWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAx CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVO U0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09V UkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NF TUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBTWVNURU1fVFlQ RSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JF U09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVf UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmlu ZSBIQVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVm aW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lT X1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZF X0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX0xP TkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBOU19IQVZFX05TSU5URUdFUiAxCnwgI2RlZmluZSBU RVJNX0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVf UFRIUkVBRCAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBV U0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfTlMgMQp8ICNkZWZpbmUgTlNfSU1QTF9DT0NPQSAxCnwg I2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1B SUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFW RV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0xS QU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYg MQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBI QVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVU RE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lH TkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEK fCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwg I2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwg I2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEK fCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZp bmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVf U1lOQyAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVN QUxJR04gMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5U IDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwg I2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNk ZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhB VkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJ Tl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBHRVRQR1JQ X1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BF TlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZp bmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBI QVZFX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RS VE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElO SyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAx CnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8 ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFW RV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5l IEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVm aW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QK fCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9O IDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZp bmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmlu ZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwg I2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAK fCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkK fCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVm aW5lIERPTlRfUkVPUEVOX1BUWSAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rl di9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElP TiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIEZJUlNUX1BUWV9MRVRU RVIgJ3AnCnwgI2RlZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgm ZmQsICZzbGF2ZSwgcHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVt YWNzX2Nsb3NlIChzbGF2ZSk7IH0gd2hpbGUgKDApCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRG IC8qKi8KfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFBFTkRJ TkdfT1VUUFVUX0NPVU5UKEZJTEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCnwg I2RlZmluZSBUQUIzIE9YVEFCUwp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5l IEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBCU0Q0XzIgLyoqLwp8ICNkZWZpbmUgQlNEX1NZU1RF TSAvKiovCnwgI2RlZmluZSBEQVJXSU5fT1MgLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFE IDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdo dCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJN X0hFQURFUiAibnN0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJpMzg2LWFw cGxlLWRhcndpbjEyLjEuMCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIgJy0td2l0 aC1ucycgJy0tZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKfCAjZGVmaW5lIEhBVkVfTUVOVVMg MQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDEKfCAj ZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEK fCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5W IDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg QklUU0laRU9GX1BUUkRJRkZfVCA2NAp8ICNkZWZpbmUgQklUU0laRU9GX1NJWkVfVCA2NAp8ICNk ZWZpbmUgQklUU0laRU9GX1NJR19BVE9NSUNfVCAzMgp8ICNkZWZpbmUgQklUU0laRU9GX1dDSEFS X1QgMzIKfCAjZGVmaW5lIEJJVFNJWkVPRl9XSU5UX1QgMzIKfCAjZGVmaW5lIEhBVkVfU0lHTkVE X1NJR19BVE9NSUNfVCAxCnwgI2RlZmluZSBIQVZFX1NJR05FRF9XQ0hBUl9UIDEKfCAjZGVmaW5l IEhBVkVfU0lHTkVEX1dJTlRfVCAxCnwgI2RlZmluZSBQVFJESUZGX1RfU1VGRklYIGwKfCAjZGVm aW5lIFNJWkVfVF9TVUZGSVggdWwKfCAjZGVmaW5lIFNJR19BVE9NSUNfVF9TVUZGSVggCnwgI2Rl ZmluZSBXQ0hBUl9UX1NVRkZJWCAKfCAjZGVmaW5lIFdJTlRfVF9TVUZGSVggCnwgI2RlZmluZSBI QVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9U TV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIF9fR0VUT1BU X1BSRUZJWCBycGxfCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZp bmUgUkVBRExJTktfVFJBSUxJTkdfU0xBU0hfQlVHIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NU QVRfU1RfQVRJTUVTUEVDX1RWX05TRUMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9C SVJUSFRJTUVTUEVDX1RWX05TRUMgMQp8ICNkZWZpbmUgR05VTElCX0ZTQ0FORiAxCnwgI2RlZmlu ZSBHTlVMSUJfU0NBTkYgMQp8ICNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfTE9DQUxUSU1FX1IgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j bHVkZSA8c3lzL3N0YXQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGludCByZXN1bHQgPSAw Owp8ICAgICAgIHN0cnVjdCBzdGF0IHN0Owp8ICAgICAgIGlmICghc3RhdCAoImNvbmZ0ZXN0LnRt cC8iLCAmc3QpKQp8ICAgICAgICAgcmVzdWx0IHw9IDE7CnwgI2lmIEhBVkVfTFNUQVQKfCAgICAg ICBpZiAoIXN0YXQgKCJjb25mdGVzdC5sbmsvIiwgJnN0KSkKfCAgICAgICAgIHJlc3VsdCB8PSAy Owp8ICNlbmRpZgp8ICAgICAgIHJldHVybiByZXN1bHQ7CnwgCnwgICA7CnwgICByZXR1cm4gMDsK fCB9CmNvbmZpZ3VyZToyMzkwNDogcmVzdWx0OiBubwpjb25maWd1cmU6MjQ1ODg6IGNoZWNraW5n IHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZQpjb25maWd1cmU6 MjQ1OTQ6IHJlc3VsdDogZG9uZQpjb25maWd1cmU6MjQ3MTA6IGNyZWF0aW5nIC4vY29uZmlnLnN0 YXR1cwoKIyMgLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBDYWNoZSB2YXJpYWJsZXMuICMjCiMjIC0t LS0tLS0tLS0tLS0tLS0gIyMKCmFjX2N2X2J1aWxkPWkzODYtYXBwbGUtZGFyd2luMTIuMS4wCmFj X2N2X2NfYmlnZW5kaWFuPW5vCmFjX2N2X2NfY29tcGlsZXJfZ251PXllcwphY19jdl9jX2lubGlu ZT1pbmxpbmUKYWNfY3ZfY19yZXN0cmljdD1fX3Jlc3RyaWN0CmFjX2N2X2Vudl9DQ19zZXQ9CmFj X2N2X2Vudl9DQ192YWx1ZT0KYWNfY3ZfZW52X0NGTEFHU19zZXQ9CmFjX2N2X2Vudl9DRkxBR1Nf dmFsdWU9CmFjX2N2X2Vudl9DUFBGTEFHU19zZXQ9CmFjX2N2X2Vudl9DUFBGTEFHU192YWx1ZT0K YWNfY3ZfZW52X0NQUF9zZXQ9CmFjX2N2X2Vudl9DUFBfdmFsdWU9CmFjX2N2X2Vudl9MREZMQUdT X3NldD0KYWNfY3ZfZW52X0xERkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9MSUJTX3NldD0KYWNfY3Zf ZW52X0xJQlNfdmFsdWU9CmFjX2N2X2Vudl9YTUtNRl9zZXQ9CmFjX2N2X2Vudl9YTUtNRl92YWx1 ZT0KYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3NldD0KYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3ZhbHVl PQphY19jdl9lbnZfaG9zdF9hbGlhc19zZXQ9CmFjX2N2X2Vudl9ob3N0X2FsaWFzX3ZhbHVlPQph Y19jdl9lbnZfdGFyZ2V0X2FsaWFzX3NldD0KYWNfY3ZfZW52X3RhcmdldF9hbGlhc192YWx1ZT0K YWNfY3ZfZnVuY19fX2V4ZWN1dGFibGVfc3RhcnQ9bm8KYWNfY3ZfZnVuY19fX2ZwZW5kaW5nPW5v CmFjX2N2X2Z1bmNfYWxhcm09eWVzCmFjX2N2X2Z1bmNfYWxsb2NhX3dvcmtzPXllcwphY19jdl9m dW5jX2NmbWFrZXJhdz15ZXMKYWNfY3ZfZnVuY19jZnNldHNwZWVkPXllcwphY19jdl9mdW5jX2Ns b2NrX2dldHRpbWU9bm8KYWNfY3ZfZnVuY19jbG9ja19zZXR0aW1lPW5vCmFjX2N2X2Z1bmNfY2xv c2VkaXI9eWVzCmFjX2N2X2Z1bmNfY29weXNpZ249eWVzCmFjX2N2X2Z1bmNfZGlmZnRpbWU9eWVz CmFjX2N2X2Z1bmNfZW5kZ3JlbnQ9eWVzCmFjX2N2X2Z1bmNfZW5kcHdlbnQ9eWVzCmFjX2N2X2Z1 bmNfZXVpZGFjY2Vzcz1ubwphY19jdl9mdW5jX2Zvcms9eWVzCmFjX2N2X2Z1bmNfZm9ya193b3Jr cz15ZXMKYWNfY3ZfZnVuY19mcGF0aGNvbmY9eWVzCmFjX2N2X2Z1bmNfZnJlZWlmYWRkcnM9eWVz CmFjX2N2X2Z1bmNfZnN5bmM9eWVzCmFjX2N2X2Z1bmNfZnV0aW1lbnM9bm8KYWNfY3ZfZnVuY19m dXRpbWVzPXllcwphY19jdl9mdW5jX2Z1dGltZXNhdD1ubwphY19jdl9mdW5jX2dhaV9zdHJlcnJv cj15ZXMKYWNfY3ZfZnVuY19nZXRfY3VycmVudF9kaXJfbmFtZT1ubwphY19jdl9mdW5jX2dldGFk ZHJpbmZvPXllcwphY19jdl9mdW5jX2dldGN3ZD15ZXMKYWNfY3ZfZnVuY19nZXRkZWxpbT15ZXMK YWNfY3ZfZnVuY19nZXRncmVudD15ZXMKYWNfY3ZfZnVuY19nZXRob3N0bmFtZT15ZXMKYWNfY3Zf ZnVuY19nZXRpZmFkZHJzPXllcwphY19jdl9mdW5jX2dldGxpbmU9eWVzCmFjX2N2X2Z1bmNfZ2V0 bG9hZGF2Zz15ZXMKYWNfY3ZfZnVuY19nZXRvcHRfbG9uZ19vbmx5PXllcwphY19jdl9mdW5jX2dl dHBhZ2VzaXplPXllcwphY19jdl9mdW5jX2dldHBlZXJuYW1lPXllcwphY19jdl9mdW5jX2dldHBn cnBfdm9pZD15ZXMKYWNfY3ZfZnVuY19nZXRwdD1ubwphY19jdl9mdW5jX2dldHB3ZW50PXllcwph Y19jdl9mdW5jX2dldHJsaW1pdD15ZXMKYWNfY3ZfZnVuY19nZXRydXNhZ2U9eWVzCmFjX2N2X2Z1 bmNfZ2V0c29ja25hbWU9eWVzCmFjX2N2X2Z1bmNfZ2V0dGltZW9mZGF5PXllcwphY19jdl9mdW5j X2dldHdkPXllcwphY19jdl9mdW5jX2dudXRsc19jZXJ0aWZpY2F0ZV9zZXRfdmVyaWZ5X2Z1bmN0 aW9uPW5vCmFjX2N2X2Z1bmNfZ3JhbnRwdD15ZXMKYWNfY3ZfZnVuY19sb2NhbHRpbWVfcj15ZXMK YWNfY3ZfZnVuY19scmFuZDQ4PXllcwphY19jdl9mdW5jX2xzdGF0PXllcwphY19jdl9mdW5jX2x1 dGltZXM9eWVzCmFjX2N2X2Z1bmNfbWtzdGVtcD15ZXMKYWNfY3ZfZnVuY19tbWFwX2ZpeGVkX21h cHBlZD15ZXMKYWNfY3ZfZnVuY19uYW5vdGltZT1ubwphY19jdl9mdW5jX3Bvc2l4X21lbWFsaWdu PXllcwphY19jdl9mdW5jX3Bvc2l4X29wZW5wdD15ZXMKYWNfY3ZfZnVuY19wc2VsZWN0PXllcwph Y19jdl9mdW5jX3B0aHJlYWRfc2lnbWFzaz15ZXMKYWNfY3ZfZnVuY19yYW5kb209eWVzCmFjX2N2 X2Z1bmNfcmVhZGxpbms9eWVzCmFjX2N2X2Z1bmNfcmVhZGxpbmthdD1ubwphY19jdl9mdW5jX3Jl Y3Zmcm9tPXllcwphY19jdl9mdW5jX3JpbnQ9eWVzCmFjX2N2X2Z1bmNfc2VsZWN0PXllcwphY19j dl9mdW5jX3NlbmR0bz15ZXMKYWNfY3ZfZnVuY19zZXRpdGltZXI9eWVzCmFjX2N2X2Z1bmNfc2V0 bG9jYWxlPXllcwphY19jdl9mdW5jX3NldHBnaWQ9eWVzCmFjX2N2X2Z1bmNfc2V0cmxpbWl0PXll cwphY19jdl9mdW5jX3NldHNpZD15ZXMKYWNfY3ZfZnVuY19zaHV0ZG93bj15ZXMKYWNfY3ZfZnVu Y19zbnByaW50Zj15ZXMKYWNfY3ZfZnVuY19zb2NrZXQ9eWVzCmFjX2N2X2Z1bmNfc3Ryc2lnbmFs PXllcwphY19jdl9mdW5jX3N0cnRvaW1heD15ZXMKYWNfY3ZfZnVuY19zdHJ0b3VtYXg9eWVzCmFj X2N2X2Z1bmNfc3ltbGluaz15ZXMKYWNfY3ZfZnVuY19zeW5jPXllcwphY19jdl9mdW5jX3RvdWNo bG9jaz1ubwphY19jdl9mdW5jX3R6c2V0PXllcwphY19jdl9mdW5jX3V0aW1lbnNhdD1ubwphY19j dl9mdW5jX3V0aW1lcz15ZXMKYWNfY3ZfZnVuY192Zm9yaz15ZXMKYWNfY3ZfZnVuY192Zm9ya193 b3Jrcz15ZXMKYWNfY3ZfaGF2ZV9kZWNsX19fc3lzX3NpZ2xpc3Q9bm8KYWNfY3ZfaGF2ZV9kZWNs X2dldGVudj15ZXMKYWNfY3ZfaGF2ZV9kZWNsX2dldGxvYWRhdmc9eWVzCmFjX2N2X2hhdmVfZGVj bF9sb2NhbHRpbWVfcj15ZXMKYWNfY3ZfaGF2ZV9kZWNsX3N0cm1vZGU9eWVzCmFjX2N2X2hhdmVf ZGVjbF9zdHJ0b2ltYXg9eWVzCmFjX2N2X2hhdmVfZGVjbF9zdHJ0b3VtYXg9eWVzCmFjX2N2X2hh dmVfZGVjbF9zeXNfc2lnbGlzdD1ubwphY19jdl9oYXZlX3g9J2hhdmVfeD15ZXMJYWNfeF9pbmNs dWRlcz0nXCcnL3Vzci9YMTEvaW5jbHVkZSdcJycJYWNfeF9saWJyYXJpZXM9J1wnJy91c3IvWDEx L2xpYidcJycnCmFjX2N2X2hlYWRlcl9BcHBLaXRfQXBwS2l0X2g9eWVzCmFjX2N2X2hlYWRlcl9h cnBhX2luZXRfaD15ZXMKYWNfY3ZfaGVhZGVyX2NvZmZfaD1ubwphY19jdl9oZWFkZXJfZGlyZW50 X2g9eWVzCmFjX2N2X2hlYWRlcl9leGVjaW5mb19oPXllcwphY19jdl9oZWFkZXJfZmNudGxfaD15 ZXMKYWNfY3ZfaGVhZGVyX2dldG9wdF9oPXllcwphY19jdl9oZWFkZXJfZ3BtX2g9bm8KYWNfY3Zf aGVhZGVyX2lmYWRkcnNfaD15ZXMKYWNfY3ZfaGVhZGVyX2ludHR5cGVzX2g9eWVzCmFjX2N2X2hl YWRlcl9saW51eF92ZXJzaW9uX2g9bm8KYWNfY3ZfaGVhZGVyX21hY2hpbmVfc291bmRjYXJkX2g9 bm8KYWNfY3ZfaGVhZGVyX21haWxsb2NrX2g9bm8KYWNfY3ZfaGVhZGVyX21hbGxvY19tYWxsb2Nf aD15ZXMKYWNfY3ZfaGVhZGVyX21lbW9yeV9oPXllcwphY19jdl9oZWFkZXJfbWluaXhfY29uZmln X2g9bm8KYWNfY3ZfaGVhZGVyX25ldF9pZl9kbF9oPXllcwphY19jdl9oZWFkZXJfbmV0X2lmX2g9 eWVzCmFjX2N2X2hlYWRlcl9uZXRpbmV0X2luX2g9eWVzCmFjX2N2X2hlYWRlcl9wdGhyZWFkX2g9 eWVzCmFjX2N2X2hlYWRlcl9wdHlfaD1ubwphY19jdl9oZWFkZXJfcHdkX2g9eWVzCmFjX2N2X2hl YWRlcl9zb3VuZGNhcmRfaD1ubwphY19jdl9oZWFkZXJfc3RhdF9icm9rZW49bm8KYWNfY3ZfaGVh ZGVyX3N0ZGJvb2xfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGM9eWVzCmFjX2N2X2hlYWRlcl9zdGRp bnRfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGlvX2V4dF9oPW5vCmFjX2N2X2hlYWRlcl9zdGRsaWJf aD15ZXMKYWNfY3ZfaGVhZGVyX3N0cmluZ19oPXllcwphY19jdl9oZWFkZXJfc3RyaW5nc19oPXll cwphY19jdl9oZWFkZXJfc3lzX2JpdHlwZXNfaD1ubwphY19jdl9oZWFkZXJfc3lzX2ludHR5cGVz X2g9bm8KYWNfY3ZfaGVhZGVyX3N5c19sb2FkYXZnX2g9bm8KYWNfY3ZfaGVhZGVyX3N5c19wYXJh bV9oPXllcwphY19jdl9oZWFkZXJfc3lzX3Jlc291cmNlX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNf c2VsZWN0X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfc29ja2V0X2g9eWVzCmFjX2N2X2hlYWRlcl9z eXNfc291bmRjYXJkX2g9bm8KYWNfY3ZfaGVhZGVyX3N5c19zdGF0X2g9eWVzCmFjX2N2X2hlYWRl cl9zeXNfc3lzdGVtaW5mb19oPW5vCmFjX2N2X2hlYWRlcl9zeXNfdGltZV9oPXllcwphY19jdl9o ZWFkZXJfc3lzX3R5cGVzX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdW5faD15ZXMKYWNfY3ZfaGVh ZGVyX3N5c191dHNuYW1lX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdmxpbWl0X2g9bm8KYWNfY3Zf aGVhZGVyX3N5c193YWl0X2g9eWVzCmFjX2N2X2hlYWRlcl90ZXJtX2g9eWVzCmFjX2N2X2hlYWRl cl90aW1lPXllcwphY19jdl9oZWFkZXJfdW5pc3RkX2g9eWVzCmFjX2N2X2hlYWRlcl91dGlsX2g9 eWVzCmFjX2N2X2hlYWRlcl91dGltZV9oPXllcwphY19jdl9oZWFkZXJfdXRtcF9oPXllcwphY19j dl9oZWFkZXJfdmZvcmtfaD1ubwphY19jdl9oZWFkZXJfd2NoYXJfaD15ZXMKYWNfY3ZfaG9zdD1p Mzg2LWFwcGxlLWRhcndpbjEyLjEuMAphY19jdl9saWJfWGJzZF9tYWluPW5vCmFjX2N2X2xpYl9k bmV0X2RuZXRfbnRvYT1ubwphY19jdl9saWJfbG9ja2ZpbGVfbWFpbGxvY2s9bm8KYWNfY3ZfbGli X21fc3FydD15ZXMKYWNfY3ZfbGliX21haWxfbWFpbGxvY2s9bm8KYWNfY3ZfbGliX29zc2F1ZGlv X19vc3NfaW9jdGw9bm8KYWNfY3ZfbGliX3B0aHJlYWRfcHRocmVhZF9zZWxmPXllcwphY19jdl9s aWJfcHRocmVhZHNfY21hX29wZW49bm8KYWNfY3ZfbGliX3NlbGludXhfbGdldGZpbGVjb249bm8K YWNfY3ZfbWVtYmVyX3N0cnVjdF9pZnJlcV9pZnJfYWRkcj15ZXMKYWNfY3ZfbWVtYmVyX3N0cnVj dF9pZnJlcV9pZnJfYWRkcl9zYV9sZW49eWVzCmFjX2N2X21lbWJlcl9zdHJ1Y3RfaWZyZXFfaWZy X2Jyb2FkYWRkcj15ZXMKYWNfY3ZfbWVtYmVyX3N0cnVjdF9pZnJlcV9pZnJfZmxhZ3M9eWVzCmFj X2N2X21lbWJlcl9zdHJ1Y3RfaWZyZXFfaWZyX2h3YWRkcj1ubwphY19jdl9tZW1iZXJfc3RydWN0 X2lmcmVxX2lmcl9uZXRtYXNrPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9hdGltX3R2 X25zZWM9bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0X3N0X2F0aW1lc3BlY190dl9uc2VjPXll cwphY19jdl9tZW1iZXJfc3RydWN0X3N0YXRfc3RfYmlydGh0aW1lc3BlY190dl9uc2VjPXllcwph Y19jdl9tZW1iZXJfc3RydWN0X3RtX3RtX2dtdG9mZj15ZXMKYWNfY3ZfbWVtYmVyX3N0cnVjdF90 bV90bV96b25lPXllcwphY19jdl9vYmpleHQ9bwphY19jdl9wYXRoX0VHUkVQPScvdXNyL2Jpbi9n cmVwIC1FJwphY19jdl9wYXRoX0dSRVA9L3Vzci9iaW4vZ3JlcAphY19jdl9wYXRoX0daSVBfUFJP Rz0vdXNyL2Jpbi9nemlwCmFjX2N2X3BhdGhfSU5TVEFMTF9JTkZPPS91c3IvYmluL2luc3RhbGwt aW5mbwphY19jdl9wYXRoX01BS0VJTkZPPS91c3IvYmluL21ha2VpbmZvCmFjX2N2X3BhdGhfUEtH X0NPTkZJRz0vdXNyL2xvY2FsL2Jpbi9wa2ctY29uZmlnCmFjX2N2X3BhdGhfaW5zdGFsbD0nL3Vz ci9sb2NhbC9DZWxsYXIvY29yZXV0aWxzLzguMTkvbGliZXhlYy9nbnViaW4vaW5zdGFsbCAtYycK YWNfY3ZfcGF0aF9ta2Rpcj0vdXNyL2xvY2FsL0NlbGxhci9jb3JldXRpbHMvOC4xOS9saWJleGVj L2dudWJpbi9ta2RpcgphY19jdl9wcm9nX0FXSz1hd2sKYWNfY3ZfcHJvZ19DUFA9J2djYyAtRScK YWNfY3ZfcHJvZ19hY19jdF9BUj1hcgphY19jdl9wcm9nX2FjX2N0X0NDPWdjYwphY19jdl9wcm9n X2FjX2N0X1JBTkxJQj1yYW5saWIKYWNfY3ZfcHJvZ19jY19jODk9CmFjX2N2X3Byb2dfY2NfYzk5 PS1zdGQ9Z251OTkKYWNfY3ZfcHJvZ19jY19nPXllcwphY19jdl9wcm9nX2NjX2djY19jX289eWVz CmFjX2N2X3Byb2dfY2Nfc3RkYz0tc3RkPWdudTk5CmFjX2N2X3Byb2dfbGlibG9ja2ZpbGU9bm8K YWNfY3ZfcHJvZ19tYWtlX21ha2Vfc2V0PXllcwphY19jdl9zYWZlX3RvX2RlZmluZV9fX2V4dGVu c2lvbnNfXz15ZXMKYWNfY3Zfc2VhcmNoX2JhY2t0cmFjZV9zeW1ib2xzX2ZkPSdub25lIHJlcXVp cmVkJwphY19jdl9zZWFyY2hfY2xvY2tfZ2V0dGltZT1ubwphY19jdl9zdHJ1Y3Rfc3RfZG1fbW9k ZT1ubwphY19jdl9zdHJ1Y3RfdG09dGltZS5oCmFjX2N2X3N5c19maWxlX29mZnNldF9iaXRzPW5v CmFjX2N2X3N5c19sYXJnZWZpbGVfQ0M9bm8KYWNfY3Zfc3lzX2xhcmdlZmlsZV9zb3VyY2U9bm8K YWNfY3Zfc3lzX2xvbmdfZmlsZV9uYW1lcz15ZXMKYWNfY3ZfdHlwZV9fQm9vbD15ZXMKYWNfY3Zf dHlwZV9sb25nX2xvbmdfaW50PXllcwphY19jdl90eXBlX21ic3RhdGVfdD15ZXMKYWNfY3ZfdHlw ZV9tb2RlX3Q9eWVzCmFjX2N2X3R5cGVfbmxpbmtfdD15ZXMKYWNfY3ZfdHlwZV9waWRfdD15ZXMK YWNfY3ZfdHlwZV9zaWdoYW5kbGVyX3Q9bm8KYWNfY3ZfdHlwZV9zaWdzZXRfdD15ZXMKYWNfY3Zf dHlwZV9zb2NrbGVuX3Q9eWVzCmFjX2N2X3R5cGVfdW5zaWduZWRfbG9uZ19sb25nX2ludD15ZXMK YWNfY3ZfdHlwZV92b2xhdGlsZV9zaWdfYXRvbWljX3Q9eWVzCmFjX2N2X3dvcmtpbmdfYWxsb2Nh X2g9eWVzCmFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPWdjYzMKZW1hY3NfY3Zf Y19yZXN0cmljdF9hcnI9eWVzCmVtYWNzX2N2X2Z1bmNfX19idWlsdGluX3Vud2luZF9pbml0PXll cwplbWFjc19jdl9mdW5jX19zZXRqbXA9eWVzCmVtYWNzX2N2X2xhbmdpbmZvX2NvZGVzZXQ9eWVz CmVtYWNzX2N2X2xvY2FsdGltZV9jYWNoZT1ubwplbWFjc19jdl9uZXRkYl9kZWNsYXJlc19oX2Vy cm5vPXllcwplbWFjc19jdl9wZXJzb25hbGl0eV9saW51eDMyPW5vCmVtYWNzX2N2X3Byb2dfY2Nf ZzM9eWVzCmVtYWNzX2N2X3NwZWVkX3Q9eWVzCmVtYWNzX2N2X3VzYWJsZV9GSU9OUkVBRD15ZXMK ZW1hY3NfY3ZfdXNhYmxlX1NJR0lPPXllcwplbWFjc19jdl92YXJfZG91Z19sZWFfbWFsbG9jPW5v CmdsX2N2X2JpdHNpemVvZl9wdHJkaWZmX3Q9NjQKZ2xfY3ZfYml0c2l6ZW9mX3NpZ19hdG9taWNf dD0zMgpnbF9jdl9iaXRzaXplb2Zfc2l6ZV90PTY0CmdsX2N2X2JpdHNpemVvZl93Y2hhcl90PTMy CmdsX2N2X2JpdHNpemVvZl93aW50X3Q9MzIKZ2xfY3ZfY19hbXN0ZXJkYW1fY29tcGlsZXI9bm8K Z2xfY3ZfY19tdWx0aWFyY2g9bm8KZ2xfY3ZfZGVjbF9udWxsX3dvcmtzPXllcwpnbF9jdl9kZWNs X3JlYWRsaW5rX3dvcmtzPXllcwpnbF9jdl9mdW5jX2M5OV9zdHJ0b2xkPXllcwpnbF9jdl9mdW5j X2R1cDJfd29ya3M9eWVzCmdsX2N2X2Z1bmNfZ2V0b3B0X3Bvc2l4PW5vCmdsX2N2X2Z1bmNfZ2V0 dGltZW9mZGF5X2Nsb2JiZXI9bm8KZ2xfY3ZfZnVuY19nZXR0aW1lb2ZkYXlfcG9zaXhfc2lnbmF0 dXJlPXllcwpnbF9jdl9mdW5jX2xzdGF0X2RlcmVmZXJlbmNlc19zbGFzaGVkX3N5bWxpbms9bm8K Z2xfY3ZfZnVuY19wdGhyZWFkX3NpZ21hc2tfaW5fbGliY193b3Jrcz15ZXMKZ2xfY3ZfZnVuY19w dGhyZWFkX3NpZ21hc2tfcmV0dXJuX3dvcmtzPXllcwpnbF9jdl9mdW5jX3B0aHJlYWRfc2lnbWFz a191bmJsb2NrX3dvcmtzPSdndWVzc2luZyB5ZXMnCmdsX2N2X2Z1bmNfcmVhZGxpbmtfd29ya3M9 bm8KZ2xfY3ZfZnVuY19zdGF0X2Rpcl9zbGFzaD15ZXMKZ2xfY3ZfZnVuY19zdGF0X2ZpbGVfc2xh c2g9bm8KZ2xfY3ZfZnVuY19zdHJ0b2ltYXg9eWVzCmdsX2N2X2Z1bmNfc3ltbGlua193b3Jrcz1u bwpnbF9jdl9mdW5jX3ZhX2NvcHk9eWVzCmdsX2N2X2Z1bmNfd29ya2luZ19ta3RpbWU9bm8KZ2xf Y3ZfZnVuY193b3JraW5nX3V0aW1lcz15ZXMKZ2xfY3ZfaGF2ZV9pbmNsdWRlX25leHQ9eWVzCmds X2N2X2hlYWRlcl9zeXNfc2VsZWN0X2hfc2VsZmNvbnRhaW5lZD15ZXMKZ2xfY3ZfaGVhZGVyX3dv cmtpbmdfc3RkYWxpZ25faD1ubwpnbF9jdl9oZWFkZXJfd29ya2luZ19zdGRpbnRfaD1ubwpnbF9j dl9uZXh0X2dldG9wdF9oPSc8Z2V0b3B0Lmg+JwpnbF9jdl9uZXh0X2ludHR5cGVzX2g9JzxpbnR0 eXBlcy5oPicKZ2xfY3ZfbmV4dF9zaWduYWxfaD0nPHNpZ25hbC5oPicKZ2xfY3ZfbmV4dF9zdGRp bnRfaD0nPHN0ZGludC5oPicKZ2xfY3ZfbmV4dF9zdGRpb19oPSc8c3RkaW8uaD4nCmdsX2N2X25l eHRfc3RkbGliX2g9JzxzdGRsaWIuaD4nCmdsX2N2X25leHRfc3lzX3NlbGVjdF9oPSc8c3lzL3Nl bGVjdC5oPicKZ2xfY3ZfbmV4dF9zeXNfc3RhdF9oPSc8c3lzL3N0YXQuaD4nCmdsX2N2X25leHRf c3lzX3RpbWVfaD0nPHN5cy90aW1lLmg+JwpnbF9jdl9uZXh0X3RpbWVfaD0nPHRpbWUuaD4nCmds X2N2X25leHRfdW5pc3RkX2g9Jzx1bmlzdGQuaD4nCmdsX2N2X3ByYWdtYV9jb2x1bW5zPW5vCmds X2N2X3JwbF9hbGxvY2E9eWVzCmdsX2N2X3NpZ19wc2VsZWN0PXllcwpnbF9jdl9zeXNfc3RydWN0 X3RpbWVzcGVjX2luX3RpbWVfaD15ZXMKZ2xfY3Zfc3lzX3N0cnVjdF90aW1ldmFsPXllcwpnbF9j dl9zeXNfc3RydWN0X3RpbWV2YWxfdHZfc2VjPXllcwpnbF9jdl9zeXNfc3RydWN0X3V0aW1idWY9 eWVzCmdsX2N2X3RpbWVfcl9wb3NpeD15ZXMKZ2xfY3ZfdHlwZV9wdHJkaWZmX3Rfc2lnbmVkPXll cwpnbF9jdl90eXBlX3B0cmRpZmZfdF9zdWZmaXg9bApnbF9jdl90eXBlX3NpZ19hdG9taWNfdF9z aWduZWQ9eWVzCmdsX2N2X3R5cGVfc2lnX2F0b21pY190X3N1ZmZpeD0KZ2xfY3ZfdHlwZV9zaWdz ZXRfdD15ZXMKZ2xfY3ZfdHlwZV9zaXplX3Rfc2lnbmVkPW5vCmdsX2N2X3R5cGVfc2l6ZV90X3N1 ZmZpeD11bApnbF9jdl90eXBlX3djaGFyX3Rfc2lnbmVkPXllcwpnbF9jdl90eXBlX3djaGFyX3Rf c3VmZml4PQpnbF9jdl90eXBlX3dpbnRfdF9zaWduZWQ9eWVzCmdsX2N2X3R5cGVfd2ludF90X3N1 ZmZpeD0KZ3RfY3ZfY193Y2hhcl90PXllcwpndF9jdl9zc2l6ZV90PXllcwpndF9jdl92YXJfZW52 aXJvbl9kZWNsYXJhdGlvbj1ubwoKIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgT3V0cHV0IHZh cmlhYmxlcy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKCkFDTE9DQUw9JyR7U0hFTEx9IC9V c2Vycy9sZWlmL2dpdC9lbWFjcy9idWlsZC1hdXgvbWlzc2luZyAtLXJ1biBhY2xvY2FsLTEuMTIn CkFMTE9DQT0nJwpBTExPQ0FfSD0nYWxsb2NhLmgnCkFMU0FfQ0ZMQUdTPScnCkFMU0FfTElCUz0n JwpBTURFUEJBQ0tTTEFTSD0nXCcKQU1ERVBfRkFMU0U9JyMnCkFNREVQX1RSVUU9JycKQU1UQVI9 JyQke1RBUi10YXJ9JwpBUFBMRV9VTklWRVJTQUxfQlVJTEQ9JzAnCkFSPSdhcicKQVJGTEFHUz0n Y3J1JwpBVVRPQ09ORj0nJHtTSEVMTH0gL1VzZXJzL2xlaWYvZ2l0L2VtYWNzL2J1aWxkLWF1eC9t aXNzaW5nIC0tcnVuIGF1dG9jb25mJwpBVVRPSEVBREVSPScke1NIRUxMfSAvVXNlcnMvbGVpZi9n aXQvZW1hY3MvYnVpbGQtYXV4L21pc3NpbmcgLS1ydW4gYXV0b2hlYWRlcicKQVVUT01BS0U9JyR7 U0hFTEx9IC9Vc2Vycy9sZWlmL2dpdC9lbWFjcy9idWlsZC1hdXgvbWlzc2luZyAtLXJ1biBhdXRv bWFrZS0xLjEyJwpBV0s9J2F3aycKQklUU0laRU9GX1BUUkRJRkZfVD0nNjQnCkJJVFNJWkVPRl9T SUdfQVRPTUlDX1Q9JzMyJwpCSVRTSVpFT0ZfU0laRV9UPSc2NCcKQklUU0laRU9GX1dDSEFSX1Q9 JzMyJwpCSVRTSVpFT0ZfV0lOVF9UPSczMicKQkxFU1NNQUlMX1RBUkdFVD0nJwpDQU5OT1RfRFVN UD0nbm8nCkNDPSdnY2MgLXN0ZD1nbnU5OScKQ0NERVBNT0RFPSdkZXBtb2RlPWdjYzMnCkNGTEFH Uz0nLWczIC1PMicKQ0ZMQUdTX1NPVU5EPScnCkNPTV9FUlJMSUI9JycKQ1BQPSdnY2MgLUUnCkNQ UEZMQUdTPScgICcKQ1JUX0RJUj0nJwpDUllQVE9MSUI9JycKQ1lHUEFUSF9XPSdlY2hvJwpDWUdX SU5fT0JKPScnCkNfU1dJVENIX01BQ0hJTkU9JycKQ19TV0lUQ0hfU1lTVEVNPScnCkNfU1dJVENI X1hfU0lURT0nLUkvdXNyL1gxMS9pbmNsdWRlJwpEQlVTX0NGTEFHUz0nJwpEQlVTX0xJQlM9JycK REJVU19PQko9JycKREVGUz0nLURIQVZFX0NPTkZJR19IJwpERVBESVI9Jy5kZXBzJwpERVBGTEFH Uz0nLU1NRCAtTUYgJHtERVBESVJ9LyQqLmQgLU1QJwpERVNMSUI9JycKRUNIT19DPSdcYycKRUNI T19OPScnCkVDSE9fVD0nJwpFR1JFUD0nL3Vzci9iaW4vZ3JlcCAtRScKRVhFQ0lORk9fSD0nJwpF WEVFWFQ9JycKRk9OVENPTkZJR19DRkxBR1M9JycKRk9OVENPTkZJR19MSUJTPScnCkZPTlRfT0JK PScnCkZSRUVUWVBFX0NGTEFHUz0nJwpGUkVFVFlQRV9MSUJTPScnCkdDT05GX0NGTEFHUz0nJwpH Q09ORl9MSUJTPScnCkdFVExPQURBVkdfTElCUz0nJwpHRVRPUFRfSD0nZ2V0b3B0LmgnCkdMX0NP TkRfTElCVE9PTF9GQUxTRT0nJwpHTF9DT05EX0xJQlRPT0xfVFJVRT0nIycKR0xfR0VORVJBVEVf QUxMT0NBX0hfRkFMU0U9JyMnCkdMX0dFTkVSQVRFX0FMTE9DQV9IX1RSVUU9JycKR0xfR0VORVJB VEVfRVhFQ0lORk9fSF9GQUxTRT0nJwpHTF9HRU5FUkFURV9FWEVDSU5GT19IX1RSVUU9JyMnCkdM X0dFTkVSQVRFX1NUREFMSUdOX0hfRkFMU0U9JyMnCkdMX0dFTkVSQVRFX1NUREFMSUdOX0hfVFJV RT0nJwpHTF9HRU5FUkFURV9TVERBUkdfSF9GQUxTRT0nJwpHTF9HRU5FUkFURV9TVERBUkdfSF9U UlVFPScjJwpHTF9HRU5FUkFURV9TVERCT09MX0hfRkFMU0U9JycKR0xfR0VORVJBVEVfU1REQk9P TF9IX1RSVUU9JyMnCkdMX0dFTkVSQVRFX1NURERFRl9IX0ZBTFNFPScnCkdMX0dFTkVSQVRFX1NU RERFRl9IX1RSVUU9JyMnCkdMX0dFTkVSQVRFX1NURElOVF9IX0ZBTFNFPScjJwpHTF9HRU5FUkFU RV9TVERJTlRfSF9UUlVFPScnCkdNQUxMT0NfT0JKPScnCkdOVUxJQl9BVE9MTD0nMCcKR05VTElC X0NBTExPQ19QT1NJWD0nMCcKR05VTElCX0NBTk9OSUNBTElaRV9GSUxFX05BTUU9JzAnCkdOVUxJ Ql9DSERJUj0nMCcKR05VTElCX0NIT1dOPScwJwpHTlVMSUJfQ0xPU0U9JzAnCkdOVUxJQl9EUFJJ TlRGPScwJwpHTlVMSUJfRFVQMj0nMScKR05VTElCX0RVUDM9JzAnCkdOVUxJQl9EVVA9JzAnCkdO VUxJQl9FTlZJUk9OPScxJwpHTlVMSUJfRVVJREFDQ0VTUz0nMCcKR05VTElCX0ZBQ0NFU1NBVD0n MCcKR05VTElCX0ZDSERJUj0nMCcKR05VTElCX0ZDSE1PREFUPScwJwpHTlVMSUJfRkNIT1dOQVQ9 JzAnCkdOVUxJQl9GQ0xPU0U9JzAnCkdOVUxJQl9GREFUQVNZTkM9JzAnCkdOVUxJQl9GRE9QRU49 JzAnCkdOVUxJQl9GRkxVU0g9JzAnCkdOVUxJQl9GR0VUQz0nMScKR05VTElCX0ZHRVRTPScxJwpH TlVMSUJfRk9QRU49JzAnCkdOVUxJQl9GUFJJTlRGPScxJwpHTlVMSUJfRlBSSU5URl9QT1NJWD0n MCcKR05VTElCX0ZQVVJHRT0nMCcKR05VTElCX0ZQVVRDPScxJwpHTlVMSUJfRlBVVFM9JzEnCkdO VUxJQl9GUkVBRD0nMScKR05VTElCX0ZSRU9QRU49JzAnCkdOVUxJQl9GU0NBTkY9JzEnCkdOVUxJ Ql9GU0VFSz0nMCcKR05VTElCX0ZTRUVLTz0nMCcKR05VTElCX0ZTVEFUPScwJwpHTlVMSUJfRlNU QVRBVD0nMCcKR05VTElCX0ZTWU5DPScwJwpHTlVMSUJfRlRFTEw9JzAnCkdOVUxJQl9GVEVMTE89 JzAnCkdOVUxJQl9GVFJVTkNBVEU9JzAnCkdOVUxJQl9GVVRJTUVOUz0nMCcKR05VTElCX0ZXUklU RT0nMScKR05VTElCX0dFVEM9JzEnCkdOVUxJQl9HRVRDSEFSPScxJwpHTlVMSUJfR0VUQ1dEPScw JwpHTlVMSUJfR0VUREVMSU09JzAnCkdOVUxJQl9HRVRET01BSU5OQU1FPScwJwpHTlVMSUJfR0VU RFRBQkxFU0laRT0nMCcKR05VTElCX0dFVEdST1VQUz0nMCcKR05VTElCX0dFVEhPU1ROQU1FPScw JwpHTlVMSUJfR0VUTElORT0nMCcKR05VTElCX0dFVExPQURBVkc9JzEnCkdOVUxJQl9HRVRMT0dJ Tj0nMCcKR05VTElCX0dFVExPR0lOX1I9JzAnCkdOVUxJQl9HRVRQQUdFU0laRT0nMCcKR05VTElC X0dFVFNVQk9QVD0nMCcKR05VTElCX0dFVFRJTUVPRkRBWT0nMScKR05VTElCX0dFVFVTRVJTSEVM TD0nMCcKR05VTElCX0dMX1VOSVNURF9IX0dFVE9QVD0nMScKR05VTElCX0dSQU5UUFQ9JzAnCkdO VUxJQl9HUk9VUF9NRU1CRVI9JzAnCkdOVUxJQl9JTUFYQUJTPScwJwpHTlVMSUJfSU1BWERJVj0n MCcKR05VTElCX0lTQVRUWT0nMCcKR05VTElCX0xDSE1PRD0nMCcKR05VTElCX0xDSE9XTj0nMCcK R05VTElCX0xJTks9JzAnCkdOVUxJQl9MSU5LQVQ9JzAnCkdOVUxJQl9MU0VFSz0nMCcKR05VTElC X0xTVEFUPScxJwpHTlVMSUJfTUFMTE9DX1BPU0lYPScwJwpHTlVMSUJfTUJUT1dDPScwJwpHTlVM SUJfTUtESVJBVD0nMCcKR05VTElCX01LRFRFTVA9JzAnCkdOVUxJQl9NS0ZJRk89JzAnCkdOVUxJ Ql9NS0ZJRk9BVD0nMCcKR05VTElCX01LTk9EPScwJwpHTlVMSUJfTUtOT0RBVD0nMCcKR05VTElC X01LT1NURU1QPScwJwpHTlVMSUJfTUtPU1RFTVBTPScwJwpHTlVMSUJfTUtTVEVNUD0nMCcKR05V TElCX01LU1RFTVBTPScwJwpHTlVMSUJfTUtUSU1FPScxJwpHTlVMSUJfTkFOT1NMRUVQPScwJwpH TlVMSUJfT0JTVEFDS19QUklOVEY9JzAnCkdOVUxJQl9PQlNUQUNLX1BSSU5URl9QT1NJWD0nMCcK R05VTElCX1BDTE9TRT0nMCcKR05VTElCX1BFUlJPUj0nMCcKR05VTElCX1BJUEUyPScwJwpHTlVM SUJfUElQRT0nMCcKR05VTElCX1BPUEVOPScwJwpHTlVMSUJfUE9TSVhfT1BFTlBUPScwJwpHTlVM SUJfUFJFQUQ9JzAnCkdOVUxJQl9QUklOVEY9JzEnCkdOVUxJQl9QUklOVEZfUE9TSVg9JzAnCkdO VUxJQl9QU0VMRUNUPScxJwpHTlVMSUJfUFRIUkVBRF9TSUdNQVNLPScxJwpHTlVMSUJfUFRTTkFN RT0nMCcKR05VTElCX1BUU05BTUVfUj0nMCcKR05VTElCX1BVVEM9JzEnCkdOVUxJQl9QVVRDSEFS PScxJwpHTlVMSUJfUFVURU5WPScwJwpHTlVMSUJfUFVUUz0nMScKR05VTElCX1BXUklURT0nMCcK R05VTElCX1JBSVNFPScwJwpHTlVMSUJfUkFORE9NPScwJwpHTlVMSUJfUkFORE9NX1I9JzAnCkdO VUxJQl9SRUFEPScwJwpHTlVMSUJfUkVBRExJTks9JzEnCkdOVUxJQl9SRUFETElOS0FUPScwJwpH TlVMSUJfUkVBTExPQ19QT1NJWD0nMCcKR05VTElCX1JFQUxQQVRIPScwJwpHTlVMSUJfUkVNT1ZF PScwJwpHTlVMSUJfUkVOQU1FPScwJwpHTlVMSUJfUkVOQU1FQVQ9JzAnCkdOVUxJQl9STURJUj0n MCcKR05VTElCX1JQTUFUQ0g9JzAnCkdOVUxJQl9TQ0FORj0nMScKR05VTElCX1NFTEVDVD0nMCcK R05VTElCX1NFVEVOVj0nMCcKR05VTElCX1NFVEhPU1ROQU1FPScwJwpHTlVMSUJfU0lHQUNUSU9O PScwJwpHTlVMSUJfU0lHTkFMX0hfU0lHUElQRT0nMCcKR05VTElCX1NJR1BST0NNQVNLPScwJwpH TlVMSUJfU0xFRVA9JzAnCkdOVUxJQl9TTlBSSU5URj0nMCcKR05VTElCX1NQUklOVEZfUE9TSVg9 JzAnCkdOVUxJQl9TVEFUPScxJwpHTlVMSUJfU1RESU9fSF9OT05CTE9DS0lORz0nMCcKR05VTElC X1NURElPX0hfU0lHUElQRT0nMCcKR05VTElCX1NUUlBUSU1FPScwJwpHTlVMSUJfU1RSVE9EPScw JwpHTlVMSUJfU1RSVE9JTUFYPScxJwpHTlVMSUJfU1RSVE9MTD0nMCcKR05VTElCX1NUUlRPVUxM PScwJwpHTlVMSUJfU1RSVE9VTUFYPScxJwpHTlVMSUJfU1lNTElOSz0nMScKR05VTElCX1NZTUxJ TktBVD0nMCcKR05VTElCX1NZU1RFTV9QT1NJWD0nMCcKR05VTElCX1RJTUVHTT0nMCcKR05VTElC X1RJTUVfUj0nMScKR05VTElCX1RNUEZJTEU9JzAnCkdOVUxJQl9UVFlOQU1FX1I9JzAnCkdOVUxJ Ql9VTklTVERfSF9OT05CTE9DS0lORz0nMCcKR05VTElCX1VOSVNURF9IX1NJR1BJUEU9JzAnCkdO VUxJQl9VTkxJTks9JzAnCkdOVUxJQl9VTkxJTktBVD0nMCcKR05VTElCX1VOTE9DS1BUPScwJwpH TlVMSUJfVU5TRVRFTlY9JzAnCkdOVUxJQl9VU0xFRVA9JzAnCkdOVUxJQl9VVElNRU5TQVQ9JzAn CkdOVUxJQl9WQVNQUklOVEY9JzAnCkdOVUxJQl9WRFBSSU5URj0nMCcKR05VTElCX1ZGUFJJTlRG PScxJwpHTlVMSUJfVkZQUklOVEZfUE9TSVg9JzAnCkdOVUxJQl9WRlNDQU5GPScwJwpHTlVMSUJf VlBSSU5URj0nMScKR05VTElCX1ZQUklOVEZfUE9TSVg9JzAnCkdOVUxJQl9WU0NBTkY9JzAnCkdO VUxJQl9WU05QUklOVEY9JzAnCkdOVUxJQl9WU1BSSU5URl9QT1NJWD0nMCcKR05VTElCX1dBUk5f Q0ZMQUdTPScnCkdOVUxJQl9XQ1RPTUI9JzAnCkdOVUxJQl9XUklURT0nMCcKR05VTElCX19FWElU PScwJwpHTlVTVEVQX0NGTEFHUz0nJwpHTlVfT0JKQ19DRkxBR1M9JycKR09CSkVDVF9DRkxBR1M9 JycKR09CSkVDVF9MSUJTPScnCkdSRVA9Jy91c3IvYmluL2dyZXAnCkdTRVRUSU5HU19DRkxBR1M9 JycKR1NFVFRJTkdTX0xJQlM9JycKR1RLX0NGTEFHUz0nJwpHVEtfTElCUz0nJwpHVEtfT0JKPScn CkdaSVBfSU5GTz0neWVzJwpHWklQX1BST0c9Jy91c3IvYmluL2d6aXAnCkhBVkVfQVRPTEw9JzEn CkhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRT0nMScKSEFWRV9DSE9XTj0nMScKSEFWRV9ERUNM X0VOVklST049JzAnCkhBVkVfREVDTF9GQ0hESVI9JzEnCkhBVkVfREVDTF9GREFUQVNZTkM9JzEn CkhBVkVfREVDTF9GUFVSR0U9JzEnCkhBVkVfREVDTF9GU0VFS089JzEnCkhBVkVfREVDTF9GVEVM TE89JzEnCkhBVkVfREVDTF9HRVRERUxJTT0nMScKSEFWRV9ERUNMX0dFVERPTUFJTk5BTUU9JzEn CkhBVkVfREVDTF9HRVRMSU5FPScxJwpIQVZFX0RFQ0xfR0VUTE9BREFWRz0nMScKSEFWRV9ERUNM X0dFVExPR0lOX1I9JzEnCkhBVkVfREVDTF9HRVRQQUdFU0laRT0nMScKSEFWRV9ERUNMX0dFVFVT RVJTSEVMTD0nMScKSEFWRV9ERUNMX0lNQVhBQlM9JzEnCkhBVkVfREVDTF9JTUFYRElWPScxJwpI QVZFX0RFQ0xfTE9DQUxUSU1FX1I9JzEnCkhBVkVfREVDTF9PQlNUQUNLX1BSSU5URj0nMScKSEFW RV9ERUNMX1NFVEVOVj0nMScKSEFWRV9ERUNMX1NFVEhPU1ROQU1FPScxJwpIQVZFX0RFQ0xfU05Q UklOVEY9JzEnCkhBVkVfREVDTF9TVFJUT0lNQVg9JzEnCkhBVkVfREVDTF9TVFJUT1VNQVg9JzEn CkhBVkVfREVDTF9UVFlOQU1FX1I9JzEnCkhBVkVfREVDTF9VTlNFVEVOVj0nMScKSEFWRV9ERUNM X1ZTTlBSSU5URj0nMScKSEFWRV9EUFJJTlRGPScxJwpIQVZFX0RVUDI9JzEnCkhBVkVfRFVQMz0n MScKSEFWRV9FVUlEQUNDRVNTPScxJwpIQVZFX0ZBQ0NFU1NBVD0nMScKSEFWRV9GQ0hESVI9JzEn CkhBVkVfRkNITU9EQVQ9JzEnCkhBVkVfRkNIT1dOQVQ9JzEnCkhBVkVfRkRBVEFTWU5DPScxJwpI QVZFX0ZTRUVLTz0nMScKSEFWRV9GU1RBVEFUPScxJwpIQVZFX0ZTWU5DPScxJwpIQVZFX0ZURUxM Tz0nMScKSEFWRV9GVFJVTkNBVEU9JzEnCkhBVkVfRlVUSU1FTlM9JzEnCkhBVkVfR0VURFRBQkxF U0laRT0nMScKSEFWRV9HRVRHUk9VUFM9JzEnCkhBVkVfR0VUSE9TVE5BTUU9JzEnCkhBVkVfR0VU TE9HSU49JzEnCkhBVkVfR0VUT1BUX0g9JzEnCkhBVkVfR0VUUEFHRVNJWkU9JzEnCkhBVkVfR0VU U1VCT1BUPScxJwpIQVZFX0dFVFRJTUVPRkRBWT0nMScKSEFWRV9HUkFOVFBUPScxJwpIQVZFX0dS T1VQX01FTUJFUj0nMScKSEFWRV9JTlRUWVBFU19IPScxJwpIQVZFX0xDSE1PRD0nMScKSEFWRV9M Q0hPV049JzEnCkhBVkVfTElOSz0nMScKSEFWRV9MSU5LQVQ9JzEnCkhBVkVfTE9OR19MT05HX0lO VD0nMScKSEFWRV9MU1RBVD0nMScKSEFWRV9NQUtFSU5GTz0neWVzJwpIQVZFX01LRElSQVQ9JzEn CkhBVkVfTUtEVEVNUD0nMScKSEFWRV9NS0ZJRk89JzEnCkhBVkVfTUtGSUZPQVQ9JzEnCkhBVkVf TUtOT0Q9JzEnCkhBVkVfTUtOT0RBVD0nMScKSEFWRV9NS09TVEVNUD0nMScKSEFWRV9NS09TVEVN UFM9JzEnCkhBVkVfTUtTVEVNUD0nMScKSEFWRV9NS1NURU1QUz0nMScKSEFWRV9OQU5PU0xFRVA9 JzEnCkhBVkVfT1NfSD0nMCcKSEFWRV9QQ0xPU0U9JzEnCkhBVkVfUElQRTI9JzEnCkhBVkVfUElQ RT0nMScKSEFWRV9QT1BFTj0nMScKSEFWRV9QT1NJWF9PUEVOUFQ9JzEnCkhBVkVfUE9TSVhfU0lH TkFMQkxPQ0tJTkc9JzEnCkhBVkVfUFJFQUQ9JzEnCkhBVkVfUFNFTEVDVD0nMScKSEFWRV9QVEhS RUFEX1NJR01BU0s9JzEnCkhBVkVfUFRTTkFNRT0nMScKSEFWRV9QVFNOQU1FX1I9JzEnCkhBVkVf UFdSSVRFPScxJwpIQVZFX1JBSVNFPScxJwpIQVZFX1JBTkRPTT0nMScKSEFWRV9SQU5ET01fSD0n MScKSEFWRV9SQU5ET01fUj0nMScKSEFWRV9SRUFETElOSz0nMScKSEFWRV9SRUFETElOS0FUPScx JwpIQVZFX1JFQUxQQVRIPScxJwpIQVZFX1JFTkFNRUFUPScxJwpIQVZFX1JQTUFUQ0g9JzEnCkhB VkVfU0VURU5WPScxJwpIQVZFX1NFVEhPU1ROQU1FPScxJwpIQVZFX1NJR0FDVElPTj0nMScKSEFW RV9TSUdIQU5ETEVSX1Q9JzAnCkhBVkVfU0lHSU5GT19UPScxJwpIQVZFX1NJR05FRF9TSUdfQVRP TUlDX1Q9JzEnCkhBVkVfU0lHTkVEX1dDSEFSX1Q9JzEnCkhBVkVfU0lHTkVEX1dJTlRfVD0nMScK SEFWRV9TSUdTRVRfVD0nMScKSEFWRV9TTEVFUD0nMScKSEFWRV9TVERJTlRfSD0nMScKSEFWRV9T VFJQVElNRT0nMScKSEFWRV9TVFJUT0Q9JzEnCkhBVkVfU1RSVE9MTD0nMScKSEFWRV9TVFJUT1VM TD0nMScKSEFWRV9TVFJVQ1RfUkFORE9NX0RBVEE9JzEnCkhBVkVfU1RSVUNUX1NJR0FDVElPTl9T QV9TSUdBQ1RJT049JzEnCkhBVkVfU1RSVUNUX1RJTUVWQUw9JzEnCkhBVkVfU1lNTElOSz0nMScK SEFWRV9TWU1MSU5LQVQ9JzEnCkhBVkVfU1lTX0JJVFlQRVNfSD0nMCcKSEFWRV9TWVNfSU5UVFlQ RVNfSD0nMCcKSEFWRV9TWVNfTE9BREFWR19IPScwJwpIQVZFX1NZU19QQVJBTV9IPScwJwpIQVZF X1NZU19TRUxFQ1RfSD0nMScKSEFWRV9TWVNfVElNRV9IPScxJwpIQVZFX1NZU19UWVBFU19IPScx JwpIQVZFX1RJTUVHTT0nMScKSEFWRV9UWVBFX1ZPTEFUSUxFX1NJR19BVE9NSUNfVD0nMScKSEFW RV9VTklTVERfSD0nMScKSEFWRV9VTkxJTktBVD0nMScKSEFWRV9VTkxPQ0tQVD0nMScKSEFWRV9V TlNJR05FRF9MT05HX0xPTkdfSU5UPScxJwpIQVZFX1VTTEVFUD0nMScKSEFWRV9VVElNRU5TQVQ9 JzEnCkhBVkVfVkFTUFJJTlRGPScxJwpIQVZFX1ZEUFJJTlRGPScxJwpIQVZFX1dDSEFSX0g9JzEn CkhBVkVfV0NIQVJfVD0nMScKSEFWRV9XSU5TT0NLMl9IPScwJwpIQVZFX1hTRVJWRVI9JycKSEFW RV9fQk9PTD0nMScKSEFWRV9fRVhJVD0nMScKSU1BR0VNQUdJQ0tfQ0ZMQUdTPScnCklNQUdFTUFH SUNLX0xJQlM9JycKSU5DTFVERV9ORVhUPSdpbmNsdWRlX25leHQnCklOQ0xVREVfTkVYVF9BU19G SVJTVF9ESVJFQ1RJVkU9J2luY2x1ZGVfbmV4dCcKSU5GT19FWFQ9Jy5pbmZvJwpJTkZPX09QVFM9 Jy0tbm8tc3BsaXQnCklOU1RBTExfQVJDSF9JTkRFUF9FWFRSQT0nJwpJTlNUQUxMX0RBVEE9JyR7 SU5TVEFMTH0gLW0gNjQ0JwpJTlNUQUxMX0lORk89Jy91c3IvYmluL2luc3RhbGwtaW5mbycKSU5T VEFMTF9QUk9HUkFNPScke0lOU1RBTEx9JwpJTlNUQUxMX1NDUklQVD0nJHtJTlNUQUxMfScKSU5T VEFMTF9TVFJJUF9QUk9HUkFNPSckKGluc3RhbGxfc2gpIC1jIC1zJwpJTlQzMl9NQVhfTFRfSU5U TUFYX01BWD0nMScKSU5UNjRfTUFYX0VRX0xPTkdfTUFYPSdkZWZpbmVkIF9MUDY0JwpLUkI0TElC PScnCktSQjVMSUI9JycKTERGTEFHUz0nJwpMRF9GSVJTVEZMQUc9JycKTERfU1dJVENIX1NZU1RF TT0nJwpMRF9TV0lUQ0hfU1lTVEVNX1RFTUFDUz0nLWZuby1waWUgLXByZWJpbmQgLWZyYW1ld29y ayBBcHBLaXQgLVhsaW5rZXIgLWhlYWRlcnBhZCAtWGxpbmtlciA2QzgnCkxEX1NXSVRDSF9YX1NJ VEU9Jy1ML3Vzci9YMTEvbGliJwpMRF9TV0lUQ0hfWF9TSVRFX1JQQVRIPSctV2wsLXJwYXRoLC91 c3IvWDExL2xpYicKTElCR0lGPScnCkxJQkdOVVRMU19DRkxBR1M9JycKTElCR05VVExTX0xJQlM9 JycKTElCR05VX0xJQkRFUFM9JycKTElCR05VX0xUTElCREVQUz0nJwpMSUJHUE09JycKTElCSEVT SU9EPScnCkxJQklOVEw9JycKTElCSlBFRz0nJwpMSUJPQkpTPScnCkxJQk9URl9DRkxBR1M9JycK TElCT1RGX0xJQlM9JycKTElCUE5HPScnCkxJQlJFU09MVj0nJwpMSUJTPSctbG0gIC1scHRocmVh ZCAgJwpMSUJTRUxJTlVYX0xJQlM9JycKTElCU09VTkQ9JycKTElCU19NQUlMPScnCkxJQlNfU1lT VEVNPScnCkxJQlNfVEVSTUNBUD0nLWxuY3Vyc2VzJwpMSUJUSUZGPScnCkxJQlhNRU5VPScnCkxJ QlhNTDJfQ0ZMQUdTPScnCkxJQlhNTDJfTElCUz0nJwpMSUJYTVU9Jy1sWG11JwpMSUJYUE09JycK TElCWFNNPScnCkxJQlhUUjY9JycKTElCWFRfT1RIRVI9JyQoTElCWFNNKScKTElCWF9PVEhFUj0n JwpMSUJfQ0xPQ0tfR0VUVElNRT0nJwpMSUJfRVhFQ0lORk89JycKTElCX0dDQz0nJwpMSUJfTUFU SD0nJwpMSUJfUFRIUkVBRD0nLWxwdGhyZWFkJwpMSUJfUFRIUkVBRF9TSUdNQVNLPScnCkxJQl9T VEFOREFSRD0nJwpMTl9TPSdsbiAtcycKTFRMSUJJTlRMPScnCkxUTElCT0JKUz0nJwpNMTdOX0ZM VF9DRkxBR1M9JycKTTE3Tl9GTFRfTElCUz0nJwpNQUtFSU5GTz0nL3Vzci9iaW4vbWFrZWluZm8n Ck1LREVQRElSPScke01LRElSX1B9ICR7REVQRElSfScKTUtESVJfUD0nL3Vzci9sb2NhbC9DZWxs YXIvY29yZXV0aWxzLzguMTkvbGliZXhlYy9nbnViaW4vbWtkaXIgLXAnCk5FWFRfQVNfRklSU1Rf RElSRUNUSVZFX0dFVE9QVF9IPSc8Z2V0b3B0Lmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9J TlRUWVBFU19IPSc8aW50dHlwZXMuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX1NJR05BTF9I PSc8c2lnbmFsLmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TVERBUkdfSD0nJwpORVhUX0FT X0ZJUlNUX0RJUkVDVElWRV9TVERERUZfSD0nJwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TVERJ TlRfSD0nPHN0ZGludC5oPicKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfU1RESU9fSD0nPHN0ZGlv Lmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TVERMSUJfSD0nPHN0ZGxpYi5oPicKTkVYVF9B U19GSVJTVF9ESVJFQ1RJVkVfU1lTX1NFTEVDVF9IPSc8c3lzL3NlbGVjdC5oPicKTkVYVF9BU19G SVJTVF9ESVJFQ1RJVkVfU1lTX1NUQVRfSD0nPHN5cy9zdGF0Lmg+JwpORVhUX0FTX0ZJUlNUX0RJ UkVDVElWRV9TWVNfVElNRV9IPSc8c3lzL3RpbWUuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZF X1RJTUVfSD0nPHRpbWUuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX1VOSVNURF9IPSc8dW5p c3RkLmg+JwpORVhUX0dFVE9QVF9IPSc8Z2V0b3B0Lmg+JwpORVhUX0lOVFRZUEVTX0g9JzxpbnR0 eXBlcy5oPicKTkVYVF9TSUdOQUxfSD0nPHNpZ25hbC5oPicKTkVYVF9TVERBUkdfSD0nPHN0ZGFy Zy5oPicKTkVYVF9TVERERUZfSD0nJwpORVhUX1NURElOVF9IPSc8c3RkaW50Lmg+JwpORVhUX1NU RElPX0g9JzxzdGRpby5oPicKTkVYVF9TVERMSUJfSD0nPHN0ZGxpYi5oPicKTkVYVF9TWVNfU0VM RUNUX0g9JzxzeXMvc2VsZWN0Lmg+JwpORVhUX1NZU19TVEFUX0g9JzxzeXMvc3RhdC5oPicKTkVY VF9TWVNfVElNRV9IPSc8c3lzL3RpbWUuaD4nCk5FWFRfVElNRV9IPSc8dGltZS5oPicKTkVYVF9V TklTVERfSD0nPHVuaXN0ZC5oPicKTlNfT0JKPScnCk5TX09CSkNfT0JKPSduc3Rlcm0ubyBuc2Zu cy5vIG5zbWVudS5vIG5zc2VsZWN0Lm8gbnNpbWFnZS5vIG5zZm9udC5vJwpPQkpFWFQ9J28nCk9M RFhNRU5VPSdub3RoaW5nJwpPTERYTUVOVV9ERVBTPScnCk9MRFhNRU5VX1RBUkdFVD0ncmVhbGx5 LW9sZFhNZW51JwpPVEhFUl9GSUxFUz0nbnMtYXBwJwpQQUNLQUdFPSdlbWFjcycKUEFDS0FHRV9C VUdSRVBPUlQ9JycKUEFDS0FHRV9OQU1FPSdlbWFjcycKUEFDS0FHRV9TVFJJTkc9J2VtYWNzIDI0 LjIuNTAnClBBQ0tBR0VfVEFSTkFNRT0nZW1hY3MnClBBQ0tBR0VfVVJMPScnClBBQ0tBR0VfVkVS U0lPTj0nMjQuMi41MCcKUEFUSF9TRVBBUkFUT1I9JzonClBBWENUTD0nJwpQS0dfQ09ORklHPScv dXNyL2xvY2FsL2Jpbi9wa2ctY29uZmlnJwpQT1NUX0FMTE9DX09CSj0nJwpQUkFHTUFfQ09MVU1O Uz0nJwpQUkFHTUFfU1lTVEVNX0hFQURFUj0nI3ByYWdtYSBHQ0Mgc3lzdGVtX2hlYWRlcicKUFJF X0FMTE9DX09CSj0nbGFzdGZpbGUubycKUFJJUFRSX1BSRUZJWD0nX19QUklQVFJfUFJFRklYJwpQ UklfTUFDUk9TX0JST0tFTj0nMCcKUFJPRklMSU5HX0NGTEFHUz0nJwpQVEhSRUFEX0hfREVGSU5F U19TVFJVQ1RfVElNRVNQRUM9JzAnClBUUkRJRkZfVF9TVUZGSVg9J2wnClJBTExPQ19PQko9JycK UkFOTElCPSdyYW5saWInClJFUExBQ0VfQ0FMTE9DPScwJwpSRVBMQUNFX0NBTk9OSUNBTElaRV9G SUxFX05BTUU9JzAnClJFUExBQ0VfQ0hPV049JzAnClJFUExBQ0VfQ0xPU0U9JzAnClJFUExBQ0Vf RFBSSU5URj0nMCcKUkVQTEFDRV9EVVAyPScwJwpSRVBMQUNFX0RVUD0nMCcKUkVQTEFDRV9GQ0hP V05BVD0nMCcKUkVQTEFDRV9GQ0xPU0U9JzAnClJFUExBQ0VfRkRPUEVOPScwJwpSRVBMQUNFX0ZG TFVTSD0nMCcKUkVQTEFDRV9GT1BFTj0nMCcKUkVQTEFDRV9GUFJJTlRGPScwJwpSRVBMQUNFX0ZQ VVJHRT0nMCcKUkVQTEFDRV9GUkVPUEVOPScwJwpSRVBMQUNFX0ZTRUVLPScwJwpSRVBMQUNFX0ZT RUVLTz0nMCcKUkVQTEFDRV9GU1RBVD0nMCcKUkVQTEFDRV9GU1RBVEFUPScwJwpSRVBMQUNFX0ZU RUxMPScwJwpSRVBMQUNFX0ZURUxMTz0nMCcKUkVQTEFDRV9GVFJVTkNBVEU9JzAnClJFUExBQ0Vf RlVUSU1FTlM9JzAnClJFUExBQ0VfR0VUQ1dEPScwJwpSRVBMQUNFX0dFVERFTElNPScwJwpSRVBM QUNFX0dFVERPTUFJTk5BTUU9JzAnClJFUExBQ0VfR0VUR1JPVVBTPScwJwpSRVBMQUNFX0dFVExJ TkU9JzAnClJFUExBQ0VfR0VUTE9HSU5fUj0nMCcKUkVQTEFDRV9HRVRQQUdFU0laRT0nMCcKUkVQ TEFDRV9HRVRUSU1FT0ZEQVk9JzAnClJFUExBQ0VfSVNBVFRZPScwJwpSRVBMQUNFX0xDSE9XTj0n MCcKUkVQTEFDRV9MSU5LPScwJwpSRVBMQUNFX0xJTktBVD0nMCcKUkVQTEFDRV9MT0NBTFRJTUVf Uj0nMCcKUkVQTEFDRV9MU0VFSz0nMCcKUkVQTEFDRV9MU1RBVD0nMScKUkVQTEFDRV9NQUxMT0M9 JzAnClJFUExBQ0VfTUJUT1dDPScwJwpSRVBMQUNFX01LRElSPScwJwpSRVBMQUNFX01LRklGTz0n MCcKUkVQTEFDRV9NS05PRD0nMCcKUkVQTEFDRV9NS1NURU1QPScwJwpSRVBMQUNFX01LVElNRT0n MScKUkVQTEFDRV9OQU5PU0xFRVA9J0dOVUxJQl9QT1JUQ0hFQ0snClJFUExBQ0VfTlVMTD0nMCcK UkVQTEFDRV9PQlNUQUNLX1BSSU5URj0nMCcKUkVQTEFDRV9QRVJST1I9JzAnClJFUExBQ0VfUE9Q RU49JzAnClJFUExBQ0VfUFJFQUQ9JzAnClJFUExBQ0VfUFJJTlRGPScwJwpSRVBMQUNFX1BTRUxF Q1Q9JzAnClJFUExBQ0VfUFRIUkVBRF9TSUdNQVNLPScwJwpSRVBMQUNFX1BUU05BTUVfUj0nMCcK UkVQTEFDRV9QVVRFTlY9JzAnClJFUExBQ0VfUFdSSVRFPScwJwpSRVBMQUNFX1JBSVNFPScwJwpS RVBMQUNFX1JBTkRPTV9SPScwJwpSRVBMQUNFX1JFQUQ9JzAnClJFUExBQ0VfUkVBRExJTks9JzEn ClJFUExBQ0VfUkVBTExPQz0nMCcKUkVQTEFDRV9SRUFMUEFUSD0nMCcKUkVQTEFDRV9SRU1PVkU9 JzAnClJFUExBQ0VfUkVOQU1FPScwJwpSRVBMQUNFX1JFTkFNRUFUPScwJwpSRVBMQUNFX1JNRElS PScwJwpSRVBMQUNFX1NFTEVDVD0nMCcKUkVQTEFDRV9TRVRFTlY9JzAnClJFUExBQ0VfU0xFRVA9 JzAnClJFUExBQ0VfU05QUklOVEY9JzAnClJFUExBQ0VfU1BSSU5URj0nMCcKUkVQTEFDRV9TVEFU PScxJwpSRVBMQUNFX1NURElPX1JFQURfRlVOQ1M9JzAnClJFUExBQ0VfU1RESU9fV1JJVEVfRlVO Q1M9JzAnClJFUExBQ0VfU1RSVE9EPScwJwpSRVBMQUNFX1NUUlRPSU1BWD0nMCcKUkVQTEFDRV9T VFJVQ1RfVElNRVZBTD0nMCcKUkVQTEFDRV9TWU1MSU5LPScxJwpSRVBMQUNFX1RJTUVHTT0nR05V TElCX1BPUlRDSEVDSycKUkVQTEFDRV9UTVBGSUxFPScwJwpSRVBMQUNFX1RUWU5BTUVfUj0nMCcK UkVQTEFDRV9VTkxJTks9JzAnClJFUExBQ0VfVU5MSU5LQVQ9JzAnClJFUExBQ0VfVU5TRVRFTlY9 JzAnClJFUExBQ0VfVVNMRUVQPScwJwpSRVBMQUNFX1VUSU1FTlNBVD0nMCcKUkVQTEFDRV9WQVNQ UklOVEY9JzAnClJFUExBQ0VfVkRQUklOVEY9JzAnClJFUExBQ0VfVkZQUklOVEY9JzAnClJFUExB Q0VfVlBSSU5URj0nMCcKUkVQTEFDRV9WU05QUklOVEY9JzAnClJFUExBQ0VfVlNQUklOVEY9JzAn ClJFUExBQ0VfV0NUT01CPScwJwpSRVBMQUNFX1dSSVRFPScwJwpSU1ZHX0NGTEFHUz0nJwpSU1ZH X0xJQlM9JycKU0VUVElOR1NfQ0ZMQUdTPScnClNFVFRJTkdTX0xJQlM9JycKU0VUX01BS0U9JycK U0hFTEw9Jy9iaW4vc2gnClNJR19BVE9NSUNfVF9TVUZGSVg9JycKU0laRV9UX1NVRkZJWD0ndWwn ClNUQVJUX0ZJTEVTPSdwcmUtY3J0MC5vJwpTVERBTElHTl9IPSdzdGRhbGlnbi5oJwpTVERBUkdf SD0nJwpTVERCT09MX0g9JycKU1REREVGX0g9JycKU1RESU5UX0g9J3N0ZGludC5oJwpTVFJJUD0n JwpTVUJESVJfTUFLRUZJTEVTX0lOPScgJChzcmNkaXIpL2xpYi9NYWtlZmlsZS5pbiAkKHNyY2Rp cikvbGliLXNyYy9NYWtlZmlsZS5pbiAkKHNyY2Rpcikvb2xkWE1lbnUvTWFrZWZpbGUuaW4gJChz cmNkaXIpL2RvYy9lbWFjcy9NYWtlZmlsZS5pbiAkKHNyY2RpcikvZG9jL21pc2MvTWFrZWZpbGUu aW4gJChzcmNkaXIpL2RvYy9saXNwaW50cm8vTWFrZWZpbGUuaW4gJChzcmNkaXIpL2RvYy9saXNw cmVmL01ha2VmaWxlLmluICQoc3JjZGlyKS9zcmMvTWFrZWZpbGUuaW4gJChzcmNkaXIpL2x3bGli L01ha2VmaWxlLmluICQoc3JjZGlyKS9saXNwL01ha2VmaWxlLmluICQoc3JjZGlyKS9sZWltL01h a2VmaWxlLmluICQoc3JjZGlyKS9uZXh0c3RlcC9NYWtlZmlsZS5pbiAkKHNyY2RpcikvdGVzdC9h dXRvbWF0ZWQvTWFrZWZpbGUuaW4gJChzcmNkaXIpL2FkbWluL3VuaWRhdGEvTWFrZWZpbGUuaW4n ClNZU19USU1FX0hfREVGSU5FU19TVFJVQ1RfVElNRVNQRUM9JzAnClRFTUFDU19MREZMQUdTMj0n JHtMREZMQUdTfScKVEVSTUNBUF9PQko9J3Rlcm1pbmZvLm8nClRJTUVfSF9ERUZJTkVTX1NUUlVD VF9USU1FU1BFQz0nMScKVE9PTEtJVF9MSUJXPScnClVJTlQzMl9NQVhfTFRfVUlOVE1BWF9NQVg9 JzEnClVJTlQ2NF9NQVhfRVFfVUxPTkdfTUFYPSdkZWZpbmVkIF9MUDY0JwpVTkVYRUNfT0JKPSd1 bmV4bWFjb3N4Lm8nClVOSVNURF9IX0hBVkVfV0lOU09DSzJfSD0nMCcKVU5JU1REX0hfSEFWRV9X SU5TT0NLMl9IX0FORF9VU0VfU09DS0VUUz0nMCcKVkVSU0lPTj0nMjQuMi41MCcKVk1MSU1JVF9P Qko9JycKV0FSTl9DRkxBR1M9JycKV0NIQVJfVF9TVUZGSVg9JycKV0VSUk9SX0NGTEFHUz0nJwpX SURHRVRfT0JKPScnCldJTkRPV1NfNjRfQklUX09GRl9UPScwJwpXSU5ET1dTXzY0X0JJVF9TVF9T SVpFPScwJwpXSU5ET1dfU1lTVEVNX09CSj0nZm9udHNldC5vIGZyaW5nZS5vIGltYWdlLm8nCldJ TlRfVF9TVUZGSVg9JycKWEZUX0NGTEFHUz0nJwpYRlRfTElCUz0nJwpYTUVOVV9PQko9JycKWE1L TUY9JycKWE9CSj0nJwpYX1RPT0xLSVRfVFlQRT0nbm9uZScKYWNfY3RfQ0M9J2djYycKYW1fX0VY RUVYVF9GQUxTRT0nJwphbV9fRVhFRVhUX1RSVUU9JyMnCmFtX19mYXN0ZGVwQ0NfRkFMU0U9JyMn CmFtX19mYXN0ZGVwQ0NfVFJVRT0nJwphbV9faW5jbHVkZT0naW5jbHVkZScKYW1fX2lzcmM9JycK YW1fX2xlYWRpbmdfZG90PScuJwphbV9fbm9kZXA9J19ubycKYW1fX3F1b3RlPScnCmFtX190YXI9 JyQke1RBUi10YXJ9IGNob2YgLSAiJCR0YXJkaXIiJwphbV9fdW50YXI9JyQke1RBUi10YXJ9IHhm IC0nCmFyY2hsaWJkaXI9JyR7bnNfYXBwYmluZGlyfS9saWJleGVjJwpiaW5kaXI9JyR7ZXhlY19w cmVmaXh9L2JpbicKYml0bWFwZGlyPScvdXNyL1gxMS9pbmNsdWRlL1gxMS9iaXRtYXBzJwpidWls ZD0naTM4Ni1hcHBsZS1kYXJ3aW4xMi4xLjAnCmJ1aWxkX2FsaWFzPScnCmJ1aWxkX2NwdT0naTM4 NicKYnVpbGRfb3M9J2RhcndpbjEyLjEuMCcKYnVpbGRfdmVuZG9yPSdhcHBsZScKY2FjaGVfZmls ZT0nL2Rldi9udWxsJwpjYW5vbmljYWw9J2kzODYtYXBwbGUtZGFyd2luMTIuMS4wJwpjb25maWd1 cmF0aW9uPSdpMzg2LWFwcGxlLWRhcndpbjEyLjEuMCcKY29weXJpZ2h0PSdDb3B5cmlnaHQgKEMp IDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuJwpkYXRhZGlyPScke2RhdGFyb290 ZGlyfScKZGF0YXJvb3RkaXI9JyR7cHJlZml4fS9zaGFyZScKZG9jZGlyPScke25zX2FwcHJlc2Rp cn0vZXRjJwpkdmlkaXI9JyR7ZG9jZGlyfScKZXRjZGlyPScke25zX2FwcHJlc2Rpcn0vZXRjJwpl eGVjX3ByZWZpeD0nL1VzZXJzL2xlaWYvZ2l0L2VtYWNzL25leHRzdGVwL0VtYWNzLmFwcC9Db250 ZW50cy9NYWNPUycKZ2FtZWRpcj0nJHtsb2NhbHN0YXRlZGlyfS9nYW1lcy9lbWFjcycKZ2FtZXVz ZXI9J2dhbWVzJwpnbF9HTlVMSUJfRU5BQkxFRF9iZTQ1M2NlYzVlZWNmNTczMWEyNzRmMmRlN2Yy ZGIzNl9GQUxTRT0nIycKZ2xfR05VTElCX0VOQUJMRURfYmU0NTNjZWM1ZWVjZjU3MzFhMjc0ZjJk ZTdmMmRiMzZfVFJVRT0nJwpnbF9HTlVMSUJfRU5BQkxFRF9kb3NuYW1lX0ZBTFNFPScjJwpnbF9H TlVMSUJfRU5BQkxFRF9kb3NuYW1lX1RSVUU9JycKZ2xfR05VTElCX0VOQUJMRURfcGF0aG1heF9G QUxTRT0nIycKZ2xfR05VTElCX0VOQUJMRURfcGF0aG1heF9UUlVFPScnCmdsX0dOVUxJQl9FTkFC TEVEX3N0YXRfRkFMU0U9JyMnCmdsX0dOVUxJQl9FTkFCTEVEX3N0YXRfVFJVRT0nJwpnbF9HTlVM SUJfRU5BQkxFRF9zdHJ0b2xsX0ZBTFNFPScnCmdsX0dOVUxJQl9FTkFCTEVEX3N0cnRvbGxfVFJV RT0nIycKZ2xfR05VTElCX0VOQUJMRURfc3RydG91bGxfRkFMU0U9JycKZ2xfR05VTElCX0VOQUJM RURfc3RydG91bGxfVFJVRT0nIycKZ2xfR05VTElCX0VOQUJMRURfdmVyaWZ5X0ZBTFNFPScjJwpn bF9HTlVMSUJfRU5BQkxFRF92ZXJpZnlfVFJVRT0nJwpnbF9MSUJPQkpTPScgZ2V0b3B0Lm8gZ2V0 b3B0MS5vIGxzdGF0Lm8gbWt0aW1lLm8gcmVhZGxpbmsubyBzdGF0Lm8gc3ltbGluay5vJwpnbF9M VExJQk9CSlM9JyBnZXRvcHQubG8gZ2V0b3B0MS5sbyBsc3RhdC5sbyBta3RpbWUubG8gcmVhZGxp bmsubG8gc3RhdC5sbyBzeW1saW5rLmxvJwpnbHRlc3RzX0xJQk9CSlM9JycKZ2x0ZXN0c19MVExJ Qk9CSlM9JycKZ2x0ZXN0c19XSVRORVNTPSdJTl9FTUFDU19HTlVMSUJfVEVTVFMnCmhvc3Q9J2kz ODYtYXBwbGUtZGFyd2luMTIuMS4wJwpob3N0X2FsaWFzPScnCmhvc3RfY3B1PSdpMzg2Jwpob3N0 X29zPSdkYXJ3aW4xMi4xLjAnCmhvc3RfdmVuZG9yPSdhcHBsZScKaHRtbGRpcj0nJHtkb2NkaXJ9 JwppbmNsdWRlZGlyPScke3ByZWZpeH0vaW5jbHVkZScKaW5mb2Rpcj0nJHtuc19hcHByZXNkaXJ9 L2luZm8nCmluc3RhbGxfc2g9JyR7U0hFTEx9IC9Vc2Vycy9sZWlmL2dpdC9lbWFjcy9idWlsZC1h dXgvaW5zdGFsbC1zaCcKbGVpbWRpcj0nJHtuc19hcHByZXNkaXJ9L2xlaW0nCmxpYmRpcj0nJHtl eGVjX3ByZWZpeH0vbGliJwpsaWJleGVjZGlyPScke25zX2FwcGJpbmRpcn0vbGliZXhlYycKbGli bG9ja2ZpbGU9J25vJwpsaXNwZGlyPScke25zX2FwcHJlc2Rpcn0vbGlzcCcKbGlzcHBhdGg9JyR7 bG9jYWxsaXNwcGF0aH06JHtzdGFuZGFyZGxpc3BwYXRofScKbG9jYWxlZGlyPScke2RhdGFyb290 ZGlyfS9sb2NhbGUnCmxvY2FsbGlzcHBhdGg9JyR7ZGF0YWRpcn0vZW1hY3MvJHt2ZXJzaW9ufS9z aXRlLWxpc3A6JHtkYXRhZGlyfS9lbWFjcy9zaXRlLWxpc3AnCmxvY2Fsc3RhdGVkaXI9JyR7cHJl Zml4fS92YXInCm1hbmRpcj0nJHtuc19hcHByZXNkaXJ9L21hbicKbWtkaXJfcD0nJChNS0RJUl9Q KScKbnNfYXBwYmluZGlyPScvVXNlcnMvbGVpZi9naXQvZW1hY3MvbmV4dHN0ZXAvRW1hY3MuYXBw L0NvbnRlbnRzL01hY09TJwpuc19hcHBkaXI9Jy9Vc2Vycy9sZWlmL2dpdC9lbWFjcy9uZXh0c3Rl cC9FbWFjcy5hcHAnCm5zX2FwcHJlc2Rpcj0nL1VzZXJzL2xlaWYvZ2l0L2VtYWNzL25leHRzdGVw L0VtYWNzLmFwcC9Db250ZW50cy9SZXNvdXJjZXMnCm5zX2FwcHNyYz0nQ29jb2EvRW1hY3MuYmFz ZScKbnNfc2VsZl9jb250YWluZWQ9J3llcycKb2xkaW5jbHVkZWRpcj0nL3Vzci9pbmNsdWRlJwpw ZGZkaXI9JyR7ZG9jZGlyfScKcHJlZml4PScvVXNlcnMvbGVpZi9naXQvZW1hY3MvbmV4dHN0ZXAv RW1hY3MuYXBwL0NvbnRlbnRzL1Jlc291cmNlcycKcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZT0ncyx4 LHgsJwpwc2Rpcj0nJHtkb2NkaXJ9JwpzYmluZGlyPScke2V4ZWNfcHJlZml4fS9zYmluJwpzaGFy ZWRzdGF0ZWRpcj0nJHtwcmVmaXh9L2NvbScKc3JjZGlyPScvVXNlcnMvbGVpZi9naXQvZW1hY3Mn CnN0YW5kYXJkbGlzcHBhdGg9JyR7bGlzcGRpcn06JHtsZWltZGlyfScKc3lzY29uZmRpcj0nJHtw cmVmaXh9L2V0YycKdGFyZ2V0X2FsaWFzPScnCnZlcnNpb249JzI0LjIuNTAnCnhfZGVmYXVsdF9z ZWFyY2hfcGF0aD0nL3Vzci9YMTEvc2hhcmUvWDExLyVMLyVULyVOJUMlUzovdXNyL1gxMS9zaGFy ZS9YMTEvJWwvJVQvJU4lQyVTOi91c3IvWDExL3NoYXJlL1gxMS8lVC8lTiVDJVM6L3Vzci9YMTEv c2hhcmUvWDExLyVMLyVULyVOJVM6L3Vzci9YMTEvc2hhcmUvWDExLyVsLyVULyVOJVM6L3Vzci9Y MTEvc2hhcmUvWDExLyVULyVOJVM6L3Vzci9YMTEvbGliL1gxMS8lTC8lVC8lTiVDJVM6L3Vzci9Y MTEvbGliL1gxMS8lbC8lVC8lTiVDJVM6L3Vzci9YMTEvbGliL1gxMS8lVC8lTiVDJVM6L3Vzci9Y MTEvbGliL1gxMS8lTC8lVC8lTiVTOi91c3IvWDExL2xpYi9YMTEvJWwvJVQvJU4lUzovdXNyL1gx MS9saWIvWDExLyVULyVOJVMnCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIEZpbGUgc3Vi c3RpdHV0aW9ucy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoKZGVwc19mcmFnPScvVXNl cnMvbGVpZi9naXQvZW1hY3Mvc3JjL2F1dG9kZXBzLm1rJwpsaXNwX2ZyYWc9Jy9Vc2Vycy9sZWlm L2dpdC9lbWFjcy9zcmMvbGlzcC5taycKCiMjIC0tLS0tLS0tLS0tICMjCiMjIGNvbmZkZWZzLmgu ICMjCiMjIC0tLS0tLS0tLS0tICMjCgovKiBjb25mZGVmcy5oICovCiNkZWZpbmUgUEFDS0FHRV9O QU1FICJlbWFjcyIKI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgojZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMjQuMi41MCIKI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMi41 MCIKI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgojZGVmaW5lIFBBQ0tBR0VfVVJMICIiCiNk ZWZpbmUgUEFDS0FHRSAiZW1hY3MiCiNkZWZpbmUgVkVSU0lPTiAiMjQuMi41MCIKI2RlZmluZSBN QUlMX1VTRV9QT1AgMQojZGVmaW5lIFNURENfSEVBREVSUyAxCiNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCiNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKI2RlZmluZSBIQVZFX1NURExJQl9IIDEK I2RlZmluZSBIQVZFX1NUUklOR19IIDEKI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCiNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAx CiNkZWZpbmUgX0FMTF9TT1VSQ0UgMQojZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQojZGVmaW5l IF9HTlVfU09VUkNFIDEKI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQojZGVmaW5l IF9UQU5ERU1fU09VUkNFIDEKI2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgojZGVmaW5lIEhB VkVfRkNOVExfSCAxCiNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCiNkZWZpbmUgSEFWRV9T WVNfVVRTTkFNRV9IIDEKI2RlZmluZSBIQVZFX1BXRF9IIDEKI2RlZmluZSBIQVZFX1VUTVBfSCAx CiNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCiNkZWZpbmUgSEFWRV9VVElMX0ggMQojZGVmaW5lIEhB VkVfU1lTX1NPQ0tFVF9IIDEKI2RlZmluZSBIQVZFX1NURExJQl9IIDEKI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKI2RlZmluZSBIQVZFX1BUSFJFQURf SCAxCiNkZWZpbmUgSEFWRV9NQUxMT0NfTUFMTE9DX0ggMQojZGVmaW5lIEhBVkVfU1lTX1VOX0gg MQojZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCiNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCiNkZWZp bmUgSEFWRV9TWVNfVElNRV9IIDEKI2RlZmluZSBIQVZFX1dDSEFSX0ggMQojZGVmaW5lIEhBVkVf U1RESU5UX0ggMQojZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCiNkZWZpbmUgSEFWRV9TWVNfU0VM RUNUX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCiNkZWZpbmUgSEFWRV9VVElNRV9IIDEK I2RlZmluZSBIQVZFX1RFUk1fSCAxCiNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKI2RlZmlu ZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAojZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNU IDAKI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQojZGVmaW5lIEhBVkVfU1BFRURfVCAxCiNkZWZp bmUgSEFWRV9ORVRfSUZfSCAxCiNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQojZGVmaW5lIEhBVkVf TkVUX0lGX0RMX0ggMQojZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCiNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCiNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0FERFIgMQojZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xF TiAxCiNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQojZGVmaW5lIE5TX0hBVkVfTlNJTlRF R0VSIDEKI2RlZmluZSBURVJNX0hFQURFUiAibnN0ZXJtLmgiCiNkZWZpbmUgU1lTVEVNX01BTExP QyAxCiNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCiNkZWZpbmUgSEFWRV9NTUFQIDEKI2RlZmlu ZSBIQVZFX1BUSFJFQUQgMQojZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKI2RlZmlu ZSBVU0VfWElNIDEKI2RlZmluZSBIQVZFX05TIDEKI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKI2Rl ZmluZSBIQVZFX0hfRVJSTk8gMQojZGVmaW5lIEhBVkVfTElCTSAxCiNkZWZpbmUgTUFJTF9VU0Vf RkxPQ0sgMQojZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQojZGVmaW5lIEhBVkVfQ0xPU0VESVIg MQojZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKI2RlZmluZSBIQVZFX0xSQU5ENDggMQojZGVmaW5l IEhBVkVfU0VUU0lEIDEKI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCiNkZWZpbmUgSEFWRV9TRUxF Q1QgMQojZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQojZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEK I2RlZmluZSBIQVZFX1VUSU1FUyAxCiNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQojZGVmaW5lIEhB VkVfU0VUUkxJTUlUIDEKI2RlZmluZSBIQVZFX1NFVFBHSUQgMQojZGVmaW5lIEhBVkVfR0VUQ1dE IDEKI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKI2Rl ZmluZSBIQVZFX1NUUlNJR05BTCAxCiNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQojZGVmaW5lIEhB VkVfU0VORFRPIDEKI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKI2RlZmluZSBIQVZFX0dFVFNPQ0tO QU1FIDEKI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKI2RlZmluZSBIQVZFX0dFVElGQUREUlMg MQojZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQojZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEK I2RlZmluZSBIQVZFX01LU1RFTVAgMQojZGVmaW5lIEhBVkVfR0VUTElORSAxCiNkZWZpbmUgSEFW RV9HRVRERUxJTSAxCiNkZWZpbmUgSEFWRV9GU1lOQyAxCiNkZWZpbmUgSEFWRV9TWU5DIDEKI2Rl ZmluZSBIQVZFX0RJRkZUSU1FIDEKI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKI2RlZmlu ZSBIQVZFX0dFVFBXRU5UIDEKI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKI2RlZmluZSBIQVZFX0dF VEdSRU5UIDEKI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAx CiNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKI2RlZmlu ZSBIQVZFX0dFVFdEIDEKI2RlZmluZSBIQVZFX1JBTkRPTSAxCiNkZWZpbmUgSEFWRV9SSU5UIDEK I2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCiNkZWZpbmUgSEFWRV9GU0VFS08g MQojZGVmaW5lIEdFVFBHUlBfVk9JRCAxCiNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKI2RlZmluZSBI QVZFX1BPU0lYX09QRU5QVCAxCiNkZWZpbmUgVEVSTUlORk8gMQojZGVmaW5lIEhBVkVfVFpTRVQg MQojZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKI2RlZmluZSBIQVZFX0xTVEFUIDEKI2RlZmlu ZSBIQVZFX0FMQVJNIDEKI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQojZGVmaW5lIEhBVkVfUFRIUkVB RF9TSUdNQVNLIDEKI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKI2RlZmluZSBIQVZFX1NUUlRPSU1B WCAxCiNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQojZGVmaW5lIEhBVkVfU1lNTElOSyAxCiNkZWZp bmUgSEFWRV9MT0NBTFRJTUVfUiAxCiNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKI2RlZmluZSBIQVZF X0xVVElNRVMgMQojZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKI2RlZmluZSBIQVZFX0ZPUksg MQojZGVmaW5lIEhBVkVfVkZPUksgMQojZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCiNkZWZp bmUgSEFWRV9XT1JLSU5HX0ZPUksgMQojZGVmaW5lIEhBVkVfU05QUklOVEYgMQojZGVmaW5lIEhB VkVfTEFOR0lORk9fQ09ERVNFVCAxCiNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQojZGVmaW5lIF9f cmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKI2Rl ZmluZSBDTEFTSF9ERVRFQ1RJT04gMQojZGVmaW5lIEhBVkVfUFRZUyAxCiNkZWZpbmUgSEFWRV9T T0NLRVRTIDEKI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgojZGVmaW5lIFNFUENIQVIg JzonCiNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdf Z2Vjb3MKI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwojZGVmaW5lIElTX0RFVklDRV9TRVAoX2Nf KSAwCiNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQ KQojZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKI2RlZmlu ZSBET05UX1JFT1BFTl9QVFkgMQojZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2Rz cCIKI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQojZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7 IGZvciAoaSA9IDA7IGkgPCAxOyBpKyspCiNkZWZpbmUgRklSU1RfUFRZX0xFVFRFUiAncCcKI2Rl ZmluZSBQVFlfT1BFTiAgZG8geyBpbnQgc2xhdmU7IGlmIChvcGVucHR5ICgmZmQsICZzbGF2ZSwg cHR5X25hbWUsIE5VTEwsIE5VTEwpID09IC0xKSBmZCA9IC0xOyBlbHNlIGVtYWNzX2Nsb3NlIChz bGF2ZSk7IH0gd2hpbGUgKDApCiNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiovCiNkZWZpbmUg UFRZX1RUWV9OQU1FX1NQUklOVEYgLyoqLwojZGVmaW5lIFBFTkRJTkdfT1VUUFVUX0NPVU5UKEZJ TEUpICgoRklMRSktPl9wIC0gKEZJTEUpLT5fYmYuX2Jhc2UpCiNkZWZpbmUgVEFCMyBPWFRBQlMK I2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQojZGVmaW5lIEhBVkVfX1NFVEpNUCAxCiNkZWZpbmUg QlNENF8yIC8qKi8KI2RlZmluZSBCU0RfU1lTVEVNIC8qKi8KI2RlZmluZSBEQVJXSU5fT1MgLyoq LwojZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCiNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKI2RlZmlu ZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4iCiNkZWZpbmUgVEVSTV9IRUFERVIgIm5zdGVybS5oIgojZGVmaW5lIEVNQUNTX0NPTkZJ R1VSQVRJT04gImkzODYtYXBwbGUtZGFyd2luMTIuMS4wIgojZGVmaW5lIEVNQUNTX0NPTkZJR19P UFRJT05TICIgJy0td2l0aC1ucycgJy0tZW5hYmxlLW5zLXNlbGYtY29udGFpbmVkJyIKI2RlZmlu ZSBIQVZFX01FTlVTIDEKI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKI2RlZmluZSBIQVZFX0FMTE9D QSAxCiNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCiNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUg MQojZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQojZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAx CiNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEK I2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CiNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xP TkdfSU5UIDEKI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQojZGVmaW5lIEJJVFNJWkVPRl9Q VFJESUZGX1QgNjQKI2RlZmluZSBCSVRTSVpFT0ZfU0laRV9UIDY0CiNkZWZpbmUgQklUU0laRU9G X1NJR19BVE9NSUNfVCAzMgojZGVmaW5lIEJJVFNJWkVPRl9XQ0hBUl9UIDMyCiNkZWZpbmUgQklU U0laRU9GX1dJTlRfVCAzMgojZGVmaW5lIEhBVkVfU0lHTkVEX1NJR19BVE9NSUNfVCAxCiNkZWZp bmUgSEFWRV9TSUdORURfV0NIQVJfVCAxCiNkZWZpbmUgSEFWRV9TSUdORURfV0lOVF9UIDEKI2Rl ZmluZSBQVFJESUZGX1RfU1VGRklYIGwKI2RlZmluZSBTSVpFX1RfU1VGRklYIHVsCiNkZWZpbmUg U0lHX0FUT01JQ19UX1NVRkZJWCAKI2RlZmluZSBXQ0hBUl9UX1NVRkZJWCAKI2RlZmluZSBXSU5U X1RfU1VGRklYIAojZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQojZGVmaW5lIEhBVkVfX0JPT0wgMQoj ZGVmaW5lIEhBVkVfV0NIQVJfVCAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxCiNk ZWZpbmUgSEFWRV9UTV9aT05FIDEKI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCiNkZWZpbmUgSEFW RV9ERUNMX1NUUlRPSU1BWCAxCiNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCiNkZWZpbmUg SEFWRV9XT1JLSU5HX1VUSU1FUyAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCiNkZWZp bmUgSEFWRV9BTExPQ0EgMQojZGVmaW5lIEhBVkVfRFVQMiAxCiNkZWZpbmUgX19HRVRPUFRfUFJF RklYIHJwbF8KI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAojZGVmaW5lIFJFQURM SU5LX1RSQUlMSU5HX1NMQVNIX0JVRyAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9BVElN RVNQRUNfVFZfTlNFQyAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CSVJUSFRJTUVTUEVD X1RWX05TRUMgMQojZGVmaW5lIEdOVUxJQl9GU0NBTkYgMQojZGVmaW5lIEdOVUxJQl9TQ0FORiAx CiNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCiNkZWZpbmUgSEFWRV9ERUNMX0xPQ0FMVElN RV9SIDEKI2RlZmluZSBSRVBMQUNFX0ZVTkNfU1RBVF9GSUxFIDEKI2RlZmluZSBPUkRJTkFSWV9M SU5LIDEKI2RlZmluZSBIQVZFX1dJTkRPV19TWVNURU0gMQojZGVmaW5lIEhBVkVfTU9VU0UgMQoK Y29uZmlndXJlOiBleGl0IDAKCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgUnVubmlu ZyBjb25maWcuc3RhdHVzLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCgpUaGlzIGZp bGUgd2FzIGV4dGVuZGVkIGJ5IGVtYWNzIGNvbmZpZy5zdGF0dXMgMjQuMi41MCwgd2hpY2ggd2Fz CmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OS4gIEludm9jYXRpb24gY29tbWFuZCBsaW5l IHdhcwoKICBDT05GSUdfRklMRVMgICAgPSAKICBDT05GSUdfSEVBREVSUyAgPSAKICBDT05GSUdf TElOS1MgICAgPSAKICBDT05GSUdfQ09NTUFORFMgPSAKICAkIC4vY29uZmlnLnN0YXR1cyAKCm9u IGlCdWtNYWMubG9jYWwKCmNvbmZpZy5zdGF0dXM6MTc2NzogY3JlYXRpbmcgbmV4dHN0ZXAvQ29j b2EvRW1hY3MuYmFzZS9Db250ZW50cy9JbmZvLnBsaXN0CmNvbmZpZy5zdGF0dXM6MTc2NzogY3Jl YXRpbmcgbmV4dHN0ZXAvQ29jb2EvRW1hY3MuYmFzZS9Db250ZW50cy9SZXNvdXJjZXMvRW5nbGlz aC5scHJvai9JbmZvUGxpc3Quc3RyaW5ncwpjb25maWcuc3RhdHVzOjE3Njc6IGNyZWF0aW5nIE1h a2VmaWxlCmNvbmZpZy5zdGF0dXM6MTc2NzogY3JlYXRpbmcgbGliL01ha2VmaWxlCmNvbmZpZy5z dGF0dXM6MTc2NzogY3JlYXRpbmcgbGliLXNyYy9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjE3Njc6 IGNyZWF0aW5nIG9sZFhNZW51L01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MTc2NzogY3JlYXRpbmcg ZG9jL2VtYWNzL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MTc2NzogY3JlYXRpbmcgZG9jL21pc2Mv TWFrZWZpbGUKY29uZmlnLnN0YXR1czoxNzY3OiBjcmVhdGluZyBkb2MvbGlzcGludHJvL01ha2Vm aWxlCmNvbmZpZy5zdGF0dXM6MTc2NzogY3JlYXRpbmcgZG9jL2xpc3ByZWYvTWFrZWZpbGUKY29u ZmlnLnN0YXR1czoxNzY3OiBjcmVhdGluZyBzcmMvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoxNzY3 OiBjcmVhdGluZyBsd2xpYi9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjE3Njc6IGNyZWF0aW5nIGxp c3AvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoxNzY3OiBjcmVhdGluZyBsZWltL01ha2VmaWxlCmNv bmZpZy5zdGF0dXM6MTc2NzogY3JlYXRpbmcgbmV4dHN0ZXAvTWFrZWZpbGUKY29uZmlnLnN0YXR1 czoxNzY3OiBjcmVhdGluZyB0ZXN0L2F1dG9tYXRlZC9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjE3 Njc6IGNyZWF0aW5nIGFkbWluL3VuaWRhdGEvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoxNzY3OiBj cmVhdGluZyBzcmMvY29uZmlnLmgKY29uZmlnLnN0YXR1czoxOTg2OiBleGVjdXRpbmcgZGVwZmls ZXMgY29tbWFuZHMKY29uZmlnLnN0YXR1czoxOTg2OiBleGVjdXRpbmcgbWtkaXJzIGNvbW1hbmRz CmNvbmZpZy5zdGF0dXM6MTk4NjogZXhlY3V0aW5nIGVwYXRocyBjb21tYW5kcwpjb25maWcuc3Rh dHVzOjE5ODY6IGV4ZWN1dGluZyBnZGJpbml0IGNvbW1hbmRzCg== --047d7b111a274e139404cca74df5-- From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 22 13:05:44 2012 Received: (at 12703) by debbugs.gnu.org; 22 Oct 2012 17:05:44 +0000 Received: from localhost ([127.0.0.1]:56136 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQLRg-0008Bb-0N for submit@debbugs.gnu.org; Mon, 22 Oct 2012 13:05:44 -0400 Received: from mtaout22.012.net.il ([80.179.55.172]:51422) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQLRb-0008BC-Tj for 12703@debbugs.gnu.org; Mon, 22 Oct 2012 13:05:41 -0400 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MCB00I000LKCH00@a-mtaout22.012.net.il> for 12703@debbugs.gnu.org; Mon, 22 Oct 2012 19:03:32 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MCB00H2V0PVZZ90@a-mtaout22.012.net.il>; Mon, 22 Oct 2012 19:03:32 +0200 (IST) Date: Mon, 22 Oct 2012 19:03:27 +0200 From: Eli Zaretskii Subject: Re: bug#12703: segfault in 0x0000000100087491 in char_table_ref () at chartab.c:233 (emacs-24.2.50.1, osx-10.8.2) In-reply-to: X-012-Sender: halo1@inter.net.il To: Leif Walsh Message-id: <83objucucg.fsf@gnu.org> References: X-Spam-Score: 1.5 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: > From: Leif Walsh > Date: Mon, 22 Oct 2012 11:13:35 -0400 > > I am getting a pretty reproducible bug in my own build of > emacs-24.2.50.1 on osx-10.8.2 with the "lion fullscreen patch" from > somewhere. > > Build info: > > git://git.savannah.gnu.org/emacs.git@fbfb2416 > additional patch attached in fullscreen.patch > config.log attached [...] Content analysis details: (1.5 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [80.179.55.172 listed in list.dnswl.org] 0.7 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.8 BAYES_50 BODY: Bayes spam probability is 40 to 60% [score: 0.4232] X-Debbugs-Envelope-To: 12703 Cc: 12703@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 1.5 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: > From: Leif Walsh > Date: Mon, 22 Oct 2012 11:13:35 -0400 > > I am getting a pretty reproducible bug in my own build of > emacs-24.2.50.1 on osx-10.8.2 with the "lion fullscreen patch" from > somewhere. > > Build info: > > git://git.savannah.gnu.org/emacs.git@fbfb2416 > additional patch attached in fullscreen.patch > config.log attached [...] Content analysis details: (1.5 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [80.179.55.172 listed in list.dnswl.org] 0.7 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.8 BAYES_50 BODY: Bayes spam probability is 40 to 60% [score: 0.4220] > From: Leif Walsh > Date: Mon, 22 Oct 2012 11:13:35 -0400 > > I am getting a pretty reproducible bug in my own build of > emacs-24.2.50.1 on osx-10.8.2 with the "lion fullscreen patch" from > somewhere. > > Build info: > > git://git.savannah.gnu.org/emacs.git@fbfb2416 > additional patch attached in fullscreen.patch > config.log attached Which bzr version is that? What is the last entry that you see in src/ChangeLog? > Steps to reproduce: > > 1. Install auto-complete-1.3.1 and git://github.com/brianjcj/auto-complete-clang > 2. Visit a c++ file > 3. Try completing some stuff > 4. Segfaults after not too much messing around > > Backtrace: > > (gdb) bt > #0 0x00007fff96242d46 in __kill () > #1 0x000000010009f63e in fatal_error_backtrace (sig=6, > backtrace_limit=6) at emacs.c:331 > #2 0x00000001000bc5b3 in emacs_abort () at sysdep.c:1830 > #3 0x000000010018c73d in ns_term_shutdown (sig= unavailable, due to optimizations>) at nsterm.m:4229 > #4 0x000000010009f5f1 in fatal_error_backtrace (sig=11, > backtrace_limit=10) at emacs.c:314 > #5 0x00000001000a1cde in handle_fatal_signal (sig= unavailable, due to optimizations>) at emacs.c:287 > #6 0x00000001000bc80d in handle_on_main_thread (sig=11, > handler=0x1000a1cd0 ) at sysdep.c:1493 > #7 > #8 0x0000000100087491 in char_table_ref () at chartab.c:233 > #9 0x000000010016fadf in composition_compute_stop_pos > (cmp_it=0x7fff5fbf2770, charpos=4195335, bytepos=5, endpos=4300718816, > string=140734799751024) at composite.c:1053 > #10 0x000000010002e701 in compute_stop_pos (it=0x7fff5fbf4c40) at xdisp.c:3393 > #11 0x000000010002fdcb in next_element_from_string (it=0x7fff5fbf43d8) > at xdisp.c:7525 A very similar bug #101159 was fixed a month ago in revision 110135. If your Emacs is older than that, you need to update your sources and rebuild. From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 22 14:18:00 2012 Received: (at 12703) by debbugs.gnu.org; 22 Oct 2012 18:18:00 +0000 Received: from localhost ([127.0.0.1]:56215 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQMZb-0001se-S8 for submit@debbugs.gnu.org; Mon, 22 Oct 2012 14:18:00 -0400 Received: from mail-vc0-f172.google.com ([209.85.220.172]:64374) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQMZY-0001sR-Ux for 12703@debbugs.gnu.org; Mon, 22 Oct 2012 14:17:58 -0400 Received: by mail-vc0-f172.google.com with SMTP id fl11so3561625vcb.3 for <12703@debbugs.gnu.org>; Mon, 22 Oct 2012 11:16:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=references:in-reply-to:mime-version:content-transfer-encoding :content-type:message-id:cc:x-mailer:from:subject:date:to; bh=1UITfytTLpRbYaxdD9ahV28SyF7uVDtUtrJ3k/weU08=; b=0hpvAAjFwbYRMWBpwO9H6hLpT4bxQt4VXtJt+DKb30cs+8wF9SbcrAt41zDH9UZ07c +9tTLj4SuqtmVmSMRltMkZJFH1PdqEy0VXJX7KvMlJXvLRiwluoBQ1Xmy9u8EZW76j7a H7pXm2Vjxim9ZXQuEmKx39RUUh3AhDUDeXabdNqODU6iN/ypzuQj5oqZxzen6Z+MPLFM Xt9fp3IY2gIoBMEtoZ+J1MYT1ALWgKmFCzocj2OrCYXEwo9ITNv2kzfNSd8QQ61+nRRc PXwZWKZoXuhOyA4N7VEsu6d4+IKHopR8E6uN53/+LPnw4Voqfs1uPW6FzRdnDiNzuTpp r9Lg== Received: by 10.52.68.226 with SMTP id z2mr13038025vdt.76.1350929762899; Mon, 22 Oct 2012 11:16:02 -0700 (PDT) Received: from [10.224.28.225] (151.sub-174-252-1.myvzw.com. [174.252.1.151]) by mx.google.com with ESMTPS id l15sm10764642vdt.14.2012.10.22.11.15.56 (version=SSLv3 cipher=OTHER); Mon, 22 Oct 2012 11:16:01 -0700 (PDT) References: <83objucucg.fsf@gnu.org> In-Reply-To: <83objucucg.fsf@gnu.org> Mime-Version: 1.0 (1.0) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Message-Id: <4E3C1F32-A0BA-442A-A67F-F2A573AF2713@gmail.com> X-Mailer: iPhone Mail (10A403) From: Leif Walsh Subject: Re: bug#12703: segfault in 0x0000000100087491 in char_table_ref () at chartab.c:233 (emacs-24.2.50.1, osx-10.8.2) Date: Mon, 22 Oct 2012 14:15:50 -0400 To: Eli Zaretskii X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: 12703 Cc: "12703@debbugs.gnu.org" <12703@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.1 (/) Thanks. I won't be able to try this until tomorrow probably (on work compute= r, went home for the afternoon).=20 Sent from my iPhone On Oct 22, 2012, at 13:03, Eli Zaretskii wrote: >> From: Leif Walsh >> Date: Mon, 22 Oct 2012 11:13:35 -0400 >>=20 >> I am getting a pretty reproducible bug in my own build of >> emacs-24.2.50.1 on osx-10.8.2 with the "lion fullscreen patch" from >> somewhere. >>=20 >> Build info: >>=20 >> git://git.savannah.gnu.org/emacs.git@fbfb2416 >> additional patch attached in fullscreen.patch >> config.log attached >=20 > Which bzr version is that? What is the last entry that you see in > src/ChangeLog? >=20 >> Steps to reproduce: >>=20 >> 1. Install auto-complete-1.3.1 and git://github.com/brianjcj/auto-complet= e-clang >> 2. Visit a c++ file >> 3. Try completing some stuff >> 4. Segfaults after not too much messing around >>=20 >> Backtrace: >>=20 >> (gdb) bt >> #0 0x00007fff96242d46 in __kill () >> #1 0x000000010009f63e in fatal_error_backtrace (sig=3D6, >> backtrace_limit=3D6) at emacs.c:331 >> #2 0x00000001000bc5b3 in emacs_abort () at sysdep.c:1830 >> #3 0x000000010018c73d in ns_term_shutdown (sig=3D> unavailable, due to optimizations>) at nsterm.m:4229 >> #4 0x000000010009f5f1 in fatal_error_backtrace (sig=3D11, >> backtrace_limit=3D10) at emacs.c:314 >> #5 0x00000001000a1cde in handle_fatal_signal (sig=3D> unavailable, due to optimizations>) at emacs.c:287 >> #6 0x00000001000bc80d in handle_on_main_thread (sig=3D11, >> handler=3D0x1000a1cd0 ) at sysdep.c:1493 >> #7 >> #8 0x0000000100087491 in char_table_ref () at chartab.c:233 >> #9 0x000000010016fadf in composition_compute_stop_pos >> (cmp_it=3D0x7fff5fbf2770, charpos=3D4195335, bytepos=3D5, endpos=3D430071= 8816, >> string=3D140734799751024) at composite.c:1053 >> #10 0x000000010002e701 in compute_stop_pos (it=3D0x7fff5fbf4c40) at xdisp= .c:3393 >> #11 0x000000010002fdcb in next_element_from_string (it=3D0x7fff5fbf43d8) >> at xdisp.c:7525 >=20 > A very similar bug #101159 was fixed a month ago in revision 110135. > If your Emacs is older than that, you need to update your sources and > rebuild. From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 22 17:19:49 2012 Received: (at 12703) by debbugs.gnu.org; 22 Oct 2012 21:19:49 +0000 Received: from localhost ([127.0.0.1]:56344 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQPPZ-0006hM-DJ for submit@debbugs.gnu.org; Mon, 22 Oct 2012 17:19:49 -0400 Received: from mailout.melmac.se ([62.20.26.67]:60311) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQPPX-0006h3-Bc for 12703@debbugs.gnu.org; Mon, 22 Oct 2012 17:19:48 -0400 Received: from mail01.melmac.se (mail01.melmac.se [62.20.26.80]) by mailout.melmac.se (Postfix) with ESMTP id 2DFD89987 for <12703@debbugs.gnu.org>; Mon, 22 Oct 2012 23:17:52 +0200 (CEST) Received: (qmail 10466 invoked by uid 89); 22 Oct 2012 21:17:52 -0000 Received: from h-46-59-42-18.na.cust.bahnhof.se (HELO coolsville.localdomain) (boel.djarv@bdtv.se@46.59.42.18) by mail01.melmac.se with ESMTPA; 22 Oct 2012 21:17:52 -0000 Received: from [172.20.199.13] (zeplin [172.20.199.13]) by coolsville.localdomain (Postfix) with ESMTPSA id C73C07FA05E; Mon, 22 Oct 2012 23:17:51 +0200 (CEST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 6.2 \(1499\)) Subject: Re: bug#12703: segfault in 0x0000000100087491 in char_table_ref () at chartab.c:233 (emacs-24.2.50.1, osx-10.8.2) From: =?iso-8859-1?Q?Jan_Dj=E4rv?= In-Reply-To: <83objucucg.fsf@gnu.org> Date: Mon, 22 Oct 2012 23:17:53 +0200 Content-Transfer-Encoding: 7bit Message-Id: References: <83objucucg.fsf@gnu.org> To: Eli Zaretskii X-Mailer: Apple Mail (2.1499) X-Spam-Score: 1.5 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hello. > From: Leif Walsh > Date: Mon, 22 Oct 2012 11:13:35 -0400 > > I am getting a pretty reproducible bug in my own build of > emacs-24.2.50.1 on osx-10.8.2 with the "lion fullscreen patch" from > somewhere. [...] Content analysis details: (1.5 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.7 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.8 BAYES_50 BODY: Bayes spam probability is 40 to 60% [score: 0.5000] X-Debbugs-Envelope-To: 12703 Cc: Leif Walsh , 12703@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 1.5 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hello. > From: Leif Walsh > Date: Mon, 22 Oct 2012 11:13:35 -0400 > > I am getting a pretty reproducible bug in my own build of > emacs-24.2.50.1 on osx-10.8.2 with the "lion fullscreen patch" from > somewhere. [...] Content analysis details: (1.5 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.7 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.8 BAYES_50 BODY: Bayes spam probability is 40 to 60% [score: 0.4999] Hello. > From: Leif Walsh > Date: Mon, 22 Oct 2012 11:13:35 -0400 > > I am getting a pretty reproducible bug in my own build of > emacs-24.2.50.1 on osx-10.8.2 with the "lion fullscreen patch" from > somewhere. Just to let you know that the trunk has a fullscreen implementation now. Jan D. From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 22 17:27:23 2012 Received: (at 12703) by debbugs.gnu.org; 22 Oct 2012 21:27:24 +0000 Received: from localhost ([127.0.0.1]:56357 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQPWt-0006s9-O3 for submit@debbugs.gnu.org; Mon, 22 Oct 2012 17:27:23 -0400 Received: from mail-vc0-f172.google.com ([209.85.220.172]:39580) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQPWs-0006ru-DF for 12703@debbugs.gnu.org; Mon, 22 Oct 2012 17:27:23 -0400 Received: by mail-vc0-f172.google.com with SMTP id fl11so3796628vcb.3 for <12703@debbugs.gnu.org>; Mon, 22 Oct 2012 14:25:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=references:in-reply-to:mime-version:content-transfer-encoding :content-type:message-id:cc:x-mailer:from:subject:date:to; bh=o+mjO+EqbU0rTRuNEKe8lH0gI2eCofo4pVMWXV8EVRs=; b=xpicSafLiNoP+iCvk/bzTWA5GWioPNfn1T3YpgmG8WMxj8nOmhKwDdS70v7G6gEc+r iYdHI6WIsy0PeTY7lZ7s6ndY6OPPyS+NNbUaH9ant5yzqfoqBAH8VvOD2RTNGwCGQIjJ dRR9xwAsRE6HpVhi558tjMkqNQZG01NIUQCHajNVwe7VtUezVs2MyNTND7g575KBcTAm m2FhAyiSuQ0C5geHqYf7Zozn1xsAFpNdIX/UurARQMCrsSSYenloBkMjgu4OhLDEy+l4 4UHSAZ277vyGQcP9rtxy8sEZ5KoTCku5Mh1fxHUSZz3B1o7YdgNnc1NBv+nzNPiTf+yG cMig== Received: by 10.52.173.34 with SMTP id bh2mr13954283vdc.73.1350941128139; Mon, 22 Oct 2012 14:25:28 -0700 (PDT) Received: from [192.168.2.5] (cpe-24-90-194-156.nyc.res.rr.com. [24.90.194.156]) by mx.google.com with ESMTPS id zz18sm10590925veb.4.2012.10.22.14.25.26 (version=SSLv3 cipher=OTHER); Mon, 22 Oct 2012 14:25:27 -0700 (PDT) References: <83objucucg.fsf@gnu.org> In-Reply-To: Mime-Version: 1.0 (1.0) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Message-Id: <109D7AA7-24C3-4851-AB24-4B6C0B1B083F@gmail.com> X-Mailer: iPhone Mail (10A403) From: Leif Walsh Subject: Re: bug#12703: segfault in 0x0000000100087491 in char_table_ref () at chartab.c:233 (emacs-24.2.50.1, osx-10.8.2) Date: Mon, 22 Oct 2012 17:25:23 -0400 To: =?utf-8?Q?Jan_Dj=C3=A4rv?= X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: 12703 Cc: "12703@debbugs.gnu.org" <12703@debbugs.gnu.org>, Eli Zaretskii X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.1 (/) Cool, thanks Sent from my iPhone On Oct 22, 2012, at 17:17, Jan Dj=C3=A4rv wrote: > Hello. >=20 >> From: Leif Walsh >> Date: Mon, 22 Oct 2012 11:13:35 -0400 >>=20 >> I am getting a pretty reproducible bug in my own build of >> emacs-24.2.50.1 on osx-10.8.2 with the "lion fullscreen patch" from >> somewhere. >=20 > Just to let you know that the trunk has a fullscreen implementation now. >=20 > Jan D. >=20 From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 03 15:09:42 2012 Received: (at 12703) by debbugs.gnu.org; 3 Nov 2012 19:09:42 +0000 Received: from localhost ([127.0.0.1]:47518 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TUj6E-0000x3-I7 for submit@debbugs.gnu.org; Sat, 03 Nov 2012 15:09:42 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:41087) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TUj6D-0000wx-QC for 12703@debbugs.gnu.org; Sat, 03 Nov 2012 15:09:42 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1TUj3N-0003lW-PX; Sat, 03 Nov 2012 15:06:45 -0400 From: Glenn Morris To: Leif Walsh Subject: Re: bug#12703: segfault in 0x0000000100087491 in char_table_ref () at chartab.c:233 (emacs-24.2.50.1, osx-10.8.2) References: <83objucucg.fsf@gnu.org> <4E3C1F32-A0BA-442A-A67F-F2A573AF2713@gmail.com> X-Spook: SEAL Team 6 LABLINK BLU-114/B industrial intelligence X-Ran: SMAnMmF/us$3?DP3qyTR,p(6VtbG@\-sO3X'&7u,X)*=;;iF|>>;;Q~_^r83,y[/y0p[|> X-Hue: white X-Attribution: GM Date: Sat, 03 Nov 2012 15:06:45 -0400 In-Reply-To: <4E3C1F32-A0BA-442A-A67F-F2A573AF2713@gmail.com> (Leif Walsh's message of "Mon, 22 Oct 2012 14:15:50 -0400") Message-ID: <4v4nl6pku2.fsf@fencepost.gnu.org> User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -4.8 (----) X-Debbugs-Envelope-To: 12703 Cc: 12703@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.8 (----) Leif Walsh wrote: > Thanks. I won't be able to try this until tomorrow probably (on work > computer, went home for the afternoon). [...] >> A very similar bug #101159 was fixed a month ago in revision 110135. >> If your Emacs is older than that, you need to update your sources and >> rebuild. Hi; any update on this? From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 03 15:13:40 2012 Received: (at 12703) by debbugs.gnu.org; 3 Nov 2012 19:13:40 +0000 Received: from localhost ([127.0.0.1]:47530 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TUjA3-000134-OE for submit@debbugs.gnu.org; Sat, 03 Nov 2012 15:13:40 -0400 Received: from mail-qc0-f172.google.com ([209.85.216.172]:36888) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TUjA2-00012x-0Z for 12703@debbugs.gnu.org; Sat, 03 Nov 2012 15:13:38 -0400 Received: by mail-qc0-f172.google.com with SMTP id b25so3349512qca.3 for <12703@debbugs.gnu.org>; Sat, 03 Nov 2012 12:10:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=references:in-reply-to:mime-version:content-transfer-encoding :content-type:message-id:cc:x-mailer:from:subject:date:to; bh=Imb0vlweeIKTf7VZkWkq7VQt6o4r9WDtQ3EhcyPRLbY=; b=WzOY/QosXPN9zvu6rhAMBLOJhL6Mzhgr+XC8O5hY+LzbaALGPHRLFvPBw/CqdkAbdC GFrt4t3037d5rj5lTWdchhR7xhK6a6WvDkEoqIFYBAgzbEqczeu0pdLmI77hCYOUa48E KMwkFGZSmbylQ7lU+z/titE0yeWDLNa8FB1ukBfb10DnmIU9Y+gyoz1hUX+igDPE65Tc CFVrwZAEeLSqHzOxjL49sB6CASe1licCXuj714miFn3Br1kQ/0yfQzuqhTq+vXxhZ12B P9tSlUiEcIvwO57UiYzUXcsnL7THBl1Q2tgs0xv0Ye5unTm6+0QQ9/detMSYEf8Ypv4T +rIQ== Received: by 10.49.82.113 with SMTP id h17mr8919373qey.24.1351969841901; Sat, 03 Nov 2012 12:10:41 -0700 (PDT) Received: from [192.168.1.100] (cpe-24-90-194-156.nyc.res.rr.com. [24.90.194.156]) by mx.google.com with ESMTPS id eg9sm6998361qab.13.2012.11.03.12.10.40 (version=SSLv3 cipher=OTHER); Sat, 03 Nov 2012 12:10:41 -0700 (PDT) References: <83objucucg.fsf@gnu.org> <4E3C1F32-A0BA-442A-A67F-F2A573AF2713@gmail.com> <4v4nl6pku2.fsf@fencepost.gnu.org> In-Reply-To: <4v4nl6pku2.fsf@fencepost.gnu.org> Mime-Version: 1.0 (1.0) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Message-Id: X-Mailer: iPhone Mail (10A403) From: Leif Walsh Subject: Re: bug#12703: segfault in 0x0000000100087491 in char_table_ref () at chartab.c:233 (emacs-24.2.50.1, osx-10.8.2) Date: Sat, 3 Nov 2012 15:10:36 -0400 To: Glenn Morris X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: 12703 Cc: "12703@debbugs.gnu.org" <12703@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.1 (/) Oh yeah. Sorry. I rebuilt from a recent revision and everything was fine, th= anks. Go ahead and close.=20 Sent from my iPhone On Nov 3, 2012, at 15:06, Glenn Morris wrote: > Leif Walsh wrote: >=20 >> Thanks. I won't be able to try this until tomorrow probably (on work >> computer, went home for the afternoon). > [...] >>> A very similar bug #101159 was fixed a month ago in revision 110135. >>> If your Emacs is older than that, you need to update your sources and >>> rebuild. >=20 > Hi; any update on this? From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 03 15:24:20 2012 Received: (at control) by debbugs.gnu.org; 3 Nov 2012 19:24:20 +0000 Received: from localhost ([127.0.0.1]:47536 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TUjKO-0001I5-3G for submit@debbugs.gnu.org; Sat, 03 Nov 2012 15:24:20 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:41233) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TUjKM-0001Hx-07 for control@debbugs.gnu.org; Sat, 03 Nov 2012 15:24:18 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1TUjHW-0007jc-8C for control@debbugs.gnu.org; Sat, 03 Nov 2012 15:21:22 -0400 Date: Sat, 03 Nov 2012 15:21:22 -0400 Message-Id: Subject: control message for bug 12703 To: X-Mailer: mail (GNU Mailutils 2.1) From: Glenn Morris X-Spam-Score: -4.8 (----) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.8 (----) close 12703 From unknown Mon Jun 23 18:29:31 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 02 Dec 2012 12:24:02 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator