From unknown Fri Jun 20 18:18:06 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#16292 <16292@debbugs.gnu.org> To: bug#16292 <16292@debbugs.gnu.org> Subject: Status: 24.3.50; info docs now contain single straight quotes instead of `' Reply-To: bug#16292 <16292@debbugs.gnu.org> Date: Sat, 21 Jun 2025 01:18:06 +0000 retitle 16292 24.3.50; info docs now contain single straight quotes instead= of `' reassign 16292 emacs submitter 16292 Gregor Zattler severity 16292 wishlist thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 29 17:09:10 2013 Received: (at submit) by debbugs.gnu.org; 29 Dec 2013 22:09:10 +0000 Received: from localhost ([127.0.0.1]:50836 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxOXm-0000mo-80 for submit@debbugs.gnu.org; Sun, 29 Dec 2013 17:09:10 -0500 Received: from eggs.gnu.org ([208.118.235.92]:33185) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxOXk-0000mg-93 for submit@debbugs.gnu.org; Sun, 29 Dec 2013 17:09:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VxOXc-0008UJ-Pb for submit@debbugs.gnu.org; Sun, 29 Dec 2013 17:09:07 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:36153) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VxOXc-0008UF-MG for submit@debbugs.gnu.org; Sun, 29 Dec 2013 17:09:00 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34888) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VxOXW-0002p1-8T for bug-gnu-emacs@gnu.org; Sun, 29 Dec 2013 17:09:00 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VxOXQ-0008SV-3U for bug-gnu-emacs@gnu.org; Sun, 29 Dec 2013 17:08:54 -0500 Received: from mout-xforward.gmx.net ([82.165.159.42]:49468) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VxOXP-0008SL-R2 for bug-gnu-emacs@gnu.org; Sun, 29 Dec 2013 17:08:48 -0500 Received: from boo.workgroup ([87.187.187.112]) by mail.gmx.com (mrgmx003) with ESMTPSA (Nemesis) id 0LsTge-1VHYRi2v4S-011xaQ for ; Sun, 29 Dec 2013 23:08:46 +0100 Received: from grfz by boo.workgroup with local (Exim 4.82) (envelope-from ) id 1VxOXI-0006wl-St; Sun, 29 Dec 2013 23:08:40 +0100 Date: Sun, 29 Dec 2013 23:08:10 +0100 From: Gregor Zattler To: bug-gnu-emacs@gnu.org Subject: 24.3.50; info docs now contain single straight quotes instead of `' Message-ID: <20131229220810.GF7972@boo.workgroup> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-Provags-ID: V03:K0:0NaAUheMNMjzTyL6e7O8JqHnQ+oZ7bzxXT4qNWFdj33zZyZLDWG oPATCPmpuma5576nQWfdgvfjUbs9VjCzlV9xJc5Sc5V6eCJFXPmEZozyd4hn2acbbLiilhv Sayydf6/npNjAsExZJT8BfuFbPogD1MJ4OmuAVYKfSc6VR0dXUawb+FuTt1sV8MG3m9GFZe yM3NP4IR+6Qbx+LKXlBbg== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.1 (----) Dear emacs developers, when I do a `make docs' the generated info files do not contain `' -quotes any more but '' -quotes. This breaks e.g. info+ fontification (a very helpful feature). Reason is makeinfo >=5 produces either single straight quotes for info files or single curly ones, depending on the document encoding: (from makeinfo maunal:) 'OPEN_QUOTE_SYMBOL' When an opening quote is needed, e.g., for '@samp' output, use the specified character; default '‘' for HTML, '‘' for Docbook. For Info, the default depends on the enabled document encoding (*note @documentencoding::); if no document encoding is set, or the encoding is US-ASCII, etc., ''' is used. This character usually appears as an undirected single quote on modern systems. If the document encoding is Unicode, the Info output uses a Unicode left quote. [...] (from makeinfo maunal:) 17.2 '@documentencoding ENC': Set Input Encoding ================================================ The '@documentencoding' command declares the input document encoding. Write it on a line by itself, with a valid encoding specification following, near the beginning of the file but after '@setfilename' (*note @setfilename::): @documentencoding ENC At present, Texinfo supports only these encodings: 'US-ASCII' This has no particular effect, but it's included for completeness. 'UTF-8' The vast global character encoding, expressed in 8-bit bytes. 'ISO-8859-2' 'ISO-8859-1' 'ISO-8859-15' [...] Searching texinfos mailing list archives showed that this was discussed roughly two years before and that it is the result of a decision to go the same way as the rest of the world which interprets ` as grave accent: http://article.gmane.org/gmane.comp.tex.texinfo.bugs/5526/match=single+quotes : |> For the record, RFC20 says the meaning of character 0x60 is |> EITHER "grave accent" OR "opening single quotation mark". It |> then says this character ".. should not be used without |> determining that there is agreement between sender and recipient" I think it's highly desirable to be able to tell beginning and closing of enclosing characters apart. Therefore I consider the info files single straight quotes a bug. I assume there is a way to produce `' quotations with modern makeinfo or the *.texi files should have @documentencoding directives which produce single curly quotes. Thanks for your attention, Gregor From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 29 20:14:57 2013 Received: (at 16292) by debbugs.gnu.org; 30 Dec 2013 01:14:57 +0000 Received: from localhost ([127.0.0.1]:51109 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxRRZ-0007Dn-C3 for submit@debbugs.gnu.org; Sun, 29 Dec 2013 20:14:57 -0500 Received: from fencepost.gnu.org ([208.118.235.10]:49784) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxRRX-0007Dd-Bi for 16292@debbugs.gnu.org; Sun, 29 Dec 2013 20:14:55 -0500 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1VxRRW-0002bc-R3; Sun, 29 Dec 2013 20:14:54 -0500 From: Glenn Morris To: Gregor Zattler Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> X-Spook: Roswell Semtex UOP UNSCOM cryptographic Ruby Ridge Defcon X-Ran: 4^2`%$.29v:@*2Y(b;wb_UJD_no (Gregor Zattler's message of "Sun, 29 Dec 2013 23:08:10 +0100") Message-ID: <9mppofrvg1.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: -5.4 (-----) X-Debbugs-Envelope-To: 16292 Cc: 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.4 (-----) I think the Emacs manuals should use whatever Texinfo produces by default. If that is '' rather than `', so be it. The place to argue for a change would be the Texinfo list, but it sounds like that ship sailed. From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 29 22:07:50 2013 Received: (at 16292) by debbugs.gnu.org; 30 Dec 2013 03:07:50 +0000 Received: from localhost ([127.0.0.1]:51227 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxTCo-00036W-2y for submit@debbugs.gnu.org; Sun, 29 Dec 2013 22:07:50 -0500 Received: from userp1040.oracle.com ([156.151.31.81]:19059) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxTCm-00036G-39 for 16292@debbugs.gnu.org; Sun, 29 Dec 2013 22:07:48 -0500 Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by userp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id rBU37jTo011235 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 30 Dec 2013 03:07:45 GMT Received: from aserz7022.oracle.com (aserz7022.oracle.com [141.146.126.231]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id rBU37ikM002890 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 30 Dec 2013 03:07:45 GMT Received: from abhmp0016.oracle.com (abhmp0016.oracle.com [141.146.116.22]) by aserz7022.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id rBU37ijp018466; Mon, 30 Dec 2013 03:07:44 GMT MIME-Version: 1.0 Message-ID: <3c0cdde0-bbcc-4ad1-9554-e26063523529@default> Date: Sun, 29 Dec 2013 19:07:39 -0800 (PST) From: Drew Adams To: Glenn Morris , Gregor Zattler Subject: RE: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <9mppofrvg1.fsf@fencepost.gnu.org> In-Reply-To: <9mppofrvg1.fsf@fencepost.gnu.org> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6680.5000 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-Spam-Score: -2.7 (--) X-Debbugs-Envelope-To: 16292 Cc: 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) > I think the Emacs manuals should use whatever Texinfo produces by default= . > If that is '' rather than `', so be it. The place to argue for a change > would be the Texinfo list, but it sounds like that ship sailed. Emacs Dev has nothing to say about the format used for Info? Interesting. Too bad, truly. Emacs has a long tradition of font-locking `...' in doc strings. Why? The reason for that (readability) is an even stronger argument for doing the same for Info, where it matters even more. And that would have been a good argument for Texinfo to keep the `...' syntax for Info. Alas, Emacs Dev has never wanted to highlight `...' in Info (even as a user option, and even though patches were available). Again, too bad. Poor Emacs. [This is like changing Lisp to use )lambda )var) )1+ )foo 42 var))) or XML to use >foo>. Good candidates for an April Fool's joke; nothing more.] From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 29 22:23:37 2013 Received: (at 16292-done) by debbugs.gnu.org; 30 Dec 2013 03:23:37 +0000 Received: from localhost ([127.0.0.1]:51243 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxTS4-0003Xs-Jw for submit@debbugs.gnu.org; Sun, 29 Dec 2013 22:23:36 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:42567) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxTS2-0003Xj-1D for 16292-done@debbugs.gnu.org; Sun, 29 Dec 2013 22:23:35 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 4A223A60002 for <16292-done@debbugs.gnu.org>; Sun, 29 Dec 2013 19:23:33 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DxRVTBW87HVg for <16292-done@debbugs.gnu.org>; Sun, 29 Dec 2013 19:23:32 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id D53C039E80FF for <16292-done@debbugs.gnu.org>; Sun, 29 Dec 2013 19:23:32 -0800 (PST) Message-ID: <52C0E734.4090403@cs.ucla.edu> Date: Sun, 29 Dec 2013 19:23:32 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: 16292-done@debbugs.gnu.org Subject: Re: 24.3.50; info docs now contain single straight quotes instead of `' Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.7 (--) X-Debbugs-Envelope-To: 16292-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) Apparently the problem is that some of Emacs's .texi files contain @documentencoding directives and generate curly quotes, while others don't and generate straight quotes. It's better to be consistent, and curly quotes seem more useful, so I installed a patch to do that as trunk bzr 115807. I assume this fixes the bug and so am closing this bug report; if it's not fixed please let me know. From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 29 22:26:08 2013 Received: (at 16292) by debbugs.gnu.org; 30 Dec 2013 03:26:08 +0000 Received: from localhost ([127.0.0.1]:51252 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxTUV-0003cx-DH for submit@debbugs.gnu.org; Sun, 29 Dec 2013 22:26:07 -0500 Received: from fencepost.gnu.org ([208.118.235.10]:51439) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxTUS-0003cm-El for 16292@debbugs.gnu.org; Sun, 29 Dec 2013 22:26:05 -0500 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1VxTUR-0003mu-L0; Sun, 29 Dec 2013 22:26:03 -0500 From: Glenn Morris To: 16292@debbugs.gnu.org Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <9mppofrvg1.fsf@fencepost.gnu.org> <3c0cdde0-bbcc-4ad1-9554-e26063523529@default> X-Spook: TELINT high security Treasury Bruxelles security argus X-Ran: y7v/k&P(]0E)xI7lYG/3,2/Q{"![dsb.fl,o8s:3'X>":~W:c5'('eBW-OENF[[=z/V@3| X-Hue: red X-Attribution: GM Date: Sun, 29 Dec 2013 22:26:03 -0500 In-Reply-To: <3c0cdde0-bbcc-4ad1-9554-e26063523529@default> (Drew Adams's message of "Sun, 29 Dec 2013 19:07:39 -0800 (PST)") Message-ID: 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: -5.4 (-----) X-Debbugs-Envelope-To: 16292 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.4 (-----) Drew Adams wrote: > Emacs Dev has nothing to say about the format used for Info? Interesting. > > Too bad, truly. > > Emacs has a long tradition of font-locking `...' in doc strings. Why? > The reason for that (readability) is an even stronger argument for doing > the same for Info, where it matters even more. > > And that would have been a good argument for Texinfo to keep the `...' > syntax for Info. Alas, Emacs Dev has never wanted to highlight `...' > in Info (even as a user option, and even though patches were available). > > Again, too bad. Poor Emacs. Could you possibly stop talking like such a pompous jackass? There is no such thing as "Emacs Dev". There are just people, with differing opinions, doing work, for free. My opinion is that the Texinfo maintainers are the people who decide what Info documents look like. From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 29 23:10:57 2013 Received: (at 16292-done) by debbugs.gnu.org; 30 Dec 2013 04:10:57 +0000 Received: from localhost ([127.0.0.1]:51316 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxUBt-0004vM-6g for submit@debbugs.gnu.org; Sun, 29 Dec 2013 23:10:57 -0500 Received: from aserp1040.oracle.com ([141.146.126.69]:28303) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxUBr-0004vE-34 for 16292-done@debbugs.gnu.org; Sun, 29 Dec 2013 23:10:55 -0500 Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by aserp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id rBU4Ajwp016145 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 30 Dec 2013 04:10:46 GMT Received: from aserz7021.oracle.com (aserz7021.oracle.com [141.146.126.230]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id rBU4Ai8p025609 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 30 Dec 2013 04:10:45 GMT Received: from abhmp0016.oracle.com (abhmp0016.oracle.com [141.146.116.22]) by aserz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id rBU4Aio2018008; Mon, 30 Dec 2013 04:10:44 GMT MIME-Version: 1.0 Message-ID: <021400c4-0cde-440b-ac8a-7c70f994cbf4@default> Date: Sun, 29 Dec 2013 20:10:38 -0800 (PST) From: Drew Adams To: Paul Eggert , 16292-done@debbugs.gnu.org Subject: RE: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> In-Reply-To: <52C0E734.4090403@cs.ucla.edu> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6680.5000 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-Spam-Score: -2.7 (--) X-Debbugs-Envelope-To: 16292-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) > Apparently the problem is that some of Emacs's .texi files > contain @documentencoding directives and generate curly quotes, > while others don't and generate straight quotes. It's better to > be consistent, and curly quotes seem more useful, so I installed > a patch to do that as trunk bzr 115807. I assume this fixes the > bug and so am closing this bug report; if it's not fixed please > let me know. Curly opening and closing quotes are certainly better than having the same kind of quote char for both opening and closing. Thx. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 30 12:24:53 2013 Received: (at 16292) by debbugs.gnu.org; 30 Dec 2013 17:24:53 +0000 Received: from localhost ([127.0.0.1]:52868 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxgaB-0001Cb-OE for submit@debbugs.gnu.org; Mon, 30 Dec 2013 12:24:52 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:65494) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vxga8-0001CO-5s for 16292@debbugs.gnu.org; Mon, 30 Dec 2013 12:24:49 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MYM00200QWAIJ00@a-mtaout22.012.net.il> for 16292@debbugs.gnu.org; Mon, 30 Dec 2013 19:24:46 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYM002SSR1AE060@a-mtaout22.012.net.il>; Mon, 30 Dec 2013 19:24:46 +0200 (IST) Date: Mon, 30 Dec 2013 19:24:35 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52C0E734.4090403@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <83sita1cbw.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sun, 29 Dec 2013 19:23:32 -0800 > From: Paul Eggert > > Apparently the problem is that some of Emacs's .texi files > contain @documentencoding directives and generate curly quotes, > while others don't and generate straight quotes. It's better to > be consistent, and curly quotes seem more useful, so I installed > a patch to do that as trunk bzr 115807. I assume this fixes the > bug and so am closing this bug report; if it's not fixed please > let me know. Very sorry, but I reverted that commit: it screws up anyone who wants to read the docs on a text terminal that doesn't support UTF-8. At best, you see something like Hash notation cannot be read at all, so the Lisp reader signals the error \u2018invalid-read-syntax\u2019 whenever it encounters \u2018#<\u2019. At worst, you see this kind of gibberish: In most cases, an objectΓאשs printed representation is also a read syntax for the object. However, some types have no read syntax, since it does not make sense to enter objects of these types as constants in a Lisp program. These objects are printed in "hash notation", which consists of the characters Γאר#<Γאש, a descriptive string (typically the type name followed by the name of the object), and a closing Γאר>Γאש. For example: (current-buffer) Γחע # I'm sorry, we cannot possibly distribute documentation that looks like this in some locales. For Emacs Info reader, we could perhaps fix that by using a display table, but there's no such solution available for the stand-alone Info reader that is part of Texinfo. This change should have never been committed without a discussion, certainly not during a feature freeze. Of course, before this commit, we already had such a problem in several files, which started using UTF-8 encoding since the last March. But that, too, was never discussed AFAIR, and its effect on @code, @samp, etc. markup, as well as on ``..'' quoted text, was never mentioned. (These effects are barely documented in the Texinfo manual, so it was easy to miss the meaning of those changes. I submitted a bug report to Texinfo maintainers about this documentation deficiency.) So now we are left with a few files that still specify UTF-8, and still screw up text-mode Info readers in some locales. Those files were using Latin-1 before the changes in March 2013, which allowed us to display a few non-ASCII words in Latin locales, but still have the quotes and markup legible in all locales. So, unless someone has a better idea, I will in a day or two revert those files back to Latin-1. This will not be optimal, since names of some people (I counted 4) mentioned in at least one of those files cannot be encoded in Latin-1, and so we will need to use the ASCII imitation offered by Texinfo (as we did before the switch to UTF-8). But that is IMO a lesser evil than denying legible manuals to various non-UTF locales. As for the OP's report: I agree with Glenn that the ship with `..' quoting in Info sailed a long time ago. I was against that change in Texinfo (as was Karl Berry, one of the main Texinfo developers), but this was voted down, so there's no sense in arguing about that. If info+ needs to parse the quoting to highlight marked-up text, it will have to adapt, sorry. (Or lobby on the Texinfo list for reverting to previous behavior.) I'm going to reopen the bug. From unknown Fri Jun 20 18:18:06 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: Did not alter fixed versions and reopened. Date: Mon, 30 Dec 2013 17:26:01 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # Did not alter fixed versions and reopened. thanks # This fakemail brought to you by your local debbugs # administrator From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 30 12:33:57 2013 Received: (at 16292) by debbugs.gnu.org; 30 Dec 2013 17:33:57 +0000 Received: from localhost ([127.0.0.1]:52899 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vxgiy-0002bX-Dv for submit@debbugs.gnu.org; Mon, 30 Dec 2013 12:33:57 -0500 Received: from aserp1040.oracle.com ([141.146.126.69]:28050) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vxgiv-0002bM-Fs for 16292@debbugs.gnu.org; Mon, 30 Dec 2013 12:33:54 -0500 Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by aserp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id rBUHXn5l000727 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 30 Dec 2013 17:33:51 GMT Received: from userz7021.oracle.com (userz7021.oracle.com [156.151.31.85]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id rBUHXmXQ006701 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 30 Dec 2013 17:33:49 GMT Received: from abhmp0018.oracle.com (abhmp0018.oracle.com [141.146.116.24]) by userz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id rBUHXmsE006684; Mon, 30 Dec 2013 17:33:48 GMT MIME-Version: 1.0 Message-ID: <1ea6ef32-1169-4ba1-af15-8b9f8e58cf00@default> Date: Mon, 30 Dec 2013 09:33:47 -0800 (PST) From: Drew Adams To: Eli Zaretskii , Paul Eggert Subject: RE: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> In-Reply-To: <83sita1cbw.fsf@gnu.org> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6680.5000 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-Spam-Score: -2.4 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) > Very sorry, but I reverted that commit... > =20 > As for the OP's report: I agree with Glenn that the ship with `..' > quoting in Info sailed a long time ago. I was against that change in > Texinfo (as was Karl Berry, one of the main Texinfo developers), but > this was voted down, so there's no sense in arguing about that. If > info+ needs to parse the quoting to highlight marked-up text, it will > have to adapt, sorry. (Or lobby on the Texinfo list for reverting to > previous behavior.) >=20 > I'm going to reopen the bug. This is too bad, indeed. I don't understand exactly what Paul did to change (for Emacs) the first ' in '...' to SINGLE TURNED COMMA QUOTATION MARK, but if he could do that, couldn't a similar approach be used to change that first ' back to `, restoring things for Emacs users as they were before (removing this regression)? From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 30 13:04:45 2013 Received: (at 16292) by debbugs.gnu.org; 30 Dec 2013 18:04:45 +0000 Received: from localhost ([127.0.0.1]:52953 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxhCl-0003Yc-SV for submit@debbugs.gnu.org; Mon, 30 Dec 2013 13:04:44 -0500 Received: from mtaout20.012.net.il ([80.179.55.166]:55879) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxhCj-0003YQ-VU for 16292@debbugs.gnu.org; Mon, 30 Dec 2013 13:04:42 -0500 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MYM00M00SKZ5W00@a-mtaout20.012.net.il> for 16292@debbugs.gnu.org; Mon, 30 Dec 2013 20:03:37 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYM00LQ4SU0YK90@a-mtaout20.012.net.il>; Mon, 30 Dec 2013 20:03:37 +0200 (IST) Date: Mon, 30 Dec 2013 20:03:27 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <1ea6ef32-1169-4ba1-af15-8b9f8e58cf00@default> X-012-Sender: halo1@inter.net.il To: Drew Adams Message-id: <83k3em1aj4.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <1ea6ef32-1169-4ba1-af15-8b9f8e58cf00@default> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Mon, 30 Dec 2013 09:33:47 -0800 (PST) > From: Drew Adams > Cc: grfz@gmx.de, 16292@debbugs.gnu.org > > I don't understand exactly what Paul did to change (for Emacs) the > first ' in '...' to SINGLE TURNED COMMA QUOTATION MARK Paul added "@documentencoding utf-8" to sources of all the Info manuals; the rest was done by makeinfo when it produced the Info files. > but if he could do that, couldn't a similar approach be used to > change that first ' back to `, restoring things for Emacs users as > they were before (removing this regression)? Not by a similar approach, but we could indeed restore old behavior by customizing makeinfo (the details are in the Texinfo manual, and were quoted here by the OP). But we need to agree to that first, and I very much doubt that such an agreement will be reached, given the GNU Coding Standards and the general mindset. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 30 14:07:11 2013 Received: (at 16292) by debbugs.gnu.org; 30 Dec 2013 19:07:11 +0000 Received: from localhost ([127.0.0.1]:53078 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxiBC-0005XE-K3 for submit@debbugs.gnu.org; Mon, 30 Dec 2013 14:07:11 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:41673) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxiB9-0005X3-TI for 16292@debbugs.gnu.org; Mon, 30 Dec 2013 14:07:08 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 225FE39E80F8; Mon, 30 Dec 2013 11:07:07 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JNmAe6HkzT7d; Mon, 30 Dec 2013 11:07:06 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id AA9BD39E8008; Mon, 30 Dec 2013 11:07:06 -0800 (PST) Message-ID: <52C1C456.2080004@cs.ucla.edu> Date: Mon, 30 Dec 2013 11:07:02 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> In-Reply-To: <83sita1cbw.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.4 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Eli Zaretskii wrote: > we cannot possibly distribute documentation that looks like > this in some locales. Yes we can. We've been distributing documentation like that for years. Latin-1 markup (which you're advocating) is not legible in all locales. It's not legible in Shift-JIS, for example. And I don't see how Latin-1 markup can work in a text reader in a UTF-8 locale. > So now we are left with a few files that still specify UTF-8, and > still screw up text-mode Info readers in some locales. It's not just the few files that specify "@documentencoding UTF-8". It's several other files that contain UTF-8 characters, files like dbus.texi. These files are being mishandled now, because of the revert, because makeinfo isn't being told what their encoding is. And the first of these files that I found, namely dbus.texi, is specifically talking about multibyte characters in its example, so converting it to Latin-1 would destroy the point of that example. I sympathize with the goal of producing .info files portable to all locales, but this revert is not solving that problem and it is making matters significantly worse in other areas. The other change you're advocating (converting to Latin-1) would be worse yet. Instead, I suggest undoing the revert, and adding something to postprocess the info files, to produce ASCII-only info files. These could be used in locales that don't grok UTF-8. Doing this will avoid screwing up the documentation in .html and .pdf formats. I'll volunteer to write that. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 30 14:29:27 2013 Received: (at 16292) by debbugs.gnu.org; 30 Dec 2013 19:29:27 +0000 Received: from localhost ([127.0.0.1]:53113 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxiWk-0006E6-Is for submit@debbugs.gnu.org; Mon, 30 Dec 2013 14:29:27 -0500 Received: from mtaout20.012.net.il ([80.179.55.166]:41074) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxiWh-0006Dk-0E for 16292@debbugs.gnu.org; Mon, 30 Dec 2013 14:29:24 -0500 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MYM00M00W86QG00@a-mtaout20.012.net.il> for 16292@debbugs.gnu.org; Mon, 30 Dec 2013 21:29:12 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYM00M1XWSOWP00@a-mtaout20.012.net.il>; Mon, 30 Dec 2013 21:29:12 +0200 (IST) Date: Mon, 30 Dec 2013 21:29:02 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52C1C456.2080004@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <83fvpa16kh.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Mon, 30 Dec 2013 11:07:02 -0800 > From: Paul Eggert > CC: 16292@debbugs.gnu.org, grfz@gmx.de > > Latin-1 markup (which you're advocating) is not legible in all locales. Yes, but Latin-1 characters are only used in a handful of words (names of people), so using Latin-1 doesn't hamper users' ability to read the manual in any way, because the quote characters are not affected. Only the UTF-8 encoding also affects the quote characters, which are used a lot in Info. So Latin-1 is a much lesser evil. > It's not just the few files that specify "@documentencoding UTF-8". > It's several other files that contain UTF-8 characters, files like > dbus.texi. These files are being mishandled now, because of the revert, > because makeinfo isn't being told what their encoding is. And the > first of these files that I found, namely dbus.texi, is specifically > talking about multibyte characters in its example, so converting it > to Latin-1 would destroy the point of that example. The job is not yet finished, so naturally there are problems we need to solve. I've just reverted the situation back to where it was before, to the point where we should discuss the possible solutions and choose the best one. > I sympathize with the goal of producing .info files portable to > all locales, but this revert is not solving that problem and it is > making matters significantly worse in other areas. The problem of quotes _is_ solved, in most of the Info files. Again, I'm not claiming we should release the files in their present shape. There's still work to be done, the question is what to do. > The other change you're advocating (converting to Latin-1) would be > worse yet. I don't see why it would be worse, please elaborate. > Instead, I suggest undoing the revert, and adding something to > postprocess the info files, to produce ASCII-only info files. > These could be used in locales that don't grok UTF-8. Doing > this will avoid screwing up the documentation in .html and .pdf > formats. I'll volunteer to write that. Are you suggesting to produce 2 separate sets of Info files? That could work, although it will be unusual (I don't think any other project does that). But if we go that way, there's no need to postprocess anything, just run makeinfo again with --disable-encoding and direct the output to a different place. If you suggest to have a single set of Info files, then I don't understand the proposal, or how it would help. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 30 14:46:28 2013 Received: (at 16292) by debbugs.gnu.org; 30 Dec 2013 19:46:28 +0000 Received: from localhost ([127.0.0.1]:53138 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxinD-0006oU-MH for submit@debbugs.gnu.org; Mon, 30 Dec 2013 14:46:28 -0500 Received: from mail-out.m-online.net ([212.18.0.9]:51924) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxinA-0006oD-Fg for 16292@debbugs.gnu.org; Mon, 30 Dec 2013 14:46:25 -0500 Received: from frontend1.mail.m-online.net (unknown [192.168.8.180]) by mail-out.m-online.net (Postfix) with ESMTP id 3dtTfK665mz4KK31; Mon, 30 Dec 2013 20:46:17 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.68]) by mail.m-online.net (Postfix) with ESMTP id 3dtTfK4MQHzbbgQ; Mon, 30 Dec 2013 20:46:17 +0100 (CET) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.180]) by localhost (dynscan1.mail.m-online.net [192.168.6.68]) (amavisd-new, port 10024) with ESMTP id UMgxEvsQTkBi; Mon, 30 Dec 2013 20:46:16 +0100 (CET) X-Auth-Info: qadMc8rsARPi+uTFyNp4JrSfuXfbvcjx5CoIKoqZJqI= Received: from igel.home (ppp-88-217-56-171.dynamic.mnet-online.de [88.217.56.171]) by mail.mnet-online.de (Postfix) with ESMTPA; Mon, 30 Dec 2013 20:46:16 +0100 (CET) Received: by igel.home (Postfix, from userid 1000) id 750EF2C010A; Mon, 30 Dec 2013 20:46:16 +0100 (CET) From: Andreas Schwab To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> X-Yow: I'd like MY data-base JULIENNED and stir-fried! Date: Mon, 30 Dec 2013 20:46:16 +0100 In-Reply-To: <83fvpa16kh.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 30 Dec 2013 21:29:02 +0200") Message-ID: <87vby6gm0n.fsf@igel.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 16292 Cc: Paul Eggert , grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) The info reader should really recode the info file into the locale's encoding on the fly (and info files should always be encoded in UTF-8). It doesn't make sense any more to use Latin-1. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 30 15:09:00 2013 Received: (at 16292) by debbugs.gnu.org; 30 Dec 2013 20:09:01 +0000 Received: from localhost ([127.0.0.1]:53167 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vxj91-0007Vw-Tj for submit@debbugs.gnu.org; Mon, 30 Dec 2013 15:09:00 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:35258) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vxj8z-0007Vk-2M for 16292@debbugs.gnu.org; Mon, 30 Dec 2013 15:08:58 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MYM00300YM0UE00@a-mtaout22.012.net.il> for 16292@debbugs.gnu.org; Mon, 30 Dec 2013 22:08:55 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYM003GWYMUL290@a-mtaout22.012.net.il>; Mon, 30 Dec 2013 22:08:55 +0200 (IST) Date: Mon, 30 Dec 2013 22:08:45 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <87vby6gm0n.fsf@igel.home> X-012-Sender: halo1@inter.net.il To: Andreas Schwab Message-id: <83eh4u14qa.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <87vby6gm0n.fsf@igel.home> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Andreas Schwab > Cc: Paul Eggert , grfz@gmx.de, 16292@debbugs.gnu.org > Date: Mon, 30 Dec 2013 20:46:16 +0100 > > The info reader should really recode the info file into the locale's > encoding on the fly (and info files should always be encoded in UTF-8). You mean, the Emacs Info reader? It already does that on a TTY, using terminal-coding-system. But the problem is that these Unicode quotes cannot be encoded in most (all?) non-UTF encodings. We could replace those characters via display tables. But these solutions are only for the Emacs Info reader; the stand-alone reader doesn't do anything like that, it simply dumps the bytes to the screen, assuming the text is in the current locale's encoding. > It doesn't make sense any more to use Latin-1. We originally produced ASCII emulations of the non-ASCII characters used by the names of contributors in ack.texi etc., but then decided to show them more respect by using Latin. That's how it all started. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 30 15:35:50 2013 Received: (at 16292) by debbugs.gnu.org; 30 Dec 2013 20:35:50 +0000 Received: from localhost ([127.0.0.1]:53194 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxjYz-0008KM-Mu for submit@debbugs.gnu.org; Mon, 30 Dec 2013 15:35:50 -0500 Received: from mail-out.m-online.net ([212.18.0.10]:60196) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxjYx-0008KA-BH for 16292@debbugs.gnu.org; Mon, 30 Dec 2013 15:35:48 -0500 Received: from frontend1.mail.m-online.net (frontend1.mail.intern.m-online.net [192.168.8.180]) by mail-out.m-online.net (Postfix) with ESMTP id 3dtVlP3KQWz3hhsX; Mon, 30 Dec 2013 21:35:44 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.68]) by mail.m-online.net (Postfix) with ESMTP id 3dtVlN38qJzbbgW; Mon, 30 Dec 2013 21:35:44 +0100 (CET) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.180]) by localhost (dynscan1.mail.m-online.net [192.168.6.68]) (amavisd-new, port 10024) with ESMTP id leqIcVJ5_9dJ; Mon, 30 Dec 2013 21:35:43 +0100 (CET) X-Auth-Info: nG+MdUmi4SGOyNQkx07kZ09YIBILYZSh5CHr+u+VnrE= Received: from igel.home (ppp-88-217-56-171.dynamic.mnet-online.de [88.217.56.171]) by mail.mnet-online.de (Postfix) with ESMTPA; Mon, 30 Dec 2013 21:35:43 +0100 (CET) Received: by igel.home (Postfix, from userid 1000) id 13E352C0616; Mon, 30 Dec 2013 21:35:43 +0100 (CET) From: Andreas Schwab To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <87vby6gm0n.fsf@igel.home> <83eh4u14qa.fsf@gnu.org> X-Yow: As President I have to go vacuum my coin collection! Date: Mon, 30 Dec 2013 21:35:43 +0100 In-Reply-To: <83eh4u14qa.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 30 Dec 2013 22:08:45 +0200") Message-ID: <87r48ugjq8.fsf@igel.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Eli Zaretskii writes: > But these solutions are only for the Emacs Info reader; the > stand-alone reader doesn't do anything like that, it simply dumps the > bytes to the screen, assuming the text is in the current locale's > encoding. That's what needs to be fixed, not the contents of the info files. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 31 00:51:10 2013 Received: (at 16292) by debbugs.gnu.org; 31 Dec 2013 05:51:10 +0000 Received: from localhost ([127.0.0.1]:53757 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxsEQ-0000Uc-FZ for submit@debbugs.gnu.org; Tue, 31 Dec 2013 00:51:10 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:34170) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxsEO-0000UU-O4 for 16292@debbugs.gnu.org; Tue, 31 Dec 2013 00:51:09 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id AE051A60001; Mon, 30 Dec 2013 21:51:07 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id b6oXmv8hD3Fn; Mon, 30 Dec 2013 21:51:06 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id AC80139E80F8; Mon, 30 Dec 2013 21:51:06 -0800 (PST) Message-ID: <52C25B4A.70803@cs.ucla.edu> Date: Mon, 30 Dec 2013 21:51:06 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Andreas Schwab Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <87vby6gm0n.fsf@igel.home> In-Reply-To: <87vby6gm0n.fsf@igel.home> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.4 (--) X-Debbugs-Envelope-To: 16292 Cc: 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Andreas Schwab wrote: > The info reader should really recode the info file into the locale's > encoding on the fly (and info files should always be encoded in UTF-8). > It doesn't make sense any more to use Latin-1. Thanks, that is a good suggestion. I requested that on bug-texinfo, here: http://lists.gnu.org/archive/html/bug-texinfo/2013-12/msg00023.html From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 31 00:58:35 2013 Received: (at 16292) by debbugs.gnu.org; 31 Dec 2013 05:58:35 +0000 Received: from localhost ([127.0.0.1]:53764 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxsLb-0000ja-7U for submit@debbugs.gnu.org; Tue, 31 Dec 2013 00:58:35 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:34323) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxsLZ-0000jN-MC for 16292@debbugs.gnu.org; Tue, 31 Dec 2013 00:58:34 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 21A3839E810E; Mon, 30 Dec 2013 21:58:33 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1h5FzHdHNpXX; Mon, 30 Dec 2013 21:58:32 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 5739F39E80F8; Mon, 30 Dec 2013 21:58:32 -0800 (PST) Message-ID: <52C25D07.80808@cs.ucla.edu> Date: Mon, 30 Dec 2013 21:58:31 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> In-Reply-To: <83fvpa16kh.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -2.4 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Eli Zaretskii wrote: > (names of people) so using Latin-1 doesn't hamper users' > ability to read the manual in any way Most of the non-ASCII words are people's names, but many are not, and often ASCIIfying these would hurt the manual. These include symbols (e.g., "¬"), examples of encoding ("@samp{Naïve} is encoded as @samp{=?iso-8859-1?q?Na=EFve?=}"), calendars ("Bahá'í"), the names of GNU programs ("真 Gnus"), and configuration examples ("écrit" in email configuration). Nowadays, on GNUish and POSIXish systems in the Emacs target audience, there's more usage of UTF-8 than of Latin-1. On Ubuntu and Fedora, for example, the default locale for US English is en_US.utf8. Hence, converting info files to Latin-1 would hurt standalone info users in the typical setup on GNUish and POSIXish platforms. Perhaps Microsoft Windows users are different, and typically use Latin-1 or some other unibyte encoding. If so, then until standalone 'info' is improved we can support those users by converting the info files on Windows platforms, before installing the files. Perhaps this could be a configure-time option. Or, perhaps it's simpler to ask these folks to use Emacs to read their info files for now. In any event we shouldn't convert the manual source to Latin-1; not only would this lose information, it would hurt the typical standalone info use case on GNUish systems. In the short run, we do need to add @documentencoding directives to the manuals that are already using UTF-8, since makeinfo is currently mishandling these manuals. This isn't critical for the plain-ASCII manuals, and we could defer changes to the plain-ASCII manuals to the next version of Emacs if necessary, though I expect it's better to format all the manuals consistently. From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 31 03:03:50 2013 Received: (at 16292) by debbugs.gnu.org; 31 Dec 2013 08:03:50 +0000 Received: from localhost ([127.0.0.1]:53901 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxuIn-0004pq-Dw for submit@debbugs.gnu.org; Tue, 31 Dec 2013 03:03:49 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:65293) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VxuIk-0004pg-4j for 16292@debbugs.gnu.org; Tue, 31 Dec 2013 03:03:47 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MYN00900VPNCW00@a-mtaout22.012.net.il> for 16292@debbugs.gnu.org; Tue, 31 Dec 2013 10:03:37 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYN00925VQ02L60@a-mtaout22.012.net.il>; Tue, 31 Dec 2013 10:03:37 +0200 (IST) Date: Tue, 31 Dec 2013 10:03:28 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <87r48ugjq8.fsf@igel.home> X-012-Sender: halo1@inter.net.il To: Andreas Schwab Message-id: <837gal1m7j.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <87vby6gm0n.fsf@igel.home> <83eh4u14qa.fsf@gnu.org> <87r48ugjq8.fsf@igel.home> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Andreas Schwab > Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org > Date: Mon, 30 Dec 2013 21:35:43 +0100 > > Eli Zaretskii writes: > > > But these solutions are only for the Emacs Info reader; the > > stand-alone reader doesn't do anything like that, it simply dumps the > > bytes to the screen, assuming the text is in the current locale's > > encoding. > > That's what needs to be fixed, not the contents of the info files. I agree that this would be very good indeed. From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 31 03:28:38 2013 Received: (at 16292) by debbugs.gnu.org; 31 Dec 2013 08:28:38 +0000 Received: from localhost ([127.0.0.1]:53952 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vxugn-0005a5-43 for submit@debbugs.gnu.org; Tue, 31 Dec 2013 03:28:37 -0500 Received: from mtaout20.012.net.il ([80.179.55.166]:55533) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vxugj-0005Zo-Fs for 16292@debbugs.gnu.org; Tue, 31 Dec 2013 03:28:34 -0500 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MYN00500WTYIX00@a-mtaout20.012.net.il> for 16292@debbugs.gnu.org; Tue, 31 Dec 2013 10:28:02 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYN0055TWUQIP10@a-mtaout20.012.net.il>; Tue, 31 Dec 2013 10:28:02 +0200 (IST) Date: Tue, 31 Dec 2013 10:27:54 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52C25D07.80808@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <8338l91l2t.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Mon, 30 Dec 2013 21:58:31 -0800 > From: Paul Eggert > CC: 16292@debbugs.gnu.org, grfz@gmx.de > > Eli Zaretskii wrote: > > > (names of people) so using Latin-1 doesn't hamper users' > > ability to read the manual in any way > > Most of the non-ASCII words are people's names, but many are not, > and often ASCIIfying these would hurt the manual. > These include symbols (e.g., "¬"), examples of encoding > ("@samp{Naïve} is encoded as @samp{=?iso-8859-1?q?Na=EFve?=}"), > calendars ("Bahá'í"), the names of GNU programs ("真 Gnus"), > and configuration examples ("écrit" in email configuration). I don't think we care about encoding of a handful of words, as long as the bulk of the manual, including markup and quotes, is legible. I only mentioned Latin-1 because it seemed to cover most of the non-ASCII characters. But I don't insist on it. Neither do I insist on a single-byte encoding of those few words and names; in particular, UTF-8 will do -- but only for the non-ASCII text in the manuals. > Nowadays, on GNUish and POSIXish systems in the Emacs target > audience, there's more usage of UTF-8 than of Latin-1. On > Ubuntu and Fedora, for example, the default locale for US > English is en_US.utf8. Hence, converting info files to > Latin-1 would hurt standalone info users in the typical > setup on GNUish and POSIXish platforms. It hurts them in a very small number of places, most or all of which don't affect in any way the ability of the reader to read and understand the presented material. As I say above, I won't object to having the non-ASCII words encoded in UTF-8, as long as it doesn't affect the (single and double) quote characters, and any other characters/strings (like '#' and '=>') we use for describing the Emacs and Lisp features. The problem here is that @documentencoding is virulent when you use UTF-8: it affects the quotes, not just non-ASCII text in the Texinfo sources. This is unlike any other value of @documentencoding. And that is the only problem that bothers me, and IMO should bother us all. Perhaps a possible solution would be to customize OPEN_QUOTE_SYMBOL and CLOSE_QUOTE_SYMBOL (although I'm not sure it affects double quotes), or edit the Info files with Sed to replace Unicode quote characters with some ASCII characters. The rest of the non-ASCII text can be left intact, in UTF-8. > Perhaps Microsoft Windows users are different, and typically > use Latin-1 or some other unibyte encoding. This has nothing to do with Windows; I first hit the problem on a GNU/Linux machine that was configured with a non-UTF locale. The reason I never saw the problem since last March is that I still use makeinfo from Texinfo 4.13, which doesn't affect the quote characters when @documentencoding of UTF-8 is specified. So the Info files I produce when I build Emacs don't suffer from this misfeature. From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 01 21:05:33 2014 Received: (at 16292) by debbugs.gnu.org; 2 Jan 2014 02:05:33 +0000 Received: from localhost ([127.0.0.1]:56891 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VyXf8-0007kU-Il for submit@debbugs.gnu.org; Wed, 01 Jan 2014 21:05:33 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:51502) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VyXf0-0007kE-6F for 16292@debbugs.gnu.org; Wed, 01 Jan 2014 21:05:27 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 31AAB39E810A; Wed, 1 Jan 2014 18:05:21 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kjiOkrng6UFg; Wed, 1 Jan 2014 18:05:17 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 4B7FC39E80F8; Wed, 1 Jan 2014 18:05:17 -0800 (PST) Message-ID: <52C4C95C.2010905@cs.ucla.edu> Date: Wed, 01 Jan 2014 18:05:16 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> In-Reply-To: <8338l91l2t.fsf@gnu.org> Content-Type: multipart/mixed; boundary="------------090702010302030607040009" X-Spam-Score: -2.4 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) This is a multi-part message in MIME format. --------------090702010302030607040009 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Eli Zaretskii wrote: > Perhaps a possible solution would be ... > edit the Info files with Sed to replace Unicode quote > characters with some ASCII characters. Here's a patch that does that. I'm attaching a file 'info-utf8.diff' that contains this patch combined with the previous one, for ease of trying it out against the trunk. === modified file 'ChangeLog' --- ChangeLog 2014-01-01 07:43:34 +0000 +++ ChangeLog 2014-01-02 00:45:52 +0000 @@ -1,3 +1,13 @@ +2014-01-02 Paul Eggert + + Specify info encoding and language (Bug#16292). + * build-aux/cp-ascii: New file. + * configure.ac: New option --with-ascii-info, which configures + INSTALL_INFO_DATA. + * Makefile.in (INSTALL_INFO_DATA): New macro. + (install-info): Use it. + * INSTALL: Document --with-ascii-info. + 2013-12-31 Fabrice Popineau * configure.ac (canonical, C_SWITCH_SYSTEM): Support a 64-bit === modified file 'INSTALL' --- INSTALL 2014-01-01 07:43:34 +0000 +++ INSTALL 2014-01-02 00:44:33 +0000 @@ -327,6 +327,11 @@ even on hosts where a narrower type would do. With this option, on a typical 32-bit host, Emacs integers have 62 bits instead of 30. +Use --with-ascii-info to install ASCII-only info files instead of +UTF-8. This makes the info files more readable in installations where +non-UTF-8 locales are commonly used, at the cost of losing some +information. + Use --enable-gcc-warnings to enable compile-time checks that warn about possibly-questionable C code. This is intended for developers and is useful with GNU-compatible compilers. On a recent GNU system === modified file 'Makefile.in' --- Makefile.in 2014-01-01 07:43:34 +0000 +++ Makefile.in 2014-01-02 00:02:58 +0000 @@ -255,6 +255,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_INFO = @INSTALL_INFO@ +INSTALL_INFO_DATA = @INSTALL_INFO_DATA@ # By default, we uphold the dignity of our programs. INSTALL_STRIP = MKDIR_P = @MKDIR_P@ @@ -663,7 +664,8 @@ test "$(HAVE_MAKEINFO)" = "no" && test ! -f $$elt && continue; \ for f in `ls $$elt $$elt-[1-9] $$elt-[1-9][0-9] 2>/dev/null`; do \ (cd "$${thisdir}"; \ - ${INSTALL_DATA} ${srcdir}/info/$$f "$(DESTDIR)${infodir}/$$f"); \ + ${INSTALL_INFO_DATA} ${srcdir}/info/$$f \ + "$(DESTDIR)${infodir}/$$f"); \ [ -n "${GZIP_PROG}" ] || continue ; \ rm -f "$(DESTDIR)${infodir}/$$f.gz"; \ ${GZIP_PROG} -9n "$(DESTDIR)${infodir}/$$f"; \ === added file 'build-aux/cp-ascii' --- build-aux/cp-ascii 1970-01-01 00:00:00 +0000 +++ build-aux/cp-ascii 2014-01-02 00:40:51 +0000 @@ -0,0 +1,83 @@ +#! /bin/sh +# Copy an ASCIIfied version of SOURCE to DEST. + +# Copyright 2014 Free Software Foundation, Inc. + +# This file is part of GNU Emacs. + +# GNU Emacs is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# GNU Emacs is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with GNU Emacs. If not, see . + +# written by Paul Eggert + + +# The ASCII output is designed for documentation in an environment +# that cannot handle non-ASCII characters. Some information may be +# lost in the process, and the number of characters and/or bytes may +# change. + +LC_ALL=C +export LC_ALL + +source=${1?} +dest=${2?} + +sed <"$source" >"$dest" ' + s/ / /g + s/¤/[CURRENCY SIGN]/g + s/©/(C)/g + s/¬/~/g + s/»/>>/g + s/À/A/g + s/Å/A/g + s/ß/ss/g + s/à/a/g + s/á/a/g + s/ä/ae/g + s/å/a/g + s/ç/c/g + s/è/e/g + s/é/e/g + s/ê/e/g + s/ì/i/g + s/í/i/g + s/ï/i/g + s/ò/o/g + s/ó/o/g + s/ö/oe/g + s/ø/o/g + s/ü/ue/g + s/ć/c/g + s/č/c/g + s/ł/l/g + s/ń/n/g + s/ő/o/g + s/Š/S/g + s/š/s/g + s/–/-/g + s/—/--/g + s/‘/'\''/g + s/’/'\''/g + s/“/"/g + s/”/"/g + s/•/*/g + s/…/.../g + s/→/->/g + s/↦/|->/g + s/⇒/=>/g + s/−/-/g + s/≡/==/g + s/⊣/-|/g + s/★/*/g + s/真/[CJK UNIFIED IDEOGRAPH-771F]/g +' === modified file 'configure.ac' --- configure.ac 2014-01-01 08:31:29 +0000 +++ configure.ac 2014-01-01 23:58:54 +0000 @@ -300,6 +300,9 @@ [don't compress some files (.el, .info, etc.) when installing. Equivalent to: make GZIP_PROG= install]) +OPTION_DEFAULT_OFF([ascii-info], + [install ASCII info files instead of UTF-8]) + AC_ARG_WITH([pkg-config-prog],dnl [AS_HELP_STRING([--with-pkg-config-prog=FILENAME], [file name of pkg-config for finding GTK and librsvg])]) @@ -973,6 +976,14 @@ AC_PATH_PROG(INSTALL_INFO, install-info, :, $PATH$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR/sbin) + +if test "$with_ascii_info" != yes; then + INSTALL_INFO_DATA='$(INSTALL_DATA)' +else + INSTALL_INFO_DATA='build-aux/cp-ascii' +fi +AC_SUBST([INSTALL_INFO_DATA]) + dnl Don't use GZIP, which is used by gzip for additional parameters. AC_PATH_PROG(GZIP_PROG, gzip) === modified file 'etc/ChangeLog' --- etc/ChangeLog 2014-01-01 07:43:34 +0000 +++ etc/ChangeLog 2014-01-02 00:45:48 +0000 @@ -1,3 +1,8 @@ +2014-01-02 Paul Eggert + + Specify info encoding and language (Bug#16292). + * NEWS: Document --with-ascii-info. + 2013-12-29 Paul Eggert Plain copy-file no longer chmods an existing destination (Bug#16133). === modified file 'etc/NEWS' --- etc/NEWS 2014-01-01 07:43:34 +0000 +++ etc/NEWS 2014-01-02 00:44:15 +0000 @@ -38,6 +38,8 @@ and renamed to `--without-compress-install'. It now prevents compression of _any_ files during installation. +** The configure option `--with-ascii-info' installs ASCII-only info files. + ** The configure option `--with-crt-dir' has been removed. It is no longer needed, as the crt*.o files are no longer linked specially. --------------090702010302030607040009 Content-Type: text/x-patch; name="info-utf8.diff" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="info-utf8.diff" === modified file 'ChangeLog' --- ChangeLog 2014-01-01 07:43:34 +0000 +++ ChangeLog 2014-01-02 00:46:55 +0000 @@ -1,3 +1,13 @@ +2014-01-02 Paul Eggert + + Specify info encoding and language (Bug#16292). + * build-aux/cp-ascii: New file. + * configure.ac: New option --with-ascii-info, which configures + INSTALL_INFO_DATA. + * Makefile.in (INSTALL_INFO_DATA): New macro. + (install-info): Use it. + * INSTALL: Document --with-ascii-info. + 2013-12-31 Fabrice Popineau * configure.ac (canonical, C_SWITCH_SYSTEM): Support a 64-bit === modified file 'INSTALL' --- INSTALL 2014-01-01 07:43:34 +0000 +++ INSTALL 2014-01-02 00:46:55 +0000 @@ -327,6 +327,11 @@ even on hosts where a narrower type would do. With this option, on a typical 32-bit host, Emacs integers have 62 bits instead of 30. +Use --with-ascii-info to install ASCII-only info files instead of +UTF-8. This makes the info files more readable in installations where +non-UTF-8 locales are commonly used, at the cost of losing some +information. + Use --enable-gcc-warnings to enable compile-time checks that warn about possibly-questionable C code. This is intended for developers and is useful with GNU-compatible compilers. On a recent GNU system === modified file 'Makefile.in' --- Makefile.in 2014-01-01 07:43:34 +0000 +++ Makefile.in 2014-01-02 00:46:55 +0000 @@ -255,6 +255,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_INFO = @INSTALL_INFO@ +INSTALL_INFO_DATA = @INSTALL_INFO_DATA@ # By default, we uphold the dignity of our programs. INSTALL_STRIP = MKDIR_P = @MKDIR_P@ @@ -663,7 +664,8 @@ test "$(HAVE_MAKEINFO)" = "no" && test ! -f $$elt && continue; \ for f in `ls $$elt $$elt-[1-9] $$elt-[1-9][0-9] 2>/dev/null`; do \ (cd "$${thisdir}"; \ - ${INSTALL_DATA} ${srcdir}/info/$$f "$(DESTDIR)${infodir}/$$f"); \ + ${INSTALL_INFO_DATA} ${srcdir}/info/$$f \ + "$(DESTDIR)${infodir}/$$f"); \ [ -n "${GZIP_PROG}" ] || continue ; \ rm -f "$(DESTDIR)${infodir}/$$f.gz"; \ ${GZIP_PROG} -9n "$(DESTDIR)${infodir}/$$f"; \ === added file 'build-aux/cp-ascii' --- build-aux/cp-ascii 1970-01-01 00:00:00 +0000 +++ build-aux/cp-ascii 2014-01-02 00:46:55 +0000 @@ -0,0 +1,83 @@ +#! /bin/sh +# Copy an ASCIIfied version of SOURCE to DEST. + +# Copyright 2014 Free Software Foundation, Inc. + +# This file is part of GNU Emacs. + +# GNU Emacs is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# GNU Emacs is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with GNU Emacs. If not, see . + +# written by Paul Eggert + + +# The ASCII output is designed for documentation in an environment +# that cannot handle non-ASCII characters. Some information may be +# lost in the process, and the number of characters and/or bytes may +# change. + +LC_ALL=C +export LC_ALL + +source=${1?} +dest=${2?} + +sed <"$source" >"$dest" ' + s/ / /g + s/¤/[CURRENCY SIGN]/g + s/©/(C)/g + s/¬/~/g + s/»/>>/g + s/À/A/g + s/Å/A/g + s/ß/ss/g + s/à/a/g + s/á/a/g + s/ä/ae/g + s/å/a/g + s/ç/c/g + s/è/e/g + s/é/e/g + s/ê/e/g + s/ì/i/g + s/í/i/g + s/ï/i/g + s/ò/o/g + s/ó/o/g + s/ö/oe/g + s/ø/o/g + s/ü/ue/g + s/ć/c/g + s/č/c/g + s/ł/l/g + s/ń/n/g + s/ő/o/g + s/Š/S/g + s/š/s/g + s/–/-/g + s/—/--/g + s/‘/'\''/g + s/’/'\''/g + s/“/"/g + s/”/"/g + s/•/*/g + s/…/.../g + s/→/->/g + s/↦/|->/g + s/⇒/=>/g + s/−/-/g + s/≡/==/g + s/⊣/-|/g + s/★/*/g + s/真/[CJK UNIFIED IDEOGRAPH-771F]/g +' === modified file 'configure.ac' --- configure.ac 2014-01-01 08:31:29 +0000 +++ configure.ac 2014-01-02 00:46:55 +0000 @@ -300,6 +300,9 @@ [don't compress some files (.el, .info, etc.) when installing. Equivalent to: make GZIP_PROG= install]) +OPTION_DEFAULT_OFF([ascii-info], + [install ASCII info files instead of UTF-8]) + AC_ARG_WITH([pkg-config-prog],dnl [AS_HELP_STRING([--with-pkg-config-prog=FILENAME], [file name of pkg-config for finding GTK and librsvg])]) @@ -973,6 +976,14 @@ AC_PATH_PROG(INSTALL_INFO, install-info, :, $PATH$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR/sbin) + +if test "$with_ascii_info" != yes; then + INSTALL_INFO_DATA='$(INSTALL_DATA)' +else + INSTALL_INFO_DATA='build-aux/cp-ascii' +fi +AC_SUBST([INSTALL_INFO_DATA]) + dnl Don't use GZIP, which is used by gzip for additional parameters. AC_PATH_PROG(GZIP_PROG, gzip) === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2014-01-01 07:43:34 +0000 +++ doc/emacs/ChangeLog 2014-01-01 23:22:18 +0000 @@ -1,3 +1,8 @@ +2014-01-01 Paul Eggert + + Specify info encoding and language (Bug#16292). + * emacs.texi, emacs-xtra.texi: Add @documentlanguage directive. + 2013-12-28 Glenn Morris * trouble.texi (Understanding Bug Reporting): Brevity. === modified file 'doc/emacs/emacs-xtra.texi' --- doc/emacs/emacs-xtra.texi 2014-01-01 08:31:29 +0000 +++ doc/emacs/emacs-xtra.texi 2014-01-01 23:22:18 +0000 @@ -27,6 +27,7 @@ @end copying @documentencoding UTF-8 +@documentlanguage en @dircategory Emacs @direntry === modified file 'doc/emacs/emacs.texi' --- doc/emacs/emacs.texi 2014-01-01 08:31:29 +0000 +++ doc/emacs/emacs.texi 2014-01-01 23:22:18 +0000 @@ -45,6 +45,7 @@ @end copying @documentencoding UTF-8 +@documentlanguage en @dircategory Emacs @direntry === modified file 'doc/lispintro/ChangeLog' --- doc/lispintro/ChangeLog 2014-01-01 07:43:34 +0000 +++ doc/lispintro/ChangeLog 2014-01-01 23:22:18 +0000 @@ -1,3 +1,8 @@ +2014-01-01 Paul Eggert + + Specify info encoding and language (Bug#16292). + * emacs-lisp-intro.texi: Add @documentencoding, @documentlanguage. + 2013-12-30 Glenn Morris * emacs-lisp-intro.texi: Use @quotation for license notice. === modified file 'doc/lispintro/emacs-lisp-intro.texi' --- doc/lispintro/emacs-lisp-intro.texi 2014-01-01 08:31:29 +0000 +++ doc/lispintro/emacs-lisp-intro.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,8 @@ @c setfilename emacs-lisp-intro.info @c sethtmlfilename emacs-lisp-intro.html @settitle Programming in Emacs Lisp +@documentencoding UTF-8 +@documentlanguage en @syncodeindex vr cp @syncodeindex fn cp @finalout === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2014-01-01 07:43:34 +0000 +++ doc/lispref/ChangeLog 2014-01-01 23:22:18 +0000 @@ -1,3 +1,9 @@ +2014-01-01 Paul Eggert + + Specify info encoding and language (Bug#16292). + * back.texi, book-spine.texi, elisp.texi, lay-flat.texi: + Add @documentencoding, @documentlanguage as needed. + 2013-12-29 Paul Eggert Plain copy-file no longer chmods an existing destination (Bug#16133). === modified file 'doc/lispref/back.texi' --- doc/lispref/back.texi 2014-01-01 07:43:34 +0000 +++ doc/lispref/back.texi 2014-01-01 23:22:18 +0000 @@ -6,6 +6,8 @@ @c %**start of header @setfilename back-cover @settitle GNU Emacs Lisp Reference Manual +@documentencoding UTF-8 +@documentlanguage en @c %**end of header . @sp 7 === modified file 'doc/lispref/book-spine.texi' --- doc/lispref/book-spine.texi 2013-12-30 17:08:32 +0000 +++ doc/lispref/book-spine.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename book-spine @settitle book-spine +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @include emacsver.texi === modified file 'doc/lispref/elisp.texi' --- doc/lispref/elisp.texi 2014-01-01 08:31:29 +0000 +++ doc/lispref/elisp.texi 2014-01-01 23:22:18 +0000 @@ -116,6 +116,7 @@ @end copying @documentencoding UTF-8 +@documentlanguage en @dircategory Emacs lisp @direntry === modified file 'doc/lispref/lay-flat.texi' --- doc/lispref/lay-flat.texi 2014-01-01 07:43:34 +0000 +++ doc/lispref/lay-flat.texi 2014-01-01 23:22:18 +0000 @@ -7,6 +7,8 @@ @setfilename inner-covers.info @settitle Inner Covers @smallbook +@documentencoding UTF-8 +@documentlanguage en @comment %**end of header @headings off === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2014-01-01 07:43:34 +0000 +++ doc/misc/ChangeLog 2014-01-01 23:22:18 +0000 @@ -1,3 +1,21 @@ +2014-01-01 Paul Eggert + + Specify info encoding and language (Bug#16292). + * ada-mode.texi, auth.texi, autotype.texi, bovine.texi, calc.texi: + * cc-mode.texi, cl.texi, dbus.texi, dired-x.texi, ebrowse.texi: + * ede.texi, ediff.texi, edt.texi, efaq-w32.texi, efaq.texi: + * eieio.texi, emacs-gnutls.texi, emacs-mime.texi, epa.texi, erc.texi: + * ert.texi, eshell.texi, eudc.texi, flymake.texi, forms.texi: + * gnus-coding.texi, gnus-faq.texi, gnus.texi, htmlfontify.texi: + * idlwave.texi, ido.texi, info.texi, mairix-el.texi, message.texi: + * mh-e.texi, newsticker.texi, nxml-mode.texi, octave-mode.texi: + * org.texi, pcl-cvs.texi, pgg.texi, rcirc.texi, reftex.texi: + * remember.texi, sasl.texi, sc.texi, semantic.texi, ses.texi: + * sieve.texi, smtpmail.texi, speedbar.texi, srecode.texi: + * todo-mode.texi, tramp.texi, url.texi, vip.texi, viper.texi: + * widget.texi, wisent.texi, woman.texi: + Add @documentencoding, @documentlanguage as needed. + 2013-12-23 Teodor Zlatanov * emacs-gnutls.texi (Help For Users): Document `gnutls-verify-error'. === modified file 'doc/misc/ada-mode.texi' --- doc/misc/ada-mode.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/ada-mode.texi 2014-01-01 23:22:18 +0000 @@ -1,6 +1,8 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/ada-mode @settitle Ada Mode +@documentencoding UTF-8 +@documentlanguage en @copying Copyright @copyright{} 1999--2014 Free Software Foundation, Inc. === modified file 'doc/misc/auth.texi' --- doc/misc/auth.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/auth.texi 2014-01-01 23:22:18 +0000 @@ -6,6 +6,8 @@ @setfilename ../../info/auth @settitle Emacs auth-source Library @value{VERSION} +@documentencoding UTF-8 +@documentlanguage en @copying This file describes the Emacs auth-source library. === modified file 'doc/misc/autotype.texi' --- doc/misc/autotype.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/autotype.texi 2014-01-01 23:22:18 +0000 @@ -5,6 +5,8 @@ @c @node Autotypist, Picture, Abbrevs, Top @c @chapter Features for Automatic Typing @settitle Features for Automatic Typing +@documentencoding UTF-8 +@documentlanguage en @c @cindex text @c @cindex selfinserting text @c @cindex autotypist === modified file 'doc/misc/bovine.texi' --- doc/misc/bovine.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/bovine.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,8 @@ @set TITLE Bovine parser development @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim @settitle @value{TITLE} +@documentencoding UTF-8 +@documentlanguage en @c ************************************************************************* @c @ Header === modified file 'doc/misc/calc.texi' --- doc/misc/calc.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/calc.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,8 @@ @setfilename ../../info/calc @c [title] @settitle GNU Emacs Calc Manual +@documentencoding UTF-8 +@documentlanguage en @setchapternewpage odd @comment %**end of header (This is for running Texinfo on a region.) === modified file 'doc/misc/cc-mode.texi' --- doc/misc/cc-mode.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/cc-mode.texi 2014-01-01 23:22:18 +0000 @@ -83,6 +83,8 @@ @setfilename ../../info/ccmode @settitle CC Mode Manual +@documentencoding UTF-8 +@documentlanguage en @footnotestyle end @c The following four macros generate the filenames and titles of the === modified file 'doc/misc/cl.texi' --- doc/misc/cl.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/cl.texi 2014-01-01 23:22:18 +0000 @@ -1,6 +1,8 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/cl @settitle Common Lisp Extensions +@documentencoding UTF-8 +@documentlanguage en @include emacsver.texi @copying === modified file 'doc/misc/dbus.texi' --- doc/misc/dbus.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/dbus.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @setfilename ../../info/dbus @c %**start of header @settitle Using of D-Bus +@documentencoding UTF-8 +@documentlanguage en @c @setchapternewpage odd @c %**end of header === modified file 'doc/misc/dired-x.texi' --- doc/misc/dired-x.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/dired-x.texi 2014-01-01 23:22:18 +0000 @@ -9,6 +9,8 @@ @comment %**start of header (This is for running Texinfo on a region.) @setfilename ../../info/dired-x @settitle Dired Extra User's Manual +@documentencoding UTF-8 +@documentlanguage en @include emacsver.texi === modified file 'doc/misc/ebrowse.texi' --- doc/misc/ebrowse.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/ebrowse.texi 2014-01-01 23:22:18 +0000 @@ -3,6 +3,8 @@ @comment %**start of header @setfilename ../../info/ebrowse @settitle A Class Browser for C++ +@documentencoding UTF-8 +@documentlanguage en @setchapternewpage odd @syncodeindex fn cp @comment %**end of header === modified file 'doc/misc/ede.texi' --- doc/misc/ede.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/ede.texi 2014-01-01 23:22:18 +0000 @@ -1,6 +1,8 @@ \input texinfo @setfilename ../../info/ede @settitle Emacs Development Environment +@documentencoding UTF-8 +@documentlanguage en @copying This file describes EDE, the Emacs Development Environment. === modified file 'doc/misc/ediff.texi' --- doc/misc/ediff.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/ediff.texi 2014-01-01 23:22:18 +0000 @@ -10,6 +10,8 @@ @setfilename ../../info/ediff @settitle Ediff User's Manual +@documentencoding UTF-8 +@documentlanguage en @synindex vr cp @synindex fn cp @synindex pg cp === modified file 'doc/misc/edt.texi' --- doc/misc/edt.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/edt.texi 2014-01-01 23:22:18 +0000 @@ -1,6 +1,8 @@ \input texinfo @setfilename ../../info/edt @settitle EDT Emulation for Emacs +@documentencoding UTF-8 +@documentlanguage en @copying This file documents the EDT emulation package for Emacs. === modified file 'doc/misc/efaq-w32.texi' --- doc/misc/efaq-w32.texi 2014-01-01 07:43:34 +0000 +++ doc/misc/efaq-w32.texi 2014-01-01 23:22:18 +0000 @@ -162,7 +162,7 @@ Emacs binaries are distributed as zip files, digitally signed by the developer who built them. Generally most users will want the file @file{emacs-@value{EMACSVER}-bin-i386.zip}, which -contains everything you need to get started. +contains everything you need to get started. @cindex where to get sources @cindex Emacs source code @@ -286,7 +286,7 @@ The command to unpack a source distribution from the command line is: @example -tar xzf emacs-@value{EMACSVER}.tar.gz +tar xzf emacs-@value{EMACSVER}.tar.gz @end example If this does not work with the versions of tar and gzip that you have, @@ -573,9 +573,9 @@ Subject: Re: Re[2]: problem with caps/ctrl swap on NT 4.0 @end ignore @example -It's a binary value that lets you map keystrokes in the low-level keyboard -drivers in NT. As a result you don't have to worry about applications -bypassing mappings that you've done at a higher level (i.e. it just works). +It's a binary value that lets you map keystrokes in the low-level keyboard +drivers in NT. As a result you don't have to worry about applications +bypassing mappings that you've done at a higher level (i.e. it just works). Here's the format of the value: @@ -587,11 +587,11 @@ DWORD: mapping n DWORD: 0x00000000 terminating null DWORD -Each mapping DWORD has two parts: the input scancode, and an output -scancode. To map scancode 0x1d (left control) to scancode 0x3a (caps -lock), you want a value of 0x003a001d. Note that this does not swap the -keys. Using just this mapping value, both the left control and the caps -lock key will behave as caps-lock. To swap, you also need to map 0x3a to +Each mapping DWORD has two parts: the input scancode, and an output +scancode. To map scancode 0x1d (left control) to scancode 0x3a (caps +lock), you want a value of 0x003a001d. Note that this does not swap the +keys. Using just this mapping value, both the left control and the caps +lock key will behave as caps-lock. To swap, you also need to map 0x3a to 0x1d, using 0x001d003a. This registry value is system wide, and can't be made user-specific. It @@ -1426,7 +1426,7 @@ You can start an interactive shell in Emacs by typing @kbd{M-x shell}. Emacs uses the @env{SHELL} environment variable to determine which program to use as the shell. To instruct Emacs to use a non-default -shell, you can either set this environment variable, or customize +shell, you can either set this environment variable, or customize @code{explicit-shell-file-name}. You can also customize @code{shell-file-name} to change the shell that will be used by subprocesses that are started with @code{shell-command} and === modified file 'doc/misc/efaq.texi' --- doc/misc/efaq.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/efaq.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/efaq @settitle GNU Emacs FAQ +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @include emacsver.texi === modified file 'doc/misc/eieio.texi' --- doc/misc/eieio.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/eieio.texi 2014-01-01 23:22:18 +0000 @@ -3,6 +3,8 @@ @set TITLE Enhanced Implementation of Emacs Interpreted Objects @set AUTHOR Eric M. Ludlam @settitle @value{TITLE} +@documentencoding UTF-8 +@documentlanguage en @c ************************************************************************* @c @ Header === modified file 'doc/misc/emacs-gnutls.texi' --- doc/misc/emacs-gnutls.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/emacs-gnutls.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,8 @@ @setfilename ../../info/emacs-gnutls @settitle Emacs GnuTLS Integration @value{VERSION} +@documentencoding UTF-8 +@documentlanguage en @copying This file describes the Emacs GnuTLS integration. === modified file 'doc/misc/emacs-mime.texi' --- doc/misc/emacs-mime.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/emacs-mime.texi 2014-01-01 23:22:18 +0000 @@ -26,8 +26,8 @@ @end quotation @end copying -@c Node ``Interface Functions'' uses non-ASCII characters @documentencoding UTF-8 +@documentlanguage en @dircategory Emacs lisp libraries @direntry === modified file 'doc/misc/epa.texi' --- doc/misc/epa.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/epa.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/epa @settitle EasyPG Assistant User's Manual +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @set VERSION 1.0.0 === modified file 'doc/misc/erc.texi' --- doc/misc/erc.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/erc.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,8 @@ @settitle ERC Manual @syncodeindex fn cp @include emacsver.texi +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/ert.texi' --- doc/misc/ert.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/ert.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/ert @settitle Emacs Lisp Regression Testing +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @dircategory Emacs misc features === modified file 'doc/misc/eshell.texi' --- doc/misc/eshell.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/eshell.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,8 @@ @settitle Eshell: The Emacs Shell @defindex cm @synindex vr fn +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/eudc.texi' --- doc/misc/eudc.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/eudc.texi 2014-01-01 23:22:18 +0000 @@ -3,6 +3,8 @@ @setfilename ../../info/eudc @settitle Emacs Unified Directory Client (EUDC) Manual @afourpaper +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/flymake.texi' --- doc/misc/flymake.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/flymake.texi 2014-01-01 23:22:18 +0000 @@ -5,6 +5,8 @@ @set UPDATED April 2004 @settitle GNU Flymake @value{VERSION} @syncodeindex pg cp +@documentencoding UTF-8 +@documentlanguage en @comment %**end of header @copying === modified file 'doc/misc/forms.texi' --- doc/misc/forms.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/forms.texi 2014-01-01 23:22:18 +0000 @@ -14,6 +14,8 @@ @end iftex @c @smallbook @comment %**end of header (This is for running Texinfo on a region.) +@documentencoding UTF-8 +@documentlanguage en @copying This file documents Forms mode, a form-editing major mode for GNU Emacs. === modified file 'doc/misc/gnus-coding.texi' --- doc/misc/gnus-coding.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/gnus-coding.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @setfilename gnus-coding @settitle Gnus Coding Style and Maintenance Guide +@documentencoding UTF-8 +@documentlanguage en @syncodeindex fn cp @syncodeindex vr cp @syncodeindex pg cp === modified file 'doc/misc/gnus-faq.texi' --- doc/misc/gnus-faq.texi 2014-01-01 07:43:34 +0000 +++ doc/misc/gnus-faq.texi 2014-01-01 23:22:18 +0000 @@ -5,6 +5,8 @@ @c @c @setfilename gnus-faq.info @c @settitle Frequently Asked Questions +@c @documentencoding UTF-8 +@c @documentlanguage en @c %**end of header @c === modified file 'doc/misc/gnus.texi' --- doc/misc/gnus.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/gnus.texi 2014-01-01 23:22:18 +0000 @@ -9,6 +9,7 @@ @syncodeindex pg cp @documentencoding UTF-8 +@documentlanguage en @copying Copyright @copyright{} 1995--2014 Free Software Foundation, Inc. === modified file 'doc/misc/htmlfontify.texi' --- doc/misc/htmlfontify.texi 2014-01-01 07:43:34 +0000 +++ doc/misc/htmlfontify.texi 2014-01-01 23:22:18 +0000 @@ -3,6 +3,8 @@ @setfilename ../../info/htmlfontify @settitle Htmlfontify User Manual @exampleindent 2 +@documentencoding UTF-8 +@documentlanguage en @comment %**end of header @copying === modified file 'doc/misc/idlwave.texi' --- doc/misc/idlwave.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/idlwave.texi 2014-01-01 23:22:18 +0000 @@ -12,6 +12,8 @@ @set DATE April, 2007 @set AUTHOR J.D. Smith & Carsten Dominik @set MAINTAINER J.D. Smith +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @finalout === modified file 'doc/misc/ido.texi' --- doc/misc/ido.texi 2014-01-01 23:13:59 +0000 +++ doc/misc/ido.texi 2014-01-01 23:22:18 +0000 @@ -1,6 +1,8 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/ido @settitle Interactive Do +@documentencoding UTF-8 +@documentlanguage en @include emacsver.texi @copying === modified file 'doc/misc/info.texi' --- doc/misc/info.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/info.texi 2014-01-01 23:22:18 +0000 @@ -8,6 +8,8 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 +@documentlanguage en @comment %**end of header @copying === modified file 'doc/misc/mairix-el.texi' --- doc/misc/mairix-el.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/mairix-el.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,7 @@ @settitle Emacs Interface for Mairix @documentencoding UTF-8 +@documentlanguage en @copying Copyright @copyright{} 2008--2014 Free Software Foundation, Inc. === modified file 'doc/misc/message.texi' --- doc/misc/message.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/message.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,8 @@ @setfilename ../../info/message @settitle Message Manual +@documentencoding UTF-8 +@documentlanguage en @synindex fn cp @synindex vr cp @synindex pg cp === modified file 'doc/misc/mh-e.texi' --- doc/misc/mh-e.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/mh-e.texi 2014-01-01 23:22:18 +0000 @@ -5,6 +5,8 @@ @c %**start of header @setfilename ../../info/mh-e @settitle The MH-E Manual +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @c Version of the software and manual. === modified file 'doc/misc/newsticker.texi' --- doc/misc/newsticker.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/newsticker.texi 2014-01-01 23:22:18 +0000 @@ -7,6 +7,8 @@ @syncodeindex vr cp @syncodeindex fn cp @syncodeindex pg cp +@documentencoding UTF-8 +@documentlanguage en @comment %**end of header @copying === modified file 'doc/misc/nxml-mode.texi' --- doc/misc/nxml-mode.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/nxml-mode.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/nxml-mode @settitle nXML Mode +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/octave-mode.texi' --- doc/misc/octave-mode.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/octave-mode.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/octave-mode @settitle Octave Mode +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/org.texi' --- doc/misc/org.texi 2014-01-01 23:13:59 +0000 +++ doc/misc/org.texi 2014-01-01 23:22:18 +0000 @@ -15,6 +15,8 @@ @set MAINTAINER Carsten Dominik @set MAINTAINEREMAIL @email{carsten at orgmode dot org} @set MAINTAINERCONTACT @uref{mailto:carsten at orgmode dot org,contact the maintainer} +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @finalout === modified file 'doc/misc/pcl-cvs.texi' --- doc/misc/pcl-cvs.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/pcl-cvs.texi 2014-01-01 23:22:18 +0000 @@ -3,6 +3,8 @@ @setfilename ../../info/pcl-cvs @settitle PCL-CVS---Emacs Front-End to CVS @syncodeindex vr fn +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/pgg.texi' --- doc/misc/pgg.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/pgg.texi 2014-01-01 23:22:18 +0000 @@ -7,6 +7,9 @@ @set VERSION 0.1 @settitle PGG @value{VERSION} +@documentencoding UTF-8 +@documentlanguage en + @copying This file describes PGG @value{VERSION}, an Emacs interface to various PGP implementations. === modified file 'doc/misc/rcirc.texi' --- doc/misc/rcirc.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/rcirc.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/rcirc @settitle rcirc Manual +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/reftex.texi' --- doc/misc/reftex.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/reftex.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/reftex @settitle RefTeX User Manual +@documentencoding UTF-8 +@documentlanguage en @synindex ky cp @syncodeindex vr cp @syncodeindex fn cp === modified file 'doc/misc/remember.texi' --- doc/misc/remember.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/remember.texi 2014-01-01 23:22:18 +0000 @@ -3,6 +3,8 @@ @setfilename ../../info/remember @settitle Remember Manual @syncodeindex fn cp +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/sasl.texi' --- doc/misc/sasl.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/sasl.texi 2014-01-01 23:22:18 +0000 @@ -7,6 +7,9 @@ @set VERSION 0.2 @settitle Emacs SASL Library @value{VERSION} +@documentencoding UTF-8 +@documentlanguage en + @copying This file describes the Emacs SASL library, version @value{VERSION}. === modified file 'doc/misc/sc.texi' --- doc/misc/sc.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/sc.texi 2014-01-01 23:22:18 +0000 @@ -3,6 +3,8 @@ @comment %**start of header (This is for running Texinfo on a region.) @setfilename ../../info/sc @settitle Supercite User's Manual +@documentencoding UTF-8 +@documentlanguage en @iftex @finalout @end iftex === modified file 'doc/misc/semantic.texi' --- doc/misc/semantic.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/semantic.texi 2014-01-01 23:22:18 +0000 @@ -3,6 +3,8 @@ @set TITLE Semantic Manual @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim @settitle @value{TITLE} +@documentencoding UTF-8 +@documentlanguage en @c ************************************************************************* @c @ Header === modified file 'doc/misc/ses.texi' --- doc/misc/ses.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/ses.texi 2014-01-01 23:22:18 +0000 @@ -6,6 +6,8 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/sieve.texi' --- doc/misc/sieve.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/sieve.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,8 @@ @setfilename ../../info/sieve @settitle Emacs Sieve Manual +@documentencoding UTF-8 +@documentlanguage en @synindex fn cp @synindex vr cp @synindex pg cp === modified file 'doc/misc/smtpmail.texi' --- doc/misc/smtpmail.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/smtpmail.texi 2014-01-01 23:22:18 +0000 @@ -1,6 +1,8 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/smtpmail @settitle Emacs SMTP Library +@documentencoding UTF-8 +@documentlanguage en @syncodeindex vr fn @copying Copyright @copyright{} 2003--2014 Free Software Foundation, Inc. === modified file 'doc/misc/speedbar.texi' --- doc/misc/speedbar.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/speedbar.texi 2014-01-01 23:22:18 +0000 @@ -1,6 +1,8 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/speedbar @settitle Speedbar: File/Tag summarizing utility +@documentencoding UTF-8 +@documentlanguage en @syncodeindex fn cp @copying === modified file 'doc/misc/srecode.texi' --- doc/misc/srecode.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/srecode.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,8 @@ @set TITLE SRecoder Manual @set AUTHOR Eric M. Ludlam @settitle @value{TITLE} +@documentencoding UTF-8 +@documentlanguage en @c Merge all indexes into a single index for now. @c We can always separate them later into two or more as needed. === modified file 'doc/misc/todo-mode.texi' --- doc/misc/todo-mode.texi 2014-01-01 07:43:34 +0000 +++ doc/misc/todo-mode.texi 2014-01-01 23:22:18 +0000 @@ -5,6 +5,8 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/tramp.texi' --- doc/misc/tramp.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/tramp.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @setfilename ../../info/tramp @c %**start of header @settitle TRAMP User Manual +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @c This is *so* much nicer :) === modified file 'doc/misc/url.texi' --- doc/misc/url.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/url.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,9 @@ @setfilename ../../info/url @settitle URL Programmer's Manual +@documentencoding UTF-8 +@documentlanguage en + @iftex @c @finalout @end iftex === modified file 'doc/misc/vip.texi' --- doc/misc/vip.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/vip.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,9 @@ @setfilename ../../info/vip @settitle VIP +@documentencoding UTF-8 +@documentlanguage en + @copying Copyright @copyright{} 1987, 2001--2014 Free Software Foundation, Inc. === modified file 'doc/misc/viper.texi' --- doc/misc/viper.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/viper.texi 2014-01-01 23:22:18 +0000 @@ -6,6 +6,9 @@ @comment @setfilename viper.info @setfilename ../../info/viper +@documentencoding UTF-8 +@documentlanguage en + @copying Copyright @copyright{} 1995--1997, 2001--2014 Free Software Foundation, Inc. === modified file 'doc/misc/widget.texi' --- doc/misc/widget.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/widget.texi 2014-01-01 23:22:18 +0000 @@ -5,6 +5,8 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/wisent.texi' --- doc/misc/wisent.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/wisent.texi 2014-01-01 23:22:18 +0000 @@ -20,6 +20,8 @@ @c @footnotestyle separate @c @paragraphindent 2 @c @@smallbook +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/woman.texi' --- doc/misc/woman.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/woman.texi 2014-01-01 23:22:18 +0000 @@ -8,6 +8,8 @@ @c Look for @page and @need commands. @setchapternewpage off @paragraphindent 0 +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'etc/ChangeLog' --- etc/ChangeLog 2014-01-01 07:43:34 +0000 +++ etc/ChangeLog 2014-01-02 00:46:55 +0000 @@ -1,3 +1,8 @@ +2014-01-02 Paul Eggert + + Specify info encoding and language (Bug#16292). + * NEWS: Document --with-ascii-info. + 2013-12-29 Paul Eggert Plain copy-file no longer chmods an existing destination (Bug#16133). === modified file 'etc/NEWS' --- etc/NEWS 2014-01-01 07:43:34 +0000 +++ etc/NEWS 2014-01-02 00:46:55 +0000 @@ -38,6 +38,8 @@ and renamed to `--without-compress-install'. It now prevents compression of _any_ files during installation. +** The configure option `--with-ascii-info' installs ASCII-only info files. + ** The configure option `--with-crt-dir' has been removed. It is no longer needed, as the crt*.o files are no longer linked specially. --------------090702010302030607040009-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 01 22:42:37 2014 Received: (at 16292) by debbugs.gnu.org; 2 Jan 2014 03:42:37 +0000 Received: from localhost ([127.0.0.1]:57000 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VyZB6-00021w-Gm for submit@debbugs.gnu.org; Wed, 01 Jan 2014 22:42:36 -0500 Received: from mtaout20.012.net.il ([80.179.55.166]:59327) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VyZB4-00021m-Fg for 16292@debbugs.gnu.org; Wed, 01 Jan 2014 22:42:35 -0500 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MYR004008US6H00@a-mtaout20.012.net.il> for 16292@debbugs.gnu.org; Thu, 02 Jan 2014 05:42:33 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYR003478YXY560@a-mtaout20.012.net.il>; Thu, 02 Jan 2014 05:42:33 +0200 (IST) Date: Thu, 02 Jan 2014 05:42:30 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52C4C95C.2010905@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <837gajyrq1.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Wed, 01 Jan 2014 18:05:16 -0800 > From: Paul Eggert > CC: 16292@debbugs.gnu.org, grfz@gmx.de > > Eli Zaretskii wrote: > > Perhaps a possible solution would be ... > > edit the Info files with Sed to replace Unicode quote > > characters with some ASCII characters. > > Here's a patch that does that. I'm attaching a file > 'info-utf8.diff' that contains this patch combined > with the previous one, for ease of trying it out > against the trunk. Thanks, but this should be the default, or at least should be used when producing the release tarball. From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 01 23:19:40 2014 Received: (at 16292) by debbugs.gnu.org; 2 Jan 2014 04:19:40 +0000 Received: from localhost ([127.0.0.1]:57034 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VyZky-00032m-2b for submit@debbugs.gnu.org; Wed, 01 Jan 2014 23:19:40 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:45941) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VyZkv-00032d-RS for 16292@debbugs.gnu.org; Wed, 01 Jan 2014 23:19:38 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFHO+J7K/2dsb2JhbABEuzWDWRdzgh4BAQQBViMFCws0EhQYDSSIHgbBLZEKA4hhnBmBXoMV X-IPAS-Result: Av8EABK/CFHO+J7K/2dsb2JhbABEuzWDWRdzgh4BAQQBViMFCws0EhQYDSSIHgbBLZEKA4hhnBmBXoMV X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="43741168" Received: from 206-248-158-202.dsl.teksavvy.com (HELO pastel.home) ([206.248.158.202]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 01 Jan 2014 23:19:37 -0500 Received: by pastel.home (Postfix, from userid 20848) id 1EB3360051; Wed, 1 Jan 2014 23:19:37 -0500 (EST) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' Message-ID: References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> Date: Wed, 01 Jan 2014 23:19:37 -0500 In-Reply-To: <83sita1cbw.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 30 Dec 2013 19:24:35 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 16292 Cc: Paul Eggert , grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > Of course, before this commit, we already had such a problem in > several files, which started using UTF-8 encoding since the last > March. But that, too, was never discussed AFAIR, and its effect on > @code, @samp, etc. markup, as well as on ``..'' quoted text, was never > mentioned. (These effects are barely documented in the Texinfo > manual, so it was easy to miss the meaning of those changes. I think it's not just a documentation error. There's no good reason to link the input document encoding to the kind of symbols used in the output. Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 01 23:48:57 2014 Received: (at 16292) by debbugs.gnu.org; 2 Jan 2014 04:48:57 +0000 Received: from localhost ([127.0.0.1]:57085 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VyaDI-0003re-N4 for submit@debbugs.gnu.org; Wed, 01 Jan 2014 23:48:56 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:55752) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VyaDG-0003rV-U9 for 16292@debbugs.gnu.org; Wed, 01 Jan 2014 23:48:55 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id B897C39E80F8; Wed, 1 Jan 2014 20:48:53 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dUC+bBrsay8q; Wed, 1 Jan 2014 20:48:53 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 44EA139E8008; Wed, 1 Jan 2014 20:48:53 -0800 (PST) Message-ID: <52C4EFB1.3080500@cs.ucla.edu> Date: Wed, 01 Jan 2014 20:48:49 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Stefan Monnier , Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.4 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Stefan Monnier wrote: > There's no good reason to link the input document encoding > to the kind of symbols used in the output. I agree. That's another bug report I suppose I should file with bug-texinfo, I suppose. By the way, this isn't something that began with my changes in March, as Eli suggested earlier. Emacs 24.3 shipped with some .info files in UTF-8 and others in Latin-1, which means that in pretty much any locale, standalone 'info' will misbehave on some Emacs info file or another. The problem goes back at least to Emacs 23.1 in 2009 (that's as far back as I cared to check). This latter bug, too, is fixed by the latest proposed patch. From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 01 23:50:21 2014 Received: (at 16292) by debbugs.gnu.org; 2 Jan 2014 04:50:21 +0000 Received: from localhost ([127.0.0.1]:57089 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VyaEe-0003uX-6t for submit@debbugs.gnu.org; Wed, 01 Jan 2014 23:50:20 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:55788) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VyaEb-0003uN-O6 for 16292@debbugs.gnu.org; Wed, 01 Jan 2014 23:50:18 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 499DBA60003; Wed, 1 Jan 2014 20:50:17 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SbMpGjFiyvAC; Wed, 1 Jan 2014 20:50:17 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id E0FD039E8008; Wed, 1 Jan 2014 20:50:16 -0800 (PST) Message-ID: <52C4F008.5060003@cs.ucla.edu> Date: Wed, 01 Jan 2014 20:50:16 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> In-Reply-To: <837gajyrq1.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.4 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Eli Zaretskii wrote: > Thanks, but this should be the default, or at least should be used > when producing the release tarball. No, the point is that the release tarball contains UTF-8 info files, and that these are transformed to ASCII for installations that prefer ASCII info files. cp-ascii's UTF8-to-ASCII transformation loses information; we can't ship ASCII info files in the tarball and then transform those to the UTF-8 originals. An ASCII default would have been better years ago, but these days UTF-8 is the typical default encoding in GNUish distributions and most users will be better off if UTF-8 is the default. From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 02 10:29:05 2014 Received: (at 16292) by debbugs.gnu.org; 2 Jan 2014 15:29:05 +0000 Received: from localhost ([127.0.0.1]:58070 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VykCn-0006Ns-9N for submit@debbugs.gnu.org; Thu, 02 Jan 2014 10:29:05 -0500 Received: from mtaout20.012.net.il ([80.179.55.166]:46723) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VykCl-0006Ng-7X for 16292@debbugs.gnu.org; Thu, 02 Jan 2014 10:29:04 -0500 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MYS00H005KUV300@a-mtaout20.012.net.il> for 16292@debbugs.gnu.org; Thu, 02 Jan 2014 17:28:45 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYS00H8K5NUTW20@a-mtaout20.012.net.il>; Thu, 02 Jan 2014 17:28:42 +0200 (IST) Date: Thu, 02 Jan 2014 17:28:41 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52C4EFB1.3080500@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <831u0qz9li.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C4EFB1.3080500@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: 16292@debbugs.gnu.org, monnier@iro.umontreal.ca, grfz@gmx.de X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Wed, 01 Jan 2014 20:48:49 -0800 > From: Paul Eggert > CC: grfz@gmx.de, 16292@debbugs.gnu.org > > Stefan Monnier wrote: > > > There's no good reason to link the input document encoding > > to the kind of symbols used in the output. > > I agree. That's another bug report I suppose I should file with bug-texinfo, > I suppose. Yes. Although the makeinfo maintainer doesn't seem to share this view. > By the way, this isn't something that began with my changes in March, > as Eli suggested earlier. Emacs 24.3 shipped with some .info files in > UTF-8 and others in Latin-1, which means that in pretty much any locale, > standalone 'info' will misbehave on some Emacs info file or another. > The problem goes back at least to Emacs 23.1 in 2009 (that's as far back > as I cared to check). That's true, but until Texinfo 5 came and changed the effect of @documentencoding, this hardly mattered, as the non-ASCII characters in those few manuals (I found 4) were extremely rare, something like 2 to 5 per manual. The important thing (to me) is to have the markup, quotes, and arrows displayable, because that's the bulk of the manual. From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 02 10:51:59 2014 Received: (at 16292) by debbugs.gnu.org; 2 Jan 2014 15:51:59 +0000 Received: from localhost ([127.0.0.1]:58128 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VykYw-00074p-14 for submit@debbugs.gnu.org; Thu, 02 Jan 2014 10:51:58 -0500 Received: from mtaout20.012.net.il ([80.179.55.166]:52405) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VykYt-00074d-Bj for 16292@debbugs.gnu.org; Thu, 02 Jan 2014 10:51:56 -0500 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MYS00I006P0CH00@a-mtaout20.012.net.il> for 16292@debbugs.gnu.org; Thu, 02 Jan 2014 17:51:54 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYS00INZ6QF6230@a-mtaout20.012.net.il>; Thu, 02 Jan 2014 17:51:52 +0200 (IST) Date: Thu, 02 Jan 2014 17:51:51 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52C4F008.5060003@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert , Stefan Monnier Message-id: <83zjnextyg.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Wed, 01 Jan 2014 20:50:16 -0800 > From: Paul Eggert > CC: 16292@debbugs.gnu.org, grfz@gmx.de > > Eli Zaretskii wrote: > > Thanks, but this should be the default, or at least should be used > > when producing the release tarball. > > No, the point is that the release tarball contains UTF-8 > info files, and that these are transformed to ASCII for installations > that prefer ASCII info files. But does "make install" really cut that? How many end users on a typical Posix platform will build and install their own Emacs? I thought the majority installs from ready-to-run packages nowadays, and in that case "make install" was already run by someone else, with who knows what configure-time options. > cp-ascii's UTF8-to-ASCII transformation loses information; we can't > ship ASCII info files in the tarball and then transform those to the > UTF-8 originals. That's because your Sed script goes too far, IMO: it can be limited to editing only the markup and the => arrows, and leave the other non-ASCII characters intact. Then there will be no information loss, just a different (some will say less pretty) display of that information. > An ASCII default would have been better years ago, but these days > UTF-8 is the typical default encoding in GNUish distributions and > most users will be better off if UTF-8 is the default. I agree, when it comes to non-ASCII text. But I see no reason for such a strong preference when it comes to the Info markup. I find that a purely aesthetic consideration with no real functionality behind it. (It can even hurt: e.g., on one of my machines, the Unicode quotes look pale and not so pretty at all, I guess the font I'm using is not the best one for those characters.) To summarize, I see the following possible ways to solve this issue: 1) Do nothing. This is a temporary measure at best and doesn't make much sense; I mention it here only for completeness. Sooner or later we will have to do something. 2) Use "@documentencoding ISO-8859-1" in any manual that needs to include non-ASCII characters. This is what we did a year ago, although a couple of manuals had utf-8 in them; they can all be converted to use Latin-1. The advantage is that this leaves the markup intact; the disadvantage is that most locales will not display the non-ASCII text correctly these days. 3) Install Paul's script, which will be run at "make install" time, either by default, or given a configure time option. (We could also make this "make install" time option.) If we go this way, I think we should leave Unicode characters that are not Info markup alone, and not edit them. 4) Use --disable-encoding switch to makeinfo, again either by default or given some non-default option. This avoids the need for a separate Sed script, but has a complication: makeinfo 4.13, which I presume is still in use and which we want to support, did not emit the 'coding' cookie when --disable-encoding was specified. OTOH, makeinfo 4.13 didn't emit Unicode quotes when --enable-encoding was specified. So if we go this way, we will need to detect the makeinfo version and use the right switch. 5) Add a feature to info.el that will set up a display table for Info buffers, and use that display table to display quotes and arrows on TTYs that don't support UTF-8. Then Paul's changes to use "@documentencoding utf-8" everywhere can be re-installed with no additional changes. However, unlike all the other alternatives, this one solves the problem only for the Emacs Info reader, and leaves the problem with the stand-alone Info reader to the Texinfo maintainers. If someone has other suggestions, please raise them. Otherwise, I guess it's decision time. From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 02 14:28:38 2014 Received: (at 16292) by debbugs.gnu.org; 2 Jan 2014 19:28:38 +0000 Received: from localhost ([127.0.0.1]:58399 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VynwX-00054Z-0D for submit@debbugs.gnu.org; Thu, 02 Jan 2014 14:28:37 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:57197) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VynwP-00054J-OL for 16292@debbugs.gnu.org; Thu, 02 Jan 2014 14:28:26 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id AE13139E80F8; Thu, 2 Jan 2014 11:28:24 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sfIgJndmiU4C; Thu, 2 Jan 2014 11:28:24 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 0882E39E8008; Thu, 2 Jan 2014 11:28:24 -0800 (PST) Message-ID: <52C5BDD1.2050009@cs.ucla.edu> Date: Thu, 02 Jan 2014 11:28:17 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii , Stefan Monnier Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> In-Reply-To: <83zjnextyg.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.8 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.8 (--) Eli Zaretskii wrote: > I thought the majority installs from ready-to-run packages nowadays, and > in that case "make install" was already run by someone else, with who > knows what configure-time options. Yes, that's right. Since GNU/Linux distributors typically ship UTF-8 locales, the UTF-8 default should work. If any distributors want to cater to users in unibyte locales, they can enable the option to ship ASCIIfied info files in their packages. I think few will, but I've been wrong before.... > it can be limited to editing only the markup and the => arrows, and > leave the other non-ASCII characters intact. Then there will be no > information loss, just a different (some will say less pretty) > display of that information. There would still be information loss; we'll lose the distinction between open and close quote, for example. The calc info file will contain "'f''2'3(x,y,z)'", for example. Sure, a reader can eventually puzzle out which of those apostrophes is meant to be an open single quote, close single quote, and apostrophe (there are some of each), but it's better if the documentation doesn't puzzle the reader. This is the main argument for using directed quotes in the Info files, as I see it. Aesthetics are nice but are secondary. > To summarize, I see the following possible ways to solve this issue: > > 1) Do nothing. This is a temporary measure at best and doesn't make > much sense; I mention it here only for completeness. Sooner or > later we will have to do something. Agreed. > 2) Use "@documentencoding ISO-8859-1" in any manual that needs to > include non-ASCII characters. This is what we did a year ago, > although a couple of manuals had utf-8 in them; they can all be > converted to use Latin-1. The advantage is that this leaves the > markup intact; the disadvantage is that most locales will not > display the non-ASCII text correctly these days. That is a fatal objection nowadays. Another disadvantage is that some manuals contain non-Latin-1 characters. We could rework them ("Latin-1-ify the manuals"), but this is heading in the wrong direction. > 3) Install Paul's script, which will be run at "make install" time, > either by default, or given a configure time option. (We could > also make this "make install" time option.) My latest proposed patch causes this to be both a configure-time option "configure --with-ascii-info" and a make-time option "make INSTALL_INFO_DATA=build-aux/cp-ascii install". So this approach is already implemented. > If we go this way, I think we should leave Unicode characters > that are not Info markup alone, and not edit them. build-aux/cp-ascii cannot reliably distinguish Info-markup Unicode from other Unicode, so I don't see how to implement this precisely. We could implement an approximation, but why bother? The point of cp-ascii is to not put mojibake on unibyte users' screens, so why not fix all the mojibake while we're at it? > 4) Use --disable-encoding switch to makeinfo, again either by > default or given some non-default option. This would lose information in the now-typical case of UTF-8 locales. > 5) Add a feature to info.el that will set up a display table for > Info buffers, and use that display table to display quotes and > arrows on TTYs that don't support UTF-8. Then Paul's changes to > use "@documentencoding utf-8" everywhere can be re-installed with > no additional changes. However, unlike all the other > alternatives, this one solves the problem only for the Emacs Info > reader, and leaves the problem with the stand-alone Info reader > to the Texinfo maintainers. This would be a reasonable thing to do. It can be done independently of (3). Here's another option: 6) install the original patch as-is, i.e., not bother with ASCIIfying the info files at all, and ask people to use UTF-8-aware software to read info files. That would be simpler so I'd prefer it, but as I understand it Eli really dislikes this approach. (3) is an acceptable compromise. I suggest installing (3) now, as it fixes known bugs. We can implement (5) at our leisure. (I say "we" but really mean "not me", as I am no expert at display tables....) From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 02 15:56:55 2014 Received: (at 16292) by debbugs.gnu.org; 2 Jan 2014 20:56:55 +0000 Received: from localhost ([127.0.0.1]:58547 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VypK2-0000Kk-5j for submit@debbugs.gnu.org; Thu, 02 Jan 2014 15:56:54 -0500 Received: from mtaout20.012.net.il ([80.179.55.166]:48725) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VypJz-0000Kb-Nl for 16292@debbugs.gnu.org; Thu, 02 Jan 2014 15:56:53 -0500 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MYS00K00KRTGC00@a-mtaout20.012.net.il> for 16292@debbugs.gnu.org; Thu, 02 Jan 2014 22:56:49 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYS00KQGKUP3A90@a-mtaout20.012.net.il>; Thu, 02 Jan 2014 22:56:49 +0200 (IST) Date: Thu, 02 Jan 2014 22:56:49 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52C5BDD1.2050009@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <83ppoaxfu6.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Thu, 02 Jan 2014 11:28:17 -0800 > From: Paul Eggert > CC: 16292@debbugs.gnu.org, grfz@gmx.de > > > it can be limited to editing only the markup and the => arrows, and > > leave the other non-ASCII characters intact. Then there will be no > > information loss, just a different (some will say less pretty) > > display of that information. > > There would still be information loss; we'll lose the > distinction between open and close quote, for example. The > calc info file will contain "'f''2'3(x,y,z)'", for example. These are very rare (and I would argue will look ugly any way you typeset them). > > If we go this way, I think we should leave Unicode characters > > that are not Info markup alone, and not edit them. > > build-aux/cp-ascii cannot reliably distinguish Info-markup > Unicode from other Unicode, so I don't see how to implement > this precisely. Sorry, I don't see the problem: just don't edit any letters, only edit apostrophes, quotes, and arrows. What am I missing? > The point of cp-ascii is to not put mojibake on unibyte users' > screens, so why not fix all the mojibake while we're at it? To make it more acceptable to UTF-8 locales. If we leave the non-ASCII text alone, we have a higher chance of producing a single format that will be used both in UTF-8 and non-UTF-8 locales. > > 4) Use --disable-encoding switch to makeinfo, again either by > > default or given some non-default option. > > This would lose information in the now-typical case of UTF-8 locales. Again, I don't see why, unless you refer to that example from Calc. Otherwise, the only effect of --disable-encoding in Texinfo 5 is not to produce Unicode characters for quotes and arrows. From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 02 19:44:16 2014 Received: (at 16292) by debbugs.gnu.org; 3 Jan 2014 00:44:16 +0000 Received: from localhost ([127.0.0.1]:58820 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vyss3-0006gz-LJ for submit@debbugs.gnu.org; Thu, 02 Jan 2014 19:44:15 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:43168) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vyss1-0006gr-6M for 16292@debbugs.gnu.org; Thu, 02 Jan 2014 19:44:13 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 2F30CA60008; Thu, 2 Jan 2014 16:44:12 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pJl9CtYqQR-b; Thu, 2 Jan 2014 16:44:11 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 5156CA60003; Thu, 2 Jan 2014 16:44:11 -0800 (PST) Message-ID: <52C607DA.3090009@cs.ucla.edu> Date: Thu, 02 Jan 2014 16:44:10 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> In-Reply-To: <83ppoaxfu6.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -2.8 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.8 (--) Eli Zaretskii wrote: > These are very rare (and I would argue will look ugly any > way you typeset them). They're not that rare: for example, I count 949 info lines containing both straight and the curly apostrophes, with many opportunities for confusion. ‘C-x '’ may look ugly on some displays, but it's typically legible, and it's definitely easier to grok than 'C-x ''. The primary goal here is conveying information, not beauty. > I don't see the problem: just don't edit any letters, only edit > apostrophes, quotes, and arrows. What am I missing? Info generates lots of special characters like that, in response to ASCII markup. From the unibyte reader's point of view, why should the output of "``", "@quoteleft{}", "@expansion{}", "@result{}", etc. be converted from mojibake to ASCII, while the output of "--", "@bullet{}", "@minus{}", "@equiv{}", "@~n", etc. remains mojibake? I don't see any systematic principle to distinguish between the two sets of characters. >> The point of cp-ascii is to not put mojibake on unibyte users' >> screens, so why not fix all the mojibake while we're at it? > > To make it more acceptable to UTF-8 locales. UTF-8 locales work just fine (actually, better) with the original UTF-8 characters, so it's not a priority for cp-ascii's output to be more acceptable to UTF-8 locales. It's fine if cp-ascii's output is just as acceptable for UTF-8 locales as it is for ASCII locales. From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 03 03:03:17 2014 Received: (at 16292) by debbugs.gnu.org; 3 Jan 2014 08:03:18 +0000 Received: from localhost ([127.0.0.1]:59141 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vyziu-0002fF-1O for submit@debbugs.gnu.org; Fri, 03 Jan 2014 03:03:16 -0500 Received: from mtaout23.012.net.il ([80.179.55.175]:42064) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vyziq-0002f5-7M for 16292@debbugs.gnu.org; Fri, 03 Jan 2014 03:03:14 -0500 Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0MYT00B00FM87O00@a-mtaout23.012.net.il> for 16292@debbugs.gnu.org; Fri, 03 Jan 2014 10:03:10 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYT00BAFFPA6530@a-mtaout23.012.net.il>; Fri, 03 Jan 2014 10:03:10 +0200 (IST) Date: Fri, 03 Jan 2014 10:03:11 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52C607DA.3090009@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <83fvp5xzk0.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Thu, 02 Jan 2014 16:44:10 -0800 > From: Paul Eggert > CC: monnier@iro.umontreal.ca, 16292@debbugs.gnu.org, grfz@gmx.de > > Eli Zaretskii wrote: > > These are very rare (and I would argue will look ugly any > > way you typeset them). > > They're not that rare: for example, I count 949 info lines > containing both straight and the curly apostrophes, with > many opportunities for confusion. That's rare in my book: just the 2 Emacs manuals weigh in at 124800 lines. > ‘C-x '’ may look ugly on some displays, but it's typically legible, > and it's definitely easier to grok than 'C-x ''. We've been living with `C-x'' forever, so I don't see a serious problem here. And if we really care, we can customize OPEN_QUOTE_SYMBOL in Texinfo 5. > > I don't see the problem: just don't edit any letters, only edit > > apostrophes, quotes, and arrows. What am I missing? > > Info generates lots of special characters like that, in > response to ASCII markup. From the unibyte reader's point > of view, why should the output of "``", "@quoteleft{}", > "@expansion{}", "@result{}", etc. be converted from mojibake > to ASCII, while the output of "--", "@bullet{}", "@minus{}", > "@equiv{}", "@~n", etc. remains mojibake? I don't see any > systematic principle to distinguish between the two sets of > characters. The systematic principle I propose is to convert everything except letters, i.e. only punctuation and special characters. > >> The point of cp-ascii is to not put mojibake on unibyte users' > >> screens, so why not fix all the mojibake while we're at it? > > > > To make it more acceptable to UTF-8 locales. > > UTF-8 locales work just fine (actually, better) with the > original UTF-8 characters, so it's not a priority for > cp-ascii's output to be more acceptable to UTF-8 locales. It would be a priority if we decide to make that cp-ascii'd output the default. From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 03 12:26:39 2014 Received: (at 16292) by debbugs.gnu.org; 3 Jan 2014 17:26:39 +0000 Received: from localhost ([127.0.0.1]:60247 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vz8W6-0003wE-4N for submit@debbugs.gnu.org; Fri, 03 Jan 2014 12:26:38 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:45810) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vz8W3-0003w4-06 for 16292@debbugs.gnu.org; Fri, 03 Jan 2014 12:26:36 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id EC91239E80F8; Fri, 3 Jan 2014 09:26:33 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id etpKcNKilJ49; Fri, 3 Jan 2014 09:26:33 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 6291039E8008; Fri, 3 Jan 2014 09:26:33 -0800 (PST) Message-ID: <52C6F2C5.10505@cs.ucla.edu> Date: Fri, 03 Jan 2014 09:26:29 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> In-Reply-To: <83fvp5xzk0.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -2.9 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.9 (--) Eli Zaretskii wrote: >>> These are very rare (and I would argue will look ugly any >>> way you typeset them). >> >> They're not that rare: for example, I count 949 info lines >> containing both straight and the curly apostrophes, with >> many opportunities for confusion. > > That's rare in my book Well, at least I appreciate the promotion from "very rare" to "rare". :-) It's still too common for comfort. > We've been living with `C-x '' forever But we're migrating away from it, which is partly what prompted this discussion. The question now is whether to prefer ‘C-x '’ or 'C-x ''. Of the three notations, ‘C-x '’ is the least confusing, and 'C-x '' the most. > And if we really care, we can customize > OPEN_QUOTE_SYMBOL in Texinfo 5. We should not really care about it. The Texinfo defaults are OK. > The systematic principle I propose is to convert everything except > letters, i.e. only punctuation and special characters. From the viewpoint of the unibyte reader that's just weird. Why should "ß" be converted to mojibake (destroying the point of a code example) while "•" is converted to "*" (a mere formatting nicety)? To be honest, though, I think the whole idea of converting is wrong, and as long as it's not the default I don't really care. If people complain about the conversion I'll just say "don't do the conversion". (Or send them to you. :-) > It would be a priority if we decide to make that cp-ascii'd output the > default. That's not likely. The general consensus seems to be that Emacs should just use whatever Texinfo produces by default. The proper place to reargue what Texinfo does should be in the Texinfo forums. Even cp-ascii goes too far, in my opinion; I think we should just switch to UTF-8 and be done with it. But I'm willing to go along with cp-ascii as a compromise, so long as it's not the default. If this turns into a problem in practice, and Emacs builders and/or distributors enable the cp-ascii option more often than not, we can change the default to use cp-ascii, and use this as good evidence to argue for a change to 'makeinfo'. (This is an unlikely scenario in my view.) From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 03 15:18:50 2014 Received: (at 16292) by debbugs.gnu.org; 3 Jan 2014 20:18:50 +0000 Received: from localhost ([127.0.0.1]:60458 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzBCk-0000FG-6b for submit@debbugs.gnu.org; Fri, 03 Jan 2014 15:18:50 -0500 Received: from mtaout20.012.net.il ([80.179.55.166]:55377) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzBCh-0000F4-Nc for 16292@debbugs.gnu.org; Fri, 03 Jan 2014 15:18:49 -0500 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MYU00700DNX0Y00@a-mtaout20.012.net.il> for 16292@debbugs.gnu.org; Fri, 03 Jan 2014 22:18:46 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYU006YMDR9YF20@a-mtaout20.012.net.il>; Fri, 03 Jan 2014 22:18:46 +0200 (IST) Date: Fri, 03 Jan 2014 22:18:38 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52C6F2C5.10505@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <83mwjcx1i9.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Fri, 03 Jan 2014 09:26:29 -0800 > From: Paul Eggert > CC: monnier@iro.umontreal.ca, 16292@debbugs.gnu.org, grfz@gmx.de > > > The systematic principle I propose is to convert everything except > > letters, i.e. only punctuation and special characters. > > From the viewpoint of the unibyte reader that's just weird. > Why should "ß" be converted to mojibake (destroying the point > of a code example) while "•" is converted to "*" > (a mere formatting nicety)? Because the former are rare in an otherwise English manual, and are mostly in people's names, not in the stuff the manual tries to describe. By contrast, the latter are many and directly affect the readability of the manual. > > It would be a priority if we decide to make that cp-ascii'd output the > > default. > > That's not likely. The general consensus seems to be that > Emacs should just use whatever Texinfo produces by default. We didn't hear from Stefan yet. This isn't a democracy. From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 03 15:48:59 2014 Received: (at 16292) by debbugs.gnu.org; 3 Jan 2014 20:48:59 +0000 Received: from localhost ([127.0.0.1]:60487 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzBfu-00016F-NG for submit@debbugs.gnu.org; Fri, 03 Jan 2014 15:48:59 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:57568) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzBfs-000167-SG for 16292@debbugs.gnu.org; Fri, 03 Jan 2014 15:48:57 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id DF91039E810A; Fri, 3 Jan 2014 12:48:55 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oNNdjtRoDUBq; Fri, 3 Jan 2014 12:48:55 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id E5E4039E8008; Fri, 3 Jan 2014 12:48:54 -0800 (PST) Message-ID: <52C72232.2000505@cs.ucla.edu> Date: Fri, 03 Jan 2014 12:48:50 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> In-Reply-To: <83mwjcx1i9.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -2.9 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.9 (--) > We didn't hear from Stefan yet. This isn't a democracy. I expect Stefan is tired of the whole topic. I know I am. Stefan's initial comment was "I'd much rather change Texinfo to default to utf-8" -- a sentiment I agree with, though that'll require changes to Texinfo. This suggests a preference for UTF-8 encoded .texi files, though not necessarily for UTF-8 encoded .info files. Glenn and I have both expressed a preference for letting makeinfo do its thing rather than try to second-guess it. The only way that can be done with existing tools and UTF-8 .texi files (without introducing some errors in the output) is to specify @documentencoding UTF-8. >> Date: Fri, 03 Jan 2014 09:26:29 -0800 >> From: Paul Eggert >> Why should "ß" be converted to mojibake (destroying the point >> of a code example) while "•" is converted to "*" >> (a mere formatting nicety)? > > Because the former are rare in an otherwise English manual, and are > mostly in people's names, not in the stuff the manual tries to > describe. But they do exist outside of people's names, and in those cases turning them to mojibake can make the content undecipherable. Conversely, some of the symbols (such as "•") are relatively rare, and transliterating them to mojibake typically doesn't hurt the content; after all, the main role of "•" is to be a blotch at the start of a bullet point, and pretty much any consistent blotch will do. I still think it's Really Weird to transliterate some characters to unibyte but not others, if the goal is to support unibyte environments. From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 03 16:12:57 2014 Received: (at 16292) by debbugs.gnu.org; 3 Jan 2014 21:12:57 +0000 Received: from localhost ([127.0.0.1]:60522 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzC36-0001mV-OF for submit@debbugs.gnu.org; Fri, 03 Jan 2014 16:12:57 -0500 Received: from mtaout21.012.net.il ([80.179.55.169]:48576) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzC33-0001mI-Q0 for 16292@debbugs.gnu.org; Fri, 03 Jan 2014 16:12:55 -0500 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0MYU00G00G5UQQ00@a-mtaout21.012.net.il> for 16292@debbugs.gnu.org; Fri, 03 Jan 2014 23:12:52 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYU00GFRG9FLT90@a-mtaout21.012.net.il>; Fri, 03 Jan 2014 23:12:52 +0200 (IST) Date: Fri, 03 Jan 2014 23:12:43 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52C72232.2000505@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <83fvp4wz04.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C72232.2000505@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Fri, 03 Jan 2014 12:48:50 -0800 > From: Paul Eggert > CC: monnier@iro.umontreal.ca, 16292@debbugs.gnu.org, grfz@gmx.de > > > We didn't hear from Stefan yet. This isn't a democracy. > > I expect Stefan is tired of the whole topic. It's his call. > I know I am. Then give up ;-) From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 03 16:52:05 2014 Received: (at 16292) by debbugs.gnu.org; 3 Jan 2014 21:52:06 +0000 Received: from localhost ([127.0.0.1]:60577 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzCez-0002xB-JS for submit@debbugs.gnu.org; Fri, 03 Jan 2014 16:52:05 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:3549) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzCew-0002x1-TN for 16292@debbugs.gnu.org; Fri, 03 Jan 2014 16:52:03 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgEFABK/CFG4rwsm/2dsb2JhbABEhke0boNZF3OCHgEBBAEjMyMQCxoCGA4CAhQYDSSIHgauX5JOgSOOVIETA4hhnBmBXoMV X-IPAS-Result: AgEFABK/CFG4rwsm/2dsb2JhbABEhke0boNZF3OCHgEBBAEjMyMQCxoCGA4CAhQYDSSIHgauX5JOgSOOVIETA4hhnBmBXoMV X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="43917150" Received: from 184-175-11-38.dsl.teksavvy.com (HELO pastel.home) ([184.175.11.38]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 03 Jan 2014 16:52:01 -0500 Received: by pastel.home (Postfix, from userid 20848) id C2BFA6013A; Fri, 3 Jan 2014 16:52:01 -0500 (EST) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' Message-ID: References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> Date: Fri, 03 Jan 2014 16:52:01 -0500 In-Reply-To: <83mwjcx1i9.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 03 Jan 2014 22:18:38 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 16292 Cc: Paul Eggert , grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) >> That's not likely. The general consensus seems to be that >> Emacs should just use whatever Texinfo produces by default. > We didn't hear from Stefan yet. This isn't a democracy. I'm not sure I understand all of the things discussed. My position is as follows: - I'd rather use Texinfo defaults, of course, to the extent that they work OK for Emacs. - We should feel free to use Unicode chars (in utf-8 encoding) in .texi fil= es (and utf-8 should be the default encoding, so there's no need to specify it explicitly in the file). - Those Unicode chars should be preserved in the .info files (i.e. Info files should also use utf-8). - The chars introduced by "makeinfo" itself should stick to ASCII for now by default. I think we're pretty close to the point where =E2=80=98 = and =E2=80=99 can be assumed to work "everywhere", but we're not quite there yet. But I'd hope that Debian builds would not follow that default and would tell make info to use things like =E2=80=98 and =E2=80=99 since the= se chars should pretty much always work in a Debian system. Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 03 19:07:46 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 00:07:46 +0000 Received: from localhost ([127.0.0.1]:60771 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzEmG-0007v7-2O for submit@debbugs.gnu.org; Fri, 03 Jan 2014 19:07:46 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:39085) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzEmA-0007ut-PD for 16292@debbugs.gnu.org; Fri, 03 Jan 2014 19:07:43 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 7BF1539E8116; Fri, 3 Jan 2014 16:07:37 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id t6D9wJifjioQ; Fri, 3 Jan 2014 16:07:34 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 2726439E810E; Fri, 3 Jan 2014 16:07:34 -0800 (PST) Message-ID: <52C750C4.6040006@cs.ucla.edu> Date: Fri, 03 Jan 2014 16:07:32 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Stefan Monnier , Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> In-Reply-To: Content-Type: multipart/mixed; boundary="------------040609070100000608040207" X-Spam-Score: -1.1 (-) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.1 (-) This is a multi-part message in MIME format. --------------040609070100000608040207 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Stefan Monnier wrote: > I think we're pretty close to the point where ‘ and ’ > can be assumed to work "everywhere", but we're not quite there yet. > But I'd hope that Debian builds would not follow that default and > would tell make info to use things like ‘ and ’ since these chars > should pretty much always work in a Debian system. OK, attached is a patch to implement that suggestion, with the proviso that the default is to use curly quotes on Debian-like systems where UTF-8 support seems ubiquitous, and to use ASCII quotes elsewhere. This should simplify configuration on Debianish systems. The 'locale' command is used to check for UTF-8 support in English. This feels like a new feature, so I'm somewhat inclined to leave this stuff alone in the trunk until after the feature freeze is over. --------------040609070100000608040207 Content-Type: text/x-patch; name="info-utf8.diff" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="info-utf8.diff" === modified file 'ChangeLog' --- ChangeLog 2014-01-03 01:59:58 +0000 +++ ChangeLog 2014-01-03 23:48:01 +0000 @@ -1,5 +1,13 @@ 2014-01-03 Paul Eggert + Specify info encoding and language (Bug#16292). + * build-aux/uncurl-info: New file. + * configure.ac: New option --with-curly-info, which configures + INSTALL_INFO_DATA. + * Makefile.in (INSTALL_INFO_DATA): New macro. + (install-info): Use it. + * INSTALL: Document --with-curly-info. + Merge from gnulib, incorporating: 2014-01-02 manywarnings: remove -Wmudflap This ports better to GCC 4.9-to-be. === modified file 'INSTALL' --- INSTALL 2014-01-01 07:43:34 +0000 +++ INSTALL 2014-01-03 23:48:01 +0000 @@ -327,6 +327,15 @@ even on hosts where a narrower type would do. With this option, on a typical 32-bit host, Emacs integers have 62 bits instead of 30. +Use --with-curly-info to install Info files that use UTF-8 characters +for curly quote marks and other special markup characters, and +--without-curly-info to install Info files with ASCII markup instead. +Installed Info files will contain some UTF-8 characters regardless of +whether this option is used, so UTF-8 locales are recommended for +reading documentation regardless. The default is --with-curly-info on +platforms where UTF-8 seems to be ubiquitous, and --without-curly-info +otherwise. + Use --enable-gcc-warnings to enable compile-time checks that warn about possibly-questionable C code. This is intended for developers and is useful with GNU-compatible compilers. On a recent GNU system === modified file 'Makefile.in' --- Makefile.in 2014-01-01 07:43:34 +0000 +++ Makefile.in 2014-01-02 00:46:55 +0000 @@ -255,6 +255,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_INFO = @INSTALL_INFO@ +INSTALL_INFO_DATA = @INSTALL_INFO_DATA@ # By default, we uphold the dignity of our programs. INSTALL_STRIP = MKDIR_P = @MKDIR_P@ @@ -663,7 +664,8 @@ test "$(HAVE_MAKEINFO)" = "no" && test ! -f $$elt && continue; \ for f in `ls $$elt $$elt-[1-9] $$elt-[1-9][0-9] 2>/dev/null`; do \ (cd "$${thisdir}"; \ - ${INSTALL_DATA} ${srcdir}/info/$$f "$(DESTDIR)${infodir}/$$f"); \ + ${INSTALL_INFO_DATA} ${srcdir}/info/$$f \ + "$(DESTDIR)${infodir}/$$f"); \ [ -n "${GZIP_PROG}" ] || continue ; \ rm -f "$(DESTDIR)${infodir}/$$f.gz"; \ ${GZIP_PROG} -9n "$(DESTDIR)${infodir}/$$f"; \ === added file 'build-aux/uncurl-info' --- build-aux/uncurl-info 1970-01-01 00:00:00 +0000 +++ build-aux/uncurl-info 2014-01-03 23:48:01 +0000 @@ -0,0 +1,61 @@ +#! /bin/sh +# Copy an info file, but replace curly quotes etc. with ASCII markup + +# Copyright 2014 Free Software Foundation, Inc. + +# This file is part of GNU Emacs. + +# GNU Emacs is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# GNU Emacs is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with GNU Emacs. If not, see . + +# written by Paul Eggert + +# We're pretty close where UTF-8 characters can be assumed to work +# everywhere, but as of 2014 we're not quite there yet. For now, this +# command works around some of the problem by replacing most UTF-8 +# characters in typical info files with ASCII approximations. + +# The input should be UTF-8. The UTF-8 output is designed for an info +# file in an environment that either groks UTF-8, or which mishandles +# UTF-8 but which works with ASCII or near-ASCII and can tolerate some +# mojibake. Some information may be lost in the process, and the +# number of characters and/or bytes may change. Only non-ASCII +# symbols generated by 'makeinfo' are transliterated. Other non-ASCII +# characters (which presumably came from the Info file itself) are +# left alone; these will work properly in UTF-8 locales and will +# probably be mojibake in non-UTF-8 locales. + +LC_ALL=C +export LC_ALL + +source=${1?} +dest=${2?} + +sed <"$source" >"$dest" ' + s/©/(C)/g + s/–/-/g + s/—/--/g + s/‘/'\''/g + s/’/'\''/g + s/“/"/g + s/”/"/g + s/•/*/g + s/…/.../g + s/→/->/g + s/↦/|->/g + s/⇒/=>/g + s/−/-/g + s/≡/==/g + s/⊣/-|/g + s/★/*/g +' === modified file 'configure.ac' --- configure.ac 2014-01-01 08:31:29 +0000 +++ configure.ac 2014-01-03 23:48:01 +0000 @@ -300,6 +300,17 @@ [don't compress some files (.el, .info, etc.) when installing. Equivalent to: make GZIP_PROG= install]) +AC_ARG_WITH([curly-info], + [AS_HELP_STRING([--with-curly-info], + [install info files that use curly quotes])], + [], + [[case `(locale -a) 2>/dev/null` in + en*.[Uu][Tt][Ff]-8 | en*.[Uu][Tt][Ff]8) + with_curly_info=$with_features ;; + *) + with_curly_info=no ;; + esac]]) + AC_ARG_WITH([pkg-config-prog],dnl [AS_HELP_STRING([--with-pkg-config-prog=FILENAME], [file name of pkg-config for finding GTK and librsvg])]) @@ -973,6 +984,14 @@ AC_PATH_PROG(INSTALL_INFO, install-info, :, $PATH$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR/sbin) + +if test "$with_curly_info" = yes; then + INSTALL_INFO_DATA='$(INSTALL_DATA)' +else + INSTALL_INFO_DATA='build-aux/uncurl-info' +fi +AC_SUBST([INSTALL_INFO_DATA]) + dnl Don't use GZIP, which is used by gzip for additional parameters. AC_PATH_PROG(GZIP_PROG, gzip) === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2014-01-01 07:43:34 +0000 +++ doc/emacs/ChangeLog 2014-01-03 08:53:55 +0000 @@ -1,3 +1,8 @@ +2014-01-03 Paul Eggert + + Specify info encoding and language (Bug#16292). + * emacs.texi, emacs-xtra.texi: Add @documentlanguage directive. + 2013-12-28 Glenn Morris * trouble.texi (Understanding Bug Reporting): Brevity. === modified file 'doc/emacs/emacs-xtra.texi' --- doc/emacs/emacs-xtra.texi 2014-01-01 08:31:29 +0000 +++ doc/emacs/emacs-xtra.texi 2014-01-01 23:22:18 +0000 @@ -27,6 +27,7 @@ @end copying @documentencoding UTF-8 +@documentlanguage en @dircategory Emacs @direntry === modified file 'doc/emacs/emacs.texi' --- doc/emacs/emacs.texi 2014-01-01 08:31:29 +0000 +++ doc/emacs/emacs.texi 2014-01-01 23:22:18 +0000 @@ -45,6 +45,7 @@ @end copying @documentencoding UTF-8 +@documentlanguage en @dircategory Emacs @direntry === modified file 'doc/lispintro/ChangeLog' --- doc/lispintro/ChangeLog 2014-01-01 07:43:34 +0000 +++ doc/lispintro/ChangeLog 2014-01-03 08:53:55 +0000 @@ -1,3 +1,8 @@ +2014-01-03 Paul Eggert + + Specify info encoding and language (Bug#16292). + * emacs-lisp-intro.texi: Add @documentencoding, @documentlanguage. + 2013-12-30 Glenn Morris * emacs-lisp-intro.texi: Use @quotation for license notice. === modified file 'doc/lispintro/emacs-lisp-intro.texi' --- doc/lispintro/emacs-lisp-intro.texi 2014-01-01 08:31:29 +0000 +++ doc/lispintro/emacs-lisp-intro.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,8 @@ @c setfilename emacs-lisp-intro.info @c sethtmlfilename emacs-lisp-intro.html @settitle Programming in Emacs Lisp +@documentencoding UTF-8 +@documentlanguage en @syncodeindex vr cp @syncodeindex fn cp @finalout === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2014-01-03 05:49:06 +0000 +++ doc/lispref/ChangeLog 2014-01-03 08:51:50 +0000 @@ -1,3 +1,9 @@ +2014-01-03 Paul Eggert + + Specify info encoding and language (Bug#16292). + * back.texi, book-spine.texi, elisp.texi, lay-flat.texi: + Add @documentencoding, @documentlanguage as needed. + 2014-01-03 Chong Yidong * help.texi (Documentation, Accessing Documentation): Copyedits. === modified file 'doc/lispref/back.texi' --- doc/lispref/back.texi 2014-01-01 07:43:34 +0000 +++ doc/lispref/back.texi 2014-01-01 23:22:18 +0000 @@ -6,6 +6,8 @@ @c %**start of header @setfilename back-cover @settitle GNU Emacs Lisp Reference Manual +@documentencoding UTF-8 +@documentlanguage en @c %**end of header . @sp 7 === modified file 'doc/lispref/book-spine.texi' --- doc/lispref/book-spine.texi 2013-12-30 17:08:32 +0000 +++ doc/lispref/book-spine.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename book-spine @settitle book-spine +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @include emacsver.texi === modified file 'doc/lispref/elisp.texi' --- doc/lispref/elisp.texi 2014-01-01 08:31:29 +0000 +++ doc/lispref/elisp.texi 2014-01-01 23:22:18 +0000 @@ -116,6 +116,7 @@ @end copying @documentencoding UTF-8 +@documentlanguage en @dircategory Emacs lisp @direntry === modified file 'doc/lispref/lay-flat.texi' --- doc/lispref/lay-flat.texi 2014-01-01 07:43:34 +0000 +++ doc/lispref/lay-flat.texi 2014-01-01 23:22:18 +0000 @@ -7,6 +7,8 @@ @setfilename inner-covers.info @settitle Inner Covers @smallbook +@documentencoding UTF-8 +@documentlanguage en @comment %**end of header @headings off === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2014-01-03 23:14:16 +0000 +++ doc/misc/ChangeLog 2014-01-03 23:49:11 +0000 @@ -1,3 +1,21 @@ +2014-01-03 Paul Eggert + + Specify info encoding and language (Bug#16292). + * ada-mode.texi, auth.texi, autotype.texi, bovine.texi, calc.texi: + * cc-mode.texi, cl.texi, dbus.texi, dired-x.texi, ebrowse.texi: + * ede.texi, ediff.texi, edt.texi, efaq-w32.texi, efaq.texi: + * eieio.texi, emacs-gnutls.texi, emacs-mime.texi, epa.texi, erc.texi: + * ert.texi, eshell.texi, eudc.texi, flymake.texi, forms.texi: + * gnus-coding.texi, gnus-faq.texi, gnus.texi, htmlfontify.texi: + * idlwave.texi, ido.texi, info.texi, mairix-el.texi, message.texi: + * mh-e.texi, newsticker.texi, nxml-mode.texi, octave-mode.texi: + * org.texi, pcl-cvs.texi, pgg.texi, rcirc.texi, reftex.texi: + * remember.texi, sasl.texi, sc.texi, semantic.texi, ses.texi: + * sieve.texi, smtpmail.texi, speedbar.texi, srecode.texi: + * todo-mode.texi, tramp.texi, url.texi, vip.texi, viper.texi: + * widget.texi, wisent.texi, woman.texi: + Add @documentencoding, @documentlanguage as needed. + 2014-01-03 Aidan Gauland * eshell.texi (What Eshell is not): Clean up confusing clause. === modified file 'doc/misc/ada-mode.texi' --- doc/misc/ada-mode.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/ada-mode.texi 2014-01-01 23:22:18 +0000 @@ -1,6 +1,8 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/ada-mode @settitle Ada Mode +@documentencoding UTF-8 +@documentlanguage en @copying Copyright @copyright{} 1999--2014 Free Software Foundation, Inc. === modified file 'doc/misc/auth.texi' --- doc/misc/auth.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/auth.texi 2014-01-01 23:22:18 +0000 @@ -6,6 +6,8 @@ @setfilename ../../info/auth @settitle Emacs auth-source Library @value{VERSION} +@documentencoding UTF-8 +@documentlanguage en @copying This file describes the Emacs auth-source library. === modified file 'doc/misc/autotype.texi' --- doc/misc/autotype.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/autotype.texi 2014-01-01 23:22:18 +0000 @@ -5,6 +5,8 @@ @c @node Autotypist, Picture, Abbrevs, Top @c @chapter Features for Automatic Typing @settitle Features for Automatic Typing +@documentencoding UTF-8 +@documentlanguage en @c @cindex text @c @cindex selfinserting text @c @cindex autotypist === modified file 'doc/misc/bovine.texi' --- doc/misc/bovine.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/bovine.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,8 @@ @set TITLE Bovine parser development @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim @settitle @value{TITLE} +@documentencoding UTF-8 +@documentlanguage en @c ************************************************************************* @c @ Header === modified file 'doc/misc/calc.texi' --- doc/misc/calc.texi 2014-01-03 02:53:29 +0000 +++ doc/misc/calc.texi 2014-01-03 08:51:50 +0000 @@ -4,6 +4,8 @@ @setfilename ../../info/calc @c [title] @settitle GNU Emacs Calc Manual +@documentencoding UTF-8 +@documentlanguage en @setchapternewpage odd @comment %**end of header (This is for running Texinfo on a region.) === modified file 'doc/misc/cc-mode.texi' --- doc/misc/cc-mode.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/cc-mode.texi 2014-01-01 23:22:18 +0000 @@ -83,6 +83,8 @@ @setfilename ../../info/ccmode @settitle CC Mode Manual +@documentencoding UTF-8 +@documentlanguage en @footnotestyle end @c The following four macros generate the filenames and titles of the === modified file 'doc/misc/cl.texi' --- doc/misc/cl.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/cl.texi 2014-01-01 23:22:18 +0000 @@ -1,6 +1,8 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/cl @settitle Common Lisp Extensions +@documentencoding UTF-8 +@documentlanguage en @include emacsver.texi @copying === modified file 'doc/misc/dbus.texi' --- doc/misc/dbus.texi 2014-01-03 03:07:20 +0000 +++ doc/misc/dbus.texi 2014-01-03 08:51:50 +0000 @@ -2,6 +2,8 @@ @setfilename ../../info/dbus @c %**start of header @settitle Using of D-Bus +@documentencoding UTF-8 +@documentlanguage en @c @setchapternewpage odd @c %**end of header === modified file 'doc/misc/dired-x.texi' --- doc/misc/dired-x.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/dired-x.texi 2014-01-01 23:22:18 +0000 @@ -9,6 +9,8 @@ @comment %**start of header (This is for running Texinfo on a region.) @setfilename ../../info/dired-x @settitle Dired Extra User's Manual +@documentencoding UTF-8 +@documentlanguage en @include emacsver.texi === modified file 'doc/misc/ebrowse.texi' --- doc/misc/ebrowse.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/ebrowse.texi 2014-01-01 23:22:18 +0000 @@ -3,6 +3,8 @@ @comment %**start of header @setfilename ../../info/ebrowse @settitle A Class Browser for C++ +@documentencoding UTF-8 +@documentlanguage en @setchapternewpage odd @syncodeindex fn cp @comment %**end of header === modified file 'doc/misc/ede.texi' --- doc/misc/ede.texi 2014-01-03 03:13:58 +0000 +++ doc/misc/ede.texi 2014-01-03 08:51:50 +0000 @@ -1,6 +1,8 @@ \input texinfo @setfilename ../../info/ede @settitle Emacs Development Environment +@documentencoding UTF-8 +@documentlanguage en @copying This file describes EDE, the Emacs Development Environment. === modified file 'doc/misc/ediff.texi' --- doc/misc/ediff.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/ediff.texi 2014-01-01 23:22:18 +0000 @@ -10,6 +10,8 @@ @setfilename ../../info/ediff @settitle Ediff User's Manual +@documentencoding UTF-8 +@documentlanguage en @synindex vr cp @synindex fn cp @synindex pg cp === modified file 'doc/misc/edt.texi' --- doc/misc/edt.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/edt.texi 2014-01-01 23:22:18 +0000 @@ -1,6 +1,8 @@ \input texinfo @setfilename ../../info/edt @settitle EDT Emulation for Emacs +@documentencoding UTF-8 +@documentlanguage en @copying This file documents the EDT emulation package for Emacs. === modified file 'doc/misc/efaq-w32.texi' --- doc/misc/efaq-w32.texi 2014-01-03 03:15:01 +0000 +++ doc/misc/efaq-w32.texi 2014-01-03 08:51:50 +0000 @@ -166,7 +166,7 @@ Emacs binaries are distributed as zip files, digitally signed by the developer who built them. Generally most users will want the file @file{emacs-@value{EMACSVER}-bin-i386.zip}, which -contains everything you need to get started. +contains everything you need to get started. @cindex where to get sources @cindex Emacs source code @@ -290,7 +290,7 @@ The command to unpack a source distribution from the command line is: @example -tar xzf emacs-@value{EMACSVER}.tar.gz +tar xzf emacs-@value{EMACSVER}.tar.gz @end example If this does not work with the versions of tar and gzip that you have, @@ -577,9 +577,9 @@ Subject: Re: Re[2]: problem with caps/ctrl swap on NT 4.0 @end ignore @example -It's a binary value that lets you map keystrokes in the low-level keyboard -drivers in NT. As a result you don't have to worry about applications -bypassing mappings that you've done at a higher level (i.e. it just works). +It's a binary value that lets you map keystrokes in the low-level keyboard +drivers in NT. As a result you don't have to worry about applications +bypassing mappings that you've done at a higher level (i.e. it just works). Here's the format of the value: @@ -591,11 +591,11 @@ DWORD: mapping n DWORD: 0x00000000 terminating null DWORD -Each mapping DWORD has two parts: the input scancode, and an output -scancode. To map scancode 0x1d (left control) to scancode 0x3a (caps -lock), you want a value of 0x003a001d. Note that this does not swap the -keys. Using just this mapping value, both the left control and the caps -lock key will behave as caps-lock. To swap, you also need to map 0x3a to +Each mapping DWORD has two parts: the input scancode, and an output +scancode. To map scancode 0x1d (left control) to scancode 0x3a (caps +lock), you want a value of 0x003a001d. Note that this does not swap the +keys. Using just this mapping value, both the left control and the caps +lock key will behave as caps-lock. To swap, you also need to map 0x3a to 0x1d, using 0x001d003a. This registry value is system wide, and can't be made user-specific. It @@ -1430,7 +1430,7 @@ You can start an interactive shell in Emacs by typing @kbd{M-x shell}. Emacs uses the @env{SHELL} environment variable to determine which program to use as the shell. To instruct Emacs to use a non-default -shell, you can either set this environment variable, or customize +shell, you can either set this environment variable, or customize @code{explicit-shell-file-name}. You can also customize @code{shell-file-name} to change the shell that will be used by subprocesses that are started with @code{shell-command} and === modified file 'doc/misc/efaq.texi' --- doc/misc/efaq.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/efaq.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/efaq @settitle GNU Emacs FAQ +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @include emacsver.texi === modified file 'doc/misc/eieio.texi' --- doc/misc/eieio.texi 2014-01-03 03:13:58 +0000 +++ doc/misc/eieio.texi 2014-01-03 08:51:50 +0000 @@ -3,6 +3,8 @@ @set TITLE Enhanced Implementation of Emacs Interpreted Objects @set AUTHOR Eric M. Ludlam @settitle @value{TITLE} +@documentencoding UTF-8 +@documentlanguage en @c ************************************************************************* @c @ Header === modified file 'doc/misc/emacs-gnutls.texi' --- doc/misc/emacs-gnutls.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/emacs-gnutls.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,8 @@ @setfilename ../../info/emacs-gnutls @settitle Emacs GnuTLS Integration @value{VERSION} +@documentencoding UTF-8 +@documentlanguage en @copying This file describes the Emacs GnuTLS integration. === modified file 'doc/misc/emacs-mime.texi' --- doc/misc/emacs-mime.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/emacs-mime.texi 2014-01-01 23:22:18 +0000 @@ -26,8 +26,8 @@ @end quotation @end copying -@c Node ``Interface Functions'' uses non-ASCII characters @documentencoding UTF-8 +@documentlanguage en @dircategory Emacs lisp libraries @direntry === modified file 'doc/misc/epa.texi' --- doc/misc/epa.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/epa.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/epa @settitle EasyPG Assistant User's Manual +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @set VERSION 1.0.0 === modified file 'doc/misc/erc.texi' --- doc/misc/erc.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/erc.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,8 @@ @settitle ERC Manual @syncodeindex fn cp @include emacsver.texi +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/ert.texi' --- doc/misc/ert.texi 2014-01-03 03:00:39 +0000 +++ doc/misc/ert.texi 2014-01-03 08:51:50 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/ert @settitle Emacs Lisp Regression Testing +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @dircategory Emacs misc features === modified file 'doc/misc/eshell.texi' --- doc/misc/eshell.texi 2014-01-03 23:14:16 +0000 +++ doc/misc/eshell.texi 2014-01-03 23:49:11 +0000 @@ -4,6 +4,8 @@ @settitle Eshell: The Emacs Shell @defindex cm @synindex vr fn +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/eudc.texi' --- doc/misc/eudc.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/eudc.texi 2014-01-01 23:22:18 +0000 @@ -3,6 +3,8 @@ @setfilename ../../info/eudc @settitle Emacs Unified Directory Client (EUDC) Manual @afourpaper +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/flymake.texi' --- doc/misc/flymake.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/flymake.texi 2014-01-01 23:22:18 +0000 @@ -5,6 +5,8 @@ @set UPDATED April 2004 @settitle GNU Flymake @value{VERSION} @syncodeindex pg cp +@documentencoding UTF-8 +@documentlanguage en @comment %**end of header @copying === modified file 'doc/misc/forms.texi' --- doc/misc/forms.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/forms.texi 2014-01-01 23:22:18 +0000 @@ -14,6 +14,8 @@ @end iftex @c @smallbook @comment %**end of header (This is for running Texinfo on a region.) +@documentencoding UTF-8 +@documentlanguage en @copying This file documents Forms mode, a form-editing major mode for GNU Emacs. === modified file 'doc/misc/gnus-coding.texi' --- doc/misc/gnus-coding.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/gnus-coding.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @setfilename gnus-coding @settitle Gnus Coding Style and Maintenance Guide +@documentencoding UTF-8 +@documentlanguage en @syncodeindex fn cp @syncodeindex vr cp @syncodeindex pg cp === modified file 'doc/misc/gnus-faq.texi' --- doc/misc/gnus-faq.texi 2014-01-01 07:43:34 +0000 +++ doc/misc/gnus-faq.texi 2014-01-01 23:22:18 +0000 @@ -5,6 +5,8 @@ @c @c @setfilename gnus-faq.info @c @settitle Frequently Asked Questions +@c @documentencoding UTF-8 +@c @documentlanguage en @c %**end of header @c === modified file 'doc/misc/gnus.texi' --- doc/misc/gnus.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/gnus.texi 2014-01-01 23:22:18 +0000 @@ -9,6 +9,7 @@ @syncodeindex pg cp @documentencoding UTF-8 +@documentlanguage en @copying Copyright @copyright{} 1995--2014 Free Software Foundation, Inc. === modified file 'doc/misc/htmlfontify.texi' --- doc/misc/htmlfontify.texi 2014-01-01 07:43:34 +0000 +++ doc/misc/htmlfontify.texi 2014-01-01 23:22:18 +0000 @@ -3,6 +3,8 @@ @setfilename ../../info/htmlfontify @settitle Htmlfontify User Manual @exampleindent 2 +@documentencoding UTF-8 +@documentlanguage en @comment %**end of header @copying === modified file 'doc/misc/idlwave.texi' --- doc/misc/idlwave.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/idlwave.texi 2014-01-01 23:22:18 +0000 @@ -12,6 +12,8 @@ @set DATE April, 2007 @set AUTHOR J.D. Smith & Carsten Dominik @set MAINTAINER J.D. Smith +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @finalout === modified file 'doc/misc/ido.texi' --- doc/misc/ido.texi 2014-01-01 23:13:59 +0000 +++ doc/misc/ido.texi 2014-01-01 23:22:18 +0000 @@ -1,6 +1,8 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/ido @settitle Interactive Do +@documentencoding UTF-8 +@documentlanguage en @include emacsver.texi @copying === modified file 'doc/misc/info.texi' --- doc/misc/info.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/info.texi 2014-01-01 23:22:18 +0000 @@ -8,6 +8,8 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 +@documentlanguage en @comment %**end of header @copying === modified file 'doc/misc/mairix-el.texi' --- doc/misc/mairix-el.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/mairix-el.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,7 @@ @settitle Emacs Interface for Mairix @documentencoding UTF-8 +@documentlanguage en @copying Copyright @copyright{} 2008--2014 Free Software Foundation, Inc. === modified file 'doc/misc/message.texi' --- doc/misc/message.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/message.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,8 @@ @setfilename ../../info/message @settitle Message Manual +@documentencoding UTF-8 +@documentlanguage en @synindex fn cp @synindex vr cp @synindex pg cp === modified file 'doc/misc/mh-e.texi' --- doc/misc/mh-e.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/mh-e.texi 2014-01-01 23:22:18 +0000 @@ -5,6 +5,8 @@ @c %**start of header @setfilename ../../info/mh-e @settitle The MH-E Manual +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @c Version of the software and manual. === modified file 'doc/misc/newsticker.texi' --- doc/misc/newsticker.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/newsticker.texi 2014-01-01 23:22:18 +0000 @@ -7,6 +7,8 @@ @syncodeindex vr cp @syncodeindex fn cp @syncodeindex pg cp +@documentencoding UTF-8 +@documentlanguage en @comment %**end of header @copying === modified file 'doc/misc/nxml-mode.texi' --- doc/misc/nxml-mode.texi 2014-01-03 03:07:20 +0000 +++ doc/misc/nxml-mode.texi 2014-01-03 08:51:50 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/nxml-mode @settitle nXML Mode +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/octave-mode.texi' --- doc/misc/octave-mode.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/octave-mode.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/octave-mode @settitle Octave Mode +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/org.texi' --- doc/misc/org.texi 2014-01-01 23:13:59 +0000 +++ doc/misc/org.texi 2014-01-01 23:22:18 +0000 @@ -15,6 +15,8 @@ @set MAINTAINER Carsten Dominik @set MAINTAINEREMAIL @email{carsten at orgmode dot org} @set MAINTAINERCONTACT @uref{mailto:carsten at orgmode dot org,contact the maintainer} +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @finalout === modified file 'doc/misc/pcl-cvs.texi' --- doc/misc/pcl-cvs.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/pcl-cvs.texi 2014-01-01 23:22:18 +0000 @@ -3,6 +3,8 @@ @setfilename ../../info/pcl-cvs @settitle PCL-CVS---Emacs Front-End to CVS @syncodeindex vr fn +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/pgg.texi' --- doc/misc/pgg.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/pgg.texi 2014-01-01 23:22:18 +0000 @@ -7,6 +7,9 @@ @set VERSION 0.1 @settitle PGG @value{VERSION} +@documentencoding UTF-8 +@documentlanguage en + @copying This file describes PGG @value{VERSION}, an Emacs interface to various PGP implementations. === modified file 'doc/misc/rcirc.texi' --- doc/misc/rcirc.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/rcirc.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/rcirc @settitle rcirc Manual +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/reftex.texi' --- doc/misc/reftex.texi 2014-01-03 03:15:01 +0000 +++ doc/misc/reftex.texi 2014-01-03 08:51:50 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/reftex @settitle RefTeX User Manual +@documentencoding UTF-8 +@documentlanguage en @synindex ky cp @syncodeindex vr cp @syncodeindex fn cp === modified file 'doc/misc/remember.texi' --- doc/misc/remember.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/remember.texi 2014-01-01 23:22:18 +0000 @@ -3,6 +3,8 @@ @setfilename ../../info/remember @settitle Remember Manual @syncodeindex fn cp +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/sasl.texi' --- doc/misc/sasl.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/sasl.texi 2014-01-01 23:22:18 +0000 @@ -7,6 +7,9 @@ @set VERSION 0.2 @settitle Emacs SASL Library @value{VERSION} +@documentencoding UTF-8 +@documentlanguage en + @copying This file describes the Emacs SASL library, version @value{VERSION}. === modified file 'doc/misc/sc.texi' --- doc/misc/sc.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/sc.texi 2014-01-01 23:22:18 +0000 @@ -3,6 +3,8 @@ @comment %**start of header (This is for running Texinfo on a region.) @setfilename ../../info/sc @settitle Supercite User's Manual +@documentencoding UTF-8 +@documentlanguage en @iftex @finalout @end iftex === modified file 'doc/misc/semantic.texi' --- doc/misc/semantic.texi 2014-01-03 03:13:58 +0000 +++ doc/misc/semantic.texi 2014-01-03 08:51:50 +0000 @@ -3,6 +3,8 @@ @set TITLE Semantic Manual @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim @settitle @value{TITLE} +@documentencoding UTF-8 +@documentlanguage en @c ************************************************************************* @c @ Header === modified file 'doc/misc/ses.texi' --- doc/misc/ses.texi 2014-01-03 14:18:24 +0000 +++ doc/misc/ses.texi 2014-01-03 22:24:08 +0000 @@ -6,6 +6,8 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/sieve.texi' --- doc/misc/sieve.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/sieve.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,8 @@ @setfilename ../../info/sieve @settitle Emacs Sieve Manual +@documentencoding UTF-8 +@documentlanguage en @synindex fn cp @synindex vr cp @synindex pg cp === modified file 'doc/misc/smtpmail.texi' --- doc/misc/smtpmail.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/smtpmail.texi 2014-01-01 23:22:18 +0000 @@ -1,6 +1,8 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/smtpmail @settitle Emacs SMTP Library +@documentencoding UTF-8 +@documentlanguage en @syncodeindex vr fn @copying Copyright @copyright{} 2003--2014 Free Software Foundation, Inc. === modified file 'doc/misc/speedbar.texi' --- doc/misc/speedbar.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/speedbar.texi 2014-01-01 23:22:18 +0000 @@ -1,6 +1,8 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/speedbar @settitle Speedbar: File/Tag summarizing utility +@documentencoding UTF-8 +@documentlanguage en @syncodeindex fn cp @copying === modified file 'doc/misc/srecode.texi' --- doc/misc/srecode.texi 2014-01-03 03:13:58 +0000 +++ doc/misc/srecode.texi 2014-01-03 08:51:50 +0000 @@ -4,6 +4,8 @@ @set TITLE SRecoder Manual @set AUTHOR Eric M. Ludlam @settitle @value{TITLE} +@documentencoding UTF-8 +@documentlanguage en @c Merge all indexes into a single index for now. @c We can always separate them later into two or more as needed. === modified file 'doc/misc/todo-mode.texi' --- doc/misc/todo-mode.texi 2014-01-01 07:43:34 +0000 +++ doc/misc/todo-mode.texi 2014-01-01 23:22:18 +0000 @@ -5,6 +5,8 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/tramp.texi' --- doc/misc/tramp.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/tramp.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @setfilename ../../info/tramp @c %**start of header @settitle TRAMP User Manual +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @c This is *so* much nicer :) === modified file 'doc/misc/url.texi' --- doc/misc/url.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/url.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,9 @@ @setfilename ../../info/url @settitle URL Programmer's Manual +@documentencoding UTF-8 +@documentlanguage en + @iftex @c @finalout @end iftex === modified file 'doc/misc/vip.texi' --- doc/misc/vip.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/vip.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,9 @@ @setfilename ../../info/vip @settitle VIP +@documentencoding UTF-8 +@documentlanguage en + @copying Copyright @copyright{} 1987, 2001--2014 Free Software Foundation, Inc. === modified file 'doc/misc/viper.texi' --- doc/misc/viper.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/viper.texi 2014-01-01 23:22:18 +0000 @@ -6,6 +6,9 @@ @comment @setfilename viper.info @setfilename ../../info/viper +@documentencoding UTF-8 +@documentlanguage en + @copying Copyright @copyright{} 1995--1997, 2001--2014 Free Software Foundation, Inc. === modified file 'doc/misc/widget.texi' --- doc/misc/widget.texi 2014-01-03 03:07:20 +0000 +++ doc/misc/widget.texi 2014-01-03 08:51:50 +0000 @@ -5,6 +5,8 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/wisent.texi' --- doc/misc/wisent.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/wisent.texi 2014-01-01 23:22:18 +0000 @@ -20,6 +20,8 @@ @c @footnotestyle separate @c @paragraphindent 2 @c @@smallbook +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/woman.texi' --- doc/misc/woman.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/woman.texi 2014-01-01 23:22:18 +0000 @@ -8,6 +8,8 @@ @c Look for @page and @need commands. @setchapternewpage off @paragraphindent 0 +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'etc/ChangeLog' --- etc/ChangeLog 2014-01-01 07:43:34 +0000 +++ etc/ChangeLog 2014-01-03 23:56:51 +0000 @@ -1,3 +1,8 @@ +2014-01-03 Paul Eggert + + Specify info encoding and language (Bug#16292). + * NEWS: Document --with-curly-info. + 2013-12-29 Paul Eggert Plain copy-file no longer chmods an existing destination (Bug#16133). === modified file 'etc/NEWS' --- etc/NEWS 2014-01-03 05:37:58 +0000 +++ etc/NEWS 2014-01-03 23:56:51 +0000 @@ -38,6 +38,11 @@ and renamed to `--without-compress-install'. It now prevents compression of _any_ files during installation. +** The configure option `--with-curly-info' installs info files that use +UTF-8 characters for curly quote marks and other special markup characters. +The default is --with-curly-info on platforms where UTF-8 seems ubiquitous, +--without-curly-info otherwise. + ** The configure option `--with-crt-dir' has been removed. It is no longer needed, as the crt*.o files are no longer linked specially. --------------040609070100000608040207-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 03 19:40:45 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 00:40:45 +0000 Received: from localhost ([127.0.0.1]:60810 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzFIC-0000LE-U1 for submit@debbugs.gnu.org; Fri, 03 Jan 2014 19:40:45 -0500 Received: from userp1040.oracle.com ([156.151.31.81]:47797) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzFIB-0000L5-CR for 16292@debbugs.gnu.org; Fri, 03 Jan 2014 19:40:43 -0500 Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by userp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id s040eXYN003289 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sat, 4 Jan 2014 00:40:34 GMT Received: from aserz7022.oracle.com (aserz7022.oracle.com [141.146.126.231]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s040eVF5000897 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 4 Jan 2014 00:40:32 GMT Received: from abhmp0012.oracle.com (abhmp0012.oracle.com [141.146.116.18]) by aserz7022.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s040eVC6000493; Sat, 4 Jan 2014 00:40:31 GMT MIME-Version: 1.0 Message-ID: Date: Fri, 3 Jan 2014 16:40:30 -0800 (PST) From: Drew Adams To: Paul Eggert , Stefan Monnier , Eli Zaretskii Subject: RE: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> In-Reply-To: <52C750C4.6040006@cs.ucla.edu> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6680.5000 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Source-IP: acsinet21.oracle.com [141.146.126.237] X-Spam-Score: -2.9 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.9 (--) > This feels like a new feature, so I'm somewhat inclined to leave > this stuff alone in the trunk until after the feature freeze is over. As long as the regression is fixed, that sounds reasonable. IOW, we already had a regression from `...' to '...'. IIUC, Eli reverted that regression, restoring `...'. But if not, then this should be fixed (somehow) before the release. From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 03 19:49:28 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 00:49:28 +0000 Received: from localhost ([127.0.0.1]:60817 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzFQd-0000aP-Ru for submit@debbugs.gnu.org; Fri, 03 Jan 2014 19:49:28 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:40650) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzFQc-0000aI-Fg for 16292@debbugs.gnu.org; Fri, 03 Jan 2014 19:49:26 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id E0ECF39E80F8; Fri, 3 Jan 2014 16:49:25 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RH1IDXgL2mBV; Fri, 3 Jan 2014 16:49:25 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 6032739E8008; Fri, 3 Jan 2014 16:49:25 -0800 (PST) Message-ID: <52C75A95.40707@cs.ucla.edu> Date: Fri, 03 Jan 2014 16:49:25 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Drew Adams , Stefan Monnier , Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.9 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.9 (--) Drew Adams wrote: > As long as the regression is fixed, that sounds reasonable. IOW, > we already had a regression from `...' to '...'. None of my patches, nor Eli's revert, affect whether you get `...' as opposed to '...'. That's a property of Texinfo, not of the Emacs source. If you want `...', you can build with Texinfo 4. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 00:18:19 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 05:18:19 +0000 Received: from localhost ([127.0.0.1]:32832 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzJco-0000iR-Hh for submit@debbugs.gnu.org; Sat, 04 Jan 2014 00:18:18 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:45156) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzJcm-0000iE-Ai for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 00:18:16 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgEFABK/CFG4rwsm/2dsb2JhbABEDoY5tG6DWRdzgh4BAQQBIzMjBQsLGgIYDgICFBgNJIgeBq5fkk6BI45UgRMDiGGcGYFegjlc X-IPAS-Result: AgEFABK/CFG4rwsm/2dsb2JhbABEDoY5tG6DWRdzgh4BAQQBIzMjBQsLGgIYDgICFBgNJIgeBq5fkk6BI45UgRMDiGGcGYFegjlc X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="43949251" Received: from 184-175-11-38.dsl.teksavvy.com (HELO pastel.home) ([184.175.11.38]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 04 Jan 2014 00:18:15 -0500 Received: by pastel.home (Postfix, from userid 20848) id 6005D6063D; Sat, 4 Jan 2014 00:18:15 -0500 (EST) From: Stefan Monnier To: Paul Eggert Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' Message-ID: References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> Date: Sat, 04 Jan 2014 00:18:15 -0500 In-Reply-To: <52C750C4.6040006@cs.ucla.edu> (Paul Eggert's message of "Fri, 03 Jan 2014 16:07:32 -0800") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 16292 Cc: Eli Zaretskii , grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) >> I think we're pretty close to the point where =E2=80=98 and =E2=80=99 >> can be assumed to work "everywhere", but we're not quite there yet. >> But I'd hope that Debian builds would not follow that default and >> would tell make info to use things like =E2=80=98 and =E2=80=99 since th= ese chars >> should pretty much always work in a Debian system. > OK, attached is a patch to implement that suggestion, It doesn't quite follow the suggestion in the part about "so there's no need to specify it explicitly in the file". Isn't there a way other than modifying the file to tell Texinfo that the encoding is utf-8? > with the proviso that the default is to use curly quotes on > Debian-like systems where UTF-8 support seems ubiquitous, and to use > ASCII quotes elsewhere. By "Debian builds" I really meant "builds of Emacs made by the Debian team", not "builds made under Debian". > This should simplify configuration on Debianish systems. The 'locale' > command is used to check for UTF-8 support in English. I'd rather not try to be clever here. E.g. your test will end up using ASCII in non-English locales, even though they're just as likely to properly handle those Unicode chars. Just default to no. > This feels like a new feature, so I'm somewhat inclined to leave this > stuff alone in the trunk until after the feature freeze is over. Agreed. One more thing: the config option might like to use a more generic name like "--with-liberal-use-of-unicode". Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 02:28:04 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 07:28:05 +0000 Received: from localhost ([127.0.0.1]:32924 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzLeN-0004QJ-U8 for submit@debbugs.gnu.org; Sat, 04 Jan 2014 02:28:04 -0500 Received: from mtaout21.012.net.il ([80.179.55.169]:59798) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzLeL-0004Pr-16 for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 02:28:01 -0500 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0MYV00J0087BNK00@a-mtaout21.012.net.il> for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 09:27:59 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYV00JSR8QNMK40@a-mtaout21.012.net.il>; Sat, 04 Jan 2014 09:27:59 +0200 (IST) Date: Sat, 04 Jan 2014 09:27:40 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: X-012-Sender: halo1@inter.net.il To: Drew Adams Message-id: <838uuww6j7.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, 16292@debbugs.gnu.org, monnier@iro.umontreal.ca, grfz@gmx.de X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Fri, 3 Jan 2014 16:40:30 -0800 (PST) > From: Drew Adams > Cc: grfz@gmx.de, 16292@debbugs.gnu.org > > > This feels like a new feature, so I'm somewhat inclined to leave > > this stuff alone in the trunk until after the feature freeze is over. > > As long as the regression is fixed, that sounds reasonable. IOW, > we already had a regression from `...' to '...'. > > IIUC, Eli reverted that regression, restoring `...'. No, I didn't, not if Texinfo 5 is used to prepare the Info files. In that version of Texinfo, the default is '..'. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 02:38:55 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 07:38:55 +0000 Received: from localhost ([127.0.0.1]:32933 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzLos-0004ki-NG for submit@debbugs.gnu.org; Sat, 04 Jan 2014 02:38:55 -0500 Received: from mtaout21.012.net.il ([80.179.55.169]:60202) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzLok-0004kF-1s for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 02:38:47 -0500 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0MYV00J008VWP800@a-mtaout21.012.net.il> for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 09:38:44 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYV00JXP98KRY00@a-mtaout21.012.net.il>; Sat, 04 Jan 2014 09:38:44 +0200 (IST) Date: Sat, 04 Jan 2014 09:38:26 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: X-012-Sender: halo1@inter.net.il To: Stefan Monnier Message-id: <8361q0w619.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Stefan Monnier > Cc: Paul Eggert , 16292@debbugs.gnu.org, grfz@gmx.de > Date: Fri, 03 Jan 2014 16:52:01 -0500 > > My position is as follows: > - I'd rather use Texinfo defaults, of course, to the extent that they > work OK for Emacs. > - We should feel free to use Unicode chars (in utf-8 encoding) in .texi files > (and utf-8 should be the default encoding, so there's no need to > specify it explicitly in the file). > - Those Unicode chars should be preserved in the .info files (i.e. Info > files should also use utf-8). > - The chars introduced by "makeinfo" itself should stick to ASCII for > now by default. I think we're pretty close to the point where ‘ and ’ > can be assumed to work "everywhere", but we're not quite there yet. > But I'd hope that Debian builds would not follow that default and > would tell make info to use things like ‘ and ’ since these chars > should pretty much always work in a Debian system. That's my position as well. I think using --disable-encoding in Texinfo 5 and --enable-encoding in older versions will achieve precisely that. It is also simple and doesn't require any configure-time options. All we need is a simple test in the Makefile of the version of makeinfo being used. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 02:41:56 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 07:41:57 +0000 Received: from localhost ([127.0.0.1]:32938 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzLrn-0004qN-VZ for submit@debbugs.gnu.org; Sat, 04 Jan 2014 02:41:56 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:54952) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzLrl-0004qC-GL for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 02:41:54 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MYV00B0093IXG00@a-mtaout22.012.net.il> for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 09:41:52 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYV00BXV9DSR460@a-mtaout22.012.net.il>; Sat, 04 Jan 2014 09:41:52 +0200 (IST) Date: Sat, 04 Jan 2014 09:41:33 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52C750C4.6040006@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <834n5kw5w2.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Fri, 03 Jan 2014 16:07:32 -0800 > From: Paul Eggert > CC: 16292@debbugs.gnu.org, grfz@gmx.de > > Stefan Monnier wrote: > > > I think we're pretty close to the point where ‘ and ’ > > can be assumed to work "everywhere", but we're not quite there yet. > > But I'd hope that Debian builds would not follow that default and > > would tell make info to use things like ‘ and ’ since these chars > > should pretty much always work in a Debian system. > > OK, attached is a patch to implement that suggestion, with the proviso > that the default is to use curly quotes on Debian-like systems where > UTF-8 support seems ubiquitous, and to use ASCII quotes elsewhere. Thanks. However, I don't like system-specific defaults, and I think a configure-time option to change this is a nuisance. I think we should use --disable-encoding instead, and do it by default. People who want Unicode quotes and other special characters can always override that by specifying non-default MAKEINFO_OPTS at "make info" time. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 02:45:51 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 07:45:51 +0000 Received: from localhost ([127.0.0.1]:32942 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzLvb-0004xS-80 for submit@debbugs.gnu.org; Sat, 04 Jan 2014 02:45:51 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:55671) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzLvY-0004xF-1d for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 02:45:49 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MYV00B009FGYK00@a-mtaout22.012.net.il> for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 09:45:47 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYV00B7B9KAYZ00@a-mtaout22.012.net.il>; Sat, 04 Jan 2014 09:45:46 +0200 (IST) Date: Sat, 04 Jan 2014 09:45:28 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: X-012-Sender: halo1@inter.net.il To: Stefan Monnier Message-id: <8338l4w5pj.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Stefan Monnier > Cc: Eli Zaretskii , 16292@debbugs.gnu.org, grfz@gmx.de > Date: Sat, 04 Jan 2014 00:18:15 -0500 > > Isn't there a way other than modifying the file to tell Texinfo that > the encoding is utf-8? No, not if you want makeinfo to put the 'coding' cookie in the file local variables section of the Info file it produces. @documentencoding is the way. > I'd rather not try to be clever here. E.g. your test will end up using > ASCII in non-English locales, even though they're just as likely to > properly handle those Unicode chars. Just default to no. I agree. And using --disable-encoding is a simpler way of achieving that, as it doesn't need any postprocessing. > > This feels like a new feature, so I'm somewhat inclined to leave this > > stuff alone in the trunk until after the feature freeze is over. > > Agreed. If so, we should at least fix the handful of manuals that already use "@documentencoding utf-8", or use non-ASCII characters without any @documentencoding, thus producing Info files that might display incorrectly in certain locales. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 10:21:29 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 15:21:29 +0000 Received: from localhost ([127.0.0.1]:33912 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzT2W-0001vM-SK for submit@debbugs.gnu.org; Sat, 04 Jan 2014 10:21:29 -0500 Received: from aserp1040.oracle.com ([141.146.126.69]:40866) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzT2T-0001vC-Qk for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 10:21:26 -0500 Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by aserp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id s04FLHvB030714 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sat, 4 Jan 2014 15:21:18 GMT Received: from userz7022.oracle.com (userz7022.oracle.com [156.151.31.86]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s04FLCLF018193 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 4 Jan 2014 15:21:13 GMT Received: from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8]) by userz7022.oracle.com (8.14.5+Sun/8.14.4) with ESMTP id s04FLCaT006059; Sat, 4 Jan 2014 15:21:12 GMT MIME-Version: 1.0 Message-ID: <959811ac-3f75-43b0-a911-9990d65ee67c@default> Date: Sat, 4 Jan 2014 07:21:08 -0800 (PST) From: Drew Adams To: Eli Zaretskii , Drew Adams Subject: RE: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <<20131229220810.GF7972@boo.workgroup>> <<52C0E734.4090403@cs.ucla.edu>> <<83sita1cbw.fsf@gnu.org>> <<52C1C456.2080004@cs.ucla.edu>> <<83fvpa16kh.fsf@gnu.org>> <<52C25D07.80808@cs.ucla.edu>> <<8338l91l2t.fsf@gnu.org>> <<52C4C95C.2010905@cs.ucla.edu>> <<837gajyrq1.fsf@gnu.org>> <<52C4F008.5060003@cs.ucla.edu>> <<83zjnextyg.fsf@gnu.org>> <<52C5BDD1.2050009@cs.ucla.edu>> <<83ppoaxfu6.fsf@gnu.org>> <<52C607DA.3090009@cs.ucla.edu>> <<83fvp5xzk0.fsf@gnu.org>> <<52C6F2C5.10505@cs.ucla.edu>> <<83mwjcx1i9.fsf@gnu.org>> <> <<52C750C4.6040006@cs.ucla.edu>> <> <<838uuww6j7.fsf@gnu.org>> In-Reply-To: <<838uuww6j7.fsf@gnu.org>> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6680.5000 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Source-IP: acsinet21.oracle.com [141.146.126.237] X-Spam-Score: -2.7 (--) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, 16292@debbugs.gnu.org, monnier@iro.umontreal.ca, grfz@gmx.de X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) > > > This feels like a new feature, so I'm somewhat inclined to leave > > > this stuff alone in the trunk until after the feature freeze is > > > over. > > > > As long as the regression is fixed, that sounds reasonable. IOW, > > we already had a regression from `...' to '...'. > > > > IIUC, Eli reverted that regression, restoring `...'. >=20 > No, I didn't, not if Texinfo 5 is used to prepare the Info files. > In that version of Texinfo, the default is '..'. My mistake. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 12:50:36 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 17:50:36 +0000 Received: from localhost ([127.0.0.1]:34133 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzVMn-0007Ho-84 for submit@debbugs.gnu.org; Sat, 04 Jan 2014 12:50:36 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:39232) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzVMg-0007HV-3R for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 12:50:30 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 044AEA60003; Sat, 4 Jan 2014 09:50:25 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ESGdfdduBpKU; Sat, 4 Jan 2014 09:50:22 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 4B2CD39E8105; Sat, 4 Jan 2014 09:50:22 -0800 (PST) Message-ID: <52C849DD.7020902@cs.ucla.edu> Date: Sat, 04 Jan 2014 09:50:21 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Stefan Monnier Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> In-Reply-To: Content-Type: multipart/mixed; boundary="------------030701040602000201060100" X-Spam-Score: -0.9 (/) X-Debbugs-Envelope-To: 16292 Cc: Eli Zaretskii , grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.9 (/) This is a multi-part message in MIME format. --------------030701040602000201060100 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Stefan Monnier wrote: > Isn't there a way other than modifying the file to tell > Texinfo that the encoding is utf-8? Not that I know of, no. Sorry. > your test will end up using ASCII in non-English locales No, because the test doesn't look at the current locale. It looks at what locales are available. That being said, the test could be improved to not care about English; that's simpler anyway. I'll attach a revised patch, which also fixes some other problems I noticed (e.g., some 'sed' implementations mishandle NUL bytes). Defaulting to ASCII in all platforms would leave the original bug unfixed by default on all installations, causing the regression from `foo' to 'foo' that Drew Adams complained of. I.e., on all platforms the Emacs documentation would default to lower quality than it's had for decades. It's better to default to ASCII only on platforms that don't support UTF-8 well. > the config option might like to use a more > generic name like "--with-liberal-use-of-unicode". But it's not liberal: it's conservative! :-) That is, it conserves the info file's contents. Plus, it's UTF-8 not Unicode. I tried names like '--with-some-utf-8-or-another' but the 'utf-8-' makes it hard to parse visually, so I inverted the flag to '--with-ascii-info-marks', which just barely fits in 'configure --help' output. This is included in the revised patch. --------------030701040602000201060100 Content-Type: text/x-patch; name="info-utf8.diff" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="info-utf8.diff" # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: eggert@cs.ucla.edu-20140104173616-e5ehoqgjsqo1qrqi # target_branch: bzr+ssh://eggert@bzr.savannah.gnu.org/emacs/trunk # testament_sha1: 24d37d287bb541e3d8300ac2845f5b21ab333bde # timestamp: 2014-01-04 09:36:23 -0800 # base_revision_id: rudalics@gmx.at-20140104093130-ccgmn1edhogzfv7l # # Begin patch === modified file 'ChangeLog' --- ChangeLog 2014-01-03 01:59:58 +0000 +++ ChangeLog 2014-01-04 17:36:16 +0000 @@ -1,3 +1,13 @@ +2014-01-04 Paul Eggert + + Specify info encoding and language (Bug#16292). + * build-aux/ascii-info-marks: New file. + * configure.ac: New option --with-ascii-info-marks, + which configures INSTALL_INFO_DATA. + * Makefile.in (INSTALL_INFO_DATA): New macro. + (install-info): Use it. + * INSTALL: Document --with-ascii-info-marks. + 2014-01-03 Paul Eggert Merge from gnulib, incorporating: === modified file 'INSTALL' --- INSTALL 2014-01-01 07:43:34 +0000 +++ INSTALL 2014-01-04 16:42:33 +0000 @@ -327,6 +327,11 @@ even on hosts where a narrower type would do. With this option, on a typical 32-bit host, Emacs integers have 62 bits instead of 30. +Use --with-ascii-info-marks to install Info files with ASCII +punctuation marks, e.g., 'A-Z' rather than ‘A–Z’; this is the default +if UTF-8 is not supported. Use --without-ascii-info-marks to install +Info files as-is. + Use --enable-gcc-warnings to enable compile-time checks that warn about possibly-questionable C code. This is intended for developers and is useful with GNU-compatible compilers. On a recent GNU system === modified file 'Makefile.in' --- Makefile.in 2014-01-01 07:43:34 +0000 +++ Makefile.in 2014-01-02 00:46:55 +0000 @@ -255,6 +255,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_INFO = @INSTALL_INFO@ +INSTALL_INFO_DATA = @INSTALL_INFO_DATA@ # By default, we uphold the dignity of our programs. INSTALL_STRIP = MKDIR_P = @MKDIR_P@ @@ -663,7 +664,8 @@ test "$(HAVE_MAKEINFO)" = "no" && test ! -f $$elt && continue; \ for f in `ls $$elt $$elt-[1-9] $$elt-[1-9][0-9] 2>/dev/null`; do \ (cd "$${thisdir}"; \ - ${INSTALL_DATA} ${srcdir}/info/$$f "$(DESTDIR)${infodir}/$$f"); \ + ${INSTALL_INFO_DATA} ${srcdir}/info/$$f \ + "$(DESTDIR)${infodir}/$$f"); \ [ -n "${GZIP_PROG}" ] || continue ; \ rm -f "$(DESTDIR)${infodir}/$$f.gz"; \ ${GZIP_PROG} -9n "$(DESTDIR)${infodir}/$$f"; \ === added file 'build-aux/ascii-info-marks' --- build-aux/ascii-info-marks 1970-01-01 00:00:00 +0000 +++ build-aux/ascii-info-marks 2014-01-04 16:53:02 +0000 @@ -0,0 +1,64 @@ +#! /bin/sh +# Copy an info file, but replace curly quotes etc. with ASCII markup + +# Copyright 2014 Free Software Foundation, Inc. + +# This file is part of GNU Emacs. + +# GNU Emacs is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# GNU Emacs is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with GNU Emacs. If not, see . + +# written by Paul Eggert + +# We're pretty close where UTF-8 characters can be assumed to work +# everywhere, but as of 2014 we're not quite there yet. For now, this +# command works around some of the problem by replacing most UTF-8 +# characters in typical info files with ASCII approximations. + +# The input should be UTF-8. The UTF-8 output is designed for an info +# file in an environment that either groks UTF-8, or which mishandles +# UTF-8 but which works with ASCII or near-ASCII and can tolerate some +# mojibake. Some information may be lost in the process, and the +# number of characters and/or bytes may change. Only non-ASCII +# symbols generated by 'makeinfo' are transliterated. Other non-ASCII +# characters (which presumably came from the Info file itself) are +# left alone; these will work properly in UTF-8 locales and will +# probably be mojibake in non-UTF-8 locales. + +LC_ALL=C +export LC_ALL + +source=${1?} +dest=${2?} + +(tr '\0' '\1' | + sed ' + s/©/(C)/g + s/–/-/g + s/—/--/g + s/‘/'\''/g + s/’/'\''/g + s/“/"/g + s/”/"/g + s/•/*/g + s/…/.../g + s/→/->/g + s/↦/|->/g + s/⇒/=>/g + s/−/-/g + s/≡/==/g + s/⊣/-|/g + s/★/*/g + ' | + tr '\1' '\0' +) <"$source" >"$dest" === modified file 'configure.ac' --- configure.ac 2014-01-01 08:31:29 +0000 +++ configure.ac 2014-01-04 16:53:02 +0000 @@ -300,6 +300,17 @@ [don't compress some files (.el, .info, etc.) when installing. Equivalent to: make GZIP_PROG= install]) +AC_ARG_WITH([ascii-info-marks], + [AS_HELP_STRING([--with-ascii-info-marks], + [install info files with 'A-Z', not ‘A–Z’])], + [], + [[case `(locale -a) 2>/dev/null` in + *.[Uu][Tt][Ff]-8* | *.[Uu][Tt][Ff]8*) + with_ascii_info_marks=no ;; + *) + with_ascii_info_marks=$with_features ;; + esac]]) + AC_ARG_WITH([pkg-config-prog],dnl [AS_HELP_STRING([--with-pkg-config-prog=FILENAME], [file name of pkg-config for finding GTK and librsvg])]) @@ -973,6 +984,14 @@ AC_PATH_PROG(INSTALL_INFO, install-info, :, $PATH$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR/sbin) + +if test "$with_ascii_info_marks" = yes; then + INSTALL_INFO_DATA='build-aux/ascii-info-marks' +else + INSTALL_INFO_DATA='$(INSTALL_DATA)' +fi +AC_SUBST([INSTALL_INFO_DATA]) + dnl Don't use GZIP, which is used by gzip for additional parameters. AC_PATH_PROG(GZIP_PROG, gzip) === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2014-01-01 07:43:34 +0000 +++ doc/emacs/ChangeLog 2014-01-04 02:43:33 +0000 @@ -1,3 +1,8 @@ +2014-01-04 Paul Eggert + + Specify info encoding and language (Bug#16292). + * emacs.texi, emacs-xtra.texi: Add @documentlanguage directive. + 2013-12-28 Glenn Morris * trouble.texi (Understanding Bug Reporting): Brevity. === modified file 'doc/emacs/emacs-xtra.texi' --- doc/emacs/emacs-xtra.texi 2014-01-01 08:31:29 +0000 +++ doc/emacs/emacs-xtra.texi 2014-01-01 23:22:18 +0000 @@ -27,6 +27,7 @@ @end copying @documentencoding UTF-8 +@documentlanguage en @dircategory Emacs @direntry === modified file 'doc/emacs/emacs.texi' --- doc/emacs/emacs.texi 2014-01-01 08:31:29 +0000 +++ doc/emacs/emacs.texi 2014-01-01 23:22:18 +0000 @@ -45,6 +45,7 @@ @end copying @documentencoding UTF-8 +@documentlanguage en @dircategory Emacs @direntry === modified file 'doc/lispintro/ChangeLog' --- doc/lispintro/ChangeLog 2014-01-01 07:43:34 +0000 +++ doc/lispintro/ChangeLog 2014-01-04 02:43:33 +0000 @@ -1,3 +1,8 @@ +2014-01-04 Paul Eggert + + Specify info encoding and language (Bug#16292). + * emacs-lisp-intro.texi: Add @documentencoding, @documentlanguage. + 2013-12-30 Glenn Morris * emacs-lisp-intro.texi: Use @quotation for license notice. === modified file 'doc/lispintro/emacs-lisp-intro.texi' --- doc/lispintro/emacs-lisp-intro.texi 2014-01-01 08:31:29 +0000 +++ doc/lispintro/emacs-lisp-intro.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,8 @@ @c setfilename emacs-lisp-intro.info @c sethtmlfilename emacs-lisp-intro.html @settitle Programming in Emacs Lisp +@documentencoding UTF-8 +@documentlanguage en @syncodeindex vr cp @syncodeindex fn cp @finalout === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2014-01-03 05:49:06 +0000 +++ doc/lispref/ChangeLog 2014-01-04 02:43:33 +0000 @@ -1,3 +1,9 @@ +2014-01-04 Paul Eggert + + Specify info encoding and language (Bug#16292). + * back.texi, book-spine.texi, elisp.texi, lay-flat.texi: + Add @documentencoding, @documentlanguage as needed. + 2014-01-03 Chong Yidong * help.texi (Documentation, Accessing Documentation): Copyedits. === modified file 'doc/lispref/back.texi' --- doc/lispref/back.texi 2014-01-01 07:43:34 +0000 +++ doc/lispref/back.texi 2014-01-01 23:22:18 +0000 @@ -6,6 +6,8 @@ @c %**start of header @setfilename back-cover @settitle GNU Emacs Lisp Reference Manual +@documentencoding UTF-8 +@documentlanguage en @c %**end of header . @sp 7 === modified file 'doc/lispref/book-spine.texi' --- doc/lispref/book-spine.texi 2013-12-30 17:08:32 +0000 +++ doc/lispref/book-spine.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename book-spine @settitle book-spine +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @include emacsver.texi === modified file 'doc/lispref/elisp.texi' --- doc/lispref/elisp.texi 2014-01-01 08:31:29 +0000 +++ doc/lispref/elisp.texi 2014-01-01 23:22:18 +0000 @@ -116,6 +116,7 @@ @end copying @documentencoding UTF-8 +@documentlanguage en @dircategory Emacs lisp @direntry === modified file 'doc/lispref/lay-flat.texi' --- doc/lispref/lay-flat.texi 2014-01-01 07:43:34 +0000 +++ doc/lispref/lay-flat.texi 2014-01-01 23:22:18 +0000 @@ -7,6 +7,8 @@ @setfilename inner-covers.info @settitle Inner Covers @smallbook +@documentencoding UTF-8 +@documentlanguage en @comment %**end of header @headings off === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2014-01-03 23:14:16 +0000 +++ doc/misc/ChangeLog 2014-01-04 02:43:33 +0000 @@ -1,3 +1,21 @@ +2014-01-04 Paul Eggert + + Specify info encoding and language (Bug#16292). + * ada-mode.texi, auth.texi, autotype.texi, bovine.texi, calc.texi: + * cc-mode.texi, cl.texi, dbus.texi, dired-x.texi, ebrowse.texi: + * ede.texi, ediff.texi, edt.texi, efaq-w32.texi, efaq.texi: + * eieio.texi, emacs-gnutls.texi, emacs-mime.texi, epa.texi, erc.texi: + * ert.texi, eshell.texi, eudc.texi, flymake.texi, forms.texi: + * gnus-coding.texi, gnus-faq.texi, gnus.texi, htmlfontify.texi: + * idlwave.texi, ido.texi, info.texi, mairix-el.texi, message.texi: + * mh-e.texi, newsticker.texi, nxml-mode.texi, octave-mode.texi: + * org.texi, pcl-cvs.texi, pgg.texi, rcirc.texi, reftex.texi: + * remember.texi, sasl.texi, sc.texi, semantic.texi, ses.texi: + * sieve.texi, smtpmail.texi, speedbar.texi, srecode.texi: + * todo-mode.texi, tramp.texi, url.texi, vip.texi, viper.texi: + * widget.texi, wisent.texi, woman.texi: + Add @documentencoding, @documentlanguage as needed. + 2014-01-03 Aidan Gauland * eshell.texi (What Eshell is not): Clean up confusing clause. === modified file 'doc/misc/ada-mode.texi' --- doc/misc/ada-mode.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/ada-mode.texi 2014-01-01 23:22:18 +0000 @@ -1,6 +1,8 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/ada-mode @settitle Ada Mode +@documentencoding UTF-8 +@documentlanguage en @copying Copyright @copyright{} 1999--2014 Free Software Foundation, Inc. === modified file 'doc/misc/auth.texi' --- doc/misc/auth.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/auth.texi 2014-01-01 23:22:18 +0000 @@ -6,6 +6,8 @@ @setfilename ../../info/auth @settitle Emacs auth-source Library @value{VERSION} +@documentencoding UTF-8 +@documentlanguage en @copying This file describes the Emacs auth-source library. === modified file 'doc/misc/autotype.texi' --- doc/misc/autotype.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/autotype.texi 2014-01-01 23:22:18 +0000 @@ -5,6 +5,8 @@ @c @node Autotypist, Picture, Abbrevs, Top @c @chapter Features for Automatic Typing @settitle Features for Automatic Typing +@documentencoding UTF-8 +@documentlanguage en @c @cindex text @c @cindex selfinserting text @c @cindex autotypist === modified file 'doc/misc/bovine.texi' --- doc/misc/bovine.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/bovine.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,8 @@ @set TITLE Bovine parser development @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim @settitle @value{TITLE} +@documentencoding UTF-8 +@documentlanguage en @c ************************************************************************* @c @ Header === modified file 'doc/misc/calc.texi' --- doc/misc/calc.texi 2014-01-03 02:53:29 +0000 +++ doc/misc/calc.texi 2014-01-03 08:51:50 +0000 @@ -4,6 +4,8 @@ @setfilename ../../info/calc @c [title] @settitle GNU Emacs Calc Manual +@documentencoding UTF-8 +@documentlanguage en @setchapternewpage odd @comment %**end of header (This is for running Texinfo on a region.) === modified file 'doc/misc/cc-mode.texi' --- doc/misc/cc-mode.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/cc-mode.texi 2014-01-01 23:22:18 +0000 @@ -83,6 +83,8 @@ @setfilename ../../info/ccmode @settitle CC Mode Manual +@documentencoding UTF-8 +@documentlanguage en @footnotestyle end @c The following four macros generate the filenames and titles of the === modified file 'doc/misc/cl.texi' --- doc/misc/cl.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/cl.texi 2014-01-01 23:22:18 +0000 @@ -1,6 +1,8 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/cl @settitle Common Lisp Extensions +@documentencoding UTF-8 +@documentlanguage en @include emacsver.texi @copying === modified file 'doc/misc/dbus.texi' --- doc/misc/dbus.texi 2014-01-03 03:07:20 +0000 +++ doc/misc/dbus.texi 2014-01-03 08:51:50 +0000 @@ -2,6 +2,8 @@ @setfilename ../../info/dbus @c %**start of header @settitle Using of D-Bus +@documentencoding UTF-8 +@documentlanguage en @c @setchapternewpage odd @c %**end of header === modified file 'doc/misc/dired-x.texi' --- doc/misc/dired-x.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/dired-x.texi 2014-01-01 23:22:18 +0000 @@ -9,6 +9,8 @@ @comment %**start of header (This is for running Texinfo on a region.) @setfilename ../../info/dired-x @settitle Dired Extra User's Manual +@documentencoding UTF-8 +@documentlanguage en @include emacsver.texi === modified file 'doc/misc/ebrowse.texi' --- doc/misc/ebrowse.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/ebrowse.texi 2014-01-01 23:22:18 +0000 @@ -3,6 +3,8 @@ @comment %**start of header @setfilename ../../info/ebrowse @settitle A Class Browser for C++ +@documentencoding UTF-8 +@documentlanguage en @setchapternewpage odd @syncodeindex fn cp @comment %**end of header === modified file 'doc/misc/ede.texi' --- doc/misc/ede.texi 2014-01-03 03:13:58 +0000 +++ doc/misc/ede.texi 2014-01-03 08:51:50 +0000 @@ -1,6 +1,8 @@ \input texinfo @setfilename ../../info/ede @settitle Emacs Development Environment +@documentencoding UTF-8 +@documentlanguage en @copying This file describes EDE, the Emacs Development Environment. === modified file 'doc/misc/ediff.texi' --- doc/misc/ediff.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/ediff.texi 2014-01-01 23:22:18 +0000 @@ -10,6 +10,8 @@ @setfilename ../../info/ediff @settitle Ediff User's Manual +@documentencoding UTF-8 +@documentlanguage en @synindex vr cp @synindex fn cp @synindex pg cp === modified file 'doc/misc/edt.texi' --- doc/misc/edt.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/edt.texi 2014-01-01 23:22:18 +0000 @@ -1,6 +1,8 @@ \input texinfo @setfilename ../../info/edt @settitle EDT Emulation for Emacs +@documentencoding UTF-8 +@documentlanguage en @copying This file documents the EDT emulation package for Emacs. === modified file 'doc/misc/efaq-w32.texi' --- doc/misc/efaq-w32.texi 2014-01-03 03:15:01 +0000 +++ doc/misc/efaq-w32.texi 2014-01-03 08:51:50 +0000 @@ -166,7 +166,7 @@ Emacs binaries are distributed as zip files, digitally signed by the developer who built them. Generally most users will want the file @file{emacs-@value{EMACSVER}-bin-i386.zip}, which -contains everything you need to get started. +contains everything you need to get started. @cindex where to get sources @cindex Emacs source code @@ -290,7 +290,7 @@ The command to unpack a source distribution from the command line is: @example -tar xzf emacs-@value{EMACSVER}.tar.gz +tar xzf emacs-@value{EMACSVER}.tar.gz @end example If this does not work with the versions of tar and gzip that you have, @@ -577,9 +577,9 @@ Subject: Re: Re[2]: problem with caps/ctrl swap on NT 4.0 @end ignore @example -It's a binary value that lets you map keystrokes in the low-level keyboard -drivers in NT. As a result you don't have to worry about applications -bypassing mappings that you've done at a higher level (i.e. it just works). +It's a binary value that lets you map keystrokes in the low-level keyboard +drivers in NT. As a result you don't have to worry about applications +bypassing mappings that you've done at a higher level (i.e. it just works). Here's the format of the value: @@ -591,11 +591,11 @@ DWORD: mapping n DWORD: 0x00000000 terminating null DWORD -Each mapping DWORD has two parts: the input scancode, and an output -scancode. To map scancode 0x1d (left control) to scancode 0x3a (caps -lock), you want a value of 0x003a001d. Note that this does not swap the -keys. Using just this mapping value, both the left control and the caps -lock key will behave as caps-lock. To swap, you also need to map 0x3a to +Each mapping DWORD has two parts: the input scancode, and an output +scancode. To map scancode 0x1d (left control) to scancode 0x3a (caps +lock), you want a value of 0x003a001d. Note that this does not swap the +keys. Using just this mapping value, both the left control and the caps +lock key will behave as caps-lock. To swap, you also need to map 0x3a to 0x1d, using 0x001d003a. This registry value is system wide, and can't be made user-specific. It @@ -1430,7 +1430,7 @@ You can start an interactive shell in Emacs by typing @kbd{M-x shell}. Emacs uses the @env{SHELL} environment variable to determine which program to use as the shell. To instruct Emacs to use a non-default -shell, you can either set this environment variable, or customize +shell, you can either set this environment variable, or customize @code{explicit-shell-file-name}. You can also customize @code{shell-file-name} to change the shell that will be used by subprocesses that are started with @code{shell-command} and === modified file 'doc/misc/efaq.texi' --- doc/misc/efaq.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/efaq.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/efaq @settitle GNU Emacs FAQ +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @include emacsver.texi === modified file 'doc/misc/eieio.texi' --- doc/misc/eieio.texi 2014-01-03 03:13:58 +0000 +++ doc/misc/eieio.texi 2014-01-03 08:51:50 +0000 @@ -3,6 +3,8 @@ @set TITLE Enhanced Implementation of Emacs Interpreted Objects @set AUTHOR Eric M. Ludlam @settitle @value{TITLE} +@documentencoding UTF-8 +@documentlanguage en @c ************************************************************************* @c @ Header === modified file 'doc/misc/emacs-gnutls.texi' --- doc/misc/emacs-gnutls.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/emacs-gnutls.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,8 @@ @setfilename ../../info/emacs-gnutls @settitle Emacs GnuTLS Integration @value{VERSION} +@documentencoding UTF-8 +@documentlanguage en @copying This file describes the Emacs GnuTLS integration. === modified file 'doc/misc/emacs-mime.texi' --- doc/misc/emacs-mime.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/emacs-mime.texi 2014-01-01 23:22:18 +0000 @@ -26,8 +26,8 @@ @end quotation @end copying -@c Node ``Interface Functions'' uses non-ASCII characters @documentencoding UTF-8 +@documentlanguage en @dircategory Emacs lisp libraries @direntry === modified file 'doc/misc/epa.texi' --- doc/misc/epa.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/epa.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/epa @settitle EasyPG Assistant User's Manual +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @set VERSION 1.0.0 === modified file 'doc/misc/erc.texi' --- doc/misc/erc.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/erc.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,8 @@ @settitle ERC Manual @syncodeindex fn cp @include emacsver.texi +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/ert.texi' --- doc/misc/ert.texi 2014-01-03 03:00:39 +0000 +++ doc/misc/ert.texi 2014-01-03 08:51:50 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/ert @settitle Emacs Lisp Regression Testing +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @dircategory Emacs misc features === modified file 'doc/misc/eshell.texi' --- doc/misc/eshell.texi 2014-01-03 23:14:16 +0000 +++ doc/misc/eshell.texi 2014-01-03 23:49:11 +0000 @@ -4,6 +4,8 @@ @settitle Eshell: The Emacs Shell @defindex cm @synindex vr fn +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/eudc.texi' --- doc/misc/eudc.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/eudc.texi 2014-01-01 23:22:18 +0000 @@ -3,6 +3,8 @@ @setfilename ../../info/eudc @settitle Emacs Unified Directory Client (EUDC) Manual @afourpaper +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/flymake.texi' --- doc/misc/flymake.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/flymake.texi 2014-01-01 23:22:18 +0000 @@ -5,6 +5,8 @@ @set UPDATED April 2004 @settitle GNU Flymake @value{VERSION} @syncodeindex pg cp +@documentencoding UTF-8 +@documentlanguage en @comment %**end of header @copying === modified file 'doc/misc/forms.texi' --- doc/misc/forms.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/forms.texi 2014-01-01 23:22:18 +0000 @@ -14,6 +14,8 @@ @end iftex @c @smallbook @comment %**end of header (This is for running Texinfo on a region.) +@documentencoding UTF-8 +@documentlanguage en @copying This file documents Forms mode, a form-editing major mode for GNU Emacs. === modified file 'doc/misc/gnus-coding.texi' --- doc/misc/gnus-coding.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/gnus-coding.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @setfilename gnus-coding @settitle Gnus Coding Style and Maintenance Guide +@documentencoding UTF-8 +@documentlanguage en @syncodeindex fn cp @syncodeindex vr cp @syncodeindex pg cp === modified file 'doc/misc/gnus-faq.texi' --- doc/misc/gnus-faq.texi 2014-01-01 07:43:34 +0000 +++ doc/misc/gnus-faq.texi 2014-01-01 23:22:18 +0000 @@ -5,6 +5,8 @@ @c @c @setfilename gnus-faq.info @c @settitle Frequently Asked Questions +@c @documentencoding UTF-8 +@c @documentlanguage en @c %**end of header @c === modified file 'doc/misc/gnus.texi' --- doc/misc/gnus.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/gnus.texi 2014-01-01 23:22:18 +0000 @@ -9,6 +9,7 @@ @syncodeindex pg cp @documentencoding UTF-8 +@documentlanguage en @copying Copyright @copyright{} 1995--2014 Free Software Foundation, Inc. === modified file 'doc/misc/htmlfontify.texi' --- doc/misc/htmlfontify.texi 2014-01-01 07:43:34 +0000 +++ doc/misc/htmlfontify.texi 2014-01-01 23:22:18 +0000 @@ -3,6 +3,8 @@ @setfilename ../../info/htmlfontify @settitle Htmlfontify User Manual @exampleindent 2 +@documentencoding UTF-8 +@documentlanguage en @comment %**end of header @copying === modified file 'doc/misc/idlwave.texi' --- doc/misc/idlwave.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/idlwave.texi 2014-01-01 23:22:18 +0000 @@ -12,6 +12,8 @@ @set DATE April, 2007 @set AUTHOR J.D. Smith & Carsten Dominik @set MAINTAINER J.D. Smith +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @finalout === modified file 'doc/misc/ido.texi' --- doc/misc/ido.texi 2014-01-01 23:13:59 +0000 +++ doc/misc/ido.texi 2014-01-01 23:22:18 +0000 @@ -1,6 +1,8 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/ido @settitle Interactive Do +@documentencoding UTF-8 +@documentlanguage en @include emacsver.texi @copying === modified file 'doc/misc/info.texi' --- doc/misc/info.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/info.texi 2014-01-01 23:22:18 +0000 @@ -8,6 +8,8 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 +@documentlanguage en @comment %**end of header @copying === modified file 'doc/misc/mairix-el.texi' --- doc/misc/mairix-el.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/mairix-el.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,7 @@ @settitle Emacs Interface for Mairix @documentencoding UTF-8 +@documentlanguage en @copying Copyright @copyright{} 2008--2014 Free Software Foundation, Inc. === modified file 'doc/misc/message.texi' --- doc/misc/message.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/message.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,8 @@ @setfilename ../../info/message @settitle Message Manual +@documentencoding UTF-8 +@documentlanguage en @synindex fn cp @synindex vr cp @synindex pg cp === modified file 'doc/misc/mh-e.texi' --- doc/misc/mh-e.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/mh-e.texi 2014-01-01 23:22:18 +0000 @@ -5,6 +5,8 @@ @c %**start of header @setfilename ../../info/mh-e @settitle The MH-E Manual +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @c Version of the software and manual. === modified file 'doc/misc/newsticker.texi' --- doc/misc/newsticker.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/newsticker.texi 2014-01-01 23:22:18 +0000 @@ -7,6 +7,8 @@ @syncodeindex vr cp @syncodeindex fn cp @syncodeindex pg cp +@documentencoding UTF-8 +@documentlanguage en @comment %**end of header @copying === modified file 'doc/misc/nxml-mode.texi' --- doc/misc/nxml-mode.texi 2014-01-03 03:07:20 +0000 +++ doc/misc/nxml-mode.texi 2014-01-03 08:51:50 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/nxml-mode @settitle nXML Mode +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/octave-mode.texi' --- doc/misc/octave-mode.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/octave-mode.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/octave-mode @settitle Octave Mode +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/org.texi' --- doc/misc/org.texi 2014-01-01 23:13:59 +0000 +++ doc/misc/org.texi 2014-01-01 23:22:18 +0000 @@ -15,6 +15,8 @@ @set MAINTAINER Carsten Dominik @set MAINTAINEREMAIL @email{carsten at orgmode dot org} @set MAINTAINERCONTACT @uref{mailto:carsten at orgmode dot org,contact the maintainer} +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @finalout === modified file 'doc/misc/pcl-cvs.texi' --- doc/misc/pcl-cvs.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/pcl-cvs.texi 2014-01-01 23:22:18 +0000 @@ -3,6 +3,8 @@ @setfilename ../../info/pcl-cvs @settitle PCL-CVS---Emacs Front-End to CVS @syncodeindex vr fn +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/pgg.texi' --- doc/misc/pgg.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/pgg.texi 2014-01-01 23:22:18 +0000 @@ -7,6 +7,9 @@ @set VERSION 0.1 @settitle PGG @value{VERSION} +@documentencoding UTF-8 +@documentlanguage en + @copying This file describes PGG @value{VERSION}, an Emacs interface to various PGP implementations. === modified file 'doc/misc/rcirc.texi' --- doc/misc/rcirc.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/rcirc.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/rcirc @settitle rcirc Manual +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/reftex.texi' --- doc/misc/reftex.texi 2014-01-03 03:15:01 +0000 +++ doc/misc/reftex.texi 2014-01-03 08:51:50 +0000 @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/reftex @settitle RefTeX User Manual +@documentencoding UTF-8 +@documentlanguage en @synindex ky cp @syncodeindex vr cp @syncodeindex fn cp === modified file 'doc/misc/remember.texi' --- doc/misc/remember.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/remember.texi 2014-01-01 23:22:18 +0000 @@ -3,6 +3,8 @@ @setfilename ../../info/remember @settitle Remember Manual @syncodeindex fn cp +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/sasl.texi' --- doc/misc/sasl.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/sasl.texi 2014-01-01 23:22:18 +0000 @@ -7,6 +7,9 @@ @set VERSION 0.2 @settitle Emacs SASL Library @value{VERSION} +@documentencoding UTF-8 +@documentlanguage en + @copying This file describes the Emacs SASL library, version @value{VERSION}. === modified file 'doc/misc/sc.texi' --- doc/misc/sc.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/sc.texi 2014-01-01 23:22:18 +0000 @@ -3,6 +3,8 @@ @comment %**start of header (This is for running Texinfo on a region.) @setfilename ../../info/sc @settitle Supercite User's Manual +@documentencoding UTF-8 +@documentlanguage en @iftex @finalout @end iftex === modified file 'doc/misc/semantic.texi' --- doc/misc/semantic.texi 2014-01-03 03:13:58 +0000 +++ doc/misc/semantic.texi 2014-01-03 08:51:50 +0000 @@ -3,6 +3,8 @@ @set TITLE Semantic Manual @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim @settitle @value{TITLE} +@documentencoding UTF-8 +@documentlanguage en @c ************************************************************************* @c @ Header === modified file 'doc/misc/ses.texi' --- doc/misc/ses.texi 2014-01-03 14:18:24 +0000 +++ doc/misc/ses.texi 2014-01-03 22:24:08 +0000 @@ -6,6 +6,8 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/sieve.texi' --- doc/misc/sieve.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/sieve.texi 2014-01-01 23:22:18 +0000 @@ -4,6 +4,8 @@ @setfilename ../../info/sieve @settitle Emacs Sieve Manual +@documentencoding UTF-8 +@documentlanguage en @synindex fn cp @synindex vr cp @synindex pg cp === modified file 'doc/misc/smtpmail.texi' --- doc/misc/smtpmail.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/smtpmail.texi 2014-01-01 23:22:18 +0000 @@ -1,6 +1,8 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/smtpmail @settitle Emacs SMTP Library +@documentencoding UTF-8 +@documentlanguage en @syncodeindex vr fn @copying Copyright @copyright{} 2003--2014 Free Software Foundation, Inc. === modified file 'doc/misc/speedbar.texi' --- doc/misc/speedbar.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/speedbar.texi 2014-01-01 23:22:18 +0000 @@ -1,6 +1,8 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/speedbar @settitle Speedbar: File/Tag summarizing utility +@documentencoding UTF-8 +@documentlanguage en @syncodeindex fn cp @copying === modified file 'doc/misc/srecode.texi' --- doc/misc/srecode.texi 2014-01-03 03:13:58 +0000 +++ doc/misc/srecode.texi 2014-01-03 08:51:50 +0000 @@ -4,6 +4,8 @@ @set TITLE SRecoder Manual @set AUTHOR Eric M. Ludlam @settitle @value{TITLE} +@documentencoding UTF-8 +@documentlanguage en @c Merge all indexes into a single index for now. @c We can always separate them later into two or more as needed. === modified file 'doc/misc/todo-mode.texi' --- doc/misc/todo-mode.texi 2014-01-01 07:43:34 +0000 +++ doc/misc/todo-mode.texi 2014-01-01 23:22:18 +0000 @@ -5,6 +5,8 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/tramp.texi' --- doc/misc/tramp.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/tramp.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,8 @@ @setfilename ../../info/tramp @c %**start of header @settitle TRAMP User Manual +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @c This is *so* much nicer :) === modified file 'doc/misc/url.texi' --- doc/misc/url.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/url.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,9 @@ @setfilename ../../info/url @settitle URL Programmer's Manual +@documentencoding UTF-8 +@documentlanguage en + @iftex @c @finalout @end iftex === modified file 'doc/misc/vip.texi' --- doc/misc/vip.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/vip.texi 2014-01-01 23:22:18 +0000 @@ -2,6 +2,9 @@ @setfilename ../../info/vip @settitle VIP +@documentencoding UTF-8 +@documentlanguage en + @copying Copyright @copyright{} 1987, 2001--2014 Free Software Foundation, Inc. === modified file 'doc/misc/viper.texi' --- doc/misc/viper.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/viper.texi 2014-01-01 23:22:18 +0000 @@ -6,6 +6,9 @@ @comment @setfilename viper.info @setfilename ../../info/viper +@documentencoding UTF-8 +@documentlanguage en + @copying Copyright @copyright{} 1995--1997, 2001--2014 Free Software Foundation, Inc. === modified file 'doc/misc/widget.texi' --- doc/misc/widget.texi 2014-01-03 03:07:20 +0000 +++ doc/misc/widget.texi 2014-01-03 08:51:50 +0000 @@ -5,6 +5,8 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/wisent.texi' --- doc/misc/wisent.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/wisent.texi 2014-01-01 23:22:18 +0000 @@ -20,6 +20,8 @@ @c @footnotestyle separate @c @paragraphindent 2 @c @@smallbook +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'doc/misc/woman.texi' --- doc/misc/woman.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/woman.texi 2014-01-01 23:22:18 +0000 @@ -8,6 +8,8 @@ @c Look for @page and @need commands. @setchapternewpage off @paragraphindent 0 +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying === modified file 'etc/ChangeLog' --- etc/ChangeLog 2014-01-01 07:43:34 +0000 +++ etc/ChangeLog 2014-01-04 16:42:33 +0000 @@ -1,3 +1,8 @@ +2014-01-04 Paul Eggert + + Specify info encoding and language (Bug#16292). + * NEWS: Document --with-ascii-info-marks. + 2013-12-29 Paul Eggert Plain copy-file no longer chmods an existing destination (Bug#16133). === modified file 'etc/NEWS' --- etc/NEWS 2014-01-03 05:37:58 +0000 +++ etc/NEWS 2014-01-04 16:42:33 +0000 @@ -38,6 +38,10 @@ and renamed to `--without-compress-install'. It now prevents compression of _any_ files during installation. +** The configure option `--with-ascii-info-marks' installs info files +that use ASCII punctuation marks, e.g., 'A-Z' rather than ‘A–Z’. This +is the default if UTF-8 is not supported. + ** The configure option `--with-crt-dir' has been removed. It is no longer needed, as the crt*.o files are no longer linked specially. --------------030701040602000201060100-- From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 13:01:34 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 18:01:34 +0000 Received: from localhost ([127.0.0.1]:34156 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzVXR-0007bS-01 for submit@debbugs.gnu.org; Sat, 04 Jan 2014 13:01:33 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:39552) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzVXO-0007bJ-15 for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 13:01:30 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 5DEE539E810A; Sat, 4 Jan 2014 10:01:29 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id B1O7ezAhmwwG; Sat, 4 Jan 2014 10:01:29 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id D321039E8106; Sat, 4 Jan 2014 10:01:28 -0800 (PST) Message-ID: <52C84C78.5000509@cs.ucla.edu> Date: Sat, 04 Jan 2014 10:01:28 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii , Stefan Monnier Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> In-Reply-To: <8338l4w5pj.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.7 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) Eli Zaretskii wrote: > And using --disable-encoding is a simpler way of achieving > that, as it doesn't need any postprocessing. No, because we can't assume that the installer has 'makeinfo' and can run 'makeinfo' with --disable-encoding. Instead, we must use universally-available tools like 'sed' when installing. > we should at least fix the handful of manuals that already use > "@documentencoding utf-8", or use non-ASCII characters without any > @documentencoding, thus producing Info files that might display > incorrectly in certain locales. None of that would fix the regression that Drew Adams noted. Better would be to leave the files alone, and build the next Emacs tarball with Texinfo 4. We can switch to Texinfo 5 for building tarballs after the feature freeze is over. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 15:08:37 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 20:08:38 +0000 Received: from localhost ([127.0.0.1]:34329 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzXWP-0002i3-6X for submit@debbugs.gnu.org; Sat, 04 Jan 2014 15:08:37 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:61372) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzXWL-0002hr-CD for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 15:08:34 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MYW00H007SPJM00@a-mtaout22.012.net.il> for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 22:08:31 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYW00HNJ7Y7D050@a-mtaout22.012.net.il>; Sat, 04 Jan 2014 22:08:31 +0200 (IST) Date: Sat, 04 Jan 2014 22:08:14 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52C849DD.7020902@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <83ob3rv7bl.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <52C849DD.7020902@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sat, 04 Jan 2014 09:50:21 -0800 > From: Paul Eggert > CC: Eli Zaretskii , 16292@debbugs.gnu.org, grfz@gmx.de > > Defaulting to ASCII in all platforms would leave the original > bug unfixed by default on all installations, causing the > regression from `foo' to 'foo' that Drew Adams complained of. That's not an Emacs problem. The Texinfo developers decided to make that change, and they followed the GNU Coding Standards. Emacs needs to adapt, as the rest of the GNU project did. If you think this is a step backwards, you need to talk to the Texinfo developers. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 15:12:21 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 20:12:21 +0000 Received: from localhost ([127.0.0.1]:34341 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzXa0-0002oh-6s for submit@debbugs.gnu.org; Sat, 04 Jan 2014 15:12:20 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:62041) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzXZy-0002oZ-60 for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 15:12:18 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MYW00H0082TKT00@a-mtaout22.012.net.il> for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 22:12:14 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYW00HGT84D6UA0@a-mtaout22.012.net.il>; Sat, 04 Jan 2014 22:12:13 +0200 (IST) Date: Sat, 04 Jan 2014 22:11:56 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52C84C78.5000509@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <83mwjbv75f.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <52C84C78.5000509@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sat, 04 Jan 2014 10:01:28 -0800 > From: Paul Eggert > CC: 16292@debbugs.gnu.org, grfz@gmx.de > > Eli Zaretskii wrote: > > And using --disable-encoding is a simpler way of achieving > > that, as it doesn't need any postprocessing. > > No, because we can't assume that the installer has 'makeinfo' > and can run 'makeinfo' with --disable-encoding. Instead, we must use > universally-available tools like 'sed' when installing. I wasn't talking about the installers, I was talking about someone who does the "make info" step. Of course, this being Free Software, any end user can redo "make info" if the result is not to her liking. At that time, she can override the defaults if she so wants. > > we should at least fix the handful of manuals that already use > > "@documentencoding utf-8", or use non-ASCII characters without any > > @documentencoding, thus producing Info files that might display > > incorrectly in certain locales. > > None of that would fix the regression that Drew Adams noted. That regression is not our problem, and if we want to fix it in Emacs, we can use one of the Emacs display features to display some characters as some other characters. > Better would be to leave the files alone, and build the next > Emacs tarball with Texinfo 4. I don't mind to use Texinfo 4, if there are no objections. It would solve the problem that matters to me. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 15:24:19 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 20:24:19 +0000 Received: from localhost ([127.0.0.1]:34352 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzXlZ-00039b-Th for submit@debbugs.gnu.org; Sat, 04 Jan 2014 15:24:18 -0500 Received: from userp1040.oracle.com ([156.151.31.81]:36620) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzXlX-00039S-Gj for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 15:24:16 -0500 Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94]) by userp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id s04KOCN5023880 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sat, 4 Jan 2014 20:24:13 GMT Received: from aserz7021.oracle.com (aserz7021.oracle.com [141.146.126.230]) by ucsinet22.oracle.com (8.14.5+Sun/8.14.5) with ESMTP id s04KOAcr029762 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 4 Jan 2014 20:24:11 GMT Received: from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8]) by aserz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s04KOAYT002949; Sat, 4 Jan 2014 20:24:10 GMT MIME-Version: 1.0 Message-ID: <7b8ccac4-1887-406c-bed8-6b58a761897a@default> Date: Sat, 4 Jan 2014 12:24:05 -0800 (PST) From: Drew Adams To: Eli Zaretskii , Paul Eggert Subject: RE: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <<20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu>> <<83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu>> <<83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu>> <<8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu>> <<837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu>> <<83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu>> <<83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu>> <<83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu>> <<83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> > <<8338l4w5pj.fsf@gnu.org> <52C84C78.5000509@cs.ucla.edu>> <<83mwjbv75f.fsf@gnu.org>> In-Reply-To: <<83mwjbv75f.fsf@gnu.org>> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6680.5000 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Source-IP: ucsinet22.oracle.com [156.151.31.94] X-Spam-Score: -2.7 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) > > Better would be to leave the files alone, and build the next > > Emacs tarball with Texinfo 4. >=20 > I don't mind to use Texinfo 4, if there are no objections. It > would solve the problem that matters to me. But not the problem that matters to the OP and other users in a similar situation. The OP uses Debian and emacs-snapshot. From the original report (to me, but same OP): ---- I use debian linux and I have emacs23, emacs24 andd emacs-snapsho installed. They all come with their respective info files. The info files from emacs23 and emacs24 use `' as delimiters, the info file from emacs-snapshot uses ''. While the info files from emacs23 and emacs24 were generated with makeinfo 4.13, the one from emacs-snapshot was generated with makeinfo 5.2. I don't know if this accounts for the difference. ATM I building an emacs from development sources. I have makeinfo version 5.2 installed. (...) Aha the freshly built info file uses two straight single quotes, as the ones shiped with emacs-snapshot. The manual for makeinfo version 5.2 says: 'OUTPUT_ENCODING_NAME' Normalized encoding name used for output files. Should be a usable charset name in HTML, typically one of the preferred IANA encoding names. By default, if an input encoding is set (typically through '@documentencoding' or 'INPUT_ENCODING_NAME'), this information is used to set the output encoding name. If no input encoding is specified, the default output encoding name may be set by the output format. In particular, the XML-based formats use 'utf-8' for 'OUTPUT_ENCODING_NAME' if the encoding is not otherwise specified. *Note @documentencoding::. And tada: there is no @documentencoding directive in Emacs Lisp Intros texinfo file. ---- From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 15:30:20 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 20:30:20 +0000 Received: from localhost ([127.0.0.1]:34374 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzXrQ-0003Lo-7u for submit@debbugs.gnu.org; Sat, 04 Jan 2014 15:30:20 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:13275) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzXrH-0003LY-Uv for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 15:30:18 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFG4rwsm/2dsb2JhbABEuzWDWRdzgh4BAQQBViMFCws0EhQYDSSIHgbBLZEKA4hhnBmBXoMV X-IPAS-Result: Av8EABK/CFG4rwsm/2dsb2JhbABEuzWDWRdzgh4BAQQBViMFCws0EhQYDSSIHgbBLZEKA4hhnBmBXoMV X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="43994622" Received: from 184-175-11-38.dsl.teksavvy.com (HELO pastel.home) ([184.175.11.38]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 04 Jan 2014 15:30:10 -0500 Received: by pastel.home (Postfix, from userid 20848) id 13299604AC; Sat, 4 Jan 2014 15:30:10 -0500 (EST) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' Message-ID: References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> Date: Sat, 04 Jan 2014 15:30:10 -0500 In-Reply-To: <8338l4w5pj.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 04 Jan 2014 09:45:28 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) >> Isn't there a way other than modifying the file to tell Texinfo that >> the encoding is utf-8? > No, not if you want makeinfo to put the 'coding' cookie in the file > local variables section of the Info file it produces. But that's OK: the `coding' cookie should also be unnecessary for utf-8. > @documentencoding is the way. > If so, we should at least fix the handful of manuals that already use > "@documentencoding utf-8", or use non-ASCII characters without any > @documentencoding, thus producing Info files that might display > incorrectly in certain locales. That's not a new problem and people haven't complained about it, AFAICT, so I'd rather not touch it. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 15:32:44 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 20:32:44 +0000 Received: from localhost ([127.0.0.1]:34379 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzXtj-0003Pw-OW for submit@debbugs.gnu.org; Sat, 04 Jan 2014 15:32:44 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:63222) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzXth-0003Pl-Nx for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 15:32:42 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFG4rwsm/2dsb2JhbABEDrsng1kXc4IeAQEEAVYjBQsLNBIUGA0kiB4GwS2RCgOIYZwZgV6COVw X-IPAS-Result: Av8EABK/CFG4rwsm/2dsb2JhbABEDrsng1kXc4IeAQEEAVYjBQsLNBIUGA0kiB4GwS2RCgOIYZwZgV6COVw X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="43994729" Received: from 184-175-11-38.dsl.teksavvy.com (HELO pastel.home) ([184.175.11.38]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 04 Jan 2014 15:32:41 -0500 Received: by pastel.home (Postfix, from userid 20848) id EEF6C604AC; Sat, 4 Jan 2014 15:32:40 -0500 (EST) From: Stefan Monnier To: Paul Eggert Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' Message-ID: References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <52C849DD.7020902@cs.ucla.edu> Date: Sat, 04 Jan 2014 15:32:40 -0500 In-Reply-To: <52C849DD.7020902@cs.ucla.edu> (Paul Eggert's message of "Sat, 04 Jan 2014 09:50:21 -0800") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 16292 Cc: Eli Zaretskii , grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > Plus, it's UTF-8 not Unicode. No, I really meant Unicode: the issue is not lack of support for utf-8, but lack of support for some Unicode chars. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 15:44:05 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 20:44:05 +0000 Received: from localhost ([127.0.0.1]:34397 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzY4j-0003jg-AW for submit@debbugs.gnu.org; Sat, 04 Jan 2014 15:44:05 -0500 Received: from mtaout20.012.net.il ([80.179.55.166]:65235) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzY4h-0003jU-0O for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 15:44:04 -0500 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MYW00G009HWSU00@a-mtaout20.012.net.il> for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 22:43:04 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYW00GHC9JSG6A0@a-mtaout20.012.net.il>; Sat, 04 Jan 2014 22:43:04 +0200 (IST) Date: Sat, 04 Jan 2014 22:42:47 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <7b8ccac4-1887-406c-bed8-6b58a761897a@default> X-012-Sender: halo1@inter.net.il To: Drew Adams Message-id: <83iotzv5q0.fsf@gnu.org> References: <"<20131229220810.GF7972"@boo.workgroup> <"<83sita1cbw.fsf"@gnu.org> <"<83fvpa16kh.fsf"@gnu.org> <"<8338l91l2t.fsf"@gnu.org> <"<837gajyrq1.fsf"@gnu.org> <"<83zjnextyg.fsf"@gnu.org> <"<83ppoaxfu6.fsf"@gnu.org> <"<83fvp5xzk0.fsf"@gnu.org> <"<83mwjcx1i9.fsf"@gnu.org> <52C750C4.6040006@cs.ucla.edu> <"<8338l4w5pj.fsf"@gnu.org> <7b8ccac4-1887-406c-bed8-6b58a761897a@default> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sat, 4 Jan 2014 12:24:05 -0800 (PST) > From: Drew Adams > Cc: 16292@debbugs.gnu.org, grfz@gmx.de > > > > Better would be to leave the files alone, and build the next > > > Emacs tarball with Texinfo 4. > > > > I don't mind to use Texinfo 4, if there are no objections. It > > would solve the problem that matters to me. > > But not the problem that matters to the OP and other users in a > similar situation. Yes, that too: Texinfo 4 still uses `..' for quoting. > The OP uses Debian and emacs-snapshot. From the original report > (to me, but same OP): Again, this isn't an Emacs problem. It is wrong to expect Emacs to fix problems caused by decisions of other packages. However, patches are welcome to fix that separately by using, e.g., display tables. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 15:45:51 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 20:45:51 +0000 Received: from localhost ([127.0.0.1]:34402 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzY6Q-0003nD-TT for submit@debbugs.gnu.org; Sat, 04 Jan 2014 15:45:51 -0500 Received: from mtaout29.012.net.il ([80.179.55.185]:42172) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzY6O-0003n2-Ts for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 15:45:49 -0500 Received: from conversion-daemon.mtaout29.012.net.il by mtaout29.012.net.il (HyperSendmail v2007.08) id <0MYW00M008WX6Y00@mtaout29.012.net.il> for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 22:46:09 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout29.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYW00FC69OWVI70@mtaout29.012.net.il>; Sat, 04 Jan 2014 22:46:09 +0200 (IST) Date: Sat, 04 Jan 2014 22:45:30 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: To: Stefan Monnier Message-id: <83ha9jv5lh.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Stefan Monnier > Cc: eggert@cs.ucla.edu, 16292@debbugs.gnu.org, grfz@gmx.de > Date: Sat, 04 Jan 2014 15:30:10 -0500 > > >> Isn't there a way other than modifying the file to tell Texinfo that > >> the encoding is utf-8? > > No, not if you want makeinfo to put the 'coding' cookie in the file > > local variables section of the Info file it produces. > > But that's OK: the `coding' cookie should also be unnecessary for utf-8. I wouldn't rely on that, but I see your point. > > If so, we should at least fix the handful of manuals that already use > > "@documentencoding utf-8", or use non-ASCII characters without any > > @documentencoding, thus producing Info files that might display > > incorrectly in certain locales. > > That's not a new problem and people haven't complained about it, AFAICT, > so I'd rather not touch it. I won't recommend that: the effect is only visible with Texinfo 5, which is still new. Complaints might come too late for us to be able to fix them (after the release). From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 15:53:12 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 20:53:12 +0000 Received: from localhost ([127.0.0.1]:34415 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzYDX-00041H-L4 for submit@debbugs.gnu.org; Sat, 04 Jan 2014 15:53:12 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:44937) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzYDU-000417-Fy for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 15:53:09 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 66D6F39E8105; Sat, 4 Jan 2014 12:53:07 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id k8w2wQAJoH7l; Sat, 4 Jan 2014 12:53:07 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id E93BD39E8008; Sat, 4 Jan 2014 12:53:06 -0800 (PST) Message-ID: <52C874B2.9010903@cs.ucla.edu> Date: Sat, 04 Jan 2014 12:53:06 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii , Stefan Monnier Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> In-Reply-To: <83ha9jv5lh.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.7 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) Eli Zaretskii wrote: > Complaints might come too late for us to be able > to fix them (after the release). Any such complaints would come only from people expert enough to run makeinfo themselves, no? So these people could be asked to run Texinfo 4, just as we did, if they want to have quotes `like this' that follow the older style. It's not unreasonable to ask experts to run old programs if they want to generate old-style output. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 15:53:30 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 20:53:31 +0000 Received: from localhost ([127.0.0.1]:34418 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzYDq-00042r-B0 for submit@debbugs.gnu.org; Sat, 04 Jan 2014 15:53:30 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:44945) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzYDo-00042G-8B for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 15:53:28 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 785B739E8105; Sat, 4 Jan 2014 12:53:27 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oj6rAGj85j5h; Sat, 4 Jan 2014 12:53:27 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id F161339E8008; Sat, 4 Jan 2014 12:53:26 -0800 (PST) Message-ID: <52C874C6.50107@cs.ucla.edu> Date: Sat, 04 Jan 2014 12:53:26 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <52C849DD.7020902@cs.ucla.edu> <83ob3rv7bl.fsf@gnu.org> In-Reply-To: <83ob3rv7bl.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.7 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) Eli Zaretskii wrote: >> Date: Sat, 04 Jan 2014 09:50:21 -0800 >> From: Paul Eggert >> >> Defaulting to ASCII in all platforms would leave the original >> bug unfixed by default on all installations, causing the >> regression from `foo' to 'foo' that Drew Adams complained of. > > That's not an Emacs problem. The Texinfo developers decided to make > that change, and they followed the GNU Coding Standards. Emacs needs > to adapt, as the rest of the GNU project did. If you think this is a > step backwards Defaulting to ASCII in all platforms would not be not a Texinfo problem, as the ASCII transformation in the proposed patch is an Emacs-only hack. No other package uses it, or is likely to. Texinfo has an established method to avoid the regression, namely to use UTF-8 quote symbols, and Emacs could easily adopt this method, just as other GNU programs have. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 16:07:28 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 21:07:28 +0000 Received: from localhost ([127.0.0.1]:34449 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzYRL-0004TE-HK for submit@debbugs.gnu.org; Sat, 04 Jan 2014 16:07:28 -0500 Received: from aserp1040.oracle.com ([141.146.126.69]:38867) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzYRK-0004T4-Bg for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 16:07:26 -0500 Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by aserp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id s04L7Ngk008078 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sat, 4 Jan 2014 21:07:24 GMT Received: from aserz7022.oracle.com (aserz7022.oracle.com [141.146.126.231]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s04L7Lk7026075 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 4 Jan 2014 21:07:21 GMT Received: from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8]) by aserz7022.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s04L7Kou025736; Sat, 4 Jan 2014 21:07:20 GMT MIME-Version: 1.0 Message-ID: <9452eaac-216d-4f87-9f90-6428d85650d1@default> Date: Sat, 4 Jan 2014 13:07:15 -0800 (PST) From: Drew Adams To: Eli Zaretskii Subject: RE: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <<"<20131229220810.GF7972"@boo.workgroup>> <<"<83sita1cbw.fsf"@gnu.org>> <<"<83fvpa16kh.fsf"@gnu.org>> <<"<8338l91l2t.fsf"@gnu.org>> <<"<837gajyrq1.fsf"@gnu.org>> <<"<83zjnextyg.fsf"@gnu.org>> <<"<83ppoaxfu6.fsf"@gnu.org>> <<"<83fvp5xzk0.fsf"@gnu.org>> <<"<83mwjcx1i9.fsf"@gnu.org>> <> <<52C750C4.6040006@cs.ucla.edu>> <<"<8338l4w5pj.fsf"@gnu.org>> <<7b8ccac4-1887-406c-bed8-6b58a761897a@default>> <<83iotzv5q0.fsf@gnu.org>> In-Reply-To: <<83iotzv5q0.fsf@gnu.org>> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6680.5000 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-Spam-Score: -2.7 (--) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) > > > > Better would be to leave the files alone, and build the next > > > > Emacs tarball with Texinfo 4. > > > > > > I don't mind to use Texinfo 4, if there are no objections. It > > > would solve the problem that matters to me. > > > > But not the problem that matters to the OP and other users in a > > similar situation. >=20 > Yes, that too: Texinfo 4 still uses `..' for quoting. No. The OP's problem came from an Emacs that was built otherwise. That's the point. He was aware of that being the cause; it is exactly that problem that he reported (to me). Yes, Texinfo and makeinfo are not Emacs. That's your point. But that does not solve the OP's problem. That's the point. > > The OP uses Debian and emacs-snapshot. >=20 > Again, this isn't an Emacs problem. It is wrong to expect Emacs > to fix problems caused by decisions of other packages. I can sympathize with that, and I agree with it generally. Still, it seems that in this case it means that more and more Emacs users will get worse Info behavior in Emacs, as more and more builders move to a more recent Texinfo/makeinfo. Can we only tell users that this is not an Emacs problem? That's the answer? Perhaps there comes a point when it might make sense to work around some problems that are strictly speaking "not an Emacs problem". They can end up becoming a problem for Emacs (Emacs users), whether or not Emacs is the source of the problem. Of course, whether to try to work around such a problem probably also depends on the difficulty of implementing (and maintaining) the workaround. I cannot speak to that. I will only say that it's too bad if Emacs users lose reasonable Info behavior that they have enjoyed since the beginning. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 16:08:49 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 21:08:49 +0000 Received: from localhost ([127.0.0.1]:34453 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzYSe-0004Vr-K6 for submit@debbugs.gnu.org; Sat, 04 Jan 2014 16:08:48 -0500 Received: from mtaout20.012.net.il ([80.179.55.166]:36882) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzYSc-0004Vh-RC for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 16:08:47 -0500 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MYW00G00AJHXL00@a-mtaout20.012.net.il> for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 23:08:45 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYW00GZVAQLTS30@a-mtaout20.012.net.il>; Sat, 04 Jan 2014 23:08:45 +0200 (IST) Date: Sat, 04 Jan 2014 23:08:28 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52C874B2.9010903@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <83eh4nv4j7.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> <52C874B2.9010903@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sat, 04 Jan 2014 12:53:06 -0800 > From: Paul Eggert > CC: 16292@debbugs.gnu.org, grfz@gmx.de > > Eli Zaretskii wrote: > > Complaints might come too late for us to be able > > to fix them (after the release). > > Any such complaints would come only from people > expert enough to run makeinfo themselves, no? Not necessarily. I'm talking again about the Unicode characters produced by Texinfo 5 when @documentencoding says utf-8. Any user can bump into this. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 16:11:00 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 21:11:00 +0000 Received: from localhost ([127.0.0.1]:34466 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzYUl-0004Zy-Kj for submit@debbugs.gnu.org; Sat, 04 Jan 2014 16:10:59 -0500 Received: from mtaout21.012.net.il ([80.179.55.169]:62835) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzYUj-0004Zn-2i for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 16:10:57 -0500 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0MYW00000ASWQ800@a-mtaout21.012.net.il> for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 23:10:55 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYW0000AAU7QE00@a-mtaout21.012.net.il>; Sat, 04 Jan 2014 23:10:55 +0200 (IST) Date: Sat, 04 Jan 2014 23:10:39 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52C874C6.50107@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <83d2k7v4fk.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <52C849DD.7020902@cs.ucla.edu> <83ob3rv7bl.fsf@gnu.org> <52C874C6.50107@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sat, 04 Jan 2014 12:53:26 -0800 > From: Paul Eggert > CC: monnier@iro.umontreal.ca, 16292@debbugs.gnu.org, grfz@gmx.de > > Eli Zaretskii wrote: > >> Date: Sat, 04 Jan 2014 09:50:21 -0800 > >> From: Paul Eggert > >> > >> Defaulting to ASCII in all platforms would leave the original > >> bug unfixed by default on all installations, causing the > >> regression from `foo' to 'foo' that Drew Adams complained of. > > > > That's not an Emacs problem. The Texinfo developers decided to make > > that change, and they followed the GNU Coding Standards. Emacs needs > > to adapt, as the rest of the GNU project did. If you think this is a > > step backwards > > Defaulting to ASCII in all platforms would not be not a Texinfo problem, > as the ASCII transformation in the proposed patch is an Emacs-only hack. I wasn't talking about ASCII transformation. I was talking about either avoiding the use of "@documentencoding utf-8" or using "--disable-encoding" for those manuals that need non-ASCII text. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 16:11:38 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 21:11:38 +0000 Received: from localhost ([127.0.0.1]:34473 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzYVO-0004bk-9T for submit@debbugs.gnu.org; Sat, 04 Jan 2014 16:11:38 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:31119) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzYVN-0004bb-AE for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 16:11:37 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFG4rwsm/2dsb2JhbABEuzWDWRdzgh4BAQQBViMFCws0EhQYDSSIHgbBLZEKA4hhnBmBXoMV X-IPAS-Result: Av8EABK/CFG4rwsm/2dsb2JhbABEuzWDWRdzgh4BAQQBViMFCws0EhQYDSSIHgbBLZEKA4hhnBmBXoMV X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="43997839" Received: from 184-175-11-38.dsl.teksavvy.com (HELO pastel.home) ([184.175.11.38]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 04 Jan 2014 16:11:36 -0500 Received: by pastel.home (Postfix, from userid 20848) id 5A8D8604AC; Sat, 4 Jan 2014 16:11:36 -0500 (EST) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' Message-ID: References: <20131229220810.GF7972@boo.workgroup> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> Date: Sat, 04 Jan 2014 16:11:36 -0500 In-Reply-To: <83ha9jv5lh.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 04 Jan 2014 22:45:30 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > I won't recommend that: the effect is only visible with Texinfo 5, > which is still new. Complaints might come too late for us to be able > to fix them (after the release). I think we should take the risk. It will also give us a good idea of whether avoiding Unicode quotes is worth the trouble of --disable-encoding (or of a sed script to convert them back to ASCII). Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 18:06:00 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 23:06:00 +0000 Received: from localhost ([127.0.0.1]:34605 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzaI4-0007uT-Cu for submit@debbugs.gnu.org; Sat, 04 Jan 2014 18:06:00 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:30352) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzaI1-0007uI-Vk for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 18:05:58 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFG4rwsm/2dsb2JhbABEuzWDWRdzgh4BAQQBViMFCws0EhQYDSSIHgbBLZEKA4hhnBmBXoMV X-IPAS-Result: Av8EABK/CFG4rwsm/2dsb2JhbABEuzWDWRdzgh4BAQQBViMFCws0EhQYDSSIHgbBLZEKA4hhnBmBXoMV X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="44009289" Received: from 184-175-11-38.dsl.teksavvy.com (HELO pastel.home) ([184.175.11.38]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 04 Jan 2014 18:05:54 -0500 Received: by pastel.home (Postfix, from userid 20848) id 78B61604AC; Sat, 4 Jan 2014 18:05:52 -0500 (EST) From: Stefan Monnier To: Drew Adams Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' Message-ID: References: <20131229220810.GF7972"@boo.workgroup>> <83sita1cbw.fsf"@gnu.org>> <83fvpa16kh.fsf"@gnu.org>> <8338l91l2t.fsf"@gnu.org>> <837gajyrq1.fsf"@gnu.org>> <83zjnextyg.fsf"@gnu.org>> <83ppoaxfu6.fsf"@gnu.org>> <83fvp5xzk0.fsf"@gnu.org>> <83mwjcx1i9.fsf"@gnu.org>> > <52C750C4.6040006@cs.ucla.edu>> <8338l4w5pj.fsf"@gnu.org>> <7b8ccac4-1887-406c-bed8-6b58a761897a@default>> <83iotzv5q0.fsf@gnu.org>> <9452eaac-216d-4f87-9f90-6428d85650d1@default> Date: Sat, 04 Jan 2014 18:05:52 -0500 In-Reply-To: <9452eaac-216d-4f87-9f90-6428d85650d1@default> (Drew Adams's message of "Sat, 4 Jan 2014 13:07:15 -0800 (PST)") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 16292 Cc: Eli Zaretskii , eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > Can we only tell users that this is not an Emacs problem? Yes. The bug should be reported to Texinfo maintainers. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 18:29:30 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 23:29:30 +0000 Received: from localhost ([127.0.0.1]:34631 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vzaen-000075-Ij for submit@debbugs.gnu.org; Sat, 04 Jan 2014 18:29:30 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:48908) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vzaek-00006w-Jf for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 18:29:27 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id D40B739E8106; Sat, 4 Jan 2014 15:29:25 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id M9z+VMPi7HTD; Sat, 4 Jan 2014 15:29:25 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 42E1639E8008; Sat, 4 Jan 2014 15:29:25 -0800 (PST) Message-ID: <52C89954.909@cs.ucla.edu> Date: Sat, 04 Jan 2014 15:29:24 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> <52C874B2.9010903@cs.ucla.edu> <83eh4nv4j7.fsf@gnu.org> In-Reply-To: <83eh4nv4j7.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.7 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) Eli Zaretskii wrote: > Not necessarily. I'm talking again about the Unicode characters > produced by Texinfo 5 when @documentencoding says utf-8. Any user can > bump into this. A user won't bump into that in the released Emacs manual, if we build it with Texinfo 4. The only people who will bump into that are people who edit the manual and run Texinfo themselves. These are few enough and expert enough that we can simply ask them to use Texinfo 4 if they care about the quoting and don't want to work on the trunk. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 18:35:40 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 23:35:40 +0000 Received: from localhost ([127.0.0.1]:34640 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vzakl-0000IX-TB for submit@debbugs.gnu.org; Sat, 04 Jan 2014 18:35:40 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:49049) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vzakj-0000IP-ME for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 18:35:38 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 1EE6A39E8106; Sat, 4 Jan 2014 15:35:37 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bTUmy6+4UbFs; Sat, 4 Jan 2014 15:35:36 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 98D3739E8008; Sat, 4 Jan 2014 15:35:36 -0800 (PST) Message-ID: <52C89AC8.9080301@cs.ucla.edu> Date: Sat, 04 Jan 2014 15:35:36 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <52C849DD.7020902@cs.ucla.edu> <83ob3rv7bl.fsf@gnu.org> <52C874C6.50107@cs.ucla.edu> <83d2k7v4fk.fsf@gnu.org> In-Reply-To: <83d2k7v4fk.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.7 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) Eli Zaretskii wrote: > I wasn't talking about ASCII transformation. But I was, in the message you replied to. My message was talking about whether the proposed patch should default to the ASCII transformation. Doing that would leave the original Emacs bug unfixed by default, which is undesirable. > I was talking about > either avoiding the use of "@documentencoding utf-8" or using > "--disable-encoding" for those manuals that need non-ASCII text. Ah, OK, but neither of those approaches is suitable for the Emacs manuals in the long run, after the feature freeze is over. And in the short run we can just leave the files alone, and build the next release tarball with Texinfo 4. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 18:45:18 2014 Received: (at 16292) by debbugs.gnu.org; 4 Jan 2014 23:45:18 +0000 Received: from localhost ([127.0.0.1]:34659 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vzau5-0000cu-HS for submit@debbugs.gnu.org; Sat, 04 Jan 2014 18:45:17 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:49297) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vzau4-0000cn-2H for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 18:45:16 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 497A439E8106; Sat, 4 Jan 2014 15:45:15 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gX2nt8I0EaYv; Sat, 4 Jan 2014 15:45:14 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id BDA6C39E8008; Sat, 4 Jan 2014 15:45:14 -0800 (PST) Message-ID: <52C89D0A.7030204@cs.ucla.edu> Date: Sat, 04 Jan 2014 15:45:14 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Drew Adams , Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <<"<20131229220810.GF7972"@boo.workgroup>> <<"<83sita1cbw.fsf"@gnu.org>> <<"<83fvpa16kh.fsf"@gnu.org>> <<"<8338l91l2t.fsf"@gnu.org>> <<"<837gajyrq1.fsf"@gnu.org>> <<"<83zjnextyg.fsf"@gnu.org>> <<"<83ppoaxfu6.fsf"@gnu.org>> <<"<83fvp5xzk0.fsf"@gnu.org>> <<"<83mwjcx1i9.fsf"@gnu.org>> <> <<52C750C4.6040006@cs.ucla.edu>> <<"<8338l4w5pj.fsf"@gnu.org>> <<7b8ccac4-1887-406c-bed8-6b58a761897a@default>> <<83iotzv5q0.fsf@gnu.org>> <9452eaac-216d-4f87-9f90-6428d85650d1@default> In-Reply-To: <9452eaac-216d-4f87-9f90-6428d85650d1@default> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -2.7 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) Drew Adams wrote: > it seems that in this case it means that more and more Emacs users > will get worse Info behavior in Emacs, as more and more builders > move to a more recent Texinfo/makeinfo. It's temporary, because we're in a feature freeze and don't want to install the necessary feature until after the next release. The next release should use Texinfo 4 to build the tarball, so its info files should still use quotes `like this', and there shouldn't be a regression. After the feature freeze is over, we can install the necessary feature and switch to the new Texinfo, which quotes ‘like this’, so there still won't be a regression. The new feature will let installers choose to quote 'like this' if they like (which *will* be a regression from your point of view), but that'll be an option that you won't have to choose. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 22:42:07 2014 Received: (at 16292) by debbugs.gnu.org; 5 Jan 2014 03:42:07 +0000 Received: from localhost ([127.0.0.1]:34871 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzebG-0007RI-Fw for submit@debbugs.gnu.org; Sat, 04 Jan 2014 22:42:06 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:34850) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzebC-0007Qn-2i for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 22:42:03 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MYW00K00SKEPL00@a-mtaout22.012.net.il> for 16292@debbugs.gnu.org; Sun, 05 Jan 2014 05:42:00 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYW00K49SXZI760@a-mtaout22.012.net.il>; Sun, 05 Jan 2014 05:42:00 +0200 (IST) Date: Sun, 05 Jan 2014 05:41:44 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <9452eaac-216d-4f87-9f90-6428d85650d1@default> X-012-Sender: halo1@inter.net.il To: Drew Adams Message-id: <83a9fbumbr.fsf@gnu.org> References: <9452eaac-216d-4f87-9f90-6428d85650d1@default> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sat, 4 Jan 2014 13:07:15 -0800 (PST) > From: Drew Adams > Cc: eggert@cs.ucla.edu, 16292@debbugs.gnu.org, grfz@gmx.de > > > Yes, that too: Texinfo 4 still uses `..' for quoting. > > No. The OP's problem came from an Emacs that was built otherwise. > That's the point. He was aware of that being the cause; it is > exactly that problem that he reported (to me). > > Yes, Texinfo and makeinfo are not Emacs. That's your point. But > that does not solve the OP's problem. That's the point. It will solve some of the problem, because Emacs will be released with the quoting he wanted. But the problem itself should find there solution either in Texinfo, or in the Lisp programs (and users' minds) that will adapt to the change. > I can sympathize with that, and I agree with it generally. Still, > it seems that in this case it means that more and more Emacs users > will get worse Info behavior in Emacs, as more and more builders > move to a more recent Texinfo/makeinfo. Can we only tell users > that this is not an Emacs problem? That's the answer? As I said, patches are welcome to display '..' as something more visually pleasing. > I will only say that it's too bad if Emacs users lose reasonable > Info behavior that they have enjoyed since the beginning. That ship sailed several months ago. There's nothing we can do to return it, unless Texinfo changes back (unlikely, if you ask me). From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 22:43:20 2014 Received: (at 16292) by debbugs.gnu.org; 5 Jan 2014 03:43:20 +0000 Received: from localhost ([127.0.0.1]:34875 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzecS-0007TU-Bg for submit@debbugs.gnu.org; Sat, 04 Jan 2014 22:43:20 -0500 Received: from mtaout23.012.net.il ([80.179.55.175]:56045) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzecP-0007TJ-G6 for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 22:43:18 -0500 Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0MYW00I00S9FUG00@a-mtaout23.012.net.il> for 16292@debbugs.gnu.org; Sun, 05 Jan 2014 05:43:16 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYW00IXYT03VF00@a-mtaout23.012.net.il>; Sun, 05 Jan 2014 05:43:16 +0200 (IST) Date: Sun, 05 Jan 2014 05:43:00 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: X-012-Sender: halo1@inter.net.il To: Stefan Monnier Message-id: <838uuvum9n.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Stefan Monnier > Cc: eggert@cs.ucla.edu, 16292@debbugs.gnu.org, grfz@gmx.de > Date: Sat, 04 Jan 2014 16:11:36 -0500 > > > I won't recommend that: the effect is only visible with Texinfo 5, > > which is still new. Complaints might come too late for us to be able > > to fix them (after the release). > > I think we should take the risk. Why? what damage you envision from fixing a couple of manuals that are affected by this? From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 22:48:18 2014 Received: (at 16292) by debbugs.gnu.org; 5 Jan 2014 03:48:18 +0000 Received: from localhost ([127.0.0.1]:34885 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzehG-0007cK-36 for submit@debbugs.gnu.org; Sat, 04 Jan 2014 22:48:18 -0500 Received: from mtaout21.012.net.il ([80.179.55.169]:39853) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzehD-0007cA-J4 for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 22:48:16 -0500 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0MYW00200SPA5G00@a-mtaout21.012.net.il> for 16292@debbugs.gnu.org; Sun, 05 Jan 2014 05:48:14 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYW002KLT8D5N10@a-mtaout21.012.net.il>; Sun, 05 Jan 2014 05:48:14 +0200 (IST) Date: Sun, 05 Jan 2014 05:47:58 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52C89954.909@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <8361pzum1d.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> <52C874B2.9010903@cs.ucla.edu> <83eh4nv4j7.fsf@gnu.org> <52C89954.909@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sat, 04 Jan 2014 15:29:24 -0800 > From: Paul Eggert > CC: monnier@iro.umontreal.ca, 16292@debbugs.gnu.org, grfz@gmx.de > > Eli Zaretskii wrote: > > Not necessarily. I'm talking again about the Unicode characters > > produced by Texinfo 5 when @documentencoding says utf-8. Any user can > > bump into this. > > A user won't bump into that in the released Emacs manual, if > we build it with Texinfo 4. The only people who will bump > into that are people who edit the manual and run Texinfo themselves. > These are few enough and expert enough that we can simply ask > them to use Texinfo 4 if they care about the quoting and don't > want to work on the trunk. There's no expertise involved in "make info". And it uses the version of Texinfo installed on the system, which normally has nothing to do with Emacs. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 22:49:32 2014 Received: (at 16292) by debbugs.gnu.org; 5 Jan 2014 03:49:32 +0000 Received: from localhost ([127.0.0.1]:34889 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzeiR-0007eZ-O0 for submit@debbugs.gnu.org; Sat, 04 Jan 2014 22:49:32 -0500 Received: from mtaout21.012.net.il ([80.179.55.169]:39876) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzeiP-0007eQ-Oy for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 22:49:30 -0500 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0MYW00200SPA5G00@a-mtaout21.012.net.il> for 16292@debbugs.gnu.org; Sun, 05 Jan 2014 05:49:28 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYW002S2TAG5N10@a-mtaout21.012.net.il>; Sun, 05 Jan 2014 05:49:28 +0200 (IST) Date: Sun, 05 Jan 2014 05:49:12 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52C89AC8.9080301@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <834n5julzb.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <52C849DD.7020902@cs.ucla.edu> <83ob3rv7bl.fsf@gnu.org> <52C874C6.50107@cs.ucla.edu> <83d2k7v4fk.fsf@gnu.org> <52C89AC8.9080301@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sat, 04 Jan 2014 15:35:36 -0800 > From: Paul Eggert > CC: monnier@iro.umontreal.ca, 16292@debbugs.gnu.org, grfz@gmx.de > > > I was talking about > > either avoiding the use of "@documentencoding utf-8" or using > > "--disable-encoding" for those manuals that need non-ASCII text. > > Ah, OK, but neither of those approaches is suitable > for the Emacs manuals in the long run, after the > feature freeze is over. And in the short run we > can just leave the files alone, and build the > next release tarball with Texinfo 4. My suggestion solves more potential problems, so I think it is better even in the short run, if not in the long. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 04 23:55:53 2014 Received: (at 16292) by debbugs.gnu.org; 5 Jan 2014 04:55:53 +0000 Received: from localhost ([127.0.0.1]:34941 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vzfkf-0001GO-4h for submit@debbugs.gnu.org; Sat, 04 Jan 2014 23:55:53 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:57530) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vzfkd-0001GH-Pn for 16292@debbugs.gnu.org; Sat, 04 Jan 2014 23:55:52 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFG4rwsm/2dsb2JhbABEuzWDWRdzgh4BAQQBViMQCzQSFBgNJIgeBsEtkQoDiGGcGYFegxU X-IPAS-Result: Av8EABK/CFG4rwsm/2dsb2JhbABEuzWDWRdzgh4BAQQBViMQCzQSFBgNJIgeBsEtkQoDiGGcGYFegxU X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="44045350" Received: from 184-175-11-38.dsl.teksavvy.com (HELO ceviche.home) ([184.175.11.38]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 04 Jan 2014 23:55:51 -0500 Received: by ceviche.home (Postfix, from userid 20848) id 0BDAF660A5; Sat, 4 Jan 2014 23:55:51 -0500 (EST) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' Message-ID: References: <20131229220810.GF7972@boo.workgroup> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> <838uuvum9n.fsf@gnu.org> Date: Sat, 04 Jan 2014 23:55:51 -0500 In-Reply-To: <838uuvum9n.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 05 Jan 2014 05:43:00 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) >> > I won't recommend that: the effect is only visible with Texinfo 5, >> > which is still new. Complaints might come too late for us to be able >> > to fix them (after the release). >> I think we should take the risk. > Why? what damage you envision from fixing a couple of manuals that are > affected by this? The text you elided explains the benefit I hope to get from not changing (you call it "fixing" but I disagree with this designation) those manuals. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 05 00:23:06 2014 Received: (at 16292) by debbugs.gnu.org; 5 Jan 2014 05:23:06 +0000 Received: from localhost ([127.0.0.1]:34973 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzgB0-00028X-8r for submit@debbugs.gnu.org; Sun, 05 Jan 2014 00:23:06 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:57324) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzgAy-00028M-FN for 16292@debbugs.gnu.org; Sun, 05 Jan 2014 00:23:04 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 11CDD39E80FF; Sat, 4 Jan 2014 21:23:04 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zv3EKRoPDZ47; Sat, 4 Jan 2014 21:23:03 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 7D90639E8008; Sat, 4 Jan 2014 21:23:03 -0800 (PST) Message-ID: <52C8EC37.1020201@cs.ucla.edu> Date: Sat, 04 Jan 2014 21:23:03 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> <52C874B2.9010903@cs.ucla.edu> <83eh4nv4j7.fsf@gnu.org> <52C89954.909@cs.ucla.edu> <8361pzum1d.fsf@gnu.org> In-Reply-To: <8361pzum1d.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.7 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) Eli Zaretskii wrote: > There's no expertise involved in "make info". Typical Emacs users don't run 'make info'. And even for the few who do run it, it does nothing unless they also edit a .texi file, which is something typical users also are unlikely to do. The rare user who's expert enough to edit the manual, run 'make info', and care about how the resulting quotes look, should be able to understand and act on suggestions either to use Texinfo 4 or to update to the post-freeze trunk. > My suggestion solves more potential problems I'm afraid not. Avoiding @documentencoding causes Texinfo 5 to mishandle UTF-8 characters when generating formats such as HTML, so that's a non-starter. And both it and --disable-encoding cause the regression that Drew noted. So it'd be unwise to use either approach postfreeze when we build the tarball's Info files with Texinfo 5 -- and these are the most commonly-used Info files. From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 05 01:13:30 2014 Received: (at 16292) by debbugs.gnu.org; 5 Jan 2014 06:13:30 +0000 Received: from localhost ([127.0.0.1]:35015 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vzgxm-0003d1-5D for submit@debbugs.gnu.org; Sun, 05 Jan 2014 01:13:30 -0500 Received: from aserp1040.oracle.com ([141.146.126.69]:25831) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vzgxk-0003cr-Ia for 16292@debbugs.gnu.org; Sun, 05 Jan 2014 01:13:29 -0500 Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94]) by aserp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id s056DPKm006680 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sun, 5 Jan 2014 06:13:26 GMT Received: from aserz7021.oracle.com (aserz7021.oracle.com [141.146.126.230]) by ucsinet22.oracle.com (8.14.5+Sun/8.14.5) with ESMTP id s056DOev011186 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 5 Jan 2014 06:13:25 GMT Received: from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8]) by aserz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s056DOCG007947; Sun, 5 Jan 2014 06:13:24 GMT MIME-Version: 1.0 Message-ID: Date: Sat, 4 Jan 2014 22:13:17 -0800 (PST) From: Drew Adams To: Paul Eggert , Eli Zaretskii Subject: RE: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <<"<20131229220810.GF7972"@boo.workgroup>> <<"<83sita1cbw.fsf"@gnu.org>> <<"<83fvpa16kh.fsf"@gnu.org>> <<"<8338l91l2t.fsf"@gnu.org>> <<"<837gajyrq1.fsf"@gnu.org>> <<"<83zjnextyg.fsf"@gnu.org>> <<"<83ppoaxfu6.fsf"@gnu.org>> <<"<83fvp5xzk0.fsf"@gnu.org>> <<"<83mwjcx1i9.fsf"@gnu.org>> <> <<52C750C4.6040006@cs.ucla.edu>> <<"<8338l4w5pj.fsf"@gnu.org>> <<7b8ccac4-1887-406c-bed8-6b58a761897a@default>> <<83iotzv5q0.fsf@gnu.org>> <9452eaac-216d-4f87-9f90-6428d85650d1@default> <52C89D0A.7030204@cs.ucla.edu> In-Reply-To: <52C89D0A.7030204@cs.ucla.edu> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6680.5000 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Source-IP: ucsinet22.oracle.com [156.151.31.94] X-Spam-Score: -2.7 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) > It's temporary, because we're in a feature freeze and don't > want to install the necessary feature until after the next release. > The next release should use Texinfo 4 to build the tarball, so > its info files should still use quotes `like this', and there > shouldn't be a regression. >=20 > After the feature freeze is over, we can install the necessary > feature and switch to the new Texinfo, which quotes =E2=80=98like this=E2= =80=99, > so there still won't be a regression. The new feature will let > installers choose to quote 'like this' if they like (which > *will* be a regression from your point of view), but that'll > be an option that you won't have to choose. Sounds reasonable to me, though I guess it means that some users whose installers choose '...' for them will see a regression wrt 1985 (presumably from anyone's point of view). From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 05 11:19:45 2014 Received: (at 16292) by debbugs.gnu.org; 5 Jan 2014 16:19:45 +0000 Received: from localhost ([127.0.0.1]:36368 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzqQS-0000sr-KH for submit@debbugs.gnu.org; Sun, 05 Jan 2014 11:19:44 -0500 Received: from mtaout21.012.net.il ([80.179.55.169]:47042) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzqQO-0000se-Gv for 16292@debbugs.gnu.org; Sun, 05 Jan 2014 11:19:41 -0500 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0MYX00700RSV5M00@a-mtaout21.012.net.il> for 16292@debbugs.gnu.org; Sun, 05 Jan 2014 18:19:38 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYX006ZGS0IPBB0@a-mtaout21.012.net.il>; Sun, 05 Jan 2014 18:19:31 +0200 (IST) Date: Sun, 05 Jan 2014 18:19:16 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: X-012-Sender: halo1@inter.net.il To: Stefan Monnier Message-id: <8338l2v1tn.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> <838uuvum9n.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Stefan Monnier > Cc: eggert@cs.ucla.edu, 16292@debbugs.gnu.org, grfz@gmx.de > Date: Sat, 04 Jan 2014 23:55:51 -0500 > > >> > I won't recommend that: the effect is only visible with Texinfo 5, > >> > which is still new. Complaints might come too late for us to be able > >> > to fix them (after the release). > >> I think we should take the risk. > > Why? what damage you envision from fixing a couple of manuals that are > > affected by this? > > The text you elided explains the benefit I hope to get from not changing I elided it because it started with "also", which I interpreted to mean that the part I quoted stood on its own. So I asked for the reasons to that part, and that part only. If now you are saying that the reason is this: > It will give us a good idea of whether avoiding Unicode quotes is > worth the trouble of --disable-encoding (or of a sed script to > convert them back to ASCII) then I confess that it's a strange reason: why avoid solving a clear problem just to know whether it is worth solving, when the solution is at hand and quite simple. > (you call it "fixing" but I disagree with this designation) Let me try to convince you. Try this: $ LC_CTYPE=sv_SE.ISO8859-1 ./src/emacs -Q C-u C-h i info/htmlfontify.info RET g Interactive RET Then look around the middle of the first screen, in a paragraph that begins with "You should", and tell me whether you still think this need not be fixed. Also, note the encoding displayed by Emacs on the mode line (it should be UTF-8). Similar problems exist in org.info, mh-e.info, ses.info, and dbus.info. (You may need to generate the manuals with makeinfo 4.13 to see these problems.) From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 05 11:30:52 2014 Received: (at 16292) by debbugs.gnu.org; 5 Jan 2014 16:30:52 +0000 Received: from localhost ([127.0.0.1]:36382 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzqbE-0001Ci-0x for submit@debbugs.gnu.org; Sun, 05 Jan 2014 11:30:52 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:40419) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzqbA-0001CU-SH for 16292@debbugs.gnu.org; Sun, 05 Jan 2014 11:30:50 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MYX00600SIY9800@a-mtaout22.012.net.il> for 16292@debbugs.gnu.org; Sun, 05 Jan 2014 18:30:47 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYX006XPSJA1N40@a-mtaout22.012.net.il>; Sun, 05 Jan 2014 18:30:47 +0200 (IST) Date: Sun, 05 Jan 2014 18:30:32 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52C8EC37.1020201@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <83zjnatmqf.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C0E734.4090403@cs.ucla.edu> <83sita1cbw.fsf@gnu.org> <52C1C456.2080004@cs.ucla.edu> <83fvpa16kh.fsf@gnu.org> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> <52C874B2.9010903@cs.ucla.edu> <83eh4nv4j7.fsf@gnu.org> <52C89954.909@cs.ucla.edu> <8361pzum1d.fsf@gnu.org> <52C8EC37.1020201@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sat, 04 Jan 2014 21:23:03 -0800 > From: Paul Eggert > CC: monnier@iro.umontreal.ca, 16292@debbugs.gnu.org, grfz@gmx.de > > Eli Zaretskii wrote: > > There's no expertise involved in "make info". > > Typical Emacs users don't run 'make info'. They might, if they want to make small changes. In any case, as I show in my previous message, the problems are not limited to Texinfo 5 (unlike what I previously thought). > > My suggestion solves more potential problems > > I'm afraid not. Avoiding @documentencoding causes > Texinfo 5 to mishandle UTF-8 characters when generating > formats such as HTML, so that's a non-starter. I didn't propose to make any changes in the HTML targets, they can continue using --enable-encoding. I also didn't suggest to remove @documentencoding; quite the contrary, the fix I suggested is to _add_ such a directive to those manuals that don't have it, but use UTF-8 encoded characters. > And both it and --disable-encoding cause the > regression that Drew noted. That's not an Emacs problem. From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 05 15:02:53 2014 Received: (at 16292) by debbugs.gnu.org; 5 Jan 2014 20:02:53 +0000 Received: from localhost ([127.0.0.1]:36786 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VztuO-0007Ht-Ms for submit@debbugs.gnu.org; Sun, 05 Jan 2014 15:02:52 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:51723) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VztuM-0007Hl-JT for 16292@debbugs.gnu.org; Sun, 05 Jan 2014 15:02:51 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id B56E7A60002; Sun, 5 Jan 2014 12:02:49 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Gd2BXc-qksnz; Sun, 5 Jan 2014 12:02:48 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 67AE8A60001; Sun, 5 Jan 2014 12:02:48 -0800 (PST) Message-ID: <52C9BA68.7050703@cs.ucla.edu> Date: Sun, 05 Jan 2014 12:02:48 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii , Stefan Monnier Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> <838uuvum9n.fsf@gnu.org> <8338l2v1tn.fsf@gnu.org> In-Reply-To: <8338l2v1tn.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -2.4 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Eli Zaretskii wrote: > Try this: > > $ LC_CTYPE=sv_SE.ISO8859-1 ./src/emacs -Q > C-u C-h i info/htmlfontify.info RET > g Interactive RET That's a longstanding problem. For example, if I run this in an Emacs-24.3 source tree: $ LC_ALL=sv_SE.ISO8859-1 ./src/emacs -Q C-u C-h i info/dbus.info RET g Type Conversion RET M-> I see a "ÿ" that should be a "ÿ". As I understand it this problem doesn't occur often, and is limited to the now-rare users who employ unibyte locales. If so, it's not urgent to fix this longstanding problem now. The problem is fixed by the proposed post-feature-freeze patch. From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 05 15:07:05 2014 Received: (at 16292) by debbugs.gnu.org; 5 Jan 2014 20:07:05 +0000 Received: from localhost ([127.0.0.1]:36800 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VztyS-0007PN-UE for submit@debbugs.gnu.org; Sun, 05 Jan 2014 15:07:05 -0500 Received: from mtaout20.012.net.il ([80.179.55.166]:56030) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VztyR-0007PF-5p for 16292@debbugs.gnu.org; Sun, 05 Jan 2014 15:07:03 -0500 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MYY006002F6P500@a-mtaout20.012.net.il> for 16292@debbugs.gnu.org; Sun, 05 Jan 2014 22:06:28 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYY006M72IRAU80@a-mtaout20.012.net.il>; Sun, 05 Jan 2014 22:06:28 +0200 (IST) Date: Sun, 05 Jan 2014 22:06:14 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52C9BA68.7050703@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <83fvp2tcqx.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT References: <20131229220810.GF7972@boo.workgroup> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> <838uuvum9n.fsf@gnu.org> <8338l2v1tn.fsf@gnu.org> <52C9BA68.7050703@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sun, 05 Jan 2014 12:02:48 -0800 > From: Paul Eggert > CC: 16292@debbugs.gnu.org, grfz@gmx.de > > Eli Zaretskii wrote: > > Try this: > > > > $ LC_CTYPE=sv_SE.ISO8859-1 ./src/emacs -Q > > C-u C-h i info/htmlfontify.info RET > > g Interactive RET > > That's a longstanding problem. For example, > if I run this in an Emacs-24.3 source tree: > > $ LC_ALL=sv_SE.ISO8859-1 ./src/emacs -Q > C-u C-h i info/dbus.info RET > g Type Conversion RET M-> > > I see a "ÿ" that should be a "ÿ". > > As I understand it this problem doesn't occur often, > and is limited to the now-rare users who employ > unibyte locales. If so, it's not urgent to fix this > longstanding problem now. But the fix (for the next release) is easy and safe: just add an appropriate @documentencoding. So I don't see why we should avoid fixing this. From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 05 15:12:51 2014 Received: (at 16292) by debbugs.gnu.org; 5 Jan 2014 20:12:51 +0000 Received: from localhost ([127.0.0.1]:36810 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vzu42-0007YG-Nq for submit@debbugs.gnu.org; Sun, 05 Jan 2014 15:12:50 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:52108) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vzu41-0007Y6-1Q for 16292@debbugs.gnu.org; Sun, 05 Jan 2014 15:12:49 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 67C2239E80F8; Sun, 5 Jan 2014 12:12:48 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id C2y0oU2ctsG1; Sun, 5 Jan 2014 12:12:48 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id ECA1F39E8008; Sun, 5 Jan 2014 12:12:47 -0800 (PST) Message-ID: <52C9BCBF.7050904@cs.ucla.edu> Date: Sun, 05 Jan 2014 12:12:47 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> <838uuvum9n.fsf@gnu.org> <8338l2v1tn.fsf@gnu.org> <52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org> In-Reply-To: <83fvp2tcqx.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.4 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Eli Zaretskii wrote: > But the fix (for the next release) is easy and safe: just add an > appropriate @documentencoding. So I don't see why we should avoid > fixing this. Then I'm puzzled, because when I did pretty much just that in trunk bzr 115807, you reverted the patch. It's fine with me if we reinstall that patch. From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 05 15:19:39 2014 Received: (at 16292) by debbugs.gnu.org; 5 Jan 2014 20:19:39 +0000 Received: from localhost ([127.0.0.1]:36819 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzuAc-0007k6-I2 for submit@debbugs.gnu.org; Sun, 05 Jan 2014 15:19:39 -0500 Received: from mtaout21.012.net.il ([80.179.55.169]:62404) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzuAa-0007jy-Is for 16292@debbugs.gnu.org; Sun, 05 Jan 2014 15:19:37 -0500 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0MYY007002SKVT00@a-mtaout21.012.net.il> for 16292@debbugs.gnu.org; Sun, 05 Jan 2014 22:19:35 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYY007M634MQ2B0@a-mtaout21.012.net.il>; Sun, 05 Jan 2014 22:19:35 +0200 (IST) Date: Sun, 05 Jan 2014 22:19:21 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52C9BCBF.7050904@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <83eh4mtc52.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> <838uuvum9n.fsf@gnu.org> <8338l2v1tn.fsf@gnu.org> <52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org> <52C9BCBF.7050904@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sun, 05 Jan 2014 12:12:47 -0800 > From: Paul Eggert > CC: monnier@iro.umontreal.ca, 16292@debbugs.gnu.org, grfz@gmx.de > > Eli Zaretskii wrote: > > But the fix (for the next release) is easy and safe: just add an > > appropriate @documentencoding. So I don't see why we should avoid > > fixing this. > > Then I'm puzzled, because when I did pretty much just that in > trunk bzr 115807, you reverted the patch. It's fine with me > if we reinstall that patch. If we are going to use Texinfo 4 for generating the manuals in the next release, the problem that bothered me will not happen in the Info files that will be in the release tarball. From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 05 18:05:45 2014 Received: (at 16292) by debbugs.gnu.org; 5 Jan 2014 23:05:45 +0000 Received: from localhost ([127.0.0.1]:37086 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzwlK-0003tW-HN for submit@debbugs.gnu.org; Sun, 05 Jan 2014 18:05:44 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:56992) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VzwlF-0003tI-Ds for 16292@debbugs.gnu.org; Sun, 05 Jan 2014 18:05:40 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 67877A60001; Sun, 5 Jan 2014 15:05:36 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1FjjD6GiQefG; Sun, 5 Jan 2014 15:05:33 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 533AE39E80F0; Sun, 5 Jan 2014 15:05:33 -0800 (PST) Message-ID: <52C9E53D.8070106@cs.ucla.edu> Date: Sun, 05 Jan 2014 15:05:33 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> <838uuvum9n.fsf@gnu.org> <8338l2v1tn.fsf@gnu.org> <52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org> <52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org> In-Reply-To: <83eh4mtc52.fsf@gnu.org> Content-Type: multipart/mixed; boundary="------------040808040801040201060109" X-Spam-Score: -2.4 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) This is a multi-part message in MIME format. --------------040808040801040201060109 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Eli Zaretskii wrote: > If we are going to use Texinfo 4 for generating the manuals in the > next release, the problem that bothered me will not happen in the Info > files that will be in the release tarball. Ah, OK, then we can separate the proposed patch into two parts. The first just adds @documentencoding lines, and can be installed now. The second deals with ASCIIfying the info files, a new feature that can wait until after the feature freeze is over. I'm attaching both patches. --------------040808040801040201060109 Content-Type: text/x-patch; name="document-encoding.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="document-encoding.diff" === modified file 'doc/lispintro/ChangeLog' --- doc/lispintro/ChangeLog 2014-01-01 07:43:34 +0000 +++ doc/lispintro/ChangeLog 2014-01-05 22:59:15 +0000 @@ -1,3 +1,8 @@ +2013-12-30 Paul Eggert + + Specify .texi encoding (Bug#16292). + * emacs-lisp-intro.texi: Add @documentencoding. + 2013-12-30 Glenn Morris * emacs-lisp-intro.texi: Use @quotation for license notice. === modified file 'doc/lispintro/emacs-lisp-intro.texi' --- doc/lispintro/emacs-lisp-intro.texi 2014-01-01 08:31:29 +0000 +++ doc/lispintro/emacs-lisp-intro.texi 2014-01-05 22:59:15 +0000 @@ -4,6 +4,7 @@ @c setfilename emacs-lisp-intro.info @c sethtmlfilename emacs-lisp-intro.html @settitle Programming in Emacs Lisp +@documentencoding UTF-8 @syncodeindex vr cp @syncodeindex fn cp @finalout === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2014-01-05 01:33:33 +0000 +++ doc/lispref/ChangeLog 2014-01-05 22:59:15 +0000 @@ -1,5 +1,9 @@ 2014-01-05 Paul Eggert + Specify .texi encoding (Bug#16292). + * back.texi, book-spine.texi, lay-flat.texi: + Add @documentencoding. + Document vconcat and the empty vector (Bug#16246). * sequences.texi (Vector Functions): Document behavior better when the result is empty. === modified file 'doc/lispref/back.texi' --- doc/lispref/back.texi 2014-01-01 07:43:34 +0000 +++ doc/lispref/back.texi 2014-01-05 22:59:15 +0000 @@ -6,6 +6,7 @@ @c %**start of header @setfilename back-cover @settitle GNU Emacs Lisp Reference Manual +@documentencoding UTF-8 @c %**end of header . @sp 7 === modified file 'doc/lispref/book-spine.texi' --- doc/lispref/book-spine.texi 2013-12-30 17:08:32 +0000 +++ doc/lispref/book-spine.texi 2014-01-05 22:59:15 +0000 @@ -2,6 +2,7 @@ @c %**start of header @setfilename book-spine @settitle book-spine +@documentencoding UTF-8 @c %**end of header @include emacsver.texi === modified file 'doc/lispref/lay-flat.texi' --- doc/lispref/lay-flat.texi 2014-01-01 07:43:34 +0000 +++ doc/lispref/lay-flat.texi 2014-01-05 22:59:15 +0000 @@ -7,6 +7,7 @@ @setfilename inner-covers.info @settitle Inner Covers @smallbook +@documentencoding UTF-8 @comment %**end of header @headings off === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2014-01-03 23:14:16 +0000 +++ doc/misc/ChangeLog 2014-01-05 22:59:15 +0000 @@ -1,3 +1,20 @@ +2014-01-05 Paul Eggert + + Specify .texi encoding (Bug#16292). + * ada-mode.texi, auth.texi, autotype.texi, bovine.texi, calc.texi: + * cc-mode.texi, cl.texi, dbus.texi, dired-x.texi, ebrowse.texi: + * ede.texi, ediff.texi, edt.texi, efaq.texi, eieio.texi: + * emacs-gnutls.texi, epa.texi, erc.texi, ert.texi: + * eshell.texi, eudc.texi, flymake.texi, forms.texi, gnus-coding.texi: + * gnus-faq.texi, htmlfontify.texi, idlwave.texi, ido.texi, info.texi: + * message.texi, mh-e.texi, newsticker.texi, nxml-mode.texi: + * octave-mode.texi, org.texi, pcl-cvs.texi, pgg.texi, rcirc.texi: + * reftex.texi, remember.texi, sasl.texi, sc.texi, semantic.texi: + * ses.texi, sieve.texi, smtpmail.texi, speedbar.texi, srecode.texi: + * todo-mode.texi, tramp.texi, url.texi, vip.texi, viper.texi: + * widget.texi, wisent.texi, woman.texi: + Add @documentencoding. + 2014-01-03 Aidan Gauland * eshell.texi (What Eshell is not): Clean up confusing clause. === modified file 'doc/misc/ada-mode.texi' --- doc/misc/ada-mode.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/ada-mode.texi 2014-01-05 22:59:15 +0000 @@ -1,6 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/ada-mode @settitle Ada Mode +@documentencoding UTF-8 @copying Copyright @copyright{} 1999--2014 Free Software Foundation, Inc. === modified file 'doc/misc/auth.texi' --- doc/misc/auth.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/auth.texi 2014-01-05 22:59:15 +0000 @@ -6,6 +6,7 @@ @setfilename ../../info/auth @settitle Emacs auth-source Library @value{VERSION} +@documentencoding UTF-8 @copying This file describes the Emacs auth-source library. === modified file 'doc/misc/autotype.texi' --- doc/misc/autotype.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/autotype.texi 2014-01-05 22:59:15 +0000 @@ -5,6 +5,7 @@ @c @node Autotypist, Picture, Abbrevs, Top @c @chapter Features for Automatic Typing @settitle Features for Automatic Typing +@documentencoding UTF-8 @c @cindex text @c @cindex selfinserting text @c @cindex autotypist === modified file 'doc/misc/bovine.texi' --- doc/misc/bovine.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/bovine.texi 2014-01-05 22:59:15 +0000 @@ -4,6 +4,7 @@ @set TITLE Bovine parser development @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim @settitle @value{TITLE} +@documentencoding UTF-8 @c ************************************************************************* @c @ Header === modified file 'doc/misc/calc.texi' --- doc/misc/calc.texi 2014-01-03 02:53:29 +0000 +++ doc/misc/calc.texi 2014-01-05 22:59:15 +0000 @@ -4,6 +4,7 @@ @setfilename ../../info/calc @c [title] @settitle GNU Emacs Calc Manual +@documentencoding UTF-8 @setchapternewpage odd @comment %**end of header (This is for running Texinfo on a region.) === modified file 'doc/misc/cc-mode.texi' --- doc/misc/cc-mode.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/cc-mode.texi 2014-01-05 22:59:15 +0000 @@ -83,6 +83,7 @@ @setfilename ../../info/ccmode @settitle CC Mode Manual +@documentencoding UTF-8 @footnotestyle end @c The following four macros generate the filenames and titles of the === modified file 'doc/misc/cl.texi' --- doc/misc/cl.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/cl.texi 2014-01-05 22:59:15 +0000 @@ -1,6 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/cl @settitle Common Lisp Extensions +@documentencoding UTF-8 @include emacsver.texi @copying === modified file 'doc/misc/dbus.texi' --- doc/misc/dbus.texi 2014-01-03 03:07:20 +0000 +++ doc/misc/dbus.texi 2014-01-05 22:59:15 +0000 @@ -2,6 +2,7 @@ @setfilename ../../info/dbus @c %**start of header @settitle Using of D-Bus +@documentencoding UTF-8 @c @setchapternewpage odd @c %**end of header === modified file 'doc/misc/dired-x.texi' --- doc/misc/dired-x.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/dired-x.texi 2014-01-05 22:59:15 +0000 @@ -9,6 +9,7 @@ @comment %**start of header (This is for running Texinfo on a region.) @setfilename ../../info/dired-x @settitle Dired Extra User's Manual +@documentencoding UTF-8 @include emacsver.texi === modified file 'doc/misc/ebrowse.texi' --- doc/misc/ebrowse.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/ebrowse.texi 2014-01-05 22:59:15 +0000 @@ -3,6 +3,7 @@ @comment %**start of header @setfilename ../../info/ebrowse @settitle A Class Browser for C++ +@documentencoding UTF-8 @setchapternewpage odd @syncodeindex fn cp @comment %**end of header === modified file 'doc/misc/ede.texi' --- doc/misc/ede.texi 2014-01-03 03:13:58 +0000 +++ doc/misc/ede.texi 2014-01-05 22:59:15 +0000 @@ -1,6 +1,7 @@ \input texinfo @setfilename ../../info/ede @settitle Emacs Development Environment +@documentencoding UTF-8 @copying This file describes EDE, the Emacs Development Environment. === modified file 'doc/misc/ediff.texi' --- doc/misc/ediff.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/ediff.texi 2014-01-05 22:59:15 +0000 @@ -10,6 +10,7 @@ @setfilename ../../info/ediff @settitle Ediff User's Manual +@documentencoding UTF-8 @synindex vr cp @synindex fn cp @synindex pg cp === modified file 'doc/misc/edt.texi' --- doc/misc/edt.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/edt.texi 2014-01-05 22:59:15 +0000 @@ -1,6 +1,7 @@ \input texinfo @setfilename ../../info/edt @settitle EDT Emulation for Emacs +@documentencoding UTF-8 @copying This file documents the EDT emulation package for Emacs. === modified file 'doc/misc/efaq.texi' --- doc/misc/efaq.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/efaq.texi 2014-01-05 22:59:15 +0000 @@ -2,6 +2,7 @@ @c %**start of header @setfilename ../../info/efaq @settitle GNU Emacs FAQ +@documentencoding UTF-8 @c %**end of header @include emacsver.texi === modified file 'doc/misc/eieio.texi' --- doc/misc/eieio.texi 2014-01-03 03:13:58 +0000 +++ doc/misc/eieio.texi 2014-01-05 22:59:15 +0000 @@ -3,6 +3,7 @@ @set TITLE Enhanced Implementation of Emacs Interpreted Objects @set AUTHOR Eric M. Ludlam @settitle @value{TITLE} +@documentencoding UTF-8 @c ************************************************************************* @c @ Header === modified file 'doc/misc/emacs-gnutls.texi' --- doc/misc/emacs-gnutls.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/emacs-gnutls.texi 2014-01-05 22:59:15 +0000 @@ -4,6 +4,7 @@ @setfilename ../../info/emacs-gnutls @settitle Emacs GnuTLS Integration @value{VERSION} +@documentencoding UTF-8 @copying This file describes the Emacs GnuTLS integration. === modified file 'doc/misc/epa.texi' --- doc/misc/epa.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/epa.texi 2014-01-05 22:59:15 +0000 @@ -2,6 +2,7 @@ @c %**start of header @setfilename ../../info/epa @settitle EasyPG Assistant User's Manual +@documentencoding UTF-8 @c %**end of header @set VERSION 1.0.0 === modified file 'doc/misc/erc.texi' --- doc/misc/erc.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/erc.texi 2014-01-05 22:59:15 +0000 @@ -4,6 +4,7 @@ @settitle ERC Manual @syncodeindex fn cp @include emacsver.texi +@documentencoding UTF-8 @c %**end of header @copying === modified file 'doc/misc/ert.texi' --- doc/misc/ert.texi 2014-01-03 03:00:39 +0000 +++ doc/misc/ert.texi 2014-01-05 22:59:15 +0000 @@ -2,6 +2,7 @@ @c %**start of header @setfilename ../../info/ert @settitle Emacs Lisp Regression Testing +@documentencoding UTF-8 @c %**end of header @dircategory Emacs misc features === modified file 'doc/misc/eshell.texi' --- doc/misc/eshell.texi 2014-01-05 02:56:08 +0000 +++ doc/misc/eshell.texi 2014-01-05 22:59:15 +0000 @@ -4,6 +4,7 @@ @settitle Eshell: The Emacs Shell @defindex cm @synindex vr fn +@documentencoding UTF-8 @c %**end of header @copying === modified file 'doc/misc/eudc.texi' --- doc/misc/eudc.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/eudc.texi 2014-01-05 22:59:15 +0000 @@ -3,6 +3,7 @@ @setfilename ../../info/eudc @settitle Emacs Unified Directory Client (EUDC) Manual @afourpaper +@documentencoding UTF-8 @c %**end of header @copying === modified file 'doc/misc/flymake.texi' --- doc/misc/flymake.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/flymake.texi 2014-01-05 22:59:15 +0000 @@ -5,6 +5,7 @@ @set UPDATED April 2004 @settitle GNU Flymake @value{VERSION} @syncodeindex pg cp +@documentencoding UTF-8 @comment %**end of header @copying === modified file 'doc/misc/forms.texi' --- doc/misc/forms.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/forms.texi 2014-01-05 22:59:15 +0000 @@ -14,6 +14,7 @@ @end iftex @c @smallbook @comment %**end of header (This is for running Texinfo on a region.) +@documentencoding UTF-8 @copying This file documents Forms mode, a form-editing major mode for GNU Emacs. === modified file 'doc/misc/gnus-coding.texi' --- doc/misc/gnus-coding.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/gnus-coding.texi 2014-01-05 22:59:15 +0000 @@ -2,6 +2,7 @@ @setfilename gnus-coding @settitle Gnus Coding Style and Maintenance Guide +@documentencoding UTF-8 @syncodeindex fn cp @syncodeindex vr cp @syncodeindex pg cp === modified file 'doc/misc/gnus-faq.texi' --- doc/misc/gnus-faq.texi 2014-01-01 07:43:34 +0000 +++ doc/misc/gnus-faq.texi 2014-01-05 22:59:15 +0000 @@ -5,6 +5,7 @@ @c @c @setfilename gnus-faq.info @c @settitle Frequently Asked Questions +@c @documentencoding UTF-8 @c %**end of header @c === modified file 'doc/misc/htmlfontify.texi' --- doc/misc/htmlfontify.texi 2014-01-05 02:56:08 +0000 +++ doc/misc/htmlfontify.texi 2014-01-05 22:59:15 +0000 @@ -3,6 +3,7 @@ @setfilename ../../info/htmlfontify @settitle Htmlfontify User Manual @exampleindent 2 +@documentencoding UTF-8 @comment %**end of header @copying === modified file 'doc/misc/idlwave.texi' --- doc/misc/idlwave.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/idlwave.texi 2014-01-05 22:59:15 +0000 @@ -12,6 +12,7 @@ @set DATE April, 2007 @set AUTHOR J.D. Smith & Carsten Dominik @set MAINTAINER J.D. Smith +@documentencoding UTF-8 @c %**end of header @finalout === modified file 'doc/misc/ido.texi' --- doc/misc/ido.texi 2014-01-01 23:13:59 +0000 +++ doc/misc/ido.texi 2014-01-05 22:59:15 +0000 @@ -1,6 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/ido @settitle Interactive Do +@documentencoding UTF-8 @include emacsver.texi @copying === modified file 'doc/misc/info.texi' --- doc/misc/info.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/info.texi 2014-01-05 22:59:15 +0000 @@ -8,6 +8,7 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 @comment %**end of header @copying === modified file 'doc/misc/message.texi' --- doc/misc/message.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/message.texi 2014-01-05 22:59:15 +0000 @@ -4,6 +4,7 @@ @setfilename ../../info/message @settitle Message Manual +@documentencoding UTF-8 @synindex fn cp @synindex vr cp @synindex pg cp === modified file 'doc/misc/mh-e.texi' --- doc/misc/mh-e.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/mh-e.texi 2014-01-05 22:59:15 +0000 @@ -5,6 +5,7 @@ @c %**start of header @setfilename ../../info/mh-e @settitle The MH-E Manual +@documentencoding UTF-8 @c %**end of header @c Version of the software and manual. === modified file 'doc/misc/newsticker.texi' --- doc/misc/newsticker.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/newsticker.texi 2014-01-05 22:59:15 +0000 @@ -7,6 +7,7 @@ @syncodeindex vr cp @syncodeindex fn cp @syncodeindex pg cp +@documentencoding UTF-8 @comment %**end of header @copying === modified file 'doc/misc/nxml-mode.texi' --- doc/misc/nxml-mode.texi 2014-01-03 03:07:20 +0000 +++ doc/misc/nxml-mode.texi 2014-01-05 22:59:15 +0000 @@ -2,6 +2,7 @@ @c %**start of header @setfilename ../../info/nxml-mode @settitle nXML Mode +@documentencoding UTF-8 @c %**end of header @copying === modified file 'doc/misc/octave-mode.texi' --- doc/misc/octave-mode.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/octave-mode.texi 2014-01-05 22:59:15 +0000 @@ -2,6 +2,7 @@ @c %**start of header @setfilename ../../info/octave-mode @settitle Octave Mode +@documentencoding UTF-8 @c %**end of header @copying === modified file 'doc/misc/org.texi' --- doc/misc/org.texi 2014-01-05 02:56:08 +0000 +++ doc/misc/org.texi 2014-01-05 22:59:15 +0000 @@ -15,6 +15,7 @@ @set MAINTAINER Carsten Dominik @set MAINTAINEREMAIL @email{carsten at orgmode dot org} @set MAINTAINERCONTACT @uref{mailto:carsten at orgmode dot org,contact the maintainer} +@documentencoding UTF-8 @c %**end of header @finalout === modified file 'doc/misc/pcl-cvs.texi' --- doc/misc/pcl-cvs.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/pcl-cvs.texi 2014-01-05 22:59:15 +0000 @@ -3,6 +3,7 @@ @setfilename ../../info/pcl-cvs @settitle PCL-CVS---Emacs Front-End to CVS @syncodeindex vr fn +@documentencoding UTF-8 @c %**end of header @copying === modified file 'doc/misc/pgg.texi' --- doc/misc/pgg.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/pgg.texi 2014-01-05 22:59:15 +0000 @@ -7,6 +7,8 @@ @set VERSION 0.1 @settitle PGG @value{VERSION} +@documentencoding UTF-8 + @copying This file describes PGG @value{VERSION}, an Emacs interface to various PGP implementations. === modified file 'doc/misc/rcirc.texi' --- doc/misc/rcirc.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/rcirc.texi 2014-01-05 22:59:15 +0000 @@ -2,6 +2,7 @@ @c %**start of header @setfilename ../../info/rcirc @settitle rcirc Manual +@documentencoding UTF-8 @c %**end of header @copying === modified file 'doc/misc/reftex.texi' --- doc/misc/reftex.texi 2014-01-03 03:15:01 +0000 +++ doc/misc/reftex.texi 2014-01-05 22:59:15 +0000 @@ -2,6 +2,7 @@ @c %**start of header @setfilename ../../info/reftex @settitle RefTeX User Manual +@documentencoding UTF-8 @synindex ky cp @syncodeindex vr cp @syncodeindex fn cp === modified file 'doc/misc/remember.texi' --- doc/misc/remember.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/remember.texi 2014-01-05 22:59:15 +0000 @@ -3,6 +3,7 @@ @setfilename ../../info/remember @settitle Remember Manual @syncodeindex fn cp +@documentencoding UTF-8 @c %**end of header @copying === modified file 'doc/misc/sasl.texi' --- doc/misc/sasl.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/sasl.texi 2014-01-05 22:59:15 +0000 @@ -7,6 +7,8 @@ @set VERSION 0.2 @settitle Emacs SASL Library @value{VERSION} +@documentencoding UTF-8 + @copying This file describes the Emacs SASL library, version @value{VERSION}. === modified file 'doc/misc/sc.texi' --- doc/misc/sc.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/sc.texi 2014-01-05 22:59:15 +0000 @@ -3,6 +3,7 @@ @comment %**start of header (This is for running Texinfo on a region.) @setfilename ../../info/sc @settitle Supercite User's Manual +@documentencoding UTF-8 @iftex @finalout @end iftex === modified file 'doc/misc/semantic.texi' --- doc/misc/semantic.texi 2014-01-03 03:13:58 +0000 +++ doc/misc/semantic.texi 2014-01-05 22:59:15 +0000 @@ -3,6 +3,7 @@ @set TITLE Semantic Manual @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim @settitle @value{TITLE} +@documentencoding UTF-8 @c ************************************************************************* @c @ Header === modified file 'doc/misc/ses.texi' --- doc/misc/ses.texi 2014-01-03 14:18:24 +0000 +++ doc/misc/ses.texi 2014-01-05 22:59:15 +0000 @@ -6,6 +6,7 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 @c %**end of header @copying === modified file 'doc/misc/sieve.texi' --- doc/misc/sieve.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/sieve.texi 2014-01-05 22:59:15 +0000 @@ -4,6 +4,7 @@ @setfilename ../../info/sieve @settitle Emacs Sieve Manual +@documentencoding UTF-8 @synindex fn cp @synindex vr cp @synindex pg cp === modified file 'doc/misc/smtpmail.texi' --- doc/misc/smtpmail.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/smtpmail.texi 2014-01-05 22:59:15 +0000 @@ -1,6 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/smtpmail @settitle Emacs SMTP Library +@documentencoding UTF-8 @syncodeindex vr fn @copying Copyright @copyright{} 2003--2014 Free Software Foundation, Inc. === modified file 'doc/misc/speedbar.texi' --- doc/misc/speedbar.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/speedbar.texi 2014-01-05 22:59:15 +0000 @@ -1,6 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/speedbar @settitle Speedbar: File/Tag summarizing utility +@documentencoding UTF-8 @syncodeindex fn cp @copying === modified file 'doc/misc/srecode.texi' --- doc/misc/srecode.texi 2014-01-03 03:13:58 +0000 +++ doc/misc/srecode.texi 2014-01-05 22:59:15 +0000 @@ -4,6 +4,7 @@ @set TITLE SRecoder Manual @set AUTHOR Eric M. Ludlam @settitle @value{TITLE} +@documentencoding UTF-8 @c Merge all indexes into a single index for now. @c We can always separate them later into two or more as needed. === modified file 'doc/misc/todo-mode.texi' --- doc/misc/todo-mode.texi 2014-01-01 07:43:34 +0000 +++ doc/misc/todo-mode.texi 2014-01-05 22:59:15 +0000 @@ -5,6 +5,7 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 @c %**end of header @copying === modified file 'doc/misc/tramp.texi' --- doc/misc/tramp.texi 2014-01-05 02:56:08 +0000 +++ doc/misc/tramp.texi 2014-01-05 22:59:15 +0000 @@ -2,6 +2,7 @@ @setfilename ../../info/tramp @c %**start of header @settitle TRAMP User Manual +@documentencoding UTF-8 @c %**end of header @c This is *so* much nicer :) === modified file 'doc/misc/url.texi' --- doc/misc/url.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/url.texi 2014-01-05 22:59:15 +0000 @@ -2,6 +2,8 @@ @setfilename ../../info/url @settitle URL Programmer's Manual +@documentencoding UTF-8 + @iftex @c @finalout @end iftex === modified file 'doc/misc/vip.texi' --- doc/misc/vip.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/vip.texi 2014-01-05 22:59:15 +0000 @@ -2,6 +2,8 @@ @setfilename ../../info/vip @settitle VIP +@documentencoding UTF-8 + @copying Copyright @copyright{} 1987, 2001--2014 Free Software Foundation, Inc. === modified file 'doc/misc/viper.texi' --- doc/misc/viper.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/viper.texi 2014-01-05 22:59:15 +0000 @@ -6,6 +6,8 @@ @comment @setfilename viper.info @setfilename ../../info/viper +@documentencoding UTF-8 + @copying Copyright @copyright{} 1995--1997, 2001--2014 Free Software Foundation, Inc. === modified file 'doc/misc/widget.texi' --- doc/misc/widget.texi 2014-01-03 03:07:20 +0000 +++ doc/misc/widget.texi 2014-01-05 22:59:15 +0000 @@ -5,6 +5,7 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 @c %**end of header @copying === modified file 'doc/misc/wisent.texi' --- doc/misc/wisent.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/wisent.texi 2014-01-05 22:59:15 +0000 @@ -20,6 +20,7 @@ @c @footnotestyle separate @c @paragraphindent 2 @c @@smallbook +@documentencoding UTF-8 @c %**end of header @copying === modified file 'doc/misc/woman.texi' --- doc/misc/woman.texi 2014-01-01 08:31:29 +0000 +++ doc/misc/woman.texi 2014-01-05 22:59:15 +0000 @@ -8,6 +8,7 @@ @c Look for @page and @need commands. @setchapternewpage off @paragraphindent 0 +@documentencoding UTF-8 @c %**end of header @copying --------------040808040801040201060109 Content-Type: text/x-patch; name="ascii-info-marks.diff" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="ascii-info-marks.diff" === modified file 'ChangeLog' --- ChangeLog 2014-01-05 00:55:29 +0000 +++ ChangeLog 2014-01-05 22:59:34 +0000 @@ -1,5 +1,13 @@ 2014-01-05 Paul Eggert + Optionally install ASCII info marks (Bug#16292). + * build-aux/ascii-info-marks: New file. + * configure.ac: New option --with-ascii-info-marks, + which configures INSTALL_INFO_DATA. + * Makefile.in (INSTALL_INFO_DATA): New macro. + (install-info): Use it. + * INSTALL: Document --with-ascii-info-marks. + Port to GNU/Linux with recent grsecurity/PaX patches (Bug#16343). Problem and proposed patch reported by Ulrich Mueller; this patch uses a somewhat-different approach. === modified file 'INSTALL' --- INSTALL 2014-01-01 07:43:34 +0000 +++ INSTALL 2014-01-05 22:59:34 +0000 @@ -327,6 +327,11 @@ even on hosts where a narrower type would do. With this option, on a typical 32-bit host, Emacs integers have 62 bits instead of 30. +Use --with-ascii-info-marks to install Info files with ASCII +punctuation marks, e.g., 'A-Z' rather than ‘A–Z’; this is the default +if UTF-8 is not supported. Use --without-ascii-info-marks to install +Info files as-is. + Use --enable-gcc-warnings to enable compile-time checks that warn about possibly-questionable C code. This is intended for developers and is useful with GNU-compatible compilers. On a recent GNU system === modified file 'Makefile.in' --- Makefile.in 2014-01-01 07:43:34 +0000 +++ Makefile.in 2014-01-05 22:59:34 +0000 @@ -255,6 +255,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_INFO = @INSTALL_INFO@ +INSTALL_INFO_DATA = @INSTALL_INFO_DATA@ # By default, we uphold the dignity of our programs. INSTALL_STRIP = MKDIR_P = @MKDIR_P@ @@ -663,7 +664,8 @@ test "$(HAVE_MAKEINFO)" = "no" && test ! -f $$elt && continue; \ for f in `ls $$elt $$elt-[1-9] $$elt-[1-9][0-9] 2>/dev/null`; do \ (cd "$${thisdir}"; \ - ${INSTALL_DATA} ${srcdir}/info/$$f "$(DESTDIR)${infodir}/$$f"); \ + ${INSTALL_INFO_DATA} ${srcdir}/info/$$f \ + "$(DESTDIR)${infodir}/$$f"); \ [ -n "${GZIP_PROG}" ] || continue ; \ rm -f "$(DESTDIR)${infodir}/$$f.gz"; \ ${GZIP_PROG} -9n "$(DESTDIR)${infodir}/$$f"; \ === modified file 'configure.ac' --- configure.ac 2014-01-05 01:00:32 +0000 +++ configure.ac 2014-01-05 22:59:34 +0000 @@ -300,6 +300,17 @@ [don't compress some files (.el, .info, etc.) when installing. Equivalent to: make GZIP_PROG= install]) +AC_ARG_WITH([ascii-info-marks], + [AS_HELP_STRING([--with-ascii-info-marks], + [install info files with 'A-Z', not ‘A–Z’])], + [], + [[case `(locale -a) 2>/dev/null` in + *.[Uu][Tt][Ff]-8* | *.[Uu][Tt][Ff]8*) + with_ascii_info_marks=no ;; + *) + with_ascii_info_marks=$with_features ;; + esac]]) + AC_ARG_WITH([pkg-config-prog],dnl [AS_HELP_STRING([--with-pkg-config-prog=FILENAME], [file name of pkg-config for finding GTK and librsvg])]) @@ -973,6 +984,14 @@ AC_PATH_PROG(INSTALL_INFO, install-info, :, $PATH$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR/sbin) + +if test "$with_ascii_info_marks" = yes; then + INSTALL_INFO_DATA='build-aux/ascii-info-marks' +else + INSTALL_INFO_DATA='$(INSTALL_DATA)' +fi +AC_SUBST([INSTALL_INFO_DATA]) + dnl Don't use GZIP, which is used by gzip for additional parameters. AC_PATH_PROG(GZIP_PROG, gzip) === modified file 'etc/ChangeLog' --- etc/ChangeLog 2014-01-05 20:17:13 +0000 +++ etc/ChangeLog 2014-01-05 22:59:34 +0000 @@ -1,3 +1,8 @@ +2014-01-05 Paul Eggert + + Optionally install ASCII info marks (Bug#16292). + * NEWS: Document --with-ascii-info-marks. + 2014-01-05 Tassilo Horn * themes/tsdh-light-theme.el (tsdh-light): Define org-level-* === modified file 'etc/NEWS' --- etc/NEWS 2014-01-05 06:10:52 +0000 +++ etc/NEWS 2014-01-05 22:59:34 +0000 @@ -38,6 +38,10 @@ and renamed to `--without-compress-install'. It now prevents compression of _any_ files during installation. +** The configure option `--with-ascii-info-marks' installs info files +that use ASCII punctuation marks, e.g., 'A-Z' rather than ‘A–Z’. This +is the default if UTF-8 is not supported. + ** The configure option `--with-crt-dir' has been removed. It is no longer needed, as the crt*.o files are no longer linked specially. --------------040808040801040201060109-- From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 05 22:54:51 2014 Received: (at 16292) by debbugs.gnu.org; 6 Jan 2014 03:54:51 +0000 Received: from localhost ([127.0.0.1]:37535 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W01H8-0004fv-FX for submit@debbugs.gnu.org; Sun, 05 Jan 2014 22:54:50 -0500 Received: from mtaout23.012.net.il ([80.179.55.175]:54913) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W01H5-0004fk-N9 for 16292@debbugs.gnu.org; Sun, 05 Jan 2014 22:54:49 -0500 Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0MYY00100NWYNG00@a-mtaout23.012.net.il> for 16292@debbugs.gnu.org; Mon, 06 Jan 2014 05:54:46 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYY001UIO79I190@a-mtaout23.012.net.il>; Mon, 06 Jan 2014 05:54:46 +0200 (IST) Date: Mon, 06 Jan 2014 05:54:33 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52C9E53D.8070106@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <838uutu5mu.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> <838uuvum9n.fsf@gnu.org> <8338l2v1tn.fsf@gnu.org> <52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org> <52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org> <52C9E53D.8070106@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sun, 05 Jan 2014 15:05:33 -0800 > From: Paul Eggert > CC: monnier@iro.umontreal.ca, 16292@debbugs.gnu.org, grfz@gmx.de > > > [1:text/plain Hide] > > Eli Zaretskii wrote: > > If we are going to use Texinfo 4 for generating the manuals in the > > next release, the problem that bothered me will not happen in the Info > > files that will be in the release tarball. > > Ah, OK, then we can separate the proposed patch into two parts. > The first just adds @documentencoding lines, and can be installed > now. The second deals with ASCIIfying the info files, a new feature > that can wait until after the feature freeze is over. I'm attaching > both patches. I'm okay with the first one. As for the second, I still think that (a) the ASCII version should be the default, and (b) using --enable/disable-encoding on the makeinfo command line is an easier way of achieving the same effect. But if Stefan prefers this method, so be it. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 05 23:39:24 2014 Received: (at 16292) by debbugs.gnu.org; 6 Jan 2014 04:39:24 +0000 Received: from localhost ([127.0.0.1]:37566 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W01yF-0005sU-QA for submit@debbugs.gnu.org; Sun, 05 Jan 2014 23:39:24 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:64501) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W01yD-0005sL-NZ for 16292@debbugs.gnu.org; Sun, 05 Jan 2014 23:39:22 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFG4rwsm/2dsb2JhbABEuzWDWRdzgh4BAQQBViMFCws0EhQYDSSIHgbBLZEKA4hhnBmBXoMV X-IPAS-Result: Av8EABK/CFG4rwsm/2dsb2JhbABEuzWDWRdzgh4BAQQBViMFCws0EhQYDSSIHgbBLZEKA4hhnBmBXoMV X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="44167618" Received: from 184-175-11-38.dsl.teksavvy.com (HELO fmsmemgm.homelinux.net) ([184.175.11.38]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 05 Jan 2014 23:39:20 -0500 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id C3DD2AEA58; Sun, 5 Jan 2014 23:39:20 -0500 (EST) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' Message-ID: References: <20131229220810.GF7972@boo.workgroup> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> <838uuvum9n.fsf@gnu.org> <8338l2v1tn.fsf@gnu.org> <52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org> <52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org> <52C9E53D.8070106@cs.ucla.edu> <838uutu5mu.fsf@gnu.org> Date: Sun, 05 Jan 2014 23:39:20 -0500 In-Reply-To: <838uutu5mu.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 06 Jan 2014 05:54:33 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 16292 Cc: Paul Eggert , grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > As for the second, I still think that (a) the ASCII version should be > the default, and (b) using --enable/disable-encoding on the makeinfo > command line is an easier way of achieving the same effect. But if > Stefan prefers this method, so be it. At this point, I prefer to let you guys decide, Stefan From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 06 00:31:46 2014 Received: (at 16292) by debbugs.gnu.org; 6 Jan 2014 05:31:46 +0000 Received: from localhost ([127.0.0.1]:37612 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W02mv-0007IT-F9 for submit@debbugs.gnu.org; Mon, 06 Jan 2014 00:31:45 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:39286) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W02ms-0007IH-0v for 16292@debbugs.gnu.org; Mon, 06 Jan 2014 00:31:42 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 4D091A60002; Sun, 5 Jan 2014 21:31:41 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xan-XdIVQUcA; Sun, 5 Jan 2014 21:31:40 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id A61E6A60001; Sun, 5 Jan 2014 21:31:40 -0800 (PST) Message-ID: <52CA3FB9.30509@cs.ucla.edu> Date: Sun, 05 Jan 2014 21:31:37 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> <838uuvum9n.fsf@gnu.org> <8338l2v1tn.fsf@gnu.org> <52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org> <52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org> <52C9E53D.8070106@cs.ucla.edu> <838uutu5mu.fsf@gnu.org> In-Reply-To: <838uutu5mu.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.4 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Eli Zaretskii wrote: > I'm okay with the first one. OK, I pushed it into the trunk as bzr 115884. The second one should wait until after the feature freeze is over so there's no rush in nailing down the details. > As for the second, I still think that (a) the ASCII version should be > the default, and (b) using --enable/disable-encoding on the makeinfo > command line is an easier way of achieving the same effect. Let's look at (b) first. I don't see how it would work, since we can't assume that the installer has makeinfo, which means the option cannot be made at install time by using --enable-encoding or --disable-encoding. Unless you want to ship two copies of each .info file in the tarball, a full version and an ASCIIfied version? That would work, but it's unnecessary bloat of the tarball, since the ASCIIfied version can be derived from the full version, and even aside from the bloat the overall procedure is probably more complicated than what we have already in the proposed patch. From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 06 11:15:50 2014 Received: (at 16292) by debbugs.gnu.org; 6 Jan 2014 16:15:50 +0000 Received: from localhost ([127.0.0.1]:38769 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W0CqD-0002U6-Ql for submit@debbugs.gnu.org; Mon, 06 Jan 2014 11:15:50 -0500 Received: from mtaout20.012.net.il ([80.179.55.166]:46514) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W0CqB-0002Tu-6U for 16292@debbugs.gnu.org; Mon, 06 Jan 2014 11:15:48 -0500 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MYZ00I00MBQ8C00@a-mtaout20.012.net.il> for 16292@debbugs.gnu.org; Mon, 06 Jan 2014 18:15:40 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MYZ00H52MI3DRE0@a-mtaout20.012.net.il>; Mon, 06 Jan 2014 18:15:40 +0200 (IST) Date: Mon, 06 Jan 2014 18:15:28 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52CA3FB9.30509@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <834n5ht7bz.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> <838uuvum9n.fsf@gnu.org> <8338l2v1tn.fsf@gnu.org> <52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org> <52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org> <52C9E53D.8070106@cs.ucla.edu> <838uutu5mu.fsf@gnu.org> <52CA3FB9.30509@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sun, 05 Jan 2014 21:31:37 -0800 > From: Paul Eggert > CC: monnier@iro.umontreal.ca, 16292@debbugs.gnu.org, grfz@gmx.de > > Eli Zaretskii wrote: > > > I'm okay with the first one. > > OK, I pushed it into the trunk as bzr 115884. Thanks. > The second one should wait until after the feature freeze is over > so there's no rush in nailing down the details. Right. > > As for the second, I still think that (a) the ASCII version should be > > the default, and (b) using --enable/disable-encoding on the makeinfo > > command line is an easier way of achieving the same effect. > > Let's look at (b) first. I don't see how it would work, > since we can't assume that the installer has makeinfo, > which means the option cannot be made at install time > by using --enable-encoding or --disable-encoding. Is it a frequent situation that someone who does the configure and "make" steps doesn't have makeinfo? I thought this to be rare. If I'm wrong, then I guess those users who do want to generate the Info files with a non-default style of punctuation will have to install Texinfo or live with this minor problem. And if we use (a) as well, then the distributed version will already be completely readable, if not the most beautiful one. > Unless you want to ship two copies of each .info file > in the tarball, a full version and an ASCIIfied version? No, of course not. From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 06 20:15:09 2014 Received: (at 16292) by debbugs.gnu.org; 7 Jan 2014 01:15:09 +0000 Received: from localhost ([127.0.0.1]:39703 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W0LG9-00049a-08 for submit@debbugs.gnu.org; Mon, 06 Jan 2014 20:15:09 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:33142) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W0LG6-00049O-7z for 16292@debbugs.gnu.org; Mon, 06 Jan 2014 20:15:07 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 7D92739E80FF; Mon, 6 Jan 2014 17:15:05 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id T0PEKLwDRcTj; Mon, 6 Jan 2014 17:15:04 -0800 (PST) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 2CDDF39E8008; Mon, 6 Jan 2014 17:15:04 -0800 (PST) Message-ID: <52CB5517.4030502@cs.ucla.edu> Date: Mon, 06 Jan 2014 17:15:03 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> <838uuvum9n.fsf@gnu.org> <8338l2v1tn.fsf@gnu.org> <52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org> <52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org> <52C9E53D.8070106@cs.ucla.edu> <838uutu5mu.fsf@gnu.org> <52CA3FB9.30509@cs.ucla.edu> <834n5ht7bz.fsf@gnu.org> In-Reply-To: <834n5ht7bz.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.6 (--) Eli Zaretskii wrote: > Is it a frequent situation that someone who does the configure and > "make" steps doesn't have makeinfo? I thought this to be rare. It's reasonably common. In Debian, for example, texinfo is not one of the essential packages. On many non-GNU environments such as AIX and HP-UX, 'makeinfo' is not available unless you build and install it yourself. And for the GNU project, 'makeinfo' isn't listed as one of the standard utilities that Makefiles can assume: http://www.gnu.org/prep/standards/standards.html#Utilities-in-Makefiles > If I'm wrong, then I guess those users who do want to generate the Info > files with a non-default style of punctuation will have to install > Texinfo or live with this minor problem. If the the installer could obtain some compensating advantage by being forced to install 'makeinfo' to get the style they prefer, it might be worth the hassle. But there doesn't seem to be any such advantage. So why not use 'sed'? It avoids the hassle entirely. From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 06 22:56:17 2014 Received: (at 16292) by debbugs.gnu.org; 7 Jan 2014 03:56:17 +0000 Received: from localhost ([127.0.0.1]:39856 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W0Nm4-0001Zh-W6 for submit@debbugs.gnu.org; Mon, 06 Jan 2014 22:56:17 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:45813) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W0Nm0-0001ZT-8p for 16292@debbugs.gnu.org; Mon, 06 Jan 2014 22:56:14 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MZ000100IL7ZE00@a-mtaout22.012.net.il> for 16292@debbugs.gnu.org; Tue, 07 Jan 2014 05:56:10 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MZ0002CQIXL2000@a-mtaout22.012.net.il>; Tue, 07 Jan 2014 05:56:10 +0200 (IST) Date: Tue, 07 Jan 2014 05:56:00 +0200 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <52CB5517.4030502@cs.ucla.edu> X-012-Sender: halo1@inter.net.il To: Paul Eggert Message-id: <83lhyssawf.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> <838uuvum9n.fsf@gnu.org> <8338l2v1tn.fsf@gnu.org> <52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org> <52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org> <52C9E53D.8070106@cs.ucla.edu> <838uutu5mu.fsf@gnu.org> <52CA3FB9.30509@cs.ucla.edu> <834n5ht7bz.fsf@gnu.org> <52CB5517.4030502@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, monnier@iro.umontreal.ca, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Mon, 06 Jan 2014 17:15:03 -0800 > From: Paul Eggert > CC: monnier@iro.umontreal.ca, 16292@debbugs.gnu.org, grfz@gmx.de > > So why not use 'sed'? It just feels unclean. From debbugs-submit-bounces@debbugs.gnu.org Fri May 02 14:11:59 2014 Received: (at 16292) by debbugs.gnu.org; 2 May 2014 18:12:00 +0000 Received: from localhost ([127.0.0.1]:48672 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgHwF-00046K-Iy for submit@debbugs.gnu.org; Fri, 02 May 2014 14:11:59 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:21276) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgHwC-000461-AQ for 16292@debbugs.gnu.org; Fri, 02 May 2014 14:11:57 -0400 Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s42IBgaU032717 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 2 May 2014 18:11:43 GMT Received: from userz7021.oracle.com (userz7021.oracle.com [156.151.31.85]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s42IBfqs011690 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Fri, 2 May 2014 18:11:42 GMT Received: from abhmp0012.oracle.com (abhmp0012.oracle.com [141.146.116.18]) by userz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s42IBfvq011659; Fri, 2 May 2014 18:11:41 GMT MIME-Version: 1.0 Message-ID: Date: Fri, 2 May 2014 11:11:40 -0700 (PDT) From: Drew Adams To: Eli Zaretskii , Paul Eggert Subject: RE: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <<20131229220810.GF7972@boo.workgroup>> <<52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org>> <<52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org>> <<52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org>> <<52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org>> <<52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org>> <<52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org>> < <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org>> < <83ha9jv5lh.fsf@gnu.org>> < <838uuvum9n.fsf@gnu.org>> < <8338l2v1tn.fsf@gnu.org>> <<52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org>> <<52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org>> <<52C9E53D.8070106@cs.ucla.edu> <838uutu5mu.fsf@gnu.org>> <<52CA3FB9.30509@cs.ucla.edu> <834n5ht7bz.fsf@gnu.org>> <<52CB5517.4030502@cs.ucla.edu>> <<83lhyssawf.fsf@gnu.org>> In-Reply-To: <<83lhyssawf.fsf@gnu.org>> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) I don't see a change from `...' to '...' in this recent build: In GNU Emacs 24.4.50.1 (i686-pc-mingw32) of 2014-04-29 on ODIEONE Bzr revision: 117031 monnier@iro.umontreal.ca-20140429151607-qnkgbymwfaj5ut= 08 Windowing system distributor `Microsoft Corp.', version 6.1.7601 Configured using: `configure --prefix=3D/c/Devel/emacs/snapshot/trunk --enable-checking=3Dyes,glyphs 'CFLAGS=3D-O0 -g3' LDFLAGS=3D-Lc:/Devel/emacs/lib 'CPPFLAGS=3D-DGC_MCHECK=3D1 -Ic:/Devel/emacs/include'' But I've had a report from an info+.el user that his 24.4.50.1 build breaks the Info+ highlighting of names because '...' is used now instead of `...'. Dunno whether he has control over the generation of Info files from Texinfo. AFAIK, there is no way, from Emacs Lisp, to know whether an Info file has been built to use '...' or `...'. Is that correct? IIUC, at Info build time there is a setting, @documentencoding, that determines this. In any case, Texinfo must somehow know which pattern is being used for Info. Request: Could we please have this information transmitted to the resulting Info files somehow, so that it could be obtained by Lisp code? It would be much better, for instance, for the info+.el code to use one or the other pattern for highlighting than it would be to try to highlight both in the same file, just to catch the appropriate one. From debbugs-submit-bounces@debbugs.gnu.org Fri May 02 14:22:44 2014 Received: (at 16292) by debbugs.gnu.org; 2 May 2014 18:22:44 +0000 Received: from localhost ([127.0.0.1]:48689 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgI6d-0004a8-IT for submit@debbugs.gnu.org; Fri, 02 May 2014 14:22:43 -0400 Received: from mtaout29.012.net.il ([80.179.55.185]:46511) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgI6a-0004Zm-Nx for 16292@debbugs.gnu.org; Fri, 02 May 2014 14:22:42 -0400 Received: from conversion-daemon.mtaout29.012.net.il by mtaout29.012.net.il (HyperSendmail v2007.08) id <0N4Y00600KY00K00@mtaout29.012.net.il> for 16292@debbugs.gnu.org; Fri, 02 May 2014 21:23:48 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout29.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N4Y005VQLROXA20@mtaout29.012.net.il>; Fri, 02 May 2014 21:23:48 +0300 (IDT) Date: Fri, 02 May 2014 21:22:50 +0300 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: X-012-Sender: halo1@inter.net.il To: Drew Adams Message-id: <83eh0c11mt.fsf@gnu.org> References: <20131229220810.GF7972@boo.workgroup> <52C25D07.80808@cs.ucla.edu> <8338l91l2t.fsf@gnu.org> <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> <838uuvum9n.fsf@gnu.org> <8338l2v1tn.fsf@gnu.org> <52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org> <52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org> <52C9E53D.8070106@cs.ucla.edu> <838uutu5mu.fsf@gnu.org> <52CA3FB9.30509@cs.ucla.edu> <834n5ht7bz.fsf@gnu.org> <52CB5517.4030502@cs.ucla.edu> <83lhyssawf.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Fri, 2 May 2014 11:11:40 -0700 (PDT) > From: Drew Adams > Cc: 16292@debbugs.gnu.org, grfz@gmx.de > > I don't see a change from `...' to '...' in this recent build: > > In GNU Emacs 24.4.50.1 (i686-pc-mingw32) > of 2014-04-29 on ODIEONE > Bzr revision: 117031 monnier@iro.umontreal.ca-20140429151607-qnkgbymwfaj5ut08 > Windowing system distributor `Microsoft Corp.', version 6.1.7601 > Configured using: > `configure --prefix=/c/Devel/emacs/snapshot/trunk > --enable-checking=yes,glyphs 'CFLAGS=-O0 -g3' > LDFLAGS=-Lc:/Devel/emacs/lib 'CPPFLAGS=-DGC_MCHECK=1 > -Ic:/Devel/emacs/include'' > > But I've had a report from an info+.el user that his 24.4.50.1 > build breaks the Info+ highlighting of names because '...' is > used now instead of `...'. Dunno whether he has control over > the generation of Info files from Texinfo. This depends not only on the Texinfo sources of the docs, but also on the version of makeinfo used by whoever produced the Info files as part of the Emacs build. It is quite possible that the latter part is different between your build and that other user's. > AFAIK, there is no way, from Emacs Lisp, to know whether an Info > file has been built to use '...' or `...'. Is that correct? Why not? they are just characters. > IIUC, at Info build time there is a setting, @documentencoding, > that determines this. No, these are ASCII characters, so @documentencoding has nothing to do with it. But the version of makeinfo does: the latest versions produce '...'. > Request: Could we please have this information transmitted to > the resulting Info files somehow, so that it could be obtained > by Lisp code? It is already there: This is ../../info/emacs.info, produced by makeinfo version 4.13 from ./emacs.texi. If the version is 5.x, then you should expect '...'. Note that you could also have Unicode characters there. It's a mess. From debbugs-submit-bounces@debbugs.gnu.org Fri May 02 15:07:30 2014 Received: (at 16292) by debbugs.gnu.org; 2 May 2014 19:07:30 +0000 Received: from localhost ([127.0.0.1]:48702 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgInx-0005rM-U5 for submit@debbugs.gnu.org; Fri, 02 May 2014 15:07:30 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:50785) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgInv-0005r6-9P for 16292@debbugs.gnu.org; Fri, 02 May 2014 15:07:28 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 69703A6000F; Fri, 2 May 2014 12:07:21 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qSDpVDqyLWQY; Fri, 2 May 2014 12:07:12 -0700 (PDT) Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id D248DA60005; Fri, 2 May 2014 12:07:12 -0700 (PDT) Message-ID: <5363ECDA.8050305@cs.ucla.edu> Date: Fri, 02 May 2014 12:07:06 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Drew Adams , Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <<<52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org>> <<52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org>> <<52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org>> <<52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org>> <<52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org>> < <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org>> < <83ha9jv5lh.fsf@gnu.org>> < <838uuvum9n.fsf@gnu.org>> < <8338l2v1tn.fsf@gnu.org>> <<52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org>> <<52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org>> <<52C9E53D.8070106@cs.ucla.edu> <838uutu5mu.fsf@gnu.org>> <<52CA3FB9.30509@cs.ucla.edu> <834n5ht7bz.fsf@gnu.org>> <<52CB5517.4030502@cs.ucla.edu>> <<83lhyssawf.fsf@gnu.org>> In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) On 05/02/2014 11:11 AM, Drew Adams wrote: > I've had a report from an info+.el user that his 24.4.50.1 > build breaks the Info+ highlighting of names because '...' is > used now instead of `...'. Emacs should be built either with an old makeinfo, which should quote `like this' with ASCII accent-grave and apostrophe, or with a new makeinfo, which should quote like this with Unicode directed single-quotes. Makeinfo shouldn't quote 'like this' with ASCII apostrophe only. Perhaps your info+.el user could investigate why makeinfo is misbehaving for them, and if they figure that out it might be nice for us to modify the Emacs distribution to stop the misbehavior. This should fix the problem without info+.el having to worry about which makeinfo version was used. Also: in a standard Emacs tarball the builder shouldn't ever run makeinfo, as the info files should all be prebuilt and up-to-date. Can your info+.el user please also investigate why that didn't work for them? From debbugs-submit-bounces@debbugs.gnu.org Fri May 02 15:19:08 2014 Received: (at 16292) by debbugs.gnu.org; 2 May 2014 19:19:08 +0000 Received: from localhost ([127.0.0.1]:48719 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgIzD-0006BH-MY for submit@debbugs.gnu.org; Fri, 02 May 2014 15:19:08 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:54152 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgIzA-0006B8-UP for 16292@debbugs.gnu.org; Fri, 02 May 2014 15:19:05 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1WgIzA-0005rZ-1N; Fri, 02 May 2014 15:19:04 -0400 From: Glenn Morris To: Paul Eggert Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <52C4C95C.2010905@cs.ucla.edu> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org>> <83ha9jv5lh.fsf@gnu.org>> <838uuvum9n.fsf@gnu.org>> <8338l2v1tn.fsf@gnu.org>> <52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org>> <52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org>> <52C9E53D.8070106@cs.ucla.edu> <838uutu5mu.fsf@gnu.org>> <52CA3FB9.30509@cs.ucla.edu> <834n5ht7bz.fsf@gnu.org>> <52CB5517.4030502@cs.ucla.edu>> <83lhyssawf.fsf@gnu.org>> <5363ECDA.8050305@cs.ucla.edu> X-Spook: Roswell New World Order militia Mole benelux Sears Tower X-Ran: ed/o?@<2I`{rB (Paul Eggert's message of "Fri, 02 May 2014 12:07:06 -0700") Message-ID: <4l61lo7zvc.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: -5.7 (-----) X-Debbugs-Envelope-To: 16292 Cc: 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.7 (-----) Paul Eggert wrote: >> I've had a report from an info+.el user that his 24.4.50.1 ^^^^^^^^ [...] > Also: in a standard Emacs tarball the builder shouldn't ever run > makeinfo, as the info files should all be prebuilt and up-to-date. Can > your info+.el user please also investigate why that didn't work for > them? There are no 24.4.50 tarballs, so I see nothing to investigate there. It was presumably a build from bzr. From debbugs-submit-bounces@debbugs.gnu.org Fri May 02 15:20:50 2014 Received: (at 16292) by debbugs.gnu.org; 2 May 2014 19:20:50 +0000 Received: from localhost ([127.0.0.1]:48723 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgJ0r-0006EK-KE for submit@debbugs.gnu.org; Fri, 02 May 2014 15:20:50 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:22072) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgJ0p-0006E1-57 for 16292@debbugs.gnu.org; Fri, 02 May 2014 15:20:47 -0400 Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s42JKdlK016388 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 2 May 2014 19:20:40 GMT Received: from aserz7021.oracle.com (aserz7021.oracle.com [141.146.126.230]) by ucsinet22.oracle.com (8.14.5+Sun/8.14.5) with ESMTP id s42JKcxL010095 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 2 May 2014 19:20:39 GMT Received: from abhmp0012.oracle.com (abhmp0012.oracle.com [141.146.116.18]) by aserz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s42JKcsn021836; Fri, 2 May 2014 19:20:38 GMT MIME-Version: 1.0 Message-ID: <9a37ee13-e1cb-4ac5-8241-85feed5370fb@default> Date: Fri, 2 May 2014 12:20:38 -0700 (PDT) From: Drew Adams To: Eli Zaretskii , Drew Adams Subject: RE: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <<20131229220810.GF7972@boo.workgroup>> <<52C25D07.80808@cs.ucla.edu>> <<8338l91l2t.fsf@gnu.org>> <<52C4C95C.2010905@cs.ucla.edu>> <<837gajyrq1.fsf@gnu.org>> <<52C4F008.5060003@cs.ucla.edu>> <<83zjnextyg.fsf@gnu.org>> <<52C5BDD1.2050009@cs.ucla.edu>> <<83ppoaxfu6.fsf@gnu.org>> <<52C607DA.3090009@cs.ucla.edu>> <<83fvp5xzk0.fsf@gnu.org>> <<52C6F2C5.10505@cs.ucla.edu>> <<83mwjcx1i9.fsf@gnu.org>> <> <<52C750C4.6040006@cs.ucla.edu>> <> <<8338l4w5pj.fsf@gnu.org>> <> <<83ha9jv5lh.fsf@gnu.org>> <> <<838uuvum9n.fsf@gnu.org>> <> <<8338l2v1tn.fsf@gnu.org>> <<52C9BA68.7050703@cs.ucla.edu>> <<83fvp2tcqx.fsf@gnu.org>> <<52C9BCBF.7050904@cs.ucla.edu>> <<83eh4mtc52.fsf@gnu.org>> <<52C9E53D.8070106@cs.ucla.edu>> <<838uutu5mu.fsf@gnu.org>> <<52CA3FB9.30509@cs.ucla.edu>> <<834n5ht7bz.fsf@gnu.org>> <<52CB5517.4030502@cs.ucla.edu>> <<83lhyssawf.fsf@gnu.org>> <> <<83eh0c11mt.fsf@gnu.org>> In-Reply-To: <<83eh0c11mt.fsf@gnu.org>> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Source-IP: ucsinet22.oracle.com [156.151.31.94] X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) > > AFAIK, there is no way, from Emacs Lisp, to know whether an Info > > file has been built to use '...' or `...'. Is that correct? >=20 > Why not? they are just characters. Huh? Yes, they are characters. And how would you determine whether '...' or `...' quoting of names is in effect in a given Info buffer? You might be able to check whether, say, the Emacs manual has '...' or `...' by moving to a particular node where you expect a particular symbol to be quoted (and that you expect to remain present across Emacs versions), and move to that symbol and test the char before it... But that would be an ugly and inefficient workaround, and different manuals might be built using different makeinfo versions etc. I'm asking for a simple check. Maybe a file-local variable or something. > > IIUC, at Info build time there is a setting, @documentencoding, > > that determines this. >=20 > No, these are ASCII characters, so @documentencoding has nothing > to do with it. But the version of makeinfo does: the latest > versions produce '...'. I thought, from this thread, that builds could control whether '...' or `...' gets used. Is that not the case? And I (mistakenly) thought that @documentencoding was involved with that. If '...' is used systematically from now on, starting with some version of makeinfo, then that is indeed bad news. '...' is absolutely inferior to `...', IMHO. > > Request: Could we please have this information transmitted to > > the resulting Info files somehow, so that it could be obtained > > by Lisp code? >=20 > It is already there: > This is ../../info/emacs.info, produced by makeinfo version 4.13 > from ./emacs.texi. > If the version is 5.x, then you should expect '...'. Yes, at the beginning of the file, outside of what is visible in the manual, i.e., in Info mode. I want something simple, evaluable from Info mode. I don't want to have to widen the buffer or change the mode or jump through any other hoops. A function or a variable whose value lets Lisp code know whether `...' or '...' quoting is in effect. > Note that you could also have Unicode characters there. Where is "there"? How does that relate to this quoting? Are you perhaps referring to a possible use of curly quotes for such quoting? That would indeed be bad (from my point of view). > It's a mess. Perhaps we agree, for once, though we might not agree about what the mess is; dunno. From debbugs-submit-bounces@debbugs.gnu.org Fri May 02 15:28:17 2014 Received: (at 16292) by debbugs.gnu.org; 2 May 2014 19:28:17 +0000 Received: from localhost ([127.0.0.1]:48727 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgJ84-0006Qz-Sg for submit@debbugs.gnu.org; Fri, 02 May 2014 15:28:17 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:51871) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgJ83-0006Qm-Gm for 16292@debbugs.gnu.org; Fri, 02 May 2014 15:28:16 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id F1D6AA6000F; Fri, 2 May 2014 12:28:09 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6eNDo7VyBDma; Fri, 2 May 2014 12:28:01 -0700 (PDT) Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 70643A60005; Fri, 2 May 2014 12:28:01 -0700 (PDT) Message-ID: <5363F1C1.5050405@cs.ucla.edu> Date: Fri, 02 May 2014 12:28:01 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Glenn Morris Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <52C4C95C.2010905@cs.ucla.edu> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org>> <83ha9jv5lh.fsf@gnu.org>> <838uuvum9n.fsf@gnu.org>> <8338l2v1tn.fsf@gnu.org>> <52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org>> <52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org>> <52C9E53D.8070106@cs.ucla.edu> <838uutu5mu.fsf@gnu.org>> <52CA3FB9.30509@cs.ucla.edu> <834n5ht7bz.fsf@gnu.org>> <52CB5517.4030502@cs.ucla.edu>> <83lhyssawf.fsf@gnu.org>> <5363ECDA.8050305@cs.ucla.edu> <4l61lo7zvc.fsf@fencepost.gnu.org> In-Reply-To: <4l61lo7zvc.fsf@fencepost.gnu.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 16292 Cc: 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) On 05/02/2014 12:19 PM, Glenn Morris wrote: > There are no 24.4.50 tarballs, so I see nothing to investigate there. > It was presumably a build from bzr. Ah, thanks, then presumably the makeinfo on the user's machine is part of the problem, and it'd be helpful to know exactly which version it was. I expect it'll be better to squash the bug at the source than to send info+.el down the rabbit hole of trying to parse quoting 'like this'. From debbugs-submit-bounces@debbugs.gnu.org Fri May 02 15:33:46 2014 Received: (at 16292) by debbugs.gnu.org; 2 May 2014 19:33:46 +0000 Received: from localhost ([127.0.0.1]:48731 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgJDM-0006bB-Tc for submit@debbugs.gnu.org; Fri, 02 May 2014 15:33:45 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:28526) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgJDK-0006au-GX for 16292@debbugs.gnu.org; Fri, 02 May 2014 15:33:43 -0400 Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s42JXYq3030648 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 2 May 2014 19:33:35 GMT Received: from aserz7021.oracle.com (aserz7021.oracle.com [141.146.126.230]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s42JXXBM020687 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 2 May 2014 19:33:34 GMT Received: from abhmp0012.oracle.com (abhmp0012.oracle.com [141.146.116.18]) by aserz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s42JXXqx021290; Fri, 2 May 2014 19:33:33 GMT MIME-Version: 1.0 Message-ID: <57f18f83-5ac5-4bde-8268-ba89f159c676@default> Date: Fri, 2 May 2014 12:33:33 -0700 (PDT) From: Drew Adams To: Paul Eggert , Eli Zaretskii Subject: RE: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <<<52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org>> <<52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org>> <<52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org>> <<52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org>> <<52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org>> < <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org>> < <83ha9jv5lh.fsf@gnu.org>> < <838uuvum9n.fsf@gnu.org>> < <8338l2v1tn.fsf@gnu.org>> <<52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org>> <<52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org>> <<52C9E53D.8070106@cs.ucla.edu> <838uutu5mu.fsf@gnu.org>> <<52CA3FB9.30509@cs.ucla.edu> <834n5ht7bz.fsf@gnu.org>> <<52CB5517.4030502@cs.ucla.edu>> <<83lhyssawf.fsf@gnu.org>> <5363ECDA.8050305@cs.ucla.edu> In-Reply-To: <5363ECDA.8050305@cs.ucla.edu> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) > > I've had a report from an info+.el user that his 24.4.50.1 > > build breaks the Info+ highlighting of names because '...' > > is used now instead of `...'. >=20 > Emacs should be built either with an old makeinfo, which should > quote `like this' with ASCII accent-grave and apostrophe, or > with a new makeinfo, which should quote 'like this' with Unicode > directed single-quotes. Makeinfo shouldn't quote 'like this' > with ASCII apostrophe only.=20 I thought Eli was saying that it does just that: '...'. What am I missing between what you two are saying about this? > Perhaps your info+.el user could investigate why makeinfo is > misbehaving for them, Can you suggest how? What should he look for? > and if they figure that out it might be nice for us to modify > the Emacs distribution to stop the misbehavior. I think this user might be willing to check, if we could tell him how to do so. > This should fix the problem without info+.el having to worry > about which makeinfo version was used. Great, but I would still want Info+ to be able to easily test, using Lisp, which is being used in the current Info buffer: `...' or '...'. As I mentioned, it is a lot better to try to fontify just the proper pattern, rather than to try to fontify both possibilities at the same time, just in case. Such highlighting is never failsafe anyway (it can be thrown off by a solitary quote symbol etc.), and if a regexp tries to match both patterns at the same time then that just increases the likelihood of doing the wrong thing. > Also: in a standard Emacs tarball the builder shouldn't ever run > makeinfo, as the info files should all be prebuilt and up-to-date. > Can your info+.el user please also investigate why that didn't > work for them? So you are saying that if he got Emacs from a "standard tarball" then '...' is the fault of the builder of that standard tarball. Which would be whom? I can try to find out where he got the Info files. I don't think he built them himself, but I have asked him and hope to hear back. From debbugs-submit-bounces@debbugs.gnu.org Fri May 02 16:36:59 2014 Received: (at 16292) by debbugs.gnu.org; 2 May 2014 20:36:59 +0000 Received: from localhost ([127.0.0.1]:48769 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgKCY-00012R-FD for submit@debbugs.gnu.org; Fri, 02 May 2014 16:36:59 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:55117) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgKCV-00012B-QF for 16292@debbugs.gnu.org; Fri, 02 May 2014 16:36:56 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id ED27839E80DE; Fri, 2 May 2014 13:36:49 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VBMnkIJbkfHZ; Fri, 2 May 2014 13:36:44 -0700 (PDT) Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 1705FA6000F; Fri, 2 May 2014 13:36:44 -0700 (PDT) Message-ID: <536401DB.7080606@cs.ucla.edu> Date: Fri, 02 May 2014 13:36:43 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Drew Adams , Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <<83zjnextyg.fsf@gnu.org>> <<52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org>> <<52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org>> <<52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org>> < <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org>> < <83ha9jv5lh.fsf@gnu.org>> < <838uuvum9n.fsf@gnu.org>> < <8338l2v1tn.fsf@gnu.org>> <<52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org>> <<52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org>> <<52C9E53D.8070106@cs.ucla.edu> <838uutu5mu.fsf@gnu.org>> <<52CA3FB9.30509@cs.ucla.edu> <834n5ht7bz.fsf@gnu.org>> <<52CB5517.4030502@cs.ucla.edu>> <<83lhyssawf.fsf@gnu.org>> <5363ECDA.8050305@cs.ucla.edu> <57f18f83-5ac5-4bde-8268-ba89f159c676@default> In-Reply-To: <57f18f83-5ac5-4bde-8268-ba89f159c676@default> Content-Type: multipart/mixed; boundary="------------020601000800000604020900" X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) This is a multi-part message in MIME format. --------------020601000800000604020900 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 05/02/2014 12:33 PM, Drew Adams wrote: > I thought Eli was saying that it does just that: '...'. Your user is reporting that, so that's what Eli is diagnosing. The point is that makeinfo shouldn't be doing that. >> Perhaps your info+.el user could investigate why makeinfo is >> misbehaving for them, > Can you suggest how? Run 'makeinfo' on the attached file t.texi and look at the quoting in the output file t.info. It should use ASCII accent-grave and apostrophe with old texinfo, and Unicode curly single quotes with new texinfo. Similarly, the double quotes should use ASCII undirected double-quote (both times) with old texinfo, and Unicode curly double quotes with new texinfo. > I would still want Info+ to be able to easily test, using Lisp, which > is being used in the current Info buffer: `...' or '...'. Info files should never use the latter in Emacs 24.4, so this shouldn't be a problem. Down the road there may be a problem, as we really need to accommodate new Texinfo. It has been suggested that we change the Emacs build procedure to transliterate the output of new Texinfo so that by default it quotes 'like this' instead of ‘like this’. I think this would be a mistake, and your recent bug report gives another argument against it. For your planning purposes, here is a list of non-ASCII characters that are generated by new Texinfo when applied to the Emacs documentation as of January or so. You might want to check that info+.el handles these characters, as some users will run into them either because they built the manuals themselves with new Texinfo, or because they're reading manuals generated by other GNU projects. I think Emacs is the only holdout that still insists on old Texinfo. ' ' (i.e., NO-BREAK SPACE, U+00A0) '真' (i.e., Han character 'real, actual, true, genuine', U+771F) ¤ © ¬ » À Å ß à á ä å ç è é ê ì í ï ò ó ö ø ü ć č ł ń ő Š š – — ‘ ’ “ ” • … → ↦ ⇒ − ≡ ⊣ ★ --------------020601000800000604020900 Content-Type: text/x-texinfo; name="t.texi" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="t.texi" \input texinfo @documentencoding UTF-8 @settitle Test @node Top `single quoted' ``double-quoted'' @bye --------------020601000800000604020900-- From debbugs-submit-bounces@debbugs.gnu.org Fri May 02 16:53:59 2014 Received: (at 16292) by debbugs.gnu.org; 2 May 2014 20:53:59 +0000 Received: from localhost ([127.0.0.1]:48780 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgKT0-0001Wj-QP for submit@debbugs.gnu.org; Fri, 02 May 2014 16:53:59 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:28189) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgKSy-0001WP-5T for 16292@debbugs.gnu.org; Fri, 02 May 2014 16:53:56 -0400 Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s42Krnpe016993 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 2 May 2014 20:53:49 GMT Received: from userz7022.oracle.com (userz7022.oracle.com [156.151.31.86]) by ucsinet22.oracle.com (8.14.5+Sun/8.14.5) with ESMTP id s42KrlF0018529 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 2 May 2014 20:53:49 GMT Received: from abhmp0012.oracle.com (abhmp0012.oracle.com [141.146.116.18]) by userz7022.oracle.com (8.14.5+Sun/8.14.4) with ESMTP id s42KrjSB018482; Fri, 2 May 2014 20:53:46 GMT MIME-Version: 1.0 Message-ID: Date: Fri, 2 May 2014 13:53:45 -0700 (PDT) From: Drew Adams To: Paul Eggert , Eli Zaretskii Subject: RE: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <<83zjnextyg.fsf@gnu.org>> <<52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org>> <<52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org>> <<52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org>> < <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org>> < <83ha9jv5lh.fsf@gnu.org>> < <838uuvum9n.fsf@gnu.org>> < <8338l2v1tn.fsf@gnu.org>> <<52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org>> <<52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org>> <<52C9E53D.8070106@cs.ucla.edu> <838uutu5mu.fsf@gnu.org>> <<52CA3FB9.30509@cs.ucla.edu> <834n5ht7bz.fsf@gnu.org>> <<52CB5517.4030502@cs.ucla.edu>> <<83lhyssawf.fsf@gnu.org>> <5363ECDA.8050305@cs.ucla.edu> <57f18f83-5ac5-4bde-8268-ba89f159c676@default> <536401DB.7080606@cs.ucla.edu> In-Reply-To: <536401DB.7080606@cs.ucla.edu> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Source-IP: ucsinet22.oracle.com [156.151.31.94] X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) > >> Perhaps your info+.el user could investigate why makeinfo is > >> misbehaving for them, > > Can you suggest how? >=20 > Run 'makeinfo' on the attached file t.texi and look at the quoting in > the output file t.info. It should use ASCII accent-grave and apostrophe > with old texinfo, and Unicode curly single quotes with new texinfo. > Similarly, the double quotes should use ASCII undirected double-quote > (both times) with old texinfo, and Unicode curly double quotes with new > texinfo. OK, I just passed that information along to him. FWIW, I have received this info from him: I built from source with makinfo 5.2. However, makeinfo 5.2 works fine for Emacs pretest (emacs 24.3.90), but not for Emacs trunk (24.4.50): bzr branch bzr://bzr.savannah.gnu.org/emacs/trunk Here are the steps to build: - ./configure --with-x-toolkit=3Dgtk - make - sudo make install What does old vs new texinfo refer to? Did you perhaps mean old vs new makeinfo? If not, how does he tell whether he has "old" or "new" Texinfo? > > I would still want Info+ to be able to easily test, using Lisp, which > > is being used in the current Info buffer: `...' or '...'. >=20 > Info files should never use the latter in Emacs 24.4, so this shouldn't > be a problem. > > Down the road there may be a problem, as we really need to accommodate > new Texinfo. It has been suggested that we change the Emacs build > procedure to transliterate the output of new Texinfo so that by default > it quotes 'like this' instead of =E2=80=98like this=E2=80=99. I think thi= s would be a > mistake, and your recent bug report gives another argument against it. Is the problem just for `...' vs '...' or =E2=80=98...=E2=80=99? What abou= t Lisp (and other) code, where we use ", ', and `, and none of those should be changed to a curly version of the same? A Lisp string, for instance, must be enclosed in straight double-quote chars, the same char at each end. It would be madness if such chars were being automatically "improved" everywhere willy nilly to become curly versions. > For your planning purposes, here is a list of non-ASCII characters that > are generated by new Texinfo when applied to the Emacs documentation as > of January or so. You might want to check that info+.el handles these > characters, as some users will run into them either because they built > the manuals themselves with new Texinfo, or because they're reading > manuals generated by other GNU projects. I think Emacs is the only > holdout that still insists on old Texinfo. >=20 > ' ' (i.e., NO-BREAK SPACE, U+00A0) > '=E7=9C=9F' (i.e., Han character 'real, actual, true, genuine', U+771F) >=20 > =C2=A4 =C2=A9 =C2=AC =C2=BB =C3=80 =C3=85 =C3=9F =C3=A0 =C3=A1 =C3=A4 =C3= =A5 =C3=A7 =C3=A8 =C3=A9 =C3=AA =C3=AC =C3=AD =C3=AF =C3=B2 =C3=B3 =C3=B6 = =C3=B8 =C3=BC =C4=87 =C4=8D =C5=82 =C5=84 =C5=91 =C5=A0 =C5=A1 =E2=80=93 = =E2=80=94 =E2=80=98 =E2=80=99 =E2=80=9C =E2=80=9D > =E2=80=A2 =E2=80=A6 =E2=86=92 =E2=86=A6 =E2=87=92 =E2=88=92 =E2=89=A1 =E2= =8A=A3 =E2=98=85 Not sure why you let me know this (but I'm glad to have it). A priori, I have no problem with any such chars in an Info buffer. Any problems that I would have would I think come from substituting chars that currently have particular meaning to Info (or to Lisp etc. - see above). From debbugs-submit-bounces@debbugs.gnu.org Fri May 02 17:08:39 2014 Received: (at 16292) by debbugs.gnu.org; 2 May 2014 21:08:39 +0000 Received: from localhost ([127.0.0.1]:48789 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgKhD-0001vT-2o for submit@debbugs.gnu.org; Fri, 02 May 2014 17:08:39 -0400 Received: from mail-lb0-f177.google.com ([209.85.217.177]:49065) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgKh7-0001v5-Bb for 16292@debbugs.gnu.org; Fri, 02 May 2014 17:08:35 -0400 Received: by mail-lb0-f177.google.com with SMTP id z11so3636093lbi.22 for <16292@debbugs.gnu.org>; Fri, 02 May 2014 14:08:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=03+iMS0+Vl1dHCNdiLDY+XKmWwmuMxBo9GPhKUNC+o0=; b=eB94iDwombb+pIrm6oWQMIyY4kU1re7Ul8o0Df4VCsDMuScxA/iPwpcsxY+B0w/ALf FzBebBNsfDZ26MaMBaxupLoSg65oHgWBSwXBXD4nSTCJ962k5DLqMqD9/imOfIJ5gFHa DhPanrFo2G7KhDIs6QFnKvEyxIE38Jyv9VRh60CSjrmr0hTaODgsowfslwCInE6KRgsM UxAwKzIkuGPNFcmeD836wRKaNAYNuIlamgnM3ZDsWcV+IQxej86kj1dxiJvPdM5zWs+Q n6jYsefODirrrUszVCc/5WujQE2bf3CbqAL2OswU6BqCi00rhlgqNdXFhsXdWBArxj4I uhQA== MIME-Version: 1.0 X-Received: by 10.153.5.37 with SMTP id cj5mr38328lad.48.1399064906996; Fri, 02 May 2014 14:08:26 -0700 (PDT) Received: by 10.112.219.193 with HTTP; Fri, 2 May 2014 14:08:26 -0700 (PDT) In-Reply-To: <2adc27e8-a747-407f-b0a3-9baf24a027cd@default> References: <2ed2ae78-87f1-43e3-98de-0a96e045fbe6@default> <8c5516ce-42db-4e90-b612-1e9ea4a947be@default> <2adc27e8-a747-407f-b0a3-9baf24a027cd@default> Date: Sat, 3 May 2014 04:08:26 +0700 Message-ID: Subject: Re: Emacs trunk does not use `...' for quoting names anymore From: Tu Do To: 16292@debbugs.gnu.org Content-Type: multipart/mixed; boundary=001a1133c2bacef9ed04f8712e76 X-Debbugs-Envelope-To: 16292 Cc: Drew Adams X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" --001a1133c2bacef9ed04f8712e76 Content-Type: multipart/alternative; boundary=001a1133c2bacef9e904f8712e74 --001a1133c2bacef9e904f8712e74 Content-Type: text/plain; charset=UTF-8 Hi I am the user in discussion, The output is in the attached file. Probably the Emacs pretest got pre-compiled info documents? Some relevant information: - Output from *makeinfo --version*: makeinfo (GNU texinfo) 5.2 > > Copyright (C) 2013 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later < > http://gnu.org/licenses/gpl.html> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. > - Which *makeinfo* I am using: /usr/bin/makeinfo > - The other two config.log files for each Emacs version, both use */usr/bin/makeinfo* I also installed texinfo 5.1 and the result is the same. OS: No LSB modules are available. > Distributor ID: Ubuntu > Description: Ubuntu 14.04 LTS > Release: 14.04 > Codename: trusty > Thanks, Tu. On Sat, May 3, 2014 at 3:45 AM, Drew Adams wrote: > Hi again, > > > > Thanks for that info - I've passed it along to the bug thread. > > > > From the bug thread there is this request from you. Could you check this? > > > > > Run 'makeinfo' on the attached file t.texi and look at the quoting in > > > the output file t.info. It should use ASCII accent-grave and apostrophe > > > with old texinfo, and Unicode curly single quotes with new texinfo. > > > Similarly, the double quotes should use ASCII undirected double-quote > > > (both times) with old texinfo, and Unicode curly double quotes with new > > > texinfo. > > > > Thx - Drew > > > > I built from source with makinfo 5.2. However, makeinfo 5.2 works fine for > Emacs pretest (emacs 24.3.90), but not for Emacs trunk(24.4.50): > > bzr branch bzr://bzr.savannah.gnu.org/emacs/ > > *trunk* > > Here are the steps to build: > > - ./configure --with-x-toolkit=gtk > > - make > > - sudo make install > --001a1133c2bacef9e904f8712e74 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi I am the user in discussion,
The output is in the attached file. Probably the Emacs pretest got pr= e-compiled info documents?

Some relevant information:

- Output from makeinfo --version:

makeinfo (GNU texinfo) 5.2

Copyright (C= ) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free s= oftware: you are free to change and redistribute it.
There is NO WARRANT= Y, to the extent permitted by law.

- Which makeinfo I am using:

/usr/bin/makeinfo

- The other two config.log files for each Emacs version, both use= /usr/bin/makeinfo

I also installed texinfo 5.1 and th= e result is the same.

OS:

No LSB modules are available.
Distributor ID:=C2=A0=C2=A0=C2=A0 UbuntuDescription:=C2=A0=C2=A0=C2=A0 Ubuntu 14.04 LTS
Release:=C2=A0=C2=A0= =C2=A0 14.04
Codename:=C2=A0=C2=A0=C2=A0 trusty


Thanks,

Tu.
--001a1133c2bacef9e904f8712e74-- --001a1133c2bacef9ed04f8712e76 Content-Type: application/x-info; name="t.info" Content-Disposition: attachment; filename="t.info" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hupyl6y00 VGhpcyBpcyB0LmluZm8sIHByb2R1Y2VkIGJ5IG1ha2VpbmZvIHZlcnNpb24gNS4yIGZyb20gdC50 ZXhpLgoKHwpGaWxlOiB0LmluZm8sICBOb2RlOiBUb3AsICBVcDogKGRpcikKCuKAmHNpbmdsZSBx dW90ZWTigJkg4oCcZG91YmxlLXF1b3RlZOKAnQoKHwpUYWcgVGFibGU6Ck5vZGU6IFRvcH82Mwof CkVuZCBUYWcgVGFibGUKCh8KTG9jYWwgVmFyaWFibGVzOgpjb2Rpbmc6IHV0Zi04CkVuZDoK --001a1133c2bacef9ed04f8712e76 Content-Type: application/octet-stream; name="config.log.pretest" Content-Disposition: attachment; filename="config.log.pretest" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hupyqn491 VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IGVtYWNzIGNvbmZpZ3VyZSAyNC4zLjkwLCB3 aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY5LiAgSW52b2NhdGlvbiBjb21t YW5kIGxpbmUgd2FzCgogICQgLi9jb25maWd1cmUgLS13aXRoLXgtdG9vbGtpdD1ndGsKCiMjIC0t LS0tLS0tLSAjIwojIyBQbGF0Zm9ybS4gIyMKIyMgLS0tLS0tLS0tICMjCgpob3N0bmFtZSA9IHR1 aGRvLU1hY0Jvb2tBaXIKdW5hbWUgLW0gPSB4ODZfNjQKdW5hbWUgLXIgPSAzLjEzLjAtMjQtZ2Vu ZXJpYwp1bmFtZSAtcyA9IExpbnV4CnVuYW1lIC12ID0gIzQ2LVVidW50dSBTTVAgVGh1IEFwciAx MCAxOToxMTowOCBVVEMgMjAxNAoKL3Vzci9iaW4vdW5hbWUgLXAgPSB1bmtub3duCi9iaW4vdW5h bWUgLVggICAgID0gdW5rbm93bgoKL2Jpbi9hcmNoICAgICAgICAgICAgICA9IHVua25vd24KL3Vz ci9iaW4vYXJjaCAtayAgICAgICA9IHVua25vd24KL3Vzci9jb252ZXgvZ2V0c3lzaW5mbyA9IHVu a25vd24KL3Vzci9iaW4vaG9zdGluZm8gICAgICA9IHVua25vd24KL2Jpbi9tYWNoaW5lICAgICAg ICAgICA9IHVua25vd24KL3Vzci9iaW4vb3NsZXZlbCAgICAgICA9IHVua25vd24KL2Jpbi91bml2 ZXJzZSAgICAgICAgICA9IHVua25vd24KClBBVEg6IC91c3IvbG9jYWwvc2JpbgpQQVRIOiAvdXNy L2xvY2FsL2JpbgpQQVRIOiAvdXNyL3NiaW4KUEFUSDogL3Vzci9iaW4KUEFUSDogL3NiaW4KUEFU SDogL2JpbgpQQVRIOiAvdXNyL2dhbWVzClBBVEg6IC91c3IvbG9jYWwvZ2FtZXMKCgojIyAtLS0t LS0tLS0tLSAjIwojIyBDb3JlIHRlc3RzLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoKY29uZmlndXJl OjM2Mzg6IGNoZWNraW5nIGZvciB4Y3J1bgpjb25maWd1cmU6MzY2ODogcmVzdWx0OiBubwpjb25m aWd1cmU6MzczOTogY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbApjb25maWd1 cmU6MzgwNzogcmVzdWx0OiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNvbmZpZ3VyZTozODE4OiBjaGVj a2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUKY29uZmlndXJlOjM4NzM6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZTo0MDI0OiBjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2Rp ciAtcApjb25maWd1cmU6NDA2MzogcmVzdWx0OiAvYmluL21rZGlyIC1wCmNvbmZpZ3VyZTo0MDcw OiBjaGVja2luZyBmb3IgZ2F3awpjb25maWd1cmU6NDEwMDogcmVzdWx0OiBubwpjb25maWd1cmU6 NDA3MDogY2hlY2tpbmcgZm9yIG1hd2sKY29uZmlndXJlOjQwODY6IGZvdW5kIC91c3IvYmluL21h d2sKY29uZmlndXJlOjQwOTc6IHJlc3VsdDogbWF3awpjb25maWd1cmU6NDEwODogY2hlY2tpbmcg d2hldGhlciBtYWtlIHNldHMgJChNQUtFKQpjb25maWd1cmU6NDEzMDogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjQxNTk6IGNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFi bGVzCmNvbmZpZ3VyZTo0MTc2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDg4MDogY2hlY2tpbmcg YnVpbGQgc3lzdGVtIHR5cGUKY29uZmlndXJlOjQ4OTQ6IHJlc3VsdDogeDg2XzY0LXVua25vd24t bGludXgtZ251CmNvbmZpZ3VyZTo0OTE0OiBjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlCmNvbmZp Z3VyZTo0OTI3OiByZXN1bHQ6IHg4Nl82NC11bmtub3duLWxpbnV4LWdudQpjb25maWd1cmU6NTIw MDogY2hlY2tpbmcgZm9yIGdjYwpjb25maWd1cmU6NTIxNjogZm91bmQgL3Vzci9iaW4vZ2NjCmNv bmZpZ3VyZTo1MjI3OiByZXN1bHQ6IGdjYwpjb25maWd1cmU6NTI1ODogY2hlY2tpbmcgZm9yIEMg Y29tcGlsZXIgdmVyc2lvbgpjb25maWd1cmU6NTI2NzogZ2NjIC0tdmVyc2lvbiA+JjUKZ2NjIChV YnVudHUgNC44LjItMTl1YnVudHUxKSA0LjguMgpDb3B5cmlnaHQgKEMpIDIwMTMgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3Vy Y2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PCndhcnJhbnR5OyBub3QgZXZl biBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LgoKY29uZmlndXJlOjUyNzg6ICQ/ID0gMApjb25maWd1cmU6NTI2NzogZ2NjIC12ID4mNQpVc2lu ZyBidWlsdC1pbiBzcGVjcy4KQ09MTEVDVF9HQ0M9Z2NjCkNPTExFQ1RfTFRPX1dSQVBQRVI9L3Vz ci9saWIvZ2NjL3g4Nl82NC1saW51eC1nbnUvNC44L2x0by13cmFwcGVyClRhcmdldDogeDg2XzY0 LWxpbnV4LWdudQpDb25maWd1cmVkIHdpdGg6IC4uL3NyYy9jb25maWd1cmUgLXYgLS13aXRoLXBr Z3ZlcnNpb249J1VidW50dSA0LjguMi0xOXVidW50dTEnIC0td2l0aC1idWd1cmw9ZmlsZTovLy91 c3Ivc2hhcmUvZG9jL2djYy00LjgvUkVBRE1FLkJ1Z3MgLS1lbmFibGUtbGFuZ3VhZ2VzPWMsYysr LGphdmEsZ28sZCxmb3J0cmFuLG9iamMsb2JqLWMrKyAtLXByZWZpeD0vdXNyIC0tcHJvZ3JhbS1z dWZmaXg9LTQuOCAtLWVuYWJsZS1zaGFyZWQgLS1lbmFibGUtbGlua2VyLWJ1aWxkLWlkIC0tbGli ZXhlY2Rpcj0vdXNyL2xpYiAtLXdpdGhvdXQtaW5jbHVkZWQtZ2V0dGV4dCAtLWVuYWJsZS10aHJl YWRzPXBvc2l4IC0td2l0aC1neHgtaW5jbHVkZS1kaXI9L3Vzci9pbmNsdWRlL2MrKy80LjggLS1s aWJkaXI9L3Vzci9saWIgLS1lbmFibGUtbmxzIC0td2l0aC1zeXNyb290PS8gLS1lbmFibGUtY2xv Y2FsZT1nbnUgLS1lbmFibGUtbGlic3RkY3h4LWRlYnVnIC0tZW5hYmxlLWxpYnN0ZGN4eC10aW1l PXllcyAtLWVuYWJsZS1nbnUtdW5pcXVlLW9iamVjdCAtLWRpc2FibGUtbGlibXVkZmxhcCAtLWVu YWJsZS1wbHVnaW4gLS13aXRoLXN5c3RlbS16bGliIC0tZGlzYWJsZS1icm93c2VyLXBsdWdpbiAt LWVuYWJsZS1qYXZhLWF3dD1ndGsgLS1lbmFibGUtZ3RrLWNhaXJvIC0td2l0aC1qYXZhLWhvbWU9 L3Vzci9saWIvanZtL2phdmEtMS41LjAtZ2NqLTQuOC1hbWQ2NC9qcmUgLS1lbmFibGUtamF2YS1o b21lIC0td2l0aC1qdm0tcm9vdC1kaXI9L3Vzci9saWIvanZtL2phdmEtMS41LjAtZ2NqLTQuOC1h bWQ2NCAtLXdpdGgtanZtLWphci1kaXI9L3Vzci9saWIvanZtLWV4cG9ydHMvamF2YS0xLjUuMC1n Y2otNC44LWFtZDY0IC0td2l0aC1hcmNoLWRpcmVjdG9yeT1hbWQ2NCAtLXdpdGgtZWNqLWphcj0v dXNyL3NoYXJlL2phdmEvZWNsaXBzZS1lY2ouamFyIC0tZW5hYmxlLW9iamMtZ2MgLS1lbmFibGUt bXVsdGlhcmNoIC0tZGlzYWJsZS13ZXJyb3IgLS13aXRoLWFyY2gtMzI9aTY4NiAtLXdpdGgtYWJp PW02NCAtLXdpdGgtbXVsdGlsaWItbGlzdD1tMzIsbTY0LG14MzIgLS13aXRoLXR1bmU9Z2VuZXJp YyAtLWVuYWJsZS1jaGVja2luZz1yZWxlYXNlIC0tYnVpbGQ9eDg2XzY0LWxpbnV4LWdudSAtLWhv c3Q9eDg2XzY0LWxpbnV4LWdudSAtLXRhcmdldD14ODZfNjQtbGludXgtZ251ClRocmVhZCBtb2Rl bDogcG9zaXgKZ2NjIHZlcnNpb24gNC44LjIgKFVidW50dSA0LjguMi0xOXVidW50dTEpIApjb25m aWd1cmU6NTI3ODogJD8gPSAwCmNvbmZpZ3VyZTo1MjY3OiBnY2MgLVYgPiY1CmdjYzogZXJyb3I6 IHVucmVjb2duaXplZCBjb21tYW5kIGxpbmUgb3B0aW9uICctVicKZ2NjOiBmYXRhbCBlcnJvcjog bm8gaW5wdXQgZmlsZXMKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjUyNzg6ICQ/ ID0gNApjb25maWd1cmU6NTI2NzogZ2NjIC1xdmVyc2lvbiA+JjUKZ2NjOiBlcnJvcjogdW5yZWNv Z25pemVkIGNvbW1hbmQgbGluZSBvcHRpb24gJy1xdmVyc2lvbicKZ2NjOiBmYXRhbCBlcnJvcjog bm8gaW5wdXQgZmlsZXMKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjUyNzg6ICQ/ ID0gNApjb25maWd1cmU6NTI5ODogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jr cwpjb25maWd1cmU6NTMyMDogZ2NjICAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6NTMyNDog JD8gPSAwCmNvbmZpZ3VyZTo1MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTM3NTogY2hlY2tp bmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lCmNvbmZpZ3VyZTo1Mzc3 OiByZXN1bHQ6IGEub3V0CmNvbmZpZ3VyZTo1MzgzOiBjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4 ZWN1dGFibGVzCmNvbmZpZ3VyZTo1MzkwOiBnY2MgLW8gY29uZnRlc3QgICAgY29uZnRlc3QuYyAg PiY1CmNvbmZpZ3VyZTo1Mzk0OiAkPyA9IDAKY29uZmlndXJlOjU0MTY6IHJlc3VsdDogCmNvbmZp Z3VyZTo1NDM4OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcKY29uZmln dXJlOjU0NDY6IGdjYyAtbyBjb25mdGVzdCAgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjU0 NTA6ICQ/ID0gMApjb25maWd1cmU6NTQ1NzogLi9jb25mdGVzdApjb25maWd1cmU6NTQ2MTogJD8g PSAwCmNvbmZpZ3VyZTo1NDc2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1NDgxOiBjaGVja2luZyBm b3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcwpjb25maWd1cmU6NTUwMzogZ2NjIC1jICAgY29uZnRl c3QuYyA+JjUKY29uZmlndXJlOjU1MDc6ICQ/ID0gMApjb25maWd1cmU6NTUyODogcmVzdWx0OiBv CmNvbmZpZ3VyZTo1NTMyOiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMg Y29tcGlsZXIKY29uZmlndXJlOjU1NTE6IGdjYyAtYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZTo1NTUxOiAkPyA9IDAKY29uZmlndXJlOjU1NjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NTY5 OiBjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nCmNvbmZpZ3VyZTo1NTg5OiBnY2MgLWMg LWcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1NTg5OiAkPyA9IDAKY29uZmlndXJlOjU2MzA6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NjQ3OiBjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBh Y2NlcHQgSVNPIEM4OQpjb25maWd1cmU6NTcxMDogZ2NjICAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZTo1NzEwOiAkPyA9IDAKY29uZmlndXJlOjU3MjM6IHJlc3VsdDogbm9uZSBu ZWVkZWQKY29uZmlndXJlOjU3NDg6IGNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1j IGFuZCAtbyB0b2dldGhlcgpjb25maWd1cmU6NTc3MDogZ2NjIC1jIGNvbmZ0ZXN0LmMgLW8gY29u ZnRlc3QyLm8KY29uZmlndXJlOjU3NzM6ICQ/ID0gMApjb25maWd1cmU6NTc3MDogZ2NjIC1jIGNv bmZ0ZXN0LmMgLW8gY29uZnRlc3QyLm8KY29uZmlndXJlOjU3NzM6ICQ/ID0gMApjb25maWd1cmU6 NTc4NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU4MTM6IGNoZWNraW5nIGZvciBzdHlsZSBvZiBp bmNsdWRlIHVzZWQgYnkgbWFrZQpjb25maWd1cmU6NTg0MTogcmVzdWx0OiBHTlUKY29uZmlndXJl OjU4Njc6IGNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjCmNvbmZpZ3VyZTo1OTc4OiBy ZXN1bHQ6IGdjYzMKY29uZmlndXJlOjYwNzE6IGNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJl cHJvY2Vzc29yCmNvbmZpZ3VyZTo2MTAyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjYx MDI6ICQ/ID0gMApjb25maWd1cmU6NjExNjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6 MTI6Mjg6IGZhdGFsIGVycm9yOiBhY19ub25leGlzdGVudC5oOiBObyBzdWNoIGZpbGUgb3IgZGly ZWN0b3J5CiAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjYxMTY6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJlbWFjcyAyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVm aW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZF UlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjYxNDE6IHJl c3VsdDogZ2NjIC1FCmNvbmZpZ3VyZTo2MTYxOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJl OjYxNjE6ICQ/ID0gMApjb25maWd1cmU6NjE3NTogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZ0ZXN0 LmM6MTI6Mjg6IGZhdGFsIGVycm9yOiBhY19ub25leGlzdGVudC5oOiBObyBzdWNoIGZpbGUgb3Ig ZGlyZWN0b3J5CiAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjYxNzU6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJlbWFjcyAyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5l IFZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjYyMDQ6 IGNoZWNraW5nIGZvciBncmVwIHRoYXQgaGFuZGxlcyBsb25nIGxpbmVzIGFuZCAtZQpjb25maWd1 cmU6NjI2MjogcmVzdWx0OiAvYmluL2dyZXAKY29uZmlndXJlOjYyNjc6IGNoZWNraW5nIGZvciBl Z3JlcApjb25maWd1cmU6NjMyOTogcmVzdWx0OiAvYmluL2dyZXAgLUUKY29uZmlndXJlOjYzMzY6 IGNoZWNraW5nIGZvciBNaW5peCBBbXN0ZXJkYW0gY29tcGlsZXIKY29uZmlndXJlOjYzNjA6IHJl c3VsdDogbm8KY29uZmlndXJlOjY0MTI6IGNoZWNraW5nIGZvciBhcgpjb25maWd1cmU6NjQyODog Zm91bmQgL3Vzci9iaW4vYXIKY29uZmlndXJlOjY0Mzk6IHJlc3VsdDogYXIKY29uZmlndXJlOjY1 MTk6IGNoZWNraW5nIGZvciByYW5saWIKY29uZmlndXJlOjY1MzU6IGZvdW5kIC91c3IvYmluL3Jh bmxpYgpjb25maWd1cmU6NjU0NjogcmVzdWx0OiByYW5saWIKY29uZmlndXJlOjY1NzI6IGNoZWNr aW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzCmNvbmZpZ3VyZTo2NTkyOiBnY2MgLWMgLWcgLU8y ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjU5MjogJD8gPSAwCmNvbmZpZ3VyZTo2NjY1OiBn Y2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo2NjY1OiAk PyA9IDAKY29uZmlndXJlOjY2NjU6IC4vY29uZnRlc3QKY29uZmlndXJlOjY2NjU6ICQ/ID0gMApj b25maWd1cmU6NjY3NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY2ODk6IGNoZWNraW5nIGZvciBz eXMvdHlwZXMuaApjb25maWd1cmU6NjY4OTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjY2ODk6ICQ/ID0gMApjb25maWd1cmU6NjY4OTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjY2ODk6IGNoZWNraW5nIGZvciBzeXMvc3RhdC5oCmNvbmZpZ3VyZTo2Njg5OiBnY2MgLWMg LWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjY4OTogJD8gPSAwCmNvbmZpZ3VyZTo2 Njg5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjY4OTogY2hlY2tpbmcgZm9yIHN0ZGxpYi5oCmNv bmZpZ3VyZTo2Njg5OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjY4 OTogJD8gPSAwCmNvbmZpZ3VyZTo2Njg5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjY4OTogY2hl Y2tpbmcgZm9yIHN0cmluZy5oCmNvbmZpZ3VyZTo2Njg5OiBnY2MgLWMgLWcgLU8yICBjb25mdGVz dC5jID4mNQpjb25maWd1cmU6NjY4OTogJD8gPSAwCmNvbmZpZ3VyZTo2Njg5OiByZXN1bHQ6IHll cwpjb25maWd1cmU6NjY4OTogY2hlY2tpbmcgZm9yIG1lbW9yeS5oCmNvbmZpZ3VyZTo2Njg5OiBn Y2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjY4OTogJD8gPSAwCmNvbmZp Z3VyZTo2Njg5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjY4OTogY2hlY2tpbmcgZm9yIHN0cmlu Z3MuaApjb25maWd1cmU6NjY4OTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjY2ODk6ICQ/ID0gMApjb25maWd1cmU6NjY4OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY2 ODk6IGNoZWNraW5nIGZvciBpbnR0eXBlcy5oCmNvbmZpZ3VyZTo2Njg5OiBnY2MgLWMgLWcgLU8y ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjY4OTogJD8gPSAwCmNvbmZpZ3VyZTo2Njg5OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6NjY4OTogY2hlY2tpbmcgZm9yIHN0ZGludC5oCmNvbmZpZ3Vy ZTo2Njg5OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjY4OTogJD8g PSAwCmNvbmZpZ3VyZTo2Njg5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjY4OTogY2hlY2tpbmcg Zm9yIHVuaXN0ZC5oCmNvbmZpZ3VyZTo2Njg5OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4m NQpjb25maWd1cmU6NjY4OTogJD8gPSAwCmNvbmZpZ3VyZTo2Njg5OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6NjcwMjogY2hlY2tpbmcgbWluaXgvY29uZmlnLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo2 NzAyOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjU1OjI2OiBmYXRh bCBlcnJvcjogbWluaXgvY29uZmlnLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNs dWRlIDxtaW5peC9jb25maWcuaD4KICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0 aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo2NzAyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45 MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAi Igp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkwIgp8 ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lm ZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlm CnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRl IDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMg aWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGlu Y2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYK fCAjaW5jbHVkZSA8bWluaXgvY29uZmlnLmg+CmNvbmZpZ3VyZTo2NzAyOiByZXN1bHQ6IG5vCmNv bmZpZ3VyZTo2NzAyOiBjaGVja2luZyBtaW5peC9jb25maWcuaCBwcmVzZW5jZQpjb25maWd1cmU6 NjcwMjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6MjI6MjY6IGZhdGFsIGVycm9yOiBt aW5peC9jb25maWcuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPG1pbml4 L2NvbmZpZy5oPgogICAgICAgICAgICAgICAgICAgICAgICAgIF4KY29tcGlsYXRpb24gdGVybWlu YXRlZC4KY29uZmlndXJlOjY3MDI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi MjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkwIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmlu ZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBN QUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8bWluaXgvY29uZmlnLmg+CmNvbmZpZ3Vy ZTo2NzAyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NzAyOiBjaGVja2luZyBmb3IgbWluaXgvY29u ZmlnLmgKY29uZmlndXJlOjY3MDI6IHJlc3VsdDogbm8KY29uZmlndXJlOjY3MjY6IGNoZWNraW5n IHdoZXRoZXIgaXQgaXMgc2FmZSB0byBkZWZpbmUgX19FWFRFTlNJT05TX18KY29uZmlndXJlOjY3 NDQ6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2NzQ0OiAkPyA9IDAK Y29uZmlndXJlOjY3NTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NzY2OiBjaGVja2luZyB3aGV0 aGVyIF9YT1BFTl9TT1VSQ0Ugc2hvdWxkIGJlIGRlZmluZWQKY29uZmlndXJlOjY3ODU6IGdjYyAt YyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2Nzg1OiAkPyA9IDAKY29uZmlndXJl OjY4MDk6IHJlc3VsdDogbm8KY29uZmlndXJlOjY4Mjg6IGNoZWNraW5nIGZvciBzcGVjaWFsIEMg Y29tcGlsZXIgb3B0aW9ucyBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzCmNvbmZpZ3VyZTo2ODczOiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2ODc5OiBjaGVja2luZyBmb3IgX0ZJTEVfT0ZGU0VUX0JJVFMg dmFsdWUgbmVlZGVkIGZvciBsYXJnZSBmaWxlcwpjb25maWd1cmU6NjkwNDogZ2NjIC1jIC1nIC1P MiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY5MDQ6ICQ/ID0gMApjb25maWd1cmU6NjkzNjog cmVzdWx0OiBubwpjb25maWd1cmU6NzAyNzogY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNj ZXB0IElTTyBDOTkKY29uZmlndXJlOjcxNzY6IGdjYyAgLWMgLWcgLU8yICBjb25mdGVzdC5jID4m NQpjb25mdGVzdC5jOjc5OjI5OiBlcnJvcjogZXhwZWN0ZWQgJzsnLCAnLCcgb3IgJyknIGJlZm9y ZSAndGV4dCcKIHRlc3RfcmVzdHJpY3QgKGNjcCByZXN0cmljdCB0ZXh0KQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVz dC5jOjEzMzoxODogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0 dHJpYnV0ZV9fJyBiZWZvcmUgJ25ld3ZhcicKICAgY2hhciAqcmVzdHJpY3QgbmV3dmFyID0gIkFu b3RoZXIgc3RyaW5nIjsKICAgICAgICAgICAgICAgICAgXgpjb25mdGVzdC5jOjEzMzoxODogZXJy b3I6ICduZXd2YXInIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQpjb25m dGVzdC5jOjEzMzoxODogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0 ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29uZnRlc3QuYzox NDM6MzogZXJyb3I6ICdmb3InIGxvb3AgaW5pdGlhbCBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxs b3dlZCBpbiBDOTkgbW9kZQogICBmb3IgKGludCBpID0gMDsgaSA8IGlhLT5kYXRhc2l6ZTsgKytp KQogICBeCmNvbmZ0ZXN0LmM6MTQzOjM6IG5vdGU6IHVzZSBvcHRpb24gLXN0ZD1jOTkgb3IgLXN0 ZD1nbnU5OSB0byBjb21waWxlIHlvdXIgY29kZQpjb25maWd1cmU6NzE3NjogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg ImVtYWNzIDI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lP TiAiMjQuMy45MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBf QUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVf U09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBf VEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkYXJnLmg+CnwgI2luY2x1ZGUgPHN0 ZGJvb2wuaD4KfCAjaW5jbHVkZSA8c3RkbGliLmg+CnwgI2luY2x1ZGUgPHdjaGFyLmg+CnwgI2lu Y2x1ZGUgPHN0ZGlvLmg+CnwgCnwgLy8gQ2hlY2sgdmFyYXJncyBtYWNyb3MuICBUaGVzZSBleGFt cGxlcyBhcmUgdGFrZW4gZnJvbSBDOTkgNi4xMC4zLjUuCnwgI2RlZmluZSBkZWJ1ZyguLi4pIGZw cmludGYgKHN0ZGVyciwgX19WQV9BUkdTX18pCnwgI2RlZmluZSBzaG93bGlzdCguLi4pIHB1dHMg KCNfX1ZBX0FSR1NfXykKfCAjZGVmaW5lIHJlcG9ydCh0ZXN0LC4uLikgKCh0ZXN0KSA/IHB1dHMg KCN0ZXN0KSA6IHByaW50ZiAoX19WQV9BUkdTX18pKQp8IHN0YXRpYyB2b2lkCnwgdGVzdF92YXJh cmdzX21hY3JvcyAodm9pZCkKfCB7CnwgICBpbnQgeCA9IDEyMzQ7CnwgICBpbnQgeSA9IDU2Nzg7 CnwgICBkZWJ1ZyAoIkZsYWciKTsKfCAgIGRlYnVnICgiWCA9ICVkXG4iLCB4KTsKfCAgIHNob3ds aXN0IChUaGUgZmlyc3QsIHNlY29uZCwgYW5kIHRoaXJkIGl0ZW1zLik7CnwgICByZXBvcnQgKHg+ eSwgInggaXMgJWQgYnV0IHkgaXMgJWQiLCB4LCB5KTsKfCB9CnwgCnwgLy8gQ2hlY2sgbG9uZyBs b25nIHR5cGVzLgp8ICNkZWZpbmUgQklHNjQgMTg0NDY3NDQwNzM3MDk1NTE2MTV1bGwKfCAjZGVm aW5lIEJJRzMyIDQyOTQ5NjcyOTV1bAp8ICNkZWZpbmUgQklHX09LIChCSUc2NCAvIEJJRzMyID09 IDQyOTQ5NjcyOTd1bGwgJiYgQklHNjQgJSBCSUczMiA9PSAwKQp8ICNpZiAhQklHX09LCnwgICB5 b3VyIHByZXByb2Nlc3NvciBpcyBicm9rZW47CnwgI2VuZGlmCnwgI2lmIEJJR19PSwp8ICNlbHNl CnwgICB5b3VyIHByZXByb2Nlc3NvciBpcyBicm9rZW47CnwgI2VuZGlmCnwgc3RhdGljIGxvbmcg bG9uZyBpbnQgYmlnbnVtID0gLTkyMjMzNzIwMzY4NTQ3NzU4MDdMTDsKfCBzdGF0aWMgdW5zaWdu ZWQgbG9uZyBsb25nIGludCB1YmlnbnVtID0gQklHNjQ7CnwgCnwgc3RydWN0IGluY29tcGxldGVf YXJyYXkKfCB7CnwgICBpbnQgZGF0YXNpemU7CnwgICBkb3VibGUgZGF0YVtdOwp8IH07CnwgCnwg c3RydWN0IG5hbWVkX2luaXQgewp8ICAgaW50IG51bWJlcjsKfCAgIGNvbnN0IHdjaGFyX3QgKm5h bWU7CnwgICBkb3VibGUgYXZlcmFnZTsKfCB9Owp8IAp8IHR5cGVkZWYgY29uc3QgY2hhciAqY2Nw Owp8IAp8IHN0YXRpYyBpbmxpbmUgaW50CnwgdGVzdF9yZXN0cmljdCAoY2NwIHJlc3RyaWN0IHRl eHQpCnwgewp8ICAgLy8gU2VlIGlmIEMrKy1zdHlsZSBjb21tZW50cyB3b3JrLgp8ICAgLy8gSXRl cmF0ZSB0aHJvdWdoIGl0ZW1zIHZpYSB0aGUgcmVzdHJpY3RlZCBwb2ludGVyLgp8ICAgLy8gQWxz byBjaGVjayBmb3IgZGVjbGFyYXRpb25zIGluIGZvciBsb29wcy4KfCAgIGZvciAodW5zaWduZWQg aW50IGkgPSAwOyAqKHRleHQraSkgIT0gJ1wwJzsgKytpKQp8ICAgICBjb250aW51ZTsKfCAgIHJl dHVybiAwOwp8IH0KfCAKfCAvLyBDaGVjayB2YXJhcmdzIGFuZCB2YV9jb3B5Lgp8IHN0YXRpYyB2 b2lkCnwgdGVzdF92YXJhcmdzIChjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKfCB7CnwgICB2YV9s aXN0IGFyZ3M7CnwgICB2YV9zdGFydCAoYXJncywgZm9ybWF0KTsKfCAgIHZhX2xpc3QgYXJnc19j b3B5Owp8ICAgdmFfY29weSAoYXJnc19jb3B5LCBhcmdzKTsKfCAKfCAgIGNvbnN0IGNoYXIgKnN0 cjsKfCAgIGludCBudW1iZXI7CnwgICBmbG9hdCBmbnVtYmVyOwp8IAp8ICAgd2hpbGUgKCpmb3Jt YXQpCnwgICAgIHsKfCAgICAgICBzd2l0Y2ggKCpmb3JtYXQrKykKfCAJewp8IAljYXNlICdzJzog Ly8gc3RyaW5nCnwgCSAgc3RyID0gdmFfYXJnIChhcmdzX2NvcHksIGNvbnN0IGNoYXIgKik7Cnwg CSAgYnJlYWs7CnwgCWNhc2UgJ2QnOiAvLyBpbnQKfCAJICBudW1iZXIgPSB2YV9hcmcgKGFyZ3Nf Y29weSwgaW50KTsKfCAJICBicmVhazsKfCAJY2FzZSAnZic6IC8vIGZsb2F0CnwgCSAgZm51bWJl ciA9IHZhX2FyZyAoYXJnc19jb3B5LCBkb3VibGUpOwp8IAkgIGJyZWFrOwp8IAlkZWZhdWx0Ogp8 IAkgIGJyZWFrOwp8IAl9CnwgICAgIH0KfCAgIHZhX2VuZCAoYXJnc19jb3B5KTsKfCAgIHZhX2Vu ZCAoYXJncyk7CnwgfQp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICAvLyBDaGVjayBib29s Lgp8ICAgX0Jvb2wgc3VjY2VzcyA9IGZhbHNlOwp8IAp8ICAgLy8gQ2hlY2sgcmVzdHJpY3QuCnwg ICBpZiAodGVzdF9yZXN0cmljdCAoIlN0cmluZyBsaXRlcmFsIikgPT0gMCkKfCAgICAgc3VjY2Vz cyA9IHRydWU7CnwgICBjaGFyICpyZXN0cmljdCBuZXd2YXIgPSAiQW5vdGhlciBzdHJpbmciOwp8 IAp8ICAgLy8gQ2hlY2sgdmFyYXJncy4KfCAgIHRlc3RfdmFyYXJncyAoInMsIGQnIGYgLiIsICJz dHJpbmciLCA2NSwgMzQuMjM0KTsKfCAgIHRlc3RfdmFyYXJnc19tYWNyb3MgKCk7CnwgCnwgICAv LyBDaGVjayBmbGV4aWJsZSBhcnJheSBtZW1iZXJzLgp8ICAgc3RydWN0IGluY29tcGxldGVfYXJy YXkgKmlhID0KfCAgICAgbWFsbG9jIChzaXplb2YgKHN0cnVjdCBpbmNvbXBsZXRlX2FycmF5KSAr IChzaXplb2YgKGRvdWJsZSkgKiAxMCkpOwp8ICAgaWEtPmRhdGFzaXplID0gMTA7CnwgICBmb3Ig KGludCBpID0gMDsgaSA8IGlhLT5kYXRhc2l6ZTsgKytpKQp8ICAgICBpYS0+ZGF0YVtpXSA9IGkg KiAxLjIzNDsKfCAKfCAgIC8vIENoZWNrIG5hbWVkIGluaXRpYWxpemVycy4KfCAgIHN0cnVjdCBu YW1lZF9pbml0IG5pID0gewp8ICAgICAubnVtYmVyID0gMzQsCnwgICAgIC5uYW1lID0gTCJUZXN0 IHdpZGUgc3RyaW5nIiwKfCAgICAgLmF2ZXJhZ2UgPSA1NDMuMzQzNDMsCnwgICB9Owp8IAp8ICAg bmkubnVtYmVyID0gNTg7CnwgCnwgICBpbnQgZHluYW1pY19hcnJheVtuaS5udW1iZXJdOwp8ICAg ZHluYW1pY19hcnJheVtuaS5udW1iZXIgLSAxXSA9IDU0MzsKfCAKfCAgIC8vIHdvcmsgYXJvdW5k IHVudXNlZCB2YXJpYWJsZSB3YXJuaW5ncwp8ICAgcmV0dXJuICghc3VjY2VzcyB8fCBiaWdudW0g PT0gMExMIHx8IHViaWdudW0gPT0gMHVMTCB8fCBuZXd2YXJbMF0gPT0gJ3gnCnwgCSAgfHwgZHlu YW1pY19hcnJheVtuaS5udW1iZXIgLSAxXSAhPSA1NDMpOwp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7 CnwgfQpjb25maWd1cmU6NzE3NjogZ2NjIC1zdGQ9Z251OTkgLWMgLWcgLU8yICBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6NzE3NjogJD8gPSAwCmNvbmZpZ3VyZTo3MTk2OiByZXN1bHQ6IC1zdGQ9 Z251OTkKY29uZmlndXJlOjcyOTc6IGNoZWNraW5nIGZvciBnY2MgLXN0ZD1nbnU5OSBvcHRpb24g dG8gYWNjZXB0IElTTyBTdGFuZGFyZCBDCmNvbmZpZ3VyZTo3MzExOiByZXN1bHQ6IC1zdGQ9Z251 OTkKY29uZmlndXJlOjc0NTA6IGNoZWNraW5nIHdoZXRoZXIgZ2NjIC1zdGQ9Z251OTkgYWNjZXB0 cyAtZzMgLU8yCmNvbmZpZ3VyZTo3NDY2OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMg LU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo3NDY2OiAkPyA9IDAKY29uZmlndXJlOjc0 NzQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo3NTg3OiBjaGVja2luZyB3aGV0aGVyIHRoZSBjb21w aWxlciBpcyBjbGFuZwpjb25maWd1cmU6NzYwNzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAg Y29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzozMTo3OiBlcnJvcjogI2Vycm9yICJub3QgY2xhbmci CiAgICAgICNlcnJvciAibm90IGNsYW5nIgogICAgICAgXgpjb25maWd1cmU6NzYwNzogJD8gPSAx CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm aW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgImVtYWNzIDI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUg VkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2Rl ZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5l IF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2Rl ZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAJICAjaWZuZGVmIF9fY2xhbmdfXwp8IAkg ICAgI2Vycm9yICJub3QgY2xhbmciCnwgCSAgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsK fCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjc2MTQ6IHJlc3VsdDogbm8KY29u ZmlndXJlOjg2MDk6IGNoZWNraW5nIHdoZXRoZXIgbG4gLXMgd29ya3MgZm9yIGZpbGVzIGluIHRo ZSBzYW1lIGRpcmVjdG9yeQpjb25maWd1cmU6ODYyNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjg2 NDI6IGNoZWNraW5nIGZvciBpbnN0YWxsLWluZm8KY29uZmlndXJlOjg2NjA6IGZvdW5kIC91c3Iv YmluL2luc3RhbGwtaW5mbwpjb25maWd1cmU6ODY3MzogcmVzdWx0OiAvdXNyL2Jpbi9pbnN0YWxs LWluZm8KY29uZmlndXJlOjg2ODM6IGNoZWNraW5nIGZvciBnemlwCmNvbmZpZ3VyZTo4NzAxOiBm b3VuZCAvYmluL2d6aXAKY29uZmlndXJlOjg3MTM6IHJlc3VsdDogL2Jpbi9nemlwCmNvbmZpZ3Vy ZTo4NzI4OiBjaGVja2luZyBmb3IgcGF4Y3RsCmNvbmZpZ3VyZTo4NzYxOiByZXN1bHQ6IG5vCmNv bmZpZ3VyZTo4NzkxOiBjaGVja2luZyBmb3Igc2V0ZmF0dHIKY29uZmlndXJlOjg4MDM6IHJlc3Vs dDogbm8KY29uZmlndXJlOjg4MTg6IGNoZWNraW5nIGZvciBtYWtlaW5mbwpjb25maWd1cmU6ODgz NjogZm91bmQgL3Vzci9iaW4vbWFrZWluZm8KY29uZmlndXJlOjg4NDk6IHJlc3VsdDogL3Vzci9i aW4vbWFrZWluZm8KY29uZmlndXJlOjg5MjE6IGNoZWNraW5nIGZvciAtem5vY29tYnJlbG9jCmNv bmZpZ3VyZTo4OTM0OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgLVdsLC16 bm9jb21icmVsb2MgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo4OTM0OiAkPyA9IDAKY29uZmln dXJlOjg5MzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4OTQ3OiBjaGVja2luZyB3aGV0aGVyIGFk ZHJlc3NlcyBhcmUgc2FuaXRpemVkCmNvbmZpZ3VyZTo4OTcwOiBnY2MgLXN0ZD1nbnU5OSAtYyAt ZzMgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjM0OjY6IGVycm9yOiAjZXJyb3IgIkFk ZHJlc3NlcyBhcmUgbm90IHNhbml0aXplZC4iCiAgICAgI2Vycm9yICJBZGRyZXNzZXMgYXJlIG5v dCBzYW5pdGl6ZWQuIgogICAgICBeCmNvbmZpZ3VyZTo4OTcwOiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3Mg MjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4z LjkwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8ICNpZm5kZWYgX19oYXNfZmVhdHVyZQp8IAkgICNkZWZpbmUgX19oYXNf ZmVhdHVyZShmKSAwCnwgCSAgI2VuZGlmCnwgCSAgI2lmIGRlZmluZWQgX19TQU5JVElaRV9BRERS RVNTX18gfHwgX19oYXNfZmVhdHVyZSAoYWRkcmVzc19zYW5pdGl6ZXIpCnwgCSAgI2Vsc2UKfCAJ ICAgI2Vycm9yICJBZGRyZXNzZXMgYXJlIG5vdCBzYW5pdGl6ZWQuIgp8IAkgICNlbmRpZgp8IAp8 IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo4 OTc3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5MjAwOiBjaGVja2luZyBmb3IgcGtnLWNvbmZpZwpj b25maWd1cmU6OTIxODogZm91bmQgL3Vzci9iaW4vcGtnLWNvbmZpZwpjb25maWd1cmU6OTIzMTog cmVzdWx0OiAvdXNyL2Jpbi9wa2ctY29uZmlnCmNvbmZpZ3VyZTo5MjQ4OiBjaGVja2luZyBmb3Ig bWFjaGluZS9zb3VuZGNhcmQuaApjb25maWd1cmU6OTI0ODogZ2NjIC1zdGQ9Z251OTkgLWMgLWcz IC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjM3OjMxOiBmYXRhbCBlcnJvcjogbWFj aGluZS9zb3VuZGNhcmQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPG1h Y2hpbmUvc291bmRjYXJkLmg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbXBp bGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo5MjQ4OiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQu My45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkw Igp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNF IDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAiZ251L2xpbnV4Igp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAgICAgI2lm ZGVmIF9fTUlOR1czMl9fCnwgICAgICNkZWZpbmUgV0lOMzJfTEVBTl9BTkRfTUVBTgp8ICAgICAj aW5jbHVkZSA8d2luZG93cy5oPgp8ICAgICAjZW5kaWYKfCAKfCAKfCAjaW5jbHVkZSA8bWFjaGlu ZS9zb3VuZGNhcmQuaD4KY29uZmlndXJlOjkyNDg6IHJlc3VsdDogbm8KY29uZmlndXJlOjkyNDg6 IGNoZWNraW5nIGZvciBzeXMvc291bmRjYXJkLmgKY29uZmlndXJlOjkyNDg6IGdjYyAtc3RkPWdu dTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjkyNDg6ICQ/ID0gMApj b25maWd1cmU6OTI0ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjkyNDg6IGNoZWNraW5nIGZvciBz b3VuZGNhcmQuaApjb25maWd1cmU6OTI0ODogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBj b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjM4OjIzOiBmYXRhbCBlcnJvcjogc291bmRjYXJkLmg6 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxzb3VuZGNhcmQuaD4KICAgICAg ICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo5MjQ4 OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwg I2RlZmluZSBWRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJ VF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251L2xpbnV4Igp8ICNkZWZpbmUgSEFW RV9TWVNfU09VTkRDQVJEX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAgICAgI2lm ZGVmIF9fTUlOR1czMl9fCnwgICAgICNkZWZpbmUgV0lOMzJfTEVBTl9BTkRfTUVBTgp8ICAgICAj aW5jbHVkZSA8d2luZG93cy5oPgp8ICAgICAjZW5kaWYKfCAKfCAKfCAjaW5jbHVkZSA8c291bmRj YXJkLmg+CmNvbmZpZ3VyZTo5MjQ4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5MjY5OiBjaGVja2lu ZyBmb3IgX29zc19pb2N0bCBpbiAtbG9zc2F1ZGlvCmNvbmZpZ3VyZTo5Mjk0OiBnY2MgLXN0ZD1n bnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1sb3NzYXVkaW8gICA+JjUg Ci91c3IvYmluL2xkOiBjYW5ub3QgZmluZCAtbG9zc2F1ZGlvCmNvbGxlY3QyOiBlcnJvcjogbGQg cmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6OTI5NDogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9WRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNz IDI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FH RV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQu My45MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NP VVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNF IDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVN X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUg U1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5h bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQg bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhl biBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYg X19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBfb3NzX2lvY3RsICgpOwp8 IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIF9vc3NfaW9jdGwgKCk7CnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZTo5MzAzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5MzI3OiBjaGVj a2luZyBmb3IgYWxzYSA+PSAxLjAuMApjb25maWd1cmU6OTM0NTogcmVzdWx0OiBubwpjb25maWd1 cmU6OTQ0NzogY2hlY2tpbmcgZm9yIHN5cy9zeXN0ZW1pbmZvLmgKY29uZmlndXJlOjk0NDc6IGdj YyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo2Njoy ODogZmF0YWwgZXJyb3I6IHN5cy9zeXN0ZW1pbmZvLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv cnkKICNpbmNsdWRlIDxzeXMvc3lzdGVtaW5mby5oPgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6OTQ0NzogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg ImVtYWNzIDI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lP TiAiMjQuMy45MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBf QUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVf U09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBf VEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNk ZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FS RF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj aW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8 c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVk ZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRl IDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZF X1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5l ZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5j bHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNs dWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5j bHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5j bHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1 ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDxzeXMvc3lzdGVtaW5mby5oPgpj b25maWd1cmU6OTQ0NzogcmVzdWx0OiBubwpjb25maWd1cmU6OTQ0NzogY2hlY2tpbmcgZm9yIGNv ZmYuaApjb25maWd1cmU6OTQ0NzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVz dC5jID4mNQpjb25mdGVzdC5jOjY2OjE4OiBmYXRhbCBlcnJvcjogY29mZi5oOiBObyBzdWNoIGZp bGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8Y29mZi5oPgogICAgICAgICAgICAgICAgICBeCmNv bXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo5NDQ3OiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3Mg MjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4z LjkwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBT WVNURU1fVFlQRSAiZ251L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8 ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl IDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlw ZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMv c3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxp Yi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElC X0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVf TUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxz dHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0 cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxp bnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxz dGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5p c3RkLmg+CnwgI2VuZGlmCnwgCnwgI2luY2x1ZGUgPGNvZmYuaD4KY29uZmlndXJlOjk0NDc6IHJl c3VsdDogbm8KY29uZmlndXJlOjk0NDc6IGNoZWNraW5nIGZvciBwdHkuaApjb25maWd1cmU6OTQ0 NzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 OTQ0NzogJD8gPSAwCmNvbmZpZ3VyZTo5NDQ3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTQ0Nzog Y2hlY2tpbmcgZm9yIHN5cy9yZXNvdXJjZS5oCmNvbmZpZ3VyZTo5NDQ3OiBnY2MgLXN0ZD1nbnU5 OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NDQ3OiAkPyA9IDAKY29u ZmlndXJlOjk0NDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NDQ3OiBjaGVja2luZyBmb3Igc3lz L3V0c25hbWUuaApjb25maWd1cmU6OTQ0NzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBj b25mdGVzdC5jID4mNQpjb25maWd1cmU6OTQ0NzogJD8gPSAwCmNvbmZpZ3VyZTo5NDQ3OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6OTQ0NzogY2hlY2tpbmcgZm9yIHB3ZC5oCmNvbmZpZ3VyZTo5NDQ3 OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5 NDQ3OiAkPyA9IDAKY29uZmlndXJlOjk0NDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NDQ3OiBj aGVja2luZyBmb3IgdXRtcC5oCmNvbmZpZ3VyZTo5NDQ3OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMg LU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NDQ3OiAkPyA9IDAKY29uZmlndXJlOjk0 NDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NDQ3OiBjaGVja2luZyBmb3IgdXRpbC5oCmNvbmZp Z3VyZTo5NDQ3OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNv bmZ0ZXN0LmM6NzE6MTg6IGZhdGFsIGVycm9yOiB1dGlsLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl Y3RvcnkKICNpbmNsdWRlIDx1dGlsLmg+CiAgICAgICAgICAgICAgICAgIF4KY29tcGlsYXRpb24g dGVybWluYXRlZC4KY29uZmlndXJlOjk0NDc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkwIgp8 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwg I2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTAiCnwgI2Rl ZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmlu ZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBF ICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBI QVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q V0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8 ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRl IDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNs dWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1 ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhB VkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZp bmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBp bmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGlu Y2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBp bmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBp bmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5j bHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgCnwgI2luY2x1ZGUgPHV0aWwuaD4KY29uZmlndXJl Ojk0NDc6IHJlc3VsdDogbm8KY29uZmlndXJlOjk0NDc6IGNoZWNraW5nIGZvciBzeXMvc29ja2V0 LmgKY29uZmlndXJlOjk0NDc6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3Qu YyA+JjUKY29uZmlndXJlOjk0NDc6ICQ/ID0gMApjb25maWd1cmU6OTQ0NzogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjk0NDc6IGNoZWNraW5nIGZvciBzdGRsaWIuaApjb25maWd1cmU6OTQ0NzogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjk0NDc6IGNoZWNraW5nIGZvciB1bmlzdGQuaApjb25maWd1cmU6 OTQ0NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk0NDc6IGNoZWNraW5nIGZvciBzeXMvcGFyYW0u aApjb25maWd1cmU6OTQ0NzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6OTQ0NzogJD8gPSAwCmNvbmZpZ3VyZTo5NDQ3OiByZXN1bHQ6IHllcwpj b25maWd1cmU6OTQ0NzogY2hlY2tpbmcgZm9yIHB0aHJlYWQuaApjb25maWd1cmU6OTQ0NzogZ2Nj IC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTQ0Nzog JD8gPSAwCmNvbmZpZ3VyZTo5NDQ3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTQ0NzogY2hlY2tp bmcgZm9yIG1hbGxvYy9tYWxsb2MuaApjb25maWd1cmU6OTQ0NzogZ2NjIC1zdGQ9Z251OTkgLWMg LWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc2OjI3OiBmYXRhbCBlcnJvcjog bWFsbG9jL21hbGxvYy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8bWFs bG9jL21hbGxvYy5oPgogICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRl cm1pbmF0ZWQuCmNvbmZpZ3VyZTo5NDQ3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIjI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNk ZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZp bmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVm aW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUg X1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAj ZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAi Z251L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFW RV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09V UkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdE X0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9T WVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYg U1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5o Pgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+ CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5l ZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVt b3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNs dWRlIDxtYWxsb2MvbWFsbG9jLmg+CmNvbmZpZ3VyZTo5NDQ3OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZTo5NDQ3OiBjaGVja2luZyBmb3IgbWFpbGxvY2suaApjb25maWd1cmU6OTQ0NzogZ2NjIC1zdGQ9 Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc2OjIyOiBmYXRh bCBlcnJvcjogbWFpbGxvY2suaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUg PG1haWxsb2NrLmg+CiAgICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0 ZWQuCmNvbmZpZ3VyZTo5NDQ3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0 LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MCIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg UEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgTUFJ TF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lY X1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251L2xp bnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VO RCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQ RVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lT X1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19I RUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNl bHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBl bmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERD X0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+ CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf SU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf VU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDxt YWlsbG9jay5oPgpjb25maWd1cmU6OTQ0NzogcmVzdWx0OiBubwpjb25maWd1cmU6OTQ0NzogY2hl Y2tpbmcgZm9yIHN5cy91bi5oCmNvbmZpZ3VyZTo5NDQ3OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMg LU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NDQ3OiAkPyA9IDAKY29uZmlndXJlOjk0 NDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NDQ3OiBjaGVja2luZyBmb3IgZGlyZW50LmgKY29u ZmlndXJlOjk0NDc6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjk0NDc6ICQ/ID0gMApjb25maWd1cmU6OTQ0NzogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjk0NDc6IGNoZWNraW5nIGZvciBleGVjaW5mby5oCmNvbmZpZ3VyZTo5NDQ3OiBnY2MgLXN0 ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NDQ3OiAkPyA9 IDAKY29uZmlndXJlOjk0NDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NDQ3OiBjaGVja2luZyBm b3Igc3RkaW9fZXh0LmgKY29uZmlndXJlOjk0NDc6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIg ICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjk0NDc6ICQ/ID0gMApjb25maWd1cmU6OTQ0Nzog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjk0NDc6IGNoZWNraW5nIGZvciBnZXRvcHQuaApjb25maWd1 cmU6OTQ0NzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25m aWd1cmU6OTQ0NzogJD8gPSAwCmNvbmZpZ3VyZTo5NDQ3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 OTQ0NzogY2hlY2tpbmcgZm9yIHN5cy90aW1lLmgKY29uZmlndXJlOjk0NDc6IGdjYyAtc3RkPWdu dTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjk0NDc6ICQ/ID0gMApj b25maWd1cmU6OTQ0NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk0NDc6IGNoZWNraW5nIGZvciB3 Y2hhci5oCmNvbmZpZ3VyZTo5NDQ3OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NDQ3OiAkPyA9IDAKY29uZmlndXJlOjk0NDc6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZTo5NDQ3OiBjaGVja2luZyBmb3Igc3RkaW50LmgKY29uZmlndXJlOjk0NDc6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NDQ3OiBjaGVja2luZyBmb3IgaW50dHlwZXMuaApjb25m aWd1cmU6OTQ0NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk0NDc6IGNoZWNraW5nIGZvciBzeXMv c2VsZWN0LmgKY29uZmlndXJlOjk0NDc6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjk0NDc6ICQ/ID0gMApjb25maWd1cmU6OTQ0NzogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjk0NDc6IGNoZWNraW5nIGZvciBzeXMvc3RhdC5oCmNvbmZpZ3VyZTo5 NDQ3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTQ0NzogY2hlY2tpbmcgZm9yIHV0aW1lLmgKY29u ZmlndXJlOjk0NDc6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjk0NDc6ICQ/ID0gMApjb25maWd1cmU6OTQ0NzogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjk0NzY6IGNoZWNraW5nIGlmIHBlcnNvbmFsaXR5IExJTlVYMzIgY2FuIGJlIHNldApjb25m aWd1cmU6OTQ4OTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6OTQ4OTogJD8gPSAwCmNvbmZpZ3VyZTo5NDk1OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6OTUwNjogY2hlY2tpbmcgZm9yIHRlcm0uaApjb25maWd1cmU6OTUwNjogZ2NjIC1FICAgIGNv bmZ0ZXN0LmMKY29uZmlndXJlOjk1MDY6ICQ/ID0gMApjb25maWd1cmU6OTUwNjogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjk1MTY6IGNoZWNraW5nIHdoZXRoZXIgdGltZS5oIGFuZCBzeXMvdGltZS5o IG1heSBib3RoIGJlIGluY2x1ZGVkCmNvbmZpZ3VyZTo5NTM2OiBnY2MgLXN0ZD1nbnU5OSAtYyAt ZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NTM2OiAkPyA9IDAKY29uZmlndXJl Ojk1NDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NTUxOiBjaGVja2luZyB3aGV0aGVyIHN5c19z aWdsaXN0IGlzIGRlY2xhcmVkCmNvbmZpZ3VyZTo5NTUxOiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMg LU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NTUxOiAkPyA9IDAKY29uZmlndXJlOjk1 NTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NTgwOiBjaGVja2luZyBmb3Igc3lzL3dhaXQuaCB0 aGF0IGlzIFBPU0lYLjEgY29tcGF0aWJsZQpjb25maWd1cmU6OTYwNjogZ2NjIC1zdGQ9Z251OTkg LWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTYwNjogJD8gPSAwCmNvbmZp Z3VyZTo5NjEzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTYyNzogY2hlY2tpbmcgZm9yIG5ldC9p Zi5oCmNvbmZpZ3VyZTo5NjI3OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZTo5NjI3OiAkPyA9IDAKY29uZmlndXJlOjk2Mjc6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZTo5NjQzOiBjaGVja2luZyBmb3IgaWZhZGRycy5oCmNvbmZpZ3VyZTo5NjQzOiBn Y2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NjQz OiAkPyA9IDAKY29uZmlndXJlOjk2NDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NjU5OiBjaGVj a2luZyBmb3IgbmV0L2lmX2RsLmgKY29uZmlndXJlOjk2NTk6IGdjYyAtc3RkPWdudTk5IC1jIC1n MyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo5ODoyMzogZmF0YWwgZXJyb3I6IG5l dC9pZl9kbC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8bmV0L2lmX2Rs Lmg+CiAgICAgICAgICAgICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25m aWd1cmU6OTY1OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkwIgp8 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdF X0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0Ug ImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BP UCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VY VEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0Nf U09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFE X1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAj ZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNk ZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZP X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIg MQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlU X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBI QVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3Rk ZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFk ZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRl IDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2lm IEhBVkVfU1lTX1NPQ0tFVF9ICnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCAjZW5kaWYKfCAK fCAjaW5jbHVkZSA8bmV0L2lmX2RsLmg+CmNvbmZpZ3VyZTo5NjU5OiByZXN1bHQ6IG5vCmNvbmZp Z3VyZTo5Njc0OiBjaGVja2luZyBmb3Igc3RydWN0IGlmcmVxLmlmcl9mbGFncwpjb25maWd1cmU6 OTY3NDogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6OTY3NDogJD8gPSAwCmNvbmZpZ3VyZTo5Njc0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTY5 MDogY2hlY2tpbmcgZm9yIHN0cnVjdCBpZnJlcS5pZnJfaHdhZGRyCmNvbmZpZ3VyZTo5NjkwOiBn Y2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IElu IGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMDY6NTogZXJyb3I6IHVzZWQgc3RydWN0IHR5 cGUgdmFsdWUgd2hlcmUgc2NhbGFyIGlzIHJlcXVpcmVkCiBpZiAoYWNfYWdnci5pZnJfaHdhZGRy KQogICAgIF4KY29uZmlndXJlOjk2OTA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkwIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl ZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmlu ZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZp bmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBf UE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJn bnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZF X1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VS Q0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZpbmUg SEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJTT05B TElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lU SF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUg SEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFW RV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVf U1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVm IFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYu aD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5o Pgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmlu ZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1l bW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaWYgSEFW RV9TWVNfU09DS0VUX0gKfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8ICNlbmRpZgp8ICNpZiBI QVZFX05FVF9JRl9ICnwgI2luY2x1ZGUgPG5ldC9pZi5oPgp8ICNlbmRpZgp8IAp8IGludAp8IG1h aW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBpZnJlcSBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLmlm cl9od2FkZHIpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo5 NjkwOiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZTo5NjkwOiAkPyA9IDAKY29uZmlndXJlOjk2OTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NzA2 OiBjaGVja2luZyBmb3Igc3RydWN0IGlmcmVxLmlmcl9uZXRtYXNrCmNvbmZpZ3VyZTo5NzA2OiBn Y2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IElu IGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMDc6NTogZXJyb3I6IHVzZWQgc3RydWN0IHR5 cGUgdmFsdWUgd2hlcmUgc2NhbGFyIGlzIHJlcXVpcmVkCiBpZiAoYWNfYWdnci5pZnJfbmV0bWFz aykKICAgICBeCmNvbmZpZ3VyZTo5NzA2OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIjI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNk ZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZp bmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVm aW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUg X1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAj ZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAi Z251L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFW RV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09V UkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdE X0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0VYVF9IIDEKfCAjZGVmaW5l IEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUEVSU09O QUxJVFlfTElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJ VEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhB VkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAvKiBlbmQgY29uZmRlZnMu aC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAj IGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gK fCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8 ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMg aWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJT ICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5k aWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1Nf SAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVT X0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5U X0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9I CnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNfU09DS0VUX0gK fCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX05FVF9JRl9ICnwg I2luY2x1ZGUgPG5ldC9pZi5oPgp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3Rh dGljIHN0cnVjdCBpZnJlcSBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLmlmcl9uZXRtYXNrKQp8IHJl dHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6OTcwNjogZ2NjIC1zdGQ9 Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTcwNjogJD8gPSAw CmNvbmZpZ3VyZTo5NzA2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTcyMjogY2hlY2tpbmcgZm9y IHN0cnVjdCBpZnJlcS5pZnJfYnJvYWRhZGRyCmNvbmZpZ3VyZTo5NzIyOiBnY2MgLXN0ZD1nbnU5 OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdt YWluJzoKY29uZnRlc3QuYzoxMDg6NTogZXJyb3I6IHVzZWQgc3RydWN0IHR5cGUgdmFsdWUgd2hl cmUgc2NhbGFyIGlzIHJlcXVpcmVkCiBpZiAoYWNfYWdnci5pZnJfYnJvYWRhZGRyKQogICAgIF4K Y29uZmlndXJlOjk3MjI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45 MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkwIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNL QUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBNQUlMX1VT RV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg X19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJ Tl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRI UkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RB UldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGludXgi CnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEK fCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2Rl ZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVD SU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRP UFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9MSU5V WDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElN RSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9TWVNf V0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX05FVE1BU0sgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8u aD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4K fCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAj IGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAg aW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklO R19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9I CnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+ CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+ CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMu aD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+ CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8 ICNlbmRpZgp8ICNpZiBIQVZFX1NZU19TT0NLRVRfSAp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+ CnwgI2VuZGlmCnwgI2lmIEhBVkVfTkVUX0lGX0gKfCAjaW5jbHVkZSA8bmV0L2lmLmg+CnwgI2Vu ZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IGlmcmVxIGFjX2FnZ3I7 CnwgaWYgKGFjX2FnZ3IuaWZyX2Jyb2FkYWRkcikKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVy biAwOwp8IH0KY29uZmlndXJlOjk3MjI6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjk3MjI6ICQ/ID0gMApjb25maWd1cmU6OTcyMjogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjk3Mzg6IGNoZWNraW5nIGZvciBzdHJ1Y3QgaWZyZXEuaWZyX2FkZHIK Y29uZmlndXJlOjk3Mzg6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+ JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEwOTo1OiBlcnJv cjogdXNlZCBzdHJ1Y3QgdHlwZSB2YWx1ZSB3aGVyZSBzY2FsYXIgaXMgcmVxdWlyZWQKIGlmIChh Y19hZ2dyLmlmcl9hZGRyKQogICAgIF4KY29uZmlndXJlOjk3Mzg6ICQ/ID0gMQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFj cyAyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tB R0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0 LjMuOTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9T T1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJD RSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRF TV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5l IFNZU1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAx CnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhU X0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAj ZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJ U1QgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0gg MQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs dWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMv dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxz eXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0 ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RE TElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhB VkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRl IDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUg PHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRl IDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRl IDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8 dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9ICnwgI2luY2x1ZGUgPHN5 cy9zb2NrZXQuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9ORVRfSUZfSAp8ICNpbmNsdWRlIDxuZXQv aWYuaD4KfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3QgaWZy ZXEgYWNfYWdncjsKfCBpZiAoYWNfYWdnci5pZnJfYWRkcikKfCByZXR1cm4gMDsKfCAgIDsKfCAg IHJldHVybiAwOwp8IH0KY29uZmlndXJlOjk3Mzg6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIg ICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjk3Mzg6ICQ/ID0gMApjb25maWd1cmU6OTczODog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjk3NTQ6IGNoZWNraW5nIGZvciBzdHJ1Y3QgaWZyZXEuaWZy X2FkZHIuc2FfbGVuCmNvbmZpZ3VyZTo5NzU0OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAg IGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3Qu YzoxMTA6MjE6IGVycm9yOiAnc3RydWN0IHNvY2thZGRyJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdz YV9sZW4nCiBpZiAoYWNfYWdnci5pZnJfYWRkci5zYV9sZW4pCiAgICAgICAgICAgICAgICAgICAg IF4KY29uZmlndXJlOjk3NTQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQu My45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkwIgp8ICNkZWZpbmUg UEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQ QUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBNQUlM X1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RB UldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhf UFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGlu dXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5E IDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwg I2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9F WEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9H RVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9M SU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf VElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9T WVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFE RFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQURE UiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19I CnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RB VF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURF UlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UK fCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlm CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVB REVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAj IGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJ TkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRU WVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU RElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklT VERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NPQ0tF VF9ICnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9ORVRfSUZf SAp8ICNpbmNsdWRlIDxuZXQvaWYuaD4KfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8 IHN0YXRpYyBzdHJ1Y3QgaWZyZXEgYWNfYWdncjsKfCBpZiAoYWNfYWdnci5pZnJfYWRkci5zYV9s ZW4pCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo5NzU0OiBn Y2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IElu IGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMTA6Mjg6IGVycm9yOiAnc3RydWN0IHNvY2th ZGRyJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdzYV9sZW4nCiBpZiAoc2l6ZW9mIGFjX2FnZ3IuaWZy X2FkZHIuc2FfbGVuKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6OTc1 NDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8 ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNf XyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEK fCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElD UyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9C SVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhB VkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFW RV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRN UF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8 ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJT19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZp bmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TWVNfU0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lu Y2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5 cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUg PHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8 c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9T VERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQg SEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1 ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVk ZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1 ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1 ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRl IDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNfU09DS0VUX0gKfCAjaW5jbHVkZSA8 c3lzL3NvY2tldC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX05FVF9JRl9ICnwgI2luY2x1ZGUgPG5l dC9pZi5oPgp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBp ZnJlcSBhY19hZ2dyOwp8IGlmIChzaXplb2YgYWNfYWdnci5pZnJfYWRkci5zYV9sZW4pCnwgcmV0 dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo5NzU0OiByZXN1bHQ6IG5v CmNvbmZpZ3VyZTo5Nzc4OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyBHTlUgTWFrZQpj b25maWd1cmU6OTc4NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk3OTA6IGNoZWNraW5nIHdoZXRo ZXIgZ2NjIHVuZGVyc3RhbmRzIC1NTUQgLU1GCmNvbmZpZ3VyZTo5ODA1OiBnY2MgLXN0ZD1nbnU5 OSAtYyAtZzMgLU8yIC1NTUQgLU1GIGRlcHMuZCAtTVAgICAgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjk4MDU6ICQ/ID0gMApjb25maWd1cmU6OTgxNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk4 MzQ6IGNoZWNraW5nIGZvciBsb25nIGZpbGUgbmFtZXMKY29uZmlndXJlOjk4NjY6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZTo5ODgzOiBjaGVja2luZyBmb3IgWApjb25maWd1cmU6OTk5MTogZ2NjIC1F ICAgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjk5OTE6ICQ/ID0gMApjb25maWd1cmU6MTAwMjI6IGdj YyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxYMTEgID4m NSAKY29uZmlndXJlOjEwMDIyOiAkPyA9IDAKY29uZmlndXJlOjEwMDcyOiByZXN1bHQ6IGxpYnJh cmllcyAsIGhlYWRlcnMgCmNvbmZpZ3VyZToxMDc4NjogY2hlY2tpbmcgd2hldGhlciBtYWxsb2Mg aXMgRG91ZyBMZWEgc3R5bGUKY29uZmlndXJlOjEwODA3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jICA+JjUgCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9u ICdtYWluJzoKY29uZnRlc3QuYzo3NDo2OiB3YXJuaW5nOiAnX19tYWxsb2NfaW5pdGlhbGl6ZV9o b29rJyBpcyBkZXByZWNhdGVkIChkZWNsYXJlZCBhdCAvdXNyL2luY2x1ZGUvbWFsbG9jLmg6MTQ3 KSBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAgICAgX19tYWxsb2NfaW5pdGlhbGl6ZV9o b29rID0gaG9vazsKICAgICAgXgpjb25maWd1cmU6MTA4MDc6ICQ/ID0gMApjb25maWd1cmU6MTA4 MTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDgzOTogY2hlY2tpbmcgc3lzL3ZsaW1pdC5oIHVz YWJpbGl0eQpjb25maWd1cmU6MTA4Mzk6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjEwODM5OiAkPyA9IDAKY29uZmlndXJlOjEwODM5OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTA4Mzk6IGNoZWNraW5nIHN5cy92bGltaXQuaCBwcmVzZW5jZQpj b25maWd1cmU6MTA4Mzk6IGdjYyAtRSAgICBjb25mdGVzdC5jCmNvbmZpZ3VyZToxMDgzOTogJD8g PSAwCmNvbmZpZ3VyZToxMDgzOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwODM5OiBjaGVja2lu ZyBmb3Igc3lzL3ZsaW1pdC5oCmNvbmZpZ3VyZToxMDgzOTogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjEwODQ5OiBjaGVja2luZyBmb3IgZGF0YV9zdGFydApjb25maWd1cmU6MTA4NjU6IGdjYyAtc3Rk PWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgID4mNSAKY29uZmlndXJl OjEwODY1OiAkPyA9IDAKY29uZmlndXJlOjEwODczOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTA5 MjA6IGNoZWNraW5nIGZvciBnZXRwYWdlc2l6ZQpjb25maWd1cmU6MTA5MjA6IGdjYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgID4mNSAKY29uZmlndXJlOjEw OTIwOiAkPyA9IDAKY29uZmlndXJlOjEwOTIwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTA5Mjk6 IGNoZWNraW5nIGZvciB3b3JraW5nIG1tYXAKY29uZmlndXJlOjExMDc2OiBnY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jICA+JjUgCmNvbmZpZ3VyZToxMTA3 NjogJD8gPSAwCmNvbmZpZ3VyZToxMTA3NjogLi9jb25mdGVzdApjb25maWd1cmU6MTEwNzY6ICQ/ ID0gMApjb25maWd1cmU6MTEwODY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTEwNDogY2hlY2tp bmcgZm9yIGRuZXRfbnRvYSBpbiAtbGRuZXQKY29uZmlndXJlOjExMTI5OiBnY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1sZG5ldCAgICA+JjUgCi91c3Iv YmluL2xkOiBjYW5ub3QgZmluZCAtbGRuZXQKY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCAx IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMTEyOTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTAi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK fCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MCIKfCAj ZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwg I2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVm aW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAx CnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5l IEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19S RVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZF X1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19FWFRfSCAxCnwgI2Rl ZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BF UlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElN RV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmlu ZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1Mg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAj ZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9I IDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAxCnwgI2RlZmluZSBET1VHX0xFQV9NQUxMT0Mg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHBy b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdo dCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0 cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2Nw bHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGRuZXRfbnRvYSAoKTsKfCBpbnQK fCBtYWluICgpCnwgewp8IHJldHVybiBkbmV0X250b2EgKCk7CnwgICA7CnwgICByZXR1cm4gMDsK fCB9CmNvbmZpZ3VyZToxMTEzODogcmVzdWx0OiBubwpjb25maWd1cmU6MTExNTA6IGNoZWNraW5n IGZvciBtYWluIGluIC1sWGJzZApjb25maWd1cmU6MTExNjk6IGdjYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxYYnNkICAgID4mNSAKL3Vzci9iaW4vbGQ6 IGNhbm5vdCBmaW5kIC1sWGJzZApjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBz dGF0dXMKY29uZmlndXJlOjExMTY5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g IjI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MCIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp bmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUg TUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BP U0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVm aW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251 L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9T T1VORCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNF X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0gg MQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhB VkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0VYVF9IIDEKfCAjZGVmaW5lIEhB VkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf V0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUEVSU09OQUxJ VFlfTElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhf U1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVf SUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9B REFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUg SEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVmaW5lIERPVUdfTEVBX01BTExPQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8IAp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIG1haW4gKCk7 CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMTE3ODogcmVzdWx0OiBubwpjb25m aWd1cmU6MTExOTY6IGNoZWNraW5nIGZvciBwdGhyZWFkX3NlbGYgaW4gLWxwdGhyZWFkCmNvbmZp Z3VyZToxMTIyMTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgY29uZnRl c3QuYyAtbHB0aHJlYWQgICAgPiY1IApjb25maWd1cmU6MTEyMjE6ICQ/ID0gMApjb25maWd1cmU6 MTEyMzE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTI1MDogY2hlY2tpbmcgZm9yIGNtYV9vcGVu IGluIC1scHRocmVhZHMKY29uZmlndXJlOjExMjc1OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVz dCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1scHRocmVhZHMgIC1scHRocmVhZCAgID4mNSAKL3Vz ci9iaW4vbGQ6IGNhbm5vdCBmaW5kIC1scHRocmVhZHMKY29sbGVjdDI6IGVycm9yOiBsZCByZXR1 cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMTI3NTogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0 LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45 MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJD RSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEK fCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NP VVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lT VEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAj ZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19FWFRfSCAx CnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZp bmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAx CnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwg I2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf RkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERS IDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZM SU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAxCnwgI2RlZmluZSBET1VHX0xFQV9N QUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwg LyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu CnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9m IGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk IHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2Vu ZGlmCnwgY2hhciBjbWFfb3BlbiAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBjbWFf b3BlbiAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjExMjg0OiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToxMTM3MjogY2hlY2tpbmcgd2hldGhlciBYIG9uIEdOVS9MaW51eCBuZWVk cyAtYiB0byBsaW5rCmNvbmZpZ3VyZToxMTM4NTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3Qg IC1nMyAtTzIgICAgICAgY29uZnRlc3QuYyAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNvbmZ0ZXN0 LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzo3NzoxOiB3YXJuaW5nOiBpbXBsaWNp dCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnWE9wZW5EaXNwbGF5JyBbLVdpbXBsaWNpdC1mdW5j dGlvbi1kZWNsYXJhdGlvbl0KIFhPcGVuRGlzcGxheSAoImZvbyIpOwogXgpjb25maWd1cmU6MTEz ODU6ICQ/ID0gMApjb25maWd1cmU6MTE0MzM6IHJlc3VsdDogbm8KY29uZmlndXJlOjExNDQwOiBj aGVja2luZyBmb3IgWGtiCmNvbmZpZ3VyZToxMTQ1NDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgIC1nMyAtTzIgICAgICAgY29uZnRlc3QuYyAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNvbmZp Z3VyZToxMTQ1NDogJD8gPSAwCmNvbmZpZ3VyZToxMTQ2MTogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjExNDczOiBjaGVja2luZyBmb3IgWHJtU2V0RGF0YWJhc2UKY29uZmlndXJlOjExNDczOiBnY2Mg LXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAgICAgICBjb25mdGVzdC5jIC1sWDExIC1s cHRocmVhZCAgID4mNSAKY29uZmlndXJlOjExNDczOiAkPyA9IDAKY29uZmlndXJlOjExNDczOiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTE0NzM6IGNoZWNraW5nIGZvciBYU2NyZWVuUmVzb3VyY2VT dHJpbmcKY29uZmlndXJlOjExNDczOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1P MiAgICAgICBjb25mdGVzdC5jIC1sWDExIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjExNDcz OiAkPyA9IDAKY29uZmlndXJlOjExNDczOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTE0NzM6IGNo ZWNraW5nIGZvciBYU2NyZWVuTnVtYmVyT2ZTY3JlZW4KY29uZmlndXJlOjExNDczOiBnY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAgICAgICBjb25mdGVzdC5jIC1sWDExIC1scHRo cmVhZCAgID4mNSAKY29uZmlndXJlOjExNDczOiAkPyA9IDAKY29uZmlndXJlOjExNDczOiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTE0ODU6IGNoZWNraW5nIFgxMSB2ZXJzaW9uIDYKY29uZmlndXJl OjExNTA0OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAgICAgICBjb25mdGVz dC5jIC1sWDExIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjExNTA0OiAkPyA9IDAKY29uZmln dXJlOjExNTE0OiByZXN1bHQ6IDYgb3IgbmV3ZXIKY29uZmlndXJlOjExNTUzOiBjaGVja2luZyBm b3IgbGlicnN2Zy0yLjAgPj0gMi4xMS4wCmNvbmZpZ3VyZToxMTU2NzogcmVzdWx0OiB5ZXMgQ0ZM QUdTPSctcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9n bGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91 c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5j bHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVl dHlwZTIgICcgTElCUz0nLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1s Y2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAnCmNvbmZpZ3VyZToxMTYyOTogY2hlY2tp bmcgZm9yIFdhbmQgPj0gNi4yLjggV2FuZCAhPSA2LjguMgpjb25maWd1cmU6MTE2NDM6IHJlc3Vs dDogeWVzIENGTEFHUz0nLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICcgTElC Uz0nLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgJwpjb25maWd1cmU6MTE2ODQ6IGNoZWNraW5n IGZvciBNYWdpY2tFeHBvcnRJbWFnZVBpeGVscwpjb25maWd1cmU6MTE2ODQ6IGdjYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmct Mi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9n bGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNs dWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0x IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdl TWFnaWNrICAgICAgICAgY29uZnRlc3QuYyAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxy c3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIu MCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTE2ODQ6ICQ/ ID0gMApjb25maWd1cmU6MTE2ODQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTY4NDogY2hlY2tp bmcgZm9yIE1hZ2lja01lcmdlSW1hZ2VMYXllcnMKY29uZmlndXJlOjExNjg0OiBnY2MgLXN0ZD1n bnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3Zn LTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUv Z2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5j bHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4t MSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFn ZU1hZ2ljayAgICAgICAgIGNvbmZ0ZXN0LmMgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1s cnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0y LjAgLWxnbGliLTIuMCAgIC1sWDExIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjExNjg0OiAk PyA9IDAKY29uZmlndXJlOjExNjg0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTE3MTc6IGNoZWNr aW5nIGZvciBndGsrLTMuMCA+PSAzLjAgZ2xpYi0yLjAgPj0gMi4yOApjb25maWd1cmU6MTE3MzE6 IHJlc3VsdDogeWVzIENGTEFHUz0nLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91 c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3Iv aW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5j bHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9n bGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91 c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1 ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICcgTElCUz0nLWxndGstMyAtbGdk ay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4w IC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGli LTIuMCAgJwpjb25maWd1cmU6MTE4NTU6IGNoZWNraW5nIHdoZXRoZXIgR1RLIGNvbXBpbGVzCmNv bmZpZ3VyZToxMTg4MzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJl YWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkv dXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUv Z2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5n MTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZv cGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVk ZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1h dGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0y LjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1J L3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIu MC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBl MiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgICAgICAg IGNvbmZ0ZXN0LmMgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2Nh aXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNh aXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUg ICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmpl Y3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMTg4 MzogJD8gPSAwCmNvbmZpZ3VyZToxMTg4ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExOTA5OiBX QVJOSU5HOiBZb3VyIHZlcnNpb24gb2YgR3RrKyB3aWxsIGhhdmUgcHJvYmxlbXMgd2l0aAogICAg ICAgY2xvc2luZyBvcGVuIGRpc3BsYXlzLiAgVGhpcyBpcyBubyBwcm9ibGVtIGlmIHlvdSBqdXN0 IHVzZQogICAgICAgb25lIGRpc3BsYXksIGJ1dCBpZiB5b3UgdXNlIG1vcmUgdGhhbiBvbmUgYW5k IGNsb3NlIG9uZSBvZiB0aGVtCiAgICAgICBFbWFjcyBtYXkgY3Jhc2guCmNvbmZpZ3VyZToxMTky OTogY2hlY2tpbmcgd2hldGhlciBHVEtfVFlQRV9GSUxFX1NFTEVDVElPTiBpcyBkZWNsYXJlZApj b25maWd1cmU6MTE5Mjk6IGdjYyAtc3RkPWdudTk5IC1jICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vz ci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIv eDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhi dWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vz ci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1J L3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMu MCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAt SS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91 c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5j bHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVk ZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNy L2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAgICAgY29uZnRlc3Qu YyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEzMDoxMDog ZXJyb3I6ICdHVEtfVFlQRV9GSUxFX1NFTEVDVElPTicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgICh2b2lkKSBHVEtfVFlQRV9GSUxFX1NFTEVDVElPTjsKICAgICAg ICAgIF4KY29uZnRlc3QuYzoxMzA6MTA6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVy IGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCmNv bmZpZ3VyZToxMTkyOTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkw Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTAiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tB R0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIE1BSUxfVVNF X1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhS RUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFS V0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIK fCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8 ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJ TkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9Q VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVY MzIgMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1F IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19X QUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNf SCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfTkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfTE9O R19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhB VkVfREFUQV9TVEFSVCAxCnwgI2RlZmluZSBET1VHX0xFQV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFW RV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEIDEKfCAjZGVmaW5lIEhBVkVfWEtCIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0Ug MQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9Y U0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBI QVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JT VkcgMQp8ICNkZWZpbmUgSEFWRV9JTUFHRU1BR0lDSyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS0VY UE9SVElNQUdFUElYRUxTIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAx CnwgI2RlZmluZSBIQVZFX0dUSzMgMQp8ICNkZWZpbmUgR0RLX0RJU0FCTEVfREVQUkVDQVRJT05f V0FSTklOR1MgMQp8ICNkZWZpbmUgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEK fCAjZGVmaW5lIFVTRV9HVEsgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8 c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0 YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIu aD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9I CnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01F TU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3Ry aW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJp bmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50 dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3Rk aW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0 ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxndGsvZ3RrLmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8 IHsKfCAjaWZuZGVmIEdUS19UWVBFX0ZJTEVfU0VMRUNUSU9OCnwgI2lmZGVmIF9fY3BsdXNwbHVz CnwgICAodm9pZCkgR1RLX1RZUEVfRklMRV9TRUxFQ1RJT047CnwgI2Vsc2UKfCAgICh2b2lkKSBH VEtfVFlQRV9GSUxFX1NFTEVDVElPTjsKfCAjZW5kaWYKfCAjZW5kaWYKfCAKfCAgIDsKfCAgIHJl dHVybiAwOwp8IH0KY29uZmlndXJlOjExOTI5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMTk1Mzog Y2hlY2tpbmcgd2hldGhlciBHVEtfVFlQRV9IQU5ETEVfQk9YIGlzIGRlY2xhcmVkCmNvbmZpZ3Vy ZToxMTk1MzogZ2NjIC1zdGQ9Z251OTkgLWMgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1 ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQt bGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAg LUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1 ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2lu Y2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vz ci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9p bmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNs dWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2ds aWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vz ci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVk ZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgICAgICBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6MTE5NTM6ICQ/ID0gMApjb25maWd1cmU6MTE5NTM6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxMTk2NTogY2hlY2tpbmcgZm9yIGd0a19oYW5kbGVfYm94X25ldwpjb25maWd1cmU6MTE5 NjU6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9p bmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2 XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYt Mi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9p bmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vz ci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAt SS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91 c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3Iv aW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVk ZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAt SS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2lu Y2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAgICAgICBjb25mdGVzdC5j IC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxn ZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmpl Y3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIg LWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGds aWItMi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTE5NjU6ICQ/ID0gMApj b25maWd1cmU6MTE5NjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTk3NzogY2hlY2tpbmcgd2hl dGhlciBHVEtfVFlQRV9URUFST0ZGX01FTlVfSVRFTSBpcyBkZWNsYXJlZApjb25maWd1cmU6MTE5 Nzc6IGdjYyAtc3RkPWdudTk5IC1jICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xp YnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4 LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vz ci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3Bp eG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRl L0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5j bHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVk ZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9j YWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIu MCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5j bHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4 bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAgICAgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjExOTc3OiAkPyA9IDAKY29uZmlndXJlOjExOTc3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTE5ODk6IGNoZWNraW5nIGZvciBndGtfdGVhcm9mZl9tZW51X2l0ZW1fbmV3CmNvbmZpZ3VyZTox MTk4OTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNy L2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94 ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1 Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNy L2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkv dXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4w IC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1J L3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vz ci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNs dWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRl IC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3Iv aW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgICAgICAgIGNvbmZ0ZXN0 LmMgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAt bGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29i amVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUgICAtbHJzdmct MiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1s Z2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMTk4OTogJD8gPSAw CmNvbmZpZ3VyZToxMTk4OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyMDA3OiBjaGVja2luZyBm b3IgZ3RrX3dpZGdldF9nZXRfd2luZG93CmNvbmZpZ3VyZToxMjAwNzogZ2NjIC1zdGQ9Z251OTkg LW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAg LUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWIt Mi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUv Y2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkv dXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdp Y2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0x LjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEu MCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vz ci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9s aWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZi dXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91 c3IvaW5jbHVkZS9saWJwbmcxMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxndGstMyAtbGdkay0zIC1s YXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fp cm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAg IC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2Rr X3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0 aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMjAwNzogJD8gPSAwCmNvbmZpZ3VyZToxMjAwNzogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjEyMDA3OiBjaGVja2luZyBmb3IgZ3RrX3dpZGdldF9zZXRfaGFz X3dpbmRvdwpjb25maWd1cmU6MTIwMDc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMg LU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2ds aWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vz ci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNs dWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0 eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkv dXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRl L2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUv Z2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4 YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1n bnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVk ZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5n MTIgICAgICAgICBjb25mdGVzdC5jIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4w IC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5n by0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dhbmQgLWxN YWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fp cm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1IApjb25m aWd1cmU6MTIwMDc6ICQ/ID0gMApjb25maWd1cmU6MTIwMDc6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxMjAwNzogY2hlY2tpbmcgZm9yIGd0a19kaWFsb2dfZ2V0X2FjdGlvbl9hcmVhCmNvbmZpZ3Vy ZToxMjAwNzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkv dXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xp Yi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBp eGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkv dXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAg LUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGst My4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4w IC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1J L3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9p bmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNs dWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91 c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgICAgICAgIGNvbmZ0 ZXN0LmMgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEu MCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1s Z29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUgICAtbHJz dmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4w IC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMjAwNzogJD8g PSAwCmNvbmZpZ3VyZToxMjAwNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyMDA3OiBjaGVja2lu ZyBmb3IgZ3RrX3dpZGdldF9nZXRfc2Vuc2l0aXZlCmNvbmZpZ3VyZToxMjAwNzogZ2NjIC1zdGQ9 Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2 Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251 L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2lu Y2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFu LTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1h Z2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRl L2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3Bh bmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJv IC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1J L3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRl L2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4t MSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxndGstMyAtbGdk ay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4w IC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGli LTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4w IC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgx MSAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxMjAwNzogJD8gPSAwCmNvbmZpZ3VyZToxMjAw NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyMDA3OiBjaGVja2luZyBmb3IgZ3RrX3dpZGdldF9n ZXRfbWFwcGVkCmNvbmZpZ3VyZToxMjAwNzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1n MyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUv Z2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkv dXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2lu Y2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJl ZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAt SS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1 ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVk ZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1w aXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4 LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNs dWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJw bmcxMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0y LjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBh bmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2FuZCAt bE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxj YWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNv bmZpZ3VyZToxMjAwNzogJD8gPSAwCmNvbmZpZ3VyZToxMjAwNzogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjEyMDA3OiBjaGVja2luZyBmb3IgZ3RrX2FkanVzdG1lbnRfZ2V0X3BhZ2Vfc2l6ZQpjb25m aWd1cmU6MTIwMDc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFk IC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vz ci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dk ay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEy IC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Bl bm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUv Z3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRr LzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4w LyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91 c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAv aW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIg LUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAgICAgICBj b25mdGVzdC5jIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWly by0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWly byAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAg LWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0 LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTIwMDc6 ICQ/ID0gMApjb25maWd1cmU6MTIwMDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjAwNzogY2hl Y2tpbmcgZm9yIGd0a19vcmllbnRhYmxlX3NldF9vcmllbnRhdGlvbgpjb25maWd1cmU6MTIwMDc6 IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNs dWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0 LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4w IC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNs dWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9p bmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91 c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3Iv aW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5j bHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9n bGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91 c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1 ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAgICAgICBjb25mdGVzdC5jIC1s Z3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtf cGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3Qt Mi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxt IC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWIt Mi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTIwMDc6ICQ/ID0gMApjb25m aWd1cmU6MTIwMDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjAwNzogY2hlY2tpbmcgZm9yIGd0 a193aW5kb3dfc2V0X2hhc19yZXNpemVfZ3JpcApjb25maWd1cmU6MTIwMDc6IGdjYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmct Mi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9n bGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNs dWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0x IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdl TWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9h dGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5n by0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAt SS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91 c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9o YXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEg LUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAgICAgICBjb25mdGVzdC5jIC1sZ3RrLTMgLWxnZGst MyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAt bGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0y LjAgICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAt bGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEg LWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTIwMDc6ICQ/ID0gMApjb25maWd1cmU6MTIwMDc6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjAzMTogY2hlY2tpbmcgZm9yIGRidXMtMSA+PSAxLjAK Y29uZmlndXJlOjEyMDQ5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjExMTogY2hlY2tpbmcgZm9y IGdpby0yLjAgPj0gMi4yNgpjb25maWd1cmU6MTIxMjU6IHJlc3VsdDogeWVzIENGTEFHUz0nLXB0 aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251 L2dsaWItMi4wL2luY2x1ZGUgICcgTElCUz0nLWxnaW8tMi4wIC1sZ29iamVjdC0yLjAgLWxnbGli LTIuMCAgJwpjb25maWd1cmU6MTIxNTk6IGNoZWNraW5nIHdoZXRoZXIgR1NldHRpbmdzIGlzIGlu IGdpbwpjb25maWd1cmU6MTIxNzg6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8y IC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWIt Mi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9p bmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRl L2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBl MiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNy L2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0 LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lv LXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVm LTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUv Z2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9m cmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIg ICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51 eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAgICAgICAgIGNvbmZ0ZXN0LmMgLWxndGstMyAtbGdkay0z IC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1s Y2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIu MCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1s Z2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAt bHB0aHJlYWQgICAtbGdpby0yLjAgLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgPiY1IApjb25m aWd1cmU6MTIxNzg6ICQ/ID0gMApjb25maWd1cmU6MTIxODU6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxMjIxMDogY2hlY2tpbmcgZm9yIGdjb25mLTIuMCA+PSAyLjEzCmNvbmZpZ3VyZToxMjIyODog cmVzdWx0OiBubwpjb25maWd1cmU6MTIyNzE6IGNoZWNraW5nIGZvciBnb2JqZWN0LTIuMCA+PSAy LjAKY29uZmlndXJlOjEyMjg1OiByZXN1bHQ6IHllcyBDRkxBR1M9Jy1JL3Vzci9pbmNsdWRlL2ds aWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlICAnIExJ QlM9Jy1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgJwpjb25maWd1cmU6MTIzMzI6IGNoZWNraW5n IGZvciBsZ2V0ZmlsZWNvbiBpbiAtbHNlbGludXgKY29uZmlndXJlOjEyMzU3OiBnY2MgLXN0ZD1n bnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3Zn LTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUv Z2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5j bHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4t MSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFn ZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUv YXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFu Z28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8g LUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkv dXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUv aGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0x IC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgICAgICAgY29uZnRlc3QuYyAtbHNlbGludXggIC1s Z3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtf cGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3Qt Mi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxt IC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWIt Mi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1IAovdXNyL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxz ZWxpbnV4CmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1 cmU6MTIzNTc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJl bWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1Ag MQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRF TlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NP VVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9T RU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9V U0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2Rl ZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVm aW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBI QVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19V Tl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEK fCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9I IDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05F VE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklM RV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0RB VEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAx CnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAj ZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVF Tk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9Y X0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEK fCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJ TUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS01FUkdFSU1BR0VMQVlFUlMgMQp8ICNk ZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdES19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5J TkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2Rl ZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVm aW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVNX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19X SURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5E T1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dFVF9BQ1RJT05fQVJFQSAxCnwgI2RlZmlu ZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURH RVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZFX0dUS19BREpVU1RNRU5UX0dFVF9QQUdFX1NJ WkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5UQVRJT04gMQp8ICNk ZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFW RV9HU0VUVElOR1MgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBh bnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hh ciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBi dWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHku ICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGxn ZXRmaWxlY29uICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGxnZXRmaWxlY29uICgp Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTIzNjY6IHJlc3VsdDogbm8KY29u ZmlndXJlOjEyMzk0OiBjaGVja2luZyBmb3IgZ251dGxzID49IDMuMC4wCmNvbmZpZ3VyZToxMjQx MjogcmVzdWx0OiBubwpjb25maWd1cmU6MTI0NTE6IGNoZWNraW5nIGZvciBnbnV0bHMgPj0gMi42 LjYKY29uZmlndXJlOjEyNDY1OiByZXN1bHQ6IHllcyBDRkxBR1M9Jy1JL3Vzci9pbmNsdWRlL3Ax MS1raXQtMSAgJyBMSUJTPSctbGdudXRscyAgJwpjb25maWd1cmU6MTI1NDc6IGNoZWNraW5nIGZv ciBnaW8tMi4wID49IDIuMjQKY29uZmlndXJlOjEyNTYxOiByZXN1bHQ6IHllcyBDRkxBR1M9Jy1w dGhyZWFkIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdu dS9nbGliLTIuMC9pbmNsdWRlICAnIExJQlM9Jy1sZ2lvLTIuMCAtbGdvYmplY3QtMi4wIC1sZ2xp Yi0yLjAgICcKY29uZmlndXJlOjEzMTI0OiBnY2MgLXN0ZD1nbnU5OSAtYyAgLWczIC1PMiAtcHRo cmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAt SS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVk ZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJw bmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAt Zm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNs dWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGky LWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4 LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAg LUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWIt Mi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5 cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkv dXNyL2luY2x1ZGUvcDExLWtpdC0xICAgICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMzEy NDogJD8gPSAwCmNvbmZpZ3VyZToxMzE3MzogZ2NjIC1zdGQ9Z251OTkgLWMgIC1nMyAtTzIgLXB0 aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAg LUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1 ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGli cG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAg LWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5j bHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3Bp Mi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5p eC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4w IC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGli LTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0 eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1J L3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC0tcGVkYW50aWMtZXJyb3JzICAgICBjb25mdGVzdC5j ID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTI0OjQ6IGVy cm9yOiBwYXNzaW5nIGFyZ3VtZW50IDUgb2YgJ1hSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFj aycgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlCiAgICBjbGllbnRfZGF0YSk7CiAgICBe CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25mdGVzdC5jOjEwNjowOgovdXNyL2luY2x1ZGUvWDEx L1hsaWIuaDozOTQzOjEzOiBub3RlOiBleHBlY3RlZCAnWElEUHJvYycgYnV0IGFyZ3VtZW50IGlz IG9mIHR5cGUgJ1hJTVByb2MnCiBleHRlcm4gQm9vbCBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2Fs bGJhY2soCiAgICAgICAgICAgICBeCmNvbmZ0ZXN0LmM6MTI0OjQ6IGVycm9yOiBwYXNzaW5nIGFy Z3VtZW50IDYgb2YgJ1hSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFjaycgZnJvbSBpbmNvbXBh dGlibGUgcG9pbnRlciB0eXBlCiAgICBjbGllbnRfZGF0YSk7CiAgICBeCkluIGZpbGUgaW5jbHVk ZWQgZnJvbSBjb25mdGVzdC5jOjEwNjowOgovdXNyL2luY2x1ZGUvWDExL1hsaWIuaDozOTQzOjEz OiBub3RlOiBleHBlY3RlZCAnWFBvaW50ZXInIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlICdjaGFy ICoqJwogZXh0ZXJuIEJvb2wgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrKAogICAgICAg ICAgICAgXgpjb25maWd1cmU6MTMxNzM6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkwIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl ZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmlu ZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZp bmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBf UE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJn bnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZF X1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VS Q0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZpbmUg SEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJTT05B TElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lU SF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUg SEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFW RV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JS T0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmlu ZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwg I2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBIQVZFX1hSTVNF VERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVm aW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8 ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZp bmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZpbmUgSEFW RV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS01FUkdFSU1B R0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdES19ESVNBQkxFX0RF UFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9X QVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hBTkRMRV9C T1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVNX05FVyAxCnwgI2Rl ZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURH RVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dFVF9BQ1RJT05f QVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAxCnwgI2RlZmlu ZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZFX0dUS19BREpVU1RN RU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9TRVRfT1JJ RU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpFX0dSSVAg MQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNk ZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNk ZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNk ZWZpbmUgVVNFX1hJTSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICNpbmNsdWRlIDxY MTEvWGxpYi5oPgp8ICNpbmNsdWRlIDxYMTEvWHJlc291cmNlLmg+CnwgaW50CnwgbWFpbiAoKQp8 IHsKfCBEaXNwbGF5ICpkaXNwbGF5Owp8IFhybURhdGFiYXNlIGRiOwp8IGNoYXIgKnJlc19uYW1l Owp8IGNoYXIgKnJlc19jbGFzczsKfCBYSU1Qcm9jICBjYWxsYmFjazsKfCBYUG9pbnRlciAqY2xp ZW50X2RhdGE7CnwgI2lmbmRlZiBfX0dOVUNfXwp8IC8qIElmIHdlJ3JlIG5vdCB1c2luZyBHQ0Ms IGl0J3MgcHJvYmFibHkgbm90IFhGcmVlODYsIGFuZCB0aGlzIGlzCnwgICAgcHJvYmFibHkgcmln aHQsIGJ1dCB3ZSBjYW4ndCB1c2Ugc29tZXRoaW5nIGxpa2UgLS1wZWRhbnRpYy1lcnJvcnMuICAq Lwp8IGV4dGVybiBCb29sIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFjayhEaXNwbGF5Kiwg WHJtRGF0YWJhc2UsIGNoYXIqLAp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjaGFyKiwgWElNUHJvYywgWFBvaW50ZXIqKTsKfCAjZW5kaWYKfCAodm9pZClYUmVn aXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2soZGlzcGxheSwgZGIsIHJlc19uYW1lLCByZXNfY2xh c3MsIGNhbGxiYWNrLAp8ICAgIGNsaWVudF9kYXRhKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0K Y29uZmlndXJlOjEzMjAxOiBjaGVja2luZyBmb3IgZm9udGNvbmZpZyA+PSAyLjIuMApjb25maWd1 cmU6MTMyMTU6IHJlc3VsdDogeWVzIENGTEFHUz0nLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAn IExJQlM9Jy1sZm9udGNvbmZpZyAtbGZyZWV0eXBlICAnCmNvbmZpZ3VyZToxMzI2MDogY2hlY2tp bmcgZm9yIHhmdCA+PSAwLjEzLjAKY29uZmlndXJlOjEzMjc0OiByZXN1bHQ6IHllcyBDRkxBR1M9 Jy1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgJyBMSUJTPSctbFhmdCAgJwpjb25maWd1cmU6MTMz MDY6IGNoZWNraW5nIGZvciBYUmVuZGVyUXVlcnlFeHRlbnNpb24gaW4gLWxYcmVuZGVyCmNvbmZp Z3VyZToxMzMzMTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQg LUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNy L2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2Rr LXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIg LUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVu bXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9n dGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsv Mi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAv IC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vz ci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9p bmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAt SS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9p bmNsdWRlL3AxMS1raXQtMSAgICAgICAgIGNvbmZ0ZXN0LmMgLWxYcmVuZGVyICAtbGdudXRscyAg IC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxn ZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmpl Y3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIg LWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGds aWItMi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTMzMzE6ICQ/ID0gMApj b25maWd1cmU6MTMzNDA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzM1NDogY2hlY2tpbmcgZm9y IFgxMS9YZnQvWGZ0LmgKY29uZmlndXJlOjEzMzU0OiBnY2MgLXN0ZD1nbnU5OSAtYyAgLWczIC1P MiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGli LTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3Iv aW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVk ZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlw ZTIgICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vz ci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9h dC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dp by11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1 Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251 L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUv ZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEy ICAgLUkvdXNyL2luY2x1ZGUvcDExLWtpdC0xICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAg ICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTox MzM1NDogJD8gPSAwCmNvbmZpZ3VyZToxMzM1NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMzU3 OiBjaGVja2luZyBmb3IgWGZ0Rm9udE9wZW4gaW4gLWxYZnQKY29uZmlndXJlOjEzMzgyOiBnY2Mg LXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9s aWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51 eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91 c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9w aXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91c3IvaW5jbHVk ZS9JbWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2lu Y2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1 ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUv Y2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0y LjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2lu Y2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3Bp eG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1ZGUvcDExLWtpdC0x ICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBl MiAgICAgY29uZnRlc3QuYyAtbFhmdCAtbFhyZW5kZXIgLWxYZnQgICAtbFhyZW5kZXIgLWxYZnQg ICAtbGdudXRscyAgIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29j YWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxj YWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3Jl ICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2Jq ZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTMz ODI6ICQ/ID0gMApjb25maWd1cmU6MTMzOTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzQyOTog Y2hlY2tpbmcgZm9yIGZyZWV0eXBlMgpjb25maWd1cmU6MTM0NDM6IHJlc3VsdDogeWVzIENGTEFH Uz0nLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAnIExJQlM9Jy1sZnJlZXR5cGUgICcKY29uZmln dXJlOjEzNDkwOiBjaGVja2luZyBmb3IgbGlib3RmCmNvbmZpZ3VyZToxMzUwODogcmVzdWx0OiBu bwpjb25maWd1cmU6MTM3NjU6IGNoZWNraW5nIFgxMS94cG0uaCB1c2FiaWxpdHkKY29uZmlndXJl OjEzNzY1OiBnY2MgLXN0ZD1nbnU5OSAtYyAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVk ZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1s aW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAt SS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVk ZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91c3IvaW5j bHVkZS9JbWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNy L2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2lu Y2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1 ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xp Yi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNy L2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRl L3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1ZGUvcDExLWtp dC0xICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0 eXBlMiAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMzc2NTogJD8gPSAwCmNvbmZpZ3VyZTox Mzc2NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzNzY1OiBjaGVja2luZyBYMTEveHBtLmggcHJl c2VuY2UKY29uZmlndXJlOjEzNzY1OiBnY2MgLUUgICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBl MiAgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjEzNzY1OiAkPyA9IDAKY29uZmlndXJlOjEzNzY1OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTM3NjU6IGNoZWNraW5nIGZvciBYMTEveHBtLmgKY29uZmln dXJlOjEzNzY1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM3Njc6IGNoZWNraW5nIGZvciBYcG1S ZWFkRmlsZVRvUGl4bWFwIGluIC1sWHBtCmNvbmZpZ3VyZToxMzc5MjogZ2NjIC1zdGQ9Z251OTkg LW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAg LUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWIt Mi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUv Y2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkv dXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdp Y2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0x LjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEu MCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vz ci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9s aWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZi dXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91 c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9p bmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0 ZXN0LmMgLWxYcG0gLWxYMTEgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1s Z2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0y LjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGds aWItMi4wICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0y LjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1s WDExIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjEzNzkyOiAkPyA9IDAKY29uZmlndXJlOjEz ODAxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM4MTE6IGNoZWNraW5nIGZvciBYcG1SZXR1cm5B bGxvY1BpeGVscyBwcmVwcm9jZXNzb3IgZGVmaW5lCmNvbmZpZ3VyZToxMzgzMTogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjEzOTEzOiBjaGVja2luZyBqZXJyb3IuaCB1c2FiaWxpdHkKY29uZmlndXJl OjEzOTEzOiBnY2MgLXN0ZD1nbnU5OSAtYyAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVk ZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1s aW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAt SS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVk ZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91c3IvaW5j bHVkZS9JbWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNy L2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2lu Y2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1 ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xp Yi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNy L2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRl L3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1ZGUvcDExLWtp dC0xICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0 eXBlMiAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMzkxMzogJD8gPSAwCmNvbmZpZ3VyZTox MzkxMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzOTEzOiBjaGVja2luZyBqZXJyb3IuaCBwcmVz ZW5jZQpjb25maWd1cmU6MTM5MTM6IGdjYyAtRSAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUy ICAgY29uZnRlc3QuYwpjb25maWd1cmU6MTM5MTM6ICQ/ID0gMApjb25maWd1cmU6MTM5MTM6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToxMzkxMzogY2hlY2tpbmcgZm9yIGplcnJvci5oCmNvbmZpZ3Vy ZToxMzkxMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzOTE1OiBjaGVja2luZyBmb3IganBlZ19k ZXN0cm95X2NvbXByZXNzIGluIC1sanBlZwpjb25maWd1cmU6MTM5NDA6IGdjYyAtc3RkPWdudTk5 IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4w IC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGli LTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRl L2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1J L3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFn aWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGst MS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0x LjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91 c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3Iv bGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJm YnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkv dXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3Iv aW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25m dGVzdC5jIC1sanBlZyAgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2Rr LTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAg LWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWIt Mi4wICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAg LWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDEx IC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjEzOTQwOiAkPyA9IDAKY29uZmlndXJlOjEzOTQ5 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQwMzA6IGNoZWNraW5nIHBuZy5oIHVzYWJpbGl0eQpj b25maWd1cmU6MTQwMzA6IGdjYyAtc3RkPWdudTk5IC1jICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vz ci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIv eDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhi dWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vz ci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1J L3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMu MCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAt SS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91 c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5j bHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVk ZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNy L2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVk ZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1 ZGUvZnJlZXR5cGUyICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE0MDMwOiAkPyA9IDAKY29u ZmlndXJlOjE0MDMwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQwMzA6IGNoZWNraW5nIHBuZy5o IHByZXNlbmNlCmNvbmZpZ3VyZToxNDAzMDogZ2NjIC1FICAgICAtSS91c3IvaW5jbHVkZS9mcmVl dHlwZTIgICBjb25mdGVzdC5jCmNvbmZpZ3VyZToxNDAzMDogJD8gPSAwCmNvbmZpZ3VyZToxNDAz MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MDMwOiBjaGVja2luZyBmb3IgcG5nLmgKY29uZmln dXJlOjE0MDMwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQwNDE6IGNoZWNraW5nIGZvciBwbmdf Z2V0X2NoYW5uZWxzIGluIC1scG5nCmNvbmZpZ3VyZToxNDA2NjogZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkv dXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4w L2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fp cm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNy L2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sg ICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAg LUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAt SS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9p bmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIv eDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6 IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3Iv aW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNs dWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0 LmMgLWxwbmcgLWx6IC1sbSAtbFhyZW5kZXIgLWxYZnQgICAtbGdudXRscyAgIC1sZ3RrLTMgLWxn ZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIu MCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xp Yi0yLjAgICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIu MCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxY MTEgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTQwNjY6ICQ/ID0gMApjb25maWd1cmU6MTQw NzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDA5MDogY2hlY2tpbmcgd2hldGhlciBwbmdfbG9u Z2ptcCBpcyBkZWNsYXJlZApjb25maWd1cmU6MTQwOTA6IGdjYyAtc3RkPWdudTk5IC1jICAtZzMg LU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2ds aWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vz ci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNs dWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0 eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkv dXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRl L2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUv Z2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4 YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1n bnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVk ZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5n MTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIg ICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3Qu YzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEyNzoxMDogZXJyb3I6ICdwbmdfbG9u Z2ptcCcgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICh2b2lkKSBw bmdfbG9uZ2ptcDsKICAgICAgICAgIF4KY29uZnRlc3QuYzoxMjc6MTA6IG5vdGU6IGVhY2ggdW5k ZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlv biBpdCBhcHBlYXJzIGluCmNvbmZpZ3VyZToxNDA5MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMu OTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg IiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MCIK fCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB VkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAx CnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAj ZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJD RSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVN X1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVm aW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBI QVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP Q0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwg I2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19FWFRfSCAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUg VElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAxCnwg I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2Rl ZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxB R1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEK fCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1J VF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAxCnwgI2RlZmluZSBET1VHX0xFQV9NQUxM T0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWEtCIDEKfCAjZGVmaW5lIEhB VkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcg MQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9Y MTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAx CnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9JTUFHRU1BR0lDSyAxCnwgI2Rl ZmluZSBIQVZFX01BR0lDS0VYUE9SVElNQUdFUElYRUxTIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNL TUVSR0VJTUFHRUxBWUVSUyAxCnwgI2RlZmluZSBIQVZFX0dUSzMgMQp8ICNkZWZpbmUgR0RLX0RJ U0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgR0xJQl9ESVNBQkxFX0RFUFJF Q0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVTRV9HVEsgMQp8ICNkZWZpbmUgSEFWRV9HVEtf SEFORExFX0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfVEVBUk9GRl9NRU5VX0lURU1fTkVX IDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVf R1RLX1dJREdFVF9TRVRfSEFTX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19ESUFMT0dfR0VU X0FDVElPTl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfU0VOU0lUSVZFIDEK fCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQUEVEIDEKfCAjZGVmaW5lIEhBVkVfR1RL X0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAxCnwgI2RlZmluZSBIQVZFX0dUS19PUklFTlRBQkxF X1NFVF9PUklFTlRBVElPTiAxCnwgI2RlZmluZSBIQVZFX0dUS19XSU5ET1dfU0VUX0hBU19SRVNJ WkVfR1JJUCAxCnwgI2RlZmluZSBIQVZFX0dTRVRUSU5HUyAxCnwgI2RlZmluZSBIQVZFX0dOVVRM UyAxCnwgI2RlZmluZSBIQVZFX0dGSUxFTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElG WSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBIQVZFX1hJ TSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVD YWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hGVCAxCnwgI2RlZmluZSBIQVZF X0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwg I2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZF X1BORyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpZmRlZiBIQVZFX0xJQlBOR19QTkdf SAp8IAkjIGluY2x1ZGUgPGxpYnBuZy9wbmcuaD4KfCAJI2Vsc2UKfCAJIyBpbmNsdWRlIDxwbmcu aD4KfCAJI2VuZGlmCnwgCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAjaWZuZGVmIHBuZ19sb25n am1wCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgICAodm9pZCkgcG5nX2xvbmdqbXA7CnwgI2Vsc2UK fCAgICh2b2lkKSBwbmdfbG9uZ2ptcDsKfCAjZW5kaWYKfCAjZW5kaWYKfCAKfCAgIDsKfCAgIHJl dHVybiAwOwp8IH0KY29uZmlndXJlOjE0MDkwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDExMzog Y2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBpbmZsYXRlRW5kCmNvbmZpZ3VyZToxNDE0 NDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2lu Y2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZf NjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0y LjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2lu Y2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNy L2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1J L3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vz ci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9p bmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRl L2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1J L3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5j bHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3Ax MS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9m cmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0 ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3Bp eGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIu MCAtbGdsaWItMi4wICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAt bGdpby0yLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIu MCAgIC1sWDExIC1scHRocmVhZCAgID4mNSAKL3RtcC9jY2N4cTZUaC5vOiBJbiBmdW5jdGlvbiBg bWFpbic6Ci9ob21lL3R1aGRvL0Rvd25sb2Fkcy9lbWFjcy0yNC4zLjkwL2NvbmZ0ZXN0LmM6MTI1 OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBpbmZsYXRlRW5kJwpjb2xsZWN0MjogZXJyb3I6IGxk IHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE0MTQ0OiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1h Y3MgMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIy NC4zLjkwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExf U09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VS Q0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5E RU1fU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmlu ZSBTWVNURU1fVFlQRSAiZ251L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0gg MQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVO VF9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0VY VF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfUEVSU09OQUxJVFlfTElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwg I2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdM SVNUIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9I IDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0FERFIgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVmaW5lIERPVUdf TEVBX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVf TU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YS0IgMQp8ICNk ZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJD RVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmlu ZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDEx UjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0lNQUdFTUFHSUNL IDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLRVhQT1JUSU1BR0VQSVhFTFMgMQp8ICNkZWZpbmUgSEFW RV9NQUdJQ0tNRVJHRUlNQUdFTEFZRVJTIDEKfCAjZGVmaW5lIEhBVkVfR1RLMyAxCnwgI2RlZmlu ZSBHREtfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBHTElCX0RJU0FC TEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgVVNFX0dUSyAxCnwgI2RlZmluZSBI QVZFX0dUS19IQU5ETEVfQk9YX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01FTlVf SVRFTV9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9XSU5ET1cgMQp8ICNkZWZp bmUgSEFWRV9HVEtfV0lER0VUX1NFVF9IQVNfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0RJ QUxPR19HRVRfQUNUSU9OX0FSRUEgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9TRU5T SVRJVkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9NQVBQRUQgMQp8ICNkZWZpbmUg SEFWRV9HVEtfQURKVVNUTUVOVF9HRVRfUEFHRV9TSVpFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX09S SUVOVEFCTEVfU0VUX09SSUVOVEFUSU9OIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19TRVRf SEFTX1JFU0laRV9HUklQIDEKfCAjZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKfCAjZGVmaW5lIEhB VkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfR0ZJTEVOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJ TEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5l IEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0 YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWEZUIDEKfCAjZGVm aW5lIEhBVkVfRlJFRVRZUEUgMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9K UEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVm aW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIFBOR19ERVBTVFJVQ1QgLyoqLwp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0 byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0 aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8 IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGluZmxhdGVFbmQgKCk7CnwgaW50CnwgbWFpbiAo KQp8IHsKfCByZXR1cm4gaW5mbGF0ZUVuZCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u ZmlndXJlOjE0MTQ0OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVh ZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91 c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9n ZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcx MiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtZm9w ZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRl L2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0 ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIu MC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkv dXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4w L2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUy IC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNy L2luY2x1ZGUvcDExLWtpdC0xICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vz ci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgY29uZnRlc3QuYyAtbHogIC1sWHJlbmRlciAtbFhmdCAg IC1sZ251dGxzICAgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2Nh aXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNh aXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUg ICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmpl Y3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxNDE0 NDogJD8gPSAwCmNvbmZpZ3VyZToxNDE2MTogcmVzdWx0OiAtbHoKY29uZmlndXJlOjE0MjA4OiBj aGVja2luZyB0aWZmaW8uaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0MjA4OiBnY2MgLXN0ZD1nbnU5 OSAtYyAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3Iv aW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5j bHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAt SS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5j bHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1w dGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91 c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vz ci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1 ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZf NjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkv dXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNs dWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1ZGUvcDExLWtpdC0xICAgLUkvdXNyL2luY2x1ZGUv ZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZpZ3VyZToxNDIwODogJD8gPSAwCmNvbmZpZ3VyZToxNDIwODogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjE0MjA4OiBjaGVja2luZyB0aWZmaW8uaCBwcmVzZW5jZQpjb25maWd1cmU6MTQyMDg6 IGdjYyAtRSAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgY29uZnRlc3QuYwpjb25maWd1 cmU6MTQyMDg6ICQ/ID0gMApjb25maWd1cmU6MTQyMDg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox NDIwODogY2hlY2tpbmcgZm9yIHRpZmZpby5oCmNvbmZpZ3VyZToxNDIwODogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjE0MjEzOiBjaGVja2luZyBmb3IgVElGRkdldFZlcnNpb24gaW4gLWx0aWZmCmNv bmZpZ3VyZToxNDIzODogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJl YWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkv dXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUv Z2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5n MTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZv cGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVk ZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1h dGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0y LjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1J L3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIu MC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBl MiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vz ci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91 c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWx0aWZmIC1sanBlZyAtbHogLWxt IC1sWHJlbmRlciAtbFhmdCAgIC1sZ251dGxzICAgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAt bGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVj dCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFnaWNr V2FuZCAtbE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0y LjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQgICA+ JjUgCmNvbmZpZ3VyZToxNDIzODogJD8gPSAwCmNvbmZpZ3VyZToxNDI0NzogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjE0Mjg5OiBjaGVja2luZyBnaWZfbGliLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTox NDI4OTogZ2NjIC1zdGQ9Z251OTkgLWMgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUv bGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGlu dXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkv dXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUv cGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1 ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9p bmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNs dWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRl L2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWIt Mi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9p bmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9w aXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQt MSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlw ZTIgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTQyODk6ICQ/ID0gMApjb25maWd1cmU6MTQy ODk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDI4OTogY2hlY2tpbmcgZ2lmX2xpYi5oIHByZXNl bmNlCmNvbmZpZ3VyZToxNDI4OTogZ2NjIC1FICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIg ICBjb25mdGVzdC5jCmNvbmZpZ3VyZToxNDI4OTogJD8gPSAwCmNvbmZpZ3VyZToxNDI4OTogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjE0Mjg5OiBjaGVja2luZyBmb3IgZ2lmX2xpYi5oCmNvbmZpZ3Vy ZToxNDI4OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MjkzOiBjaGVja2luZyBmb3IgR2lmTWFr ZU1hcE9iamVjdCBpbiAtbGdpZgpjb25maWd1cmU6MTQzMTg6IGdjYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vz ci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9p bmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJv IC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9p bmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAg LXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1J L3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkv dXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5j bHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4 Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAt SS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2lu Y2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVk ZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5j IC1sZ2lmICAtbFhyZW5kZXIgLWxYZnQgICAtbGdudXRscyAgIC1sZ3RrLTMgLWxnZGstMyAtbGF0 ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJv LWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAt bE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19w aXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhy ZWFkICAgPiY1IAovdG1wL2NjNEFSYklMLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL2hvbWUvdHVo ZG8vRG93bmxvYWRzL2VtYWNzLTI0LjMuOTAvY29uZnRlc3QuYzoxMjc6IHVuZGVmaW5lZCByZWZl cmVuY2UgdG8gYEdpZk1ha2VNYXBPYmplY3QnCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQg MSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTQzMTg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkw Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi CnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTAiCnwg I2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2Rl ZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9U WVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL RVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q RVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJ TUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZp bmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdT IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwg I2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRf SCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9D IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBIQVZF X1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEK fCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDEx UjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8 ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZp bmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS01F UkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdES19ESVNB QkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNB VElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hB TkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVNX05FVyAx CnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dU S19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dFVF9B Q1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAxCnwg I2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZFX0dUS19B REpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9T RVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpF X0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMg MQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkg MQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9YSU0g MQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2Fs bGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUgSEFWRV9G UkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNk ZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9Q TkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8 ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3Zl cnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAg VXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0ND CnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxs IGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwg Y2hhciBHaWZNYWtlTWFwT2JqZWN0ICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIEdp Zk1ha2VNYXBPYmplY3QgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNDMy NzogcmVzdWx0OiBubwpjb25maWd1cmU6MTQzMzI6IGNoZWNraW5nIGZvciBFR2lmUHV0RXh0ZW5z aW9uTGFzdCBpbiAtbGdpZgpjb25maWd1cmU6MTQzNTc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0 ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9p bmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNs dWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1J L3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNs dWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0 aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vz ci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNy L2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVk ZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82 NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91 c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1 ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9m cmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5jIC1s Z2lmICAtbFhyZW5kZXIgLWxYZnQgICAtbGdudXRscyAgIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0x LjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdv YmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1h Z2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhi dWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhyZWFk ICAgPiY1IApjb25maWd1cmU6MTQzNTc6ICQ/ID0gMApjb25maWd1cmU6MTQzNjY6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxNDQ2NTogY2hlY2tpbmcgZ3BtLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTox NDQ2NTogZ2NjIC1zdGQ9Z251OTkgLWMgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUv bGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGlu dXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkv dXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUv cGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1 ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9p bmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNs dWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRl L2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWIt Mi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9p bmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9w aXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQt MSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlw ZTIgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjE1MDoxNzogZmF0YWwgZXJyb3I6IGdwbS5o OiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8Z3BtLmg+CiAgICAgICAgICAg ICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTQ0NjU6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJlbWFjcyAyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVm aW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZF UlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf SCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZp bmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBf R05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZp bmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEK fCAjZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VO RENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhB VkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVD VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVS TV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVf TkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmlu ZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZp bmUgRE9VR19MRUFfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hL QiAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVF TlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEK fCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUg SEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1B R0VNQUdJQ0sgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2Rl ZmluZSBIQVZFX01BR0lDS01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEK fCAjZGVmaW5lIEdES19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdM SUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAj ZGVmaW5lIEhBVkVfR1RLX0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJP RkZfTUVOVV9JVEVNX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAx CnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFW RV9HVEtfRElBTE9HX0dFVF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRf R0VUX1NFTlNJVElWRSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwg I2RlZmluZSBIQVZFX0dUS19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFW RV9HVEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lO RE9XX1NFVF9IQVNfUkVTSVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNk ZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmlu ZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8 ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0 ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQg MQp8ICNkZWZpbmUgSEFWRV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmlu ZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0gg MQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2Rl ZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lG IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVm IEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwg I2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxz dGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0 ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYg IWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1 ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAj aW5jbHVkZSA8Z3BtLmg+CmNvbmZpZ3VyZToxNDQ2NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTQ0 NjU6IGNoZWNraW5nIGdwbS5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDQ2NTogZ2NjIC1FICAgICAt SS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6MTE3OjE3OiBm YXRhbCBlcnJvcjogZ3BtLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxn cG0uaD4KICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3Vy ZToxNDQ2NTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkwIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVt YWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAx CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVO U0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09V UkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NF TUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VT RV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVm aW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZp bmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19Q QVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VO X0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJT19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8 ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0gg MQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVU TUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxF X05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFU QV9TVEFSVCAxCnwgI2RlZmluZSBET1VHX0xFQV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEK fCAjZGVmaW5lIEhBVkVfWEtCIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNk ZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVO TlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hf STE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8 ICNkZWZpbmUgSEFWRV9JTUFHRU1BR0lDSyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElN QUdFUElYRUxTIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2Rl ZmluZSBIQVZFX0dUSzMgMQp8ICNkZWZpbmUgR0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklO R1MgMQp8ICNkZWZpbmUgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVm aW5lIFVTRV9HVEsgMQp8ICNkZWZpbmUgSEFWRV9HVEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZp bmUgSEFWRV9HVEtfVEVBUk9GRl9NRU5VX0lURU1fTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJ REdFVF9HRVRfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRP VyAxCnwgI2RlZmluZSBIQVZFX0dUS19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5l IEhBVkVfR1RLX1dJREdFVF9HRVRfU0VOU0lUSVZFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdF VF9HRVRfTUFQUEVEIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0la RSAxCnwgI2RlZmluZSBIQVZFX0dUS19PUklFTlRBQkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2Rl ZmluZSBIQVZFX0dUS19XSU5ET1dfU0VUX0hBU19SRVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZF X0dTRVRUSU5HUyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxF Tk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJ VF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEK fCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwg I2RlZmluZSBIQVZFX1hGVCAxCnwgI2RlZmluZSBIQVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhB VkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNk ZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQ U1RSVUNUIC8qKi8KfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8 ICNkZWZpbmUgSEFWRV9HSUYgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8 Z3BtLmg+CmNvbmZpZ3VyZToxNDQ2NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTQ0NjU6IGNoZWNr aW5nIGZvciBncG0uaApjb25maWd1cmU6MTQ0NjU6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0NTUy OiBjaGVja2luZyBYMTEvU00vU01saWIuaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0NTUyOiBnY2Mg LXN0ZD1nbnU5OSAtYyAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIu MCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xp Yi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVk ZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAt SS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1h Z2ljayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRr LTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28t MS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkv dXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNy L2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFy ZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1J L3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1ZGUvcDExLWtpdC0xICAgLUkvdXNy L2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDU1MjogJD8gPSAwCmNvbmZpZ3VyZToxNDU1MjogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjE0NTUyOiBjaGVja2luZyBYMTEvU00vU01saWIuaCBwcmVzZW5jZQpj b25maWd1cmU6MTQ1NTI6IGdjYyAtRSAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgY29u ZnRlc3QuYwpjb25maWd1cmU6MTQ1NTI6ICQ/ID0gMApjb25maWd1cmU6MTQ1NTI6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxNDU1MjogY2hlY2tpbmcgZm9yIFgxMS9TTS9TTWxpYi5oCmNvbmZpZ3Vy ZToxNDU1MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NTU0OiBjaGVja2luZyBmb3IgU21jT3Bl bkNvbm5lY3Rpb24gaW4gLWxTTQpjb25maWd1cmU6MTQ1Nzk6IGdjYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vz ci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9p bmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJv IC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9p bmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAg LXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1J L3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkv dXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5j bHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4 Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAt SS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2lu Y2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVk ZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5j IC1sU00gLWxJQ0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2RrLTMg LWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxj YWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4w ICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxn ZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDExIC1s cHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE0NTc5OiAkPyA9IDAKY29uZmlndXJlOjE0NTg4OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ2MjQ6IGNoZWNraW5nIGZvciB4cmFuZHIgPj0gMS4yLjIK Y29uZmlndXJlOjE0NjM4OiByZXN1bHQ6IHllcyBDRkxBR1M9JyAnIExJQlM9Jy1sWHJhbmRyICAn CmNvbmZpZ3VyZToxNDcyNzogY2hlY2tpbmcgZm9yIFhSUkdldE91dHB1dFByaW1hcnkKY29uZmln dXJlOjE0NzI3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgICAtZzMgLU8yIC1wdGhyZWFk IC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vz ci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dk ay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEy IC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Bl bm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUv Z3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRr LzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4w LyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91 c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAv aW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIg LUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91c3Iv aW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkvdXNy L2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5jIC1sWHJhbmRyICAgLWxTTSAtbElDRSAt bFhyZW5kZXIgLWxYZnQgICAtbGdudXRscyAgIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxn aW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3Qg LWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dh bmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4w IC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1 IApjb25maWd1cmU6MTQ3Mjc6ICQ/ID0gMApjb25maWd1cmU6MTQ3Mjc6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToxNDcyNzogY2hlY2tpbmcgZm9yIFhSUkdldFNjcmVlblJlc291cmNlc0N1cnJlbnQK Y29uZmlndXJlOjE0NzI3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgICAtZzMgLU8yIC1w dGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4w IC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNs dWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xp YnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAg IC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2lu Y2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNw aTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVu aXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIu MCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xp Yi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVl dHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAt SS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAg LUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5jIC1sWHJhbmRyICAgLWxTTSAt bElDRSAtbFhyZW5kZXIgLWxYZnQgICAtbGdudXRscyAgIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0x LjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdv YmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1h Z2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhi dWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhyZWFk ICAgPiY1IApjb25maWd1cmU6MTQ3Mjc6ICQ/ID0gMApjb25maWd1cmU6MTQ3Mjc6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxNDc1ODogY2hlY2tpbmcgZm9yIHhpbmVyYW1hID49IDEuMC4yCmNvbmZp Z3VyZToxNDc3MjogcmVzdWx0OiB5ZXMgQ0ZMQUdTPScgJyBMSUJTPSctbFhpbmVyYW1hICAnCmNv bmZpZ3VyZToxNDg3NDogY2hlY2tpbmcgZm9yIGxpYnhtbC0yLjAgPiAyLjYuMTcKY29uZmlndXJl OjE0ODg4OiByZXN1bHQ6IHllcyBDRkxBR1M9Jy1JL3Vzci9pbmNsdWRlL2xpYnhtbDIgICcgTElC Uz0nLWx4bWwyICAnCmNvbmZpZ3VyZToxNDk0MTogY2hlY2tpbmcgZm9yIGh0bWxSZWFkTWVtb3J5 IGluIC1seG1sMgpjb25maWd1cmU6MTQ5NjY6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAt ZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRl L2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1J L3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9p bmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2Zy ZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQg LUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNs dWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1 ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGst cGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51 eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5j bHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGli cG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlw ZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5jIC1seG1sMiAg LWx4bWwyICAgLWxTTSAtbElDRSAtbFhyZW5kZXIgLWxYZnQgICAtbGdudXRscyAgIC1sZ3RrLTMg LWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVm LTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1s Z2xpYi0yLjAgICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lv LTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAg LWxYMTEgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTQ5NjY6ICQ/ID0gMApjb25maWd1cmU6 MTQ5NzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTAwNDogY2hlY2tpbmcgd2hldGhlciBuZXRk YiBkZWNsYXJlcyBoX2Vycm5vCmNvbmZpZ3VyZToxNTAyMDogZ2NjIC1zdGQ9Z251OTkgLW8gY29u ZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNy L2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2lu Y2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8g LUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2lu Y2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAt cHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkv dXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91 c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNs dWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2 XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1J L3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5j bHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRl L2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMg LWx4bWwyICAgLWxTTSAtbElDRSAtbFhyZW5kZXIgLWxYZnQgICAtbGdudXRscyAgIC1sZ3RrLTMg LWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVm LTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1s Z2xpYi0yLjAgICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lv LTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAg LWxYMTEgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTUwMjA6ICQ/ID0gMApjb25maWd1cmU6 MTUwMjg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTAzOTogY2hlY2tpbmcgZm9yIHNxcnQgaW4g LWxtCmNvbmZpZ3VyZToxNTA2NDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIg LXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0y LjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2lu Y2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUv bGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUy ICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3Iv aW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQt c3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8t dW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYt Mi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9n bGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2Zy ZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAg IC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAg ICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxtICAtbHhtbDIgICAt bFNNIC1sSUNFIC1sWHJlbmRlciAtbFhmdCAgIC1sZ251dGxzICAgLWxndGstMyAtbGdkay0zIC1s YXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fp cm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAg IC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2Rr X3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0 aHJlYWQgICA+JjUgCmNvbmZ0ZXN0LmM6MTMxOjY6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVz IGZvciBidWlsdC1pbiBmdW5jdGlvbiAnc3FydCcgW2VuYWJsZWQgYnkgZGVmYXVsdF0KIGNoYXIg c3FydCAoKTsKICAgICAgXgpjb25maWd1cmU6MTUwNjQ6ICQ/ID0gMApjb25maWd1cmU6MTUwNzM6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTA4ODogY2hlY2tpbmcgZm9yIG1haWxsb2NrIGluIC1s bWFpbApjb25maWd1cmU6MTUxMTM6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8y IC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWIt Mi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9p bmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRl L2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBl MiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNy L2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0 LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lv LXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVm LTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUv Z2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9m cmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIg ICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAg ICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5jIC1sbWFpbCAgLWxtIC1s eG1sMiAgIC1sU00gLWxJQ0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1s Z2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0y LjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGds aWItMi4wICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0y LjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1s WDExIC1scHRocmVhZCAgID4mNSAKL3Vzci9iaW4vbGQ6IGNhbm5vdCBmaW5kIC1sbWFpbApjb2xs ZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE1MTEzOiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiZW1hY3MgMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIi CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2Rl ZmluZSBWRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEK fCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNk ZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEK fCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9J Tk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9T WVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX1BU WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2Rl ZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElPX0VYVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9V VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUEVSU09OQUxJVFlfTElOVVgzMiAxCnwgI2RlZmluZSBI QVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NZU19TSUdMSVNUIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfSFdBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9EQVRBX1NUQVJUIDEK fCAjZGVmaW5lIERPVUdfTEVBX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK fCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUg SEFWRV9YS0IgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZF X1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlND UkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAj ZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBI QVZFX0lNQUdFTUFHSUNLIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLRVhQT1JUSU1BR0VQSVhFTFMg MQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tNRVJHRUlNQUdFTEFZRVJTIDEKfCAjZGVmaW5lIEhBVkVf R1RLMyAxCnwgI2RlZmluZSBHREtfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2Rl ZmluZSBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgVVNFX0dU SyAxCnwgI2RlZmluZSBIQVZFX0dUS19IQU5ETEVfQk9YX05FVyAxCnwgI2RlZmluZSBIQVZFX0dU S19URUFST0ZGX01FTlVfSVRFTV9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9X SU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX1NFVF9IQVNfV0lORE9XIDEKfCAjZGVm aW5lIEhBVkVfR1RLX0RJQUxPR19HRVRfQUNUSU9OX0FSRUEgMQp8ICNkZWZpbmUgSEFWRV9HVEtf V0lER0VUX0dFVF9TRU5TSVRJVkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9NQVBQ RUQgMQp8ICNkZWZpbmUgSEFWRV9HVEtfQURKVVNUTUVOVF9HRVRfUEFHRV9TSVpFIDEKfCAjZGVm aW5lIEhBVkVfR1RLX09SSUVOVEFCTEVfU0VUX09SSUVOVEFUSU9OIDEKfCAjZGVmaW5lIEhBVkVf R1RLX1dJTkRPV19TRVRfSEFTX1JFU0laRV9HUklQIDEKfCAjZGVmaW5lIEhBVkVfR1NFVFRJTkdT IDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfR0ZJTEVOT1RJRlkgMQp8 ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9C QVJTIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUg WFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhB VkVfWEZUIDEKfCAjZGVmaW5lIEhBVkVfRlJFRVRZUEUgMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8 ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZF X1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIFBOR19ERVBTVFJVQ1QgLyoq Lwp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBI QVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRPVVRQ VVRQUklNQVJZIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUU0NSRUVOUkVTT1VSQ0VTQ1VSUkVOVCAx CnwgI2RlZmluZSBIQVZFX1hSQU5EUiAxCnwgI2RlZmluZSBIQVZFX1hJTkVSQU1BIDEKfCAjZGVm aW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFW RV9MSUJNIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdD QyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVj YXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRp biBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8K fCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBtYWlsbG9j ayAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBtYWlsbG9jayAoKTsKfCAgIDsKfCAg IHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE1MTIyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNTEz OTogY2hlY2tpbmcgZm9yIG1haWxsb2NrIGluIC1sbG9ja2ZpbGUKY29uZmlndXJlOjE1MTY0OiBn Y2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVk ZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1s aW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAt SS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVk ZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91c3IvaW5j bHVkZS9JbWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNy L2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2lu Y2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1 ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xp Yi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNy L2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRl L3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1ZGUvcDExLWtp dC0xICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0 eXBlMiAgICAgY29uZnRlc3QuYyAtbGxvY2tmaWxlICAtbG0gLWx4bWwyICAgLWxTTSAtbElDRSAt bFhyZW5kZXIgLWxYZnQgICAtbGdudXRscyAgIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxn aW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3Qg LWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dh bmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4w IC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1 IAovdXNyL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxsb2NrZmlsZQpjb2xsZWN0MjogZXJyb3I6IGxk IHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE1MTY0OiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1h Y3MgMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIy NC4zLjkwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExf U09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VS Q0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5E RU1fU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmlu ZSBTWVNURU1fVFlQRSAiZ251L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0gg MQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVO VF9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0VY VF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfUEVSU09OQUxJVFlfTElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwg I2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdM SVNUIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9I IDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0FERFIgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVmaW5lIERPVUdf TEVBX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVf TU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YS0IgMQp8ICNk ZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJD RVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmlu ZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDEx UjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0lNQUdFTUFHSUNL IDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLRVhQT1JUSU1BR0VQSVhFTFMgMQp8ICNkZWZpbmUgSEFW RV9NQUdJQ0tNRVJHRUlNQUdFTEFZRVJTIDEKfCAjZGVmaW5lIEhBVkVfR1RLMyAxCnwgI2RlZmlu ZSBHREtfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBHTElCX0RJU0FC TEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgVVNFX0dUSyAxCnwgI2RlZmluZSBI QVZFX0dUS19IQU5ETEVfQk9YX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01FTlVf SVRFTV9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9XSU5ET1cgMQp8ICNkZWZp bmUgSEFWRV9HVEtfV0lER0VUX1NFVF9IQVNfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0RJ QUxPR19HRVRfQUNUSU9OX0FSRUEgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9TRU5T SVRJVkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9NQVBQRUQgMQp8ICNkZWZpbmUg SEFWRV9HVEtfQURKVVNUTUVOVF9HRVRfUEFHRV9TSVpFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX09S SUVOVEFCTEVfU0VUX09SSUVOVEFUSU9OIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19TRVRf SEFTX1JFU0laRV9HUklQIDEKfCAjZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKfCAjZGVmaW5lIEhB VkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfR0ZJTEVOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJ TEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5l IEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0 YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWEZUIDEKfCAjZGVm aW5lIEhBVkVfRlJFRVRZUEUgMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9K UEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVm aW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIFBOR19ERVBTVFJVQ1QgLyoqLwp8ICNkZWZpbmUgSEFW RV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2Rl ZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRPVVRQVVRQUklNQVJZIDEKfCAj ZGVmaW5lIEhBVkVfWFJSR0VUU0NSRUVOUkVTT1VSQ0VTQ1VSUkVOVCAxCnwgI2RlZmluZSBIQVZF X1hSQU5EUiAxCnwgI2RlZmluZSBIQVZFX1hJTkVSQU1BIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1M MiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90 b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQg bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1 c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBtYWlsbG9jayAoKTsKfCBpbnQKfCBt YWluICgpCnwgewp8IHJldHVybiBtYWlsbG9jayAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0K Y29uZmlndXJlOjE1MTczOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNTE5MzogY2hlY2tpbmcgZm9y IGxpYmxvY2tmaWxlLnNvCmNvbmZpZ3VyZToxNTIyMjogcmVzdWx0OiBubwpjb25maWd1cmU6MTUz MDU6IGNoZWNraW5nIGZvciBhY2NlcHQ0CmNvbmZpZ3VyZToxNTMwNTogZ2NjIC1zdGQ9Z251OTkg LW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAg LUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWIt Mi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUv Y2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkv dXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdp Y2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0x LjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEu MCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vz ci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9s aWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZi dXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91 c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9p bmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0 ZXN0LmMgLWxtIC1seG1sMiAgIC1sU00gLWxJQ0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMg ICAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1s Z2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2Jq ZWN0LTIuMCAtbGdsaWItMi4wICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0y IC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxn bGliLTIuMCAgIC1sWDExIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE1MzA1OiAkPyA9IDAK Y29uZmlndXJlOjE1MzA1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUzMDU6IGNoZWNraW5nIGZv ciBnZXRob3N0bmFtZQpjb25maWd1cmU6MTUzMDU6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNs dWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRl IC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vz ci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRl L2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJl YWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9p bmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2lu Y2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9n ZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1s aW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3Iv aW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUv bGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVl dHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5jIC1sbSAt bHhtbDIgICAtbFNNIC1sSUNFIC1sWHJlbmRlciAtbFhmdCAgIC1sZ251dGxzICAgLWxndGstMyAt bGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYt Mi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxn bGliLTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0gLWxnaW8t Mi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAt bFgxMSAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxNTMwNTogJD8gPSAwCmNvbmZpZ3VyZTox NTMwNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MzA1OiBjaGVja2luZyBmb3IgZ2V0cnVzYWdl CmNvbmZpZ3VyZToxNTMwNTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0 aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAg LUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1 ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGli cG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAg LWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5j bHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3Bp Mi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5p eC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4w IC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGli LTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0 eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1J L3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAt SS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxtIC1seG1sMiAgIC1sU00g LWxJQ0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2RrLTMgLWxhdGst MS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1n b2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxN YWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4 YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDExIC1scHRocmVh ZCAgID4mNSAKY29uZmlndXJlOjE1MzA1OiAkPyA9IDAKY29uZmlndXJlOjE1MzA1OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MTUzMDU6IGNoZWNraW5nIGZvciBnZXRfY3VycmVudF9kaXJfbmFtZQpj b25maWd1cmU6MTUzMDU6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhy ZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1J L3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRl L2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBu ZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1m b3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1 ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTIt YXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgt Mi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAt SS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0y LjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlw ZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91 c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkv dXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5jIC1sbSAtbHhtbDIgICAtbFNNIC1s SUNFIC1sWHJlbmRlciAtbFhmdCAgIC1sZ251dGxzICAgLWxndGstMyAtbGdkay0zIC1sYXRrLTEu MCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29i amVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFn aWNrV2FuZCAtbE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1 Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQg ICA+JjUgCmNvbmZpZ3VyZToxNTMwNTogJD8gPSAwCmNvbmZpZ3VyZToxNTMwNTogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjE1MzA1OiBjaGVja2luZyBmb3IgbHJhbmQ0OApjb25maWd1cmU6MTUzMDU6 IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNs dWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0 LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4w IC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNs dWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9p bmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91 c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3Iv aW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5j bHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9n bGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91 c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1 ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEt a2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJl ZXR5cGUyICAgICBjb25mdGVzdC5jIC1sbSAtbHhtbDIgICAtbFNNIC1sSUNFIC1sWHJlbmRlciAt bFhmdCAgIC1sZ251dGxzICAgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxw YW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEu MCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lj a0NvcmUgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAt bGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3Vy ZToxNTMwNTogJD8gPSAwCmNvbmZpZ3VyZToxNTMwNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1 MzA1OiBjaGVja2luZyBmb3Igc2VsZWN0CmNvbmZpZ3VyZToxNTMwNTogZ2NjIC1zdGQ9Z251OTkg LW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAg LUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWIt Mi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUv Y2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkv dXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdp Y2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0x LjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEu MCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vz ci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9s aWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZi dXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91 c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9p bmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0 ZXN0LmMgLWxtIC1seG1sMiAgIC1sU00gLWxJQ0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMg ICAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1s Z2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2Jq ZWN0LTIuMCAtbGdsaWItMi4wICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0y IC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxn bGliLTIuMCAgIC1sWDExIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE1MzA1OiAkPyA9IDAK Y29uZmlndXJlOjE1MzA1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUzMDU6IGNoZWNraW5nIGZv ciBnZXRwYWdlc2l6ZQpjb25maWd1cmU6MTUzMDU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTMw NTogY2hlY2tpbmcgZm9yIHNldGxvY2FsZQpjb25maWd1cmU6MTUzMDU6IGdjYyAtc3RkPWdudTk5 IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4w IC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGli LTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRl L2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1J L3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFn aWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGst MS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0x LjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91 c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3Iv bGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJm YnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkv dXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3Iv aW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25m dGVzdC5jIC1sbSAtbHhtbDIgICAtbFNNIC1sSUNFIC1sWHJlbmRlciAtbFhmdCAgIC1sZ251dGxz ICAgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAt bGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29i amVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUgICAtbHJzdmct MiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1s Z2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxNTMwNTogJD8gPSAw CmNvbmZpZ3VyZToxNTMwNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MzA1OiBjaGVja2luZyBm b3IgZ2V0cmxpbWl0CmNvbmZpZ3VyZToxNTMwNTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3Qg IC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1 ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUg LUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNy L2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUv ZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVh ZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2lu Y2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5j bHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dk ay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxp bnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9p bmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9s aWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0 eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxtIC1s eG1sMiAgIC1sU00gLWxJQ0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1s Z2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0y LjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGds aWItMi4wICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0y LjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1s WDExIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE1MzA1OiAkPyA9IDAKY29uZmlndXJlOjE1 MzA1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUzMDU6IGNoZWNraW5nIGZvciBzZXRybGltaXQK Y29uZmlndXJlOjE1MzA1OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRo cmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAt SS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVk ZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJw bmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAt Zm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNs dWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGky LWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4 LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAg LUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWIt Mi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5 cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkv dXNyL2luY2x1ZGUvcDExLWtpdC0xICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIC1J L3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgY29uZnRlc3QuYyAtbG0gLWx4bWwyICAgLWxTTSAt bElDRSAtbFhyZW5kZXIgLWxYZnQgICAtbGdudXRscyAgIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0x LjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdv YmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1h Z2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhi dWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhyZWFk ICAgPiY1IApjb25maWd1cmU6MTUzMDU6ICQ/ID0gMApjb25maWd1cmU6MTUzMDU6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxNTMwNTogY2hlY2tpbmcgZm9yIHNodXRkb3duCmNvbmZpZ3VyZToxNTMw NTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2lu Y2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZf NjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0y LjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2lu Y2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNy L2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1J L3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vz ci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9p bmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRl L2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1J L3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5j bHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3Ax MS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9m cmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxtIC1seG1sMiAgIC1sU00gLWxJQ0UgLWxYcmVuZGVy IC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAt bHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28t MS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxNYWdpY2tXYW5kIC1sTWFn aWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJv IC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDExIC1scHRocmVhZCAgID4mNSAKY29uZmln dXJlOjE1MzA1OiAkPyA9IDAKY29uZmlndXJlOjE1MzA1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTUzMDU6IGNoZWNraW5nIGZvciBnZXRhZGRyaW5mbwpjb25maWd1cmU6MTUzMDU6IGdjYyAtc3Rk PWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJz dmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdu dS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9p bmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1h bi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0lt YWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVk ZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9w YW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWly byAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAt SS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVk ZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFu LTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAt SS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAg ICBjb25mdGVzdC5jIC1sbSAtbHhtbDIgICAtbFNNIC1sSUNFIC1sWHJlbmRlciAtbFhmdCAgIC1s Z251dGxzICAgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJv LTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJv IC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUgICAt bHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmplY3Qt Mi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxNTMwNTog JD8gPSAwCmNvbmZpZ3VyZToxNTMwNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MzA1OiBjaGVj a2luZyBmb3Igc3Ryc2lnbmFsCmNvbmZpZ3VyZToxNTMwNTogZ2NjIC1zdGQ9Z251OTkgLW8gY29u ZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNy L2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2lu Y2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8g LUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2lu Y2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAt cHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkv dXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91 c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNs dWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2 XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1J L3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5j bHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRl L2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMg LWxtIC1seG1sMiAgIC1sU00gLWxJQ0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0 ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3Bp eGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIu MCAtbGdsaWItMi4wICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAt bGdpby0yLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIu MCAgIC1sWDExIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE1MzA1OiAkPyA9IDAKY29uZmln dXJlOjE1MzA1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUzMDU6IGNoZWNraW5nIGZvciBzZXRp dGltZXIKY29uZmlndXJlOjE1MzA1OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1P MiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGli LTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3Iv aW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVk ZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlw ZTIgICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vz ci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9h dC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dp by11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1 Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251 L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUv ZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEy ICAgLUkvdXNyL2luY2x1ZGUvcDExLWtpdC0xICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAg ICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgY29uZnRlc3QuYyAtbG0gLWx4bWwyICAg LWxTTSAtbElDRSAtbFhyZW5kZXIgLWxYZnQgICAtbGdudXRscyAgIC1sZ3RrLTMgLWxnZGstMyAt bGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNh aXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAg ICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdk a19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxw dGhyZWFkICAgPiY1IApjb25maWd1cmU6MTUzMDU6ICQ/ID0gMApjb25maWd1cmU6MTUzMDU6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToxNTMwNTogY2hlY2tpbmcgZm9yIHNlbmR0bwpjb25maWd1cmU6 MTUzMDU6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vz ci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIv eDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhi dWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vz ci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1J L3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMu MCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAt SS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91 c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5j bHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVk ZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNy L2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVk ZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1 ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5jIC1sbSAtbHhtbDIgICAtbFNNIC1sSUNFIC1sWHJl bmRlciAtbFhmdCAgIC1sZ251dGxzICAgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0y LjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBh bmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2FuZCAt bE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxj YWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNv bmZpZ3VyZToxNTMwNTogJD8gPSAwCmNvbmZpZ3VyZToxNTMwNTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjE1MzA1OiBjaGVja2luZyBmb3IgcmVjdmZyb20KY29uZmlndXJlOjE1MzA1OiBnY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJy c3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1n bnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3Iv aW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXht YW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9J bWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1 ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUv cGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fp cm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAg LUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1 ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1h bi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1ZGUvcDExLWtpdC0xICAg LUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAg ICAgY29uZnRlc3QuYyAtbG0gLWx4bWwyICAgLWxTTSAtbElDRSAtbFhyZW5kZXIgLWxYZnQgICAt bGdudXRscyAgIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWly by0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWly byAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAg LWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0 LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTUzMDU6 ICQ/ID0gMApjb25maWd1cmU6MTUzMDU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTMwNTogY2hl Y2tpbmcgZm9yIGdldHNvY2tuYW1lCmNvbmZpZ3VyZToxNTMwNTogZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkv dXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4w L2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fp cm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNy L2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sg ICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAg LUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAt SS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9p bmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIv eDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6 IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3Iv aW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNs dWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0 LmMgLWxtIC1seG1sMiAgIC1sU00gLWxJQ0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAt bGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2Rr X3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0 LTIuMCAtbGdsaWItMi4wICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1s bSAtbGdpby0yLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGli LTIuMCAgIC1sWDExIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE1MzA1OiAkPyA9IDAKY29u ZmlndXJlOjE1MzA1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUzMDU6IGNoZWNraW5nIGZvciBn ZXRwZWVybmFtZQpjb25maWd1cmU6MTUzMDU6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAt ZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRl L2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1J L3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9p bmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2Zy ZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQg LUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNs dWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1 ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGst cGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51 eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5j bHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGli cG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlw ZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5jIC1sbSAtbHht bDIgICAtbFNNIC1sSUNFIC1sWHJlbmRlciAtbFhmdCAgIC1sZ251dGxzICAgLWxndGstMyAtbGdk ay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4w IC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGli LTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4w IC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgx MSAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxNTMwNTogJD8gPSAwCmNvbmZpZ3VyZToxNTMw NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MzA1OiBjaGVja2luZyBmb3IgZ2V0aWZhZGRycwpj b25maWd1cmU6MTUzMDU6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhy ZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1J L3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRl L2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBu ZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1m b3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1 ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTIt YXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgt Mi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAt SS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0y LjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlw ZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91 c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkv dXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5jIC1sbSAtbHhtbDIgICAtbFNNIC1s SUNFIC1sWHJlbmRlciAtbFhmdCAgIC1sZ251dGxzICAgLWxndGstMyAtbGdkay0zIC1sYXRrLTEu MCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29i amVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFn aWNrV2FuZCAtbE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1 Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQg ICA+JjUgCmNvbmZpZ3VyZToxNTMwNTogJD8gPSAwCmNvbmZpZ3VyZToxNTMwNTogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjE1MzA1OiBjaGVja2luZyBmb3IgZnJlZWlmYWRkcnMKY29uZmlndXJlOjE1 MzA1OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3Iv aW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4 Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVm LTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3Iv aW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91 c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAg LUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkv dXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNy L2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1 ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUg LUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9p bmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1ZGUv cDExLWtpdC0xICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNsdWRl L2ZyZWV0eXBlMiAgICAgY29uZnRlc3QuYyAtbG0gLWx4bWwyICAgLWxTTSAtbElDRSAtbFhyZW5k ZXIgLWxYZnQgICAtbGdudXRscyAgIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4w IC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5n by0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dhbmQgLWxN YWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fp cm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1IApjb25m aWd1cmU6MTUzMDU6ICQ/ID0gMApjb25maWd1cmU6MTUzMDU6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxNTMwNTogY2hlY2tpbmcgZm9yIGdhaV9zdHJlcnJvcgpjb25maWd1cmU6MTUzMDU6IGdjYyAt c3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xp YnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4 LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vz ci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3Bp eG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRl L0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5j bHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVk ZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9j YWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIu MCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5j bHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4 bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEg ICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUy ICAgICBjb25mdGVzdC5jIC1sbSAtbHhtbDIgICAtbFNNIC1sSUNFIC1sWHJlbmRlciAtbFhmdCAg IC1sZ251dGxzICAgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2Nh aXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNh aXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUg ICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmpl Y3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxNTMw NTogJD8gPSAwCmNvbmZpZ3VyZToxNTMwNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MzA1OiBj aGVja2luZyBmb3IgZ2V0bGluZQpjb25maWd1cmU6MTUzMDU6IGdjYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vz ci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9p bmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJv IC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9p bmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAg LXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1J L3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkv dXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5j bHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4 Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAt SS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2lu Y2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVk ZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5j IC1sbSAtbHhtbDIgICAtbFNNIC1sSUNFIC1sWHJlbmRlciAtbFhmdCAgIC1sZ251dGxzICAgLWxn dGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19w aXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0y LjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0g LWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0y LjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxNTMwNTogJD8gPSAwCmNvbmZp Z3VyZToxNTMwNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MzA1OiBjaGVja2luZyBmb3IgZ2V0 ZGVsaW0KY29uZmlndXJlOjE1MzA1OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1P MiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGli LTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3Iv aW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVk ZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlw ZTIgICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vz ci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9h dC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dp by11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1 Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251 L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUv ZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEy ICAgLUkvdXNyL2luY2x1ZGUvcDExLWtpdC0xICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAg ICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgY29uZnRlc3QuYyAtbG0gLWx4bWwyICAg LWxTTSAtbElDRSAtbFhyZW5kZXIgLWxYZnQgICAtbGdudXRscyAgIC1sZ3RrLTMgLWxnZGstMyAt bGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNh aXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAg ICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdk a19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxw dGhyZWFkICAgPiY1IApjb25maWd1cmU6MTUzMDU6ICQ/ID0gMApjb25maWd1cmU6MTUzMDU6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToxNTMwNTogY2hlY2tpbmcgZm9yIHN5bmMKY29uZmlndXJlOjE1 MzA1OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3Iv aW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4 Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVm LTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3Iv aW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91 c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAg LUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkv dXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNy L2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1 ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUg LUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9p bmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1ZGUv cDExLWtpdC0xICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNsdWRl L2ZyZWV0eXBlMiAgICAgY29uZnRlc3QuYyAtbG0gLWx4bWwyICAgLWxTTSAtbElDRSAtbFhyZW5k ZXIgLWxYZnQgICAtbGdudXRscyAgIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4w IC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5n by0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dhbmQgLWxN YWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fp cm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1IApjb25m aWd1cmU6MTUzMDU6ICQ/ID0gMApjb25maWd1cmU6MTUzMDU6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxNTMwNTogY2hlY2tpbmcgZm9yIGdldHB3ZW50CmNvbmZpZ3VyZToxNTMwNTogZ2NjIC1zdGQ9 Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2 Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251 L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2lu Y2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFu LTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1h Z2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRl L2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3Bh bmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJv IC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1J L3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRl L2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4t MSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1J L3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAg IGNvbmZ0ZXN0LmMgLWxtIC1seG1sMiAgIC1sU00gLWxJQ0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxn bnV0bHMgICAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8t MS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8g LWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1s cnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0y LjAgLWxnbGliLTIuMCAgIC1sWDExIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE1MzA1OiAk PyA9IDAKY29uZmlndXJlOjE1MzA1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUzMDU6IGNoZWNr aW5nIGZvciBlbmRwd2VudApjb25maWd1cmU6MTUzMDU6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0 ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9p bmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNs dWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1J L3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNs dWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0 aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vz ci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNy L2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVk ZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82 NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91 c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1 ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9m cmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5jIC1s bSAtbHhtbDIgICAtbFNNIC1sSUNFIC1sWHJlbmRlciAtbFhmdCAgIC1sZ251dGxzICAgLWxndGst MyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhi dWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAg LWxnbGliLTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0gLWxn aW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAg ICAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxNTMwNTogJD8gPSAwCmNvbmZpZ3Vy ZToxNTMwNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MzA1OiBjaGVja2luZyBmb3IgZ2V0Z3Jl bnQKY29uZmlndXJlOjE1MzA1OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAt cHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIu MCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5j bHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9s aWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIg ICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9p bmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1z cGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11 bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0y LjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2ds aWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJl ZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAg LUkvdXNyL2luY2x1ZGUvcDExLWtpdC0xICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAg IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgY29uZnRlc3QuYyAtbG0gLWx4bWwyICAgLWxT TSAtbElDRSAtbFhyZW5kZXIgLWxYZnQgICAtbGdudXRscyAgIC1sZ3RrLTMgLWxnZGstMyAtbGF0 ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJv LWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAt bE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19w aXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhy ZWFkICAgPiY1IApjb25maWd1cmU6MTUzMDU6ICQ/ID0gMApjb25maWd1cmU6MTUzMDU6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToxNTMwNTogY2hlY2tpbmcgZm9yIGVuZGdyZW50CmNvbmZpZ3VyZTox NTMwNTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNy L2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94 ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1 Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNy L2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkv dXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4w IC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1J L3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vz ci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNs dWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRl IC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3Iv aW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRl L3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVk ZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxtIC1seG1sMiAgIC1sU00gLWxJQ0UgLWxYcmVu ZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIu MCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1scGFu Z28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxNYWdpY2tXYW5kIC1s TWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNh aXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDExIC1scHRocmVhZCAgID4mNSAKY29u ZmlndXJlOjE1MzA1OiAkPyA9IDAKY29uZmlndXJlOjE1MzA1OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTUzMDU6IGNoZWNraW5nIGZvciB0b3VjaGxvY2sKY29uZmlndXJlOjE1MzA1OiBnY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJy c3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1n bnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3Iv aW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXht YW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9J bWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1 ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUv cGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fp cm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAg LUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1 ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1h bi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1ZGUvcDExLWtpdC0xICAg LUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAg ICAgY29uZnRlc3QuYyAtbG0gLWx4bWwyICAgLWxTTSAtbElDRSAtbFhyZW5kZXIgLWxYZnQgICAt bGdudXRscyAgIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWly by0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWly byAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAg LWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0 LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1IAovdG1wL2NjRmpxM2t6Lm86 IEluIGZ1bmN0aW9uIGBtYWluJzoKL2hvbWUvdHVoZG8vRG93bmxvYWRzL2VtYWNzLTI0LjMuOTAv Y29uZnRlc3QuYzoxODg6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHRvdWNobG9jaycKY29sbGVj dDI6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNTMwNTogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImVtYWNzIDI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZp bmUgVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwg I2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVm aW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwg I2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5P REUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lT X1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VU U05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZp bmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJT19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFW RV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TWVNfU0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAxCnwg I2RlZmluZSBET1VHX0xFQV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhB VkVfWEtCIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9Y U0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JF RU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2Rl ZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFW RV9JTUFHRU1BR0lDSyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElNQUdFUElYRUxTIDEK fCAjZGVmaW5lIEhBVkVfTUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2RlZmluZSBIQVZFX0dU SzMgMQp8ICNkZWZpbmUgR0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZp bmUgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVTRV9HVEsg MQp8ICNkZWZpbmUgSEFWRV9HVEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtf VEVBUk9GRl9NRU5VX0lURU1fTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfV0lO RE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRPVyAxCnwgI2RlZmlu ZSBIQVZFX0dUS19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJ REdFVF9HRVRfU0VOU0lUSVZFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQUEVE IDEKfCAjZGVmaW5lIEhBVkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAxCnwgI2RlZmlu ZSBIQVZFX0dUS19PUklFTlRBQkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2RlZmluZSBIQVZFX0dU S19XSU5ET1dfU0VUX0hBU19SRVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZFX0dTRVRUSU5HUyAx CnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxFTk9USUZZIDEKfCAj ZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFS UyAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhS ZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZF X1hGVCAxCnwgI2RlZmluZSBIQVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAj ZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9Q TkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQU1RSVUNUIC8qKi8K fCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFW RV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUT1VUUFVU UFJJTUFSWSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNFU0NVUlJFTlQgMQp8 ICNkZWZpbmUgSEFWRV9YUkFORFIgMQp8ICNkZWZpbmUgSEFWRV9YSU5FUkFNQSAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVf TElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0FDQ0VQVDQg MQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAx CnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJB TkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNk ZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2Rl ZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBI QVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFW RV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFW RV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBI QVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZ TkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEK fCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSB0b3VjaGxvY2sgdG8gYW4gaW5ub2N1b3Vz IHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyB0b3VjaGxvY2suCnwgICAgRm9y IGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICov CnwgI2RlZmluZSB0b3VjaGxvY2sgaW5ub2N1b3VzX3RvdWNobG9jawp8IAp8IC8qIFN5c3RlbSBo ZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBl cywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciB0b3VjaGxvY2sgKCk7IGJlbG93 Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRl ZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5n IGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMu aD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHRv dWNobG9jawp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2 b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSBy ZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0 ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgdG91Y2hsb2NrICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJy YXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAg dG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkg bmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFt ZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX3RvdWNobG9jayB8fCBkZWZp bmVkIF9fc3R1Yl9fX3RvdWNobG9jawp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFp biAoKQp8IHsKfCByZXR1cm4gdG91Y2hsb2NrICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj b25maWd1cmU6MTUzMDU6IHJlc3VsdDogbm8KY29uZmlndXJlOjE1MzA1OiBjaGVja2luZyBmb3Ig Y2ZtYWtlcmF3CmNvbmZpZ3VyZToxNTMwNTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1n MyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUv Z2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkv dXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2lu Y2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJl ZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAt SS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1 ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVk ZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1w aXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4 LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNs dWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJw bmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBl MiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxtIC1seG1s MiAgIC1sU00gLWxJQ0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2Rr LTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAg LWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWIt Mi4wICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAg LWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDEx IC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE1MzA1OiAkPyA9IDAKY29uZmlndXJlOjE1MzA1 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUzMDU6IGNoZWNraW5nIGZvciBjZnNldHNwZWVkCmNv bmZpZ3VyZToxNTMwNTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJl YWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkv dXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUv Z2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5n MTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZv cGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVk ZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1h dGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0y LjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1J L3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIu MC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBl MiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vz ci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91 c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxtIC1seG1sMiAgIC1sU00gLWxJ Q0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4w IC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2Jq ZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxNYWdp Y2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4YnVm LTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDExIC1scHRocmVhZCAg ID4mNSAKY29uZmlndXJlOjE1MzA1OiAkPyA9IDAKY29uZmlndXJlOjE1MzA1OiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTUzMDU6IGNoZWNraW5nIGZvciBjb3B5c2lnbgpjb25maWd1cmU6MTUzMDU6 IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNs dWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0 LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4w IC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNs dWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9p bmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91 c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3Iv aW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5j bHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9n bGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91 c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1 ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEt a2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJl ZXR5cGUyICAgICBjb25mdGVzdC5jIC1sbSAtbHhtbDIgICAtbFNNIC1sSUNFIC1sWHJlbmRlciAt bFhmdCAgIC1sZ251dGxzICAgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxw YW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEu MCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lj a0NvcmUgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAt bGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNvbmZ0ZXN0 LmM6MTc5OjY6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlv biAnY29weXNpZ24nIFtlbmFibGVkIGJ5IGRlZmF1bHRdCiBjaGFyIGNvcHlzaWduICgpOwogICAg ICBeCmNvbmZpZ3VyZToxNTMwNTogJD8gPSAwCmNvbmZpZ3VyZToxNTMwNTogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjE1MzA1OiBjaGVja2luZyBmb3IgX19leGVjdXRhYmxlX3N0YXJ0CmNvbmZpZ3Vy ZToxNTMwNTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkv dXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xp Yi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBp eGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkv dXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAg LUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGst My4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4w IC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1J L3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9p bmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNs dWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91 c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNs dWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5j bHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxtIC1seG1sMiAgIC1sU00gLWxJQ0UgLWxY cmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lv LTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1s cGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxNYWdpY2tXYW5k IC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4YnVmLTIuMCAt bGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDExIC1scHRocmVhZCAgID4mNSAK Y29uZmlndXJlOjE1MzA1OiAkPyA9IDAKY29uZmlndXJlOjE1MzA1OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTUzMDU6IGNoZWNraW5nIGZvciBsb2cyCmNvbmZpZ3VyZToxNTMwNTogZ2NjIC1zdGQ9 Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2 Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251 L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2lu Y2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFu LTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1h Z2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRl L2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3Bh bmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJv IC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1J L3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRl L2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4t MSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1J L3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAg IGNvbmZ0ZXN0LmMgLWxtIC1seG1sMiAgIC1sU00gLWxJQ0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxn bnV0bHMgICAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8t MS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8g LWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1s cnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0y LjAgLWxnbGliLTIuMCAgIC1sWDExIC1scHRocmVhZCAgID4mNSAKY29uZnRlc3QuYzoxODE6Njog d2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdsb2cyJyBb ZW5hYmxlZCBieSBkZWZhdWx0XQogY2hhciBsb2cyICgpOwogICAgICBeCmNvbmZpZ3VyZToxNTMw NTogJD8gPSAwCmNvbmZpZ3VyZToxNTMwNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MzE5OiBj aGVja2luZyBmb3IgYWxpZ25lZF9hbGxvYwpjb25maWd1cmU6MTUzMTk6IGdjYyAtc3RkPWdudTk5 IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4w IC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGli LTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRl L2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1J L3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFn aWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGst MS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0x LjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91 c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3Iv bGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJm YnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkv dXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3Iv aW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25m dGVzdC5jIC1sbSAtbHhtbDIgICAtbFNNIC1sSUNFIC1sWHJlbmRlciAtbFhmdCAgIC1sZ251dGxz ICAgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAt bGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29i amVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUgICAtbHJzdmct MiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1s Z2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxNTMxOTogJD8gPSAw CmNvbmZpZ3VyZToxNTMxOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MzQxOiBjaGVja2luZyBm b3IgcmFuZG9tCmNvbmZpZ3VyZToxNTM0MTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1n MyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUv Z2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkv dXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2lu Y2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJl ZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAt SS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1 ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVk ZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1w aXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4 LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNs dWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJw bmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBl MiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxtIC1seG1s MiAgIC1sU00gLWxJQ0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2Rr LTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAg LWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWIt Mi4wICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAg LWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDEx IC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE1MzQxOiAkPyA9IDAKY29uZmlndXJlOjE1MzQx OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUzNDE6IGNoZWNraW5nIGZvciByaW50CmNvbmZpZ3Vy ZToxNTM0MTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkv dXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xp Yi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBp eGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkv dXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAg LUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGst My4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4w IC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1J L3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9p bmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNs dWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91 c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNs dWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5j bHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxtIC1seG1sMiAgIC1sU00gLWxJQ0UgLWxY cmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lv LTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1s cGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxNYWdpY2tXYW5k IC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4YnVmLTIuMCAt bGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDExIC1scHRocmVhZCAgID4mNSAK Y29uZnRlc3QuYzoxODQ6Njogd2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWlu IGZ1bmN0aW9uICdyaW50JyBbZW5hYmxlZCBieSBkZWZhdWx0XQogY2hhciByaW50ICgpOwogICAg ICBeCmNvbmZpZ3VyZToxNTM0MTogJD8gPSAwCmNvbmZpZ3VyZToxNTM0MTogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjE1MzUyOiBjaGVja2luZyBmb3IgX19idWlsdGluX3Vud2luZF9pbml0CmNvbmZp Z3VyZToxNTM2ODogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQg LUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNy L2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2Rr LXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIg LUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVu bXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9n dGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsv Mi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAv IC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vz ci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9p bmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAt SS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9p bmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3Iv aW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxtIC1seG1sMiAgIC1sU00gLWxJQ0Ug LWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1s Z2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0 IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxNYWdpY2tX YW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4YnVmLTIu MCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDExIC1scHRocmVhZCAgID4m NSAKY29uZmlndXJlOjE1MzY4OiAkPyA9IDAKY29uZmlndXJlOjE1Mzc2OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTUzODg6IGNoZWNraW5nIGZvciBfTEFSR0VGSUxFX1NPVVJDRSB2YWx1ZSBuZWVk ZWQgZm9yIGxhcmdlIGZpbGVzCmNvbmZpZ3VyZToxNTQwNzogZ2NjIC1zdGQ9Z251OTkgLW8gY29u ZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNy L2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2lu Y2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8g LUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2lu Y2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAt cHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkv dXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91 c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNs dWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2 XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1J L3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5j bHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRl L2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMg LWxtIC1seG1sMiAgIC1sU00gLWxJQ0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0 ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3Bp eGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIu MCAtbGdsaWItMi4wICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAt bGdpby0yLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIu MCAgIC1sWDExIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE1NDA3OiAkPyA9IDAKY29uZmln dXJlOjE1NDM1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNTQ2MDogY2hlY2tpbmcgZm9yIGdyYW50 cHQKY29uZmlndXJlOjE1NDYwOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAt cHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIu MCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5j bHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9s aWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIg ICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9p bmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1z cGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11 bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0y LjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2ds aWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJl ZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAg LUkvdXNyL2luY2x1ZGUvcDExLWtpdC0xICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAg IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgY29uZnRlc3QuYyAtbG0gLWx4bWwyICAgLWxT TSAtbElDRSAtbFhyZW5kZXIgLWxYZnQgICAtbGdudXRscyAgIC1sZ3RrLTMgLWxnZGstMyAtbGF0 ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJv LWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAt bE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19w aXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhy ZWFkICAgPiY1IApjb25maWd1cmU6MTU0NjA6ICQ/ID0gMApjb25maWd1cmU6MTU0NjA6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToxNTQ3NDogY2hlY2tpbmcgZm9yIGdldHB0CmNvbmZpZ3VyZToxNTQ3 NDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2lu Y2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZf NjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0y LjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2lu Y2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNy L2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1J L3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vz ci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9p bmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRl L2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1J L3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5j bHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3Ax MS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9m cmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxtIC1seG1sMiAgIC1sU00gLWxJQ0UgLWxYcmVuZGVy IC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAt bHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28t MS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxNYWdpY2tXYW5kIC1sTWFn aWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJv IC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDExIC1scHRocmVhZCAgID4mNSAKY29uZmln dXJlOjE1NDc0OiAkPyA9IDAKY29uZmlndXJlOjE1NDc0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTU0NzQ6IGNoZWNraW5nIGZvciBwb3NpeF9vcGVucHQKY29uZmlndXJlOjE1NDc0OiBnY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJy c3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1n bnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3Iv aW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXht YW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9J bWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1 ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUv cGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fp cm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAg LUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1 ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1h bi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1ZGUvcDExLWtpdC0xICAg LUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAg ICAgY29uZnRlc3QuYyAtbG0gLWx4bWwyICAgLWxTTSAtbElDRSAtbFhyZW5kZXIgLWxYZnQgICAt bGdudXRscyAgIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWly by0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWly byAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAg LWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0 LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTU0NzQ6 ICQ/ID0gMApjb25maWd1cmU6MTU0NzQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTQ4OTogY2hl Y2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyB0cHV0cwpjb25maWd1cmU6MTU1NDU6IGdjYyAt c3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xp YnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4 LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vz ci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3Bp eG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRl L0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5j bHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVk ZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9j YWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIu MCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5j bHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4 bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEg ICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUy ICAgICBjb25mdGVzdC5jIC1sbSAtbHhtbDIgICAtbFNNIC1sSUNFIC1sWHJlbmRlciAtbFhmdCAg IC1sZ251dGxzICAgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2Nh aXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNh aXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUg ICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmpl Y3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCi90bXAvY2NNcTRxUFUu bzogSW4gZnVuY3Rpb24gYG1haW4nOgovaG9tZS90dWhkby9Eb3dubG9hZHMvZW1hY3MtMjQuMy45 MC9jb25mdGVzdC5jOjE3MjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgdHB1dHMnCmNvbGxlY3Qy OiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTU1NDU6ICQ/ID0g MQpjb25maWd1cmU6IHByb2dyYW0gZXhpdGVkIHdpdGggc3RhdHVzIDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQu My45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkw Igp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNF IDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAiZ251L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNk ZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5l IEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK fCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0VYVF9IIDEK fCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfUEVSU09OQUxJVFlfTElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmlu ZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAj ZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9G TEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIg MQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJ TUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVmaW5lIERPVUdfTEVBX01B TExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YS0IgMQp8ICNkZWZpbmUg SEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklO RyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZF X1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElN IDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0lNQUdFTUFHSUNLIDEKfCAj ZGVmaW5lIEhBVkVfTUFHSUNLRVhQT1JUSU1BR0VQSVhFTFMgMQp8ICNkZWZpbmUgSEFWRV9NQUdJ Q0tNRVJHRUlNQUdFTEFZRVJTIDEKfCAjZGVmaW5lIEhBVkVfR1RLMyAxCnwgI2RlZmluZSBHREtf RElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBHTElCX0RJU0FCTEVfREVQ UkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgVVNFX0dUSyAxCnwgI2RlZmluZSBIQVZFX0dU S19IQU5ETEVfQk9YX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01FTlVfSVRFTV9O RVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9XSU5ET1cgMQp8ICNkZWZpbmUgSEFW RV9HVEtfV0lER0VUX1NFVF9IQVNfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0RJQUxPR19H RVRfQUNUSU9OX0FSRUEgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9TRU5TSVRJVkUg MQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9NQVBQRUQgMQp8ICNkZWZpbmUgSEFWRV9H VEtfQURKVVNUTUVOVF9HRVRfUEFHRV9TSVpFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX09SSUVOVEFC TEVfU0VUX09SSUVOVEFUSU9OIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19TRVRfSEFTX1JF U0laRV9HUklQIDEKfCAjZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKfCAjZGVmaW5lIEhBVkVfR05V VExTIDEKfCAjZGVmaW5lIEhBVkVfR0ZJTEVOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9U SUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIEhBVkVf WElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0 ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWEZUIDEKfCAjZGVmaW5lIEhB VkVfRlJFRVRZUEUgMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEK fCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhB VkVfUE5HIDEKfCAjZGVmaW5lIFBOR19ERVBTVFJVQ1QgLyoqLwp8ICNkZWZpbmUgSEFWRV9aTElC IDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBI QVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRPVVRQVVRQUklNQVJZIDEKfCAjZGVmaW5l IEhBVkVfWFJSR0VUU0NSRUVOUkVTT1VSQ0VTQ1VSUkVOVCAxCnwgI2RlZmluZSBIQVZFX1hSQU5E UiAxCnwgI2RlZmluZSBIQVZFX1hJTkVSQU1BIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwg I2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1B SUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVBUNCAxCnwgI2RlZmluZSBIQVZFX0dF VEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VU X0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhB VkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9T RVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRS TElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJ TkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVS IDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNk ZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAj ZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2Rl ZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZF X0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRH UkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFX IDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEK fCAjZGVmaW5lIEhBVkVfX19FWEVDVVRBQkxFX1NUQVJUIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAx CnwgI2RlZmluZSBIQVZFX0FMSUdORURfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8 ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklU IDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgCnwgICBleHRlcm4gdm9pZCB0cHV0cyAoY29uc3QgY2hhciAqLCBp bnQsIGludCAoKikoaW50KSk7CnwgICAgICAgIGludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFy Z3YpCnwgICAgICAgIHsKfCAJICBpZiAoYXJnYyA9PSAxMDAwMCkKfCAJICAgIHRwdXRzIChhcmd2 WzBdLCAwLCAwKTsKfCAJICByZXR1cm4gMDsKfCAgICAgICAgfQp8IApjb25maWd1cmU6MTU1NDU6 IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNs dWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0 LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4w IC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNs dWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9p bmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91 c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3Iv aW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5j bHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9n bGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91 c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1 ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEt a2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJl ZXR5cGUyICAgICBjb25mdGVzdC5jIC1sdGluZm8gLWxtIC1seG1sMiAgIC1sU00gLWxJQ0UgLWxY cmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lv LTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1s cGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxNYWdpY2tXYW5k IC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4YnVmLTIuMCAt bGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDExIC1scHRocmVhZCAgID4mNSAK Y29uZmlndXJlOjE1NTQ1OiAkPyA9IDAKY29uZmlndXJlOjE1NTQ1OiAuL2NvbmZ0ZXN0CmNvbmZp Z3VyZToxNTU0NTogJD8gPSAwCmNvbmZpZ3VyZToxNTU2MDogcmVzdWx0OiAtbHRpbmZvCmNvbmZp Z3VyZToxNTY4NzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQg LUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNy L2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2Rr LXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIg LUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVu bXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9n dGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsv Mi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAv IC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vz ci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9p bmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAt SS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9p bmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3Iv aW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxtIC1seG1sMiAgIC1sU00gLWxJQ0Ug LWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1s Z2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0 IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxNYWdpY2tX YW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4YnVmLTIu MCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDExIC1scHRocmVhZCAgID4m NSAKY29uZmlndXJlOjE1Njg3OiAkPyA9IDAKY29uZmlndXJlOjE2Mzc0OiBjaGVja2luZyB2YWxn cmluZC92YWxncmluZC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTYzNzQ6IGdjYyAtc3RkPWdudTk5 IC1jICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9p bmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNs dWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1J L3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNs dWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0 aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vz ci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNy L2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVk ZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82 NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91 c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1 ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9m cmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgY29uZnRlc3QuYyA+JjUK Y29uZnRlc3QuYzoyMDI6MzE6IGZhdGFsIGVycm9yOiB2YWxncmluZC92YWxncmluZC5oOiBObyBz dWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8dmFsZ3JpbmQvdmFsZ3JpbmQuaD4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29u ZmlndXJlOjE2Mzc0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTAi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FH RSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgTUFJTF9VU0Vf UE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9f RVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5f Q19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJF QURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJX SU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251L2xpbnV4Igp8 ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwg I2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZp bmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lO Rk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0VYVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUEVSU09OQUxJVFlfTElOVVgz MiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dB SVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9MT05H X0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9EQVRBX1NUQVJUIDEKfCAjZGVmaW5lIERPVUdfTEVBX01BTExPQyAxCnwgI2RlZmluZSBIQVZF X0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QUQgMQp8ICNkZWZpbmUgSEFWRV9YS0IgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAx CnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hT Q1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhB VkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfUlNW RyAxCnwgI2RlZmluZSBIQVZFX0lNQUdFTUFHSUNLIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLRVhQ T1JUSU1BR0VQSVhFTFMgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tNRVJHRUlNQUdFTEFZRVJTIDEK fCAjZGVmaW5lIEhBVkVfR1RLMyAxCnwgI2RlZmluZSBHREtfRElTQUJMRV9ERVBSRUNBVElPTl9X QVJOSU5HUyAxCnwgI2RlZmluZSBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8 ICNkZWZpbmUgVVNFX0dUSyAxCnwgI2RlZmluZSBIQVZFX0dUS19IQU5ETEVfQk9YX05FVyAxCnwg I2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01FTlVfSVRFTV9ORVcgMQp8ICNkZWZpbmUgSEFWRV9H VEtfV0lER0VUX0dFVF9XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX1NFVF9IQVNf V0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0RJQUxPR19HRVRfQUNUSU9OX0FSRUEgMQp8ICNk ZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9TRU5TSVRJVkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtf V0lER0VUX0dFVF9NQVBQRUQgMQp8ICNkZWZpbmUgSEFWRV9HVEtfQURKVVNUTUVOVF9HRVRfUEFH RV9TSVpFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX09SSUVOVEFCTEVfU0VUX09SSUVOVEFUSU9OIDEK fCAjZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19TRVRfSEFTX1JFU0laRV9HUklQIDEKfCAjZGVmaW5l IEhBVkVfR1NFVFRJTkdTIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVf R0ZJTEVOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9U T09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9Y SU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50 ZXIKfCAjZGVmaW5lIEhBVkVfWEZUIDEKfCAjZGVmaW5lIEhBVkVfRlJFRVRZUEUgMQp8ICNkZWZp bmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAx CnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIFBO R19ERVBTVFJVQ1QgLyoqLwp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElG RiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUg SEFWRV9YUlJHRVRPVVRQVVRQUklNQVJZIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUU0NSRUVOUkVT T1VSQ0VTQ1VSUkVOVCAxCnwgI2RlZmluZSBIQVZFX1hSQU5EUiAxCnwgI2RlZmluZSBIQVZFX1hJ TkVSQU1BIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8g MQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVm aW5lIEhBVkVfQUNDRVBUNCAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUg SEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFW RV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVf U1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VO RFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFN RSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERS UyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVS Uk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEK fCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5l IEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZF X0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZT RVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfX19FWEVD VVRBQkxFX1NUQVJUIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX0FMSUdO RURfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEK fCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNF RUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBUIDEKfCAj ZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5l IEhBVkVfUkVTX0lOSVQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3Rk aW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+ CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQu aD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4K fCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwg IyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU UklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9S WV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5n Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlw ZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50 Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5o Pgp8ICNlbmRpZgp8ICNpbmNsdWRlIDx2YWxncmluZC92YWxncmluZC5oPgpjb25maWd1cmU6MTYz NzQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2Mzc0OiBjaGVja2luZyB2YWxncmluZC92YWxncmlu ZC5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNjM3NDogZ2NjIC1FICAgICAtSS91c3IvaW5jbHVkZS9m cmVldHlwZTIgICBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6MTY5OjMxOiBmYXRhbCBlcnJvcjogdmFs Z3JpbmQvdmFsZ3JpbmQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPHZh bGdyaW5kL3ZhbGdyaW5kLmg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbXBp bGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxNjM3NDogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0 LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45 MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJD RSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEK fCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NP VVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lT VEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAj ZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19FWFRfSCAx CnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZp bmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAx CnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwg I2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf RkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERS IDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZM SU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAxCnwgI2RlZmluZSBET1VHX0xFQV9N QUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWEtCIDEKfCAjZGVmaW5l IEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJ TkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFW RV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJ TSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9JTUFHRU1BR0lDSyAxCnwg I2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElNQUdFUElYRUxTIDEKfCAjZGVmaW5lIEhBVkVfTUFH SUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2RlZmluZSBIQVZFX0dUSzMgMQp8ICNkZWZpbmUgR0RL X0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgR0xJQl9ESVNBQkxFX0RF UFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVTRV9HVEsgMQp8ICNkZWZpbmUgSEFWRV9H VEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfVEVBUk9GRl9NRU5VX0lURU1f TkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfV0lORE9XIDEKfCAjZGVmaW5lIEhB VkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19ESUFMT0df R0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfU0VOU0lUSVZF IDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQUEVEIDEKfCAjZGVmaW5lIEhBVkVf R1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAxCnwgI2RlZmluZSBIQVZFX0dUS19PUklFTlRB QkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2RlZmluZSBIQVZFX0dUS19XSU5ET1dfU0VUX0hBU19S RVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZFX0dTRVRUSU5HUyAxCnwgI2RlZmluZSBIQVZFX0dO VVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxFTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05P VElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBIQVZF X1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlh dGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hGVCAxCnwgI2RlZmluZSBI QVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAx CnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBI QVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQU1RSVUNUIC8qKi8KfCAjZGVmaW5lIEhBVkVfWkxJ QiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUg SEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUT1VUUFVUUFJJTUFSWSAxCnwgI2RlZmlu ZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNFU0NVUlJFTlQgMQp8ICNkZWZpbmUgSEFWRV9YUkFO RFIgMQp8ICNkZWZpbmUgSEFWRV9YSU5FUkFNQSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8 ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBN QUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0FDQ0VQVDQgMQp8ICNkZWZpbmUgSEFWRV9H RVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dF VF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBI QVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVf U0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERS SU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1F UiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAj ZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwg I2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9GUkVFSUZBRERSUyAxCnwg I2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFW RV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VU R1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJB VyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAx CnwgI2RlZmluZSBIQVZFX19fRVhFQ1VUQUJMRV9TVEFSVCAxCnwgI2RlZmluZSBIQVZFX0xPRzIg MQp8ICNkZWZpbmUgSEFWRV9BTElHTkVEX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEK fCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5J VCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmlu ZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAvKiBlbmQgY29uZmRlZnMu aC4gICovCnwgI2luY2x1ZGUgPHZhbGdyaW5kL3ZhbGdyaW5kLmg+CmNvbmZpZ3VyZToxNjM3NDog cmVzdWx0OiBubwpjb25maWd1cmU6MTYzNzQ6IGNoZWNraW5nIGZvciB2YWxncmluZC92YWxncmlu ZC5oCmNvbmZpZ3VyZToxNjM3NDogcmVzdWx0OiBubwpjb25maWd1cmU6MTYzOTE6IGNoZWNraW5n IGZvciB0enNldApjb25maWd1cmU6MTYzOTE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAt ZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRl L2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1J L3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9p bmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2Zy ZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQg LUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNs dWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1 ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGst cGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51 eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5j bHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGli cG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlw ZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5jIC1sbSAtbHht bDIgICAtbFNNIC1sSUNFIC1sWHJlbmRlciAtbFhmdCAgIC1sZ251dGxzICAgLWxndGstMyAtbGdk ay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4w IC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGli LTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4w IC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgx MSAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxNjM5MTogJD8gPSAwCmNvbmZpZ3VyZToxNjM5 MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2MzkxOiBjaGVja2luZyBmb3IgcmVhZGxpbmthdApj b25maWd1cmU6MTYzOTE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhy ZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1J L3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRl L2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBu ZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1m b3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1 ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTIt YXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgt Mi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAt SS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0y LjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlw ZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91 c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkv dXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5jIC1sbSAtbHhtbDIgICAtbFNNIC1s SUNFIC1sWHJlbmRlciAtbFhmdCAgIC1sZ251dGxzICAgLWxndGstMyAtbGdkay0zIC1sYXRrLTEu MCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29i amVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFn aWNrV2FuZCAtbE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1 Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQg ICA+JjUgCmNvbmZpZ3VyZToxNjM5MTogJD8gPSAwCmNvbmZpZ3VyZToxNjM5MTogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjE2MzkxOiBjaGVja2luZyBmb3IgZmFjY2Vzc2F0CmNvbmZpZ3VyZToxNjM5 MTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2lu Y2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZf NjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0y LjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2lu Y2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNy L2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1J L3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vz ci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9p bmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRl L2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1J L3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5j bHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3Ax MS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9m cmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxtIC1seG1sMiAgIC1sU00gLWxJQ0UgLWxYcmVuZGVy IC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAt bHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28t MS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxNYWdpY2tXYW5kIC1sTWFn aWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJv IC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDExIC1scHRocmVhZCAgID4mNSAKY29uZmln dXJlOjE2MzkxOiAkPyA9IDAKY29uZmlndXJlOjE2MzkxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTYzOTE6IGNoZWNraW5nIGZvciBmY250bApjb25maWd1cmU6MTYzOTE6IGdjYyAtc3RkPWdudTk5 IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4w IC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGli LTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRl L2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1J L3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFn aWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGst MS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0x LjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91 c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3Iv bGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJm YnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkv dXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3Iv aW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25m dGVzdC5jIC1sbSAtbHhtbDIgICAtbFNNIC1sSUNFIC1sWHJlbmRlciAtbFhmdCAgIC1sZ251dGxz ICAgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAt bGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29i amVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUgICAtbHJzdmct MiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1s Z2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxNjM5MTogJD8gPSAw CmNvbmZpZ3VyZToxNjM5MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2MzkxOiBjaGVja2luZyBm b3IgZmRvcGVuZGlyCmNvbmZpZ3VyZToxNjM5MTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3Qg IC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1 ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUg LUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNy L2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUv ZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVh ZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2lu Y2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5j bHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dk ay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxp bnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9p bmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9s aWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0 eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxtIC1s eG1sMiAgIC1sU00gLWxJQ0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1s Z2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0y LjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGds aWItMi4wICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0y LjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1s WDExIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE2MzkxOiAkPyA9IDAKY29uZmlndXJlOjE2 MzkxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTYzOTE6IGNoZWNraW5nIGZvciBmc3RhdGF0CmNv bmZpZ3VyZToxNjM5MTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJl YWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkv dXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUv Z2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5n MTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZv cGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVk ZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1h dGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0y LjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1J L3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIu MC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBl MiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vz ci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91 c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxtIC1seG1sMiAgIC1sU00gLWxJ Q0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4w IC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2Jq ZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxNYWdp Y2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4YnVm LTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDExIC1scHRocmVhZCAg ID4mNSAKY29uZmlndXJlOjE2MzkxOiAkPyA9IDAKY29uZmlndXJlOjE2MzkxOiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTYzOTE6IGNoZWNraW5nIGZvciBmc3luYwpjb25maWd1cmU6MTYzOTE6IGdj YyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRl L2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxp bnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1J L3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRl L3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNs dWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3Iv aW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5j bHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVk ZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGli LTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3Iv aW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUv cGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0 LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5 cGUyICAgICBjb25mdGVzdC5jIC1sbSAtbHhtbDIgICAtbFNNIC1sSUNFIC1sWHJlbmRlciAtbFhm dCAgIC1sZ251dGxzICAgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5n b2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAt bGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0Nv cmUgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdv YmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZTox NjM5MTogJD8gPSAwCmNvbmZpZ3VyZToxNjM5MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2Mzkx OiBjaGVja2luZyBmb3IgZ2V0dGltZW9mZGF5CmNvbmZpZ3VyZToxNjM5MTogZ2NjIC1zdGQ9Z251 OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0y LjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2ds aWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1 ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEg LUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VN YWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0 ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3Bhbmdv LTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1J L3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vz ci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hh cmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAt SS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vz ci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNv bmZ0ZXN0LmMgLWxtIC1seG1sMiAgIC1sU00gLWxJQ0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0 bHMgICAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4w IC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxn b2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2 Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAg LWxnbGliLTIuMCAgIC1sWDExIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE2MzkxOiAkPyA9 IDAKY29uZmlndXJlOjE2MzkxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTYzOTE6IGNoZWNraW5n IGZvciBuYW5vdGltZQpjb25maWd1cmU6MTYzOTE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNs dWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRl IC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vz ci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRl L2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJl YWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9p bmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2lu Y2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9n ZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1s aW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3Iv aW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUv bGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVl dHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5jIC1sbSAt bHhtbDIgICAtbFNNIC1sSUNFIC1sWHJlbmRlciAtbFhmdCAgIC1sZ251dGxzICAgLWxndGstMyAt bGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYt Mi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxn bGliLTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0gLWxnaW8t Mi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAt bFgxMSAtbHB0aHJlYWQgICA+JjUgCi90bXAvY2N4TnN6WmMubzogSW4gZnVuY3Rpb24gYG1haW4n OgovaG9tZS90dWhkby9Eb3dubG9hZHMvZW1hY3MtMjQuMy45MC9jb25mdGVzdC5jOjIxMTogdW5k ZWZpbmVkIHJlZmVyZW5jZSB0byBgbmFub3RpbWUnCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJu ZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTYzOTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4z LjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJM ICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTAi CnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwg I2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VS Q0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RF TV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8 ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNk ZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZM QUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAx CnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElN SVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFM TE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBI QVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5H IDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVf WDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0g MQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNk ZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01BR0lD S01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdES19E SVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBS RUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RL X0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVNX05F VyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZF X0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dF VF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAx CnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZFX0dU S19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJM RV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVT SVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVU TFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJ RlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9Y SU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRl Q2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUgSEFW RV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8 ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFW RV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmluZSBIQVZFX1pMSUIg MQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhB VkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkgMQp8ICNkZWZpbmUg SEFWRV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5lIEhBVkVfWFJBTkRS IDEKfCAjZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAj ZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJ TF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFUFQ0IDEKfCAjZGVmaW5lIEhBVkVfR0VU SE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRf Q1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFW RV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NF VExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklO Rk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIg MQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNk ZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVm aW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVf R0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdS RU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcg MQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8 ICNkZWZpbmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEK fCAjZGVmaW5lIEhBVkVfQUxJR05FRF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwg I2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQg MQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVm aW5lIEhBVkVfR0VUUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUg VEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VU IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAx CnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRkRPUEVORElSIDEKfCAjZGVm aW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVf R0VUVElNRU9GREFZIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIG5hbm90 aW1lIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMg bmFub3RpbWUuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVz IGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBuYW5vdGltZSBpbm5vY3VvdXNfbmFub3RpbWUK fCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVs bHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgbmFu b3RpbWUgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlm IF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4g b24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBp bmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlm CnwgCnwgI3VuZGVmIG5hbm90aW1lCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBw cm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWln aHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBp dHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19j cGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBuYW5vdGltZSAoKTsKfCAvKiBU aGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBs ZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMg YXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0 aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9uYW5v dGltZSB8fCBkZWZpbmVkIF9fc3R1Yl9fX25hbm90aW1lCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAK fCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBuYW5vdGltZSAoKTsKfCAgIDsKfCAgIHJldHVy biAwOwp8IH0KY29uZmlndXJlOjE2MzkxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjM5MTogY2hl Y2tpbmcgZm9yIGxzdGF0CmNvbmZpZ3VyZToxNjM5MTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2lu Y2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1 ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkv dXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1 ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRo cmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNy L2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3Iv aW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRl L2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0 LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vz ci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVk ZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2Zy ZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxt IC1seG1sMiAgIC1sU00gLWxJQ0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0z IC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1 Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAt bGdsaWItMi4wICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdp by0yLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAg IC1sWDExIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE2MzkxOiAkPyA9IDAKY29uZmlndXJl OjE2MzkxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTYzOTE6IGNoZWNraW5nIGZvciBta29zdGVt cApjb25maWd1cmU6MTYzOTE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1w dGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4w IC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNs dWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xp YnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAg IC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2lu Y2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNw aTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVu aXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIu MCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xp Yi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVl dHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAt SS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAg LUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5jIC1sbSAtbHhtbDIgICAtbFNN IC1sSUNFIC1sWHJlbmRlciAtbFhmdCAgIC1sZ251dGxzICAgLWxndGstMyAtbGdkay0zIC1sYXRr LTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8t Z29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1s TWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3Bp eGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0aHJl YWQgICA+JjUgCmNvbmZpZ3VyZToxNjM5MTogJD8gPSAwCmNvbmZpZ3VyZToxNjM5MTogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjE2MzkxOiBjaGVja2luZyBmb3IgcGlwZTIKY29uZmlndXJlOjE2Mzkx OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5j bHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82 NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIu MCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5j bHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91c3Iv aW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkv dXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNy L2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2lu Y2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUv Z2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkv dXNyL2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNs dWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1ZGUvcDEx LWtpdC0xICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNsdWRlL2Zy ZWV0eXBlMiAgICAgY29uZnRlc3QuYyAtbG0gLWx4bWwyICAgLWxTTSAtbElDRSAtbFhyZW5kZXIg LWxYZnQgICAtbGdudXRscyAgIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1s cGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0x LjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dhbmQgLWxNYWdp Y2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8g LWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1IApjb25maWd1 cmU6MTYzOTE6ICQ/ID0gMApjb25maWd1cmU6MTYzOTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox NjM5MTogY2hlY2tpbmcgZm9yIHBzZWxlY3QKY29uZmlndXJlOjE2MzkxOiBnY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIu MCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xp Yi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVk ZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAt SS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1h Z2ljayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRr LTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28t MS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkv dXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNy L2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFy ZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1J L3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1ZGUvcDExLWtpdC0xICAgLUkvdXNy L2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgY29u ZnRlc3QuYyAtbG0gLWx4bWwyICAgLWxTTSAtbElDRSAtbFhyZW5kZXIgLWxYZnQgICAtbGdudXRs cyAgIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAg LWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdv YmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3Zn LTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAt bGdsaWItMi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTYzOTE6ICQ/ID0g MApjb25maWd1cmU6MTYzOTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjM5MTogY2hlY2tpbmcg Zm9yIHB0aHJlYWRfc2lnbWFzawpjb25maWd1cmU6MTYzOTE6IGdjYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vz ci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9p bmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJv IC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9p bmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAg LXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1J L3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkv dXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5j bHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4 Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAt SS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2lu Y2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVk ZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5j IC1sbSAtbHhtbDIgICAtbFNNIC1sSUNFIC1sWHJlbmRlciAtbFhmdCAgIC1sZ251dGxzICAgLWxn dGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19w aXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0y LjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0g LWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0y LjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxNjM5MTogJD8gPSAwCmNvbmZp Z3VyZToxNjM5MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2MzkxOiBjaGVja2luZyBmb3IgZmNo bW9kCmNvbmZpZ3VyZToxNjM5MTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIg LXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0y LjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2lu Y2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUv bGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUy ICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3Iv aW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQt c3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8t dW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYt Mi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9n bGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2Zy ZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAg IC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAg ICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxtIC1seG1sMiAgIC1s U00gLWxJQ0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2RrLTMgLWxh dGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWly by1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAg LWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtf cGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDExIC1scHRo cmVhZCAgID4mNSAKY29uZmlndXJlOjE2MzkxOiAkPyA9IDAKY29uZmlndXJlOjE2MzkxOiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTYzOTE6IGNoZWNraW5nIGZvciByZWFkbGluawpjb25maWd1cmU6 MTYzOTE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vz ci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIv eDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhi dWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vz ci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1J L3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMu MCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAt SS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91 c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5j bHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVk ZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNy L2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVk ZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1 ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5jIC1sbSAtbHhtbDIgICAtbFNNIC1sSUNFIC1sWHJl bmRlciAtbFhmdCAgIC1sZ251dGxzICAgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0y LjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBh bmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2FuZCAt bE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxj YWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNv bmZpZ3VyZToxNjM5MTogJD8gPSAwCmNvbmZpZ3VyZToxNjM5MTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjE2MzkxOiBjaGVja2luZyBmb3Igc3RydG9pbWF4CmNvbmZpZ3VyZToxNjM5MTogZ2NjIC1z dGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGli cnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgt Z251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNy L2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4 bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUv SW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNs dWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRl L3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2Nh aXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4w IC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNs dWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXht YW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAg IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIg ICAgIGNvbmZ0ZXN0LmMgLWxtIC1seG1sMiAgIC1sU00gLWxJQ0UgLWxYcmVuZGVyIC1sWGZ0ICAg LWxnbnV0bHMgICAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fp cm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fp cm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAg IC1scnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVj dC0yLjAgLWxnbGliLTIuMCAgIC1sWDExIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE2Mzkx OiAkPyA9IDAKY29uZmlndXJlOjE2MzkxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTYzOTE6IGNo ZWNraW5nIGZvciBzdHJ0b3VtYXgKY29uZmlndXJlOjE2MzkxOiBnY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91 c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAv aW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWly byAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3Iv aW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAg IC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAt SS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1J L3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2lu Y2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94 ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enog LUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9p bmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1ZGUvcDExLWtpdC0xICAgLUkvdXNyL2luY2x1 ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgY29uZnRlc3Qu YyAtbG0gLWx4bWwyICAgLWxTTSAtbElDRSAtbFhyZW5kZXIgLWxYZnQgICAtbGdudXRscyAgIC1s Z3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtf cGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3Qt Mi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxt IC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWIt Mi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTYzOTE6ICQ/ID0gMApjb25m aWd1cmU6MTYzOTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjM5MTogY2hlY2tpbmcgZm9yIHN5 bWxpbmsKY29uZmlndXJlOjE2MzkxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1P MiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGli LTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3Iv aW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVk ZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlw ZTIgICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vz ci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9h dC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dp by11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1 Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251 L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUv ZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEy ICAgLUkvdXNyL2luY2x1ZGUvcDExLWtpdC0xICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAg ICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgY29uZnRlc3QuYyAtbG0gLWx4bWwyICAg LWxTTSAtbElDRSAtbFhyZW5kZXIgLWxYZnQgICAtbGdudXRscyAgIC1sZ3RrLTMgLWxnZGstMyAt bGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNh aXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAg ICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdk a19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxw dGhyZWFkICAgPiY1IApjb25maWd1cmU6MTYzOTE6ICQ/ID0gMApjb25maWd1cmU6MTYzOTE6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToxNjM5MTogY2hlY2tpbmcgZm9yIGxvY2FsdGltZV9yCmNvbmZp Z3VyZToxNjM5MTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQg LUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNy L2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2Rr LXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIg LUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVu bXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9n dGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsv Mi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAv IC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vz ci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9p bmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAt SS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9p bmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3Iv aW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxtIC1seG1sMiAgIC1sU00gLWxJQ0Ug LWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1s Z2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0 IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxNYWdpY2tX YW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4YnVmLTIu MCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDExIC1scHRocmVhZCAgID4m NSAKY29uZmlndXJlOjE2MzkxOiAkPyA9IDAKY29uZmlndXJlOjE2MzkxOiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTYzOTE6IGNoZWNraW5nIGZvciBmdXRpbWVzCmNvbmZpZ3VyZToxNjM5MTogZ2Nj IC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUv bGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGlu dXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkv dXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUv cGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1 ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9p bmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNs dWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRl L2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWIt Mi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9p bmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9w aXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQt MSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlw ZTIgICAgIGNvbmZ0ZXN0LmMgLWxtIC1seG1sMiAgIC1sU00gLWxJQ0UgLWxYcmVuZGVyIC1sWGZ0 ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdv Y2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1s Y2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29y ZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29i amVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDExIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE2 MzkxOiAkPyA9IDAKY29uZmlndXJlOjE2MzkxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTYzOTE6 IGNoZWNraW5nIGZvciBmdXRpbWVzYXQKY29uZmlndXJlOjE2MzkxOiBnY2MgLXN0ZD1nbnU5OSAt byBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAt SS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0y LjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9j YWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91 c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2lj ayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEu MCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4w IC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNy L2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xp Yi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1 enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vz ci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1ZGUvcDExLWtpdC0xICAgLUkvdXNyL2lu Y2x1ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgY29uZnRl c3QuYyAtbG0gLWx4bWwyICAgLWxTTSAtbElDRSAtbFhyZW5kZXIgLWxYZnQgICAtbGdudXRscyAg IC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxn ZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmpl Y3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIg LWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGds aWItMi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTYzOTE6ICQ/ID0gMApj b25maWd1cmU6MTYzOTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjM5MTogY2hlY2tpbmcgZm9y IGZ1dGltZW5zCmNvbmZpZ3VyZToxNjM5MTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1n MyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUv Z2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkv dXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2lu Y2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJl ZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAt SS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1 ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVk ZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1w aXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4 LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNs dWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJw bmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBl MiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxtIC1seG1s MiAgIC1sU00gLWxJQ0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2Rr LTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAg LWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWIt Mi4wICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAg LWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDEx IC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjE2MzkxOiAkPyA9IDAKY29uZmlndXJlOjE2Mzkx OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTYzOTE6IGNoZWNraW5nIGZvciB1dGltZW5zYXQKY29u ZmlndXJlOjE2MzkxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVh ZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91 c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9n ZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcx MiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtZm9w ZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRl L2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0 ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIu MC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkv dXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4w L2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUy IC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNy L2luY2x1ZGUvcDExLWtpdC0xICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vz ci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgY29uZnRlc3QuYyAtbG0gLWx4bWwyICAgLWxTTSAtbElD RSAtbFhyZW5kZXIgLWxYZnQgICAtbGdudXRscyAgIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAg LWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmpl Y3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lj a1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYt Mi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhyZWFkICAg PiY1IApjb25maWd1cmU6MTYzOTE6ICQ/ID0gMApjb25maWd1cmU6MTYzOTE6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxNjM5MTogY2hlY2tpbmcgZm9yIGx1dGltZXMKY29uZmlndXJlOjE2MzkxOiBn Y2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVk ZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1s aW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAt SS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVk ZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91c3IvaW5j bHVkZS9JbWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNy L2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2lu Y2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1 ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xp Yi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNy L2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRl L3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1ZGUvcDExLWtp dC0xICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0 eXBlMiAgICAgY29uZnRlc3QuYyAtbG0gLWx4bWwyICAgLWxTTSAtbElDRSAtbFhyZW5kZXIgLWxY ZnQgICAtbGdudXRscyAgIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFu Z29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAg LWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tD b3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxn b2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6 MTYzOTE6ICQ/ID0gMApjb25maWd1cmU6MTYzOTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjM5 MTogY2hlY2tpbmcgZm9yIGdldGR0YWJsZXNpemUKY29uZmlndXJlOjE2MzkxOiBnY2MgLXN0ZD1n bnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3Zn LTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUv Z2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5j bHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4t MSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFn ZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUv YXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFu Z28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8g LUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkv dXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUv aGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0x IC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1ZGUvcDExLWtpdC0xICAgLUkv dXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAg Y29uZnRlc3QuYyAtbG0gLWx4bWwyICAgLWxTTSAtbElDRSAtbFhyZW5kZXIgLWxYZnQgICAtbGdu dXRscyAgIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0x LjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAt bGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxy c3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIu MCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTYzOTE6ICQ/ ID0gMApjb25maWd1cmU6MTYzOTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjM5MTogY2hlY2tp bmcgZm9yIHNlY3VyZV9nZXRlbnYKY29uZmlndXJlOjE2MzkxOiBnY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91 c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAv aW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWly byAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3Iv aW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAg IC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAt SS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1J L3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2lu Y2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94 ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enog LUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9p bmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1ZGUvcDExLWtpdC0xICAgLUkvdXNyL2luY2x1 ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgY29uZnRlc3Qu YyAtbG0gLWx4bWwyICAgLWxTTSAtbElDRSAtbFhyZW5kZXIgLWxYZnQgICAtbGdudXRscyAgIC1s Z3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtf cGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3Qt Mi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxt IC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWIt Mi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MTYzOTE6ICQ/ID0gMApjb25m aWd1cmU6MTYzOTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjQwMzogY2hlY2tpbmcgd2hldGhl ciBsb2NhbHRpbWUgY2FjaGVzIFRaCmNvbmZpZ3VyZToxNjQzNzogZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkv dXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4w L2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fp cm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNy L2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sg ICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAg LUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAt SS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9p bmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIv eDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6 IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3Iv aW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNs dWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0 LmMgLWxtIC1seG1sMiAgIC1sU00gLWxJQ0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAt bGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2Rr X3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0 LTIuMCAtbGdsaWItMi4wICAgLWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1s bSAtbGdpby0yLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGli LTIuMCAgIC1sWDExIC1scHRocmVhZCAgID4mNSAKY29uZnRlc3QuYzoxOTg6MTogd2FybmluZzog cmV0dXJuIHR5cGUgZGVmYXVsdHMgdG8gJ2ludCcgW2VuYWJsZWQgYnkgZGVmYXVsdF0KIG1haW4o KQogXgpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjAyOjM6IHdh cm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdwdXRlbnYnIFstV2ltcGxp Y2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBpZiAocHV0ZW52IChUWl9HTVQwKSAhPSAwKQog ICBeCmNvbmZ0ZXN0LmM6MjAzOjU6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1 bmN0aW9uICdleGl0JyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAgICBleGl0 ICgxKTsKICAgICBeCmNvbmZ0ZXN0LmM6MjAzOjU6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBs aWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAnZXhpdCcgW2VuYWJsZWQgYnkg ZGVmYXVsdF0KY29uZnRlc3QuYzoyMDU6Mzogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24g b2YgZnVuY3Rpb24gJ3Vuc2V0ZW52JyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0K ICAgdW5zZXRlbnYoIlRaIik7CiAgIF4KY29uZnRlc3QuYzoyMDg6NTogd2FybmluZzogaW5jb21w YXRpYmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWluIGZ1bmN0aW9uICdleGl0JyBb ZW5hYmxlZCBieSBkZWZhdWx0XQogICAgIGV4aXQgKDEpOwogICAgIF4KY29uZnRlc3QuYzoyMTA6 NTogd2FybmluZzogaW5jb21wYXRpYmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWlu IGZ1bmN0aW9uICdleGl0JyBbZW5hYmxlZCBieSBkZWZhdWx0XQogICAgIGV4aXQgKDEpOwogICAg IF4KY29uZnRlc3QuYzoyMTM6NTogd2FybmluZzogaW5jb21wYXRpYmxlIGltcGxpY2l0IGRlY2xh cmF0aW9uIG9mIGJ1aWx0LWluIGZ1bmN0aW9uICdleGl0JyBbZW5hYmxlZCBieSBkZWZhdWx0XQog ICAgIGV4aXQgKDEpOwogICAgIF4KY29uZnRlc3QuYzoyMTQ6Mzogd2FybmluZzogaW5jb21wYXRp YmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWluIGZ1bmN0aW9uICdleGl0JyBbZW5h YmxlZCBieSBkZWZhdWx0XQogICBleGl0ICgwKTsKICAgXgpjb25maWd1cmU6MTY0Mzc6ICQ/ID0g MApjb25maWd1cmU6MTY0Mzc6IC4vY29uZnRlc3QKY29uZmlndXJlOjE2NDM3OiAkPyA9IDAKY29u ZmlndXJlOjE2NDUyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjQ2MTogY2hlY2tpbmcgZm9yIHNv Y2tldApjb25maWd1cmU6MTY0NjE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8y IC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWIt Mi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9p bmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRl L2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBl MiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNy L2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0 LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lv LXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVm LTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUv Z2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9m cmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIg ICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAg ICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5jIC1sbSAtbHhtbDIgICAt bFNNIC1sSUNFIC1sWHJlbmRlciAtbFhmdCAgIC1sZ251dGxzICAgLWxndGstMyAtbGdkay0zIC1s YXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fp cm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAg IC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2Rr X3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0 aHJlYWQgICA+JjUgCmNvbmZpZ3VyZToxNjQ2MTogJD8gPSAwCmNvbmZpZ3VyZToxNjQ2MTogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjE2NDY5OiBjaGVja2luZyBuZXRpbmV0L2luLmggdXNhYmlsaXR5 CmNvbmZpZ3VyZToxNjQ2OTogZ2NjIC1zdGQ9Z251OTkgLWMgIC1nMyAtTzIgLXB0aHJlYWQgLUkv dXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xp Yi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBp eGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkv dXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAg LUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGst My4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4w IC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1J L3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9p bmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNs dWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91 c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNs dWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5j bHVkZS9mcmVldHlwZTIgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTY0Njk6ICQ/ID0gMApj b25maWd1cmU6MTY0Njk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjQ2OTogY2hlY2tpbmcgbmV0 aW5ldC9pbi5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNjQ2OTogZ2NjIC1FICAgICAtSS91c3IvaW5j bHVkZS9mcmVldHlwZTIgICBjb25mdGVzdC5jCmNvbmZpZ3VyZToxNjQ2OTogJD8gPSAwCmNvbmZp Z3VyZToxNjQ2OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2NDY5OiBjaGVja2luZyBmb3IgbmV0 aW5ldC9pbi5oCmNvbmZpZ3VyZToxNjQ2OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2NDc5OiBj aGVja2luZyBhcnBhL2luZXQuaCB1c2FiaWxpdHkKY29uZmlndXJlOjE2NDc5OiBnY2MgLXN0ZD1n bnU5OSAtYyAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91 c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAv aW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWly byAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3Iv aW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAg IC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAt SS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1J L3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2lu Y2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94 ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enog LUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9p bmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1ZGUvcDExLWtpdC0xICAgLUkvdXNyL2luY2x1 ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZToxNjQ3OTogJD8gPSAwCmNvbmZpZ3VyZToxNjQ3OTogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjE2NDc5OiBjaGVja2luZyBhcnBhL2luZXQuaCBwcmVzZW5jZQpjb25maWd1cmU6 MTY0Nzk6IGdjYyAtRSAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgY29uZnRlc3QuYwpj b25maWd1cmU6MTY0Nzk6ICQ/ID0gMApjb25maWd1cmU6MTY0Nzk6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxNjQ3OTogY2hlY2tpbmcgZm9yIGFycGEvaW5ldC5oCmNvbmZpZ3VyZToxNjQ3OTogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjE2NDk5OiBjaGVja2luZyBmb3IgcGlkX3QKY29uZmlndXJlOjE2 NDk5OiBnY2MgLXN0ZD1nbnU5OSAtYyAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9s aWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51 eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91 c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9w aXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAtSS91c3IvaW5jbHVk ZS9JbWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2lu Y2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1 ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUv Y2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0y LjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2lu Y2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3Bp eG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1ZGUvcDExLWtpdC0x ICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBl MiAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNjQ5OTogJD8gPSAwCmNvbmZpZ3VyZToxNjQ5 OTogZ2NjIC1zdGQ9Z251OTkgLWMgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGli cnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgt Z251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNy L2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4 bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUv SW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNs dWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRl L3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2Nh aXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4w IC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNs dWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXht YW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAg IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIg ICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0 LmM6MjMyOjIwOiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJyknIHRva2VuCiBp ZiAoc2l6ZW9mICgocGlkX3QpKSkKICAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToxNjQ5 OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8 ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNf XyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEK fCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElD UyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9C SVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhB VkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFW RV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRN UF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8 ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJT19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZp bmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TWVNfU0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFS VCAxCnwgI2RlZmluZSBET1VHX0xFQV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVm aW5lIEhBVkVfWEtCIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUg SEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVS T0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAx CnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZp bmUgSEFWRV9JTUFHRU1BR0lDSyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElNQUdFUElY RUxTIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2RlZmluZSBI QVZFX0dUSzMgMQp8ICNkZWZpbmUgR0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8 ICNkZWZpbmUgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVT RV9HVEsgMQp8ICNkZWZpbmUgSEFWRV9HVEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFW RV9HVEtfVEVBUk9GRl9NRU5VX0lURU1fTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9H RVRfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRPVyAxCnwg I2RlZmluZSBIQVZFX0dUS19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVf R1RLX1dJREdFVF9HRVRfU0VOU0lUSVZFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRf TUFQUEVEIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAxCnwg I2RlZmluZSBIQVZFX0dUS19PUklFTlRBQkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2RlZmluZSBI QVZFX0dUS19XSU5ET1dfU0VUX0hBU19SRVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZFX0dTRVRU SU5HUyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxFTk9USUZZ IDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JP TExfQkFSUyAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVm aW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmlu ZSBIQVZFX1hGVCAxCnwgI2RlZmluZSBIQVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBN IDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUg SEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQU1RSVUNU IC8qKi8KfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZp bmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VU T1VUUFVUUFJJTUFSWSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNFU0NVUlJF TlQgMQp8ICNkZWZpbmUgSEFWRV9YUkFORFIgMQp8ICNkZWZpbmUgSEFWRV9YSU5FUkFNQSAxCnwg I2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5l IEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0FD Q0VQVDQgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJV U0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhB VkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJ TUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04g MQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAx CnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2Rl ZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZp bmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZp bmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2Rl ZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBI QVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBX RU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAx CnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8 ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX19fRVhFQ1VUQUJMRV9TVEFS VCAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9BTElHTkVEX0FMTE9DIDEK fCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBI QVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2Rl ZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQVCAxCnwgI2RlZmluZSBIQVZF X1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19J TklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEK fCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZp bmUgSEFWRV9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhB VkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9M U1RBVCAxCnwgI2RlZmluZSBIQVZFX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8 ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEK fCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZp bmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUg SEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFW RV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FU0FUIDEKfCAjZGVmaW5lIEhBVkVfRlVU SU1FTlMgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVT IDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFQ1VSRV9H RVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMg aW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8 ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwg IyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBp ZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMg JiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRp Zgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19I CnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNf SAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRf SAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gK fCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYg KHNpemVvZiAoKHBpZF90KSkpCnwgCSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8 IH0KY29uZmlndXJlOjE2NDk5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTY1MTI6IGNoZWNraW5n IHZmb3JrLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNjUxMjogZ2NjIC1zdGQ9Z251OTkgLWMgIC1n MyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUv Z2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkv dXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2lu Y2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJl ZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAt SS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1 ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVk ZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1w aXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4 LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNs dWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJw bmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBl MiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICBjb25mdGVzdC5jID4mNQpjb25mdGVz dC5jOjIyOToxOTogZmF0YWwgZXJyb3I6IHZmb3JrLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv cnkKICNpbmNsdWRlIDx2Zm9yay5oPgogICAgICAgICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0 ZXJtaW5hdGVkLgpjb25maWd1cmU6MTY1MTI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkwIgp8 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwg I2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTAiCnwgI2Rl ZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmlu ZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBF ICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBI QVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q V0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZp bmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJT T05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVf V0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZp bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUg SEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2Rl ZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAx CnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9DIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBIQVZFX1hS TVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAj ZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYg MQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNk ZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZpbmUg SEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS01FUkdF SU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdES19ESVNBQkxF X0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElP Tl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hBTkRM RV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVNX05FVyAxCnwg I2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19X SURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dFVF9BQ1RJ T05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAxCnwgI2Rl ZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZFX0dUS19BREpV U1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9TRVRf T1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpFX0dS SVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8 ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8 ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8 ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJh Y2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUgSEFWRV9GUkVF VFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZp bmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcg MQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNk ZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfWF9T TSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkgMQp8ICNkZWZpbmUgSEFWRV9Y UlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5lIEhBVkVfWFJBTkRSIDEKfCAj ZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5l IEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0Vf RkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFUFQ0IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVO VF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxF Q1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FM RSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8 ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNk ZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBI QVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUg SEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhB VkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdF TlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEK fCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNk ZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZp bmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVm aW5lIEhBVkVfQUxJR05FRF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmlu ZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNk ZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhB VkVfR0VUUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlO Rk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAj ZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2Rl ZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRkRPUEVORElSIDEKfCAjZGVmaW5lIEhB VkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElN RU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9NS09TVEVNUCAx CnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmlu ZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhB VkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xP Q0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0ZVVElN RVNBVCAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRU5TIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FU IDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUg MQp8ICNkZWZpbmUgSEFWRV9TRUNVUkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NL RVRTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lm ZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlm CnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRl IDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMg aWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGlu Y2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYK fCAjaW5jbHVkZSA8dmZvcmsuaD4KY29uZmlndXJlOjE2NTEyOiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToxNjUxMjogY2hlY2tpbmcgdmZvcmsuaCBwcmVzZW5jZQpjb25maWd1cmU6MTY1MTI6IGdjYyAt RSAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjE5 NjoxOTogZmF0YWwgZXJyb3I6IHZmb3JrLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNp bmNsdWRlIDx2Zm9yay5oPgogICAgICAgICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5h dGVkLgpjb25maWd1cmU6MTY1MTI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi MjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkwIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmlu ZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBN QUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9T SVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZp bmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUv bGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NP VU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAx CnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFW RV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9X Q0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJTT05BTElU WV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9T WVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFW RV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9J RkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FE QUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBI QVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2Rl ZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9DIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERB VEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5l IEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNk ZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUg SEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZpbmUgSEFWRV9N QUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS01FUkdFSU1BR0VM QVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdES19ESVNBQkxFX0RFUFJF Q0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJO SU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hBTkRMRV9CT1hf TkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVNX05FVyAxCnwgI2RlZmlu ZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRf U0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dFVF9BQ1RJT05fQVJF QSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAxCnwgI2RlZmluZSBI QVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZFX0dUS19BREpVU1RNRU5U X0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5U QVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpFX0dSSVAgMQp8 ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZp bmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZp bmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZp bmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJn NiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUgSEFWRV9GUkVFVFlQRSAx CnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFW RV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNk ZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUg SEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwg I2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkgMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRT Q1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5lIEhBVkVfWFJBTkRSIDEKfCAjZGVmaW5l IEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVf SF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sg MQp8ICNkZWZpbmUgSEFWRV9BQ0NFUFQ0IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJf TkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwg I2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZp bmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUg SEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dF VFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9H QUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VU REVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8 ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVm aW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUg SEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFW RV9fX0VYRUNVVEFCTEVfU1RBUlQgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhB VkVfQUxJR05FRF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZF X1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUg SEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfR0VU UFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8 ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5l IEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBI QVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRkRPUEVORElSIDEKfCAjZGVmaW5lIEhBVkVfRlNU QVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZ IDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9NS09TVEVNUCAxCnwgI2Rl ZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZF X1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RS VE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElN RV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVNBVCAx CnwgI2RlZmluZSBIQVZFX0ZVVElNRU5TIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAj ZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9TRUNVUkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHZmb3JrLmg+CmNvbmZpZ3VyZTox NjUxMjogcmVzdWx0OiBubwpjb25maWd1cmU6MTY1MTI6IGNoZWNraW5nIGZvciB2Zm9yay5oCmNv bmZpZ3VyZToxNjUxMjogcmVzdWx0OiBubwpjb25maWd1cmU6MTY1MjU6IGNoZWNraW5nIGZvciBm b3JrCmNvbmZpZ3VyZToxNjUyNTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIg LXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0y LjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2lu Y2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUv bGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUy ICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3Iv aW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQt c3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8t dW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYt Mi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9n bGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2Zy ZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAg IC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAg ICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgIGNvbmZ0ZXN0LmMgLWxtIC1seG1sMiAgIC1s U00gLWxJQ0UgLWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2RrLTMgLWxh dGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWly by1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAg LWxNYWdpY2tXYW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtf cGl4YnVmLTIuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDExIC1scHRo cmVhZCAgID4mNSAKY29uZnRlc3QuYzoyMTk6Njogd2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMg Zm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdmb3JrJyBbZW5hYmxlZCBieSBkZWZhdWx0XQogY2hhciBm b3JrICgpOwogICAgICBeCmNvbmZpZ3VyZToxNjUyNTogJD8gPSAwCmNvbmZpZ3VyZToxNjUyNTog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2NTI1OiBjaGVja2luZyBmb3IgdmZvcmsKY29uZmlndXJl OjE2NTI1OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91 c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGli L3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4 YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91 c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtZm9wZW5tcCAt SS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0z LjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAg LUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkv dXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2lu Y2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1 ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vz ci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1 ZGUvcDExLWtpdC0xICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNs dWRlL2ZyZWV0eXBlMiAgICAgY29uZnRlc3QuYyAtbG0gLWx4bWwyICAgLWxTTSAtbElDRSAtbFhy ZW5kZXIgLWxYZnQgICAtbGdudXRscyAgIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8t Mi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxw YW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbE1hZ2lja1dhbmQg LWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1s Y2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgLWxwdGhyZWFkICAgPiY1IApj b25maWd1cmU6MTY1MjU6ICQ/ID0gMApjb25maWd1cmU6MTY1MjU6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxNjUzNTogY2hlY2tpbmcgZm9yIHdvcmtpbmcgZm9yawpjb25maWd1cmU6MTY1NTc6IGdj YyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRl L2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxp bnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1J L3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRl L3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNs dWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3Iv aW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5j bHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVk ZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGli LTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3Iv aW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUv cGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0 LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5 cGUyICAgICBjb25mdGVzdC5jIC1sbSAtbHhtbDIgICAtbFNNIC1sSUNFIC1sWHJlbmRlciAtbFhm dCAgIC1sZ251dGxzICAgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5n b2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAt bGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0Nv cmUgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdv YmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNvbmZpZ3VyZTox NjU1NzogJD8gPSAwCmNvbmZpZ3VyZToxNjU1NzogLi9jb25mdGVzdApjb25maWd1cmU6MTY1NTc6 ICQ/ID0gMApjb25maWd1cmU6MTY1Njc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjU4ODogY2hl Y2tpbmcgZm9yIHdvcmtpbmcgdmZvcmsKY29uZmlndXJlOjE2Njk4OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTY3MjY6IGNoZWNraW5nIGZvciBzbnByaW50Zgpjb25maWd1cmU6MTY3MjY6IGdjYyAt c3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xp YnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4 LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vz ci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3Bp eG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRl L0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5j bHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVk ZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9j YWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIu MCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5j bHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4 bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9wMTEta2l0LTEg ICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUy ICAgICBjb25mdGVzdC5jIC1sbSAtbHhtbDIgICAtbFNNIC1sSUNFIC1sWHJlbmRlciAtbFhmdCAg IC1sZ251dGxzICAgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2Nh aXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNh aXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2FuZCAtbE1hZ2lja0NvcmUg ICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlybyAtbGdvYmpl Y3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUgCmNvbmZ0ZXN0LmM6MjIz OjY6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiAnc25w cmludGYnIFtlbmFibGVkIGJ5IGRlZmF1bHRdCiBjaGFyIHNucHJpbnRmICgpOwogICAgICBeCmNv bmZpZ3VyZToxNjcyNjogJD8gPSAwCmNvbmZpZ3VyZToxNjcyNjogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjE2NzQxOiBjaGVja2luZyB3aGV0aGVyIEdMaWIgaXMgbGlua2VkIGluCmNvbmZpZ3VyZTox Njc1NTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNy L2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94 ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1 Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNy L2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkv dXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4w IC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1J L3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vz ci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNs dWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRl IC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3Iv aW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRl L3AxMS1raXQtMSAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1wdGhyZWFkIC1JL3Vzci9p bmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNs dWRlICAgICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgY29uZnRlc3QuYyAtbG0gLWx4 bWwyICAgLWxTTSAtbElDRSAtbFhyZW5kZXIgLWxYZnQgICAtbGdudXRscyAgIC1sZ3RrLTMgLWxn ZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIu MCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xp Yi0yLjAgICAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIu MCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxY MTEgLWxwdGhyZWFkICAgLWxnaW8tMi4wIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgID4mNSAK Y29uZmlndXJlOjE2NzU1OiAkPyA9IDAKY29uZmlndXJlOjE2NzYyOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTY3NzY6IGNoZWNraW5nIGZvciBubF9sYW5naW5mbyBhbmQgQ09ERVNFVApjb25maWd1 cmU6MTY3OTI6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1J L3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9s aWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1w aXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1J L3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1w IC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3Rr LTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIu MCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAt SS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3Iv aW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5j bHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkv dXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5j bHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2lu Y2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5jIC1sbSAtbHhtbDIgICAtbFNNIC1sSUNFIC1s WHJlbmRlciAtbFhmdCAgIC1sZ251dGxzICAgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdp by0yLjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAt bHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2Fu ZCAtbE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAg LWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUg CmNvbmZpZ3VyZToxNjc5MjogJD8gPSAwCmNvbmZpZ3VyZToxNjgwMTogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjE2ODA5OiBjaGVja2luZyBmb3IgbWJzdGF0ZV90CmNvbmZpZ3VyZToxNjgyNjogZ2Nj IC1zdGQ9Z251OTkgLWMgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0y LjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2ds aWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1 ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEg LUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VN YWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0 ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3Bhbmdv LTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1J L3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vz ci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hh cmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAt SS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgIC1JL3Vz ci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICBjb25m dGVzdC5jID4mNQpjb25maWd1cmU6MTY4MjY6ICQ/ID0gMApjb25maWd1cmU6MTY4MzM6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToxNjg0NTogY2hlY2tpbmcgZm9yIEMgcmVzdHJpY3RlZCBhcnJheSBk ZWNsYXJhdGlvbnMKY29uZmlndXJlOjE2ODYxOiBnY2MgLXN0ZD1nbnU5OSAtYyAgLWczIC1PMiAt cHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIu MCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5j bHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9s aWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIg ICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1wdGhyZWFkIC1JL3Vzci9p bmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1z cGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11 bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0y LjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2ds aWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJl ZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAg LUkvdXNyL2luY2x1ZGUvcDExLWtpdC0xICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAg IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNjg2 MTogJD8gPSAwCmNvbmZpZ3VyZToxNjg2ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3MTgyOiBj aGVja2luZyBmb3Igc2lnbmFscyB2aWEgY2hhcmFjdGVycwpjb25maWd1cmU6MTcyMDA6IGdjYyAt RSAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgY29uZnRlc3QuYwpjb25maWd1cmU6MTcy MDA6ICQ/ID0gMApjb25maWd1cmU6MTcyMDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzI2Mzog Z2NjIC1FICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICBjb25mdGVzdC5jCmNvbmZ0ZXN0 LmM6MjI5OjM6IGVycm9yOiAjZXJyb3IgIm5vdCBpYTY0IgogIyBlcnJvciAibm90IGlhNjQiCiAg IF4KY29uZmlndXJlOjE3MjYzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0 LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MCIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg UEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgTUFJ TF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lY X1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251L2xp bnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VO RCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf RVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0VYVF9IIDEKfCAjZGVmaW5lIEhBVkVf R0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUEVSU09OQUxJVFlf TElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lT X1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZB RERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFW RV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVmaW5lIERPVUdfTEVBX01BTExPQyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YS0IgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRB QkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBI QVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVm aW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhB VkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0lNQUdFTUFHSUNLIDEKfCAjZGVmaW5lIEhBVkVfTUFH SUNLRVhQT1JUSU1BR0VQSVhFTFMgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tNRVJHRUlNQUdFTEFZ RVJTIDEKfCAjZGVmaW5lIEhBVkVfR1RLMyAxCnwgI2RlZmluZSBHREtfRElTQUJMRV9ERVBSRUNB VElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklO R1MgMQp8ICNkZWZpbmUgVVNFX0dUSyAxCnwgI2RlZmluZSBIQVZFX0dUS19IQU5ETEVfQk9YX05F VyAxCnwgI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01FTlVfSVRFTV9ORVcgMQp8ICNkZWZpbmUg SEFWRV9HVEtfV0lER0VUX0dFVF9XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX1NF VF9IQVNfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0RJQUxPR19HRVRfQUNUSU9OX0FSRUEg MQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9TRU5TSVRJVkUgMQp8ICNkZWZpbmUgSEFW RV9HVEtfV0lER0VUX0dFVF9NQVBQRUQgMQp8ICNkZWZpbmUgSEFWRV9HVEtfQURKVVNUTUVOVF9H RVRfUEFHRV9TSVpFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX09SSUVOVEFCTEVfU0VUX09SSUVOVEFU SU9OIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19TRVRfSEFTX1JFU0laRV9HUklQIDEKfCAj ZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5l IEhBVkVfR0ZJTEVOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5l IFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5l IFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYg WFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWEZUIDEKfCAjZGVmaW5lIEhBVkVfRlJFRVRZUEUgMQp8 ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVf SlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVm aW5lIFBOR19ERVBTVFJVQ1QgLyoqLwp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhB VkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNk ZWZpbmUgSEFWRV9YUlJHRVRPVVRQVVRQUklNQVJZIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUU0NS RUVOUkVTT1VSQ0VTQ1VSUkVOVCAxCnwgI2RlZmluZSBIQVZFX1hSQU5EUiAxCnwgI2RlZmluZSBI QVZFX1hJTkVSQU1BIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hf RVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEK fCAjZGVmaW5lIEhBVkVfQUNDRVBUNCAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05B TUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZp bmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5l IEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhB VkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRT T0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VU SUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJ X1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERF TElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAj ZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmlu ZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhB VkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVf X19FWEVDVVRBQkxFX1NUQVJUIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZF X0FMSUdORURfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9S SU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhB VkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBU IDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAj ZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBI QVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFW RV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBIQVZFX0ZTVEFU QVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAx CnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTUtPU1RFTVAgMQp8ICNkZWZp bmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9S RUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRP VU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVf UiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTQVQgMQp8 ICNkZWZpbmUgSEFWRV9GVVRJTUVOUyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2Rl ZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVm aW5lIEhBVkVfU0VDVVJFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwg I2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUg SEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0dMSUIgMQp8ICNkZWZpbmUgSEFWRV9MQU5H SU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVz dHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNk ZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBI QVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5l IFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxM X05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUg SVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9j XykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNU T1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEhBVkVfUFJPQ0ZTIDEKfCAjZGVmaW5lIERFRkFVTFRf U09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2Rl ZmluZSBOQVJST1dQUk9UTyAxCnwgI2RlZmluZSBVTklYOThfUFRZUyAxCnwgI2RlZmluZSBQVFlf SVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgUFRZX1RU WV9OQU1FX1NQUklOVEYgeyBjaGFyICpwdHluYW1lID0gMDsgc2lnc2V0X3QgYmxvY2tlZDsgc2ln ZW1wdHlzZXQgKCZibG9ja2VkKTsgc2lnYWRkc2V0ICgmYmxvY2tlZCwgU0lHQ0hMRCk7IHB0aHJl YWRfc2lnbWFzayAoU0lHX0JMT0NLLCAmYmxvY2tlZCwgMCk7IGlmIChncmFudHB0IChmZCkgIT0g LTEgJiYgdW5sb2NrcHQgKGZkKSAhPSAtMSkgcHR5bmFtZSA9IHB0c25hbWUoZmQpOyBwdGhyZWFk X3NpZ21hc2sgKFNJR19VTkJMT0NLLCAmYmxvY2tlZCwgMCk7IGlmICghcHR5bmFtZSkgeyBlbWFj c19jbG9zZSAoZmQpOyByZXR1cm4gLTE7IH0gc25wcmludGYgKHB0eV9uYW1lLCBQVFlfTkFNRV9T SVpFLCAiJXMiLCBwdHluYW1lKTsgfQp8ICNkZWZpbmUgUFRZX09QRU4gZG8geyBmZCA9IHBvc2l4 X29wZW5wdCAoT19SRFdSIHwgT19DTE9FWEVDIHwgT19OT0NUVFkpOyBpZiAoZmQgPCAwICYmIGVy cm5vID09IEVJTlZBTCkgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8IE9fTk9DVFRZKTsgfSB3 aGlsZSAoZmFsc2UpCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFNJ R05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaWZu ZGVmIF9faWE2NF9fCnwgIyBlcnJvciAibm90IGlhNjQiCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFp biAoKQp8IHsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE3MzA0OiBnY2Mg LUUgICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjE3 MzA0OiAkPyA9IDAKY29uZmlndXJlOjE3MzI0OiBjaGVja2luZyBmb3IgX3NldGptcApjb25maWd1 cmU6MTczNDY6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1J L3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9s aWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1w aXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1J L3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1w IC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3Rr LTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIu MCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAt SS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3Iv aW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5j bHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkv dXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5j bHVkZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2lu Y2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVzdC5jIC1sbSAtbHhtbDIgICAtbFNNIC1sSUNFIC1s WHJlbmRlciAtbFhmdCAgIC1sZ251dGxzICAgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdp by0yLjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAt bHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sTWFnaWNrV2Fu ZCAtbE1hZ2lja0NvcmUgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAg LWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAtbHB0aHJlYWQgICA+JjUg CmNvbmZpZ3VyZToxNzM0NjogJD8gPSAwCmNvbmZpZ3VyZToxNzM1NDogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjE3NTE4OiBjaGVja2luZyBmb3IgdXNhYmxlIEZJT05SRUFECmNvbmZpZ3VyZToxNzU0 OTogZ2NjIC1zdGQ9Z251OTkgLWMgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGli cnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgt Z251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNy L2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4 bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUv SW1hZ2VNYWdpY2sgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNs dWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRl L3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2Nh aXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4w IC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNs dWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXht YW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAg IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIg ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTc1NDk6ICQ/ID0gMApjb25maWd1cmU6MTc1NTg6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzU2NjogY2hlY2tpbmcgZm9yIHVzYWJsZSBTSUdJTwpj b25maWd1cmU6MTc1ODQ6IGdjYyAtc3RkPWdudTk5IC1jICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vz ci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIv eDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhi dWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vz ci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1J L3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMu MCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAt SS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91 c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5j bHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVk ZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNy L2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVk ZS9wMTEta2l0LTEgICAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1 ZGUvZnJlZXR5cGUyICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE3NTg0OiAkPyA9IDAKY29u ZmlndXJlOjE3NTkxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc4Nzk6IGNoZWNraW5nIGZvciB3 b3JraW5nIGFsbG9jYS5oCmNvbmZpZ3VyZToxNzg5NjogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToxNzg5 NjogJD8gPSAwCmNvbmZpZ3VyZToxNzkwNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3OTEyOiBj aGVja2luZyBmb3IgYWxsb2NhCmNvbmZpZ3VyZToxNzk0OTogZ2NjIC1zdGQ9Z251OTkgLW8gY29u ZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZTox Nzk0OTogJD8gPSAwCmNvbmZpZ3VyZToxNzk1NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE4MDcw OiBjaGVja2luZyBmb3IgdW5zaWduZWQgbG9uZyBsb25nIGludApjb25maWd1cmU6MTgxMTg6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToxODEyNzogY2hlY2tpbmcgd2hldGhlciBieXRlIG9yZGVyaW5n IGlzIGJpZ2VuZGlhbgpjb25maWd1cmU6MTgxNDI6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIg ICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoyNDU6OTogZXJyb3I6IHVua25vd24gdHlwZSBu YW1lICdub3QnCiAgICAgICAgIG5vdCBhIHVuaXZlcnNhbCBjYXBhYmxlIGNvbXBpbGVyCiAgICAg ICAgIF4KY29uZnRlc3QuYzoyNDU6MTU6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAn YXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICd1bml2ZXJzYWwnCiAgICAgICAgIG5vdCBh IHVuaXZlcnNhbCBjYXBhYmxlIGNvbXBpbGVyCiAgICAgICAgICAgICAgIF4KY29uZnRlc3QuYzoy NDU6MTU6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAndW5pdmVyc2FsJwpjb25maWd1cmU6MTgx NDI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIK fCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRf QklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBI QVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhB VkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VU TVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1f SCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEK fCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVm aW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAj ZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1F UyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RB UlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2Rl ZmluZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5l IEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJF Uk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4g MQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVm aW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJ WEVMUyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUg SEFWRV9HVEszIDEKfCAjZGVmaW5lIEdES19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEK fCAjZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBV U0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhB VkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVNX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRf R0VUX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8 ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dFVF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZF X0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VU X01BUFBFRCAxCnwgI2RlZmluZSBIQVZFX0dUS19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8 ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUg SEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VU VElOR1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElG WSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NS T0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2Rl ZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZp bmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUgSEFWRV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQ TSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5l IEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVD VCAvKiovCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVm aW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX1hSUkdF VE9VVFBVVFBSSU1BUlkgMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJS RU5UIDEKfCAjZGVmaW5lIEhBVkVfWFJBTkRSIDEKfCAjZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8 ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmlu ZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9B Q0NFUFQ0IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRS VVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBI QVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dO IDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwg MQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNk ZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVm aW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNk ZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUg SEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQ V0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQg MQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEK fCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RB UlQgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfQUxJR05FRF9BTExPQyAx CnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUg SEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNk ZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFQgMQp8ICNkZWZpbmUgSEFW RV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNf SU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAx CnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVm aW5lIEhBVkVfRkRPUEVORElSIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBI QVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVf TFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEK fCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAx CnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVm aW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5l IEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhB VkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVNBVCAxCnwgI2RlZmluZSBIQVZFX0ZV VElNRU5TIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1F UyAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRUNVUkVf R0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9S SyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAx CnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEK fCAjZGVmaW5lIEhBVkVfR0xJQiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8 ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0 cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRF Q1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwg I2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAj ZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vj b3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9j XykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllf U0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8 ICNkZWZpbmUgSEFWRV9QUk9DRlMgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9k ZXYvZHNwIgp8ICNkZWZpbmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIE5BUlJPV1BST1RP IDEKfCAjZGVmaW5lIFVOSVg5OF9QVFlTIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7 IGZvciAoaSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiB7 IGNoYXIgKnB0eW5hbWUgPSAwOyBzaWdzZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNldCAoJmJsb2Nr ZWQpOyBzaWdhZGRzZXQgKCZibG9ja2VkLCBTSUdDSExEKTsgcHRocmVhZF9zaWdtYXNrIChTSUdf QkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1bmxvY2twdCAo ZmQpICE9IC0xKSBwdHluYW1lID0gcHRzbmFtZShmZCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX1VO QkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKCFwdHluYW1lKSB7IGVtYWNzX2Nsb3NlIChmZCk7IHJl dHVybiAtMTsgfSBzbnByaW50ZiAocHR5X25hbWUsIFBUWV9OQU1FX1NJWkUsICIlcyIsIHB0eW5h bWUpOyB9CnwgI2RlZmluZSBQVFlfT1BFTiBkbyB7IGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1Ig fCBPX0NMT0VYRUMgfCBPX05PQ1RUWSk7IGlmIChmZCA8IDAgJiYgZXJybm8gPT0gRUlOVkFMKSBm ZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19OT0NUVFkpOyB9IHdoaWxlIChmYWxzZSkKfCAj ZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFD VEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dP UktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZp bmUgR05VX0xJTlVYIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBV U0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgImd0a3V0 aWwuaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC11bmtub3duLWxpbnV4 LWdudSIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXdpdGgteC10b29sa2l0PWd0 ayIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVm aW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAjaWZuZGVmIF9fQVBQTEVfQ0NfXwp8IAkgICAgICAgbm90IGEg dW5pdmVyc2FsIGNhcGFibGUgY29tcGlsZXIKfCAJICAgICAjZW5kaWYKfCAJICAgICB0eXBlZGVm IGludCBkdW1teTsKfCAKY29uZmlndXJlOjE4MTg3OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8y ICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxODE4NzogJD8gPSAwCmNvbmZpZ3VyZToxODIw NTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j OiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjUxOjQ6IGVycm9yOiB1bmtub3duIHR5 cGUgbmFtZSAnbm90JwogICAgbm90IGJpZyBlbmRpYW4KICAgIF4KY29uZnRlc3QuYzoyNTE6MTI6 IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycg YmVmb3JlICdlbmRpYW4nCiAgICBub3QgYmlnIGVuZGlhbgogICAgICAgICAgICBeCmNvbmZpZ3Vy ZToxODIwNTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkwIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVt YWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAx CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVO U0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09V UkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NF TUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VT RV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVm aW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZp bmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19Q QVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VO X0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJT19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8 ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0gg MQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVU TUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxF X05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFU QV9TVEFSVCAxCnwgI2RlZmluZSBET1VHX0xFQV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEK fCAjZGVmaW5lIEhBVkVfWEtCIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNk ZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVO TlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hf STE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8 ICNkZWZpbmUgSEFWRV9JTUFHRU1BR0lDSyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElN QUdFUElYRUxTIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2Rl ZmluZSBIQVZFX0dUSzMgMQp8ICNkZWZpbmUgR0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklO R1MgMQp8ICNkZWZpbmUgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVm aW5lIFVTRV9HVEsgMQp8ICNkZWZpbmUgSEFWRV9HVEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZp bmUgSEFWRV9HVEtfVEVBUk9GRl9NRU5VX0lURU1fTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJ REdFVF9HRVRfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRP VyAxCnwgI2RlZmluZSBIQVZFX0dUS19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5l IEhBVkVfR1RLX1dJREdFVF9HRVRfU0VOU0lUSVZFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdF VF9HRVRfTUFQUEVEIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0la RSAxCnwgI2RlZmluZSBIQVZFX0dUS19PUklFTlRBQkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2Rl ZmluZSBIQVZFX0dUS19XSU5ET1dfU0VUX0hBU19SRVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZF X0dTRVRUSU5HUyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxF Tk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJ VF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEK fCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwg I2RlZmluZSBIQVZFX1hGVCAxCnwgI2RlZmluZSBIQVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhB VkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNk ZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQ U1RSVUNUIC8qKi8KfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8 ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVf WFJSR0VUT1VUUFVUUFJJTUFSWSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNF U0NVUlJFTlQgMQp8ICNkZWZpbmUgSEFWRV9YUkFORFIgMQp8ICNkZWZpbmUgSEFWRV9YSU5FUkFN QSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAj ZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBI QVZFX0FDQ0VQVDQgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZF X0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVm aW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZF X0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVf R0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hV VERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJ R05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAx CnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8 ICNkZWZpbmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAx CnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2Rl ZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZF X0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRH UkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BF RUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX19fRVhFQ1VUQUJM RV9TVEFSVCAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9BTElHTkVEX0FM TE9DIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2Rl ZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAx CnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQVCAxCnwgI2RlZmlu ZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZF X1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElO S0FUIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8 ICNkZWZpbmUgSEFWRV9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVm aW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUg SEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUElQ RTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdN QVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8 ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNk ZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZp bmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FU0FUIDEKfCAjZGVmaW5lIEhB VkVfRlVUSU1FTlMgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgSEFWRV9M VVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NF Q1VSRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFW RV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZG T1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklO VEYgMQp8ICNkZWZpbmUgSEFWRV9HTElCIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNF VCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBf X3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNI X0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRT IDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6 Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5w d19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9T RVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVD VE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9j XykpCnwgI2RlZmluZSBIQVZFX1BST0NGUyAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklD RSAiL2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgTkFSUk9X UFJPVE8gMQp8ICNkZWZpbmUgVU5JWDk4X1BUWVMgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBp bnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJ TlRGIHsgY2hhciAqcHR5bmFtZSA9IDA7IHNpZ3NldF90IGJsb2NrZWQ7IHNpZ2VtcHR5c2V0ICgm YmxvY2tlZCk7IHNpZ2FkZHNldCAoJmJsb2NrZWQsIFNJR0NITEQpOyBwdGhyZWFkX3NpZ21hc2sg KFNJR19CTE9DSywgJmJsb2NrZWQsIDApOyBpZiAoZ3JhbnRwdCAoZmQpICE9IC0xICYmIHVubG9j a3B0IChmZCkgIT0gLTEpIHB0eW5hbWUgPSBwdHNuYW1lKGZkKTsgcHRocmVhZF9zaWdtYXNrIChT SUdfVU5CTE9DSywgJmJsb2NrZWQsIDApOyBpZiAoIXB0eW5hbWUpIHsgZW1hY3NfY2xvc2UgKGZk KTsgcmV0dXJuIC0xOyB9IHNucHJpbnRmIChwdHlfbmFtZSwgUFRZX05BTUVfU0laRSwgIiVzIiwg cHR5bmFtZSk7IH0KfCAjZGVmaW5lIFBUWV9PUEVOIGRvIHsgZmQgPSBwb3NpeF9vcGVucHQgKE9f UkRXUiB8IE9fQ0xPRVhFQyB8IE9fTk9DVFRZKTsgaWYgKGZkIDwgMCAmJiBlcnJubyA9PSBFSU5W QUwpIGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX05PQ1RUWSk7IH0gd2hpbGUgKGZhbHNl KQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9D SEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBHQ19TRVRK TVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwg I2RlZmluZSBHTlVfTElOVVggLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVm aW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAx NCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAi Z3RrdXRpbC5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXVua25vd24t bGludXgtZ251Igp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0td2l0aC14LXRvb2xr aXQ9Z3RrIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8 ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5l IEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAJCSNpbmNs dWRlIDxzeXMvcGFyYW0uaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8ICNpZiBCWVRFX09SREVS ICE9IEJJR19FTkRJQU4KfCAJCSBub3QgYmlnIGVuZGlhbgp8IAkJI2VuZGlmCnwgCnwgICA7Cnwg ICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxODMzMzogcmVzdWx0OiBubwpjb25maWd1cmU6MTg1 MDE6IGNoZWNraW5nIHdoZXRoZXIgdGhlIHByZXByb2Nlc3NvciBzdXBwb3J0cyBpbmNsdWRlX25l eHQKY29uZmlndXJlOjE4NTM5OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIC1JY29uZnRl c3RkMWIgLUljb25mdGVzdGQyIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxODUzOTogJD8gPSAw CmNvbmZpZ3VyZToxODU2MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE4NTgxOiBjaGVja2luZyB3 aGV0aGVyIHN5c3RlbSBoZWFkZXIgZmlsZXMgbGltaXQgdGhlIGxpbmUgbGVuZ3RoCmNvbmZpZ3Vy ZToxODYwNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTg2MTY6IGNoZWNraW5nIHdoZXRoZXIgc3Ry dG9sZCBjb25mb3JtcyB0byBDOTkKY29uZmlndXJlOjE4NjQzOiBnY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJl OjE4NjQzOiAkPyA9IDAKY29uZmlndXJlOjE4NjUxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTg2 NjY6IGNoZWNraW5nIGlmIGVudmlyb24gaXMgcHJvcGVybHkgZGVjbGFyZWQKY29uZmlndXJlOjE4 Njg5OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0 LmM6MjUxOjM5OiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdlbnZpcm9uJwogICAgICAg ICAgICBleHRlcm4gc3RydWN0IHsgaW50IGZvbzsgfSBlbnZpcm9uOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25mdGVzdC5j OjI0NjowOgovdXNyL2luY2x1ZGUvdW5pc3RkLmg6NTQ1OjE1OiBub3RlOiBwcmV2aW91cyBkZWNs YXJhdGlvbiBvZiAnZW52aXJvbicgd2FzIGhlcmUKIGV4dGVybiBjaGFyICoqZW52aXJvbjsKICAg ICAgICAgICAgICAgXgpjb25maWd1cmU6MTg2ODk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkw Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi CnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTAiCnwg I2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2Rl ZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9U WVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL RVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q RVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJ TUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZp bmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdT IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwg I2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRf SCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9D IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBIQVZF X1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEK fCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDEx UjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8 ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZp bmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS01F UkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdES19ESVNB QkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNB VElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hB TkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVNX05FVyAx CnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dU S19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dFVF9B Q1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAxCnwg I2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZFX0dUS19B REpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9T RVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpF X0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMg MQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkg MQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9YSU0g MQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2Fs bGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUgSEFWRV9G UkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNk ZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9Q TkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8 ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVf WF9TTSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkgMQp8ICNkZWZpbmUgSEFW RV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5lIEhBVkVfWFJBTkRSIDEK fCAjZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVm aW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9V U0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFUFQ0IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9T VE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VS UkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9T RUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExP Q0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8g MQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8 ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZp bmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZp bmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5l IEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VU UFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5U IDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8 ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNk ZWZpbmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAj ZGVmaW5lIEhBVkVfQUxJR05FRF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2Rl ZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8 ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5l IEhBVkVfR0VUUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVS TUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEK fCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwg I2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRkRPUEVORElSIDEKfCAjZGVmaW5l IEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VU VElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9NS09TVEVN UCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2Rl ZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5l IEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZF X0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0ZV VElNRVNBVCAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRU5TIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVO U0FUIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJ WkUgMQp8ICNkZWZpbmUgSEFWRV9TRUNVUkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9T T0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAj ZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAx CnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfR0xJQiAxCnwgI2RlZmlu ZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNk ZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExf TkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEK fCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxs Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmlu ZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8n CnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NF UChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18p IChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgSEFWRV9QUk9DRlMgMQp8ICNkZWZp bmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgSU5URVJSVVBUX0lO UFVUIDEKfCAjZGVmaW5lIE5BUlJPV1BST1RPIDEKfCAjZGVmaW5lIFVOSVg5OF9QVFlTIDEKfCAj ZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAoaSA9IDA7IGkgPCAxOyBpKyspCnwgI2Rl ZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiB7IGNoYXIgKnB0eW5hbWUgPSAwOyBzaWdzZXRfdCBi bG9ja2VkOyBzaWdlbXB0eXNldCAoJmJsb2NrZWQpOyBzaWdhZGRzZXQgKCZibG9ja2VkLCBTSUdD SExEKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKGdyYW50 cHQgKGZkKSAhPSAtMSAmJiB1bmxvY2twdCAoZmQpICE9IC0xKSBwdHluYW1lID0gcHRzbmFtZShm ZCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX1VOQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKCFwdHlu YW1lKSB7IGVtYWNzX2Nsb3NlIChmZCk7IHJldHVybiAtMTsgfSBzbnByaW50ZiAocHR5X25hbWUs IFBUWV9OQU1FX1NJWkUsICIlcyIsIHB0eW5hbWUpOyB9CnwgI2RlZmluZSBQVFlfT1BFTiBkbyB7 IGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX0NMT0VYRUMgfCBPX05PQ1RUWSk7IGlmIChm ZCA8IDAgJiYgZXJybm8gPT0gRUlOVkFMKSBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19O T0NUVFkpOyB9IHdoaWxlIChmYWxzZSkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8 ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09S S1MgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAx CnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgR05VX0xJTlVYIC8qKi8KfCAjZGVmaW5lIFVT QUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBVU0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJ R0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8 ICNkZWZpbmUgVEVSTV9IRUFERVIgImd0a3V0aWwuaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VS QVRJT04gIng4Nl82NC11bmtub3duLWxpbnV4LWdudSIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19P UFRJT05TICItLXdpdGgteC10b29sa2l0PWd0ayIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEK fCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFW RV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lH TkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8ICNpZiBIQVZFX1VOSVNURF9ICnwgICAgICAjaW5jbHVkZSA8dW5p c3RkLmg+CnwgICAgICAjZW5kaWYKfCAgICAgIC8qIG1pbmd3LCBCZU9TLCBIYWlrdSBkZWNsYXJl IGVudmlyb24gaW4gPHN0ZGxpYi5oPiwgbm90IGluIDx1bmlzdGQuaD4uICAqLwp8ICAgICAgI2lu Y2x1ZGUgPHN0ZGxpYi5oPgp8IAp8ICAgICAgICAgICAgZXh0ZXJuIHN0cnVjdCB7IGludCBmb287 IH0gZW52aXJvbjsKfCBpbnQKfCBtYWluICgpCnwgewp8IGVudmlyb24uZm9vID0gMTsKfCAgIDsK fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE4Njk3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTg3MTI6IGNoZWNraW5nIGZvciBjb21wbGV0ZSBlcnJuby5oCmNvbmZpZ3VyZToxODc4NTogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjE5MTA3OiBjaGVja2luZyBmb3IgbW9kZV90CmNvbmZpZ3VyZTox OTEwNzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6MTkxMDc6ICQ/ID0gMApjb25maWd1cmU6MTkxMDc6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAt TzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25m dGVzdC5jOjI4MjoyMTogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tl bgogaWYgKHNpemVvZiAoKG1vZGVfdCkpKQogICAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3Vy ZToxOTEwNzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkwIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVt YWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAx CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVO U0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09V UkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NF TUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VT RV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVm aW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZp bmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19Q QVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VO X0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJT19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8 ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0gg MQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVU TUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxF X05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFU QV9TVEFSVCAxCnwgI2RlZmluZSBET1VHX0xFQV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEK fCAjZGVmaW5lIEhBVkVfWEtCIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNk ZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVO TlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hf STE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8 ICNkZWZpbmUgSEFWRV9JTUFHRU1BR0lDSyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElN QUdFUElYRUxTIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2Rl ZmluZSBIQVZFX0dUSzMgMQp8ICNkZWZpbmUgR0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklO R1MgMQp8ICNkZWZpbmUgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVm aW5lIFVTRV9HVEsgMQp8ICNkZWZpbmUgSEFWRV9HVEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZp bmUgSEFWRV9HVEtfVEVBUk9GRl9NRU5VX0lURU1fTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJ REdFVF9HRVRfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRP VyAxCnwgI2RlZmluZSBIQVZFX0dUS19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5l IEhBVkVfR1RLX1dJREdFVF9HRVRfU0VOU0lUSVZFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdF VF9HRVRfTUFQUEVEIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0la RSAxCnwgI2RlZmluZSBIQVZFX0dUS19PUklFTlRBQkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2Rl ZmluZSBIQVZFX0dUS19XSU5ET1dfU0VUX0hBU19SRVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZF X0dTRVRUSU5HUyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxF Tk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJ VF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEK fCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwg I2RlZmluZSBIQVZFX1hGVCAxCnwgI2RlZmluZSBIQVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhB VkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNk ZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQ U1RSVUNUIC8qKi8KfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8 ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVf WFJSR0VUT1VUUFVUUFJJTUFSWSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNF U0NVUlJFTlQgMQp8ICNkZWZpbmUgSEFWRV9YUkFORFIgMQp8ICNkZWZpbmUgSEFWRV9YSU5FUkFN QSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAj ZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBI QVZFX0FDQ0VQVDQgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZF X0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVm aW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZF X0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVf R0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hV VERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJ R05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAx CnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8 ICNkZWZpbmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAx CnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2Rl ZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZF X0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRH UkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BF RUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX19fRVhFQ1VUQUJM RV9TVEFSVCAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9BTElHTkVEX0FM TE9DIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2Rl ZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAx CnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQVCAxCnwgI2RlZmlu ZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZF X1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElO S0FUIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8 ICNkZWZpbmUgSEFWRV9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVm aW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUg SEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUElQ RTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdN QVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8 ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNk ZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZp bmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FU0FUIDEKfCAjZGVmaW5lIEhB VkVfRlVUSU1FTlMgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgSEFWRV9M VVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NF Q1VSRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFW RV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZG T1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklO VEYgMQp8ICNkZWZpbmUgSEFWRV9HTElCIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNF VCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBf X3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNI X0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRT IDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6 Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5w d19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9T RVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVD VE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9j XykpCnwgI2RlZmluZSBIQVZFX1BST0NGUyAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklD RSAiL2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgTkFSUk9X UFJPVE8gMQp8ICNkZWZpbmUgVU5JWDk4X1BUWVMgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBp bnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJ TlRGIHsgY2hhciAqcHR5bmFtZSA9IDA7IHNpZ3NldF90IGJsb2NrZWQ7IHNpZ2VtcHR5c2V0ICgm YmxvY2tlZCk7IHNpZ2FkZHNldCAoJmJsb2NrZWQsIFNJR0NITEQpOyBwdGhyZWFkX3NpZ21hc2sg KFNJR19CTE9DSywgJmJsb2NrZWQsIDApOyBpZiAoZ3JhbnRwdCAoZmQpICE9IC0xICYmIHVubG9j a3B0IChmZCkgIT0gLTEpIHB0eW5hbWUgPSBwdHNuYW1lKGZkKTsgcHRocmVhZF9zaWdtYXNrIChT SUdfVU5CTE9DSywgJmJsb2NrZWQsIDApOyBpZiAoIXB0eW5hbWUpIHsgZW1hY3NfY2xvc2UgKGZk KTsgcmV0dXJuIC0xOyB9IHNucHJpbnRmIChwdHlfbmFtZSwgUFRZX05BTUVfU0laRSwgIiVzIiwg cHR5bmFtZSk7IH0KfCAjZGVmaW5lIFBUWV9PUEVOIGRvIHsgZmQgPSBwb3NpeF9vcGVucHQgKE9f UkRXUiB8IE9fQ0xPRVhFQyB8IE9fTk9DVFRZKTsgaWYgKGZkIDwgMCAmJiBlcnJubyA9PSBFSU5W QUwpIGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX05PQ1RUWSk7IH0gd2hpbGUgKGZhbHNl KQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9D SEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBHQ19TRVRK TVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwg I2RlZmluZSBHTlVfTElOVVggLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVm aW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAx NCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAi Z3RrdXRpbC5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXVua25vd24t bGludXgtZ251Igp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0td2l0aC14LXRvb2xr aXQ9Z3RrIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8 ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5l IEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwg I2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhB VkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lm ZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRk ZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxp Yi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRl ZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUg PG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQK fCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKChtb2RlX3QpKSkKfCAJICAgIHJldHVybiAwOwp8 ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTkxMDc6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxOTExODogY2hlY2tpbmcgd2hldGhlciBmZGF0YXN5bmMgaXMgZGVjbGFyZWQKY29uZmln dXJlOjE5MTE4OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNv bmZpZ3VyZToxOTExODogJD8gPSAwCmNvbmZpZ3VyZToxOTExODogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjE5MTMxOiBjaGVja2luZyBmb3Igc3RfZG1fbW9kZSBpbiBzdHJ1Y3Qgc3RhdApjb25maWd1 cmU6MTkxNDk6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29u ZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjI1MzoxNzogZXJyb3I6ICdz dHJ1Y3Qgc3RhdCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnc3RfZG1fbW9kZScKIHN0cnVjdCBzdGF0 IHM7IHMuc3RfZG1fbW9kZTsKICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToxOTE0OTogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImVtYWNzIDI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZp bmUgVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwg I2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVm aW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwg I2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5P REUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lT X1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VU U05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZp bmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJT19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFW RV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TWVNfU0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAxCnwg I2RlZmluZSBET1VHX0xFQV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhB VkVfWEtCIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9Y U0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JF RU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2Rl ZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFW RV9JTUFHRU1BR0lDSyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElNQUdFUElYRUxTIDEK fCAjZGVmaW5lIEhBVkVfTUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2RlZmluZSBIQVZFX0dU SzMgMQp8ICNkZWZpbmUgR0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZp bmUgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVTRV9HVEsg MQp8ICNkZWZpbmUgSEFWRV9HVEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtf VEVBUk9GRl9NRU5VX0lURU1fTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfV0lO RE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRPVyAxCnwgI2RlZmlu ZSBIQVZFX0dUS19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJ REdFVF9HRVRfU0VOU0lUSVZFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQUEVE IDEKfCAjZGVmaW5lIEhBVkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAxCnwgI2RlZmlu ZSBIQVZFX0dUS19PUklFTlRBQkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2RlZmluZSBIQVZFX0dU S19XSU5ET1dfU0VUX0hBU19SRVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZFX0dTRVRUSU5HUyAx CnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxFTk9USUZZIDEKfCAj ZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFS UyAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhS ZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZF X1hGVCAxCnwgI2RlZmluZSBIQVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAj ZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9Q TkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQU1RSVUNUIC8qKi8K fCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFW RV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUT1VUUFVU UFJJTUFSWSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNFU0NVUlJFTlQgMQp8 ICNkZWZpbmUgSEFWRV9YUkFORFIgMQp8ICNkZWZpbmUgSEFWRV9YSU5FUkFNQSAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVf TElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0FDQ0VQVDQg MQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAx CnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJB TkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNk ZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2Rl ZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBI QVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFW RV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFW RV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBI QVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZ TkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEK fCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2Rl ZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZp bmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX19fRVhFQ1VUQUJMRV9TVEFSVCAxCnwg I2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9BTElHTkVEX0FMTE9DIDEKfCAjZGVm aW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19f QlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBI QVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lY X09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEK fCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVm aW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFW RV9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZ TkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAx CnwgI2RlZmluZSBIQVZFX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZp bmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVm aW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFW RV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9T WU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJ TUVTIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FU0FUIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FTlMg MQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAj ZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFQ1VSRV9HRVRFTlYg MQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAj ZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVm aW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZp bmUgSEFWRV9HTElCIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmlu ZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0Cnwg I2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAx CnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5l IE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUg c3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNk ZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwg I2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwg I2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmlu ZSBIQVZFX1BST0NGUyAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3Ai CnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgTkFSUk9XUFJPVE8gMQp8ICNk ZWZpbmUgVU5JWDk4X1BUWVMgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChp ID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHsgY2hhciAq cHR5bmFtZSA9IDA7IHNpZ3NldF90IGJsb2NrZWQ7IHNpZ2VtcHR5c2V0ICgmYmxvY2tlZCk7IHNp Z2FkZHNldCAoJmJsb2NrZWQsIFNJR0NITEQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19CTE9DSywg JmJsb2NrZWQsIDApOyBpZiAoZ3JhbnRwdCAoZmQpICE9IC0xICYmIHVubG9ja3B0IChmZCkgIT0g LTEpIHB0eW5hbWUgPSBwdHNuYW1lKGZkKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfVU5CTE9DSywg JmJsb2NrZWQsIDApOyBpZiAoIXB0eW5hbWUpIHsgZW1hY3NfY2xvc2UgKGZkKTsgcmV0dXJuIC0x OyB9IHNucHJpbnRmIChwdHlfbmFtZSwgUFRZX05BTUVfU0laRSwgIiVzIiwgcHR5bmFtZSk7IH0K fCAjZGVmaW5lIFBUWV9PUEVOIGRvIHsgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8IE9fQ0xP RVhFQyB8IE9fTk9DVFRZKTsgaWYgKGZkIDwgMCAmJiBlcnJubyA9PSBFSU5WQUwpIGZkID0gcG9z aXhfb3BlbnB0IChPX1JEV1IgfCBPX05PQ1RUWSk7IH0gd2hpbGUgKGZhbHNlKQp8ICNkZWZpbmUg UFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEK fCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8 ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBHTlVf TElOVVggLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9T SUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAiZ3RrdXRpbC5oIgp8 ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXVua25vd24tbGludXgtZ251Igp8 ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0td2l0aC14LXRvb2xraXQ9Z3RrIgp8ICNk ZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05V X01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NB IDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZF X0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9GREFUQVNZTkMgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaW5jbHVk ZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgaW50CnwgbWFpbiAoKQp8 IHsKfCBzdHJ1Y3Qgc3RhdCBzOyBzLnN0X2RtX21vZGU7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9 CmNvbmZpZ3VyZToxOTE1NjogcmVzdWx0OiBubwpjb25maWd1cmU6MTkxNjY6IGNoZWNraW5nIHdo ZXRoZXIgc3RybW9kZSBpcyBkZWNsYXJlZApjb25maWd1cmU6MTkxNjY6IGdjYyAtc3RkPWdudTk5 IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21h aW4nOgpjb25mdGVzdC5jOjI4NzoxMDogZXJyb3I6ICdzdHJtb2RlJyB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgKHZvaWQpIHN0cm1vZGU7CiAgICAgICAgICBeCmNv bmZ0ZXN0LmM6Mjg3OjEwOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBv cnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgpjb25maWd1cmU6 MTkxNjY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFj cyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJ T05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJD RSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1B TlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0Vf NjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmlu ZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5l IEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZF X1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFS QU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9I IDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAj ZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEK fCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1B U0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9O QU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFf U1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFH RVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwg I2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVm aW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5V TUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kx OE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAj ZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFH RVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZp bmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdES19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdT IDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmlu ZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5l IEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVNX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURH RVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cg MQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dFVF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBI QVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRf R0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZFX0dUS19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUg MQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZp bmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9H U0VUVElOR1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5P VElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRf U0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwg I2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNk ZWZpbmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUgSEFWRV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZF X1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVm aW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNU UlVDVCAvKiovCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAj ZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX1hS UkdFVE9VVFBVVFBSSU1BUlkgMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVND VVJSRU5UIDEKfCAjZGVmaW5lIEhBVkVfWFJBTkRSIDEKfCAjZGVmaW5lIEhBVkVfWElORVJBTUEg MQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2Rl ZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFW RV9BQ0NFUFQ0IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRE T1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdO QUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8 ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAj ZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8 ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZp bmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9F TkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JF TlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVE IDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9fX0VYRUNVVEFCTEVf U1RBUlQgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfQUxJR05FRF9BTExP QyAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZp bmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8 ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFQgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9S RVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktB VCAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAj ZGVmaW5lIEhBVkVfRkRPUEVORElSIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmlu ZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhB VkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BJUEUy IDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFT SyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVm aW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5l IEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVNBVCAxCnwgI2RlZmluZSBIQVZF X0ZVVElNRU5TIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIEhBVkVfTFVU SU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRUNV UkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVf Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9S SyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRG IDEKfCAjZGVmaW5lIEhBVkVfR0xJQiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQg MQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19y ZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9E RVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAx CnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicK fCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdf Z2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQ KF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RP UllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18p KQp8ICNkZWZpbmUgSEFWRV9QUk9DRlMgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0Ug Ii9kZXYvZHNwIgp8ICNkZWZpbmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIE5BUlJPV1BS T1RPIDEKfCAjZGVmaW5lIFVOSVg5OF9QVFlTIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50 IGk7IGZvciAoaSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5U RiB7IGNoYXIgKnB0eW5hbWUgPSAwOyBzaWdzZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNldCAoJmJs b2NrZWQpOyBzaWdhZGRzZXQgKCZibG9ja2VkLCBTSUdDSExEKTsgcHRocmVhZF9zaWdtYXNrIChT SUdfQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1bmxvY2tw dCAoZmQpICE9IC0xKSBwdHluYW1lID0gcHRzbmFtZShmZCk7IHB0aHJlYWRfc2lnbWFzayAoU0lH X1VOQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKCFwdHluYW1lKSB7IGVtYWNzX2Nsb3NlIChmZCk7 IHJldHVybiAtMTsgfSBzbnByaW50ZiAocHR5X25hbWUsIFBUWV9OQU1FX1NJWkUsICIlcyIsIHB0 eW5hbWUpOyB9CnwgI2RlZmluZSBQVFlfT1BFTiBkbyB7IGZkID0gcG9zaXhfb3BlbnB0IChPX1JE V1IgfCBPX0NMT0VYRUMgfCBPX05PQ1RUWSk7IGlmIChmZCA8IDAgJiYgZXJybm8gPT0gRUlOVkFM KSBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19OT0NUVFkpOyB9IHdoaWxlIChmYWxzZSkK fCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hB UkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgR0NfU0VUSk1Q X1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNk ZWZpbmUgR05VX0xJTlVYIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmlu ZSBVU0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgImd0 a3V0aWwuaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC11bmtub3duLWxp bnV4LWdudSIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXdpdGgteC10b29sa2l0 PWd0ayIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAj ZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBI QVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNk ZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUg PHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1 ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVk ZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFW RV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmlu ZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGlu Y2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5j bHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGlu Y2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGlu Y2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNs dWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8ICNpZm5kZWYgc3Ry bW9kZQp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8ICAgKHZvaWQpIHN0cm1vZGU7CnwgI2Vsc2UKfCAg ICh2b2lkKSBzdHJtb2RlOwp8ICNlbmRpZgp8ICNlbmRpZgp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7 CnwgfQpjb25maWd1cmU6MTkxNjY6IHJlc3VsdDogbm8KY29uZmlndXJlOjE5MjE1OiBjaGVja2lu ZyB3aGV0aGVyIGxzdGF0IGNvcnJlY3RseSBoYW5kbGVzIHRyYWlsaW5nIHNsYXNoCmNvbmZpZ3Vy ZToxOTI0ODogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0 LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToxOTI0ODogJD8gPSAwCmNvbmZpZ3VyZToxOTI0 ODogLi9jb25mdGVzdApjb25maWd1cmU6MTkyNDg6ICQ/ID0gMApjb25maWd1cmU6MTkyNjU6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToxOTQ1NTogY2hlY2tpbmcgZm9yIGdldG9wdC5oCmNvbmZpZ3Vy ZToxOTQ1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5NDcyOiBjaGVja2luZyBmb3IgZ2V0b3B0 X2xvbmdfb25seQpjb25maWd1cmU6MTk0NzI6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1n MyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MTk0NzI6ICQ/ ID0gMApjb25maWd1cmU6MTk0NzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTQ4NjogY2hlY2tp bmcgd2hldGhlciBnZXRvcHQgaXMgUE9TSVggY29tcGF0aWJsZQpjb25maWd1cmU6MTk1Mjg6IGdj YyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRocmVh ZCAgPiY1IApjb25maWd1cmU6MTk1Mjg6ICQ/ID0gMApjb25maWd1cmU6MTk1Mjg6IC4vY29uZnRl c3QKY29uZmlndXJlOjE5NTI4OiAkPyA9IDAKY29uZmlndXJlOjE5NTg3OiBnY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29u ZmlndXJlOjE5NTg3OiAkPyA9IDAKY29uZmlndXJlOjE5NTg3OiAuL2NvbmZ0ZXN0CmNvbmZpZ3Vy ZToxOTU4NzogJD8gPSAwCmNvbmZpZ3VyZToxOTYyOTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToxOTYy OTogJD8gPSAwCmNvbmZpZ3VyZToxOTYyOTogLi9jb25mdGVzdApwcm9ncmFtOiBvcHRpb24gcmVx dWlyZXMgYW4gYXJndW1lbnQgLS0gJ2InCmNvbmZpZ3VyZToxOTYyOTogJD8gPSAwCmNvbmZpZ3Vy ZToxOTY0NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5NjU1OiBjaGVja2luZyBmb3Igd29ya2lu ZyBHTlUgZ2V0b3B0IGZ1bmN0aW9uCmNvbmZpZ3VyZToxOTg3NjogZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3Vy ZToxOTg3NjogJD8gPSAwCmNvbmZpZ3VyZToxOTg3NjogLi9jb25mdGVzdApjb25maWd1cmU6MTk4 NzY6ICQ/ID0gMApjb25maWd1cmU6MTk4OTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTg5Nzog Y2hlY2tpbmcgZm9yIHdvcmtpbmcgR05VIGdldG9wdF9sb25nIGZ1bmN0aW9uCmNvbmZpZ3VyZTox OTk0MjogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMg LWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToxOTk0MjogJD8gPSAwCmNvbmZpZ3VyZToxOTk0Mjog Li9jb25mdGVzdApjb25maWd1cmU6MTk5NDI6ICQ/ID0gMApjb25maWd1cmU6MTk5NTM6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToxOTk4MjogY2hlY2tpbmcgd2hldGhlciBnZXRlbnYgaXMgZGVjbGFy ZWQKY29uZmlndXJlOjE5OTgyOiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZToxOTk4MjogJD8gPSAwCmNvbmZpZ3VyZToxOTk4MjogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjE5OTk4OiBjaGVja2luZyBmb3IgQy9DKysgcmVzdHJpY3Qga2V5d29yZApj b25maWd1cmU6MjAwMjM6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjIwMDIzOiAkPyA9IDAKY29uZmlndXJlOjIwMDMxOiByZXN1bHQ6IF9fcmVz dHJpY3QKY29uZmlndXJlOjIwMTY4OiBjaGVja2luZyBmb3Igc3RydWN0IHRpbWV2YWwKY29uZmln dXJlOjIwMTkxOiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNv bmZpZ3VyZToyMDE5MTogJD8gPSAwCmNvbmZpZ3VyZToyMDE5OTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjIwMjA0OiBjaGVja2luZyBmb3Igd2lkZS1lbm91Z2ggc3RydWN0IHRpbWV2YWwudHZfc2Vj IG1lbWJlcgpjb25maWd1cmU6MjAyMzE6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjIwMjMxOiAkPyA9IDAKY29uZmlndXJlOjIwMjM5OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MjAyNTM6IGNoZWNraW5nIGZvciBsb25nIGxvbmcgaW50CmNvbmZp Z3VyZToyMDMwMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIwMzI1OiBnY2MgLXN0ZD1nbnU5OSAt YyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MjU1OjEwOiBlcnJvcjogdW5r bm93biB0eXBlIG5hbWUgJ25vdCcKICAgICAgICAgIG5vdCBhIHVuaXZlcnNhbCBjYXBhYmxlIGNv bXBpbGVyCiAgICAgICAgICBeCmNvbmZ0ZXN0LmM6MjU1OjE2OiBlcnJvcjogZXhwZWN0ZWQgJz0n LCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAndW5pdmVyc2FsJwog ICAgICAgICAgbm90IGEgdW5pdmVyc2FsIGNhcGFibGUgY29tcGlsZXIKICAgICAgICAgICAgICAg IF4KY29uZnRlc3QuYzoyNTU6MTY6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAndW5pdmVyc2Fs Jwpjb25maWd1cmU6MjAzMjU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQu My45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkwIgp8ICNkZWZpbmUg UEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQ QUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBNQUlM X1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RB UldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhf UFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGlu dXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5E IDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwg I2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9F WEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9H RVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9M SU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf VElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9T WVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFE RFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQURE UiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZF X0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9DIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVf UFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFC QVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhB VkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZp bmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFW RV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZpbmUgSEFWRV9NQUdJ Q0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS01FUkdFSU1BR0VMQVlF UlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdES19ESVNBQkxFX0RFUFJFQ0FU SU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5H UyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hBTkRMRV9CT1hfTkVX IDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVNX05FVyAxCnwgI2RlZmluZSBI QVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfU0VU X0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dFVF9BQ1RJT05fQVJFQSAx CnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAxCnwgI2RlZmluZSBIQVZF X0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZFX0dUS19BREpVU1RNRU5UX0dF VF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5UQVRJ T04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpFX0dSSVAgMQp8ICNk ZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUg SEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUg VVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUg VVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBY UG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUgSEFWRV9GUkVFVFlQRSAxCnwg I2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9K UEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZp bmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFW RV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2Rl ZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkgMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRTQ1JF RU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5lIEhBVkVfWFJBTkRSIDEKfCAjZGVmaW5lIEhB VkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9F UlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8 ICNkZWZpbmUgSEFWRV9BQ0NFUFQ0IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFN RSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmlu ZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUg SEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFW RV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNP Q0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJ RkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlf U1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVM SU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNk ZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5l IEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFW RV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9f X0VYRUNVVEFCTEVfU1RBUlQgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVf QUxJR05FRF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJ TlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFW RV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFQg MQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNk ZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhB VkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZF X0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRkRPUEVORElSIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRB VCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEK fCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9NS09TVEVNUCAxCnwgI2RlZmlu ZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JF QURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9V TUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9S IDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVNBVCAxCnwg I2RlZmluZSBIQVZFX0ZVVElNRU5TIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVm aW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9TRUNVUkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAj ZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVf V09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBI QVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfR0xJQiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJ TkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0 cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2Rl ZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhB VkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUg U0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExf TkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJ U19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2Nf KSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RP UllfU0VQIChfY18pKQp8ICNkZWZpbmUgSEFWRV9QUk9DRlMgMQp8ICNkZWZpbmUgREVGQVVMVF9T T1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVm aW5lIE5BUlJPV1BST1RPIDEKfCAjZGVmaW5lIFVOSVg5OF9QVFlTIDEKfCAjZGVmaW5lIFBUWV9J VEVSQVRJT04gaW50IGk7IGZvciAoaSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBQVFlfVFRZ X05BTUVfU1BSSU5URiB7IGNoYXIgKnB0eW5hbWUgPSAwOyBzaWdzZXRfdCBibG9ja2VkOyBzaWdl bXB0eXNldCAoJmJsb2NrZWQpOyBzaWdhZGRzZXQgKCZibG9ja2VkLCBTSUdDSExEKTsgcHRocmVh ZF9zaWdtYXNrIChTSUdfQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKGdyYW50cHQgKGZkKSAhPSAt MSAmJiB1bmxvY2twdCAoZmQpICE9IC0xKSBwdHluYW1lID0gcHRzbmFtZShmZCk7IHB0aHJlYWRf c2lnbWFzayAoU0lHX1VOQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKCFwdHluYW1lKSB7IGVtYWNz X2Nsb3NlIChmZCk7IHJldHVybiAtMTsgfSBzbnByaW50ZiAocHR5X25hbWUsIFBUWV9OQU1FX1NJ WkUsICIlcyIsIHB0eW5hbWUpOyB9CnwgI2RlZmluZSBQVFlfT1BFTiBkbyB7IGZkID0gcG9zaXhf b3BlbnB0IChPX1JEV1IgfCBPX0NMT0VYRUMgfCBPX05PQ1RUWSk7IGlmIChmZCA8IDAgJiYgZXJy bm8gPT0gRUlOVkFMKSBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19OT0NUVFkpOyB9IHdo aWxlIChmYWxzZSkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgU0lH TkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZp bmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBV U0cgLyoqLwp8ICNkZWZpbmUgR05VX0xJTlVYIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVB RCAxCnwgI2RlZmluZSBVU0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmln aHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVS TV9IRUFERVIgImd0a3V0aWwuaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82 NC11bmtub3duLWxpbnV4LWdudSIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXdp dGgteC10b29sa2l0PWd0ayIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIEhB VkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklS T05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEK fCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZ IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0 cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgI2lmbmRlZiBfX0FQUExFX0NDX18KfCAgICAgICAgICBub3QgYSB1bml2ZXJzYWwgY2Fw YWJsZSBjb21waWxlcgp8ICAgICAgICAgI2VuZGlmCnwgICAgICAgICB0eXBlZGVmIGludCBkdW1t eTsKfCAKY29uZmlndXJlOjIwNDgyOiBjaGVja2luZyB3aGV0aGVyIHN0ZGludC5oIGNvbmZvcm1z IHRvIEM5OQpjb25maWd1cmU6MjA2NTE6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjIwNjUxOiAkPyA9IDAKY29uZmlndXJlOjIwNzMxOiBnY2Mg LXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQg ID4mNSAKY29uZmlndXJlOjIwNzMxOiAkPyA9IDAKY29uZmlndXJlOjIwNzMxOiAuL2NvbmZ0ZXN0 CmNvbmZpZ3VyZToyMDczMTogJD8gPSAwCmNvbmZpZ3VyZToyMDc0MzogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjIxMzE2OiBjaGVja2luZyB3aGV0aGVyIG1lbXJjaHIgaXMgZGVjbGFyZWQKY29uZmln dXJlOjIxMzE2OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNv bmZpZ3VyZToyMTMxNjogJD8gPSAwCmNvbmZpZ3VyZToyMTMxNjogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjIxMzQ4OiBjaGVja2luZyB3aGV0aGVyIGFsYXJtIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZToy MTM0ODogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6MjEzNDg6ICQ/ID0gMApjb25maWd1cmU6MjEzNDg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToy MTM3MzogY2hlY2tpbmcgd2hldGhlciA8c3lzL3NlbGVjdC5oPiBpcyBzZWxmLWNvbnRhaW5lZApj b25maWd1cmU6MjEzOTA6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjIxMzkwOiAkPyA9IDAKY29uZmlndXJlOjIxNDA5OiBnY2MgLXN0ZD1nbnU5 OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMTQwOTogJD8gPSAwCmNv bmZpZ3VyZToyMTQzOTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNv bmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyMTQzOTogJD8gPSAwCmNvbmZpZ3Vy ZToyMTQ1MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIxNTk4OiBjaGVja2luZyBmb3Igc2lnc2V0 X3QKY29uZmlndXJlOjIxNTk4OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZToyMTU5ODogJD8gPSAwCmNvbmZpZ3VyZToyMTU5ODogZ2NjIC1zdGQ9 Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlv biAnbWFpbic6CmNvbmZ0ZXN0LmM6MjY1OjIzOiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBi ZWZvcmUgJyknIHRva2VuCiBpZiAoc2l6ZW9mICgoc2lnc2V0X3QpKSkKICAgICAgICAgICAgICAg ICAgICAgICBeCmNvbmZpZ3VyZToyMTU5ODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTAiCnwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj ZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVm aW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2Rl ZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5l IF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwg I2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUg ImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhB VkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19FWFRfSCAxCnwgI2RlZmlu ZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BFUlNP TkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9X SVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBI QVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVm aW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEK fCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAxCnwgI2RlZmluZSBET1VHX0xFQV9NQUxMT0MgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZp bmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWEtCIDEKfCAjZGVmaW5lIEhBVkVfWFJN U0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNk ZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAx CnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2Rl ZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9JTUFHRU1BR0lDSyAxCnwgI2RlZmluZSBI QVZFX01BR0lDS0VYUE9SVElNQUdFUElYRUxTIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLTUVSR0VJ TUFHRUxBWUVSUyAxCnwgI2RlZmluZSBIQVZFX0dUSzMgMQp8ICNkZWZpbmUgR0RLX0RJU0FCTEVf REVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9O X1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVTRV9HVEsgMQp8ICNkZWZpbmUgSEFWRV9HVEtfSEFORExF X0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfVEVBUk9GRl9NRU5VX0lURU1fTkVXIDEKfCAj ZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJ REdFVF9TRVRfSEFTX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19ESUFMT0dfR0VUX0FDVElP Tl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfU0VOU0lUSVZFIDEKfCAjZGVm aW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQUEVEIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0FESlVT VE1FTlRfR0VUX1BBR0VfU0laRSAxCnwgI2RlZmluZSBIQVZFX0dUS19PUklFTlRBQkxFX1NFVF9P UklFTlRBVElPTiAxCnwgI2RlZmluZSBIQVZFX0dUS19XSU5ET1dfU0VUX0hBU19SRVNJWkVfR1JJ UCAxCnwgI2RlZmluZSBIQVZFX0dTRVRUSU5HUyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwg I2RlZmluZSBIQVZFX0dGSUxFTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwg I2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwg I2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFj a19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hGVCAxCnwgI2RlZmluZSBIQVZFX0ZSRUVU WVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmlu ZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAx CnwgI2RlZmluZSBQTkdfREVQU1RSVUNUIC8qKi8KfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2Rl ZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9YX1NN IDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUT1VUUFVUUFJJTUFSWSAxCnwgI2RlZmluZSBIQVZFX1hS UkdFVFNDUkVFTlJFU09VUkNFU0NVUlJFTlQgMQp8ICNkZWZpbmUgSEFWRV9YUkFORFIgMQp8ICNk ZWZpbmUgSEFWRV9YSU5FUkFNQSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUg SEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9G TE9DSyAxCnwgI2RlZmluZSBIQVZFX0FDQ0VQVDQgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFN RSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5U X0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVD VCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxF IDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwg I2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2Rl ZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhB VkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBI QVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFW RV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VO VCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8 ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2Rl ZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmlu ZSBIQVZFX19fRVhFQ1VUQUJMRV9TVEFSVCAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZp bmUgSEFWRV9BTElHTkVEX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5l IEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2Rl ZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFW RV9HRVRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5G TyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNk ZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVm aW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFW RV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1F T0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX01LT1NURU1QIDEK fCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5l IEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFW RV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9D QUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1F U0FUIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FTlMgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQg MQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAx CnwgI2RlZmluZSBIQVZFX1NFQ1VSRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tF VFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZp bmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAj ZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9HTElCIDEKfCAjZGVmaW5lIEhB VkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmlu ZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1F IDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNk ZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwg I2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVT RVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAj ZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9j XykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElT X0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBIQVZFX1BST0NGUyAxCnwgI2RlZmluZSBE RUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQg MQp8ICNkZWZpbmUgTkFSUk9XUFJPVE8gMQp8ICNkZWZpbmUgVU5JWDk4X1BUWVMgMQp8ICNkZWZp bmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5l IFBUWV9UVFlfTkFNRV9TUFJJTlRGIHsgY2hhciAqcHR5bmFtZSA9IDA7IHNpZ3NldF90IGJsb2Nr ZWQ7IHNpZ2VtcHR5c2V0ICgmYmxvY2tlZCk7IHNpZ2FkZHNldCAoJmJsb2NrZWQsIFNJR0NITEQp OyBwdGhyZWFkX3NpZ21hc2sgKFNJR19CTE9DSywgJmJsb2NrZWQsIDApOyBpZiAoZ3JhbnRwdCAo ZmQpICE9IC0xICYmIHVubG9ja3B0IChmZCkgIT0gLTEpIHB0eW5hbWUgPSBwdHNuYW1lKGZkKTsg cHRocmVhZF9zaWdtYXNrIChTSUdfVU5CTE9DSywgJmJsb2NrZWQsIDApOyBpZiAoIXB0eW5hbWUp IHsgZW1hY3NfY2xvc2UgKGZkKTsgcmV0dXJuIC0xOyB9IHNucHJpbnRmIChwdHlfbmFtZSwgUFRZ X05BTUVfU0laRSwgIiVzIiwgcHR5bmFtZSk7IH0KfCAjZGVmaW5lIFBUWV9PUEVOIGRvIHsgZmQg PSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8IE9fQ0xPRVhFQyB8IE9fTk9DVFRZKTsgaWYgKGZkIDwg MCAmJiBlcnJubyA9PSBFSU5WQUwpIGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX05PQ1RU WSk7IH0gd2hpbGUgKGZhbHNlKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2Rl ZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAx CnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAj ZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBHTlVfTElOVVggLyoqLwp8ICNkZWZpbmUgVVNBQkxF X0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQg IkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2Rl ZmluZSBURVJNX0hFQURFUiAiZ3RrdXRpbC5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElP TiAieDg2XzY0LXVua25vd24tbGludXgtZ251Igp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElP TlMgIi0td2l0aC14LXRvb2xraXQ9Z3RrIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNk ZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FM TE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhB VkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZ TUxJTksgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9M T05HX09OTFkgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmlj dCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX01FTVJDSFIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAvKiBlbmQgY29u ZmRlZnMuaC4gICovCnwgCnwgICAgICAgI2luY2x1ZGUgPHNpZ25hbC5oPgp8ICAgICAgIC8qIE1p bmd3IGRlZmluZXMgc2lnc2V0X3Qgbm90IGluIDxzaWduYWwuaD4sIGJ1dCBpbiA8c3lzL3R5cGVz Lmg+LiAgKi8KfCAgICAgICAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgCnwgCnwgaW50CnwgbWFp biAoKQp8IHsKfCBpZiAoc2l6ZW9mICgoc2lnc2V0X3QpKSkKfCAJICAgIHJldHVybiAwOwp8ICAg Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjE1OTg6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToyMTYzNjogY2hlY2tpbmcgZm9yIHN0ZGJvb2wuaCB0aGF0IGNvbmZvcm1zIHRvIEM5OQpjb25m aWd1cmU6MjE3MDM6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjIxNzAzOiAkPyA9IDAKY29uZmlndXJlOjIxNzEwOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MjE3MTI6IGNoZWNraW5nIGZvciBfQm9vbApjb25maWd1cmU6MjE3MTI6IGdjYyAtc3Rk PWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIxNzEyOiAkPyA9 IDAKY29uZmlndXJlOjIxNzEyOiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyOTM6MjA6 IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnKScgdG9rZW4KIGlmIChzaXplb2Yg KChfQm9vbCkpKQogICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjIxNzEyOiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiZW1hY3MgMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBW RVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENf SEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVm aW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUg X0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVm aW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAx CnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09V TkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFN RV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZp bmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBI QVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZF X1NURElPX0VYVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxF Q1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfUEVSU09OQUxJVFlfTElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RF Uk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NZU19TSUdMSVNUIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZF X05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdB RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZp bmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVm aW5lIERPVUdfTEVBX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9Y S0IgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JF RU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAx CnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5l IEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0lN QUdFTUFHSUNLIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLRVhQT1JUSU1BR0VQSVhFTFMgMQp8ICNk ZWZpbmUgSEFWRV9NQUdJQ0tNRVJHRUlNQUdFTEFZRVJTIDEKfCAjZGVmaW5lIEhBVkVfR1RLMyAx CnwgI2RlZmluZSBHREtfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBH TElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgVVNFX0dUSyAxCnwg I2RlZmluZSBIQVZFX0dUS19IQU5ETEVfQk9YX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19URUFS T0ZGX01FTlVfSVRFTV9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9XSU5ET1cg MQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX1NFVF9IQVNfV0lORE9XIDEKfCAjZGVmaW5lIEhB VkVfR1RLX0RJQUxPR19HRVRfQUNUSU9OX0FSRUEgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VU X0dFVF9TRU5TSVRJVkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9NQVBQRUQgMQp8 ICNkZWZpbmUgSEFWRV9HVEtfQURKVVNUTUVOVF9HRVRfUEFHRV9TSVpFIDEKfCAjZGVmaW5lIEhB VkVfR1RLX09SSUVOVEFCTEVfU0VUX09SSUVOVEFUSU9OIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJ TkRPV19TRVRfSEFTX1JFU0laRV9HUklQIDEKfCAjZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKfCAj ZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfR0ZJTEVOT1RJRlkgMQp8ICNkZWZp bmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEK fCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lz dGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWEZU IDEKfCAjZGVmaW5lIEhBVkVfRlJFRVRZUEUgMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZp bmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19I IDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIFBOR19ERVBTVFJVQ1QgLyoqLwp8ICNk ZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJ RiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRPVVRQVVRQUklN QVJZIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUU0NSRUVOUkVTT1VSQ0VTQ1VSUkVOVCAxCnwgI2Rl ZmluZSBIQVZFX1hSQU5EUiAxCnwgI2RlZmluZSBIQVZFX1hJTkVSQU1BIDEKfCAjZGVmaW5lIEhB VkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJN IDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVBUNCAxCnwg I2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAj ZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4 IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmlu ZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5l IEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVf UkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dF VFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZS RUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVf R0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAx CnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5l IEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBI QVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfX19FWEVDVVRBQkxFX1NUQVJUIDEKfCAjZGVm aW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX0FMSUdORURfQUxMT0MgMQp8ICNkZWZpbmUg SEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlM VElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVf R1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BF TlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNk ZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUg SEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZE T1BFTkRJUiAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAx CnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAj ZGVmaW5lIEhBVkVfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBI QVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUg SEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NU UlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJ TksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMg MQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTQVQgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVOUyAxCnwg I2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZp bmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VDVVJFX0dFVEVOViAxCnwg I2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZp bmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBI QVZFX0dMSUIgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhB VkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVm aW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAj ZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVM TF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJw cm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmlu ZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVm aW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVm aW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEhB VkVfUFJPQ0ZTIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAj ZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBOQVJST1dQUk9UTyAxCnwgI2RlZmlu ZSBVTklYOThfUFRZUyAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAw OyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgeyBjaGFyICpwdHlu YW1lID0gMDsgc2lnc2V0X3QgYmxvY2tlZDsgc2lnZW1wdHlzZXQgKCZibG9ja2VkKTsgc2lnYWRk c2V0ICgmYmxvY2tlZCwgU0lHQ0hMRCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX0JMT0NLLCAmYmxv Y2tlZCwgMCk7IGlmIChncmFudHB0IChmZCkgIT0gLTEgJiYgdW5sb2NrcHQgKGZkKSAhPSAtMSkg cHR5bmFtZSA9IHB0c25hbWUoZmQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19VTkJMT0NLLCAmYmxv Y2tlZCwgMCk7IGlmICghcHR5bmFtZSkgeyBlbWFjc19jbG9zZSAoZmQpOyByZXR1cm4gLTE7IH0g c25wcmludGYgKHB0eV9uYW1lLCBQVFlfTkFNRV9TSVpFLCAiJXMiLCBwdHluYW1lKTsgfQp8ICNk ZWZpbmUgUFRZX09QRU4gZG8geyBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19DTE9FWEVD IHwgT19OT0NUVFkpOyBpZiAoZmQgPCAwICYmIGVycm5vID09IEVJTlZBTCkgZmQgPSBwb3NpeF9v cGVucHQgKE9fUkRXUiB8IE9fTk9DVFRZKTsgfSB3aGlsZSAoZmFsc2UpCnwgI2RlZmluZSBQVFlf TkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNk ZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2Rl ZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIEdOVV9MSU5V WCAvKiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lP IDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJndGt1dGlsLmgiCnwgI2Rl ZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdW5rbm93bi1saW51eC1nbnUiCnwgI2Rl ZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS13aXRoLXgtdG9vbGtpdD1ndGsiCnwgI2RlZmlu ZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFM TE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8 ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfQzk5 X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBM U1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEK fCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VU RU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBp bmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwg IyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAj IGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlm ZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAm JiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlm CnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gK fCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19I CnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9I CnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8 ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAo c2l6ZW9mICgoX0Jvb2wpKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6MjE3MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMTcyODogY2hlY2tpbmcg Zm9yIHdjaGFyX3QKY29uZmlndXJlOjIxNzQ1OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAg IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMTc0NTogJD8gPSAwCmNvbmZpZ3VyZToyMTc1Mjog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjIxODYzOiBjaGVja2luZyB3aGV0aGVyIHN0cnVjdCB0bSBp cyBpbiBzeXMvdGltZS5oIG9yIHRpbWUuaApjb25maWd1cmU6MjE4ODM6IGdjYyAtc3RkPWdudTk5 IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIxODgzOiAkPyA9IDAKY29u ZmlndXJlOjIxODkwOiByZXN1bHQ6IHRpbWUuaApjb25maWd1cmU6MjE4OTg6IGNoZWNraW5nIGZv ciBzdHJ1Y3QgdG0udG1fem9uZQpjb25maWd1cmU6MjE4OTg6IGdjYyAtc3RkPWdudTk5IC1jIC1n MyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIxODk4OiAkPyA9IDAKY29uZmlndXJl OjIxODk4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjE5NjY6IGNoZWNraW5nIGZvciBzdHJ1Y3Qg dG0udG1fZ210b2ZmCmNvbmZpZ3VyZToyMTk2NjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAg ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjE5NjY6ICQ/ID0gMApjb25maWd1cmU6MjE5NjY6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjA1NDogY2hlY2tpbmcgd2hldGhlciBzdHJ0b2ltYXgg aXMgZGVjbGFyZWQKY29uZmlndXJlOjIyMDU0OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAg IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMjA1NDogJD8gPSAwCmNvbmZpZ3VyZToyMjA1NDog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyMDY3OiBjaGVja2luZyB3aGV0aGVyIHN0cnRvdW1heCBp cyBkZWNsYXJlZApjb25maWd1cmU6MjIwNjc6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIyMDY3OiAkPyA9IDAKY29uZmlndXJlOjIyMDY3OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MjIwODA6IGNoZWNraW5nIHdoZXRoZXIgc3RhdCBmaWxlLW1v ZGUgbWFjcm9zIGFyZSBicm9rZW4KY29uZmlndXJlOjIyMTA3OiBnY2MgLXN0ZD1nbnU5OSAtYyAt ZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMjEwNzogJD8gPSAwCmNvbmZpZ3Vy ZToyMjExNDogcmVzdWx0OiBubwpjb25maWd1cmU6MjIyMTQ6IGNoZWNraW5nIGZvciBzdHJ1Y3Qg dGltZXNwZWMgaW4gPHRpbWUuaD4KY29uZmlndXJlOjIyMjMxOiBnY2MgLXN0ZD1nbnU5OSAtYyAt ZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMjIzMTogJD8gPSAwCmNvbmZpZ3Vy ZToyMjIzODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyMzg5OiBjaGVja2luZyB3aGV0aGVyIHVu c2V0ZW52IGlzIGRlY2xhcmVkCmNvbmZpZ3VyZToyMjM4OTogZ2NjIC1zdGQ9Z251OTkgLWMgLWcz IC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjIzODk6ICQ/ID0gMApjb25maWd1cmU6 MjIzODk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjQwMTogY2hlY2tpbmcgd2hldGhlciB0aGUg dXRpbWVzIGZ1bmN0aW9uIHdvcmtzCmNvbmZpZ3VyZToyMjUxNjogZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3Vy ZToyMjUxNjogJD8gPSAwCmNvbmZpZ3VyZToyMjUxNjogLi9jb25mdGVzdApjb25maWd1cmU6MjI1 MTY6ICQ/ID0gMApjb25maWd1cmU6MjI1MjY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjUzOTog Y2hlY2tpbmcgZm9yIHN0cnVjdCB1dGltYnVmCmNvbmZpZ3VyZToyMjU2MjogZ2NjIC1zdGQ9Z251 OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjI1NjI6ICQ/ID0gMApj b25maWd1cmU6MjI1Njk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjU4ODogY2hlY2tpbmcgdHlw ZSBvZiBhcnJheSBhcmd1bWVudCB0byBnZXRncm91cHMKY29uZmlndXJlOjIyNjIyOiBnY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4m NSAKY29uZmlndXJlOjIyNjIyOiAkPyA9IDAKY29uZmlndXJlOjIyNjIyOiAuL2NvbmZ0ZXN0CmNv bmZpZ3VyZToyMjYyMjogJD8gPSAwCmNvbmZpZ3VyZToyMjY0NzogcmVzdWx0OiBnaWRfdApjb25m aWd1cmU6MjI2OTA6IGNoZWNraW5nIGZvciBhbGxvY2EgYXMgYSBjb21waWxlciBidWlsdC1pbgpj b25maWd1cmU6MjI3MTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjc0MDogY2hlY2tpbmcgYnl0 ZXN3YXAuaCB1c2FiaWxpdHkKY29uZmlndXJlOjIyNzQwOiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMg LU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMjc0MDogJD8gPSAwCmNvbmZpZ3VyZToy Mjc0MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyNzQwOiBjaGVja2luZyBieXRlc3dhcC5oIHBy ZXNlbmNlCmNvbmZpZ3VyZToyMjc0MDogZ2NjIC1FICAgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjIy NzQwOiAkPyA9IDAKY29uZmlndXJlOjIyNzQwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjI3NDA6 IGNoZWNraW5nIGZvciBieXRlc3dhcC5oCmNvbmZpZ3VyZToyMjc0MDogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjIyNzc5OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIGNsb2NrX2dldHRp bWUKY29uZmlndXJlOjIyODEwOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAg ICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjIyODEwOiAkPyA9IDAKY29u ZmlndXJlOjIyODI3OiByZXN1bHQ6IG5vbmUgcmVxdWlyZWQKY29uZmlndXJlOjIyODM5OiBjaGVj a2luZyBmb3IgY2xvY2tfZ2V0dGltZQpjb25maWd1cmU6MjI4Mzk6IGdjYyAtc3RkPWdudTk5IC1v IGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1 cmU6MjI4Mzk6ICQ/ID0gMApjb25maWd1cmU6MjI4Mzk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToy MjgzOTogY2hlY2tpbmcgZm9yIGNsb2NrX3NldHRpbWUKY29uZmlndXJlOjIyODM5OiBnY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4m NSAKY29uZmlndXJlOjIyODM5OiAkPyA9IDAKY29uZmlndXJlOjIyODM5OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MjI5ODY6IGNoZWNraW5nIHdoZXRoZXIgZHVwMiB3b3Jrcwpjb25maWd1cmU6MjMw NDU6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1s cHRocmVhZCAgPiY1IApjb25maWd1cmU6MjMwNDU6ICQ/ID0gMApjb25maWd1cmU6MjMwNDU6IC4v Y29uZnRlc3QKY29uZmlndXJlOjIzMDQ1OiAkPyA9IDAKY29uZmlndXJlOjIzMDU2OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MjMxMjM6IGNoZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgYmFj a3RyYWNlX3N5bWJvbHNfZmQKY29uZmlndXJlOjIzMTU0OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjIz MTU0OiAkPyA9IDAKY29uZmlndXJlOjIzMTcxOiByZXN1bHQ6IG5vbmUgcmVxdWlyZWQKY29uZmln dXJlOjIzMjc4OiBjaGVja2luZyB3aGV0aGVyIGZjbnRsIGhhbmRsZXMgRl9EVVBGRCBjb3JyZWN0 bHkKY29uZmlndXJlOjIzMzA4OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAg ICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjIzMzA4OiAkPyA9IDAKY29u ZmlndXJlOjIzMzA4OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyMzMwODogJD8gPSAwCmNvbmZpZ3Vy ZToyMzMxODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIzMzM2OiBjaGVja2luZyB3aGV0aGVyIGZj bnRsIHVuZGVyc3RhbmRzIEZfRFVQRkRfQ0xPRVhFQwpjb25maWd1cmU6MjMzNTc6IGdjYyAtc3Rk PWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIzMzU3OiAkPyA9 IDAKY29uZmlndXJlOjIzMzc1OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZ0ZXN0LmM6Mjc5OjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnY2hva2Un CiBjaG9rZSBtZQogXgpjb25mdGVzdC5jOjI4MjoxOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcs ICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnaW50JwogaW50CiBeCmNvbmZp Z3VyZToyMzM3NTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkwIgp8 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdF X0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0Ug ImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BP UCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VY VEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0Nf U09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFE X1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAj ZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNk ZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZP X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIg MQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlU X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf TkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19G SUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVf REFUQV9TVEFSVCAxCnwgI2RlZmluZSBET1VHX0xFQV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE IDEKfCAjZGVmaW5lIEhBVkVfWEtCIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8 ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NS RUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZF X1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JTVkcg MQp8ICNkZWZpbmUgSEFWRV9JTUFHRU1BR0lDSyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS0VYUE9S VElNQUdFUElYRUxTIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwg I2RlZmluZSBIQVZFX0dUSzMgMQp8ICNkZWZpbmUgR0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FS TklOR1MgMQp8ICNkZWZpbmUgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAj ZGVmaW5lIFVTRV9HVEsgMQp8ICNkZWZpbmUgSEFWRV9HVEtfSEFORExFX0JPWF9ORVcgMQp8ICNk ZWZpbmUgSEFWRV9HVEtfVEVBUk9GRl9NRU5VX0lURU1fTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RL X1dJREdFVF9HRVRfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJ TkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKfCAjZGVm aW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfU0VOU0lUSVZFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJ REdFVF9HRVRfTUFQUEVEIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0Vf U0laRSAxCnwgI2RlZmluZSBIQVZFX0dUS19PUklFTlRBQkxFX1NFVF9PUklFTlRBVElPTiAxCnwg I2RlZmluZSBIQVZFX0dUS19XSU5ET1dfU0VUX0hBU19SRVNJWkVfR1JJUCAxCnwgI2RlZmluZSBI QVZFX0dTRVRUSU5HUyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0dG SUxFTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9P TEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElN IDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVy CnwgI2RlZmluZSBIQVZFX1hGVCAxCnwgI2RlZmluZSBIQVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5l IEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8 ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBQTkdf REVQU1RSVUNUIC8qKi8KfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYg MQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhB VkVfWFJSR0VUT1VUUFVUUFJJTUFSWSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09V UkNFU0NVUlJFTlQgMQp8ICNkZWZpbmUgSEFWRV9YUkFORFIgMQp8ICNkZWZpbmUgSEFWRV9YSU5F UkFNQSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEK fCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmlu ZSBIQVZFX0FDQ0VQVDQgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAj ZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhB VkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVf U0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NU UlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRU TyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUg MQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMg MQp8ICNkZWZpbmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJP UiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwg I2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBI QVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9F TkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VU U1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX19fRVhFQ1VU QUJMRV9TVEFSVCAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9BTElHTkVE X0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwg I2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVL TyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQVCAxCnwgI2Rl ZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBI QVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9SRUFE TElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwg MQp8ICNkZWZpbmUgSEFWRV9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAj ZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZp bmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVf UElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9T SUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksg MQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8 ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNk ZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FU0FUIDEKfCAjZGVmaW5l IEhBVkVfRlVUSU1FTlMgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgSEFW RV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBIQVZF X1NFQ1VSRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUg SEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05Q UklOVEYgMQp8ICNkZWZpbmUgSEFWRV9HTElCIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09E RVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2Fy ciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENM QVNIX0RFVEVDVElPTiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NL RVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFS ICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3 LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklD RV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJ UkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAg KF9jXykpCnwgI2RlZmluZSBIQVZFX1BST0NGUyAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RF VklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgTkFS Uk9XUFJPVE8gMQp8ICNkZWZpbmUgVU5JWDk4X1BUWVMgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElP TiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9T UFJJTlRGIHsgY2hhciAqcHR5bmFtZSA9IDA7IHNpZ3NldF90IGJsb2NrZWQ7IHNpZ2VtcHR5c2V0 ICgmYmxvY2tlZCk7IHNpZ2FkZHNldCAoJmJsb2NrZWQsIFNJR0NITEQpOyBwdGhyZWFkX3NpZ21h c2sgKFNJR19CTE9DSywgJmJsb2NrZWQsIDApOyBpZiAoZ3JhbnRwdCAoZmQpICE9IC0xICYmIHVu bG9ja3B0IChmZCkgIT0gLTEpIHB0eW5hbWUgPSBwdHNuYW1lKGZkKTsgcHRocmVhZF9zaWdtYXNr IChTSUdfVU5CTE9DSywgJmJsb2NrZWQsIDApOyBpZiAoIXB0eW5hbWUpIHsgZW1hY3NfY2xvc2Ug KGZkKTsgcmV0dXJuIC0xOyB9IHNucHJpbnRmIChwdHlfbmFtZSwgUFRZX05BTUVfU0laRSwgIiVz IiwgcHR5bmFtZSk7IH0KfCAjZGVmaW5lIFBUWV9PUEVOIGRvIHsgZmQgPSBwb3NpeF9vcGVucHQg KE9fUkRXUiB8IE9fQ0xPRVhFQyB8IE9fTk9DVFRZKTsgaWYgKGZkIDwgMCAmJiBlcnJubyA9PSBF SU5WQUwpIGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX05PQ1RUWSk7IH0gd2hpbGUgKGZh bHNlKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBTSUdOQUxTX1ZJ QV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBHQ19T RVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiov CnwgI2RlZmluZSBHTlVfTElOVVggLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAj ZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykg MjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURF UiAiZ3RrdXRpbC5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXVua25v d24tbGludXgtZ251Igp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0td2l0aC14LXRv b2xraXQ9Z3RrIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgSEFWRV9YMTEg MQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVm aW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNM IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU Uk1PREUgMAp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZp bmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0Cnwg I2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8 ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZp bmUgSEFWRV9UTV9HTVRPRkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAx CnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VU SU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NB IDEKfCAjZGVmaW5lIEhBVkVfQllURVNXQVBfSCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJ TUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9T RV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNT QVQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaWZkZWYgX19saW51eF9fCnwgLyog VGhlIExpbnV4IGtlcm5lbCBvbmx5IGFkZGVkIEZfRFVQRkRfQ0xPRVhFQyBpbiAyLjYuMjQsIHNv IHdlIGFsd2F5cyByZXBsYWNlCnwgICAgaXQgdG8gc3VwcG9ydCB0aGUgc2VtYW50aWNzIG9uIG9s ZGVyIGtlcm5lbHMgdGhhdCBmYWlsZWQgd2l0aCBFSU5WQUwuICAqLwp8IGNob2tlIG1lCnwgI2Vu ZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u ZmlndXJlOjIzMzg2OiByZXN1bHQ6IG5lZWRzIHJ1bnRpbWUgY2hlY2sKY29uZmlndXJlOjIzNTMx OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIGZkYXRhc3luYwpjb25maWd1cmU6MjM1 NjI6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1s cHRocmVhZCAgPiY1IApjb25maWd1cmU6MjM1NjI6ICQ/ID0gMApjb25maWd1cmU6MjM1Nzk6IHJl c3VsdDogbm9uZSByZXF1aXJlZApjb25maWd1cmU6MjM2MTk6IGNoZWNraW5nIHdoZXRoZXIgZmRv cGVuZGlyIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZToyMzYxOTogZ2NjIC1zdGQ9Z251OTkgLWMgLWcz IC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjM2MTk6ICQ/ID0gMApjb25maWd1cmU6 MjM2MTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMzY0MjogY2hlY2tpbmcgd2hldGhlciBmZG9w ZW5kaXIgd29ya3MKY29uZmlndXJlOjIzNjgzOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAt ZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjIzNjgzOiAk PyA9IDAKY29uZmlndXJlOjIzNjgzOiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyMzY4MzogJD8gPSAw CmNvbmZpZ3VyZToyMzY5MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIzNzQ1OiBjaGVja2luZyBm b3IgX19mcGVuZGluZwpjb25maWd1cmU6MjM3NjI6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MjM3NjI6 ICQ/ID0gMApjb25maWd1cmU6MjM3NzE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMzc3NDogY2hl Y2tpbmcgd2hldGhlciBfX2ZwZW5kaW5nIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZToyMzc3NDogZ2Nj IC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjM3NzQ6 ICQ/ID0gMApjb25maWd1cmU6MjM3NzQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMzg4OTogY2hl Y2tpbmcgd2hldGhlciBmc3RhdGF0ICguLi4sIDApIHdvcmtzCmNvbmZpZ3VyZToyMzkxNDogZ2Nj IC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFk ICA+JjUgCmNvbmZpZ3VyZToyMzkxNDogJD8gPSAwCmNvbmZpZ3VyZToyMzkxNDogLi9jb25mdGVz dApjb25maWd1cmU6MjM5MTQ6ICQ/ID0gMApjb25maWd1cmU6MjM5MjU6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToyNDAwNjogY2hlY2tpbmcgZm9yIGdldGxvYWRhdmcKY29uZmlndXJlOjI0MDA2OiBn Y2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbHB0aHJl YWQgID4mNSAKY29uZmlndXJlOjI0MDA2OiAkPyA9IDAKY29uZmlndXJlOjI0MDA2OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MjQzNjQ6IGNoZWNraW5nIHN5cy9sb2FkYXZnLmggdXNhYmlsaXR5CmNv bmZpZ3VyZToyNDM2NDogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4m NQpjb25mdGVzdC5jOjMxMToyNTogZmF0YWwgZXJyb3I6IHN5cy9sb2FkYXZnLmg6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxzeXMvbG9hZGF2Zy5oPgogICAgICAgICAgICAg ICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MjQzNjQ6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJlbWFjcyAyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVm aW5lIFZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8 ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2Rl ZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8 ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lO T0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZ U19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19V VFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwg I2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVm aW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VU SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhB VkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5l IEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwg I2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8 ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBI QVZFX1hLQiAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVf WFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NS RUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNk ZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhB VkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAx CnwgI2RlZmluZSBIQVZFX01BR0lDS01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9H VEszIDEKfCAjZGVmaW5lIEdES19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVm aW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RL IDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RL X1RFQVJPRkZfTUVOVV9JVEVNX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJ TkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZp bmUgSEFWRV9HVEtfRElBTE9HX0dFVF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19X SURHRVRfR0VUX1NFTlNJVElWRSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBF RCAxCnwgI2RlZmluZSBIQVZFX0dUS19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZp bmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9H VEtfV0lORE9XX1NFVF9IQVNfUkVTSVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1Mg MQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwg I2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JB UlMgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBY UmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFW RV9YRlQgMQp8ICNkZWZpbmUgSEFWRV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwg I2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVf UE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiov CnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhB VkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBV VFBSSU1BUlkgMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEK fCAjZGVmaW5lIEhBVkVfWFJBTkRSIDEKfCAjZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNkZWZp bmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZF X0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFUFQ0 IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0Ug MQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xS QU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNk ZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUg SEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhB VkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUg SEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9T WU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAx CnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNk ZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVm aW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQgMQp8 ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfQUxJR05FRF9BTExPQyAxCnwgI2Rl ZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9f X0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUg SEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJ WF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAx CnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2Rl ZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhB VkVfRkRPUEVORElSIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZT WU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQg MQp8ICNkZWZpbmUgSEFWRV9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVm aW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2Rl ZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhB VkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVf U1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVU SU1FUyAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVNBVCAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRU5T IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwg I2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRUNVUkVfR0VURU5W IDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwg I2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2Rl ZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVm aW5lIEhBVkVfR0xJQiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZp bmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8 ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04g MQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmlu ZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5l IHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAj ZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8 ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8 ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZp bmUgSEFWRV9QUk9DRlMgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNw Igp8ICNkZWZpbmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIE5BUlJPV1BST1RPIDEKfCAj ZGVmaW5lIFVOSVg5OF9QVFlTIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAo aSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiB7IGNoYXIg KnB0eW5hbWUgPSAwOyBzaWdzZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNldCAoJmJsb2NrZWQpOyBz aWdhZGRzZXQgKCZibG9ja2VkLCBTSUdDSExEKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfQkxPQ0ss ICZibG9ja2VkLCAwKTsgaWYgKGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1bmxvY2twdCAoZmQpICE9 IC0xKSBwdHluYW1lID0gcHRzbmFtZShmZCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX1VOQkxPQ0ss ICZibG9ja2VkLCAwKTsgaWYgKCFwdHluYW1lKSB7IGVtYWNzX2Nsb3NlIChmZCk7IHJldHVybiAt MTsgfSBzbnByaW50ZiAocHR5X25hbWUsIFBUWV9OQU1FX1NJWkUsICIlcyIsIHB0eW5hbWUpOyB9 CnwgI2RlZmluZSBQVFlfT1BFTiBkbyB7IGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX0NM T0VYRUMgfCBPX05PQ1RUWSk7IGlmIChmZCA8IDAgJiYgZXJybm8gPT0gRUlOVkFMKSBmZCA9IHBv c2l4X29wZW5wdCAoT19SRFdSIHwgT19OT0NUVFkpOyB9IHdoaWxlIChmYWxzZSkKfCAjZGVmaW5l IFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAx CnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEK fCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgR05V X0xJTlVYIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBVU0FCTEVf U0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgImd0a3V0aWwuaCIK fCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC11bmtub3duLWxpbnV4LWdudSIK fCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXdpdGgteC10b29sa2l0PWd0ayIKfCAj ZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdO VV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFW RV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVm aW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BU X0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9M T05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVf X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1RN X1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fR01U T0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFW RV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVm aW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBI QVZFX0JZVEVTV0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5l IEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAj ZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfX19GUEVORElORyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp bmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxz eXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRl IDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVf U1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVk IEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNs dWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1 ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNs dWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNs dWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVk ZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPHN5cy9sb2FkYXZnLmg+CmNvbmZpZ3Vy ZToyNDM2NDogcmVzdWx0OiBubwpjb25maWd1cmU6MjQzNjQ6IGNoZWNraW5nIHN5cy9sb2FkYXZn LmggcHJlc2VuY2UKY29uZmlndXJlOjI0MzY0OiBnY2MgLUUgICAgY29uZnRlc3QuYwpjb25mdGVz dC5jOjI3ODoyNTogZmF0YWwgZXJyb3I6IHN5cy9sb2FkYXZnLmg6IE5vIHN1Y2ggZmlsZSBvciBk aXJlY3RvcnkKICNpbmNsdWRlIDxzeXMvbG9hZGF2Zy5oPgogICAgICAgICAgICAgICAgICAgICAg ICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MjQzNjQ6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJlbWFjcyAyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5l IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJ T04gIjI0LjMuOTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUg X0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05V X1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUg X1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAj ZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENB UkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVf RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9I IDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lT X1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVU X0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBI QVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUg RE9VR19MRUFfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg SEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAx CnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJF U09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAj ZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFW RV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VN QUdJQ0sgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmlu ZSBIQVZFX01BR0lDS01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAj ZGVmaW5lIEdES19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJf RElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVm aW5lIEhBVkVfR1RLX0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZf TUVOVV9JVEVNX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwg I2RlZmluZSBIQVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9H VEtfRElBTE9HX0dFVF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VU X1NFTlNJVElWRSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2Rl ZmluZSBIQVZFX0dUS19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9H VEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9X X1NFVF9IQVNfUkVTSVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZp bmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBV U0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNk ZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJ TUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8 ICNkZWZpbmUgSEFWRV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBI QVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmlu ZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEK fCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkg MQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5l IEhBVkVfWFJBTkRSIDEKfCAjZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9M SUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8 ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFUFQ0IDEKfCAjZGVm aW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZp bmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8 ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2Rl ZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmlu ZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhB VkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFW RV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNW RlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVF Uk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlG QUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRM SU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVf Q09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQgMQp8ICNkZWZpbmUg SEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfQUxJR05FRF9BTExPQyAxCnwgI2RlZmluZSBIQVZF X1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5f VU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFO VFBUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQg MQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmlu ZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZF X0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRkRPUEVO RElSIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZp bmUgSEFWRV9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVf UFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZF X0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9J TUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAx CnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwg I2RlZmluZSBIQVZFX0ZVVElNRVNBVCAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRU5TIDEKfCAjZGVm aW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBI QVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRUNVUkVfR0VURU5WIDEKfCAjZGVm aW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBI QVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf R0xJQiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9N QlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUg QU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZp bmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RF VklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nl c3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJ UkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUg SVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUg SVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgSEFWRV9Q Uk9DRlMgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZp bmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIE5BUlJPV1BST1RPIDEKfCAjZGVmaW5lIFVO SVg5OF9QVFlTIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAoaSA9IDA7IGkg PCAxOyBpKyspCnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiB7IGNoYXIgKnB0eW5hbWUg PSAwOyBzaWdzZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNldCAoJmJsb2NrZWQpOyBzaWdhZGRzZXQg KCZibG9ja2VkLCBTSUdDSExEKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfQkxPQ0ssICZibG9ja2Vk LCAwKTsgaWYgKGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1bmxvY2twdCAoZmQpICE9IC0xKSBwdHlu YW1lID0gcHRzbmFtZShmZCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX1VOQkxPQ0ssICZibG9ja2Vk LCAwKTsgaWYgKCFwdHluYW1lKSB7IGVtYWNzX2Nsb3NlIChmZCk7IHJldHVybiAtMTsgfSBzbnBy aW50ZiAocHR5X25hbWUsIFBUWV9OQU1FX1NJWkUsICIlcyIsIHB0eW5hbWUpOyB9CnwgI2RlZmlu ZSBQVFlfT1BFTiBkbyB7IGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX0NMT0VYRUMgfCBP X05PQ1RUWSk7IGlmIChmZCA8IDAgJiYgZXJybm8gPT0gRUlOVkFMKSBmZCA9IHBvc2l4X29wZW5w dCAoT19SRFdSIHwgT19OT0NUVFkpOyB9IHdoaWxlIChmYWxzZSkKfCAjZGVmaW5lIFBUWV9OQU1F X1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmlu ZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5l IEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgR05VX0xJTlVYIC8q Ki8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBVU0FCTEVfU0lHSU8gMQp8 ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgImd0a3V0aWwuaCIKfCAjZGVmaW5l IEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC11bmtub3duLWxpbnV4LWdudSIKfCAjZGVmaW5l IEVNQUNTX0NPTkZJR19PUFRJT05TICItLXdpdGgteC10b29sa2l0PWd0ayIKfCAjZGVmaW5lIEhB VkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0Mg MQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RS VE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf RkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIExTVEFU X0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYg MQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdf SU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9B TEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUg MQp8ICNkZWZpbmUgSEFWRV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1B WCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdS T1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0JZVEVT V0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xP Q0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhB VkVfRFVQMiAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfX19GUEVORElORyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxz eXMvbG9hZGF2Zy5oPgpjb25maWd1cmU6MjQzNjQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjI0MzY0 OiBjaGVja2luZyBmb3Igc3lzL2xvYWRhdmcuaApjb25maWd1cmU6MjQzNjQ6IHJlc3VsdDogbm8K Y29uZmlndXJlOjI0Mzc5OiBjaGVja2luZyB3aGV0aGVyIGdldGxvYWRhdmcgaXMgZGVjbGFyZWQK Y29uZmlndXJlOjI0Mzc5OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZToyNDM3OTogJD8gPSAwCmNvbmZpZ3VyZToyNDM3OTogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjI0NjI5OiBjaGVja2luZyB3aGV0aGVyIGdldHRpbWVvZmRheSBjbG9iYmVycyBs b2NhbHRpbWUgYnVmZmVyCmNvbmZpZ3VyZToyNDY2ODogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyNDY2 ODogJD8gPSAwCmNvbmZpZ3VyZToyNDY2ODogLi9jb25mdGVzdApjb25maWd1cmU6MjQ2Njg6ICQ/ ID0gMApjb25maWd1cmU6MjQ2Nzg6IHJlc3VsdDogbm8KY29uZmlndXJlOjI0Njk0OiBjaGVja2lu ZyBmb3IgZ2V0dGltZW9mZGF5IHdpdGggUE9TSVggc2lnbmF0dXJlCmNvbmZpZ3VyZToyNDcyMjog Z2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjI4 MDoxOTogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnZ2V0dGltZW9mZGF5JwogICAgICAg ICAgICAgICBpbnQgZ2V0dGltZW9mZGF5IChzdHJ1Y3QgdGltZXZhbCAqcmVzdHJpY3QsIHZvaWQg KnJlc3RyaWN0KTsKICAgICAgICAgICAgICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNv bmZ0ZXN0LmM6Mjc4OjA6Ci91c3IvaW5jbHVkZS94ODZfNjQtbGludXgtZ251L3N5cy90aW1lLmg6 NzE6MTI6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdnZXR0aW1lb2ZkYXknIHdhcyBo ZXJlCiBleHRlcm4gaW50IGdldHRpbWVvZmRheSAoc3RydWN0IHRpbWV2YWwgKl9fcmVzdHJpY3Qg X190diwKICAgICAgICAgICAgXgpjb25maWd1cmU6MjQ3MjI6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAy NC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMu OTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VS Q0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAx CnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9T T1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZ U1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwg I2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0gg MQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVm aW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1Qg MQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8 ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQURE UiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19W TElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFf TUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQ IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmlu ZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RS SU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhB VkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9Y SU0gMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8 ICNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01B R0lDS01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdE S19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9E RVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVf R1RLX0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVN X05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBI QVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9H X0dFVF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElW RSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZF X0dUS19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5U QUJMRV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNf UkVTSVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZpbmUgSEFWRV9H TlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9O T1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFW RV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRp YXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUg SEFWRV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcg MQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUg SEFWRV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmluZSBIQVZFX1pM SUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5l IEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkgMQp8ICNkZWZp bmUgSEFWRV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5lIEhBVkVfWFJB TkRSIDEKfCAjZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEK fCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUg TUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFUFQ0IDEKfCAjZGVmaW5lIEhBVkVf R0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9H RVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUg SEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZF X1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQURE UklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElN RVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwg I2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8 ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAj ZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhB VkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dF VEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VS QVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04g MQp8ICNkZWZpbmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQgMQp8ICNkZWZpbmUgSEFWRV9MT0cy IDEKfCAjZGVmaW5lIEhBVkVfQUxJR05FRF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAx CnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lO SVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZp bmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1Ra U0VUIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NB VCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRkRPUEVORElSIDEKfCAj ZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhB VkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9N S09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAx CnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmlu ZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBI QVZFX0ZVVElNRVNBVCAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRU5TIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVOU0FUIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVERU QUJMRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRUNVUkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVf SU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JL IDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfR0xJQiAxCnwg I2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1Qg MQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5E X0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9Q VFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rl di9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwg I2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9T RVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNU T1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NF UChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgSEFWRV9QUk9DRlMgMQp8 ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgSU5URVJS VVBUX0lOUFVUIDEKfCAjZGVmaW5lIE5BUlJPV1BST1RPIDEKfCAjZGVmaW5lIFVOSVg5OF9QVFlT IDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAoaSA9IDA7IGkgPCAxOyBpKysp CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiB7IGNoYXIgKnB0eW5hbWUgPSAwOyBzaWdz ZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNldCAoJmJsb2NrZWQpOyBzaWdhZGRzZXQgKCZibG9ja2Vk LCBTSUdDSExEKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYg KGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1bmxvY2twdCAoZmQpICE9IC0xKSBwdHluYW1lID0gcHRz bmFtZShmZCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX1VOQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYg KCFwdHluYW1lKSB7IGVtYWNzX2Nsb3NlIChmZCk7IHJldHVybiAtMTsgfSBzbnByaW50ZiAocHR5 X25hbWUsIFBUWV9OQU1FX1NJWkUsICIlcyIsIHB0eW5hbWUpOyB9CnwgI2RlZmluZSBQVFlfT1BF TiBkbyB7IGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX0NMT0VYRUMgfCBPX05PQ1RUWSk7 IGlmIChmZCA8IDAgJiYgZXJybm8gPT0gRUlOVkFMKSBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdS IHwgT19OT0NUVFkpOyB9IHdoaWxlIChmYWxzZSkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYg LyoqLwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRK TVBfV09SS1MgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NF VEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgR05VX0xJTlVYIC8qKi8KfCAjZGVm aW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBVU0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUg Q09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgImd0a3V0aWwuaCIKfCAjZGVmaW5lIEVNQUNTX0NP TkZJR1VSQVRJT04gIng4Nl82NC11bmtub3duLWxpbnV4LWdudSIKfCAjZGVmaW5lIEVNQUNTX0NP TkZJR19PUFRJT05TICItLXdpdGgteC10b29sa2l0PWd0ayIKfCAjZGVmaW5lIEhBVkVfWF9XSU5E T1dTIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZF X1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwg I2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5D IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1Nf U0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFW RV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZp bmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwg I2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUg SEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUgMQp8ICNkZWZp bmUgSEFWRV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdp ZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0JZVEVTV0FQX0ggMQp8 ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElN RSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAx CnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5E SVIgMQp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19G UEVORElORyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdGltZS5o Pgp8ICAgICAgICAgICAgICAgc3RydWN0IHRpbWV2YWwgYzsKfCAgICAgICAgICAgICAgIGludCBn ZXR0aW1lb2ZkYXkgKHN0cnVjdCB0aW1ldmFsICpyZXN0cmljdCwgdm9pZCAqcmVzdHJpY3QpOwp8 IAp8IGludAp8IG1haW4gKCkKfCB7CnwgLyogZ2xpYmMgdXNlcyBzdHJ1Y3QgdGltZXpvbmUgKiBy YXRoZXIgdGhhbiB0aGUgUE9TSVggdm9pZCAqCnwgICAgICAgICAgICAgICAgICBpZiBfR05VX1NP VVJDRSBpcyBkZWZpbmVkLiAgSG93ZXZlciwgc2luY2UgdGhlIG9ubHkgcG9ydGFibGUKfCAgICAg ICAgICAgICAgICAgIHVzZSBvZiBnZXR0aW1lb2ZkYXkgdXNlcyBOVUxMIGFzIHRoZSBzZWNvbmQg cGFyYW1ldGVyLCBhbmQKfCAgICAgICAgICAgICAgICAgIHNpbmNlIHRoZSBnbGliYyBkZWZpbml0 aW9uIGlzIGFjdHVhbGx5IG1vcmUgdHlwZXNhZmUsIGl0IGlzCnwgICAgICAgICAgICAgICAgICBu b3Qgd29ydGggd3JhcHBpbmcgdGhpcyB0byBnZXQgYSBjb21wbGlhbnQgc2lnbmF0dXJlLiAgKi8K fCAgICAgICAgICAgICAgIGludCAoKmYpIChzdHJ1Y3QgdGltZXZhbCAqcmVzdHJpY3QsIHZvaWQg KnJlc3RyaWN0KQp8ICAgICAgICAgICAgICAgICA9IGdldHRpbWVvZmRheTsKfCAgICAgICAgICAg ICAgIGludCB4ID0gZiAoJmMsIDApOwp8ICAgICAgICAgICAgICAgcmV0dXJuICEoeCB8IGMudHZf c2VjIHwgYy50dl91c2VjKTsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI0 NzM4OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZToyNDczODogJD8gPSAwCmNvbmZpZ3VyZToyNDc0NzogcmVzdWx0OiBhbG1vc3QKY29uZmlndXJl OjI0ODY0OiBjaGVja2luZyBmb3IgbWVtcmNocgpjb25maWd1cmU6MjQ4NjQ6IGdjYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApj b25maWd1cmU6MjQ4NjQ6ICQ/ID0gMApjb25maWd1cmU6MjQ4NjQ6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToyNDk1MjogY2hlY2tpbmcgZm9yIHdvcmtpbmcgbWt0aW1lCmNvbmZpZ3VyZToyNTE2MDog Z2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxwdGhy ZWFkICA+JjUgCmNvbmZpZ3VyZToyNTE2MDogJD8gPSAwCmNvbmZpZ3VyZToyNTE2MDogLi9jb25m dGVzdApjb25maWd1cmU6MjUxNjA6ICQ/ID0gMApjb25maWd1cmU6MjUxNzE6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToyNTIzMjogY2hlY2tpbmcgd2hldGhlciBzaWduYXR1cmUgb2YgcHNlbGVjdCBj b25mb3JtcyB0byBQT1NJWApjb25maWd1cmU6MjUyNTI6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0 ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MjUy NTI6ICQ/ID0gMApjb25maWd1cmU6MjUyNjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNTI2Mzog Y2hlY2tpbmcgd2hldGhlciBwc2VsZWN0IGRldGVjdHMgaW52YWxpZCBmZHMKY29uZmlndXJlOjI1 MzA4OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAt bHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjI1MzA4OiAkPyA9IDAKY29uZmlndXJlOjI1MzA4OiAu L2NvbmZ0ZXN0CmNvbmZpZ3VyZToyNTMwODogJD8gPSAwCmNvbmZpZ3VyZToyNTMxOTogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjI1NDI1OiBjaGVja2luZyB3aGV0aGVyIHB0aHJlYWRfc2lnbWFzayB3 b3JrcyB3aXRob3V0IC1scHRocmVhZApjb25maWd1cmU6MjU0NTQ6IGdjYyAtc3RkPWdudTk5IC1v IGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1 cmU6MjU0NTQ6ICQ/ID0gMApjb25maWd1cmU6MjU0NTQ6IC4vY29uZnRlc3QKY29uZmlndXJlOjI1 NDU0OiAkPyA9IDEKY29uZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg ImVtYWNzIDI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lP TiAiMjQuMy45MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBf QUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVf U09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBf VEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNk ZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FS RF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAx CnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9E SVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ T19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFWRV9URVJNX0gg MQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNf U0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRf SUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAxCnwgI2RlZmluZSBE T1VHX0xFQV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWEtCIDEK fCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVT T1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNk ZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZF X1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9JTUFHRU1B R0lDSyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElNQUdFUElYRUxTIDEKfCAjZGVmaW5l IEhBVkVfTUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2RlZmluZSBIQVZFX0dUSzMgMQp8ICNk ZWZpbmUgR0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgR0xJQl9E SVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVTRV9HVEsgMQp8ICNkZWZp bmUgSEFWRV9HVEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfVEVBUk9GRl9N RU5VX0lURU1fTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfV0lORE9XIDEKfCAj ZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dU S19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRf U0VOU0lUSVZFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQUEVEIDEKfCAjZGVm aW5lIEhBVkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAxCnwgI2RlZmluZSBIQVZFX0dU S19PUklFTlRBQkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2RlZmluZSBIQVZFX0dUS19XSU5ET1df U0VUX0hBU19SRVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZFX0dTRVRUSU5HUyAxCnwgI2RlZmlu ZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxFTk9USUZZIDEKfCAjZGVmaW5lIFVT RV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2Rl ZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklN SW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hGVCAxCnwg I2RlZmluZSBIQVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhB VkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwg I2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQU1RSVUNUIC8qKi8KfCAjZGVmaW5l IEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8 ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUT1VUUFVUUFJJTUFSWSAx CnwgI2RlZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNFU0NVUlJFTlQgMQp8ICNkZWZpbmUg SEFWRV9YUkFORFIgMQp8ICNkZWZpbmUgSEFWRV9YSU5FUkFNQSAxCnwgI2RlZmluZSBIQVZFX0xJ QlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwg I2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0FDQ0VQVDQgMQp8ICNkZWZp bmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwg I2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFW RV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZF X1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZG Uk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVS TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9GUkVFSUZB RERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJ TkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5l IEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZF X0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9D T1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX19fRVhFQ1VUQUJMRV9TVEFSVCAxCnwgI2RlZmluZSBI QVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9BTElHTkVEX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVf UkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9V TldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5U UFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAx CnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5l IEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVf RkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GRE9QRU5E SVIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNk ZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmlu ZSBIQVZFX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9Q U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVf RkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lN QVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEK fCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAj ZGVmaW5lIEhBVkVfRlVUSU1FU0FUIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FTlMgMQp8ICNkZWZp bmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhB VkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFQ1VSRV9HRVRFTlYgMQp8ICNkZWZp bmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhB VkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVf V09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9H TElCIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01C U1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBB TVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2RlZmlu ZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVW SUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vz c2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElS RUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJ U19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJ U19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBIQVZFX1BS T0NGUyAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmlu ZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgTkFSUk9XUFJPVE8gMQp8ICNkZWZpbmUgVU5J WDk4X1BUWVMgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8 IDE7IGkrKykKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHsgY2hhciAqcHR5bmFtZSA9 IDA7IHNpZ3NldF90IGJsb2NrZWQ7IHNpZ2VtcHR5c2V0ICgmYmxvY2tlZCk7IHNpZ2FkZHNldCAo JmJsb2NrZWQsIFNJR0NITEQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19CTE9DSywgJmJsb2NrZWQs IDApOyBpZiAoZ3JhbnRwdCAoZmQpICE9IC0xICYmIHVubG9ja3B0IChmZCkgIT0gLTEpIHB0eW5h bWUgPSBwdHNuYW1lKGZkKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfVU5CTE9DSywgJmJsb2NrZWQs IDApOyBpZiAoIXB0eW5hbWUpIHsgZW1hY3NfY2xvc2UgKGZkKTsgcmV0dXJuIC0xOyB9IHNucHJp bnRmIChwdHlfbmFtZSwgUFRZX05BTUVfU0laRSwgIiVzIiwgcHR5bmFtZSk7IH0KfCAjZGVmaW5l IFBUWV9PUEVOIGRvIHsgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8IE9fQ0xPRVhFQyB8IE9f Tk9DVFRZKTsgaWYgKGZkIDwgMCAmJiBlcnJubyA9PSBFSU5WQUwpIGZkID0gcG9zaXhfb3BlbnB0 IChPX1JEV1IgfCBPX05PQ1RUWSk7IH0gd2hpbGUgKGZhbHNlKQp8ICNkZWZpbmUgUFRZX05BTUVf U1BSSU5URiAvKiovCnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5l IEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUg SEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBHTlVfTElOVVggLyoq Lwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwg I2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAiZ3RrdXRpbC5oIgp8ICNkZWZpbmUg RU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXVua25vd24tbGludXgtZ251Igp8ICNkZWZpbmUg RU1BQ1NfQ09ORklHX09QVElPTlMgIi0td2l0aC14LXRvb2xraXQ9Z3RrIgp8ICNkZWZpbmUgSEFW RV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVm aW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJU T0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9G REFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgTFNUQVRf Rk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2Rl ZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAx CnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19J TlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FM QVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAx CnwgI2RlZmluZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFY IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf VVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JP VVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQllURVNX QVBfSCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9D S19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFW RV9EVVAyIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X0ZET1BFTkRJUiAxCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9fX0ZQRU5ESU5HIDEKfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSBzdHJ1Y3Qg dGltZXpvbmUKfCAjZGVmaW5lIEhBVkVfTUVNUkNIUiAxCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RF TVAgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaW5jbHVkZSA8cHRocmVhZC5oPgp8 ICNpbmNsdWRlIDxzaWduYWwuaD4KfCAjaW5jbHVkZSA8c3RkZGVmLmg+CnwgaW50IG1haW4gKCkK fCB7CnwgICBzaWdzZXRfdCBzZXQ7CnwgICBzaWdlbXB0eXNldCAoJnNldCk7CnwgICByZXR1cm4g cHRocmVhZF9zaWdtYXNrICgxNzI5LCAmc2V0LCBOVUxMKSAhPSAwOwp8IH0KY29uZmlndXJlOjI1 NDY1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjU0Nzc6IGNoZWNraW5nIHdoZXRoZXIgcHRocmVh ZF9zaWdtYXNrIHJldHVybnMgZXJyb3IgbnVtYmVycwpjb25maWd1cmU6MjU1MDk6IGdjYyAtc3Rk PWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgID4m NSAKY29uZmlndXJlOjI1NTA5OiAkPyA9IDAKY29uZmlndXJlOjI1NTA5OiAuL2NvbmZ0ZXN0CmNv bmZpZ3VyZToyNTUwOTogJD8gPSAwCmNvbmZpZ3VyZToyNTUyMTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjI1NTMyOiBjaGVja2luZyB3aGV0aGVyIHB0aHJlYWRfc2lnbWFzayB1bmJsb2NrcyBzaWdu YWxzIGNvcnJlY3RseQpjb25maWd1cmU6MjU1ODY6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgID4mNSAKY29uZmlndXJlOjI1NTg2 OiAkPyA9IDAKY29uZmlndXJlOjI1NTg2OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyNTU4NjogJD8g PSAwCmNvbmZpZ3VyZToyNTU5ODogcmVzdWx0OiBndWVzc2luZyB5ZXMKY29uZmlndXJlOjI1NjQy OiBjaGVja2luZyBmb3IgcHV0ZW52IGNvbXBhdGlibGUgd2l0aCBHTlUgYW5kIFNWSUQKY29uZmln dXJlOjI1NjgxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRl c3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjI1NjgxOiAkPyA9IDAKY29uZmlndXJlOjI1 NjgxOiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyNTY4MTogJD8gPSAwCmNvbmZpZ3VyZToyNTY5Mjog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjI1NzUyOiBjaGVja2luZyBzeXMvYWNsLmggdXNhYmlsaXR5 CmNvbmZpZ3VyZToyNTc1MjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5j ID4mNQpjb25mdGVzdC5jOjMxNToyMTogZmF0YWwgZXJyb3I6IHN5cy9hY2wuaDogTm8gc3VjaCBm aWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPHN5cy9hY2wuaD4KICAgICAgICAgICAgICAgICAg ICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MjU3NTI6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJlbWFjcyAyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5l IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJ T04gIjI0LjMuOTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUg X0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05V X1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUg X1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAj ZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENB UkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVf RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9I IDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lT X1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVU X0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBI QVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUg RE9VR19MRUFfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg SEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAx CnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJF U09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAj ZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFW RV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VN QUdJQ0sgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmlu ZSBIQVZFX01BR0lDS01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAj ZGVmaW5lIEdES19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJf RElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVm aW5lIEhBVkVfR1RLX0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZf TUVOVV9JVEVNX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwg I2RlZmluZSBIQVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9H VEtfRElBTE9HX0dFVF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VU X1NFTlNJVElWRSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2Rl ZmluZSBIQVZFX0dUS19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9H VEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9X X1NFVF9IQVNfUkVTSVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZp bmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBV U0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNk ZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJ TUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8 ICNkZWZpbmUgSEFWRV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBI QVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmlu ZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEK fCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkg MQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5l IEhBVkVfWFJBTkRSIDEKfCAjZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9M SUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8 ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFUFQ0IDEKfCAjZGVm aW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZp bmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8 ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2Rl ZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmlu ZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhB VkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFW RV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNW RlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVF Uk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlG QUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRM SU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVf Q09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQgMQp8ICNkZWZpbmUg SEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfQUxJR05FRF9BTExPQyAxCnwgI2RlZmluZSBIQVZF X1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5f VU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFO VFBUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQg MQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmlu ZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZF X0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRkRPUEVO RElSIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZp bmUgSEFWRV9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVf UFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZF X0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9J TUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAx CnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwg I2RlZmluZSBIQVZFX0ZVVElNRVNBVCAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRU5TIDEKfCAjZGVm aW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBI QVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRUNVUkVfR0VURU5WIDEKfCAjZGVm aW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBI QVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf R0xJQiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9N QlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUg QU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZp bmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RF VklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nl c3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJ UkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUg SVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUg SVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgSEFWRV9Q Uk9DRlMgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZp bmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIE5BUlJPV1BST1RPIDEKfCAjZGVmaW5lIFVO SVg5OF9QVFlTIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAoaSA9IDA7IGkg PCAxOyBpKyspCnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiB7IGNoYXIgKnB0eW5hbWUg PSAwOyBzaWdzZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNldCAoJmJsb2NrZWQpOyBzaWdhZGRzZXQg KCZibG9ja2VkLCBTSUdDSExEKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfQkxPQ0ssICZibG9ja2Vk LCAwKTsgaWYgKGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1bmxvY2twdCAoZmQpICE9IC0xKSBwdHlu YW1lID0gcHRzbmFtZShmZCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX1VOQkxPQ0ssICZibG9ja2Vk LCAwKTsgaWYgKCFwdHluYW1lKSB7IGVtYWNzX2Nsb3NlIChmZCk7IHJldHVybiAtMTsgfSBzbnBy aW50ZiAocHR5X25hbWUsIFBUWV9OQU1FX1NJWkUsICIlcyIsIHB0eW5hbWUpOyB9CnwgI2RlZmlu ZSBQVFlfT1BFTiBkbyB7IGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX0NMT0VYRUMgfCBP X05PQ1RUWSk7IGlmIChmZCA8IDAgJiYgZXJybm8gPT0gRUlOVkFMKSBmZCA9IHBvc2l4X29wZW5w dCAoT19SRFdSIHwgT19OT0NUVFkpOyB9IHdoaWxlIChmYWxzZSkKfCAjZGVmaW5lIFBUWV9OQU1F X1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmlu ZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5l IEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgR05VX0xJTlVYIC8q Ki8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBVU0FCTEVfU0lHSU8gMQp8 ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgImd0a3V0aWwuaCIKfCAjZGVmaW5l IEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC11bmtub3duLWxpbnV4LWdudSIKfCAjZGVmaW5l IEVNQUNTX0NPTkZJR19PUFRJT05TICItLXdpdGgteC10b29sa2l0PWd0ayIKfCAjZGVmaW5lIEhB VkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0Mg MQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RS VE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf RkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIExTVEFU X0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYg MQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdf SU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9B TEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUg MQp8ICNkZWZpbmUgSEFWRV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1B WCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdS T1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0JZVEVT V0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xP Q0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhB VkVfRFVQMiAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfX19GUEVORElORyAxCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgc3RydWN0 IHRpbWV6b25lCnwgI2RlZmluZSBIQVZFX01FTVJDSFIgMQp8ICNkZWZpbmUgR05VTElCX01LT1NU RU1QIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAvKiBlbmQgY29uZmRlZnMu aC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAj IGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gK fCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8 ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMg aWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJT ICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5k aWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1Nf SAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVT X0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5U X0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9I CnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8c3lzL2FjbC5oPgpj b25maWd1cmU6MjU3NTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjI1NzUyOiBjaGVja2luZyBzeXMv YWNsLmggcHJlc2VuY2UKY29uZmlndXJlOjI1NzUyOiBnY2MgLUUgICAgY29uZnRlc3QuYwpjb25m dGVzdC5jOjI4MjoyMTogZmF0YWwgZXJyb3I6IHN5cy9hY2wuaDogTm8gc3VjaCBmaWxlIG9yIGRp cmVjdG9yeQogI2luY2x1ZGUgPHN5cy9hY2wuaD4KICAgICAgICAgICAgICAgICAgICAgXgpjb21w aWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MjU3NTI6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAy NC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMu OTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VS Q0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAx CnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9T T1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZ U1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwg I2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0gg MQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVm aW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1Qg MQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8 ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQURE UiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19W TElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFf TUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQ IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmlu ZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RS SU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhB VkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9Y SU0gMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8 ICNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01B R0lDS01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdE S19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9E RVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVf R1RLX0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVN X05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBI QVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9H X0dFVF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElW RSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZF X0dUS19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5U QUJMRV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNf UkVTSVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZpbmUgSEFWRV9H TlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9O T1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFW RV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRp YXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUg SEFWRV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcg MQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUg SEFWRV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmluZSBIQVZFX1pM SUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5l IEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkgMQp8ICNkZWZp bmUgSEFWRV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5lIEhBVkVfWFJB TkRSIDEKfCAjZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEK fCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUg TUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFUFQ0IDEKfCAjZGVmaW5lIEhBVkVf R0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9H RVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUg SEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZF X1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQURE UklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElN RVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwg I2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8 ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAj ZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhB VkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dF VEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VS QVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04g MQp8ICNkZWZpbmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQgMQp8ICNkZWZpbmUgSEFWRV9MT0cy IDEKfCAjZGVmaW5lIEhBVkVfQUxJR05FRF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAx CnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lO SVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZp bmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1Ra U0VUIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NB VCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRkRPUEVORElSIDEKfCAj ZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhB VkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9N S09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAx CnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmlu ZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBI QVZFX0ZVVElNRVNBVCAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRU5TIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVOU0FUIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVERU QUJMRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRUNVUkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVf SU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JL IDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfR0xJQiAxCnwg I2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1Qg MQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5E X0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9Q VFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rl di9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwg I2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9T RVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNU T1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NF UChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgSEFWRV9QUk9DRlMgMQp8 ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgSU5URVJS VVBUX0lOUFVUIDEKfCAjZGVmaW5lIE5BUlJPV1BST1RPIDEKfCAjZGVmaW5lIFVOSVg5OF9QVFlT IDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAoaSA9IDA7IGkgPCAxOyBpKysp CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiB7IGNoYXIgKnB0eW5hbWUgPSAwOyBzaWdz ZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNldCAoJmJsb2NrZWQpOyBzaWdhZGRzZXQgKCZibG9ja2Vk LCBTSUdDSExEKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYg KGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1bmxvY2twdCAoZmQpICE9IC0xKSBwdHluYW1lID0gcHRz bmFtZShmZCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX1VOQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYg KCFwdHluYW1lKSB7IGVtYWNzX2Nsb3NlIChmZCk7IHJldHVybiAtMTsgfSBzbnByaW50ZiAocHR5 X25hbWUsIFBUWV9OQU1FX1NJWkUsICIlcyIsIHB0eW5hbWUpOyB9CnwgI2RlZmluZSBQVFlfT1BF TiBkbyB7IGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX0NMT0VYRUMgfCBPX05PQ1RUWSk7 IGlmIChmZCA8IDAgJiYgZXJybm8gPT0gRUlOVkFMKSBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdS IHwgT19OT0NUVFkpOyB9IHdoaWxlIChmYWxzZSkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYg LyoqLwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRK TVBfV09SS1MgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NF VEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgR05VX0xJTlVYIC8qKi8KfCAjZGVm aW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBVU0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUg Q09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgImd0a3V0aWwuaCIKfCAjZGVmaW5lIEVNQUNTX0NP TkZJR1VSQVRJT04gIng4Nl82NC11bmtub3duLWxpbnV4LWdudSIKfCAjZGVmaW5lIEVNQUNTX0NP TkZJR19PUFRJT05TICItLXdpdGgteC10b29sa2l0PWd0ayIKfCAjZGVmaW5lIEhBVkVfWF9XSU5E T1dTIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZF X1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwg I2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5D IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1Nf U0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFW RV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZp bmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwg I2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUg SEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUgMQp8ICNkZWZp bmUgSEFWRV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdp ZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0JZVEVTV0FQX0ggMQp8 ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElN RSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAx CnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5E SVIgMQp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19G UEVORElORyAxCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgc3RydWN0IHRpbWV6b25l CnwgI2RlZmluZSBIQVZFX01FTVJDSFIgMQp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPHN5cy9hY2wuaD4KY29uZmlndXJlOjI1NzUyOiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToyNTc1MjogY2hlY2tpbmcgZm9yIHN5cy9hY2wuaApjb25maWd1cmU6MjU3NTI6IHJlc3VsdDog bm8KY29uZmlndXJlOjI2MTYyOiBXQVJOSU5HOiBsaWJhY2wgZGV2ZWxvcG1lbnQgbGlicmFyeSB3 YXMgbm90IGZvdW5kIG9yIG5vdCB1c2FibGUuCmNvbmZpZ3VyZToyNjE2NDogV0FSTklORzogZW1h Y3Mgd2lsbCBiZSBidWlsdCB3aXRob3V0IEFDTCBzdXBwb3J0Lgpjb25maWd1cmU6MjYxODM6IGNo ZWNraW5nIHdoZXRoZXIgcmVhZGxpbmsgc2lnbmF0dXJlIGlzIGNvcnJlY3QKY29uZmlndXJlOjI2 MjAxOiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZToyNjIwMTogJD8gPSAwCmNvbmZpZ3VyZToyNjIwODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI2 MjEwOiBjaGVja2luZyB3aGV0aGVyIHJlYWRsaW5rIGhhbmRsZXMgdHJhaWxpbmcgc2xhc2ggY29y cmVjdGx5CmNvbmZpZ3VyZToyNjI0MDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1P MiAgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyNjI0MDogJD8gPSAw CmNvbmZpZ3VyZToyNjI0MDogLi9jb25mdGVzdApjb25maWd1cmU6MjYyNDA6ICQ/ID0gMApjb25m aWd1cmU6MjYyNTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNjMyODogY2hlY2tpbmcgZm9yIHNp ZzJzdHIKY29uZmlndXJlOjI2MzI4OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8y ICAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKL3RtcC9jYzY4QTZiNS5vOiBJbiBmdW5j dGlvbiBgbWFpbic6Ci9ob21lL3R1aGRvL0Rvd25sb2Fkcy9lbWFjcy0yNC4zLjkwL2NvbmZ0ZXN0 LmM6MzE3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzaWcyc3RyJwpjb2xsZWN0MjogZXJyb3I6 IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjI2MzI4OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi ZW1hY3MgMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQ QUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9O ICIyNC4zLjkwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9B TExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9T T1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9U QU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2Rl ZmluZSBTWVNURU1fVFlQRSAiZ251L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJE X0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEK fCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJ UkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElP X0VYVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUEVSU09OQUxJVFlfTElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAx CnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19T SUdMSVNUIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9J Rl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVmaW5lIERP VUdfTEVBX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhB VkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YS0IgMQp8 ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNP VVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2Rl ZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVf WDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0lNQUdFTUFH SUNLIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLRVhQT1JUSU1BR0VQSVhFTFMgMQp8ICNkZWZpbmUg SEFWRV9NQUdJQ0tNRVJHRUlNQUdFTEFZRVJTIDEKfCAjZGVmaW5lIEhBVkVfR1RLMyAxCnwgI2Rl ZmluZSBHREtfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBHTElCX0RJ U0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgVVNFX0dUSyAxCnwgI2RlZmlu ZSBIQVZFX0dUS19IQU5ETEVfQk9YX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01F TlVfSVRFTV9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9XSU5ET1cgMQp8ICNk ZWZpbmUgSEFWRV9HVEtfV0lER0VUX1NFVF9IQVNfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RL X0RJQUxPR19HRVRfQUNUSU9OX0FSRUEgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9T RU5TSVRJVkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9NQVBQRUQgMQp8ICNkZWZp bmUgSEFWRV9HVEtfQURKVVNUTUVOVF9HRVRfUEFHRV9TSVpFIDEKfCAjZGVmaW5lIEhBVkVfR1RL X09SSUVOVEFCTEVfU0VUX09SSUVOVEFUSU9OIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19T RVRfSEFTX1JFU0laRV9HUklQIDEKfCAjZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKfCAjZGVmaW5l IEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfR0ZJTEVOT1RJRlkgMQp8ICNkZWZpbmUgVVNF X0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVm aW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1J bnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWEZUIDEKfCAj ZGVmaW5lIEhBVkVfRlJFRVRZUEUgMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFW RV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAj ZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIFBOR19ERVBTVFJVQ1QgLyoqLwp8ICNkZWZpbmUg SEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwg I2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRPVVRQVVRQUklNQVJZIDEK fCAjZGVmaW5lIEhBVkVfWFJSR0VUU0NSRUVOUkVTT1VSQ0VTQ1VSUkVOVCAxCnwgI2RlZmluZSBI QVZFX1hSQU5EUiAxCnwgI2RlZmluZSBIQVZFX1hJTkVSQU1BIDEKfCAjZGVmaW5lIEhBVkVfTElC WE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAj ZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVBUNCAxCnwgI2RlZmlu ZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5l IEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAj ZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZF X0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVf U0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZS T00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJO QU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFE RFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElO RSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUg SEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVf Q0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NP UFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfX19FWEVDVVRBQkxFX1NUQVJUIDEKfCAjZGVmaW5lIEhB VkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX0FMSUdORURfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9S QU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VO V0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQ VCAxCnwgI2RlZmluZSBIQVZFX0dFVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEK fCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUg SEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9G QUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZET1BFTkRJ UiAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5l IEhBVkVfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BT RUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9G Q0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1B WCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8 ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNk ZWZpbmUgSEFWRV9GVVRJTUVTQVQgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVOUyAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VDVVJFX0dFVEVOViAxCnwgI2RlZmlu ZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFW RV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9X T1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0dM SUIgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJT VEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFN UEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5l IEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJ Q0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNz ZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJF Q1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElT X0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElT X0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEhBVkVfUFJP Q0ZTIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5l IElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBOQVJST1dQUk9UTyAxCnwgI2RlZmluZSBVTklY OThfUFRZUyAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwg MTsgaSsrKQp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgeyBjaGFyICpwdHluYW1lID0g MDsgc2lnc2V0X3QgYmxvY2tlZDsgc2lnZW1wdHlzZXQgKCZibG9ja2VkKTsgc2lnYWRkc2V0ICgm YmxvY2tlZCwgU0lHQ0hMRCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX0JMT0NLLCAmYmxvY2tlZCwg MCk7IGlmIChncmFudHB0IChmZCkgIT0gLTEgJiYgdW5sb2NrcHQgKGZkKSAhPSAtMSkgcHR5bmFt ZSA9IHB0c25hbWUoZmQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19VTkJMT0NLLCAmYmxvY2tlZCwg MCk7IGlmICghcHR5bmFtZSkgeyBlbWFjc19jbG9zZSAoZmQpOyByZXR1cm4gLTE7IH0gc25wcmlu dGYgKHB0eV9uYW1lLCBQVFlfTkFNRV9TSVpFLCAiJXMiLCBwdHluYW1lKTsgfQp8ICNkZWZpbmUg UFRZX09QRU4gZG8geyBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19DTE9FWEVDIHwgT19O T0NUVFkpOyBpZiAoZmQgPCAwICYmIGVycm5vID09IEVJTlZBTCkgZmQgPSBwb3NpeF9vcGVucHQg KE9fUkRXUiB8IE9fTk9DVFRZKTsgfSB3aGlsZSAoZmFsc2UpCnwgI2RlZmluZSBQVFlfTkFNRV9T UFJJTlRGIC8qKi8KfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUg R0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBI QVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIEdOVV9MSU5VWCAvKiov CnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAj ZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJndGt1dGlsLmgiCnwgI2RlZmluZSBF TUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdW5rbm93bi1saW51eC1nbnUiCnwgI2RlZmluZSBF TUFDU19DT05GSUdfT1BUSU9OUyAiLS13aXRoLXgtdG9vbGtpdD1ndGsiCnwgI2RlZmluZSBIQVZF X1hfV0lORE9XUyAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEK fCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZp bmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRP TEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZE QVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBMU1RBVF9G T0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVm aW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEK fCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lO VCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxB Uk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9UTV9UTV9aT05FIDEK fCAjZGVmaW5lIEhBVkVfVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVgg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19V VElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9V UFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9CWVRFU1dB UF9IIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NL X1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZF X0RVUDIgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf RkRPUEVORElSIDEKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX19fRlBFTkRJTkcgMQp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHN0cnVjdCB0 aW1lem9uZQp8ICNkZWZpbmUgSEFWRV9NRU1SQ0hSIDEKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVN UCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBVU0VfQUNMIDAK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHNpZzJzdHIgdG8gYW4gaW5ub2N1 b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBzaWcyc3RyLgp8ICAgIEZv ciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAq Lwp8ICNkZWZpbmUgc2lnMnN0ciBpbm5vY3VvdXNfc2lnMnN0cgp8IAp8IC8qIFN5c3RlbSBoZWFk ZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywK fCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzaWcyc3RyICgpOyBiZWxvdy4KfCAg ICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVk LCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21w aWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+Cnwg I2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBzaWcyc3Ry CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4g ZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0 eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBl IHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMi CnwgI2VuZGlmCnwgY2hhciBzaWcyc3RyICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmlu ZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlz IGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAg ICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBh bGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX3NpZzJzdHIgfHwgZGVmaW5lZCBfX3N0dWJf X19zaWcyc3RyCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJl dHVybiBzaWcyc3RyICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjYzMjg6 IHJlc3VsdDogbm8KY29uZmlndXJlOjI2NDMwOiBjaGVja2luZyBmb3Igdm9sYXRpbGUgc2lnX2F0 b21pY190CmNvbmZpZ3VyZToyNjQzMDogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25m dGVzdC5jID4mNQpjb25maWd1cmU6MjY0MzA6ICQ/ID0gMApjb25maWd1cmU6MjY0MzA6IGdjYyAt c3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVu Y3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjI5MDozNjogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Np b24gYmVmb3JlICcpJyB0b2tlbgogaWYgKHNpemVvZiAoKHZvbGF0aWxlIHNpZ19hdG9taWNfdCkp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToyNjQzMDog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgImVtYWNzIDI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNk ZWZpbmUgVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAx CnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAx CnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRf SU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVf U1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9Q VFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNk ZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJT19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUg SEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TWVNfU0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAx CnwgI2RlZmluZSBET1VHX0xFQV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAx CnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5l IEhBVkVfWEtCIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFW RV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZT Q1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwg I2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUg SEFWRV9JTUFHRU1BR0lDSyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElNQUdFUElYRUxT IDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2RlZmluZSBIQVZF X0dUSzMgMQp8ICNkZWZpbmUgR0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNk ZWZpbmUgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVTRV9H VEsgMQp8ICNkZWZpbmUgSEFWRV9HVEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFWRV9H VEtfVEVBUk9GRl9NRU5VX0lURU1fTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRf V0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRPVyAxCnwgI2Rl ZmluZSBIQVZFX0dUS19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVfR1RL X1dJREdFVF9HRVRfU0VOU0lUSVZFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQ UEVEIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAxCnwgI2Rl ZmluZSBIQVZFX0dUS19PUklFTlRBQkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2RlZmluZSBIQVZF X0dUS19XSU5ET1dfU0VUX0hBU19SRVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZFX0dTRVRUSU5H UyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxFTk9USUZZIDEK fCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExf QkFSUyAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5l IFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBI QVZFX1hGVCAxCnwgI2RlZmluZSBIQVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEK fCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFW RV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQU1RSVUNUIC8q Ki8KfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUg SEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUT1VU UFVUUFJJTUFSWSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNFU0NVUlJFTlQg MQp8ICNkZWZpbmUgSEFWRV9YUkFORFIgMQp8ICNkZWZpbmUgSEFWRV9YSU5FUkFNQSAxCnwgI2Rl ZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhB VkVfTElCTSAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0FDQ0VQ VDQgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FH RSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVf TFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlU IDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8 ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwg I2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmlu ZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUg SEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZpbmUg SEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmlu ZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZF X1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5U IDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwg I2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNk ZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX19fRVhFQ1VUQUJMRV9TVEFSVCAx CnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9BTElHTkVEX0FMTE9DIDEKfCAj ZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZF X19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmlu ZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQVCAxCnwgI2RlZmluZSBIQVZFX1BP U0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklU IDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAj ZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUg SEFWRV9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVf RlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RB VCAxCnwgI2RlZmluZSBIQVZFX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNk ZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAj ZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUg SEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFW RV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9G VVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FU0FUIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1F TlMgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEK fCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFQ1VSRV9HRVRF TlYgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEK fCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAj ZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNk ZWZpbmUgSEFWRV9HTElCIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2Rl ZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0 CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElP TiAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVm aW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZp bmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8 ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAw CnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVAp CnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2Rl ZmluZSBIQVZFX1BST0NGUyAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9k c3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgTkFSUk9XUFJPVE8gMQp8 ICNkZWZpbmUgVU5JWDk4X1BUWVMgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9y IChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHsgY2hh ciAqcHR5bmFtZSA9IDA7IHNpZ3NldF90IGJsb2NrZWQ7IHNpZ2VtcHR5c2V0ICgmYmxvY2tlZCk7 IHNpZ2FkZHNldCAoJmJsb2NrZWQsIFNJR0NITEQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19CTE9D SywgJmJsb2NrZWQsIDApOyBpZiAoZ3JhbnRwdCAoZmQpICE9IC0xICYmIHVubG9ja3B0IChmZCkg IT0gLTEpIHB0eW5hbWUgPSBwdHNuYW1lKGZkKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfVU5CTE9D SywgJmJsb2NrZWQsIDApOyBpZiAoIXB0eW5hbWUpIHsgZW1hY3NfY2xvc2UgKGZkKTsgcmV0dXJu IC0xOyB9IHNucHJpbnRmIChwdHlfbmFtZSwgUFRZX05BTUVfU0laRSwgIiVzIiwgcHR5bmFtZSk7 IH0KfCAjZGVmaW5lIFBUWV9PUEVOIGRvIHsgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8IE9f Q0xPRVhFQyB8IE9fTk9DVFRZKTsgaWYgKGZkIDwgMCAmJiBlcnJubyA9PSBFSU5WQUwpIGZkID0g cG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX05PQ1RUWSk7IH0gd2hpbGUgKGZhbHNlKQp8ICNkZWZp bmUgUFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJT IDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1Mg MQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBH TlVfTElOVVggLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVTQUJM RV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAiZ3RrdXRpbC5o Igp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXVua25vd24tbGludXgtZ251 Igp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0td2l0aC14LXRvb2xraXQ9Z3RrIgp8 ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUg R05VX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxM T0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBI QVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNk ZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9HRVRP UFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZF X0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFW RV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf VE1fVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9H TVRPRkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBI QVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNk ZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5l IEhBVkVfQllURVNXQVBfSCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZp bmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8 ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9fX0ZQRU5ESU5HIDEKfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1F Wk9ORSBzdHJ1Y3QgdGltZXpvbmUKfCAjZGVmaW5lIEhBVkVfTUVNUkNIUiAxCnwgI2RlZmluZSBH TlVMSUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZp bmUgVVNFX0FDTCAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICNpbmNsdWRlIDxzaWdu YWwuaD4KfCAKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKCh2b2xhdGlsZSBz aWdfYXRvbWljX3QpKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj b25maWd1cmU6MjY0MzA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNjQ0NjogY2hlY2tpbmcgZm9y IHNpZ2hhbmRsZXJfdApjb25maWd1cmU6MjY0NDY6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIg ICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI2NDQ2OiAkPyA9IDAKY29uZmlndXJlOjI2NDQ2 OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6 IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyOTA6Mjc6IGVycm9yOiBleHBlY3RlZCBl eHByZXNzaW9uIGJlZm9yZSAnKScgdG9rZW4KIGlmIChzaXplb2YgKChzaWdoYW5kbGVyX3QpKSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MjY0NDY6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJlbWFjcyAyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5l IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJ T04gIjI0LjMuOTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUg X0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05V X1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUg X1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAj ZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENB UkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVf RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9I IDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lT X1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVU X0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBI QVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUg RE9VR19MRUFfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg SEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAx CnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJF U09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAj ZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFW RV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VN QUdJQ0sgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmlu ZSBIQVZFX01BR0lDS01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAj ZGVmaW5lIEdES19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJf RElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVm aW5lIEhBVkVfR1RLX0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZf TUVOVV9JVEVNX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwg I2RlZmluZSBIQVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9H VEtfRElBTE9HX0dFVF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VU X1NFTlNJVElWRSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2Rl ZmluZSBIQVZFX0dUS19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9H VEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9X X1NFVF9IQVNfUkVTSVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZp bmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBV U0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNk ZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJ TUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8 ICNkZWZpbmUgSEFWRV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBI QVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmlu ZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEK fCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkg MQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5l IEhBVkVfWFJBTkRSIDEKfCAjZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9M SUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8 ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFUFQ0IDEKfCAjZGVm aW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZp bmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8 ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2Rl ZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmlu ZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhB VkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFW RV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNW RlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVF Uk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlG QUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRM SU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVf Q09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQgMQp8ICNkZWZpbmUg SEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfQUxJR05FRF9BTExPQyAxCnwgI2RlZmluZSBIQVZF X1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5f VU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFO VFBUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQg MQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmlu ZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZF X0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRkRPUEVO RElSIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZp bmUgSEFWRV9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVf UFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZF X0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9J TUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAx CnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwg I2RlZmluZSBIQVZFX0ZVVElNRVNBVCAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRU5TIDEKfCAjZGVm aW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBI QVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRUNVUkVfR0VURU5WIDEKfCAjZGVm aW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBI QVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf R0xJQiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9N QlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUg QU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZp bmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RF VklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nl c3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJ UkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUg SVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUg SVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgSEFWRV9Q Uk9DRlMgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZp bmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIE5BUlJPV1BST1RPIDEKfCAjZGVmaW5lIFVO SVg5OF9QVFlTIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAoaSA9IDA7IGkg PCAxOyBpKyspCnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiB7IGNoYXIgKnB0eW5hbWUg PSAwOyBzaWdzZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNldCAoJmJsb2NrZWQpOyBzaWdhZGRzZXQg KCZibG9ja2VkLCBTSUdDSExEKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfQkxPQ0ssICZibG9ja2Vk LCAwKTsgaWYgKGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1bmxvY2twdCAoZmQpICE9IC0xKSBwdHlu YW1lID0gcHRzbmFtZShmZCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX1VOQkxPQ0ssICZibG9ja2Vk LCAwKTsgaWYgKCFwdHluYW1lKSB7IGVtYWNzX2Nsb3NlIChmZCk7IHJldHVybiAtMTsgfSBzbnBy aW50ZiAocHR5X25hbWUsIFBUWV9OQU1FX1NJWkUsICIlcyIsIHB0eW5hbWUpOyB9CnwgI2RlZmlu ZSBQVFlfT1BFTiBkbyB7IGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX0NMT0VYRUMgfCBP X05PQ1RUWSk7IGlmIChmZCA8IDAgJiYgZXJybm8gPT0gRUlOVkFMKSBmZCA9IHBvc2l4X29wZW5w dCAoT19SRFdSIHwgT19OT0NUVFkpOyB9IHdoaWxlIChmYWxzZSkKfCAjZGVmaW5lIFBUWV9OQU1F X1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmlu ZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5l IEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgR05VX0xJTlVYIC8q Ki8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBVU0FCTEVfU0lHSU8gMQp8 ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgImd0a3V0aWwuaCIKfCAjZGVmaW5l IEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC11bmtub3duLWxpbnV4LWdudSIKfCAjZGVmaW5l IEVNQUNTX0NPTkZJR19PUFRJT05TICItLXdpdGgteC10b29sa2l0PWd0ayIKfCAjZGVmaW5lIEhB VkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0Mg MQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RS VE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf RkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIExTVEFU X0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYg MQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdf SU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9B TEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUg MQp8ICNkZWZpbmUgSEFWRV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1B WCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdS T1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0JZVEVT V0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xP Q0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhB VkVfRFVQMiAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfX19GUEVORElORyAxCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgc3RydWN0 IHRpbWV6b25lCnwgI2RlZmluZSBIQVZFX01FTVJDSFIgMQp8ICNkZWZpbmUgR05VTElCX01LT1NU RU1QIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIFVTRV9BQ0wg MAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaW5jbHVkZSA8c2lnbmFsLmg+CnwgCnwg CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgoc2lnaGFuZGxlcl90KSkpCnwgCSAg ICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI2NDQ2OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MjY0NTk6IGNoZWNraW5nIGZvciBzb2NrbGVuX3QKY29uZmlndXJl OjI2NDU5OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp Z3VyZToyNjQ1OTogJD8gPSAwCmNvbmZpZ3VyZToyNjQ1OTogZ2NjIC1zdGQ9Z251OTkgLWMgLWcz IC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNv bmZ0ZXN0LmM6Mjk4OjI0OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJyknIHRv a2VuCiBpZiAoc2l6ZW9mICgoc29ja2xlbl90KSkpCiAgICAgICAgICAgICAgICAgICAgICAgIF4K Y29uZmlndXJlOjI2NDU5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg LyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMu OTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MCIKfCAjZGVmaW5lIFBB Q0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFD S0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgTUFJTF9V U0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJX SU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BU SFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251L2xpbnV4 Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAx CnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVhF Q0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0VYVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VU T1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUEVSU09OQUxJVFlfTElO VVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJ TUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERS U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9M T05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVmaW5lIERPVUdfTEVBX01BTExPQyAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YS0IgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFT RSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZF X1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5l IEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVf UlNWRyAxCnwgI2RlZmluZSBIQVZFX0lNQUdFTUFHSUNLIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNL RVhQT1JUSU1BR0VQSVhFTFMgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tNRVJHRUlNQUdFTEFZRVJT IDEKfCAjZGVmaW5lIEhBVkVfR1RLMyAxCnwgI2RlZmluZSBHREtfRElTQUJMRV9ERVBSRUNBVElP Tl9XQVJOSU5HUyAxCnwgI2RlZmluZSBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1Mg MQp8ICNkZWZpbmUgVVNFX0dUSyAxCnwgI2RlZmluZSBIQVZFX0dUS19IQU5ETEVfQk9YX05FVyAx CnwgI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01FTlVfSVRFTV9ORVcgMQp8ICNkZWZpbmUgSEFW RV9HVEtfV0lER0VUX0dFVF9XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX1NFVF9I QVNfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0RJQUxPR19HRVRfQUNUSU9OX0FSRUEgMQp8 ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9TRU5TSVRJVkUgMQp8ICNkZWZpbmUgSEFWRV9H VEtfV0lER0VUX0dFVF9NQVBQRUQgMQp8ICNkZWZpbmUgSEFWRV9HVEtfQURKVVNUTUVOVF9HRVRf UEFHRV9TSVpFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX09SSUVOVEFCTEVfU0VUX09SSUVOVEFUSU9O IDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19TRVRfSEFTX1JFU0laRV9HUklQIDEKfCAjZGVm aW5lIEhBVkVfR1NFVFRJTkdTIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhB VkVfR0ZJTEVOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVT RV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVT RV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBv aW50ZXIKfCAjZGVmaW5lIEhBVkVfWEZUIDEKfCAjZGVmaW5lIEhBVkVfRlJFRVRZUEUgMQp8ICNk ZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBF RyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5l IFBOR19ERVBTVFJVQ1QgLyoqLwp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVf VElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZp bmUgSEFWRV9YUlJHRVRPVVRQVVRQUklNQVJZIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUU0NSRUVO UkVTT1VSQ0VTQ1VSUkVOVCAxCnwgI2RlZmluZSBIQVZFX1hSQU5EUiAxCnwgI2RlZmluZSBIQVZF X1hJTkVSQU1BIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJS Tk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAj ZGVmaW5lIEhBVkVfQUNDRVBUNCAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUg MQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZp bmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhB VkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVf U0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NL TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZB RERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NU UkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElN IDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVm aW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBI QVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVf Q0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfX19F WEVDVVRBQkxFX1NUQVJUIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX0FM SUdORURfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5U IDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVf RlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBUIDEK fCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVm aW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZF X1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9G Q05UTCAxCnwgI2RlZmluZSBIQVZFX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQg MQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwg I2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTUtPU1RFTVAgMQp8ICNkZWZpbmUg SEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFE TElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1B WCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAx CnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTQVQgMQp8ICNk ZWZpbmUgSEFWRV9GVVRJTUVOUyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmlu ZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5l IEhBVkVfU0VDVVJFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2Rl ZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dP UktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFW RV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0dMSUIgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5G T19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJp Y3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZp bmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZF X1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNF UENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05B TUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNf REVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykg PT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZ X1NFUCAoX2NfKSkKfCAjZGVmaW5lIEhBVkVfUFJPQ0ZTIDEKfCAjZGVmaW5lIERFRkFVTFRfU09V TkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmlu ZSBOQVJST1dQUk9UTyAxCnwgI2RlZmluZSBVTklYOThfUFRZUyAxCnwgI2RlZmluZSBQVFlfSVRF UkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgUFRZX1RUWV9O QU1FX1NQUklOVEYgeyBjaGFyICpwdHluYW1lID0gMDsgc2lnc2V0X3QgYmxvY2tlZDsgc2lnZW1w dHlzZXQgKCZibG9ja2VkKTsgc2lnYWRkc2V0ICgmYmxvY2tlZCwgU0lHQ0hMRCk7IHB0aHJlYWRf c2lnbWFzayAoU0lHX0JMT0NLLCAmYmxvY2tlZCwgMCk7IGlmIChncmFudHB0IChmZCkgIT0gLTEg JiYgdW5sb2NrcHQgKGZkKSAhPSAtMSkgcHR5bmFtZSA9IHB0c25hbWUoZmQpOyBwdGhyZWFkX3Np Z21hc2sgKFNJR19VTkJMT0NLLCAmYmxvY2tlZCwgMCk7IGlmICghcHR5bmFtZSkgeyBlbWFjc19j bG9zZSAoZmQpOyByZXR1cm4gLTE7IH0gc25wcmludGYgKHB0eV9uYW1lLCBQVFlfTkFNRV9TSVpF LCAiJXMiLCBwdHluYW1lKTsgfQp8ICNkZWZpbmUgUFRZX09QRU4gZG8geyBmZCA9IHBvc2l4X29w ZW5wdCAoT19SRFdSIHwgT19DTE9FWEVDIHwgT19OT0NUVFkpOyBpZiAoZmQgPCAwICYmIGVycm5v ID09IEVJTlZBTCkgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8IE9fTk9DVFRZKTsgfSB3aGls ZSAoZmFsc2UpCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFNJR05B TFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5l IEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNH IC8qKi8KfCAjZGVmaW5lIEdOVV9MSU5VWCAvKiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQg MQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0 IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1f SEVBREVSICJndGt1dGlsLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQt dW5rbm93bi1saW51eC1nbnUiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS13aXRo LXgtdG9vbGtpdD1ndGsiCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBIQVZF X1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8 ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdf SU5UIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9O X0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSTU9ERSAwCnwgI2RlZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJp Y3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVN UkNIUiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRf VCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9UTV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fWk9ORSAxCnwg I2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VU RU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9B TExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9CWVRFU1dBUF9IIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tf R0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElC X0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgR05VTElCX0ZB Q0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDEKfCAjZGVmaW5lIEdOVUxJ Ql9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX19fRlBFTkRJTkcgMQp8ICNkZWZpbmUg R0VUVElNRU9GREFZX1RJTUVaT05FIHN0cnVjdCB0aW1lem9uZQp8ICNkZWZpbmUgSEFWRV9NRU1S Q0hSIDEKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURf U0lHTUFTSyAxCnwgI2RlZmluZSBVU0VfQUNMIDAKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg CnwgLyogPHN5cy90eXBlcy5oPiBpcyBub3QgbmVlZGVkIGFjY29yZGluZyB0byBQT1NJWCwgYnV0 IHRoZQp8ICAgIDxzeXMvc29ja2V0Lmg+IGluIGkzODYtdW5rbm93bi1mcmVlYnNkNC4xMCBhbmQK fCAgICBwb3dlcnBjLWFwcGxlLWRhcndpbjUuNSByZXF1aXJlZCBpdC4gKi8KfCAjaW5jbHVkZSA8 c3lzL3R5cGVzLmg+CnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9ICnwgIyBpbmNsdWRlIDxzeXMvc29j a2V0Lmg+CnwgI2VsaWYgSEFWRV9XUzJUQ1BJUF9ICnwgIyBpbmNsdWRlIDx3czJ0Y3BpcC5oPgp8 ICNlbmRpZgp8IAp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYgKHNpemVvZiAoKHNvY2tsZW5f dCkpKQp8IAkgICAgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToy NjQ1OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI2NTIzOiBjaGVja2luZyBmb3Igc3NpemVfdApj b25maWd1cmU6MjY1NDA6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjI2NTQwOiAkPyA9IDAKY29uZmlndXJlOjI2NTQ3OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MjY1NTk6IGNoZWNraW5nIGZvciBzdHJ1Y3Qgc3RhdC5zdF9hdGltLnR2X25zZWMK Y29uZmlndXJlOjI2NTU5OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZToyNjU1OTogJD8gPSAwCmNvbmZpZ3VyZToyNjU1OTogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjI2NTY4OiBjaGVja2luZyB3aGV0aGVyIHN0cnVjdCBzdGF0LnN0X2F0aW0gaXMg b2YgdHlwZSBzdHJ1Y3QgdGltZXNwZWMKY29uZmlndXJlOjI2NTk1OiBnY2MgLXN0ZD1nbnU5OSAt YyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyNjU5NTogJD8gPSAwCmNvbmZp Z3VyZToyNjYwMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI2NjU0OiBjaGVja2luZyBmb3Igc3Ry dWN0IHN0YXQuc3RfYmlydGh0aW1lc3BlYy50dl9uc2VjCmNvbmZpZ3VyZToyNjY1NDogZ2NjIC1z dGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5j dGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjkyOjEyOiBlcnJvcjogJ3N0cnVjdCBzdGF0JyBoYXMg bm8gbWVtYmVyIG5hbWVkICdzdF9iaXJ0aHRpbWVzcGVjJwogaWYgKGFjX2FnZ3Iuc3RfYmlydGh0 aW1lc3BlYy50dl9uc2VjKQogICAgICAgICAgICBeCmNvbmZpZ3VyZToyNjY1NDogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgImVtYWNzIDI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZp bmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVS U0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hF QURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I IDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmlu ZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9H TlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmlu ZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8 ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5E Q0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVf SCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFW RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJT19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFWRV9URVJN X0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T WVNfU0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9O RVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQURE UiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAxCnwgI2RlZmlu ZSBET1VHX0xFQV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWEtC IDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVO UkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8 ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBI QVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9JTUFH RU1BR0lDSyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElNQUdFUElYRUxTIDEKfCAjZGVm aW5lIEhBVkVfTUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2RlZmluZSBIQVZFX0dUSzMgMQp8 ICNkZWZpbmUgR0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgR0xJ Ql9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVTRV9HVEsgMQp8ICNk ZWZpbmUgSEFWRV9HVEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfVEVBUk9G Rl9NRU5VX0lURU1fTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfV0lORE9XIDEK fCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZF X0dUS19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9H RVRfU0VOU0lUSVZFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQUEVEIDEKfCAj ZGVmaW5lIEhBVkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAxCnwgI2RlZmluZSBIQVZF X0dUS19PUklFTlRBQkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2RlZmluZSBIQVZFX0dUS19XSU5E T1dfU0VUX0hBU19SRVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZFX0dTRVRUSU5HUyAxCnwgI2Rl ZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxFTk9USUZZIDEKfCAjZGVmaW5l IFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwg I2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3Rl cklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hGVCAx CnwgI2RlZmluZSBIQVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5l IEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAx CnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQU1RSVUNUIC8qKi8KfCAjZGVm aW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYg MQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUT1VUUFVUUFJJTUFS WSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNFU0NVUlJFTlQgMQp8ICNkZWZp bmUgSEFWRV9YUkFORFIgMQp8ICNkZWZpbmUgSEFWRV9YSU5FUkFNQSAxCnwgI2RlZmluZSBIQVZF X0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAx CnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0FDQ0VQVDQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAx CnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVm aW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUg SEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBI QVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JF Q1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ RUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9GUkVF SUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dF VExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVm aW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBI QVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFW RV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX19fRVhFQ1VUQUJMRV9TVEFSVCAxCnwgI2RlZmlu ZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9BTElHTkVEX0FMTE9DIDEKfCAjZGVmaW5lIEhB VkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJ Tl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dS QU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5Q VCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVm aW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhB VkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GRE9Q RU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8 ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2Rl ZmluZSBIQVZFX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFW RV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhB VkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJU T0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5L IDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEK fCAjZGVmaW5lIEhBVkVfRlVUSU1FU0FUIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FTlMgMQp8ICNk ZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5l IEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFQ1VSRV9HRVRFTlYgMQp8ICNk ZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5l IEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhB VkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFW RV9HTElCIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZF X01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmlu ZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2Rl ZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExf REVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJv Y2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUg RElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmlu ZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmlu ZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBIQVZF X1BST0NGUyAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2Rl ZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgTkFSUk9XUFJPVE8gMQp8ICNkZWZpbmUg VU5JWDk4X1BUWVMgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsg aSA8IDE7IGkrKykKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHsgY2hhciAqcHR5bmFt ZSA9IDA7IHNpZ3NldF90IGJsb2NrZWQ7IHNpZ2VtcHR5c2V0ICgmYmxvY2tlZCk7IHNpZ2FkZHNl dCAoJmJsb2NrZWQsIFNJR0NITEQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19CTE9DSywgJmJsb2Nr ZWQsIDApOyBpZiAoZ3JhbnRwdCAoZmQpICE9IC0xICYmIHVubG9ja3B0IChmZCkgIT0gLTEpIHB0 eW5hbWUgPSBwdHNuYW1lKGZkKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfVU5CTE9DSywgJmJsb2Nr ZWQsIDApOyBpZiAoIXB0eW5hbWUpIHsgZW1hY3NfY2xvc2UgKGZkKTsgcmV0dXJuIC0xOyB9IHNu cHJpbnRmIChwdHlfbmFtZSwgUFRZX05BTUVfU0laRSwgIiVzIiwgcHR5bmFtZSk7IH0KfCAjZGVm aW5lIFBUWV9PUEVOIGRvIHsgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8IE9fQ0xPRVhFQyB8 IE9fTk9DVFRZKTsgaWYgKGZkIDwgMCAmJiBlcnJubyA9PSBFSU5WQUwpIGZkID0gcG9zaXhfb3Bl bnB0IChPX1JEV1IgfCBPX05PQ1RUWSk7IH0gd2hpbGUgKGZhbHNlKQp8ICNkZWZpbmUgUFRZX05B TUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVm aW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZp bmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBHTlVfTElOVVgg LyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAx CnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAiZ3RrdXRpbC5oIgp8ICNkZWZp bmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXVua25vd24tbGludXgtZ251Igp8ICNkZWZp bmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0td2l0aC14LXRvb2xraXQ9Z3RrIgp8ICNkZWZpbmUg SEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExP QyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAj ZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0M5OV9T VFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgTFNU QVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVO ViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAx CnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9O RSAxCnwgI2RlZmluZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9V TUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJ TkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VU R1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQllU RVNXQVBfSCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9D TE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUg SEFWRV9EVVAyIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9fX0ZQRU5ESU5HIDEKfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSBzdHJ1 Y3QgdGltZXpvbmUKfCAjZGVmaW5lIEhBVkVfTUVNUkNIUiAxCnwgI2RlZmluZSBHTlVMSUJfTUtP U1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgVVNFX0FD TCAwCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0FUSU1fVFZfTlNFQyAxCnwgI2RlZmlu ZSBUWVBFT0ZfU1RSVUNUX1NUQVRfU1RfQVRJTV9JU19TVFJVQ1RfVElNRVNQRUMgMQp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgICAgICAjaW5jbHVk ZSA8c3lzL3N0YXQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3Rh dCBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnN0X2JpcnRodGltZXNwZWMudHZfbnNlYykKfCByZXR1 cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI2NjU0OiBnY2MgLXN0ZD1n bnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9u ICdtYWluJzoKY29uZnRlc3QuYzoyOTI6MTk6IGVycm9yOiAnc3RydWN0IHN0YXQnIGhhcyBubyBt ZW1iZXIgbmFtZWQgJ3N0X2JpcnRodGltZXNwZWMnCiBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYmly dGh0aW1lc3BlYy50dl9uc2VjKQogICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MjY2NTQ6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg IiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAj ZGVmaW5lIFZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZp bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18g MQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwg I2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1Mg MQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklU X0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZF X1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVf UFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAj ZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5l IEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVm aW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAx CnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQg MQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUg MQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmlu ZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhB VkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9G U0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8 ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5l IEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVM UyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFW RV9HVEszIDEKfCAjZGVmaW5lIEdES19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAj ZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0Vf R1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVf R1RLX1RFQVJPRkZfTUVOVV9JVEVNX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VU X1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNk ZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dFVF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dU S19XSURHRVRfR0VUX1NFTlNJVElWRSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01B UFBFRCAxCnwgI2RlZmluZSBIQVZFX0dUS19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNk ZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFW RV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElO R1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAx CnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xM X0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmlu ZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUg SEFWRV9YRlQgMQp8ICNkZWZpbmUgSEFWRV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAx CnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhB VkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAv KiovCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5l IEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9V VFBVVFBSSU1BUlkgMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5U IDEKfCAjZGVmaW5lIEhBVkVfWFJBTkRSIDEKfCAjZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNk ZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBI QVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9BQ0NF UFQ0IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNB R0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZF X0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdF U0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEK fCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8 ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZp bmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5l IEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZp bmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFW RV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VO VCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8 ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAj ZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQg MQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfQUxJR05FRF9BTExPQyAxCnwg I2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFW RV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZp bmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFQgMQp8ICNkZWZpbmUgSEFWRV9Q T1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5J VCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwg I2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5l IEhBVkVfRkRPUEVORElSIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZF X0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNU QVQgMQp8ICNkZWZpbmUgSEFWRV9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAj ZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwg I2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5l IEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhB VkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVf RlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVNBVCAxCnwgI2RlZmluZSBIQVZFX0ZVVElN RU5TIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAx CnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRUNVUkVfR0VU RU5WIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAx CnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwg I2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAj ZGVmaW5lIEhBVkVfR0xJQiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNk ZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmlj dAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJ T04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2Rl ZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVm aW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MK fCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykg MAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQ KQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNk ZWZpbmUgSEFWRV9QUk9DRlMgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYv ZHNwIgp8ICNkZWZpbmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIE5BUlJPV1BST1RPIDEK fCAjZGVmaW5lIFVOSVg5OF9QVFlTIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZv ciAoaSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiB7IGNo YXIgKnB0eW5hbWUgPSAwOyBzaWdzZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNldCAoJmJsb2NrZWQp OyBzaWdhZGRzZXQgKCZibG9ja2VkLCBTSUdDSExEKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfQkxP Q0ssICZibG9ja2VkLCAwKTsgaWYgKGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1bmxvY2twdCAoZmQp ICE9IC0xKSBwdHluYW1lID0gcHRzbmFtZShmZCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX1VOQkxP Q0ssICZibG9ja2VkLCAwKTsgaWYgKCFwdHluYW1lKSB7IGVtYWNzX2Nsb3NlIChmZCk7IHJldHVy biAtMTsgfSBzbnByaW50ZiAocHR5X25hbWUsIFBUWV9OQU1FX1NJWkUsICIlcyIsIHB0eW5hbWUp OyB9CnwgI2RlZmluZSBQVFlfT1BFTiBkbyB7IGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBP X0NMT0VYRUMgfCBPX05PQ1RUWSk7IGlmIChmZCA8IDAgJiYgZXJybm8gPT0gRUlOVkFMKSBmZCA9 IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19OT0NUVFkpOyB9IHdoaWxlIChmYWxzZSkKfCAjZGVm aW5lIFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVS UyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktT IDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUg R05VX0xJTlVYIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBVU0FC TEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgImd0a3V0aWwu aCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC11bmtub3duLWxpbnV4LWdu dSIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXdpdGgteC10b29sa2l0PWd0ayIK fCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5l IEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FM TE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg SEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAj ZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfR0VU T1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFW RV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhB VkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1RNX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1f R01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAj ZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBIQVZFX0JZVEVTV0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVm aW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEK fCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfX19GUEVORElORyAxCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElN RVpPTkUgc3RydWN0IHRpbWV6b25lCnwgI2RlZmluZSBIQVZFX01FTVJDSFIgMQp8ICNkZWZpbmUg R05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVm aW5lIFVTRV9BQ0wgMAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9BVElNX1RWX05TRUMg MQp8ICNkZWZpbmUgVFlQRU9GX1NUUlVDVF9TVEFUX1NUX0FUSU1fSVNfU1RSVUNUX1RJTUVTUEVD IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAg ICAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMg c3RydWN0IHN0YXQgYWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYmlydGh0aW1lc3Bl Yy50dl9uc2VjKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6 MjY2NTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjI2NjY1OiBjaGVja2luZyBmb3Igc3RydWN0IHN0 YXQuc3RfYmlydGh0aW1lbnNlYwpjb25maWd1cmU6MjY2NjU6IGdjYyAtc3RkPWdudTk5IC1jIC1n MyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpj b25mdGVzdC5jOjI5MjoxMjogZXJyb3I6ICdzdHJ1Y3Qgc3RhdCcgaGFzIG5vIG1lbWJlciBuYW1l ZCAnc3RfYmlydGh0aW1lbnNlYycKIGlmIChhY19hZ2dyLnN0X2JpcnRodGltZW5zZWMpCiAgICAg ICAgICAgIF4KY29uZmlndXJlOjI2NjY1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIjI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNk ZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZp bmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVm aW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUg X1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAj ZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAi Z251L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFW RV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09V UkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdE X0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0VYVF9IIDEKfCAjZGVmaW5l IEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUEVSU09O QUxJVFlfTElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJ VEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhB VkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9C Uk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZp bmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8 ICNkZWZpbmUgSEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVmaW5lIERPVUdfTEVBX01BTExPQyAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YS0IgMQp8ICNkZWZpbmUgSEFWRV9YUk1T RVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2Rl ZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEK fCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVm aW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0lNQUdFTUFHSUNLIDEKfCAjZGVmaW5lIEhB VkVfTUFHSUNLRVhQT1JUSU1BR0VQSVhFTFMgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tNRVJHRUlN QUdFTEFZRVJTIDEKfCAjZGVmaW5lIEhBVkVfR1RLMyAxCnwgI2RlZmluZSBHREtfRElTQUJMRV9E RVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05f V0FSTklOR1MgMQp8ICNkZWZpbmUgVVNFX0dUSyAxCnwgI2RlZmluZSBIQVZFX0dUS19IQU5ETEVf Qk9YX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01FTlVfSVRFTV9ORVcgMQp8ICNk ZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lE R0VUX1NFVF9IQVNfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0RJQUxPR19HRVRfQUNUSU9O X0FSRUEgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9TRU5TSVRJVkUgMQp8ICNkZWZp bmUgSEFWRV9HVEtfV0lER0VUX0dFVF9NQVBQRUQgMQp8ICNkZWZpbmUgSEFWRV9HVEtfQURKVVNU TUVOVF9HRVRfUEFHRV9TSVpFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX09SSUVOVEFCTEVfU0VUX09S SUVOVEFUSU9OIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19TRVRfSEFTX1JFU0laRV9HUklQ IDEKfCAjZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAj ZGVmaW5lIEhBVkVfR0ZJTEVOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAj ZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAj ZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNr X2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWEZUIDEKfCAjZGVmaW5lIEhBVkVfRlJFRVRZ UEUgMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5l IEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEK fCAjZGVmaW5lIFBOR19ERVBTVFJVQ1QgLyoqLwp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVm aW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX1hfU00g MQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRPVVRQVVRQUklNQVJZIDEKfCAjZGVmaW5lIEhBVkVfWFJS R0VUU0NSRUVOUkVTT1VSQ0VTQ1VSUkVOVCAxCnwgI2RlZmluZSBIQVZFX1hSQU5EUiAxCnwgI2Rl ZmluZSBIQVZFX1hJTkVSQU1BIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBI QVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZM T0NLIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVBUNCAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRf RElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNU IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUg MQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8 ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAj ZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVm aW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFW RV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhB VkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZF X0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5U IDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwg I2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVm aW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5l IEhBVkVfX19FWEVDVVRBQkxFX1NUQVJUIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmlu ZSBIQVZFX0FMSUdORURfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUg SEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVm aW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZF X0dFVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZP IDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2Rl ZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZp bmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBIQVZF X0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVP RkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTUtPU1RFTVAgMQp8 ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUg SEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZF X1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NB TFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVT QVQgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVOUyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAx CnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEK fCAjZGVmaW5lIEhBVkVfU0VDVVJFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VU UyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmlu ZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNk ZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0dMSUIgMQp8ICNkZWZpbmUgSEFW RV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5l IF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUg MQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2Rl ZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAj ZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNF Ul9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNk ZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2Nf KSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNf RElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEhBVkVfUFJPQ0ZTIDEKfCAjZGVmaW5lIERF RkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAx CnwgI2RlZmluZSBOQVJST1dQUk9UTyAxCnwgI2RlZmluZSBVTklYOThfUFRZUyAxCnwgI2RlZmlu ZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUg UFRZX1RUWV9OQU1FX1NQUklOVEYgeyBjaGFyICpwdHluYW1lID0gMDsgc2lnc2V0X3QgYmxvY2tl ZDsgc2lnZW1wdHlzZXQgKCZibG9ja2VkKTsgc2lnYWRkc2V0ICgmYmxvY2tlZCwgU0lHQ0hMRCk7 IHB0aHJlYWRfc2lnbWFzayAoU0lHX0JMT0NLLCAmYmxvY2tlZCwgMCk7IGlmIChncmFudHB0IChm ZCkgIT0gLTEgJiYgdW5sb2NrcHQgKGZkKSAhPSAtMSkgcHR5bmFtZSA9IHB0c25hbWUoZmQpOyBw dGhyZWFkX3NpZ21hc2sgKFNJR19VTkJMT0NLLCAmYmxvY2tlZCwgMCk7IGlmICghcHR5bmFtZSkg eyBlbWFjc19jbG9zZSAoZmQpOyByZXR1cm4gLTE7IH0gc25wcmludGYgKHB0eV9uYW1lLCBQVFlf TkFNRV9TSVpFLCAiJXMiLCBwdHluYW1lKTsgfQp8ICNkZWZpbmUgUFRZX09QRU4gZG8geyBmZCA9 IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19DTE9FWEVDIHwgT19OT0NUVFkpOyBpZiAoZmQgPCAw ICYmIGVycm5vID09IEVJTlZBTCkgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8IE9fTk9DVFRZ KTsgfSB3aGlsZSAoZmFsc2UpCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVm aW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEK fCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNk ZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIEdOVV9MSU5VWCAvKiovCnwgI2RlZmluZSBVU0FCTEVf RklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAi Q29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVm aW5lIFRFUk1fSEVBREVSICJndGt1dGlsLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9O ICJ4ODZfNjQtdW5rbm93bi1saW51eC1nbnUiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9O UyAiLS13aXRoLXgtdG9vbGtpdD1ndGsiCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2Rl ZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxM T0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9M T05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFW RV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lN TElOSyAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xP TkdfT05MWSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0 IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfTUVNUkNIUiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFW RV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJf VCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9UTV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1f Wk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS VE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZp bmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9CWVRFU1dBUF9IIDEKfCAjZGVmaW5lIEhB VkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZp bmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUg R05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDEKfCAjZGVm aW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX19fRlBFTkRJTkcgMQp8 ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHN0cnVjdCB0aW1lem9uZQp8ICNkZWZpbmUg SEFWRV9NRU1SQ0hSIDEKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBVU0VfQUNMIDAKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX1NUQVRfU1RfQVRJTV9UVl9OU0VDIDEKfCAjZGVmaW5lIFRZUEVPRl9TVFJVQ1RfU1RBVF9T VF9BVElNX0lTX1NUUlVDVF9USU1FU1BFQyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp bmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAgICAgICAgICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8IAp8 IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYgKGFj X2FnZ3Iuc3RfYmlydGh0aW1lbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8 IH0KY29uZmlndXJlOjI2NjY1OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyOTI6MTk6 IGVycm9yOiAnc3RydWN0IHN0YXQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2JpcnRodGltZW5z ZWMnCiBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYmlydGh0aW1lbnNlYykKICAgICAgICAgICAgICAg ICAgIF4KY29uZmlndXJlOjI2NjY1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g IjI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZW1hY3MgMjQuMy45MCIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp bmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUg TUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BP U0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVm aW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251 L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9T T1VORCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNF X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0gg MQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhB VkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0VYVF9IIDEKfCAjZGVmaW5lIEhB VkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf V0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUEVSU09OQUxJ VFlfTElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhf U1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVf SUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9B REFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUg SEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVmaW5lIERPVUdfTEVBX01BTExPQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YS0IgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVRE QVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmlu ZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAj ZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5l IEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0lNQUdFTUFHSUNLIDEKfCAjZGVmaW5lIEhBVkVf TUFHSUNLRVhQT1JUSU1BR0VQSVhFTFMgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tNRVJHRUlNQUdF TEFZRVJTIDEKfCAjZGVmaW5lIEhBVkVfR1RLMyAxCnwgI2RlZmluZSBHREtfRElTQUJMRV9ERVBS RUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FS TklOR1MgMQp8ICNkZWZpbmUgVVNFX0dUSyAxCnwgI2RlZmluZSBIQVZFX0dUS19IQU5ETEVfQk9Y X05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01FTlVfSVRFTV9ORVcgMQp8ICNkZWZp bmUgSEFWRV9HVEtfV0lER0VUX0dFVF9XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VU X1NFVF9IQVNfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0RJQUxPR19HRVRfQUNUSU9OX0FS RUEgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9TRU5TSVRJVkUgMQp8ICNkZWZpbmUg SEFWRV9HVEtfV0lER0VUX0dFVF9NQVBQRUQgMQp8ICNkZWZpbmUgSEFWRV9HVEtfQURKVVNUTUVO VF9HRVRfUEFHRV9TSVpFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX09SSUVOVEFCTEVfU0VUX09SSUVO VEFUSU9OIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19TRVRfSEFTX1JFU0laRV9HUklQIDEK fCAjZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVm aW5lIEhBVkVfR0ZJTEVOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVm aW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVm aW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2Fy ZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWEZUIDEKfCAjZGVmaW5lIEhBVkVfRlJFRVRZUEUg MQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhB VkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAj ZGVmaW5lIFBOR19ERVBTVFJVQ1QgLyoqLwp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5l IEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8 ICNkZWZpbmUgSEFWRV9YUlJHRVRPVVRQVVRQUklNQVJZIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VU U0NSRUVOUkVTT1VSQ0VTQ1VSUkVOVCAxCnwgI2RlZmluZSBIQVZFX1hSQU5EUiAxCnwgI2RlZmlu ZSBIQVZFX1hJTkVSQU1BIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZF X0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NL IDEKfCAjZGVmaW5lIEhBVkVfQUNDRVBUNCAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElS X05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVm aW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5l IEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9H RVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVf R0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVf R0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dF VERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEK fCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2Rl ZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5l IEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhB VkVfX19FWEVDVVRBQkxFX1NUQVJUIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBI QVZFX0FMSUdORURfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFW RV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5l IEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX0dF VFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEK fCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmlu ZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUg SEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBIQVZFX0ZT VEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRB WSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTUtPU1RFTVAgMQp8ICNk ZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFW RV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NU UlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJ TUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTQVQg MQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVOUyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwg I2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfU0VDVVJFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAx CnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBI QVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZp bmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0dMSUIgMQp8ICNkZWZpbmUgSEFWRV9M QU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9f cmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8 ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmlu ZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVm aW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9G VUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZp bmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAo KF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElS RUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEhBVkVfUFJPQ0ZTIDEKfCAjZGVmaW5lIERFRkFV TFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwg I2RlZmluZSBOQVJST1dQUk9UTyAxCnwgI2RlZmluZSBVTklYOThfUFRZUyAxCnwgI2RlZmluZSBQ VFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgUFRZ X1RUWV9OQU1FX1NQUklOVEYgeyBjaGFyICpwdHluYW1lID0gMDsgc2lnc2V0X3QgYmxvY2tlZDsg c2lnZW1wdHlzZXQgKCZibG9ja2VkKTsgc2lnYWRkc2V0ICgmYmxvY2tlZCwgU0lHQ0hMRCk7IHB0 aHJlYWRfc2lnbWFzayAoU0lHX0JMT0NLLCAmYmxvY2tlZCwgMCk7IGlmIChncmFudHB0IChmZCkg IT0gLTEgJiYgdW5sb2NrcHQgKGZkKSAhPSAtMSkgcHR5bmFtZSA9IHB0c25hbWUoZmQpOyBwdGhy ZWFkX3NpZ21hc2sgKFNJR19VTkJMT0NLLCAmYmxvY2tlZCwgMCk7IGlmICghcHR5bmFtZSkgeyBl bWFjc19jbG9zZSAoZmQpOyByZXR1cm4gLTE7IH0gc25wcmludGYgKHB0eV9uYW1lLCBQVFlfTkFN RV9TSVpFLCAiJXMiLCBwdHluYW1lKTsgfQp8ICNkZWZpbmUgUFRZX09QRU4gZG8geyBmZCA9IHBv c2l4X29wZW5wdCAoT19SRFdSIHwgT19DTE9FWEVDIHwgT19OT0NUVFkpOyBpZiAoZmQgPCAwICYm IGVycm5vID09IEVJTlZBTCkgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8IE9fTk9DVFRZKTsg fSB3aGlsZSAoZmFsc2UpCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5l IFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAj ZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZp bmUgVVNHIC8qKi8KfCAjZGVmaW5lIEdOVV9MSU5VWCAvKiovCnwgI2RlZmluZSBVU0FCTEVfRklP TlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29w eXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5l IFRFUk1fSEVBREVSICJndGt1dGlsLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4 ODZfNjQtdW5rbm93bi1saW51eC1nbnUiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAi LS13aXRoLXgtdG9vbGtpdD1ndGsiCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmlu ZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NB X0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05H X0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9F TlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElO SyAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdf T05MWSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9f cmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfTUVNUkNIUiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9T SUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9UTV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fWk9O RSAxCnwgI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9J TUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUg SEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9CWVRFU1dBUF9IIDEKfCAjZGVmaW5lIEhBVkVf Q0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUg R05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgR05V TElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDEKfCAjZGVmaW5l IEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX19fRlBFTkRJTkcgMQp8ICNk ZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHN0cnVjdCB0aW1lem9uZQp8ICNkZWZpbmUgSEFW RV9NRU1SQ0hSIDEKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBVU0VfQUNMIDAKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1NUQVRfU1RfQVRJTV9UVl9OU0VDIDEKfCAjZGVmaW5lIFRZUEVPRl9TVFJVQ1RfU1RBVF9TVF9B VElNX0lTX1NUUlVDVF9USU1FU1BFQyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs dWRlIDxzeXMvdHlwZXMuaD4KfCAgICAgICAgICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8IAp8IGlu dAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYgKHNpemVv ZiBhY19hZ2dyLnN0X2JpcnRodGltZW5zZWMpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4g MDsKfCB9CmNvbmZpZ3VyZToyNjY2NTogcmVzdWx0OiBubwpjb25maWd1cmU6MjY2NzY6IGNoZWNr aW5nIGZvciBzdHJ1Y3Qgc3RhdC5zdF9iaXJ0aHRpbS50dl9uc2VjCmNvbmZpZ3VyZToyNjY3Njog Z2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJ biBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjkyOjEyOiBlcnJvcjogJ3N0cnVjdCBzdGF0 JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdzdF9iaXJ0aHRpbScKIGlmIChhY19hZ2dyLnN0X2JpcnRo dGltLnR2X25zZWMpCiAgICAgICAgICAgIF4KY29uZmlndXJlOjI2Njc2OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi ZW1hY3MgMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQ QUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9O ICIyNC4zLjkwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9B TExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9T T1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9U QU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2Rl ZmluZSBTWVNURU1fVFlQRSAiZ251L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJE X0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEK fCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJ UkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElP X0VYVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUEVSU09OQUxJVFlfTElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAx CnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19T SUdMSVNUIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9J Rl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVmaW5lIERP VUdfTEVBX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhB VkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YS0IgMQp8 ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNP VVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2Rl ZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVf WDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0lNQUdFTUFH SUNLIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLRVhQT1JUSU1BR0VQSVhFTFMgMQp8ICNkZWZpbmUg SEFWRV9NQUdJQ0tNRVJHRUlNQUdFTEFZRVJTIDEKfCAjZGVmaW5lIEhBVkVfR1RLMyAxCnwgI2Rl ZmluZSBHREtfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBHTElCX0RJ U0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgVVNFX0dUSyAxCnwgI2RlZmlu ZSBIQVZFX0dUS19IQU5ETEVfQk9YX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01F TlVfSVRFTV9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9XSU5ET1cgMQp8ICNk ZWZpbmUgSEFWRV9HVEtfV0lER0VUX1NFVF9IQVNfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RL X0RJQUxPR19HRVRfQUNUSU9OX0FSRUEgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9T RU5TSVRJVkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9NQVBQRUQgMQp8ICNkZWZp bmUgSEFWRV9HVEtfQURKVVNUTUVOVF9HRVRfUEFHRV9TSVpFIDEKfCAjZGVmaW5lIEhBVkVfR1RL X09SSUVOVEFCTEVfU0VUX09SSUVOVEFUSU9OIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19T RVRfSEFTX1JFU0laRV9HUklQIDEKfCAjZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKfCAjZGVmaW5l IEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfR0ZJTEVOT1RJRlkgMQp8ICNkZWZpbmUgVVNF X0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVm aW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1J bnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWEZUIDEKfCAj ZGVmaW5lIEhBVkVfRlJFRVRZUEUgMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFW RV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAj ZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIFBOR19ERVBTVFJVQ1QgLyoqLwp8ICNkZWZpbmUg SEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwg I2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRPVVRQVVRQUklNQVJZIDEK fCAjZGVmaW5lIEhBVkVfWFJSR0VUU0NSRUVOUkVTT1VSQ0VTQ1VSUkVOVCAxCnwgI2RlZmluZSBI QVZFX1hSQU5EUiAxCnwgI2RlZmluZSBIQVZFX1hJTkVSQU1BIDEKfCAjZGVmaW5lIEhBVkVfTElC WE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAj ZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVBUNCAxCnwgI2RlZmlu ZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5l IEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAj ZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZF X0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVf U0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZS T00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJO QU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFE RFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElO RSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUg SEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVf Q0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NP UFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfX19FWEVDVVRBQkxFX1NUQVJUIDEKfCAjZGVmaW5lIEhB VkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX0FMSUdORURfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9S QU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VO V0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQ VCAxCnwgI2RlZmluZSBIQVZFX0dFVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEK fCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUg SEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9G QUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZET1BFTkRJ UiAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5l IEhBVkVfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BT RUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9G Q0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1B WCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8 ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNk ZWZpbmUgSEFWRV9GVVRJTUVTQVQgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVOUyAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VDVVJFX0dFVEVOViAxCnwgI2RlZmlu ZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFW RV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9X T1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0dM SUIgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJT VEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFN UEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5l IEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJ Q0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNz ZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJF Q1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElT X0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElT X0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEhBVkVfUFJP Q0ZTIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5l IElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBOQVJST1dQUk9UTyAxCnwgI2RlZmluZSBVTklY OThfUFRZUyAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwg MTsgaSsrKQp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgeyBjaGFyICpwdHluYW1lID0g MDsgc2lnc2V0X3QgYmxvY2tlZDsgc2lnZW1wdHlzZXQgKCZibG9ja2VkKTsgc2lnYWRkc2V0ICgm YmxvY2tlZCwgU0lHQ0hMRCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX0JMT0NLLCAmYmxvY2tlZCwg MCk7IGlmIChncmFudHB0IChmZCkgIT0gLTEgJiYgdW5sb2NrcHQgKGZkKSAhPSAtMSkgcHR5bmFt ZSA9IHB0c25hbWUoZmQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19VTkJMT0NLLCAmYmxvY2tlZCwg MCk7IGlmICghcHR5bmFtZSkgeyBlbWFjc19jbG9zZSAoZmQpOyByZXR1cm4gLTE7IH0gc25wcmlu dGYgKHB0eV9uYW1lLCBQVFlfTkFNRV9TSVpFLCAiJXMiLCBwdHluYW1lKTsgfQp8ICNkZWZpbmUg UFRZX09QRU4gZG8geyBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19DTE9FWEVDIHwgT19O T0NUVFkpOyBpZiAoZmQgPCAwICYmIGVycm5vID09IEVJTlZBTCkgZmQgPSBwb3NpeF9vcGVucHQg KE9fUkRXUiB8IE9fTk9DVFRZKTsgfSB3aGlsZSAoZmFsc2UpCnwgI2RlZmluZSBQVFlfTkFNRV9T UFJJTlRGIC8qKi8KfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUg R0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBI QVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIEdOVV9MSU5VWCAvKiov CnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAj ZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJndGt1dGlsLmgiCnwgI2RlZmluZSBF TUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdW5rbm93bi1saW51eC1nbnUiCnwgI2RlZmluZSBF TUFDU19DT05GSUdfT1BUSU9OUyAiLS13aXRoLXgtdG9vbGtpdD1ndGsiCnwgI2RlZmluZSBIQVZF X1hfV0lORE9XUyAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEK fCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZp bmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRP TEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZE QVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBMU1RBVF9G T0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVm aW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEK fCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lO VCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxB Uk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9UTV9UTV9aT05FIDEK fCAjZGVmaW5lIEhBVkVfVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVgg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19V VElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9V UFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9CWVRFU1dB UF9IIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NL X1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZF X0RVUDIgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf RkRPUEVORElSIDEKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX19fRlBFTkRJTkcgMQp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHN0cnVjdCB0 aW1lem9uZQp8ICNkZWZpbmUgSEFWRV9NRU1SQ0hSIDEKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVN UCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBVU0VfQUNMIDAK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQVRJTV9UVl9OU0VDIDEKfCAjZGVmaW5lIFRZ UEVPRl9TVFJVQ1RfU1RBVF9TVF9BVElNX0lTX1NUUlVDVF9USU1FU1BFQyAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAgICAgICAgICAgI2luY2x1 ZGUgPHN5cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0 YXQgYWNfYWdncjsKfCBpZiAoYWNfYWdnci5zdF9iaXJ0aHRpbS50dl9uc2VjKQp8IHJldHVybiAw Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjY2NzY6IGdjYyAtc3RkPWdudTk5 IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21h aW4nOgpjb25mdGVzdC5jOjI5MjoxOTogZXJyb3I6ICdzdHJ1Y3Qgc3RhdCcgaGFzIG5vIG1lbWJl ciBuYW1lZCAnc3RfYmlydGh0aW0nCiBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYmlydGh0aW0udHZf bnNlYykKICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjI2Njc2OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi ZW1hY3MgMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQ QUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9O ICIyNC4zLjkwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9B TExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9T T1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9U QU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2Rl ZmluZSBTWVNURU1fVFlQRSAiZ251L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJE X0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEK fCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJ UkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElP X0VYVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUEVSU09OQUxJVFlfTElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAx CnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19T SUdMSVNUIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9J Rl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVmaW5lIERP VUdfTEVBX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhB VkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YS0IgMQp8 ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNP VVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2Rl ZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVf WDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0lNQUdFTUFH SUNLIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLRVhQT1JUSU1BR0VQSVhFTFMgMQp8ICNkZWZpbmUg SEFWRV9NQUdJQ0tNRVJHRUlNQUdFTEFZRVJTIDEKfCAjZGVmaW5lIEhBVkVfR1RLMyAxCnwgI2Rl ZmluZSBHREtfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBHTElCX0RJ U0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgVVNFX0dUSyAxCnwgI2RlZmlu ZSBIQVZFX0dUS19IQU5ETEVfQk9YX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01F TlVfSVRFTV9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9XSU5ET1cgMQp8ICNk ZWZpbmUgSEFWRV9HVEtfV0lER0VUX1NFVF9IQVNfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RL X0RJQUxPR19HRVRfQUNUSU9OX0FSRUEgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9T RU5TSVRJVkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9NQVBQRUQgMQp8ICNkZWZp bmUgSEFWRV9HVEtfQURKVVNUTUVOVF9HRVRfUEFHRV9TSVpFIDEKfCAjZGVmaW5lIEhBVkVfR1RL X09SSUVOVEFCTEVfU0VUX09SSUVOVEFUSU9OIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19T RVRfSEFTX1JFU0laRV9HUklQIDEKfCAjZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKfCAjZGVmaW5l IEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfR0ZJTEVOT1RJRlkgMQp8ICNkZWZpbmUgVVNF X0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVm aW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1J bnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWEZUIDEKfCAj ZGVmaW5lIEhBVkVfRlJFRVRZUEUgMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFW RV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAj ZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIFBOR19ERVBTVFJVQ1QgLyoqLwp8ICNkZWZpbmUg SEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwg I2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRPVVRQVVRQUklNQVJZIDEK fCAjZGVmaW5lIEhBVkVfWFJSR0VUU0NSRUVOUkVTT1VSQ0VTQ1VSUkVOVCAxCnwgI2RlZmluZSBI QVZFX1hSQU5EUiAxCnwgI2RlZmluZSBIQVZFX1hJTkVSQU1BIDEKfCAjZGVmaW5lIEhBVkVfTElC WE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAj ZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVBUNCAxCnwgI2RlZmlu ZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5l IEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAj ZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZF X0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVf U0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZS T00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJO QU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFE RFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElO RSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUg SEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVf Q0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NP UFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfX19FWEVDVVRBQkxFX1NUQVJUIDEKfCAjZGVmaW5lIEhB VkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX0FMSUdORURfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9S QU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VO V0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQ VCAxCnwgI2RlZmluZSBIQVZFX0dFVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEK fCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUg SEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9G QUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZET1BFTkRJ UiAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5l IEhBVkVfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BT RUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9G Q0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1B WCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8 ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNk ZWZpbmUgSEFWRV9GVVRJTUVTQVQgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVOUyAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VDVVJFX0dFVEVOViAxCnwgI2RlZmlu ZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFW RV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9X T1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0dM SUIgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJT VEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFN UEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKfCAjZGVmaW5l IEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJ Q0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNz ZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJF Q1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElT X0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElT X0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEhBVkVfUFJP Q0ZTIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5l IElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBOQVJST1dQUk9UTyAxCnwgI2RlZmluZSBVTklY OThfUFRZUyAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwg MTsgaSsrKQp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgeyBjaGFyICpwdHluYW1lID0g MDsgc2lnc2V0X3QgYmxvY2tlZDsgc2lnZW1wdHlzZXQgKCZibG9ja2VkKTsgc2lnYWRkc2V0ICgm YmxvY2tlZCwgU0lHQ0hMRCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX0JMT0NLLCAmYmxvY2tlZCwg MCk7IGlmIChncmFudHB0IChmZCkgIT0gLTEgJiYgdW5sb2NrcHQgKGZkKSAhPSAtMSkgcHR5bmFt ZSA9IHB0c25hbWUoZmQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19VTkJMT0NLLCAmYmxvY2tlZCwg MCk7IGlmICghcHR5bmFtZSkgeyBlbWFjc19jbG9zZSAoZmQpOyByZXR1cm4gLTE7IH0gc25wcmlu dGYgKHB0eV9uYW1lLCBQVFlfTkFNRV9TSVpFLCAiJXMiLCBwdHluYW1lKTsgfQp8ICNkZWZpbmUg UFRZX09QRU4gZG8geyBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19DTE9FWEVDIHwgT19O T0NUVFkpOyBpZiAoZmQgPCAwICYmIGVycm5vID09IEVJTlZBTCkgZmQgPSBwb3NpeF9vcGVucHQg KE9fUkRXUiB8IE9fTk9DVFRZKTsgfSB3aGlsZSAoZmFsc2UpCnwgI2RlZmluZSBQVFlfTkFNRV9T UFJJTlRGIC8qKi8KfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUg R0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBI QVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIEdOVV9MSU5VWCAvKiov CnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAj ZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJndGt1dGlsLmgiCnwgI2RlZmluZSBF TUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdW5rbm93bi1saW51eC1nbnUiCnwgI2RlZmluZSBF TUFDU19DT05GSUdfT1BUSU9OUyAiLS13aXRoLXgtdG9vbGtpdD1ndGsiCnwgI2RlZmluZSBIQVZF X1hfV0lORE9XUyAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEK fCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZp bmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRP TEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZE QVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBMU1RBVF9G T0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVm aW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEK fCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lO VCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxB Uk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9UTV9UTV9aT05FIDEK fCAjZGVmaW5lIEhBVkVfVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVgg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19V VElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9V UFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9CWVRFU1dB UF9IIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NL X1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZF X0RVUDIgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf RkRPUEVORElSIDEKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX19fRlBFTkRJTkcgMQp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHN0cnVjdCB0 aW1lem9uZQp8ICNkZWZpbmUgSEFWRV9NRU1SQ0hSIDEKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVN UCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBVU0VfQUNMIDAK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQVRJTV9UVl9OU0VDIDEKfCAjZGVmaW5lIFRZ UEVPRl9TVFJVQ1RfU1RBVF9TVF9BVElNX0lTX1NUUlVDVF9USU1FU1BFQyAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAgICAgICAgICAgI2luY2x1 ZGUgPHN5cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0 YXQgYWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYmlydGh0aW0udHZfbnNlYykKfCBy ZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI2Njc2OiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToyNjY5NDogY2hlY2tpbmcgZm9yIHdvcmtpbmcgc3RkYWxpZ24uaApjb25m aWd1cmU6MjY3MzU6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjI2NzM1OiAkPyA9IDAKY29uZmlndXJlOjI2NzQyOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MjY3NjQ6IGNoZWNraW5nIGZvciB2YV9jb3B5CmNvbmZpZ3VyZToyNjc4NTogZ2NjIC1z dGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjY3ODU6ICQ/ ID0gMApjb25maWd1cmU6MjY3OTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNjk3OTogY2hlY2tp bmcgd2hldGhlciBOVUxMIGNhbiBiZSB1c2VkIGluIGFyYml0cmFyeSBleHByZXNzaW9ucwpjb25m aWd1cmU6MjY5OTc6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjI2OTk3OiAkPyA9IDAKY29uZmlndXJlOjI3MDA0OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MjczMTA6IGNoZWNraW5nIHdoZXRoZXIgc3RydG9pbWF4IHdvcmtzCmNvbmZpZ3VyZToy NzM2NDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMg LWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyNzM2NDogJD8gPSAwCmNvbmZpZ3VyZToyNzM2NDog Li9jb25mdGVzdApjb25maWd1cmU6MjczNjQ6ICQ/ID0gMApjb25maWd1cmU6MjczNzU6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToyNzQ4MDogY2hlY2tpbmcgd2hldGhlciBzeW1saW5rIGhhbmRsZXMg dHJhaWxpbmcgc2xhc2ggY29ycmVjdGx5CmNvbmZpZ3VyZToyNzUxNDogZ2NjIC1zdGQ9Z251OTkg LW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZp Z3VyZToyNzUxNDogJD8gPSAwCmNvbmZpZ3VyZToyNzUxNDogLi9jb25mdGVzdApjb25maWd1cmU6 Mjc1MTQ6ICQ/ID0gMApjb25maWd1cmU6Mjc1MjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNzU2 MTogY2hlY2tpbmcgd2hldGhlciA8c3lzL3NlbGVjdC5oPiBpcyBzZWxmLWNvbnRhaW5lZApjb25m aWd1cmU6Mjc2NDA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNzg1MzogY2hlY2tpbmcgZm9yIG5s aW5rX3QKY29uZmlndXJlOjI3ODUzOiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZpZ3VyZToyNzg1MzogJD8gPSAwCmNvbmZpZ3VyZToyNzg1MzogZ2NjIC1z dGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5j dGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6Mjk0OjIyOiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lv biBiZWZvcmUgJyknIHRva2VuCiBpZiAoc2l6ZW9mICgobmxpbmtfdCkpKQogICAgICAgICAgICAg ICAgICAgICAgXgpjb25maWd1cmU6Mjc4NTM6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJlbWFjcyAyNC4zLjkwIgp8 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwg I2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjMuOTAiCnwgI2Rl ZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmlu ZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBF ICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBI QVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q V0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZp bmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJT T05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVf V0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZp bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUg SEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2Rl ZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAx CnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9DIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBIQVZFX1hS TVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAj ZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYg MQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNk ZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZpbmUg SEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS01FUkdF SU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdES19ESVNBQkxF X0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElP Tl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hBTkRM RV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVNX05FVyAxCnwg I2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19X SURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dFVF9BQ1RJ T05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAxCnwgI2Rl ZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZFX0dUS19BREpV U1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9TRVRf T1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpFX0dS SVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8 ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8 ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8 ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJh Y2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUgSEFWRV9GUkVF VFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZp bmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcg MQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNk ZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfWF9T TSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkgMQp8ICNkZWZpbmUgSEFWRV9Y UlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5lIEhBVkVfWFJBTkRSIDEKfCAj ZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5l IEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgTUFJTF9VU0Vf RkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFUFQ0IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVO VF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9TRUxF Q1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FM RSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8 ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNk ZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBI QVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUg SEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhB VkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdF TlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEK fCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNk ZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZp bmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVm aW5lIEhBVkVfQUxJR05FRF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmlu ZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNk ZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhB VkVfR0VUUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlO Rk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAj ZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2Rl ZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRkRPUEVORElSIDEKfCAjZGVmaW5lIEhB VkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElN RU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9NS09TVEVNUCAx CnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmlu ZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhB VkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xP Q0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0ZVVElN RVNBVCAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRU5TIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FU IDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUg MQp8ICNkZWZpbmUgSEFWRV9TRUNVUkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NL RVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVm aW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwg I2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfR0xJQiAxCnwgI2RlZmluZSBI QVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZp bmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFN RSAxCnwgI2RlZmluZSBDTEFTSF9ERVRFQ1RJT04gMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAj ZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8 ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBV U0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwg I2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChf Y18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJ U19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgSEFWRV9QUk9DRlMgMQp8ICNkZWZpbmUg REVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgSU5URVJSVVBUX0lOUFVU IDEKfCAjZGVmaW5lIE5BUlJPV1BST1RPIDEKfCAjZGVmaW5lIFVOSVg5OF9QVFlTIDEKfCAjZGVm aW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAoaSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmlu ZSBQVFlfVFRZX05BTUVfU1BSSU5URiB7IGNoYXIgKnB0eW5hbWUgPSAwOyBzaWdzZXRfdCBibG9j a2VkOyBzaWdlbXB0eXNldCAoJmJsb2NrZWQpOyBzaWdhZGRzZXQgKCZibG9ja2VkLCBTSUdDSExE KTsgcHRocmVhZF9zaWdtYXNrIChTSUdfQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKGdyYW50cHQg KGZkKSAhPSAtMSAmJiB1bmxvY2twdCAoZmQpICE9IC0xKSBwdHluYW1lID0gcHRzbmFtZShmZCk7 IHB0aHJlYWRfc2lnbWFzayAoU0lHX1VOQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKCFwdHluYW1l KSB7IGVtYWNzX2Nsb3NlIChmZCk7IHJldHVybiAtMTsgfSBzbnByaW50ZiAocHR5X25hbWUsIFBU WV9OQU1FX1NJWkUsICIlcyIsIHB0eW5hbWUpOyB9CnwgI2RlZmluZSBQVFlfT1BFTiBkbyB7IGZk ID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX0NMT0VYRUMgfCBPX05PQ1RUWSk7IGlmIChmZCA8 IDAgJiYgZXJybm8gPT0gRUlOVkFMKSBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19OT0NU VFkpOyB9IHdoaWxlIChmYWxzZSkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNk ZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1Mg MQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwg I2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgR05VX0xJTlVYIC8qKi8KfCAjZGVmaW5lIFVTQUJM RV9GSU9OUkVBRCAxCnwgI2RlZmluZSBVU0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hU ICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNk ZWZpbmUgVEVSTV9IRUFERVIgImd0a3V0aWwuaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJ T04gIng4Nl82NC11bmtub3duLWxpbnV4LWdudSIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJ T05TICItLXdpdGgteC10b29sa2l0PWd0ayIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAj ZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9B TExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVE X0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBI QVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9T WU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRf TE9OR19PTkxZIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJp Y3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9NRU1SQ0hSIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBI QVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9U TV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2Rl ZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0JZVEVTV0FQX0ggMQp8ICNkZWZpbmUg SEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2Rl ZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmlu ZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMQp8ICNk ZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19GUEVORElORyAx CnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgc3RydWN0IHRpbWV6b25lCnwgI2RlZmlu ZSBIQVZFX01FTVJDSFIgMQp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMAp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfU1RBVF9TVF9BVElNX1RWX05TRUMgMQp8ICNkZWZpbmUgVFlQRU9GX1NUUlVDVF9TVEFU X1NUX0FUSU1fSVNfU1RSVUNUX1RJTUVTUEVDIDEKfCAjZGVmaW5lIEdOVUxJQl9GU0NBTkYgMQp8 ICNkZWZpbmUgR05VTElCX1NDQU5GIDEKfCAjZGVmaW5lIG15X3N0cmZ0aW1lIG5zdHJmdGltZQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgICAgICAj aW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2Yg KChubGlua190KSkpCnwgCSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u ZmlndXJlOjI3ODUzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjc4ODM6IGNoZWNraW5nIHdoZXRo ZXIgbG9jYWx0aW1lX3IgaXMgZGVjbGFyZWQKY29uZmlndXJlOjI3ODgzOiBnY2MgLXN0ZD1nbnU5 OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyNzg4MzogJD8gPSAwCmNv bmZpZ3VyZToyNzg4MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI3OTAyOiBjaGVja2luZyB3aGV0 aGVyIGxvY2FsdGltZV9yIGlzIGNvbXBhdGlibGUgd2l0aCBpdHMgUE9TSVggc2lnbmF0dXJlCmNv bmZpZ3VyZToyNzkyNjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4m NQpjb25maWd1cmU6Mjc5MjY6ICQ/ID0gMApjb25maWd1cmU6Mjc5MzQ6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToyNzk3OTogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyB0aW1lcl9zZXR0 aW1lCmNvbmZpZ3VyZToyODAxMDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAg ICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCi90bXAvY2M0RVJIQmoubzogSW4gZnVuY3Rp b24gYG1haW4nOgovaG9tZS90dWhkby9Eb3dubG9hZHMvZW1hY3MtMjQuMy45MC9jb25mdGVzdC5j OjMwMDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgdGltZXJfc2V0dGltZScKY29sbGVjdDI6IGVy cm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToyODAxMDogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC4zLjkwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgImVtYWNzIDI0LjMuOTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZp bmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVS U0lPTiAiMjQuMy45MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hF QURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I IDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmlu ZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9H TlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmlu ZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8 ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5E Q0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVf SCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFW RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJT19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFWRV9URVJN X0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T WVNfU0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9O RVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQURE UiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAxCnwgI2RlZmlu ZSBET1VHX0xFQV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWEtC IDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVO UkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8 ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBI QVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9JTUFH RU1BR0lDSyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElNQUdFUElYRUxTIDEKfCAjZGVm aW5lIEhBVkVfTUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2RlZmluZSBIQVZFX0dUSzMgMQp8 ICNkZWZpbmUgR0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgR0xJ Ql9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVTRV9HVEsgMQp8ICNk ZWZpbmUgSEFWRV9HVEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfVEVBUk9G Rl9NRU5VX0lURU1fTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfV0lORE9XIDEK fCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZF X0dUS19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9H RVRfU0VOU0lUSVZFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQUEVEIDEKfCAj ZGVmaW5lIEhBVkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAxCnwgI2RlZmluZSBIQVZF X0dUS19PUklFTlRBQkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2RlZmluZSBIQVZFX0dUS19XSU5E T1dfU0VUX0hBU19SRVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZFX0dTRVRUSU5HUyAxCnwgI2Rl ZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxFTk9USUZZIDEKfCAjZGVmaW5l IFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwg I2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3Rl cklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hGVCAx CnwgI2RlZmluZSBIQVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5l IEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAx CnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQU1RSVUNUIC8qKi8KfCAjZGVm aW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYg MQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUT1VUUFVUUFJJTUFS WSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNFU0NVUlJFTlQgMQp8ICNkZWZp bmUgSEFWRV9YUkFORFIgMQp8ICNkZWZpbmUgSEFWRV9YSU5FUkFNQSAxCnwgI2RlZmluZSBIQVZF X0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAx CnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0FDQ0VQVDQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAx CnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVm aW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUg SEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBI QVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JF Q1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ RUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9GUkVF SUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dF VExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVm aW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBI QVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFW RV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX19fRVhFQ1VUQUJMRV9TVEFSVCAxCnwgI2RlZmlu ZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9BTElHTkVEX0FMTE9DIDEKfCAjZGVmaW5lIEhB VkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJ Tl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dS QU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5Q VCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVm aW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhB VkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GRE9Q RU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8 ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2Rl ZmluZSBIQVZFX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFW RV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhB VkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJU T0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5L IDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEK fCAjZGVmaW5lIEhBVkVfRlVUSU1FU0FUIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FTlMgMQp8ICNk ZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5l IEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFQ1VSRV9HRVRFTlYgMQp8ICNk ZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5l IEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhB VkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFW RV9HTElCIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZF X01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmlu ZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIENMQVNIX0RFVEVDVElPTiAxCnwgI2Rl ZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExf REVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJv Y2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUg RElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmlu ZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmlu ZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBIQVZF X1BST0NGUyAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2Rl ZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgTkFSUk9XUFJPVE8gMQp8ICNkZWZpbmUg VU5JWDk4X1BUWVMgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsg aSA8IDE7IGkrKykKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHsgY2hhciAqcHR5bmFt ZSA9IDA7IHNpZ3NldF90IGJsb2NrZWQ7IHNpZ2VtcHR5c2V0ICgmYmxvY2tlZCk7IHNpZ2FkZHNl dCAoJmJsb2NrZWQsIFNJR0NITEQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19CTE9DSywgJmJsb2Nr ZWQsIDApOyBpZiAoZ3JhbnRwdCAoZmQpICE9IC0xICYmIHVubG9ja3B0IChmZCkgIT0gLTEpIHB0 eW5hbWUgPSBwdHNuYW1lKGZkKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfVU5CTE9DSywgJmJsb2Nr ZWQsIDApOyBpZiAoIXB0eW5hbWUpIHsgZW1hY3NfY2xvc2UgKGZkKTsgcmV0dXJuIC0xOyB9IHNu cHJpbnRmIChwdHlfbmFtZSwgUFRZX05BTUVfU0laRSwgIiVzIiwgcHR5bmFtZSk7IH0KfCAjZGVm aW5lIFBUWV9PUEVOIGRvIHsgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8IE9fQ0xPRVhFQyB8 IE9fTk9DVFRZKTsgaWYgKGZkIDwgMCAmJiBlcnJubyA9PSBFSU5WQUwpIGZkID0gcG9zaXhfb3Bl bnB0IChPX1JEV1IgfCBPX05PQ1RUWSk7IH0gd2hpbGUgKGZhbHNlKQp8ICNkZWZpbmUgUFRZX05B TUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVm aW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZp bmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBHTlVfTElOVVgg LyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAx CnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAiZ3RrdXRpbC5oIgp8ICNkZWZp bmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXVua25vd24tbGludXgtZ251Igp8ICNkZWZp bmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0td2l0aC14LXRvb2xraXQ9Z3RrIgp8ICNkZWZpbmUg SEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExP QyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAj ZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0M5OV9T VFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgTFNU QVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVO ViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAx CnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9O RSAxCnwgI2RlZmluZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9V TUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJ TkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VU R1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQllU RVNXQVBfSCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9D TE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUg SEFWRV9EVVAyIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9fX0ZQRU5ESU5HIDEKfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSBzdHJ1 Y3QgdGltZXpvbmUKfCAjZGVmaW5lIEhBVkVfTUVNUkNIUiAxCnwgI2RlZmluZSBHTlVMSUJfTUtP U1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgVVNFX0FD TCAwCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0FUSU1fVFZfTlNFQyAxCnwgI2RlZmlu ZSBUWVBFT0ZfU1RSVUNUX1NUQVRfU1RfQVRJTV9JU19TVFJVQ1RfVElNRVNQRUMgMQp8ICNkZWZp bmUgR05VTElCX0ZTQ0FORiAxCnwgI2RlZmluZSBHTlVMSUJfU0NBTkYgMQp8ICNkZWZpbmUgbXlf c3RyZnRpbWUgbnN0cmZ0aW1lCnwgI2RlZmluZSBIQVZFX0RFQ0xfTE9DQUxUSU1FX1IgMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHBy b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdo dCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0 cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2Nw bHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHRpbWVyX3NldHRpbWUgKCk7Cnwg aW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gdGltZXJfc2V0dGltZSAoKTsKfCAgIDsKfCAgIHJl dHVybiAwOwp8IH0KY29uZmlndXJlOjI4MDEwOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAt ZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbHJ0ICAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjI4 MDEwOiAkPyA9IDAKY29uZmlndXJlOjI4MDI3OiByZXN1bHQ6IC1scnQKY29uZmlndXJlOjI4MDU2 OiBjaGVja2luZyBmb3IgdGltZXJfc2V0dGltZQpjb25maWd1cmU6MjgwNTY6IGdjYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1scnQgLWxwdGhyZWFkICA+ JjUgCmNvbmZpZ3VyZToyODA1NjogJD8gPSAwCmNvbmZpZ3VyZToyODA1NjogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjI4MTcwOiBjaGVja2luZyBmb3IgdW5zZXRlbnYKY29uZmlndXJlOjI4MTcwOiBn Y2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbHB0aHJl YWQgID4mNSAKY29uZmlndXJlOjI4MTcwOiAkPyA9IDAKY29uZmlndXJlOjI4MTcwOiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MjgxODM6IGNoZWNraW5nIGZvciB1bnNldGVudigpIHJldHVybiB0eXBl CmNvbmZpZ3VyZToyODIwODogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6MjgyMDg6ICQ/ID0gMApjb25maWd1cmU6MjgyMTU6IHJlc3VsdDogaW50 CmNvbmZpZ3VyZToyODIyNDogY2hlY2tpbmcgd2hldGhlciB1bnNldGVudiBvYmV5cyBQT1NJWApj b25maWd1cmU6MjgyNjk6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBj b25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MjgyNjk6ICQ/ID0gMApjb25maWd1 cmU6MjgyNjk6IC4vY29uZnRlc3QKY29uZmlndXJlOjI4MjY5OiAkPyA9IDAKY29uZmlndXJlOjI4 Mjc5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjg2ODQ6IGNoZWNraW5nIHdoZXRoZXIgZ2V0ZHRh Ymxlc2l6ZSB3b3Jrcwpjb25maWd1cmU6Mjg3MTM6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6Mjg3MTM6 ICQ/ID0gMApjb25maWd1cmU6Mjg3MTM6IC4vY29uZnRlc3QKY29uZmlndXJlOjI4NzEzOiAkPyA9 IDAKY29uZmlndXJlOjI4NzI0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjk5NTc6IGNoZWNraW5n IHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZQpjb25maWd1cmU6 Mjk5NjM6IHJlc3VsdDogZG9uZQpjb25maWd1cmU6MzAxMjc6IGNyZWF0aW5nIC4vY29uZmlnLnN0 YXR1cwoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBSdW5uaW5nIGNvbmZpZy5zdGF0 dXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKClRoaXMgZmlsZSB3YXMgZXh0ZW5k ZWQgYnkgZW1hY3MgY29uZmlnLnN0YXR1cyAyNC4zLjkwLCB3aGljaCB3YXMKZ2VuZXJhdGVkIGJ5 IEdOVSBBdXRvY29uZiAyLjY5LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCgogIENPTkZJ R19GSUxFUyAgICA9IAogIENPTkZJR19IRUFERVJTICA9IAogIENPTkZJR19MSU5LUyAgICA9IAog IENPTkZJR19DT01NQU5EUyA9IAogICQgLi9jb25maWcuc3RhdHVzIAoKb24gdHVoZG8tTWFjQm9v a0FpcgoKY29uZmlnLnN0YXR1czoyMDI2OiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVz OjIwMjY6IGNyZWF0aW5nIGxpYi9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjIwMjY6IGNyZWF0aW5n IGxpYi1zcmMvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoyMDI2OiBjcmVhdGluZyBvbGRYTWVudS9N YWtlZmlsZQpjb25maWcuc3RhdHVzOjIwMjY6IGNyZWF0aW5nIGRvYy9lbWFjcy9NYWtlZmlsZQpj b25maWcuc3RhdHVzOjIwMjY6IGNyZWF0aW5nIGRvYy9taXNjL01ha2VmaWxlCmNvbmZpZy5zdGF0 dXM6MjAyNjogY3JlYXRpbmcgZG9jL2xpc3BpbnRyby9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjIw MjY6IGNyZWF0aW5nIGRvYy9saXNwcmVmL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MjAyNjogY3Jl YXRpbmcgc3JjL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MjAyNjogY3JlYXRpbmcgbHdsaWIvTWFr ZWZpbGUKY29uZmlnLnN0YXR1czoyMDI2OiBjcmVhdGluZyBsaXNwL01ha2VmaWxlCmNvbmZpZy5z dGF0dXM6MjAyNjogY3JlYXRpbmcgbGVpbS9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjIwMjY6IGNy ZWF0aW5nIG5leHRzdGVwL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MjAyNjogY3JlYXRpbmcgbnQv TWFrZWZpbGUKY29uZmlnLnN0YXR1czoyMDI2OiBjcmVhdGluZyBhZG1pbi91bmlkYXRhL01ha2Vm aWxlCmNvbmZpZy5zdGF0dXM6MjAyNjogY3JlYXRpbmcgYWRtaW4vZ3JhbW1hcnMvTWFrZWZpbGUK Y29uZmlnLnN0YXR1czoyMDI2OiBjcmVhdGluZyBzcmMvY29uZmlnLmgKY29uZmlnLnN0YXR1czoy MjEyOiBzcmMvY29uZmlnLmggaXMgdW5jaGFuZ2VkCmNvbmZpZy5zdGF0dXM6MjI2MDogZXhlY3V0 aW5nIGRlcGZpbGVzIGNvbW1hbmRzCmNvbmZpZy5zdGF0dXM6MjI2MDogZXhlY3V0aW5nIHNyYy9l cGF0aHMuaCBjb21tYW5kcwpjb25maWcuc3RhdHVzOjIyNjA6IGV4ZWN1dGluZyBzcmMvLmdkYmlu aXQgY29tbWFuZHMKCiMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgQ2FjaGUgdmFyaWFibGVzLiAj IwojIyAtLS0tLS0tLS0tLS0tLS0tICMjCgphY19jdl9idWlsZD14ODZfNjQtdW5rbm93bi1saW51 eC1nbnUKYWNfY3ZfY19iaWdlbmRpYW49bm8KYWNfY3ZfY19jb21waWxlcl9nbnU9eWVzCmFjX2N2 X2NfcmVzdHJpY3Q9X19yZXN0cmljdAphY19jdl9lbnZfQ0Nfc2V0PQphY19jdl9lbnZfQ0NfdmFs dWU9CmFjX2N2X2Vudl9DRkxBR1Nfc2V0PQphY19jdl9lbnZfQ0ZMQUdTX3ZhbHVlPQphY19jdl9l bnZfQ1BQRkxBR1Nfc2V0PQphY19jdl9lbnZfQ1BQRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9DUFBf c2V0PQphY19jdl9lbnZfQ1BQX3ZhbHVlPQphY19jdl9lbnZfTERGTEFHU19zZXQ9CmFjX2N2X2Vu dl9MREZMQUdTX3ZhbHVlPQphY19jdl9lbnZfTElCU19zZXQ9CmFjX2N2X2Vudl9MSUJTX3ZhbHVl PQphY19jdl9lbnZfWE1LTUZfc2V0PQphY19jdl9lbnZfWE1LTUZfdmFsdWU9CmFjX2N2X2Vudl9i dWlsZF9hbGlhc19zZXQ9CmFjX2N2X2Vudl9idWlsZF9hbGlhc192YWx1ZT0KYWNfY3ZfZW52X2hv c3RfYWxpYXNfc2V0PQphY19jdl9lbnZfaG9zdF9hbGlhc192YWx1ZT0KYWNfY3ZfZW52X3Rhcmdl dF9hbGlhc19zZXQ9CmFjX2N2X2Vudl90YXJnZXRfYWxpYXNfdmFsdWU9CmFjX2N2X2Z1bmNfTWFn aWNrRXhwb3J0SW1hZ2VQaXhlbHM9eWVzCmFjX2N2X2Z1bmNfTWFnaWNrTWVyZ2VJbWFnZUxheWVy cz15ZXMKYWNfY3ZfZnVuY19YUlJHZXRPdXRwdXRQcmltYXJ5PXllcwphY19jdl9mdW5jX1hSUkdl dFNjcmVlblJlc291cmNlc0N1cnJlbnQ9eWVzCmFjX2N2X2Z1bmNfWFNjcmVlbk51bWJlck9mU2Ny ZWVuPXllcwphY19jdl9mdW5jX1hTY3JlZW5SZXNvdXJjZVN0cmluZz15ZXMKYWNfY3ZfZnVuY19Y cm1TZXREYXRhYmFzZT15ZXMKYWNfY3ZfZnVuY19fX2V4ZWN1dGFibGVfc3RhcnQ9eWVzCmFjX2N2 X2Z1bmNfYWNjZXB0ND15ZXMKYWNfY3ZfZnVuY19hbGlnbmVkX2FsbG9jPXllcwphY19jdl9mdW5j X2FsbG9jYV93b3Jrcz15ZXMKYWNfY3ZfZnVuY19jZm1ha2VyYXc9eWVzCmFjX2N2X2Z1bmNfY2Zz ZXRzcGVlZD15ZXMKYWNfY3ZfZnVuY19jbG9ja19nZXR0aW1lPXllcwphY19jdl9mdW5jX2Nsb2Nr X3NldHRpbWU9eWVzCmFjX2N2X2Z1bmNfY29weXNpZ249eWVzCmFjX2N2X2Z1bmNfZW5kZ3JlbnQ9 eWVzCmFjX2N2X2Z1bmNfZW5kcHdlbnQ9eWVzCmFjX2N2X2Z1bmNfZmFjY2Vzc2F0PXllcwphY19j dl9mdW5jX2ZjaG1vZD15ZXMKYWNfY3ZfZnVuY19mY250bD15ZXMKYWNfY3ZfZnVuY19mZG9wZW5k aXI9eWVzCmFjX2N2X2Z1bmNfZm9yaz15ZXMKYWNfY3ZfZnVuY19mb3JrX3dvcmtzPXllcwphY19j dl9mdW5jX2ZyZWVpZmFkZHJzPXllcwphY19jdl9mdW5jX2ZzdGF0YXQ9eWVzCmFjX2N2X2Z1bmNf ZnN5bmM9eWVzCmFjX2N2X2Z1bmNfZnV0aW1lbnM9eWVzCmFjX2N2X2Z1bmNfZnV0aW1lcz15ZXMK YWNfY3ZfZnVuY19mdXRpbWVzYXQ9eWVzCmFjX2N2X2Z1bmNfZ2FpX3N0cmVycm9yPXllcwphY19j dl9mdW5jX2dldF9jdXJyZW50X2Rpcl9uYW1lPXllcwphY19jdl9mdW5jX2dldGFkZHJpbmZvPXll cwphY19jdl9mdW5jX2dldGRlbGltPXllcwphY19jdl9mdW5jX2dldGR0YWJsZXNpemU9eWVzCmFj X2N2X2Z1bmNfZ2V0Z3JlbnQ9eWVzCmFjX2N2X2Z1bmNfZ2V0aG9zdG5hbWU9eWVzCmFjX2N2X2Z1 bmNfZ2V0aWZhZGRycz15ZXMKYWNfY3ZfZnVuY19nZXRsaW5lPXllcwphY19jdl9mdW5jX2dldGxv YWRhdmc9eWVzCmFjX2N2X2Z1bmNfZ2V0b3B0X2xvbmdfb25seT15ZXMKYWNfY3ZfZnVuY19nZXRw YWdlc2l6ZT15ZXMKYWNfY3ZfZnVuY19nZXRwZWVybmFtZT15ZXMKYWNfY3ZfZnVuY19nZXRwdD15 ZXMKYWNfY3ZfZnVuY19nZXRwd2VudD15ZXMKYWNfY3ZfZnVuY19nZXRybGltaXQ9eWVzCmFjX2N2 X2Z1bmNfZ2V0cnVzYWdlPXllcwphY19jdl9mdW5jX2dldHNvY2tuYW1lPXllcwphY19jdl9mdW5j X2dldHRpbWVvZmRheT15ZXMKYWNfY3ZfZnVuY19ncmFudHB0PXllcwphY19jdl9mdW5jX2d0a19h ZGp1c3RtZW50X2dldF9wYWdlX3NpemU9eWVzCmFjX2N2X2Z1bmNfZ3RrX2RpYWxvZ19nZXRfYWN0 aW9uX2FyZWE9eWVzCmFjX2N2X2Z1bmNfZ3RrX2hhbmRsZV9ib3hfbmV3PXllcwphY19jdl9mdW5j X2d0a19vcmllbnRhYmxlX3NldF9vcmllbnRhdGlvbj15ZXMKYWNfY3ZfZnVuY19ndGtfdGVhcm9m Zl9tZW51X2l0ZW1fbmV3PXllcwphY19jdl9mdW5jX2d0a193aWRnZXRfZ2V0X21hcHBlZD15ZXMK YWNfY3ZfZnVuY19ndGtfd2lkZ2V0X2dldF9zZW5zaXRpdmU9eWVzCmFjX2N2X2Z1bmNfZ3RrX3dp ZGdldF9nZXRfd2luZG93PXllcwphY19jdl9mdW5jX2d0a193aWRnZXRfc2V0X2hhc193aW5kb3c9 eWVzCmFjX2N2X2Z1bmNfZ3RrX3dpbmRvd19zZXRfaGFzX3Jlc2l6ZV9ncmlwPXllcwphY19jdl9m dW5jX2xvY2FsdGltZV9yPXllcwphY19jdl9mdW5jX2xvZzI9eWVzCmFjX2N2X2Z1bmNfbHJhbmQ0 OD15ZXMKYWNfY3ZfZnVuY19sc3RhdD15ZXMKYWNfY3ZfZnVuY19sdXRpbWVzPXllcwphY19jdl9m dW5jX21lbXJjaHI9eWVzCmFjX2N2X2Z1bmNfbWtvc3RlbXA9eWVzCmFjX2N2X2Z1bmNfbW1hcF9m aXhlZF9tYXBwZWQ9eWVzCmFjX2N2X2Z1bmNfbmFub3RpbWU9bm8KYWNfY3ZfZnVuY19waXBlMj15 ZXMKYWNfY3ZfZnVuY19wb3NpeF9vcGVucHQ9eWVzCmFjX2N2X2Z1bmNfcHNlbGVjdD15ZXMKYWNf Y3ZfZnVuY19wdGhyZWFkX3NpZ21hc2s9eWVzCmFjX2N2X2Z1bmNfcmFuZG9tPXllcwphY19jdl9m dW5jX3JlYWRsaW5rPXllcwphY19jdl9mdW5jX3JlYWRsaW5rYXQ9eWVzCmFjX2N2X2Z1bmNfcmVj dmZyb209eWVzCmFjX2N2X2Z1bmNfcmludD15ZXMKYWNfY3ZfZnVuY19zZWN1cmVfZ2V0ZW52PXll cwphY19jdl9mdW5jX3NlbGVjdD15ZXMKYWNfY3ZfZnVuY19zZW5kdG89eWVzCmFjX2N2X2Z1bmNf c2V0aXRpbWVyPXllcwphY19jdl9mdW5jX3NldGxvY2FsZT15ZXMKYWNfY3ZfZnVuY19zZXRybGlt aXQ9eWVzCmFjX2N2X2Z1bmNfc2h1dGRvd249eWVzCmFjX2N2X2Z1bmNfc2lnMnN0cj1ubwphY19j dl9mdW5jX3NucHJpbnRmPXllcwphY19jdl9mdW5jX3NvY2tldD15ZXMKYWNfY3ZfZnVuY19zdHJz aWduYWw9eWVzCmFjX2N2X2Z1bmNfc3RydG9pbWF4PXllcwphY19jdl9mdW5jX3N0cnRvdW1heD15 ZXMKYWNfY3ZfZnVuY19zeW1saW5rPXllcwphY19jdl9mdW5jX3N5bmM9eWVzCmFjX2N2X2Z1bmNf dGltZXJfc2V0dGltZT15ZXMKYWNfY3ZfZnVuY190b3VjaGxvY2s9bm8KYWNfY3ZfZnVuY190enNl dD15ZXMKYWNfY3ZfZnVuY191bnNldGVudj15ZXMKYWNfY3ZfZnVuY191dGltZW5zYXQ9eWVzCmFj X2N2X2Z1bmNfdmZvcms9eWVzCmFjX2N2X2Z1bmNfdmZvcmtfd29ya3M9eWVzCmFjX2N2X2hhdmVf ZGVjbF9HVEtfVFlQRV9GSUxFX1NFTEVDVElPTj1ubwphY19jdl9oYXZlX2RlY2xfR1RLX1RZUEVf SEFORExFX0JPWD15ZXMKYWNfY3ZfaGF2ZV9kZWNsX0dUS19UWVBFX1RFQVJPRkZfTUVOVV9JVEVN PXllcwphY19jdl9oYXZlX2RlY2xfX19mcGVuZGluZz15ZXMKYWNfY3ZfaGF2ZV9kZWNsX2FsYXJt PXllcwphY19jdl9oYXZlX2RlY2xfZmRhdGFzeW5jPXllcwphY19jdl9oYXZlX2RlY2xfZmRvcGVu ZGlyPXllcwphY19jdl9oYXZlX2RlY2xfZ2V0ZW52PXllcwphY19jdl9oYXZlX2RlY2xfZ2V0bG9h ZGF2Zz15ZXMKYWNfY3ZfaGF2ZV9kZWNsX2xvY2FsdGltZV9yPXllcwphY19jdl9oYXZlX2RlY2xf bWVtcmNocj15ZXMKYWNfY3ZfaGF2ZV9kZWNsX3BuZ19sb25nam1wPW5vCmFjX2N2X2hhdmVfZGVj bF9zdHJtb2RlPW5vCmFjX2N2X2hhdmVfZGVjbF9zdHJ0b2ltYXg9eWVzCmFjX2N2X2hhdmVfZGVj bF9zdHJ0b3VtYXg9eWVzCmFjX2N2X2hhdmVfZGVjbF9zeXNfc2lnbGlzdD15ZXMKYWNfY3ZfaGF2 ZV9kZWNsX3Vuc2V0ZW52PXllcwphY19jdl9oYXZlX3g9J2hhdmVfeD15ZXMJYWNfeF9pbmNsdWRl cz0nXCcnJ1wnJwlhY194X2xpYnJhcmllcz0nXCcnJ1wnJycKYWNfY3ZfaGVhZGVyX1gxMV9TTV9T TWxpYl9oPXllcwphY19jdl9oZWFkZXJfWDExX1hmdF9YZnRfaD15ZXMKYWNfY3ZfaGVhZGVyX1gx MV94cG1faD15ZXMKYWNfY3ZfaGVhZGVyX2FycGFfaW5ldF9oPXllcwphY19jdl9oZWFkZXJfYnl0 ZXN3YXBfaD15ZXMKYWNfY3ZfaGVhZGVyX2NvZmZfaD1ubwphY19jdl9oZWFkZXJfZGlyZW50X2g9 eWVzCmFjX2N2X2hlYWRlcl9leGVjaW5mb19oPXllcwphY19jdl9oZWFkZXJfZ2V0b3B0X2g9eWVz CmFjX2N2X2hlYWRlcl9naWZfbGliX2g9eWVzCmFjX2N2X2hlYWRlcl9ncG1faD1ubwphY19jdl9o ZWFkZXJfaWZhZGRyc19oPXllcwphY19jdl9oZWFkZXJfaW50dHlwZXNfaD15ZXMKYWNfY3ZfaGVh ZGVyX2plcnJvcl9oPXllcwphY19jdl9oZWFkZXJfbWFjaGluZV9zb3VuZGNhcmRfaD1ubwphY19j dl9oZWFkZXJfbWFpbGxvY2tfaD1ubwphY19jdl9oZWFkZXJfbWFsbG9jX21hbGxvY19oPW5vCmFj X2N2X2hlYWRlcl9tZW1vcnlfaD15ZXMKYWNfY3ZfaGVhZGVyX21pbml4X2NvbmZpZ19oPW5vCmFj X2N2X2hlYWRlcl9uZXRfaWZfZGxfaD1ubwphY19jdl9oZWFkZXJfbmV0X2lmX2g9eWVzCmFjX2N2 X2hlYWRlcl9uZXRpbmV0X2luX2g9eWVzCmFjX2N2X2hlYWRlcl9wbmdfaD15ZXMKYWNfY3ZfaGVh ZGVyX3B0aHJlYWRfaD15ZXMKYWNfY3ZfaGVhZGVyX3B0eV9oPXllcwphY19jdl9oZWFkZXJfcHdk X2g9eWVzCmFjX2N2X2hlYWRlcl9zb3VuZGNhcmRfaD1ubwphY19jdl9oZWFkZXJfc3RhdF9icm9r ZW49bm8KYWNfY3ZfaGVhZGVyX3N0ZGJvb2xfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGM9eWVzCmFj X2N2X2hlYWRlcl9zdGRpbnRfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGlvX2V4dF9oPXllcwphY19j dl9oZWFkZXJfc3RkbGliX2g9eWVzCmFjX2N2X2hlYWRlcl9zdHJpbmdfaD15ZXMKYWNfY3ZfaGVh ZGVyX3N0cmluZ3NfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19hY2xfaD1ubwphY19jdl9oZWFkZXJf c3lzX2xvYWRhdmdfaD1ubwphY19jdl9oZWFkZXJfc3lzX3BhcmFtX2g9eWVzCmFjX2N2X2hlYWRl cl9zeXNfcmVzb3VyY2VfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19zZWxlY3RfaD15ZXMKYWNfY3Zf aGVhZGVyX3N5c19zb2NrZXRfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19zb3VuZGNhcmRfaD15ZXMK YWNfY3ZfaGVhZGVyX3N5c19zdGF0X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfc3lzdGVtaW5mb19o PW5vCmFjX2N2X2hlYWRlcl9zeXNfdGltZV9oPXllcwphY19jdl9oZWFkZXJfc3lzX3R5cGVzX2g9 eWVzCmFjX2N2X2hlYWRlcl9zeXNfdW5faD15ZXMKYWNfY3ZfaGVhZGVyX3N5c191dHNuYW1lX2g9 eWVzCmFjX2N2X2hlYWRlcl9zeXNfdmxpbWl0X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfd2FpdF9o PXllcwphY19jdl9oZWFkZXJfdGVybV9oPXllcwphY19jdl9oZWFkZXJfdGlmZmlvX2g9eWVzCmFj X2N2X2hlYWRlcl90aW1lPXllcwphY19jdl9oZWFkZXJfdW5pc3RkX2g9eWVzCmFjX2N2X2hlYWRl cl91dGlsX2g9bm8KYWNfY3ZfaGVhZGVyX3V0aW1lX2g9eWVzCmFjX2N2X2hlYWRlcl91dG1wX2g9 eWVzCmFjX2N2X2hlYWRlcl92YWxncmluZF92YWxncmluZF9oPW5vCmFjX2N2X2hlYWRlcl92Zm9y a19oPW5vCmFjX2N2X2hlYWRlcl93Y2hhcl9oPXllcwphY19jdl9ob3N0PXg4Nl82NC11bmtub3du LWxpbnV4LWdudQphY19jdl9saWJfU01fU21jT3BlbkNvbm5lY3Rpb249eWVzCmFjX2N2X2xpYl9Y YnNkX21haW49bm8KYWNfY3ZfbGliX1hmdF9YZnRGb250T3Blbj15ZXMKYWNfY3ZfbGliX1hwbV9Y cG1SZWFkRmlsZVRvUGl4bWFwPXllcwphY19jdl9saWJfWHJlbmRlcl9YUmVuZGVyUXVlcnlFeHRl bnNpb249eWVzCmFjX2N2X2xpYl9kbmV0X2RuZXRfbnRvYT1ubwphY19jdl9saWJfZ2lmX0VHaWZQ dXRFeHRlbnNpb25MYXN0PXllcwphY19jdl9saWJfZ2lmX0dpZk1ha2VNYXBPYmplY3Q9bm8KYWNf Y3ZfbGliX2pwZWdfanBlZ19kZXN0cm95X2NvbXByZXNzPXllcwphY19jdl9saWJfbG9ja2ZpbGVf bWFpbGxvY2s9bm8KYWNfY3ZfbGliX21fc3FydD15ZXMKYWNfY3ZfbGliX21haWxfbWFpbGxvY2s9 bm8KYWNfY3ZfbGliX29zc2F1ZGlvX19vc3NfaW9jdGw9bm8KYWNfY3ZfbGliX3BuZ19wbmdfZ2V0 X2NoYW5uZWxzPXllcwphY19jdl9saWJfcHRocmVhZF9wdGhyZWFkX3NlbGY9eWVzCmFjX2N2X2xp Yl9wdGhyZWFkc19jbWFfb3Blbj1ubwphY19jdl9saWJfc2VsaW51eF9sZ2V0ZmlsZWNvbj1ubwph Y19jdl9saWJfdGlmZl9USUZGR2V0VmVyc2lvbj15ZXMKYWNfY3ZfbGliX3htbDJfaHRtbFJlYWRN ZW1vcnk9eWVzCmFjX2N2X21lbWJlcl9zdHJ1Y3RfaWZyZXFfaWZyX2FkZHI9eWVzCmFjX2N2X21l bWJlcl9zdHJ1Y3RfaWZyZXFfaWZyX2FkZHJfc2FfbGVuPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3Rf aWZyZXFfaWZyX2Jyb2FkYWRkcj15ZXMKYWNfY3ZfbWVtYmVyX3N0cnVjdF9pZnJlcV9pZnJfZmxh Z3M9eWVzCmFjX2N2X21lbWJlcl9zdHJ1Y3RfaWZyZXFfaWZyX2h3YWRkcj15ZXMKYWNfY3ZfbWVt YmVyX3N0cnVjdF9pZnJlcV9pZnJfbmV0bWFzaz15ZXMKYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0 X3N0X2F0aW1fdHZfbnNlYz15ZXMKYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0X3N0X2JpcnRodGlt X3R2X25zZWM9bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0X3N0X2JpcnRodGltZW5zZWM9bm8K YWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0X3N0X2JpcnRodGltZXNwZWNfdHZfbnNlYz1ubwphY19j dl9tZW1iZXJfc3RydWN0X3RtX3RtX2dtdG9mZj15ZXMKYWNfY3ZfbWVtYmVyX3N0cnVjdF90bV90 bV96b25lPXllcwphY19jdl9vYmpleHQ9bwphY19jdl9wYXRoX0VHUkVQPScvYmluL2dyZXAgLUUn CmFjX2N2X3BhdGhfR1JFUD0vYmluL2dyZXAKYWNfY3ZfcGF0aF9HWklQX1BST0c9L2Jpbi9nemlw CmFjX2N2X3BhdGhfSU5TVEFMTF9JTkZPPS91c3IvYmluL2luc3RhbGwtaW5mbwphY19jdl9wYXRo X01BS0VJTkZPPS91c3IvYmluL21ha2VpbmZvCmFjX2N2X3BhdGhfUEtHX0NPTkZJRz0vdXNyL2Jp bi9wa2ctY29uZmlnCmFjX2N2X3BhdGhfaW5zdGFsbD0nL3Vzci9iaW4vaW5zdGFsbCAtYycKYWNf Y3ZfcGF0aF9ta2Rpcj0vYmluL21rZGlyCmFjX2N2X3Byb2dfQVdLPW1hd2sKYWNfY3ZfcHJvZ19D UFA9J2djYyAtRScKYWNfY3ZfcHJvZ19hY19jdF9BUj1hcgphY19jdl9wcm9nX2FjX2N0X0NDPWdj YwphY19jdl9wcm9nX2FjX2N0X1JBTkxJQj1yYW5saWIKYWNfY3ZfcHJvZ19jY19jODk9CmFjX2N2 X3Byb2dfY2NfYzk5PS1zdGQ9Z251OTkKYWNfY3ZfcHJvZ19jY19nPXllcwphY19jdl9wcm9nX2Nj X3N0ZGM9LXN0ZD1nbnU5OQphY19jdl9wcm9nX2xpYmxvY2tmaWxlPW5vCmFjX2N2X3Byb2dfbWFr ZV9tYWtlX3NldD15ZXMKYWNfY3Zfc2FmZV90b19kZWZpbmVfX19leHRlbnNpb25zX189eWVzCmFj X2N2X3NlYXJjaF9iYWNrdHJhY2Vfc3ltYm9sc19mZD0nbm9uZSByZXF1aXJlZCcKYWNfY3Zfc2Vh cmNoX2Nsb2NrX2dldHRpbWU9J25vbmUgcmVxdWlyZWQnCmFjX2N2X3NlYXJjaF9mZGF0YXN5bmM9 J25vbmUgcmVxdWlyZWQnCmFjX2N2X3NlYXJjaF9pbmZsYXRlRW5kPS1segphY19jdl9zZWFyY2hf dGltZXJfc2V0dGltZT0tbHJ0CmFjX2N2X3Nob3VsZF9kZWZpbmVfX3hvcGVuX3NvdXJjZT1ubwph Y19jdl9zdHJ1Y3Rfc3RfZG1fbW9kZT1ubwphY19jdl9zdHJ1Y3RfdG09dGltZS5oCmFjX2N2X3N5 c19maWxlX29mZnNldF9iaXRzPW5vCmFjX2N2X3N5c19sYXJnZWZpbGVfQ0M9bm8KYWNfY3Zfc3lz X2xhcmdlZmlsZV9zb3VyY2U9bm8KYWNfY3Zfc3lzX2xvbmdfZmlsZV9uYW1lcz15ZXMKYWNfY3Zf dHlwZV9fQm9vbD15ZXMKYWNfY3ZfdHlwZV9nZXRncm91cHM9Z2lkX3QKYWNfY3ZfdHlwZV9sb25n X2xvbmdfaW50PXllcwphY19jdl90eXBlX21ic3RhdGVfdD15ZXMKYWNfY3ZfdHlwZV9tb2RlX3Q9 eWVzCmFjX2N2X3R5cGVfbmxpbmtfdD15ZXMKYWNfY3ZfdHlwZV9waWRfdD15ZXMKYWNfY3ZfdHlw ZV9zaWdoYW5kbGVyX3Q9eWVzCmFjX2N2X3R5cGVfc2lnc2V0X3Q9eWVzCmFjX2N2X3R5cGVfc29j a2xlbl90PXllcwphY19jdl90eXBlX3Vuc2lnbmVkX2xvbmdfbG9uZ19pbnQ9eWVzCmFjX2N2X3R5 cGVfdm9sYXRpbGVfc2lnX2F0b21pY190PXllcwphY19jdl90eXBlb2Zfc3RydWN0X3N0YXRfc3Rf YXRpbV9pc19zdHJ1Y3RfdGltZXNwZWM9eWVzCmFjX2N2X3dvcmtpbmdfYWxsb2NhX2g9eWVzCmFt X2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPWdjYzMKYW1fY3ZfbWFrZV9zdXBwb3J0 X25lc3RlZF92YXJpYWJsZXM9eWVzCmFtX2N2X3Byb2dfY2NfY19vPXllcwplbWFjc19jdl9jX3Jl c3RyaWN0X2Fycj15ZXMKZW1hY3NfY3ZfY2xhbmc9bm8KZW1hY3NfY3ZfZGF0YV9zdGFydD15ZXMK ZW1hY3NfY3ZfZnVuY19fX2J1aWx0aW5fdW53aW5kX2luaXQ9eWVzCmVtYWNzX2N2X2Z1bmNfX3Nl dGptcD15ZXMKZW1hY3NfY3ZfbGFuZ2luZm9fY29kZXNldD15ZXMKZW1hY3NfY3ZfbG9jYWx0aW1l X2NhY2hlPW5vCmVtYWNzX2N2X25ldGRiX2RlY2xhcmVzX2hfZXJybm89eWVzCmVtYWNzX2N2X3Bl cnNvbmFsaXR5X2xpbnV4MzI9eWVzCmVtYWNzX2N2X3Byb2dfY2NfZzM9eWVzCmVtYWNzX2N2X3By b2dfc2V0ZmF0dHI9bm8KZW1hY3NfY3Zfc2FuaXRpemVfYWRkcmVzcz1ubwplbWFjc19jdl91c2Fi bGVfRklPTlJFQUQ9eWVzCmVtYWNzX2N2X3VzYWJsZV9TSUdJTz15ZXMKZW1hY3NfY3ZfdmFyX2Rv dWdfbGVhX21hbGxvYz15ZXMKZW1hY3NfY3ZfeDExX3ZlcnNpb25fNj15ZXMKZ2xfY3ZfY19hbXN0 ZXJkYW1fY29tcGlsZXI9bm8KZ2xfY3ZfY19tdWx0aWFyY2g9bm8KZ2xfY3ZfZGVjbF9udWxsX3dv cmtzPXllcwpnbF9jdl9kZWNsX3JlYWRsaW5rX3dvcmtzPXllcwpnbF9jdl9mdW5jX19fZnBlbmRp bmc9eWVzCmdsX2N2X2Z1bmNfYzk5X3N0cnRvbGQ9eWVzCmdsX2N2X2Z1bmNfZHVwMl93b3Jrcz15 ZXMKZ2xfY3ZfZnVuY19mY250bF9mX2R1cGZkX2Nsb2V4ZWM9J25lZWRzIHJ1bnRpbWUgY2hlY2sn CmdsX2N2X2Z1bmNfZmNudGxfZl9kdXBmZF93b3Jrcz15ZXMKZ2xfY3ZfZnVuY19mZG9wZW5kaXJf d29ya3M9eWVzCmdsX2N2X2Z1bmNfZnN0YXRhdF96ZXJvX2ZsYWc9eWVzCmdsX2N2X2Z1bmNfZ2V0 ZHRhYmxlc2l6ZV93b3Jrcz15ZXMKZ2xfY3ZfZnVuY19nZXRvcHRfZ251PXllcwpnbF9jdl9mdW5j X2dldG9wdF9sb25nX2dudT15ZXMKZ2xfY3ZfZnVuY19nZXRvcHRfcG9zaXg9eWVzCmdsX2N2X2Z1 bmNfZ2V0dGltZW9mZGF5X2Nsb2JiZXI9bm8KZ2xfY3ZfZnVuY19nZXR0aW1lb2ZkYXlfcG9zaXhf c2lnbmF0dXJlPWFsbW9zdApnbF9jdl9mdW5jX2xzdGF0X2RlcmVmZXJlbmNlc19zbGFzaGVkX3N5 bWxpbms9eWVzCmdsX2N2X2Z1bmNfcHNlbGVjdF9kZXRlY3RzX2ViYWRmPXllcwpnbF9jdl9mdW5j X3B0aHJlYWRfc2lnbWFza19pbl9saWJjX3dvcmtzPXllcwpnbF9jdl9mdW5jX3B0aHJlYWRfc2ln bWFza19yZXR1cm5fd29ya3M9eWVzCmdsX2N2X2Z1bmNfcHRocmVhZF9zaWdtYXNrX3VuYmxvY2tf d29ya3M9J2d1ZXNzaW5nIHllcycKZ2xfY3ZfZnVuY19yZWFkbGlua193b3Jrcz15ZXMKZ2xfY3Zf ZnVuY19zdHJ0b2ltYXg9eWVzCmdsX2N2X2Z1bmNfc3ZpZF9wdXRlbnY9eWVzCmdsX2N2X2Z1bmNf c3ltbGlua193b3Jrcz15ZXMKZ2xfY3ZfZnVuY191bnNldGVudl93b3Jrcz15ZXMKZ2xfY3ZfZnVu Y192YV9jb3B5PXllcwpnbF9jdl9mdW5jX3dvcmtpbmdfbWt0aW1lPXllcwpnbF9jdl9mdW5jX3dv cmtpbmdfdXRpbWVzPXllcwpnbF9jdl9oYXZlX2luY2x1ZGVfbmV4dD15ZXMKZ2xfY3ZfaGVhZGVy X2Vycm5vX2hfY29tcGxldGU9eWVzCmdsX2N2X2hlYWRlcl9zeXNfc2VsZWN0X2hfc2VsZmNvbnRh aW5lZD15ZXMKZ2xfY3ZfaGVhZGVyX3dvcmtpbmdfc3RkYWxpZ25faD15ZXMKZ2xfY3ZfaGVhZGVy X3dvcmtpbmdfc3RkaW50X2g9eWVzCmdsX2N2X25leHRfZGlyZW50X2g9JzxkaXJlbnQuaD4nCmds X2N2X25leHRfZmNudGxfaD0nPGZjbnRsLmg+JwpnbF9jdl9uZXh0X2dldG9wdF9oPSc8Z2V0b3B0 Lmg+JwpnbF9jdl9uZXh0X2ludHR5cGVzX2g9JzxpbnR0eXBlcy5oPicKZ2xfY3ZfbmV4dF9zaWdu YWxfaD0nPHNpZ25hbC5oPicKZ2xfY3ZfbmV4dF9zdGRpbnRfaD0nPHN0ZGludC5oPicKZ2xfY3Zf bmV4dF9zdGRpb19oPSc8c3RkaW8uaD4nCmdsX2N2X25leHRfc3RkbGliX2g9JzxzdGRsaWIuaD4n CmdsX2N2X25leHRfc3RyaW5nX2g9JzxzdHJpbmcuaD4nCmdsX2N2X25leHRfc3lzX3NlbGVjdF9o PSc8c3lzL3NlbGVjdC5oPicKZ2xfY3ZfbmV4dF9zeXNfc3RhdF9oPSc8c3lzL3N0YXQuaD4nCmds X2N2X25leHRfc3lzX3RpbWVfaD0nPHN5cy90aW1lLmg+JwpnbF9jdl9uZXh0X3N5c190eXBlc19o PSc8c3lzL3R5cGVzLmg+JwpnbF9jdl9uZXh0X3RpbWVfaD0nPHRpbWUuaD4nCmdsX2N2X25leHRf dW5pc3RkX2g9Jzx1bmlzdGQuaD4nCmdsX2N2X3ByYWdtYV9jb2x1bW5zPW5vCmdsX2N2X3JwbF9h bGxvY2E9eWVzCmdsX2N2X3NpZ19wc2VsZWN0PXllcwpnbF9jdl9zeXNfc3RydWN0X3RpbWVzcGVj X2luX3RpbWVfaD15ZXMKZ2xfY3Zfc3lzX3N0cnVjdF90aW1ldmFsPXllcwpnbF9jdl9zeXNfc3Ry dWN0X3RpbWV2YWxfdHZfc2VjPXllcwpnbF9jdl9zeXNfc3RydWN0X3V0aW1idWY9eWVzCmdsX2N2 X3RpbWVfcl9wb3NpeD15ZXMKZ2xfY3ZfdHlwZV9zaWdzZXRfdD15ZXMKZ3RfY3ZfY193Y2hhcl90 PXllcwpndF9jdl9mdW5jX3Vuc2V0ZW52X3JldD1pbnQKZ3RfY3Zfc3NpemVfdD15ZXMKZ3RfY3Zf dmFyX2Vudmlyb25fZGVjbGFyYXRpb249eWVzCgojIyAtLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBP dXRwdXQgdmFyaWFibGVzLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tLSAjIwoKQUNMT0NBTD0nJHtT SEVMTH0gL2hvbWUvdHVoZG8vRG93bmxvYWRzL2VtYWNzLTI0LjMuOTAvYnVpbGQtYXV4L21pc3Np bmcgYWNsb2NhbC0xLjE0JwpBRERTRUNUSU9OPScnCkFMTE9DQT0nJwpBTExPQ0FfSD0nYWxsb2Nh LmgnCkFMU0FfQ0ZMQUdTPScnCkFMU0FfTElCUz0nJwpBTURFUEJBQ0tTTEFTSD0nXCcKQU1ERVBf RkFMU0U9JyMnCkFNREVQX1RSVUU9JycKQU1UQVI9JyQke1RBUi10YXJ9JwpBTV9CQUNLU0xBU0g9 J1wnCkFNX0RFRkFVTFRfVj0nJChBTV9ERUZBVUxUX1ZFUkJPU0lUWSknCkFNX0RFRkFVTFRfVkVS Qk9TSVRZPScxJwpBTV9WPSckKFYpJwpBUFBMRV9VTklWRVJTQUxfQlVJTEQ9JzAnCkFSPSdhcicK QVJGTEFHUz0nY3J1JwpBVVRPQ09ORj0nJHtTSEVMTH0gL2hvbWUvdHVoZG8vRG93bmxvYWRzL2Vt YWNzLTI0LjMuOTAvYnVpbGQtYXV4L21pc3NpbmcgYXV0b2NvbmYnCkFVVE9IRUFERVI9JyR7U0hF TEx9IC9ob21lL3R1aGRvL0Rvd25sb2Fkcy9lbWFjcy0yNC4zLjkwL2J1aWxkLWF1eC9taXNzaW5n IGF1dG9oZWFkZXInCkFVVE9NQUtFPScke1NIRUxMfSAvaG9tZS90dWhkby9Eb3dubG9hZHMvZW1h Y3MtMjQuMy45MC9idWlsZC1hdXgvbWlzc2luZyBhdXRvbWFrZS0xLjE0JwpBV0s9J21hd2snCkJJ VFNJWkVPRl9QVFJESUZGX1Q9JycKQklUU0laRU9GX1NJR19BVE9NSUNfVD0nJwpCSVRTSVpFT0Zf U0laRV9UPScnCkJJVFNJWkVPRl9XQ0hBUl9UPScnCkJJVFNJWkVPRl9XSU5UX1Q9JycKQkxFU1NN QUlMX1RBUkdFVD0nJwpCVUlMRElOR19GT1JfV0lORE9XU05UX0ZBTFNFPScnCkJVSUxESU5HX0ZP Ul9XSU5ET1dTTlRfVFJVRT0nIycKQllURVNXQVBfSD0nJwpDQU5OT1RfRFVNUD0nbm8nCkNDPSdn Y2MgLXN0ZD1nbnU5OScKQ0NERVBNT0RFPSdkZXBtb2RlPWdjYzMnCkNGTEFHUz0nLWczIC1PMicK Q0ZMQUdTX1NPVU5EPScnCkNMSUVOVFJFUz0nJwpDTElFTlRXPScnCkNNX09CSj0nY20ubycKQ09N X0VSUkxJQj0nJwpDUFA9J2djYyAtRScKQ1BQRkxBR1M9JyAgJwpDUllQVE9MSUI9JycKQ1lHUEFU SF9XPSdlY2hvJwpDWUdXSU5fT0JKPScnCkNfU1dJVENIX01BQ0hJTkU9JycKQ19TV0lUQ0hfU1lT VEVNPScnCkNfU1dJVENIX1hfU0lURT0nIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAg LUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkv dXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNy L2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1 ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUg LUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9p bmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2luY2x1ZGUv ZnJlZXR5cGUyICAnCkRCVVNfQ0ZMQUdTPScnCkRCVVNfTElCUz0nJwpEQlVTX09CSj0nJwpERUZT PSctREhBVkVfQ09ORklHX0gnCkRFUERJUj0nLmRlcHMnCkRFUEZMQUdTPSctTU1EIC1NRiAke0RF UERJUn0vJCouZCAtTVAnCkRFU0xJQj0nJwpET0NNSVNDX1czMj0nJwpFQ0hPX0M9JycKRUNIT19O PSctbicKRUNIT19UPScnCkVHUkVQPScvYmluL2dyZXAgLUUnCkVNQUNTUkVTPScnCkVNQUNTX0hF QVBTSVpFPScnCkVNQUNTX01BTklGRVNUPScnCkVNVUxUSUhPUF9ISURERU49JycKRU1VTFRJSE9Q X1ZBTFVFPScnCkVOT0xJTktfSElEREVOPScnCkVOT0xJTktfVkFMVUU9JycKRU9WRVJGTE9XX0hJ RERFTj0nJwpFT1ZFUkZMT1dfVkFMVUU9JycKRVJSTk9fSD0nJwpFWEVDSU5GT19IPScnCkVYRUVY VD0nJwpGSVJTVEZJTEVfT0JKPScnCkZPTlRDT05GSUdfQ0ZMQUdTPSctSS91c3IvaW5jbHVkZS9m cmVldHlwZTIgICcKRk9OVENPTkZJR19MSUJTPSctbGZvbnRjb25maWcgLWxmcmVldHlwZSAgJwpG T05UX09CSj0neGZvbnQubyBmdGZvbnQubyB4ZnRmb250Lm8gZnR4Zm9udC5vJwpGUkVFVFlQRV9D RkxBR1M9Jy1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgJwpGUkVFVFlQRV9MSUJTPSctbGZyZWV0 eXBlICAnCkdDT05GX0NGTEFHUz0nJwpHQ09ORl9MSUJTPScnCkdFVExPQURBVkdfTElCUz0nJwpH RVRPUFRfSD0nJwpHRklMRU5PVElGWV9DRkxBR1M9Jy1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2ds aWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlICAnCkdG SUxFTk9USUZZX0xJQlM9Jy1sZ2lvLTIuMCAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICcKR0xf Q09ORF9MSUJUT09MX0ZBTFNFPScnCkdMX0NPTkRfTElCVE9PTF9UUlVFPScjJwpHTF9HRU5FUkFU RV9BTExPQ0FfSF9GQUxTRT0nIycKR0xfR0VORVJBVEVfQUxMT0NBX0hfVFJVRT0nJwpHTF9HRU5F UkFURV9CWVRFU1dBUF9IX0ZBTFNFPScnCkdMX0dFTkVSQVRFX0JZVEVTV0FQX0hfVFJVRT0nIycK R0xfR0VORVJBVEVfRVJSTk9fSF9GQUxTRT0nJwpHTF9HRU5FUkFURV9FUlJOT19IX1RSVUU9JyMn CkdMX0dFTkVSQVRFX0VYRUNJTkZPX0hfRkFMU0U9JycKR0xfR0VORVJBVEVfRVhFQ0lORk9fSF9U UlVFPScjJwpHTF9HRU5FUkFURV9TVERBTElHTl9IX0ZBTFNFPScnCkdMX0dFTkVSQVRFX1NUREFM SUdOX0hfVFJVRT0nIycKR0xfR0VORVJBVEVfU1REQVJHX0hfRkFMU0U9JycKR0xfR0VORVJBVEVf U1REQVJHX0hfVFJVRT0nIycKR0xfR0VORVJBVEVfU1REQk9PTF9IX0ZBTFNFPScnCkdMX0dFTkVS QVRFX1NUREJPT0xfSF9UUlVFPScjJwpHTF9HRU5FUkFURV9TVERERUZfSF9GQUxTRT0nJwpHTF9H RU5FUkFURV9TVERERUZfSF9UUlVFPScjJwpHTF9HRU5FUkFURV9TVERJTlRfSF9GQUxTRT0nJwpH TF9HRU5FUkFURV9TVERJTlRfSF9UUlVFPScjJwpHTUFMTE9DX09CSj0nJwpHTlVMSUJfQUxQSEFT T1JUPScwJwpHTlVMSUJfQVRPTEw9JzAnCkdOVUxJQl9DQUxMT0NfUE9TSVg9JzAnCkdOVUxJQl9D QU5PTklDQUxJWkVfRklMRV9OQU1FPScwJwpHTlVMSUJfQ0hESVI9JzAnCkdOVUxJQl9DSE9XTj0n MCcKR05VTElCX0NMT1NFPScwJwpHTlVMSUJfQ0xPU0VESVI9JzAnCkdOVUxJQl9ESVJGRD0nMCcK R05VTElCX0RQUklOVEY9JzAnCkdOVUxJQl9EVVAyPScxJwpHTlVMSUJfRFVQMz0nMCcKR05VTElC X0RVUD0nMCcKR05VTElCX0VOVklST049JzEnCkdOVUxJQl9FVUlEQUNDRVNTPScwJwpHTlVMSUJf RkFDQ0VTU0FUPScxJwpHTlVMSUJfRkNIRElSPScwJwpHTlVMSUJfRkNITU9EQVQ9JzAnCkdOVUxJ Ql9GQ0hPV05BVD0nMCcKR05VTElCX0ZDTE9TRT0nMCcKR05VTElCX0ZDTlRMPScxJwpHTlVMSUJf RkRBVEFTWU5DPScxJwpHTlVMSUJfRkRPUEVOPScwJwpHTlVMSUJfRkRPUEVORElSPScxJwpHTlVM SUJfRkZMVVNIPScwJwpHTlVMSUJfRkZTTD0nMCcKR05VTElCX0ZGU0xMPScwJwpHTlVMSUJfRkdF VEM9JzEnCkdOVUxJQl9GR0VUUz0nMScKR05VTElCX0ZPUEVOPScwJwpHTlVMSUJfRlBSSU5URj0n MScKR05VTElCX0ZQUklOVEZfUE9TSVg9JzAnCkdOVUxJQl9GUFVSR0U9JzAnCkdOVUxJQl9GUFVU Qz0nMScKR05VTElCX0ZQVVRTPScxJwpHTlVMSUJfRlJFQUQ9JzEnCkdOVUxJQl9GUkVPUEVOPScw JwpHTlVMSUJfRlNDQU5GPScxJwpHTlVMSUJfRlNFRUs9JzAnCkdOVUxJQl9GU0VFS089JzAnCkdO VUxJQl9GU1RBVD0nMCcKR05VTElCX0ZTVEFUQVQ9JzEnCkdOVUxJQl9GU1lOQz0nMScKR05VTElC X0ZURUxMPScwJwpHTlVMSUJfRlRFTExPPScwJwpHTlVMSUJfRlRSVU5DQVRFPScwJwpHTlVMSUJf RlVUSU1FTlM9JzAnCkdOVUxJQl9GV1JJVEU9JzEnCkdOVUxJQl9HRVRDPScxJwpHTlVMSUJfR0VU Q0hBUj0nMScKR05VTElCX0dFVENXRD0nMCcKR05VTElCX0dFVERFTElNPScwJwpHTlVMSUJfR0VU RE9NQUlOTkFNRT0nMCcKR05VTElCX0dFVERUQUJMRVNJWkU9JzEnCkdOVUxJQl9HRVRHUk9VUFM9 JzAnCkdOVUxJQl9HRVRIT1NUTkFNRT0nMCcKR05VTElCX0dFVExJTkU9JzAnCkdOVUxJQl9HRVRM T0FEQVZHPScxJwpHTlVMSUJfR0VUTE9HSU49JzAnCkdOVUxJQl9HRVRMT0dJTl9SPScwJwpHTlVM SUJfR0VUUEFHRVNJWkU9JzAnCkdOVUxJQl9HRVRTVUJPUFQ9JzAnCkdOVUxJQl9HRVRUSU1FT0ZE QVk9JzEnCkdOVUxJQl9HRVRVU0VSU0hFTEw9JzAnCkdOVUxJQl9HTF9VTklTVERfSF9HRVRPUFQ9 JycKR05VTElCX0dSQU5UUFQ9JzAnCkdOVUxJQl9HUk9VUF9NRU1CRVI9JzAnCkdOVUxJQl9JTUFY QUJTPScwJwpHTlVMSUJfSU1BWERJVj0nMCcKR05VTElCX0lTQVRUWT0nMCcKR05VTElCX0xDSE1P RD0nMCcKR05VTElCX0xDSE9XTj0nMCcKR05VTElCX0xJTks9JzAnCkdOVUxJQl9MSU5LQVQ9JzAn CkdOVUxJQl9MU0VFSz0nMCcKR05VTElCX0xTVEFUPScxJwpHTlVMSUJfTUFMTE9DX1BPU0lYPScw JwpHTlVMSUJfTUJTQ0FTRUNNUD0nMCcKR05VTElCX01CU0NBU0VTVFI9JzAnCkdOVUxJQl9NQlND SFI9JzAnCkdOVUxJQl9NQlNDU1BOPScwJwpHTlVMSUJfTUJTTEVOPScwJwpHTlVMSUJfTUJTTkNB U0VDTVA9JzAnCkdOVUxJQl9NQlNOTEVOPScwJwpHTlVMSUJfTUJTUEJSSz0nMCcKR05VTElCX01C U1BDQVNFQ01QPScwJwpHTlVMSUJfTUJTUkNIUj0nMCcKR05VTElCX01CU1NFUD0nMCcKR05VTElC X01CU1NQTj0nMCcKR05VTElCX01CU1NUUj0nMCcKR05VTElCX01CU1RPS19SPScwJwpHTlVMSUJf TUJUT1dDPScwJwpHTlVMSUJfTUVNQ0hSPScwJwpHTlVMSUJfTUVNTUVNPScwJwpHTlVMSUJfTUVN UENQWT0nMCcKR05VTElCX01FTVJDSFI9JzEnCkdOVUxJQl9NS0RJUkFUPScwJwpHTlVMSUJfTUtE VEVNUD0nMCcKR05VTElCX01LRklGTz0nMCcKR05VTElCX01LRklGT0FUPScwJwpHTlVMSUJfTUtO T0Q9JzAnCkdOVUxJQl9NS05PREFUPScwJwpHTlVMSUJfTUtPU1RFTVA9JzEnCkdOVUxJQl9NS09T VEVNUFM9JzAnCkdOVUxJQl9NS1NURU1QPScwJwpHTlVMSUJfTUtTVEVNUFM9JzAnCkdOVUxJQl9N S1RJTUU9JzEnCkdOVUxJQl9OQU5PU0xFRVA9JzAnCkdOVUxJQl9OT05CTE9DS0lORz0nMCcKR05V TElCX09CU1RBQ0tfUFJJTlRGPScwJwpHTlVMSUJfT0JTVEFDS19QUklOVEZfUE9TSVg9JzAnCkdO VUxJQl9PUEVOPScwJwpHTlVMSUJfT1BFTkFUPScwJwpHTlVMSUJfT1BFTkRJUj0nMCcKR05VTElC X1BDTE9TRT0nMCcKR05VTElCX1BFUlJPUj0nMCcKR05VTElCX1BJUEUyPScxJwpHTlVMSUJfUElQ RT0nMCcKR05VTElCX1BPUEVOPScwJwpHTlVMSUJfUE9TSVhfT1BFTlBUPScwJwpHTlVMSUJfUFJF QUQ9JzAnCkdOVUxJQl9QUklOVEY9JzEnCkdOVUxJQl9QUklOVEZfUE9TSVg9JzAnCkdOVUxJQl9Q U0VMRUNUPScxJwpHTlVMSUJfUFRIUkVBRF9TSUdNQVNLPScxJwpHTlVMSUJfUFRTTkFNRT0nMCcK R05VTElCX1BUU05BTUVfUj0nMCcKR05VTElCX1BVVEM9JzEnCkdOVUxJQl9QVVRDSEFSPScxJwpH TlVMSUJfUFVURU5WPScxJwpHTlVMSUJfUFVUUz0nMScKR05VTElCX1BXUklURT0nMCcKR05VTElC X1JBSVNFPScwJwpHTlVMSUJfUkFORE9NPScwJwpHTlVMSUJfUkFORE9NX1I9JzAnCkdOVUxJQl9S QVdNRU1DSFI9JzAnCkdOVUxJQl9SRUFEPScwJwpHTlVMSUJfUkVBRERJUj0nMCcKR05VTElCX1JF QURMSU5LPScxJwpHTlVMSUJfUkVBRExJTktBVD0nMScKR05VTElCX1JFQUxMT0NfUE9TSVg9JzAn CkdOVUxJQl9SRUFMUEFUSD0nMCcKR05VTElCX1JFTU9WRT0nMCcKR05VTElCX1JFTkFNRT0nMCcK R05VTElCX1JFTkFNRUFUPScwJwpHTlVMSUJfUkVXSU5ERElSPScwJwpHTlVMSUJfUk1ESVI9JzAn CkdOVUxJQl9SUE1BVENIPScwJwpHTlVMSUJfU0NBTkRJUj0nMCcKR05VTElCX1NDQU5GPScxJwpH TlVMSUJfU0VDVVJFX0dFVEVOVj0nMCcKR05VTElCX1NFTEVDVD0nMCcKR05VTElCX1NFVEVOVj0n MCcKR05VTElCX1NFVEhPU1ROQU1FPScwJwpHTlVMSUJfU0lHQUNUSU9OPScwJwpHTlVMSUJfU0lH TkFMX0hfU0lHUElQRT0nMCcKR05VTElCX1NJR1BST0NNQVNLPScwJwpHTlVMSUJfU0xFRVA9JzAn CkdOVUxJQl9TTlBSSU5URj0nMCcKR05VTElCX1NQUklOVEZfUE9TSVg9JzAnCkdOVUxJQl9TVEFU PScwJwpHTlVMSUJfU1RESU9fSF9OT05CTE9DS0lORz0nMCcKR05VTElCX1NURElPX0hfU0lHUElQ RT0nMCcKR05VTElCX1NUUENQWT0nMCcKR05VTElCX1NUUE5DUFk9JzAnCkdOVUxJQl9TVFJDQVNF U1RSPScwJwpHTlVMSUJfU1RSQ0hSTlVMPScwJwpHTlVMSUJfU1RSRFVQPScwJwpHTlVMSUJfU1RS RVJST1I9JzAnCkdOVUxJQl9TVFJFUlJPUl9SPScwJwpHTlVMSUJfU1RSTkNBVD0nMCcKR05VTElC X1NUUk5EVVA9JzAnCkdOVUxJQl9TVFJOTEVOPScwJwpHTlVMSUJfU1RSUEJSSz0nMCcKR05VTElC X1NUUlBUSU1FPScwJwpHTlVMSUJfU1RSU0VQPScwJwpHTlVMSUJfU1RSU0lHTkFMPScwJwpHTlVM SUJfU1RSU1RSPScwJwpHTlVMSUJfU1RSVE9EPScwJwpHTlVMSUJfU1RSVE9JTUFYPScxJwpHTlVM SUJfU1RSVE9LX1I9JzAnCkdOVUxJQl9TVFJUT0xMPScwJwpHTlVMSUJfU1RSVE9VTEw9JzAnCkdO VUxJQl9TVFJUT1VNQVg9JzEnCkdOVUxJQl9TVFJWRVJTQ01QPScwJwpHTlVMSUJfU1lNTElOSz0n MScKR05VTElCX1NZTUxJTktBVD0nMCcKR05VTElCX1NZU1RFTV9QT1NJWD0nMCcKR05VTElCX1RJ TUVHTT0nMCcKR05VTElCX1RJTUVfUj0nMScKR05VTElCX1RNUEZJTEU9JzAnCkdOVUxJQl9UVFlO QU1FX1I9JzAnCkdOVUxJQl9VTklTVERfSF9OT05CTE9DS0lORz0nMCcKR05VTElCX1VOSVNURF9I X1NJR1BJUEU9JzAnCkdOVUxJQl9VTkxJTks9JzAnCkdOVUxJQl9VTkxJTktBVD0nMCcKR05VTElC X1VOTE9DS1BUPScwJwpHTlVMSUJfVU5TRVRFTlY9JzEnCkdOVUxJQl9VU0xFRVA9JzAnCkdOVUxJ Ql9VVElNRU5TQVQ9JzAnCkdOVUxJQl9WQVNQUklOVEY9JzAnCkdOVUxJQl9WRFBSSU5URj0nMCcK R05VTElCX1ZGUFJJTlRGPScxJwpHTlVMSUJfVkZQUklOVEZfUE9TSVg9JzAnCkdOVUxJQl9WRlND QU5GPScwJwpHTlVMSUJfVlBSSU5URj0nMScKR05VTElCX1ZQUklOVEZfUE9TSVg9JzAnCkdOVUxJ Ql9WU0NBTkY9JzAnCkdOVUxJQl9WU05QUklOVEY9JzAnCkdOVUxJQl9WU1BSSU5URl9QT1NJWD0n MCcKR05VTElCX1dBUk5fQ0ZMQUdTPScnCkdOVUxJQl9XQ1RPTUI9JzAnCkdOVUxJQl9XUklURT0n MCcKR05VTElCX19FWElUPScwJwpHTlVTVEVQX0NGTEFHUz0nJwpHTlVfT0JKQ19DRkxBR1M9JycK R09CSkVDVF9DRkxBR1M9Jy1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0 LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlICAnCkdPQkpFQ1RfTElCUz0nLWxnb2JqZWN0LTIu MCAtbGdsaWItMi4wICAnCkdSRVA9Jy9iaW4vZ3JlcCcKR1NFVFRJTkdTX0NGTEFHUz0nLXB0aHJl YWQgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2ds aWItMi4wL2luY2x1ZGUgICcKR1NFVFRJTkdTX0xJQlM9Jy1sZ2lvLTIuMCAtbGdvYmplY3QtMi4w IC1sZ2xpYi0yLjAgICcKR1RLX0NGTEFHUz0nLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMu MCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAt SS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91 c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5j bHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVk ZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNy L2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICcKR1RLX0xJQlM9Jy1s Z3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtf cGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3Qt Mi4wIC1sZ2xpYi0yLjAgICcKR1RLX09CSj0nZ3RrdXRpbC5vIGVtYWNzZ3RrZml4ZWQubycKR1pJ UF9QUk9HPScvYmluL2d6aXAnCkhBVkVfQUxQSEFTT1JUPScxJwpIQVZFX0FUT0xMPScxJwpIQVZF X0NBTk9OSUNBTElaRV9GSUxFX05BTUU9JzEnCkhBVkVfQ0hPV049JzEnCkhBVkVfQ0xPU0VESVI9 JzEnCkhBVkVfREVDTF9ESVJGRD0nMScKSEFWRV9ERUNMX0VOVklST049JzEnCkhBVkVfREVDTF9G Q0hESVI9JzEnCkhBVkVfREVDTF9GREFUQVNZTkM9JzEnCkhBVkVfREVDTF9GRE9QRU5ESVI9JzEn CkhBVkVfREVDTF9GUFVSR0U9JzEnCkhBVkVfREVDTF9GU0VFS089JzEnCkhBVkVfREVDTF9GVEVM TE89JzEnCkhBVkVfREVDTF9HRVRERUxJTT0nMScKSEFWRV9ERUNMX0dFVERPTUFJTk5BTUU9JzEn CkhBVkVfREVDTF9HRVRMSU5FPScxJwpIQVZFX0RFQ0xfR0VUTE9BREFWRz0nMScKSEFWRV9ERUNM X0dFVExPR0lOX1I9JzEnCkhBVkVfREVDTF9HRVRQQUdFU0laRT0nMScKSEFWRV9ERUNMX0dFVFVT RVJTSEVMTD0nMScKSEFWRV9ERUNMX0lNQVhBQlM9JzEnCkhBVkVfREVDTF9JTUFYRElWPScxJwpI QVZFX0RFQ0xfTE9DQUxUSU1FX1I9JzEnCkhBVkVfREVDTF9NRU1NRU09JzEnCkhBVkVfREVDTF9N RU1SQ0hSPScxJwpIQVZFX0RFQ0xfT0JTVEFDS19QUklOVEY9JzEnCkhBVkVfREVDTF9TRVRFTlY9 JzEnCkhBVkVfREVDTF9TRVRIT1NUTkFNRT0nMScKSEFWRV9ERUNMX1NOUFJJTlRGPScxJwpIQVZF X0RFQ0xfU1RSRFVQPScxJwpIQVZFX0RFQ0xfU1RSRVJST1JfUj0nMScKSEFWRV9ERUNMX1NUUk5E VVA9JzEnCkhBVkVfREVDTF9TVFJOTEVOPScxJwpIQVZFX0RFQ0xfU1RSU0lHTkFMPScxJwpIQVZF X0RFQ0xfU1RSVE9JTUFYPScxJwpIQVZFX0RFQ0xfU1RSVE9LX1I9JzEnCkhBVkVfREVDTF9TVFJU T1VNQVg9JzEnCkhBVkVfREVDTF9UVFlOQU1FX1I9JzEnCkhBVkVfREVDTF9VTlNFVEVOVj0nMScK SEFWRV9ERUNMX1ZTTlBSSU5URj0nMScKSEFWRV9ESVJFTlRfSD0nMScKSEFWRV9EUFJJTlRGPScx JwpIQVZFX0RVUDI9JzEnCkhBVkVfRFVQMz0nMScKSEFWRV9FVUlEQUNDRVNTPScxJwpIQVZFX0ZB Q0NFU1NBVD0nMScKSEFWRV9GQ0hESVI9JzEnCkhBVkVfRkNITU9EQVQ9JzEnCkhBVkVfRkNIT1dO QVQ9JzEnCkhBVkVfRkNOVEw9JzEnCkhBVkVfRkRBVEFTWU5DPScxJwpIQVZFX0ZET1BFTkRJUj0n MScKSEFWRV9GRlNMPScxJwpIQVZFX0ZGU0xMPScxJwpIQVZFX0ZTRUVLTz0nMScKSEFWRV9GU1RB VEFUPScxJwpIQVZFX0ZTWU5DPScxJwpIQVZFX0ZURUxMTz0nMScKSEFWRV9GVFJVTkNBVEU9JzEn CkhBVkVfRlVUSU1FTlM9JzEnCkhBVkVfR0VURFRBQkxFU0laRT0nMScKSEFWRV9HRVRHUk9VUFM9 JzEnCkhBVkVfR0VUSE9TVE5BTUU9JzEnCkhBVkVfR0VUTE9HSU49JzEnCkhBVkVfR0VUT1BUX0g9 JzEnCkhBVkVfR0VUUEFHRVNJWkU9JzEnCkhBVkVfR0VUU1VCT1BUPScxJwpIQVZFX0dFVFRJTUVP RkRBWT0nMScKSEFWRV9HUkFOVFBUPScxJwpIQVZFX0dST1VQX01FTUJFUj0nMScKSEFWRV9JTlRU WVBFU19IPScxJwpIQVZFX0xDSE1PRD0nMScKSEFWRV9MQ0hPV049JzEnCkhBVkVfTElOSz0nMScK SEFWRV9MSU5LQVQ9JzEnCkhBVkVfTE9OR19MT05HX0lOVD0nMScKSEFWRV9MU1RBVD0nMScKSEFW RV9NQUtFSU5GTz0neWVzJwpIQVZFX01CU0xFTj0nMCcKSEFWRV9NRU1DSFI9JzEnCkhBVkVfTUVN UENQWT0nMScKSEFWRV9NS0RJUkFUPScxJwpIQVZFX01LRFRFTVA9JzEnCkhBVkVfTUtGSUZPPScx JwpIQVZFX01LRklGT0FUPScxJwpIQVZFX01LTk9EPScxJwpIQVZFX01LTk9EQVQ9JzEnCkhBVkVf TUtPU1RFTVA9JzEnCkhBVkVfTUtPU1RFTVBTPScxJwpIQVZFX01LU1RFTVA9JzEnCkhBVkVfTUtT VEVNUFM9JzEnCkhBVkVfTkFOT1NMRUVQPScxJwpIQVZFX09QRU5BVD0nMScKSEFWRV9PUEVORElS PScxJwpIQVZFX09TX0g9JzAnCkhBVkVfUENMT1NFPScxJwpIQVZFX1BJUEUyPScxJwpIQVZFX1BJ UEU9JzEnCkhBVkVfUE9QRU49JzEnCkhBVkVfUE9TSVhfT1BFTlBUPScxJwpIQVZFX1BPU0lYX1NJ R05BTEJMT0NLSU5HPScxJwpIQVZFX1BSRUFEPScxJwpIQVZFX1BTRUxFQ1Q9JzEnCkhBVkVfUFRI UkVBRF9TSUdNQVNLPScxJwpIQVZFX1BUU05BTUU9JzEnCkhBVkVfUFRTTkFNRV9SPScxJwpIQVZF X1BXUklURT0nMScKSEFWRV9SQUlTRT0nMScKSEFWRV9SQU5ET009JzEnCkhBVkVfUkFORE9NX0g9 JzEnCkhBVkVfUkFORE9NX1I9JzEnCkhBVkVfUkFXTUVNQ0hSPScxJwpIQVZFX1JFQURESVI9JzEn CkhBVkVfUkVBRExJTks9JzEnCkhBVkVfUkVBRExJTktBVD0nMScKSEFWRV9SRUFMUEFUSD0nMScK SEFWRV9SRU5BTUVBVD0nMScKSEFWRV9SRVdJTkRESVI9JzEnCkhBVkVfUlBNQVRDSD0nMScKSEFW RV9TQ0FORElSPScxJwpIQVZFX1NFQ1VSRV9HRVRFTlY9JzEnCkhBVkVfU0VURU5WPScxJwpIQVZF X1NFVEhPU1ROQU1FPScxJwpIQVZFX1NJR0FDVElPTj0nMScKSEFWRV9TSUdIQU5ETEVSX1Q9JzEn CkhBVkVfU0lHSU5GT19UPScxJwpIQVZFX1NJR05FRF9TSUdfQVRPTUlDX1Q9JycKSEFWRV9TSUdO RURfV0NIQVJfVD0nJwpIQVZFX1NJR05FRF9XSU5UX1Q9JycKSEFWRV9TSUdTRVRfVD0nMScKSEFW RV9TTEVFUD0nMScKSEFWRV9TVERJTlRfSD0nMScKSEFWRV9TVFBDUFk9JzEnCkhBVkVfU1RQTkNQ WT0nMScKSEFWRV9TVFJDQVNFU1RSPScxJwpIQVZFX1NUUkNIUk5VTD0nMScKSEFWRV9TVFJQQlJL PScxJwpIQVZFX1NUUlBUSU1FPScxJwpIQVZFX1NUUlNFUD0nMScKSEFWRV9TVFJUT0Q9JzEnCkhB VkVfU1RSVE9MTD0nMScKSEFWRV9TVFJUT1VMTD0nMScKSEFWRV9TVFJVQ1RfUkFORE9NX0RBVEE9 JzEnCkhBVkVfU1RSVUNUX1NJR0FDVElPTl9TQV9TSUdBQ1RJT049JzEnCkhBVkVfU1RSVUNUX1RJ TUVWQUw9JzEnCkhBVkVfU1RSVkVSU0NNUD0nMScKSEFWRV9TWU1MSU5LPScxJwpIQVZFX1NZTUxJ TktBVD0nMScKSEFWRV9TWVNfQklUWVBFU19IPScnCkhBVkVfU1lTX0lOVFRZUEVTX0g9JycKSEFW RV9TWVNfTE9BREFWR19IPScwJwpIQVZFX1NZU19QQVJBTV9IPScwJwpIQVZFX1NZU19TRUxFQ1Rf SD0nMScKSEFWRV9TWVNfVElNRV9IPScxJwpIQVZFX1NZU19UWVBFU19IPScxJwpIQVZFX1RJTUVH TT0nMScKSEFWRV9UWVBFX1ZPTEFUSUxFX1NJR19BVE9NSUNfVD0nMScKSEFWRV9VTklTVERfSD0n MScKSEFWRV9VTkxJTktBVD0nMScKSEFWRV9VTkxPQ0tQVD0nMScKSEFWRV9VTlNJR05FRF9MT05H X0xPTkdfSU5UPScxJwpIQVZFX1VTTEVFUD0nMScKSEFWRV9VVElNRU5TQVQ9JzEnCkhBVkVfVkFT UFJJTlRGPScxJwpIQVZFX1ZEUFJJTlRGPScxJwpIQVZFX1dDSEFSX0g9JzEnCkhBVkVfV0NIQVJf VD0nMScKSEFWRV9XSU5TT0NLMl9IPScwJwpIQVZFX1hTRVJWRVI9JycKSEFWRV9fQk9PTD0nMScK SEFWRV9fRVhJVD0nMScKSU1BR0VNQUdJQ0tfQ0ZMQUdTPSctZm9wZW5tcCAtSS91c3IvaW5jbHVk ZS9JbWFnZU1hZ2ljayAgJwpJTUFHRU1BR0lDS19MSUJTPSctbE1hZ2lja1dhbmQgLWxNYWdpY2tD b3JlICAnCklOQ0xVREVfTkVYVD0naW5jbHVkZV9uZXh0JwpJTkNMVURFX05FWFRfQVNfRklSU1Rf RElSRUNUSVZFPSdpbmNsdWRlX25leHQnCklORk9fRVhUPScuaW5mbycKSU5GT19PUFRTPSctLW5v LXNwbGl0JwpJTlNUQUxMX0FSQ0hfSU5ERVBfRVhUUkE9J2luc3RhbGwtZXRjJwpJTlNUQUxMX0RB VEE9JyR7SU5TVEFMTH0gLW0gNjQ0JwpJTlNUQUxMX0lORk89Jy91c3IvYmluL2luc3RhbGwtaW5m bycKSU5TVEFMTF9QUk9HUkFNPScke0lOU1RBTEx9JwpJTlNUQUxMX1NDUklQVD0nJHtJTlNUQUxM fScKSU5TVEFMTF9TVFJJUF9QUk9HUkFNPSckKGluc3RhbGxfc2gpIC1jIC1zJwpJTlQzMl9NQVhf TFRfSU5UTUFYX01BWD0nMScKSU5UNjRfTUFYX0VRX0xPTkdfTUFYPSdkZWZpbmVkIF9MUDY0JwpL UkI0TElCPScnCktSQjVMSUI9JycKTERGTEFHUz0nICcKTERfU1dJVENIX1NZU1RFTT0nJwpMRF9T V0lUQ0hfU1lTVEVNX1RFTUFDUz0nLVdsLC16bm9jb21icmVsb2MgJChMRF9TV0lUQ0hfWF9TSVRF X1JQQVRIKScKTERfU1dJVENIX1hfU0lURT0nJwpMRF9TV0lUQ0hfWF9TSVRFX1JQQVRIPScnCkxJ QkdJRj0nLWxnaWYnCkxJQkdOVVRMU19DRkxBR1M9Jy1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAg JwpMSUJHTlVUTFNfTElCUz0nLWxnbnV0bHMgICcKTElCR05VX0xJQkRFUFM9JycKTElCR05VX0xU TElCREVQUz0nJwpMSUJHUE09JycKTElCSEVTSU9EPScnCkxJQklOVEw9JycKTElCSlBFRz0nLWxq cGVnJwpMSUJPQkpTPScnCkxJQk9URl9DRkxBR1M9JycKTElCT1RGX0xJQlM9JycKTElCUE5HPSct bHBuZyAtbHogLWxtJwpMSUJSRVNPTFY9JycKTElCUz0nLWxtIC1seG1sMiAgIC1sU00gLWxJQ0Ug LWxYcmVuZGVyIC1sWGZ0ICAgLWxnbnV0bHMgICAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1s Z2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0 IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxNYWdpY2tX YW5kIC1sTWFnaWNrQ29yZSAgIC1scnN2Zy0yIC1sbSAtbGdpby0yLjAgLWxnZGtfcGl4YnVmLTIu MCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDExIC1scHRocmVhZCAgJwpM SUJTRUxJTlVYX0xJQlM9JycKTElCU09VTkQ9JycKTElCU19FQ0xJRU5UPScnCkxJQlNfR05VU1RF UD0nJwpMSUJTX01BSUw9JycKTElCU19TWVNURU09JycKTElCU19URVJNQ0FQPSctbHRpbmZvJwpM SUJUSUZGPSctbHRpZmYnCkxJQlhNRU5VPScnCkxJQlhNTDJfQ0ZMQUdTPSctSS91c3IvaW5jbHVk ZS9saWJ4bWwyICAnCkxJQlhNTDJfTElCUz0nLWx4bWwyICAnCkxJQlhNVT0nLWxYbXUnCkxJQlhQ TT0nLWxYcG0nCkxJQlhTTT0nLWxTTSAtbElDRScKTElCWFRSNj0nJwpMSUJYVF9PVEhFUj0nJChM SUJYU00pJwpMSUJYX09USEVSPSckKExJQlhUKSAkKExJQlhfRVhUUkEpJwpMSUJaPSctbHonCkxJ Ql9BQ0w9JycKTElCX0NMT0NLX0dFVFRJTUU9JycKTElCX0VBQ0NFU1M9JycKTElCX0VYRUNJTkZP PScnCkxJQl9GREFUQVNZTkM9JycKTElCX01BVEg9Jy1sbScKTElCX1BUSFJFQUQ9Jy1scHRocmVh ZCcKTElCX1BUSFJFQURfU0lHTUFTSz0nJwpMSUJfVElNRVJfVElNRT0nLWxydCAnCkxJQl9XU09D SzMyPScnCkxOX1NfRklMRU9OTFk9J2xuIC1zJwpMVExJQklOVEw9JycKTFRMSUJPQkpTPScnCk0x N05fRkxUX0NGTEFHUz0nJwpNMTdOX0ZMVF9MSUJTPScnCk1BS0VJTkZPPScvdXNyL2Jpbi9tYWtl aW5mbycKTUFLRV9QUk9HPScnCk1LREVQRElSPScke01LRElSX1B9ICR7REVQRElSfScKTUtESVJf UD0nL2Jpbi9ta2RpciAtcCcKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfRElSRU5UX0g9JzxkaXJl bnQuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX0VSUk5PX0g9JycKTkVYVF9BU19GSVJTVF9E SVJFQ1RJVkVfRkNOVExfSD0nPGZjbnRsLmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9HRVRP UFRfSD0nPGdldG9wdC5oPicKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfSU5UVFlQRVNfSD0nPGlu dHR5cGVzLmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TSUdOQUxfSD0nPHNpZ25hbC5oPicK TkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfU1REQVJHX0g9JycKTkVYVF9BU19GSVJTVF9ESVJFQ1RJ VkVfU1REREVGX0g9JycKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfU1RESU5UX0g9JzxzdGRpbnQu aD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX1NURElPX0g9JzxzdGRpby5oPicKTkVYVF9BU19G SVJTVF9ESVJFQ1RJVkVfU1RETElCX0g9JzxzdGRsaWIuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNU SVZFX1NUUklOR19IPSc8c3RyaW5nLmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TWVNfU0VM RUNUX0g9JzxzeXMvc2VsZWN0Lmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TWVNfU1RBVF9I PSc8c3lzL3N0YXQuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX1NZU19USU1FX0g9JzxzeXMv dGltZS5oPicKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfU1lTX1RZUEVTX0g9JzxzeXMvdHlwZXMu aD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX1RJTUVfSD0nPHRpbWUuaD4nCk5FWFRfQVNfRklS U1RfRElSRUNUSVZFX1VOSVNURF9IPSc8dW5pc3RkLmg+JwpORVhUX0RJUkVOVF9IPSc8ZGlyZW50 Lmg+JwpORVhUX0VSUk5PX0g9JycKTkVYVF9GQ05UTF9IPSc8ZmNudGwuaD4nCk5FWFRfR0VUT1BU X0g9JzxnZXRvcHQuaD4nCk5FWFRfSU5UVFlQRVNfSD0nPGludHR5cGVzLmg+JwpORVhUX1NJR05B TF9IPSc8c2lnbmFsLmg+JwpORVhUX1NUREFSR19IPSc8c3RkYXJnLmg+JwpORVhUX1NURERFRl9I PScnCk5FWFRfU1RESU5UX0g9JzxzdGRpbnQuaD4nCk5FWFRfU1RESU9fSD0nPHN0ZGlvLmg+JwpO RVhUX1NURExJQl9IPSc8c3RkbGliLmg+JwpORVhUX1NUUklOR19IPSc8c3RyaW5nLmg+JwpORVhU X1NZU19TRUxFQ1RfSD0nPHN5cy9zZWxlY3QuaD4nCk5FWFRfU1lTX1NUQVRfSD0nPHN5cy9zdGF0 Lmg+JwpORVhUX1NZU19USU1FX0g9JzxzeXMvdGltZS5oPicKTkVYVF9TWVNfVFlQRVNfSD0nPHN5 cy90eXBlcy5oPicKTkVYVF9USU1FX0g9Jzx0aW1lLmg+JwpORVhUX1VOSVNURF9IPSc8dW5pc3Rk Lmg+JwpOT1RJRllfT0JKPSdnZmlsZW5vdGlmeS5vJwpOU19PQko9JycKTlNfT0JKQ19PQko9JycK TlRESVI9JycKTlRMSUI9JycKT0JKRVhUPSdvJwpPVEhFUl9GSUxFUz0nJwpQQUNLQUdFPSdlbWFj cycKUEFDS0FHRV9CVUdSRVBPUlQ9JycKUEFDS0FHRV9OQU1FPSdlbWFjcycKUEFDS0FHRV9TVFJJ Tkc9J2VtYWNzIDI0LjMuOTAnClBBQ0tBR0VfVEFSTkFNRT0nZW1hY3MnClBBQ0tBR0VfVVJMPScn ClBBQ0tBR0VfVkVSU0lPTj0nMjQuMy45MCcKUEFUSF9TRVBBUkFUT1I9JzonClBBWENUTD0nJwpQ S0dfQ09ORklHPScvdXNyL2Jpbi9wa2ctY29uZmlnJwpQT1NUX0FMTE9DX09CSj0nJwpQUkFHTUFf Q09MVU1OUz0nJwpQUkFHTUFfU1lTVEVNX0hFQURFUj0nI3ByYWdtYSBHQ0Mgc3lzdGVtX2hlYWRl cicKUFJFX0FMTE9DX09CSj0nbGFzdGZpbGUubycKUFJJUFRSX1BSRUZJWD0nX19QUklQVFJfUFJF RklYJwpQUklfTUFDUk9TX0JST0tFTj0nMCcKUFJPRklMSU5HX0NGTEFHUz0nJwpQVEhSRUFEX0hf REVGSU5FU19TVFJVQ1RfVElNRVNQRUM9JzAnClBUUkRJRkZfVF9TVUZGSVg9JycKUkFMTE9DX09C Sj0nJwpSQU5MSUI9J3JhbmxpYicKUkVQTEFDRV9DQUxMT0M9JzAnClJFUExBQ0VfQ0FOT05JQ0FM SVpFX0ZJTEVfTkFNRT0nMCcKUkVQTEFDRV9DSE9XTj0nMCcKUkVQTEFDRV9DTE9TRT0nMCcKUkVQ TEFDRV9DTE9TRURJUj0nMCcKUkVQTEFDRV9ESVJGRD0nMCcKUkVQTEFDRV9EUFJJTlRGPScwJwpS RVBMQUNFX0RVUDI9JzAnClJFUExBQ0VfRFVQPScwJwpSRVBMQUNFX0ZDSE9XTkFUPScwJwpSRVBM QUNFX0ZDTE9TRT0nMCcKUkVQTEFDRV9GQ05UTD0nMScKUkVQTEFDRV9GRE9QRU49JzAnClJFUExB Q0VfRkRPUEVORElSPScwJwpSRVBMQUNFX0ZGTFVTSD0nMCcKUkVQTEFDRV9GT1BFTj0nMCcKUkVQ TEFDRV9GUFJJTlRGPScwJwpSRVBMQUNFX0ZQVVJHRT0nMCcKUkVQTEFDRV9GUkVPUEVOPScwJwpS RVBMQUNFX0ZTRUVLPScwJwpSRVBMQUNFX0ZTRUVLTz0nMCcKUkVQTEFDRV9GU1RBVD0nMCcKUkVQ TEFDRV9GU1RBVEFUPScwJwpSRVBMQUNFX0ZURUxMPScwJwpSRVBMQUNFX0ZURUxMTz0nMCcKUkVQ TEFDRV9GVFJVTkNBVEU9JzAnClJFUExBQ0VfRlVUSU1FTlM9JzAnClJFUExBQ0VfR0VUQ1dEPScw JwpSRVBMQUNFX0dFVERFTElNPScwJwpSRVBMQUNFX0dFVERPTUFJTk5BTUU9JzAnClJFUExBQ0Vf R0VURFRBQkxFU0laRT0nMCcKUkVQTEFDRV9HRVRHUk9VUFM9JzAnClJFUExBQ0VfR0VUTElORT0n MCcKUkVQTEFDRV9HRVRMT0dJTl9SPScwJwpSRVBMQUNFX0dFVFBBR0VTSVpFPScwJwpSRVBMQUNF X0dFVFRJTUVPRkRBWT0nMCcKUkVQTEFDRV9HTVRJTUU9JzAnClJFUExBQ0VfSVNBVFRZPScwJwpS RVBMQUNFX0xDSE9XTj0nMCcKUkVQTEFDRV9MSU5LPScwJwpSRVBMQUNFX0xJTktBVD0nMCcKUkVQ TEFDRV9MT0NBTFRJTUU9JzAnClJFUExBQ0VfTE9DQUxUSU1FX1I9JzAnClJFUExBQ0VfTFNFRUs9 JzAnClJFUExBQ0VfTFNUQVQ9JzAnClJFUExBQ0VfTUFMTE9DPScwJwpSRVBMQUNFX01CVE9XQz0n MCcKUkVQTEFDRV9NRU1DSFI9JzAnClJFUExBQ0VfTUVNTUVNPScwJwpSRVBMQUNFX01LRElSPScw JwpSRVBMQUNFX01LRklGTz0nMCcKUkVQTEFDRV9NS05PRD0nMCcKUkVQTEFDRV9NS1NURU1QPScw JwpSRVBMQUNFX01LVElNRT0nMCcKUkVQTEFDRV9OQU5PU0xFRVA9J0dOVUxJQl9QT1JUQ0hFQ0sn ClJFUExBQ0VfTlVMTD0nMCcKUkVQTEFDRV9PQlNUQUNLX1BSSU5URj0nMCcKUkVQTEFDRV9PUEVO PScwJwpSRVBMQUNFX09QRU5BVD0nMCcKUkVQTEFDRV9PUEVORElSPScwJwpSRVBMQUNFX1BFUlJP Uj0nMCcKUkVQTEFDRV9QT1BFTj0nMCcKUkVQTEFDRV9QUkVBRD0nMCcKUkVQTEFDRV9QUklOVEY9 JzAnClJFUExBQ0VfUFNFTEVDVD0nMCcKUkVQTEFDRV9QVEhSRUFEX1NJR01BU0s9JzEnClJFUExB Q0VfUFRTTkFNRT0nMCcKUkVQTEFDRV9QVFNOQU1FX1I9JzAnClJFUExBQ0VfUFVURU5WPScwJwpS RVBMQUNFX1BXUklURT0nMCcKUkVQTEFDRV9SQUlTRT0nMCcKUkVQTEFDRV9SQU5ET01fUj0nMCcK UkVQTEFDRV9SRUFEPScwJwpSRVBMQUNFX1JFQURMSU5LPScwJwpSRVBMQUNFX1JFQUxMT0M9JzAn ClJFUExBQ0VfUkVBTFBBVEg9JzAnClJFUExBQ0VfUkVNT1ZFPScwJwpSRVBMQUNFX1JFTkFNRT0n MCcKUkVQTEFDRV9SRU5BTUVBVD0nMCcKUkVQTEFDRV9STURJUj0nMCcKUkVQTEFDRV9TRUxFQ1Q9 JzAnClJFUExBQ0VfU0VURU5WPScwJwpSRVBMQUNFX1NMRUVQPScwJwpSRVBMQUNFX1NOUFJJTlRG PScwJwpSRVBMQUNFX1NQUklOVEY9JzAnClJFUExBQ0VfU1RBVD0nMCcKUkVQTEFDRV9TVERJT19S RUFEX0ZVTkNTPScwJwpSRVBMQUNFX1NURElPX1dSSVRFX0ZVTkNTPScwJwpSRVBMQUNFX1NUUE5D UFk9JzAnClJFUExBQ0VfU1RSQ0FTRVNUUj0nMCcKUkVQTEFDRV9TVFJDSFJOVUw9JzAnClJFUExB Q0VfU1RSRFVQPScwJwpSRVBMQUNFX1NUUkVSUk9SPScwJwpSRVBMQUNFX1NUUkVSUk9SX1I9JzAn ClJFUExBQ0VfU1RSTkNBVD0nMCcKUkVQTEFDRV9TVFJORFVQPScwJwpSRVBMQUNFX1NUUk5MRU49 JzAnClJFUExBQ0VfU1RSU0lHTkFMPScwJwpSRVBMQUNFX1NUUlNUUj0nMCcKUkVQTEFDRV9TVFJU T0Q9JzAnClJFUExBQ0VfU1RSVE9JTUFYPScwJwpSRVBMQUNFX1NUUlRPS19SPScwJwpSRVBMQUNF X1NUUlRPVU1BWD0nMCcKUkVQTEFDRV9TVFJVQ1RfVElNRVZBTD0nMCcKUkVQTEFDRV9TWU1MSU5L PScwJwpSRVBMQUNFX1RJTUVHTT0nR05VTElCX1BPUlRDSEVDSycKUkVQTEFDRV9UTVBGSUxFPScw JwpSRVBMQUNFX1RUWU5BTUVfUj0nMCcKUkVQTEFDRV9VTkxJTks9JzAnClJFUExBQ0VfVU5MSU5L QVQ9JzAnClJFUExBQ0VfVU5TRVRFTlY9JzAnClJFUExBQ0VfVVNMRUVQPScwJwpSRVBMQUNFX1VU SU1FTlNBVD0nMCcKUkVQTEFDRV9WQVNQUklOVEY9JzAnClJFUExBQ0VfVkRQUklOVEY9JzAnClJF UExBQ0VfVkZQUklOVEY9JzAnClJFUExBQ0VfVlBSSU5URj0nMCcKUkVQTEFDRV9WU05QUklOVEY9 JzAnClJFUExBQ0VfVlNQUklOVEY9JzAnClJFUExBQ0VfV0NUT01CPScwJwpSRVBMQUNFX1dSSVRF PScwJwpSU1ZHX0NGTEFHUz0nLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkv dXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4w L2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fp cm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNy L2luY2x1ZGUvZnJlZXR5cGUyICAnClJTVkdfTElCUz0nLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAt bGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAnClNFUENI QVI9JzonClNFVEZBVFRSPScnClNFVFRJTkdTX0NGTEFHUz0nLXB0aHJlYWQgLUkvdXNyL2luY2x1 ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUg ICAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xp Yi0yLjAvaW5jbHVkZSAgJwpTRVRUSU5HU19MSUJTPSctbGdpby0yLjAgLWxnb2JqZWN0LTIuMCAt bGdsaWItMi4wICAgLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAnClNFVF9NQUtFPScnClNIRUxM PScvYmluL2Jhc2gnClNJR19BVE9NSUNfVF9TVUZGSVg9JycKU0laRV9UX1NVRkZJWD0nJwpTVERB TElHTl9IPScnClNUREFSR19IPScnClNUREJPT0xfSD0nJwpTVERERUZfSD0nJwpTVERJTlRfSD0n JwpTVFJJUD0nJwpTVUJESVJfTUFLRUZJTEVTX0lOPScgJChzcmNkaXIpL2xpYi9NYWtlZmlsZS5p biAkKHNyY2RpcikvbGliLXNyYy9NYWtlZmlsZS5pbiAkKHNyY2Rpcikvb2xkWE1lbnUvTWFrZWZp bGUuaW4gJChzcmNkaXIpL2RvYy9lbWFjcy9NYWtlZmlsZS5pbiAkKHNyY2RpcikvZG9jL21pc2Mv TWFrZWZpbGUuaW4gJChzcmNkaXIpL2RvYy9saXNwaW50cm8vTWFrZWZpbGUuaW4gJChzcmNkaXIp L2RvYy9saXNwcmVmL01ha2VmaWxlLmluICQoc3JjZGlyKS9zcmMvTWFrZWZpbGUuaW4gJChzcmNk aXIpL2x3bGliL01ha2VmaWxlLmluICQoc3JjZGlyKS9saXNwL01ha2VmaWxlLmluICQoc3JjZGly KS9sZWltL01ha2VmaWxlLmluICQoc3JjZGlyKS9uZXh0c3RlcC9NYWtlZmlsZS5pbiAkKHNyY2Rp cikvbnQvTWFrZWZpbGUuaW4gJChzcmNkaXIpL2FkbWluL3VuaWRhdGEvTWFrZWZpbGUuaW4gJChz cmNkaXIpL2FkbWluL2dyYW1tYXJzL01ha2VmaWxlLmluJwpTWVNfVElNRV9IX0RFRklORVNfU1RS VUNUX1RJTUVTUEVDPScwJwpURU1BQ1NfUE9TVF9MSU5LPSc6JwpURVJNQ0FQX09CSj0ndGVybWlu Zm8ubycKVElNRV9IX0RFRklORVNfU1RSVUNUX1RJTUVTUEVDPScxJwpUT09MS0lUX0xJQlc9Jy1s Z3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtf cGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3Qt Mi4wIC1sZ2xpYi0yLjAgICcKVUlOVDMyX01BWF9MVF9VSU5UTUFYX01BWD0nMScKVUlOVDY0X01B WF9FUV9VTE9OR19NQVg9J2RlZmluZWQgX0xQNjQnClVOREVGSU5FX1NUUlRPS19SPScwJwpVTkVY RUNfT0JKPSd1bmV4ZWxmLm8nClVOSVNURF9IX0hBVkVfV0lOU09DSzJfSD0nMCcKVU5JU1REX0hf SEFWRV9XSU5TT0NLMl9IX0FORF9VU0VfU09DS0VUUz0nMCcKVVBEQVRFX01BTklGRVNUPScnClVT RV9BQ0w9JzAnClZFUlNJT049JzI0LjMuOTAnClZNTElNSVRfT0JKPSd2bS1saW1pdC5vJwpXMzJf TElCUz0nJwpXMzJfT0JKPScnClczMl9SRVNfTElOSz0nJwpXQVJOX0NGTEFHUz0nJwpXQ0hBUl9U X1NVRkZJWD0nJwpXRVJST1JfQ0ZMQUdTPScnCldJREdFVF9PQko9JycKV0lORE9XU182NF9CSVRf T0ZGX1Q9JzAnCldJTkRPV1NfNjRfQklUX1NUX1NJWkU9JzAnCldJTkRPV19TWVNURU1fT0JKPSdm b250c2V0Lm8gZnJpbmdlLm8gaW1hZ2UubycKV0lORFJFUz0nJwpXSU5UX1RfU1VGRklYPScnClhB UkdTX0xJTUlUPScnClhDUlVOPScnClhGVF9DRkxBR1M9Jy1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBl MiAgJwpYRlRfTElCUz0nLWxYcmVuZGVyIC1sWGZ0ICAnClhHU0VMT0JKPSd4Z3NlbGVjdC5vJwpY SU5FUkFNQV9DRkxBR1M9JyAnClhJTkVSQU1BX0xJQlM9Jy1sWGluZXJhbWEgICcKWE1FTlVfT0JK PSd4bWVudS5vJwpYTUtNRj0nJwpYT0JKPSd4dGVybS5vIHhmbnMubyB4c2VsZWN0Lm8geHJkYi5v IHhzbWZucy5vIHhzZXR0aW5ncy5vJwpYUkFORFJfQ0ZMQUdTPScgJwpYUkFORFJfTElCUz0nLWxY cmFuZHIgICcKWF9UT09MS0lUX1RZUEU9J25vbmUnCmFjX2N0X0NDPSdnY2MnCmFtX19FWEVFWFRf RkFMU0U9JycKYW1fX0VYRUVYVF9UUlVFPScjJwphbV9fZmFzdGRlcENDX0ZBTFNFPScjJwphbV9f ZmFzdGRlcENDX1RSVUU9JycKYW1fX2luY2x1ZGU9J2luY2x1ZGUnCmFtX19pc3JjPScnCmFtX19s ZWFkaW5nX2RvdD0nLicKYW1fX25vZGVwPSdfbm8nCmFtX19xdW90ZT0nJwphbV9fdGFyPSckJHtU QVItdGFyfSBjaG9mIC0gIiQkdGFyZGlyIicKYW1fX3VudGFyPSckJHtUQVItdGFyfSB4ZiAtJwph cmNobGliZGlyPScke2xpYmV4ZWNkaXJ9L2VtYWNzLyR7dmVyc2lvbn0vJHtjb25maWd1cmF0aW9u fScKYmluZGlyPScke2V4ZWNfcHJlZml4fS9iaW4nCmJpdG1hcGRpcj0nL3Vzci9pbmNsdWRlL1gx MS9iaXRtYXBzJwpidWlsZD0neDg2XzY0LXVua25vd24tbGludXgtZ251JwpidWlsZF9hbGlhcz0n JwpidWlsZF9jcHU9J3g4Nl82NCcKYnVpbGRfb3M9J2xpbnV4LWdudScKYnVpbGRfdmVuZG9yPSd1 bmtub3duJwpjYWNoZV9maWxlPScvZGV2L251bGwnCmNhbm9uaWNhbD0neDg2XzY0LXVua25vd24t bGludXgtZ251Jwpjb25maWd1cmF0aW9uPSd4ODZfNjQtdW5rbm93bi1saW51eC1nbnUnCmNvcHly aWdodD0nQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLicK ZGF0YWRpcj0nJHtkYXRhcm9vdGRpcn0nCmRhdGFyb290ZGlyPScke3ByZWZpeH0vc2hhcmUnCmRv Y2Rpcj0nJHtkYXRhcm9vdGRpcn0vZG9jLyR7UEFDS0FHRV9UQVJOQU1FfScKZHZpZGlyPScke2Rv Y2Rpcn0nCmV0Y2Rpcj0nJHtkYXRhZGlyfS9lbWFjcy8ke3ZlcnNpb259L2V0YycKZXRjZG9jZGly PScke2RhdGFkaXJ9L2VtYWNzLyR7dmVyc2lvbn0vZXRjJwpleGVjX3ByZWZpeD0nJHtwcmVmaXh9 JwpnYW1lZGlyPScke2xvY2Fsc3RhdGVkaXJ9L2dhbWVzL2VtYWNzJwpnYW1ldXNlcj0nZ2FtZXMn CmdsX0dOVUxJQl9FTkFCTEVEXzAzZTBhYWFkNGNiODljYTc1NzY1M2JkMzY3YTZjY2I3X0ZBTFNF PScnCmdsX0dOVUxJQl9FTkFCTEVEXzAzZTBhYWFkNGNiODljYTc1NzY1M2JkMzY3YTZjY2I3X1RS VUU9JyMnCmdsX0dOVUxJQl9FTkFCTEVEXzI2MDk0MWMwZTVkYzY3ZWM5ZTg3ZDFmYjMyMWMzMDBi X0ZBTFNFPScnCmdsX0dOVUxJQl9FTkFCTEVEXzI2MDk0MWMwZTVkYzY3ZWM5ZTg3ZDFmYjMyMWMz MDBiX1RSVUU9JyMnCmdsX0dOVUxJQl9FTkFCTEVEXzYwOTllOTczN2Y3NTdkYjM2YzQ3ZmE5ZDlm MDJlODhjX0ZBTFNFPScnCmdsX0dOVUxJQl9FTkFCTEVEXzYwOTllOTczN2Y3NTdkYjM2YzQ3ZmE5 ZDlmMDJlODhjX1RSVUU9JyMnCmdsX0dOVUxJQl9FTkFCTEVEXzY4MmU2MDk2MDRjY2FhYzZiZTM4 MmU0ZWUzYTRlYWVjX0ZBTFNFPScnCmdsX0dOVUxJQl9FTkFCTEVEXzY4MmU2MDk2MDRjY2FhYzZi ZTM4MmU0ZWUzYTRlYWVjX1RSVUU9JyMnCmdsX0dOVUxJQl9FTkFCTEVEX2E5Nzg2ODUwZTk5OWFl NjVhODM2YTYwNDFlOGU1ZWQxX0ZBTFNFPScnCmdsX0dOVUxJQl9FTkFCTEVEX2E5Nzg2ODUwZTk5 OWFlNjVhODM2YTYwNDFlOGU1ZWQxX1RSVUU9JyMnCmdsX0dOVUxJQl9FTkFCTEVEX2JlNDUzY2Vj NWVlY2Y1NzMxYTI3NGYyZGU3ZjJkYjM2X0ZBTFNFPScnCmdsX0dOVUxJQl9FTkFCTEVEX2JlNDUz Y2VjNWVlY2Y1NzMxYTI3NGYyZGU3ZjJkYjM2X1RSVUU9JyMnCmdsX0dOVUxJQl9FTkFCTEVEX2Rv c25hbWVfRkFMU0U9JycKZ2xfR05VTElCX0VOQUJMRURfZG9zbmFtZV9UUlVFPScjJwpnbF9HTlVM SUJfRU5BQkxFRF9ldWlkYWNjZXNzX0ZBTFNFPScnCmdsX0dOVUxJQl9FTkFCTEVEX2V1aWRhY2Nl c3NfVFJVRT0nIycKZ2xfR05VTElCX0VOQUJMRURfZ2V0ZHRhYmxlc2l6ZV9GQUxTRT0nIycKZ2xf R05VTElCX0VOQUJMRURfZ2V0ZHRhYmxlc2l6ZV9UUlVFPScnCmdsX0dOVUxJQl9FTkFCTEVEX2dl dGdyb3Vwc19GQUxTRT0nJwpnbF9HTlVMSUJfRU5BQkxFRF9nZXRncm91cHNfVFJVRT0nIycKZ2xf R05VTElCX0VOQUJMRURfcGF0aG1heF9GQUxTRT0nJwpnbF9HTlVMSUJfRU5BQkxFRF9wYXRobWF4 X1RSVUU9JyMnCmdsX0dOVUxJQl9FTkFCTEVEX3NlY3VyZV9nZXRlbnZfRkFMU0U9JycKZ2xfR05V TElCX0VOQUJMRURfc2VjdXJlX2dldGVudl9UUlVFPScjJwpnbF9HTlVMSUJfRU5BQkxFRF9zdGF0 X0ZBTFNFPScnCmdsX0dOVUxJQl9FTkFCTEVEX3N0YXRfVFJVRT0nIycKZ2xfR05VTElCX0VOQUJM RURfc3RydG9sbF9GQUxTRT0nJwpnbF9HTlVMSUJfRU5BQkxFRF9zdHJ0b2xsX1RSVUU9JyMnCmds X0dOVUxJQl9FTkFCTEVEX3N0cnRvdWxsX0ZBTFNFPScnCmdsX0dOVUxJQl9FTkFCTEVEX3N0cnRv dWxsX1RSVUU9JyMnCmdsX0dOVUxJQl9FTkFCTEVEX3RlbXBuYW1lX0ZBTFNFPScnCmdsX0dOVUxJ Ql9FTkFCTEVEX3RlbXBuYW1lX1RSVUU9JyMnCmdsX0xJQk9CSlM9JyBmY250bC5vIHB0aHJlYWRf c2lnbWFzay5vIHNpZzJzdHIubycKZ2xfTFRMSUJPQkpTPScgZmNudGwubG8gcHRocmVhZF9zaWdt YXNrLmxvIHNpZzJzdHIubG8nCmdsdGVzdHNfTElCT0JKUz0nJwpnbHRlc3RzX0xUTElCT0JKUz0n JwpnbHRlc3RzX1dJVE5FU1M9J0lOX0VNQUNTX0dOVUxJQl9URVNUUycKaG9zdD0neDg2XzY0LXVu a25vd24tbGludXgtZ251Jwpob3N0X2FsaWFzPScnCmhvc3RfY3B1PSd4ODZfNjQnCmhvc3Rfb3M9 J2xpbnV4LWdudScKaG9zdF92ZW5kb3I9J3Vua25vd24nCmh0bWxkaXI9JyR7ZG9jZGlyfScKaW5j bHVkZWRpcj0nJHtwcmVmaXh9L2luY2x1ZGUnCmluZm9kaXI9JyR7ZGF0YXJvb3RkaXJ9L2luZm8n Cmluc3RhbGxfc2g9JyR7U0hFTEx9IC9ob21lL3R1aGRvL0Rvd25sb2Fkcy9lbWFjcy0yNC4zLjkw L2J1aWxkLWF1eC9pbnN0YWxsLXNoJwpsaWJkaXI9JyR7ZXhlY19wcmVmaXh9L2xpYicKbGliZXhl Y2Rpcj0nJHtleGVjX3ByZWZpeH0vbGliZXhlYycKbGlibG9ja2ZpbGU9J25vJwpsaXNwZGlyPSck e2RhdGFkaXJ9L2VtYWNzLyR7dmVyc2lvbn0vbGlzcCcKbGlzcHBhdGg9JyR7bG9jYWxsaXNwcGF0 aH06JHtzdGFuZGFyZGxpc3BwYXRofScKbG9jYWxlZGlyPScke2RhdGFyb290ZGlyfS9sb2NhbGUn CmxvY2FsbGlzcHBhdGg9JyR7ZGF0YWRpcn0vZW1hY3MvJHt2ZXJzaW9ufS9zaXRlLWxpc3A6JHtk YXRhZGlyfS9lbWFjcy9zaXRlLWxpc3AnCmxvY2Fsc3RhdGVkaXI9JyR7cHJlZml4fS92YXInCm1h bmRpcj0nJHtkYXRhcm9vdGRpcn0vbWFuJwpta2Rpcl9wPSckKE1LRElSX1ApJwpuc19hcHBiaW5k aXI9JycKbnNfYXBwZGlyPScnCm5zX2FwcHJlc2Rpcj0nJwpuc19hcHBzcmM9JycKbnNfY2hlY2tf ZmlsZT0nJwpuc19zZWxmX2NvbnRhaW5lZD0nbm8nCm9sZGluY2x1ZGVkaXI9Jy91c3IvaW5jbHVk ZScKcGRmZGlyPScke2RvY2Rpcn0nCnByZWZpeD0nL3Vzci9sb2NhbCcKcHJvZ3JhbV90cmFuc2Zv cm1fbmFtZT0ncyx4LHgsJwpwc2Rpcj0nJHtkb2NkaXJ9JwpzYmluZGlyPScke2V4ZWNfcHJlZml4 fS9zYmluJwpzaGFyZWRzdGF0ZWRpcj0nJHtwcmVmaXh9L2NvbScKc3JjZGlyPScuJwpzdGFuZGFy ZGxpc3BwYXRoPScke2xpc3BkaXJ9JwpzeXNjb25mZGlyPScke3ByZWZpeH0vZXRjJwp0YXJnZXRf YWxpYXM9JycKdmVyc2lvbj0nMjQuMy45MCcKeF9kZWZhdWx0X3NlYXJjaF9wYXRoPScvdXNyL3No YXJlL1gxMS8lTC8lVC8lTiVDJVM6L3Vzci9zaGFyZS9YMTEvJWwvJVQvJU4lQyVTOi91c3Ivc2hh cmUvWDExLyVULyVOJUMlUzovdXNyL3NoYXJlL1gxMS8lTC8lVC8lTiVTOi91c3Ivc2hhcmUvWDEx LyVsLyVULyVOJVM6L3Vzci9zaGFyZS9YMTEvJVQvJU4lUzovdXNyL2xpYi9YMTEvJUwvJVQvJU4l QyVTOi91c3IvbGliL1gxMS8lbC8lVC8lTiVDJVM6L3Vzci9saWIvWDExLyVULyVOJUMlUzovdXNy L2xpYi9YMTEvJUwvJVQvJU4lUzovdXNyL2xpYi9YMTEvJWwvJVQvJU4lUzovdXNyL2xpYi9YMTEv JVQvJU4lUycKCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgRmlsZSBzdWJzdGl0dXRpb25z LiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tLS0tICMjCgpkZXBzX2ZyYWc9Jy4vc3JjL2F1dG9kZXBz Lm1rJwpsaXNwX2ZyYWc9Jy4vc3JjL2xpc3AubWsnCgojIyAtLS0tLS0tLS0tLSAjIwojIyBjb25m ZGVmcy5oLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoKLyogY29uZmRlZnMuaCAqLwojZGVmaW5lIFBB Q0tBR0VfTkFNRSAiZW1hY3MiCiNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjMuOTAiCiNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImVtYWNz IDI0LjMuOTAiCiNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKI2RlZmluZSBQQUNLQUdFX1VS TCAiIgojZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgojZGVmaW5lIFZFUlNJT04gIjI0LjMuOTAiCiNk ZWZpbmUgTUFJTF9VU0VfUE9QIDEKI2RlZmluZSBTVERDX0hFQURFUlMgMQojZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCiNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCiNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCiNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCiNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQojZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCiNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCiNkZWZpbmUgSEFWRV9VTklTVERfSCAxCiNkZWZpbmUgX19FWFRFTlNJ T05TX18gMQojZGVmaW5lIF9BTExfU09VUkNFIDEKI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEK I2RlZmluZSBfR05VX1NPVVJDRSAxCiNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEK I2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCiNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RF IDEKI2RlZmluZSBTWVNURU1fVFlQRSAiZ251L2xpbnV4IgojZGVmaW5lIEhBVkVfU1lTX1NPVU5E Q0FSRF9IIDEKI2RlZmluZSBIQVZFX1NPVU5EIDEKI2RlZmluZSBIQVZFX1BUWV9IIDEKI2RlZmlu ZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQojZGVm aW5lIEhBVkVfUFdEX0ggMQojZGVmaW5lIEhBVkVfVVRNUF9IIDEKI2RlZmluZSBIQVZFX1NZU19T T0NLRVRfSCAxCiNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCiNkZWZpbmUgSEFWRV9VTklTVERfSCAx CiNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCiNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQojZGVm aW5lIEhBVkVfU1lTX1VOX0ggMQojZGVmaW5lIEhBVkVfRElSRU5UX0ggMQojZGVmaW5lIEhBVkVf RVhFQ0lORk9fSCAxCiNkZWZpbmUgSEFWRV9TVERJT19FWFRfSCAxCiNkZWZpbmUgSEFWRV9HRVRP UFRfSCAxCiNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKI2RlZmluZSBIQVZFX1dDSEFSX0ggMQoj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQojZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCiNkZWZpbmUg SEFWRV9TWVNfU0VMRUNUX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCiNkZWZpbmUgSEFW RV9VVElNRV9IIDEKI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQojZGVmaW5lIEhB VkVfVEVSTV9IIDEKI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQojZGVmaW5lIEhBVkVfREVD TF9TWVNfU0lHTElTVCAxCiNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKI2RlZmluZSBIQVZFX05F VF9JRl9IIDEKI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0ZMQUdTIDEKI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCiNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0JST0FEQUREUiAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIg MQojZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKI2RlZmluZSBIQVZFX1NZU19WTElNSVRf SCAxCiNkZWZpbmUgSEFWRV9EQVRBX1NUQVJUIDEKI2RlZmluZSBET1VHX0xFQV9NQUxMT0MgMQoj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQojZGVmaW5lIEhBVkVfTU1BUCAxCiNkZWZpbmUgSEFW RV9QVEhSRUFEIDEKI2RlZmluZSBIQVZFX1hLQiAxCiNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFT RSAxCiNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQojZGVmaW5lIEhBVkVfWFND UkVFTk5VTUJFUk9GU0NSRUVOIDEKI2RlZmluZSBIQVZFX1gxMVI2IDEKI2RlZmluZSBIQVZFX1hf STE4TiAxCiNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQojZGVmaW5lIEhBVkVfUlNWRyAxCiNkZWZp bmUgSEFWRV9JTUFHRU1BR0lDSyAxCiNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVM UyAxCiNkZWZpbmUgSEFWRV9NQUdJQ0tNRVJHRUlNQUdFTEFZRVJTIDEKI2RlZmluZSBIQVZFX0dU SzMgMQojZGVmaW5lIEdES19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKI2RlZmluZSBH TElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQojZGVmaW5lIFVTRV9HVEsgMQojZGVm aW5lIEhBVkVfR1RLX0hBTkRMRV9CT1hfTkVXIDEKI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01F TlVfSVRFTV9ORVcgMQojZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfV0lORE9XIDEKI2RlZmlu ZSBIQVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQojZGVmaW5lIEhBVkVfR1RLX0RJQUxP R19HRVRfQUNUSU9OX0FSRUEgMQojZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfU0VOU0lUSVZF IDEKI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCiNkZWZpbmUgSEFWRV9HVEtf QURKVVNUTUVOVF9HRVRfUEFHRV9TSVpFIDEKI2RlZmluZSBIQVZFX0dUS19PUklFTlRBQkxFX1NF VF9PUklFTlRBVElPTiAxCiNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpFX0dS SVAgMQojZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKI2RlZmluZSBIQVZFX0dOVVRMUyAxCiNkZWZp bmUgSEFWRV9HRklMRU5PVElGWSAxCiNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKI2RlZmluZSBV U0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCiNkZWZpbmUgSEFWRV9YSU0gMQojZGVmaW5lIFVTRV9Y SU0gMQojZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVy CiNkZWZpbmUgSEFWRV9YRlQgMQojZGVmaW5lIEhBVkVfRlJFRVRZUEUgMQojZGVmaW5lIEhBVkVf WFBNIDEKI2RlZmluZSBIQVZFX0pQRUcgMQojZGVmaW5lIEhBVkVfSlBFRyAxCiNkZWZpbmUgSEFW RV9QTkdfSCAxCiNkZWZpbmUgSEFWRV9QTkcgMQojZGVmaW5lIFBOR19ERVBTVFJVQ1QgLyoqLwoj ZGVmaW5lIEhBVkVfWkxJQiAxCiNkZWZpbmUgSEFWRV9USUZGIDEKI2RlZmluZSBIQVZFX0dJRiAx CiNkZWZpbmUgSEFWRV9YX1NNIDEKI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkgMQoj ZGVmaW5lIEhBVkVfWFJSR0VUU0NSRUVOUkVTT1VSQ0VTQ1VSUkVOVCAxCiNkZWZpbmUgSEFWRV9Y UkFORFIgMQojZGVmaW5lIEhBVkVfWElORVJBTUEgMQojZGVmaW5lIEhBVkVfTElCWE1MMiAxCiNk ZWZpbmUgSEFWRV9IX0VSUk5PIDEKI2RlZmluZSBIQVZFX0xJQk0gMQojZGVmaW5lIE1BSUxfVVNF X0ZMT0NLIDEKI2RlZmluZSBIQVZFX0FDQ0VQVDQgMQojZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUg MQojZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9O QU1FIDEKI2RlZmluZSBIQVZFX0xSQU5ENDggMQojZGVmaW5lIEhBVkVfU0VMRUNUIDEKI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCiNkZWZpbmUgSEFW RV9HRVRSTElNSVQgMQojZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKI2RlZmluZSBIQVZFX1NIVVRE T1dOIDEKI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKI2RlZmluZSBIQVZFX1NUUlNJR05BTCAx CiNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQojZGVmaW5lIEhBVkVfU0VORFRPIDEKI2RlZmluZSBI QVZFX1JFQ1ZGUk9NIDEKI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKI2RlZmluZSBIQVZFX0dF VFBFRVJOQU1FIDEKI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQojZGVmaW5lIEhBVkVfRlJFRUlG QUREUlMgMQojZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKI2RlZmluZSBIQVZFX0dFVExJTkUg MQojZGVmaW5lIEhBVkVfR0VUREVMSU0gMQojZGVmaW5lIEhBVkVfU1lOQyAxCiNkZWZpbmUgSEFW RV9HRVRQV0VOVCAxCiNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCiNkZWZpbmUgSEFWRV9HRVRHUkVO VCAxCiNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCiNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQojZGVm aW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCiNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCiNkZWZpbmUgSEFW RV9fX0VYRUNVVEFCTEVfU1RBUlQgMQojZGVmaW5lIEhBVkVfTE9HMiAxCiNkZWZpbmUgSEFWRV9B TElHTkVEX0FMTE9DIDEKI2RlZmluZSBIQVZFX1JBTkRPTSAxCiNkZWZpbmUgSEFWRV9SSU5UIDEK I2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCiNkZWZpbmUgSEFWRV9GU0VFS08g MQojZGVmaW5lIEhBVkVfR1JBTlRQVCAxCiNkZWZpbmUgSEFWRV9HRVRQVCAxCiNkZWZpbmUgSEFW RV9QT1NJWF9PUEVOUFQgMQojZGVmaW5lIFRFUk1JTkZPIDEKI2RlZmluZSBIQVZFX1JFU19JTklU IDEKI2RlZmluZSBIQVZFX1RaU0VUIDEKI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQojZGVmaW5l IEhBVkVfRkFDQ0VTU0FUIDEKI2RlZmluZSBIQVZFX0ZDTlRMIDEKI2RlZmluZSBIQVZFX0ZET1BF TkRJUiAxCiNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKI2RlZmluZSBIQVZFX0ZTWU5DIDEKI2RlZmlu ZSBIQVZFX0dFVFRJTUVPRkRBWSAxCiNkZWZpbmUgSEFWRV9MU1RBVCAxCiNkZWZpbmUgSEFWRV9N S09TVEVNUCAxCiNkZWZpbmUgSEFWRV9QSVBFMiAxCiNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKI2Rl ZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCiNkZWZpbmUgSEFWRV9GQ0hNT0QgMQojZGVmaW5l IEhBVkVfUkVBRExJTksgMQojZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKI2RlZmluZSBIQVZFX1NU UlRPVU1BWCAxCiNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9S IDEKI2RlZmluZSBIQVZFX0ZVVElNRVMgMQojZGVmaW5lIEhBVkVfRlVUSU1FU0FUIDEKI2RlZmlu ZSBIQVZFX0ZVVElNRU5TIDEKI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCiNkZWZpbmUgSEFWRV9M VVRJTUVTIDEKI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQojZGVmaW5lIEhBVkVfU0VDVVJF X0dFVEVOViAxCiNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQojZGVmaW5lIEhBVkVfRk9SSyAx CiNkZWZpbmUgSEFWRV9WRk9SSyAxCiNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKI2RlZmlu ZSBIQVZFX1dPUktJTkdfRk9SSyAxCiNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCiNkZWZpbmUgSEFW RV9HTElCIDEKI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQojZGVmaW5lIEhBVkVfTUJT VEFURV9UIDEKI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CiNkZWZpbmUgQU1QRVJT QU5EX0ZVTExfTkFNRSAxCiNkZWZpbmUgQ0xBU0hfREVURUNUSU9OIDEKI2RlZmluZSBIQVZFX1BU WVMgMQojZGVmaW5lIEhBVkVfU09DS0VUUyAxCiNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVs bCIKI2RlZmluZSBTRVBDSEFSICc6JwojZGVmaW5lIHN1YnByb2Nlc3NlcyAxCiNkZWZpbmUgVVNF Ul9GVUxMX05BTUUgcHctPnB3X2dlY29zCiNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKI2RlZmlu ZSBJU19ERVZJQ0VfU0VQKF9jXykgMAojZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9j XykgPT0gRElSRUNUT1JZX1NFUCkKI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9S WV9TRVAgKF9jXykpCiNkZWZpbmUgSEFWRV9QUk9DRlMgMQojZGVmaW5lIERFRkFVTFRfU09VTkRf REVWSUNFICIvZGV2L2RzcCIKI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQojZGVmaW5lIE5BUlJP V1BST1RPIDEKI2RlZmluZSBVTklYOThfUFRZUyAxCiNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQg aTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiB7 IGNoYXIgKnB0eW5hbWUgPSAwOyBzaWdzZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNldCAoJmJsb2Nr ZWQpOyBzaWdhZGRzZXQgKCZibG9ja2VkLCBTSUdDSExEKTsgcHRocmVhZF9zaWdtYXNrIChTSUdf QkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1bmxvY2twdCAo ZmQpICE9IC0xKSBwdHluYW1lID0gcHRzbmFtZShmZCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX1VO QkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKCFwdHluYW1lKSB7IGVtYWNzX2Nsb3NlIChmZCk7IHJl dHVybiAtMTsgfSBzbnByaW50ZiAocHR5X25hbWUsIFBUWV9OQU1FX1NJWkUsICIlcyIsIHB0eW5h bWUpOyB9CiNkZWZpbmUgUFRZX09QRU4gZG8geyBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwg T19DTE9FWEVDIHwgT19OT0NUVFkpOyBpZiAoZmQgPCAwICYmIGVycm5vID09IEVJTlZBTCkgZmQg PSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8IE9fTk9DVFRZKTsgfSB3aGlsZSAoZmFsc2UpCiNkZWZp bmUgUFRZX05BTUVfU1BSSU5URiAvKiovCiNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAx CiNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQojZGVm aW5lIEhBVkVfX1NFVEpNUCAxCiNkZWZpbmUgVVNHIC8qKi8KI2RlZmluZSBHTlVfTElOVVggLyoq LwojZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCiNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKI2RlZmlu ZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4iCiNkZWZpbmUgVEVSTV9IRUFERVIgImd0a3V0aWwuaCIKI2RlZmluZSBFTUFDU19DT05G SUdVUkFUSU9OICJ4ODZfNjQtdW5rbm93bi1saW51eC1nbnUiCiNkZWZpbmUgRU1BQ1NfQ09ORklH X09QVElPTlMgIi0td2l0aC14LXRvb2xraXQ9Z3RrIgojZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEK I2RlZmluZSBIQVZFX1gxMSAxCiNkZWZpbmUgR05VX01BTExPQyAxCiNkZWZpbmUgSEFWRV9BTExP Q0FfSCAxCiNkZWZpbmUgSEFWRV9BTExPQ0EgMQojZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M T05HX0lOVCAxCiNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCiNkZWZpbmUgSEFWRV9FTlZJUk9O X0RFQ0wgMQojZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQojZGVmaW5lIEhBVkVfREVDTF9T VFJNT0RFIDAKI2RlZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCiNkZWZpbmUg SEFWRV9HRVRPUFRfSCAxCiNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKI2RlZmluZSBI QVZFX0RFQ0xfR0VURU5WIDEKI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CiNkZWZpbmUgSEFW RV9MT05HX0xPTkdfSU5UIDEKI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAxCiNkZWZpbmUgSEFW RV9ERUNMX0FMQVJNIDEKI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKI2RlZmluZSBIQVZFX19CT09M IDEKI2RlZmluZSBIQVZFX1dDSEFSX1QgMQojZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUg MQojZGVmaW5lIEhBVkVfVE1fWk9ORSAxCiNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQojZGVmaW5l IEhBVkVfREVDTF9TVFJUT0lNQVggMQojZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQojZGVm aW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCiNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCiNk ZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCiNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKI2Rl ZmluZSBIQVZFX0FMTE9DQSAxCiNkZWZpbmUgSEFWRV9CWVRFU1dBUF9IIDEKI2RlZmluZSBIQVZF X0NMT0NLX0dFVFRJTUUgMQojZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCiNkZWZpbmUgR05V TElCX0NMT1NFX1NUUkVBTSAxCiNkZWZpbmUgSEFWRV9EVVAyIDEKI2RlZmluZSBHTlVMSUJfRkFD Q0VTU0FUIDEKI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDEKI2RlZmluZSBHTlVMSUJfRkRP UEVORElSIDEKI2RlZmluZSBIQVZFX0RFQ0xfX19GUEVORElORyAxCiNkZWZpbmUgR0VUVElNRU9G REFZX1RJTUVaT05FIHN0cnVjdCB0aW1lem9uZQojZGVmaW5lIEhBVkVfTUVNUkNIUiAxCiNkZWZp bmUgR05VTElCX01LT1NURU1QIDEKI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCiNkZWZp bmUgVVNFX0FDTCAwCiNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9BVElNX1RWX05TRUMgMQoj ZGVmaW5lIFRZUEVPRl9TVFJVQ1RfU1RBVF9TVF9BVElNX0lTX1NUUlVDVF9USU1FU1BFQyAxCiNk ZWZpbmUgR05VTElCX0ZTQ0FORiAxCiNkZWZpbmUgR05VTElCX1NDQU5GIDEKI2RlZmluZSBteV9z dHJmdGltZSBuc3RyZnRpbWUKI2RlZmluZSBIQVZFX0RFQ0xfTE9DQUxUSU1FX1IgMQojZGVmaW5l IEhBVkVfVElNRVJfU0VUVElNRSAxCiNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCiNkZWZpbmUgSEFW RV9XSU5ET1dfU1lTVEVNIDEKCmNvbmZpZ3VyZTogZXhpdCAwCg== --001a1133c2bacef9ed04f8712e76 Content-Type: application/octet-stream; name="config.log.trunk" Content-Disposition: attachment; filename="config.log.trunk" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hupz1s6r2 VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IEdOVSBFbWFjcyBjb25maWd1cmUgMjQuNC41 MCwgd2hpY2ggd2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OS4gIEludm9jYXRpb24g Y29tbWFuZCBsaW5lIHdhcwoKICAkIC4vY29uZmlndXJlIC0td2l0aC14LXRvb2wta2l0PWd0awoK IyMgLS0tLS0tLS0tICMjCiMjIFBsYXRmb3JtLiAjIwojIyAtLS0tLS0tLS0gIyMKCmhvc3RuYW1l ID0gdHVoZG8tTWFjQm9va0Fpcgp1bmFtZSAtbSA9IHg4Nl82NAp1bmFtZSAtciA9IDMuMTMuMC0y NC1nZW5lcmljCnVuYW1lIC1zID0gTGludXgKdW5hbWUgLXYgPSAjNDYtVWJ1bnR1IFNNUCBUaHUg QXByIDEwIDE5OjExOjA4IFVUQyAyMDE0CgovdXNyL2Jpbi91bmFtZSAtcCA9IHVua25vd24KL2Jp bi91bmFtZSAtWCAgICAgPSB1bmtub3duCgovYmluL2FyY2ggICAgICAgICAgICAgID0gdW5rbm93 bgovdXNyL2Jpbi9hcmNoIC1rICAgICAgID0gdW5rbm93bgovdXNyL2NvbnZleC9nZXRzeXNpbmZv ID0gdW5rbm93bgovdXNyL2Jpbi9ob3N0aW5mbyAgICAgID0gdW5rbm93bgovYmluL21hY2hpbmUg ICAgICAgICAgID0gdW5rbm93bgovdXNyL2Jpbi9vc2xldmVsICAgICAgID0gdW5rbm93bgovYmlu L3VuaXZlcnNlICAgICAgICAgID0gdW5rbm93bgoKUEFUSDogL3Vzci9sb2NhbC9zYmluClBBVEg6 IC91c3IvbG9jYWwvYmluClBBVEg6IC91c3Ivc2JpbgpQQVRIOiAvdXNyL2JpbgpQQVRIOiAvc2Jp bgpQQVRIOiAvYmluClBBVEg6IC91c3IvZ2FtZXMKUEFUSDogL3Vzci9sb2NhbC9nYW1lcwoKCiMj IC0tLS0tLS0tLS0tICMjCiMjIENvcmUgdGVzdHMuICMjCiMjIC0tLS0tLS0tLS0tICMjCgpjb25m aWd1cmU6MzY0NjogY2hlY2tpbmcgZm9yIHhjcnVuCmNvbmZpZ3VyZTozNjc2OiByZXN1bHQ6IG5v CmNvbmZpZ3VyZTozNzQ3OiBjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsCmNv bmZpZ3VyZTozODE1OiByZXN1bHQ6IC91c3IvYmluL2luc3RhbGwgLWMKY29uZmlndXJlOjM4MjY6 IGNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZQpjb25maWd1cmU6Mzg4 MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQwMzI6IGNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZl IG1rZGlyIC1wCmNvbmZpZ3VyZTo0MDcxOiByZXN1bHQ6IC9iaW4vbWtkaXIgLXAKY29uZmlndXJl OjQwNzg6IGNoZWNraW5nIGZvciBnYXdrCmNvbmZpZ3VyZTo0MTA4OiByZXN1bHQ6IG5vCmNvbmZp Z3VyZTo0MDc4OiBjaGVja2luZyBmb3IgbWF3awpjb25maWd1cmU6NDA5NDogZm91bmQgL3Vzci9i aW4vbWF3awpjb25maWd1cmU6NDEwNTogcmVzdWx0OiBtYXdrCmNvbmZpZ3VyZTo0MTE2OiBjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpCmNvbmZpZ3VyZTo0MTM4OiByZXN1bHQ6IHll cwpjb25maWd1cmU6NDE2NzogY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2 YXJpYWJsZXMKY29uZmlndXJlOjQxODQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODg3OiBjaGVj a2luZyBidWlsZCBzeXN0ZW0gdHlwZQpjb25maWd1cmU6NDkwMTogcmVzdWx0OiB4ODZfNjQtdW5r bm93bi1saW51eC1nbnUKY29uZmlndXJlOjQ5MjE6IGNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUK Y29uZmlndXJlOjQ5MzQ6IHJlc3VsdDogeDg2XzY0LXVua25vd24tbGludXgtZ251CmNvbmZpZ3Vy ZTo1MTUxOiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyBHTlUgTWFrZQpjb25maWd1cmU6 NTE1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjUyMjI6IGNoZWNraW5nIGZvciBnY2MKY29uZmln dXJlOjUyMzg6IGZvdW5kIC91c3IvYmluL2djYwpjb25maWd1cmU6NTI0OTogcmVzdWx0OiBnY2MK Y29uZmlndXJlOjUyODA6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIHZlcnNpb24KY29uZmlndXJl OjUyODk6IGdjYyAtLXZlcnNpb24gPiY1CmdjYyAoVWJ1bnR1IDQuOC4yLTE5dWJ1bnR1MSkgNC44 LjIKQ29weXJpZ2h0IChDKSAyMDEzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpUaGlz IGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMu ICBUaGVyZSBpcyBOTwp3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KCmNvbmZpZ3VyZTo1MzAwOiAkPyA9IDAK Y29uZmlndXJlOjUyODk6IGdjYyAtdiA+JjUKVXNpbmcgYnVpbHQtaW4gc3BlY3MuCkNPTExFQ1Rf R0NDPWdjYwpDT0xMRUNUX0xUT19XUkFQUEVSPS91c3IvbGliL2djYy94ODZfNjQtbGludXgtZ251 LzQuOC9sdG8td3JhcHBlcgpUYXJnZXQ6IHg4Nl82NC1saW51eC1nbnUKQ29uZmlndXJlZCB3aXRo OiAuLi9zcmMvY29uZmlndXJlIC12IC0td2l0aC1wa2d2ZXJzaW9uPSdVYnVudHUgNC44LjItMTl1 YnVudHUxJyAtLXdpdGgtYnVndXJsPWZpbGU6Ly8vdXNyL3NoYXJlL2RvYy9nY2MtNC44L1JFQURN RS5CdWdzIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGMrKyxqYXZhLGdvLGQsZm9ydHJhbixvYmpjLG9i ai1jKysgLS1wcmVmaXg9L3VzciAtLXByb2dyYW0tc3VmZml4PS00LjggLS1lbmFibGUtc2hhcmVk IC0tZW5hYmxlLWxpbmtlci1idWlsZC1pZCAtLWxpYmV4ZWNkaXI9L3Vzci9saWIgLS13aXRob3V0 LWluY2x1ZGVkLWdldHRleHQgLS1lbmFibGUtdGhyZWFkcz1wb3NpeCAtLXdpdGgtZ3h4LWluY2x1 ZGUtZGlyPS91c3IvaW5jbHVkZS9jKysvNC44IC0tbGliZGlyPS91c3IvbGliIC0tZW5hYmxlLW5s cyAtLXdpdGgtc3lzcm9vdD0vIC0tZW5hYmxlLWNsb2NhbGU9Z251IC0tZW5hYmxlLWxpYnN0ZGN4 eC1kZWJ1ZyAtLWVuYWJsZS1saWJzdGRjeHgtdGltZT15ZXMgLS1lbmFibGUtZ251LXVuaXF1ZS1v YmplY3QgLS1kaXNhYmxlLWxpYm11ZGZsYXAgLS1lbmFibGUtcGx1Z2luIC0td2l0aC1zeXN0ZW0t emxpYiAtLWRpc2FibGUtYnJvd3Nlci1wbHVnaW4gLS1lbmFibGUtamF2YS1hd3Q9Z3RrIC0tZW5h YmxlLWd0ay1jYWlybyAtLXdpdGgtamF2YS1ob21lPS91c3IvbGliL2p2bS9qYXZhLTEuNS4wLWdj ai00LjgtYW1kNjQvanJlIC0tZW5hYmxlLWphdmEtaG9tZSAtLXdpdGgtanZtLXJvb3QtZGlyPS91 c3IvbGliL2p2bS9qYXZhLTEuNS4wLWdjai00LjgtYW1kNjQgLS13aXRoLWp2bS1qYXItZGlyPS91 c3IvbGliL2p2bS1leHBvcnRzL2phdmEtMS41LjAtZ2NqLTQuOC1hbWQ2NCAtLXdpdGgtYXJjaC1k aXJlY3Rvcnk9YW1kNjQgLS13aXRoLWVjai1qYXI9L3Vzci9zaGFyZS9qYXZhL2VjbGlwc2UtZWNq LmphciAtLWVuYWJsZS1vYmpjLWdjIC0tZW5hYmxlLW11bHRpYXJjaCAtLWRpc2FibGUtd2Vycm9y IC0td2l0aC1hcmNoLTMyPWk2ODYgLS13aXRoLWFiaT1tNjQgLS13aXRoLW11bHRpbGliLWxpc3Q9 bTMyLG02NCxteDMyIC0td2l0aC10dW5lPWdlbmVyaWMgLS1lbmFibGUtY2hlY2tpbmc9cmVsZWFz ZSAtLWJ1aWxkPXg4Nl82NC1saW51eC1nbnUgLS1ob3N0PXg4Nl82NC1saW51eC1nbnUgLS10YXJn ZXQ9eDg2XzY0LWxpbnV4LWdudQpUaHJlYWQgbW9kZWw6IHBvc2l4CmdjYyB2ZXJzaW9uIDQuOC4y IChVYnVudHUgNC44LjItMTl1YnVudHUxKSAKY29uZmlndXJlOjUzMDA6ICQ/ID0gMApjb25maWd1 cmU6NTI4OTogZ2NjIC1WID4mNQpnY2M6IGVycm9yOiB1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5l IG9wdGlvbiAnLVYnCmdjYzogZmF0YWwgZXJyb3I6IG5vIGlucHV0IGZpbGVzCmNvbXBpbGF0aW9u IHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo1MzAwOiAkPyA9IDQKY29uZmlndXJlOjUyODk6IGdjYyAt cXZlcnNpb24gPiY1CmdjYzogZXJyb3I6IHVucmVjb2duaXplZCBjb21tYW5kIGxpbmUgb3B0aW9u ICctcXZlcnNpb24nCmdjYzogZmF0YWwgZXJyb3I6IG5vIGlucHV0IGZpbGVzCmNvbXBpbGF0aW9u IHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo1MzAwOiAkPyA9IDQKY29uZmlndXJlOjUzMjA6IGNoZWNr aW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MKY29uZmlndXJlOjUzNDI6IGdjYyAgICBj b25mdGVzdC5jICA+JjUKY29uZmlndXJlOjUzNDY6ICQ/ID0gMApjb25maWd1cmU6NTM5NDogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjUzOTc6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQg b3V0cHV0IGZpbGUgbmFtZQpjb25maWd1cmU6NTM5OTogcmVzdWx0OiBhLm91dApjb25maWd1cmU6 NTQwNTogY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcwpjb25maWd1cmU6NTQxMjog Z2NjIC1vIGNvbmZ0ZXN0ICAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6NTQxNjogJD8gPSAw CmNvbmZpZ3VyZTo1NDM4OiByZXN1bHQ6IApjb25maWd1cmU6NTQ2MDogY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nCmNvbmZpZ3VyZTo1NDY4OiBnY2MgLW8gY29uZnRlc3Qg ICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo1NDcyOiAkPyA9IDAKY29uZmlndXJlOjU0Nzk6 IC4vY29uZnRlc3QKY29uZmlndXJlOjU0ODM6ICQ/ID0gMApjb25maWd1cmU6NTQ5ODogcmVzdWx0 OiBubwpjb25maWd1cmU6NTUwMzogY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMK Y29uZmlndXJlOjU1MjU6IGdjYyAtYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1NTI5OiAk PyA9IDAKY29uZmlndXJlOjU1NTA6IHJlc3VsdDogbwpjb25maWd1cmU6NTU1NDogY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyCmNvbmZpZ3VyZTo1NTczOiBn Y2MgLWMgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTU3MzogJD8gPSAwCmNvbmZpZ3VyZTo1 NTgyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTU5MTogY2hlY2tpbmcgd2hldGhlciBnY2MgYWNj ZXB0cyAtZwpjb25maWd1cmU6NTYxMTogZ2NjIC1jIC1nICBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6NTYxMTogJD8gPSAwCmNvbmZpZ3VyZTo1NjUyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTY2 OTogY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkKY29uZmlndXJlOjU3 MzI6IGdjYyAgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTczMjogJD8gPSAw CmNvbmZpZ3VyZTo1NzQ1OiByZXN1bHQ6IG5vbmUgbmVlZGVkCmNvbmZpZ3VyZTo1NzcwOiBjaGVj a2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIKY29uZmlndXJl OjU3OTI6IGdjYyAtYyBjb25mdGVzdC5jIC1vIGNvbmZ0ZXN0Mi5vCmNvbmZpZ3VyZTo1Nzk1OiAk PyA9IDAKY29uZmlndXJlOjU3OTI6IGdjYyAtYyBjb25mdGVzdC5jIC1vIGNvbmZ0ZXN0Mi5vCmNv bmZpZ3VyZTo1Nzk1OiAkPyA9IDAKY29uZmlndXJlOjU4MDc6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZTo1ODM1OiBjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UKY29uZmln dXJlOjU4NjM6IHJlc3VsdDogR05VCmNvbmZpZ3VyZTo1ODg5OiBjaGVja2luZyBkZXBlbmRlbmN5 IHN0eWxlIG9mIGdjYwpjb25maWd1cmU6NjAwMDogcmVzdWx0OiBnY2MzCmNvbmZpZ3VyZTo2MDkz OiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nvcgpjb25maWd1cmU6NjEyNDog Z2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo2MTI0OiAkPyA9IDAKY29uZmlndXJlOjYxMzg6 IGdjYyAtRSAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjEyOjI4OiBmYXRhbCBlcnJvcjogYWNfbm9u ZXhpc3RlbnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPGFjX25vbmV4 aXN0ZW50Lmg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1p bmF0ZWQuCmNvbmZpZ3VyZTo2MTM4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUw Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8 ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNk ZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUg PGFjX25vbmV4aXN0ZW50Lmg+CmNvbmZpZ3VyZTo2MTYzOiByZXN1bHQ6IGdjYyAtRQpjb25maWd1 cmU6NjE4MzogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo2MTgzOiAkPyA9IDAKY29uZmln dXJlOjYxOTc6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjEyOjI4OiBmYXRhbCBlcnJv cjogYWNfbm9uZXhpc3RlbnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUg PGFjX25vbmV4aXN0ZW50Lmg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0 aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo2MTk3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJH TlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFj cyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251 Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUv ZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40 LjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+CmNvbmZpZ3VyZTo2MjI2OiBjaGVja2luZyBmb3Ig Z3JlcCB0aGF0IGhhbmRsZXMgbG9uZyBsaW5lcyBhbmQgLWUKY29uZmlndXJlOjYyODQ6IHJlc3Vs dDogL2Jpbi9ncmVwCmNvbmZpZ3VyZTo2Mjg5OiBjaGVja2luZyBmb3IgZWdyZXAKY29uZmlndXJl OjYzNTE6IHJlc3VsdDogL2Jpbi9ncmVwIC1FCmNvbmZpZ3VyZTo2MzU4OiBjaGVja2luZyBmb3Ig TWluaXggQW1zdGVyZGFtIGNvbXBpbGVyCmNvbmZpZ3VyZTo2MzgyOiByZXN1bHQ6IG5vCmNvbmZp Z3VyZTo2NDM0OiBjaGVja2luZyBmb3IgYXIKY29uZmlndXJlOjY0NTA6IGZvdW5kIC91c3IvYmlu L2FyCmNvbmZpZ3VyZTo2NDYxOiByZXN1bHQ6IGFyCmNvbmZpZ3VyZTo2NTQxOiBjaGVja2luZyBm b3IgcmFubGliCmNvbmZpZ3VyZTo2NTU3OiBmb3VuZCAvdXNyL2Jpbi9yYW5saWIKY29uZmlndXJl OjY1Njg6IHJlc3VsdDogcmFubGliCmNvbmZpZ3VyZTo2NTk0OiBjaGVja2luZyBmb3IgQU5TSSBD IGhlYWRlciBmaWxlcwpjb25maWd1cmU6NjYxNDogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjY2MTQ6ICQ/ID0gMApjb25maWd1cmU6NjY4NzogZ2NjIC1vIGNvbmZ0ZXN0 IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6NjY4NzogJD8gPSAwCmNvbmZpZ3Vy ZTo2Njg3OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZTo2Njg3OiAkPyA9IDAKY29uZmlndXJlOjY2OTg6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NzExOiBjaGVja2luZyBmb3Igc3lzL3R5cGVzLmgKY29u ZmlndXJlOjY3MTE6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2NzEx OiAkPyA9IDAKY29uZmlndXJlOjY3MTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NzExOiBjaGVj a2luZyBmb3Igc3lzL3N0YXQuaApjb25maWd1cmU6NjcxMTogZ2NjIC1jIC1nIC1PMiAgY29uZnRl c3QuYyA+JjUKY29uZmlndXJlOjY3MTE6ICQ/ID0gMApjb25maWd1cmU6NjcxMTogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjY3MTE6IGNoZWNraW5nIGZvciBzdGRsaWIuaApjb25maWd1cmU6NjcxMTog Z2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY3MTE6ICQ/ID0gMApjb25m aWd1cmU6NjcxMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY3MTE6IGNoZWNraW5nIGZvciBzdHJp bmcuaApjb25maWd1cmU6NjcxMTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjY3MTE6ICQ/ID0gMApjb25maWd1cmU6NjcxMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY3 MTE6IGNoZWNraW5nIGZvciBtZW1vcnkuaApjb25maWd1cmU6NjcxMTogZ2NjIC1jIC1nIC1PMiAg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY3MTE6ICQ/ID0gMApjb25maWd1cmU6NjcxMTogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjY3MTE6IGNoZWNraW5nIGZvciBzdHJpbmdzLmgKY29uZmlndXJl OjY3MTE6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2NzExOiAkPyA9 IDAKY29uZmlndXJlOjY3MTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NzExOiBjaGVja2luZyBm b3IgaW50dHlwZXMuaApjb25maWd1cmU6NjcxMTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjY3MTE6ICQ/ID0gMApjb25maWd1cmU6NjcxMTogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjY3MTE6IGNoZWNraW5nIGZvciBzdGRpbnQuaApjb25maWd1cmU6NjcxMTogZ2NjIC1j IC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY3MTE6ICQ/ID0gMApjb25maWd1cmU6 NjcxMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY3MTE6IGNoZWNraW5nIGZvciB1bmlzdGQuaApj b25maWd1cmU6NjcxMTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY3 MTE6ICQ/ID0gMApjb25maWd1cmU6NjcxMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY3MjQ6IGNo ZWNraW5nIG1pbml4L2NvbmZpZy5oIHVzYWJpbGl0eQpjb25maWd1cmU6NjcyNDogZ2NjIC1jIC1n IC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo1NToyNjogZmF0YWwgZXJyb3I6IG1pbml4 L2NvbmZpZy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8bWluaXgvY29u ZmlnLmg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVk Lgpjb25maWd1cmU6NjcyNDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8 IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi MjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmlu ZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVm aW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5l IE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZF X1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVm Lmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIu aD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZp bmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxt ZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1 ZGUgPG1pbml4L2NvbmZpZy5oPgpjb25maWd1cmU6NjcyNDogcmVzdWx0OiBubwpjb25maWd1cmU6 NjcyNDogY2hlY2tpbmcgbWluaXgvY29uZmlnLmggcHJlc2VuY2UKY29uZmlndXJlOjY3MjQ6IGdj YyAtRSAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjIyOjI2OiBmYXRhbCBlcnJvcjogbWluaXgvY29u ZmlnLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxtaW5peC9jb25maWcu aD4KICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNv bmZpZ3VyZTo2NzI0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40 LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUg UEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgTUFJ TF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPG1pbml4L2NvbmZpZy5oPgpjb25maWd1cmU6 NjcyNDogcmVzdWx0OiBubwpjb25maWd1cmU6NjcyNDogY2hlY2tpbmcgZm9yIG1pbml4L2NvbmZp Zy5oCmNvbmZpZ3VyZTo2NzI0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NzQ4OiBjaGVja2luZyB3 aGV0aGVyIGl0IGlzIHNhZmUgdG8gZGVmaW5lIF9fRVhURU5TSU9OU19fCmNvbmZpZ3VyZTo2NzY2 OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6Njc2NjogJD8gPSAwCmNv bmZpZ3VyZTo2NzczOiByZXN1bHQ6IHllcwpjb25maWd1cmU6Njc4ODogY2hlY2tpbmcgd2hldGhl ciBfWE9QRU5fU09VUkNFIHNob3VsZCBiZSBkZWZpbmVkCmNvbmZpZ3VyZTo2ODA3OiBnY2MgLWMg LWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjgwNzogJD8gPSAwCmNvbmZpZ3VyZTo2 ODMxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2ODUwOiBjaGVja2luZyBmb3Igc3BlY2lhbCBDIGNv bXBpbGVyIG9wdGlvbnMgbmVlZGVkIGZvciBsYXJnZSBmaWxlcwpjb25maWd1cmU6Njg5NTogcmVz dWx0OiBubwpjb25maWd1cmU6NjkwMTogY2hlY2tpbmcgZm9yIF9GSUxFX09GRlNFVF9CSVRTIHZh bHVlIG5lZWRlZCBmb3IgbGFyZ2UgZmlsZXMKY29uZmlndXJlOjY5MjY6IGdjYyAtYyAtZyAtTzIg IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2OTI2OiAkPyA9IDAKY29uZmlndXJlOjY5NTg6IHJl c3VsdDogbm8KY29uZmlndXJlOjcwNDk6IGNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2Vw dCBJU08gQzk5CmNvbmZpZ3VyZTo3MTk4OiBnY2MgIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUK Y29uZnRlc3QuYzo3OToyOTogZXJyb3I6IGV4cGVjdGVkICc7JywgJywnIG9yICcpJyBiZWZvcmUg J3RleHQnCiB0ZXN0X3Jlc3RyaWN0IChjY3AgcmVzdHJpY3QgdGV4dCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3Qu YzoxMzM6MTg6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRy aWJ1dGVfXycgYmVmb3JlICduZXd2YXInCiAgIGNoYXIgKnJlc3RyaWN0IG5ld3ZhciA9ICJBbm90 aGVyIHN0cmluZyI7CiAgICAgICAgICAgICAgICAgIF4KY29uZnRlc3QuYzoxMzM6MTg6IGVycm9y OiAnbmV3dmFyJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKY29uZnRl c3QuYzoxMzM6MTg6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVk IG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCmNvbmZ0ZXN0LmM6MTQz OjM6IGVycm9yOiAnZm9yJyBsb29wIGluaXRpYWwgZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93 ZWQgaW4gQzk5IG1vZGUKICAgZm9yIChpbnQgaSA9IDA7IGkgPCBpYS0+ZGF0YXNpemU7ICsraSkK ICAgXgpjb25mdGVzdC5jOjE0MzozOiBub3RlOiB1c2Ugb3B0aW9uIC1zdGQ9Yzk5IG9yIC1zdGQ9 Z251OTkgdG8gY29tcGlsZSB5b3VyIGNvZGUKY29uZmlndXJlOjcxOTg6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdu dS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9y Zy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZF UlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf SCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZp bmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBf R05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZp bmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGFyZy5oPgp8ICNpbmNsdWRl IDxzdGRib29sLmg+CnwgI2luY2x1ZGUgPHN0ZGxpYi5oPgp8ICNpbmNsdWRlIDx3Y2hhci5oPgp8 ICNpbmNsdWRlIDxzdGRpby5oPgp8IAp8IC8vIENoZWNrIHZhcmFyZ3MgbWFjcm9zLiAgVGhlc2Ug ZXhhbXBsZXMgYXJlIHRha2VuIGZyb20gQzk5IDYuMTAuMy41Lgp8ICNkZWZpbmUgZGVidWcoLi4u KSBmcHJpbnRmIChzdGRlcnIsIF9fVkFfQVJHU19fKQp8ICNkZWZpbmUgc2hvd2xpc3QoLi4uKSBw dXRzICgjX19WQV9BUkdTX18pCnwgI2RlZmluZSByZXBvcnQodGVzdCwuLi4pICgodGVzdCkgPyBw dXRzICgjdGVzdCkgOiBwcmludGYgKF9fVkFfQVJHU19fKSkKfCBzdGF0aWMgdm9pZAp8IHRlc3Rf dmFyYXJnc19tYWNyb3MgKHZvaWQpCnwgewp8ICAgaW50IHggPSAxMjM0Owp8ICAgaW50IHkgPSA1 Njc4Owp8ICAgZGVidWcgKCJGbGFnIik7CnwgICBkZWJ1ZyAoIlggPSAlZFxuIiwgeCk7CnwgICBz aG93bGlzdCAoVGhlIGZpcnN0LCBzZWNvbmQsIGFuZCB0aGlyZCBpdGVtcy4pOwp8ICAgcmVwb3J0 ICh4PnksICJ4IGlzICVkIGJ1dCB5IGlzICVkIiwgeCwgeSk7CnwgfQp8IAp8IC8vIENoZWNrIGxv bmcgbG9uZyB0eXBlcy4KfCAjZGVmaW5lIEJJRzY0IDE4NDQ2NzQ0MDczNzA5NTUxNjE1dWxsCnwg I2RlZmluZSBCSUczMiA0Mjk0OTY3Mjk1dWwKfCAjZGVmaW5lIEJJR19PSyAoQklHNjQgLyBCSUcz MiA9PSA0Mjk0OTY3Mjk3dWxsICYmIEJJRzY0ICUgQklHMzIgPT0gMCkKfCAjaWYgIUJJR19PSwp8 ICAgeW91ciBwcmVwcm9jZXNzb3IgaXMgYnJva2VuOwp8ICNlbmRpZgp8ICNpZiBCSUdfT0sKfCAj ZWxzZQp8ICAgeW91ciBwcmVwcm9jZXNzb3IgaXMgYnJva2VuOwp8ICNlbmRpZgp8IHN0YXRpYyBs b25nIGxvbmcgaW50IGJpZ251bSA9IC05MjIzMzcyMDM2ODU0Nzc1ODA3TEw7Cnwgc3RhdGljIHVu c2lnbmVkIGxvbmcgbG9uZyBpbnQgdWJpZ251bSA9IEJJRzY0Owp8IAp8IHN0cnVjdCBpbmNvbXBs ZXRlX2FycmF5Cnwgewp8ICAgaW50IGRhdGFzaXplOwp8ICAgZG91YmxlIGRhdGFbXTsKfCB9Owp8 IAp8IHN0cnVjdCBuYW1lZF9pbml0IHsKfCAgIGludCBudW1iZXI7CnwgICBjb25zdCB3Y2hhcl90 ICpuYW1lOwp8ICAgZG91YmxlIGF2ZXJhZ2U7CnwgfTsKfCAKfCB0eXBlZGVmIGNvbnN0IGNoYXIg KmNjcDsKfCAKfCBzdGF0aWMgaW5saW5lIGludAp8IHRlc3RfcmVzdHJpY3QgKGNjcCByZXN0cmlj dCB0ZXh0KQp8IHsKfCAgIC8vIFNlZSBpZiBDKystc3R5bGUgY29tbWVudHMgd29yay4KfCAgIC8v IEl0ZXJhdGUgdGhyb3VnaCBpdGVtcyB2aWEgdGhlIHJlc3RyaWN0ZWQgcG9pbnRlci4KfCAgIC8v IEFsc28gY2hlY2sgZm9yIGRlY2xhcmF0aW9ucyBpbiBmb3IgbG9vcHMuCnwgICBmb3IgKHVuc2ln bmVkIGludCBpID0gMDsgKih0ZXh0K2kpICE9ICdcMCc7ICsraSkKfCAgICAgY29udGludWU7Cnwg ICByZXR1cm4gMDsKfCB9CnwgCnwgLy8gQ2hlY2sgdmFyYXJncyBhbmQgdmFfY29weS4KfCBzdGF0 aWMgdm9pZAp8IHRlc3RfdmFyYXJncyAoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCnwgewp8ICAg dmFfbGlzdCBhcmdzOwp8ICAgdmFfc3RhcnQgKGFyZ3MsIGZvcm1hdCk7CnwgICB2YV9saXN0IGFy Z3NfY29weTsKfCAgIHZhX2NvcHkgKGFyZ3NfY29weSwgYXJncyk7CnwgCnwgICBjb25zdCBjaGFy ICpzdHI7CnwgICBpbnQgbnVtYmVyOwp8ICAgZmxvYXQgZm51bWJlcjsKfCAKfCAgIHdoaWxlICgq Zm9ybWF0KQp8ICAgICB7CnwgICAgICAgc3dpdGNoICgqZm9ybWF0KyspCnwgCXsKfCAJY2FzZSAn cyc6IC8vIHN0cmluZwp8IAkgIHN0ciA9IHZhX2FyZyAoYXJnc19jb3B5LCBjb25zdCBjaGFyICop Owp8IAkgIGJyZWFrOwp8IAljYXNlICdkJzogLy8gaW50CnwgCSAgbnVtYmVyID0gdmFfYXJnIChh cmdzX2NvcHksIGludCk7CnwgCSAgYnJlYWs7CnwgCWNhc2UgJ2YnOiAvLyBmbG9hdAp8IAkgIGZu dW1iZXIgPSB2YV9hcmcgKGFyZ3NfY29weSwgZG91YmxlKTsKfCAJICBicmVhazsKfCAJZGVmYXVs dDoKfCAJICBicmVhazsKfCAJfQp8ICAgICB9CnwgICB2YV9lbmQgKGFyZ3NfY29weSk7CnwgICB2 YV9lbmQgKGFyZ3MpOwp8IH0KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IAp8ICAgLy8gQ2hlY2sg Ym9vbC4KfCAgIF9Cb29sIHN1Y2Nlc3MgPSBmYWxzZTsKfCAKfCAgIC8vIENoZWNrIHJlc3RyaWN0 Lgp8ICAgaWYgKHRlc3RfcmVzdHJpY3QgKCJTdHJpbmcgbGl0ZXJhbCIpID09IDApCnwgICAgIHN1 Y2Nlc3MgPSB0cnVlOwp8ICAgY2hhciAqcmVzdHJpY3QgbmV3dmFyID0gIkFub3RoZXIgc3RyaW5n IjsKfCAKfCAgIC8vIENoZWNrIHZhcmFyZ3MuCnwgICB0ZXN0X3ZhcmFyZ3MgKCJzLCBkJyBmIC4i LCAic3RyaW5nIiwgNjUsIDM0LjIzNCk7CnwgICB0ZXN0X3ZhcmFyZ3NfbWFjcm9zICgpOwp8IAp8 ICAgLy8gQ2hlY2sgZmxleGlibGUgYXJyYXkgbWVtYmVycy4KfCAgIHN0cnVjdCBpbmNvbXBsZXRl X2FycmF5ICppYSA9CnwgICAgIG1hbGxvYyAoc2l6ZW9mIChzdHJ1Y3QgaW5jb21wbGV0ZV9hcnJh eSkgKyAoc2l6ZW9mIChkb3VibGUpICogMTApKTsKfCAgIGlhLT5kYXRhc2l6ZSA9IDEwOwp8ICAg Zm9yIChpbnQgaSA9IDA7IGkgPCBpYS0+ZGF0YXNpemU7ICsraSkKfCAgICAgaWEtPmRhdGFbaV0g PSBpICogMS4yMzQ7CnwgCnwgICAvLyBDaGVjayBuYW1lZCBpbml0aWFsaXplcnMuCnwgICBzdHJ1 Y3QgbmFtZWRfaW5pdCBuaSA9IHsKfCAgICAgLm51bWJlciA9IDM0LAp8ICAgICAubmFtZSA9IEwi VGVzdCB3aWRlIHN0cmluZyIsCnwgICAgIC5hdmVyYWdlID0gNTQzLjM0MzQzLAp8ICAgfTsKfCAK fCAgIG5pLm51bWJlciA9IDU4Owp8IAp8ICAgaW50IGR5bmFtaWNfYXJyYXlbbmkubnVtYmVyXTsK fCAgIGR5bmFtaWNfYXJyYXlbbmkubnVtYmVyIC0gMV0gPSA1NDM7CnwgCnwgICAvLyB3b3JrIGFy b3VuZCB1bnVzZWQgdmFyaWFibGUgd2FybmluZ3MKfCAgIHJldHVybiAoIXN1Y2Nlc3MgfHwgYmln bnVtID09IDBMTCB8fCB1YmlnbnVtID09IDB1TEwgfHwgbmV3dmFyWzBdID09ICd4Jwp8IAkgIHx8 IGR5bmFtaWNfYXJyYXlbbmkubnVtYmVyIC0gMV0gIT0gNTQzKTsKfCAKfCAgIDsKfCAgIHJldHVy biAwOwp8IH0KY29uZmlndXJlOjcxOTg6IGdjYyAtc3RkPWdudTk5IC1jIC1nIC1PMiAgY29uZnRl c3QuYyA+JjUKY29uZmlndXJlOjcxOTg6ICQ/ID0gMApjb25maWd1cmU6NzIxODogcmVzdWx0OiAt c3RkPWdudTk5CmNvbmZpZ3VyZTo3MzE5OiBjaGVja2luZyBmb3IgZ2NjIC1zdGQ9Z251OTkgb3B0 aW9uIHRvIGFjY2VwdCBJU08gU3RhbmRhcmQgQwpjb25maWd1cmU6NzMzMzogcmVzdWx0OiAtc3Rk PWdudTk5CmNvbmZpZ3VyZTo3NDcyOiBjaGVja2luZyB3aGV0aGVyIGdjYyAtc3RkPWdudTk5IGFj Y2VwdHMgLWczIC1PMgpjb25maWd1cmU6NzQ4ODogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3Qg LWczIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6NzQ4ODogJD8gPSAwCmNvbmZpZ3Vy ZTo3NDk2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NzYwMzogY2hlY2tpbmcgd2hldGhlciB0aGUg Y29tcGlsZXIgaXMgY2xhbmcKY29uZmlndXJlOjc2MjM6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAt TzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MzE6MTI6IGVycm9yOiBleHBlY3RlZCAnPScs ICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlIHN0cmluZyBjb25zdGFu dAogICAgICBlcnJvciAibm90IGNsYW5nIjsKICAgICAgICAgICAgXgpjb25maWd1cmU6NzYyMzog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0 cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNz Igp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lP TlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNF IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFO VElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82 NF9CSVRfSU5PREUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAJICAjaWZuZGVmIF9f Y2xhbmdfXwp8IAkgICAgZXJyb3IgIm5vdCBjbGFuZyI7CnwgCSAgI2VuZGlmCnwgCnwgaW50Cnwg bWFpbiAoKQp8IHsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjc2MzA6IHJl c3VsdDogbm8KY29uZmlndXJlOjg2MjU6IGNoZWNraW5nIHdoZXRoZXIgbG4gLXMgd29ya3MgZm9y IGZpbGVzIGluIHRoZSBzYW1lIGRpcmVjdG9yeQpjb25maWd1cmU6ODY1MDogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjg2NjY6IGNoZWNraW5nIGZvciBpbnN0YWxsLWluZm8KY29uZmlndXJlOjg2ODQ6 IGZvdW5kIC91c3IvYmluL2luc3RhbGwtaW5mbwpjb25maWd1cmU6ODY5NzogcmVzdWx0OiAvdXNy L2Jpbi9pbnN0YWxsLWluZm8KY29uZmlndXJlOjg3MDc6IGNoZWNraW5nIGZvciBnemlwCmNvbmZp Z3VyZTo4NzI1OiBmb3VuZCAvYmluL2d6aXAKY29uZmlndXJlOjg3Mzc6IHJlc3VsdDogL2Jpbi9n emlwCmNvbmZpZ3VyZTo4NzUyOiBjaGVja2luZyBmb3IgcGF4Y3RsCmNvbmZpZ3VyZTo4Nzg1OiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZTo4ODE1OiBjaGVja2luZyBmb3Igc2V0ZmF0dHIKY29uZmlndXJl Ojg4Mjc6IHJlc3VsdDogbm8KY29uZmlndXJlOjg4NDI6IGNoZWNraW5nIGZvciBtYWtlaW5mbwpj b25maWd1cmU6ODg2MDogZm91bmQgL3Vzci9iaW4vbWFrZWluZm8KY29uZmlndXJlOjg4NzM6IHJl c3VsdDogL3Vzci9iaW4vbWFrZWluZm8KY29uZmlndXJlOjg5NDU6IGNoZWNraW5nIGZvciAtem5v Y29tYnJlbG9jCmNvbmZpZ3VyZTo4OTU4OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMg LU8yICAgLVdsLC16bm9jb21icmVsb2MgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo4OTU4OiAk PyA9IDAKY29uZmlndXJlOjg5NTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4OTcxOiBjaGVja2lu ZyB3aGV0aGVyIGFkZHJlc3NlcyBhcmUgc2FuaXRpemVkCmNvbmZpZ3VyZTo4OTk0OiBnY2MgLXN0 ZD1nbnU5OSAtYyAtZzMgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjM0OjExOiBlcnJv cjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9y ZSBzdHJpbmcgY29uc3RhbnQKICAgICBlcnJvciAiQWRkcmVzc2VzIGFyZSBub3Qgc2FuaXRpemVk LiI7CiAgICAgICAgICAgXgpjb25maWd1cmU6ODk5NDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi R05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1h Y3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdu dS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJl L2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQu NC41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NP VVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNF IDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVN X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaWZuZGVmIF9faGFzX2ZlYXR1cmUKfCAJICAjZGVmaW5lIF9faGFz X2ZlYXR1cmUoZikgMAp8IAkgICNlbmRpZgp8IAkgICNpZiBkZWZpbmVkIF9fU0FOSVRJWkVfQURE UkVTU19fIHx8IF9faGFzX2ZlYXR1cmUgKGFkZHJlc3Nfc2FuaXRpemVyKQp8IAkgICNlbHNlCnwg CSAgIGVycm9yICJBZGRyZXNzZXMgYXJlIG5vdCBzYW5pdGl6ZWQuIjsKfCAJICAjZW5kaWYKfCAK fCBpbnQKfCBtYWluICgpCnwgewp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6 OTAwMTogcmVzdWx0OiBubwpjb25maWd1cmU6OTE4MTogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29u dGFpbmluZyBzcXJ0CmNvbmZpZ3VyZTo5MjEyOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAt ZzMgLU8yICAgICBjb25mdGVzdC5jICA+JjUgCmNvbmZ0ZXN0LmM6MzY6Njogd2FybmluZzogY29u ZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdzcXJ0JyBbZW5hYmxlZCBieSBk ZWZhdWx0XQogY2hhciBzcXJ0ICgpOwogICAgICBeCi90bXAvY2N0bXNEUWwubzogSW4gZnVuY3Rp b24gYG1haW4nOgovaG9tZS90dWhkby9Eb3dubG9hZHMvZW1hY3MtdHJ1bmsvY29uZnRlc3QuYzo0 MDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc3FydCcKY29sbGVjdDI6IGVycm9yOiBsZCByZXR1 cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTo5MjEyOiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBF bWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NA Z251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdh cmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIy NC40LjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExf U09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VS Q0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5E RU1fU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90 eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1h dGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFy Z3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNw bHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgc3FydCAoKTsKfCBpbnQKfCBtYWluICgp Cnwgewp8IHJldHVybiBzcXJ0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6 OTIxMjogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgY29uZnRlc3QuYyAt bG0gICA+JjUgCmNvbmZ0ZXN0LmM6MzY6Njogd2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9y IGJ1aWx0LWluIGZ1bmN0aW9uICdzcXJ0JyBbZW5hYmxlZCBieSBkZWZhdWx0XQogY2hhciBzcXJ0 ICgpOwogICAgICBeCmNvbmZpZ3VyZTo5MjEyOiAkPyA9IDAKY29uZmlndXJlOjkyMjk6IHJlc3Vs dDogLWxtCmNvbmZpZ3VyZTo5Mjg4OiBjaGVja2luZyBmb3IgcGtnLWNvbmZpZwpjb25maWd1cmU6 OTMwNjogZm91bmQgL3Vzci9iaW4vcGtnLWNvbmZpZwpjb25maWd1cmU6OTMxOTogcmVzdWx0OiAv dXNyL2Jpbi9wa2ctY29uZmlnCmNvbmZpZ3VyZTo5MzM2OiBjaGVja2luZyBmb3IgbWFjaGluZS9z b3VuZGNhcmQuaApjb25maWd1cmU6OTMzNjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBj b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjM3OjMxOiBmYXRhbCBlcnJvcjogbWFjaGluZS9zb3Vu ZGNhcmQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPG1hY2hpbmUvc291 bmRjYXJkLmg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRl cm1pbmF0ZWQuCmNvbmZpZ3VyZTo5MzM2OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40 LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3Mv Igp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8 ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEK fCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNF IDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1f VFlQRSAiZ251L2xpbnV4Igp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAgICAgI2lmZGVm IF9fTUlOR1czMl9fCnwgICAgICNkZWZpbmUgV0lOMzJfTEVBTl9BTkRfTUVBTgp8ICAgICAjaW5j bHVkZSA8d2luZG93cy5oPgp8ICAgICAjZW5kaWYKfCAKfCAKfCAjaW5jbHVkZSA8bWFjaGluZS9z b3VuZGNhcmQuaD4KY29uZmlndXJlOjkzMzY6IHJlc3VsdDogbm8KY29uZmlndXJlOjkzMzY6IGNo ZWNraW5nIGZvciBzeXMvc291bmRjYXJkLmgKY29uZmlndXJlOjkzMzY6IGdjYyAtc3RkPWdudTk5 IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjkzMzY6ICQ/ID0gMApjb25m aWd1cmU6OTMzNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjkzMzY6IGNoZWNraW5nIGZvciBzb3Vu ZGNhcmQuaApjb25maWd1cmU6OTMzNjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25m dGVzdC5jID4mNQpjb25mdGVzdC5jOjM4OjIzOiBmYXRhbCBlcnJvcjogc291bmRjYXJkLmg6IE5v IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxzb3VuZGNhcmQuaD4KICAgICAgICAg ICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo5MzM2OiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRw Oi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3Mi CnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9O U19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0Ug MQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0 X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251L2xpbnV4Igp8ICNkZWZpbmUg SEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAgICAg I2lmZGVmIF9fTUlOR1czMl9fCnwgICAgICNkZWZpbmUgV0lOMzJfTEVBTl9BTkRfTUVBTgp8ICAg ICAjaW5jbHVkZSA8d2luZG93cy5oPgp8ICAgICAjZW5kaWYKfCAKfCAKfCAjaW5jbHVkZSA8c291 bmRjYXJkLmg+CmNvbmZpZ3VyZTo5MzM2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5MzU3OiBjaGVj a2luZyBmb3IgX29zc19pb2N0bCBpbiAtbG9zc2F1ZGlvCmNvbmZpZ3VyZTo5MzgyOiBnY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jIC1sb3NzYXVkaW8gICA+ JjUgCi91c3IvYmluL2xkOiBjYW5ub3QgZmluZCAtbG9zc2F1ZGlvCmNvbGxlY3QyOiBlcnJvcjog bGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6OTM4MjogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251 LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3Jn L3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVS U0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hF QURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I IDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmlu ZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9H TlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmlu ZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8 ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5E Q0FSRF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdD QyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVj YXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRp biBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8K fCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBfb3NzX2lv Y3RsICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIF9vc3NfaW9jdGwgKCk7CnwgICA7 CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo5MzkxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5 NDE1OiBjaGVja2luZyBmb3IgYWxzYSA+PSAxLjAuMApjb25maWd1cmU6OTQzMzogcmVzdWx0OiBu bwpjb25maWd1cmU6OTUzNTogY2hlY2tpbmcgZm9yIHN5cy9zeXN0ZW1pbmZvLmgKY29uZmlndXJl Ojk1MzU6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzo2NjoyODogZmF0YWwgZXJyb3I6IHN5cy9zeXN0ZW1pbmZvLmg6IE5vIHN1Y2ggZmlsZSBv ciBkaXJlY3RvcnkKICNpbmNsdWRlIDxzeXMvc3lzdGVtaW5mby5oPgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6OTUzNTogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDov L3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8 ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNf XyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEK fCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElD UyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9C SVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhB VkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNf SAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NU QVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFE RVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNl CnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRp Zgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hF QURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+Cnwg IyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RS SU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5U VFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T VERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5J U1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDxzeXMv c3lzdGVtaW5mby5oPgpjb25maWd1cmU6OTUzNTogcmVzdWx0OiBubwpjb25maWd1cmU6OTUzNTog Y2hlY2tpbmcgZm9yIGNvZmYuaApjb25maWd1cmU6OTUzNTogZ2NjIC1zdGQ9Z251OTkgLWMgLWcz IC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjY2OjE4OiBmYXRhbCBlcnJvcjogY29m Zi5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8Y29mZi5oPgogICAgICAg ICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo5NTM1OiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8v d3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwg I2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJ VF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251L2xpbnV4Igp8ICNkZWZpbmUgSEFW RV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19I CnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RB VF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURF UlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UK fCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlm CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVB REVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAj IGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJ TkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRU WVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU RElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklT VERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgCnwgI2luY2x1ZGUgPGNvZmYu aD4KY29uZmlndXJlOjk1MzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjk1MzU6IGNoZWNraW5nIGZv ciBwdHkuaApjb25maWd1cmU6OTUzNTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25m dGVzdC5jID4mNQpjb25maWd1cmU6OTUzNTogJD8gPSAwCmNvbmZpZ3VyZTo5NTM1OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6OTUzNTogY2hlY2tpbmcgZm9yIHN5cy9yZXNvdXJjZS5oCmNvbmZpZ3Vy ZTo5NTM1OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp Z3VyZTo5NTM1OiAkPyA9IDAKY29uZmlndXJlOjk1MzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5 NTM1OiBjaGVja2luZyBmb3Igc3lzL3V0c25hbWUuaApjb25maWd1cmU6OTUzNTogZ2NjIC1zdGQ9 Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTUzNTogJD8gPSAw CmNvbmZpZ3VyZTo5NTM1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTUzNTogY2hlY2tpbmcgZm9y IHB3ZC5oCmNvbmZpZ3VyZTo5NTM1OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NTM1OiAkPyA9IDAKY29uZmlndXJlOjk1MzU6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZTo5NTM1OiBjaGVja2luZyBmb3IgdXRtcC5oCmNvbmZpZ3VyZTo5NTM1OiBn Y2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NTM1 OiAkPyA9IDAKY29uZmlndXJlOjk1MzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NTM1OiBjaGVj a2luZyBmb3IgdXRpbC5oCmNvbmZpZ3VyZTo5NTM1OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8y ICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NzE6MTg6IGZhdGFsIGVycm9yOiB1dGlsLmg6 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDx1dGlsLmg+CiAgICAgICAgICAg ICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjk1MzU6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi YnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cu Z251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVm aW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8 ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2Rl ZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8 ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lO T0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZ U19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19V VFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBI QVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3Rk ZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFk ZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRl IDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgCnwg I2luY2x1ZGUgPHV0aWwuaD4KY29uZmlndXJlOjk1MzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjk1 MzU6IGNoZWNraW5nIGZvciBzeXMvc29ja2V0LmgKY29uZmlndXJlOjk1MzU6IGdjYyAtc3RkPWdu dTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjk1MzU6ICQ/ID0gMApj b25maWd1cmU6OTUzNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk1MzU6IGNoZWNraW5nIGZvciBz dGRsaWIuaApjb25maWd1cmU6OTUzNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk1MzU6IGNoZWNr aW5nIGZvciB1bmlzdGQuaApjb25maWd1cmU6OTUzNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk1 MzU6IGNoZWNraW5nIGZvciBzeXMvcGFyYW0uaApjb25maWd1cmU6OTUzNTogZ2NjIC1zdGQ9Z251 OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTUzNTogJD8gPSAwCmNv bmZpZ3VyZTo5NTM1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTUzNTogY2hlY2tpbmcgZm9yIHB0 aHJlYWQuaApjb25maWd1cmU6OTUzNTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25m dGVzdC5jID4mNQpjb25maWd1cmU6OTUzNTogJD8gPSAwCmNvbmZpZ3VyZTo5NTM1OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6OTUzNTogY2hlY2tpbmcgZm9yIG1hbGxvYy9tYWxsb2MuaApjb25maWd1 cmU6OTUzNTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25m dGVzdC5jOjc2OjI3OiBmYXRhbCBlcnJvcjogbWFsbG9jL21hbGxvYy5oOiBObyBzdWNoIGZpbGUg b3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8bWFsbG9jL21hbGxvYy5oPgogICAgICAgICAgICAgICAg ICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo5NTM1OiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8v d3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwg I2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJ VF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251L2xpbnV4Igp8ICNkZWZpbmUgSEFW RV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZF X1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1Q X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj aW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8 c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVk ZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRl IDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZF X1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5l ZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5j bHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNs dWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5j bHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5j bHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1 ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDxtYWxsb2MvbWFsbG9jLmg+CmNv bmZpZ3VyZTo5NTM1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5NTM1OiBjaGVja2luZyBmb3IgbWFp bGxvY2suaApjb25maWd1cmU6OTUzNTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25m dGVzdC5jID4mNQpjb25mdGVzdC5jOjc2OjIyOiBmYXRhbCBlcnJvcjogbWFpbGxvY2suaDogTm8g c3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPG1haWxsb2NrLmg+CiAgICAgICAgICAg ICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo5NTM1OiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8v d3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwg I2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJ VF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251L2xpbnV4Igp8ICNkZWZpbmUgSEFW RV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZF X1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1Q X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj aW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8 c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVk ZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRl IDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZF X1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5l ZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5j bHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNs dWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5j bHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5j bHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1 ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDxtYWlsbG9jay5oPgpjb25maWd1 cmU6OTUzNTogcmVzdWx0OiBubwpjb25maWd1cmU6OTUzNTogY2hlY2tpbmcgZm9yIHN5cy91bi5o CmNvbmZpZ3VyZTo5NTM1OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZTo5NTM1OiAkPyA9IDAKY29uZmlndXJlOjk1MzU6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTo5NTM1OiBjaGVja2luZyBmb3IgZGlyZW50LmgKY29uZmlndXJlOjk1MzU6IGdjYyAt c3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjk1MzU6ICQ/ ID0gMApjb25maWd1cmU6OTUzNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk1MzU6IGNoZWNraW5n IGZvciBleGVjaW5mby5oCmNvbmZpZ3VyZTo5NTM1OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8y ICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NTM1OiAkPyA9IDAKY29uZmlndXJlOjk1MzU6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NTM1OiBjaGVja2luZyBmb3Igc3RkaW9fZXh0LmgKY29u ZmlndXJlOjk1MzU6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjk1MzU6ICQ/ID0gMApjb25maWd1cmU6OTUzNTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjk1MzU6IGNoZWNraW5nIGZvciBnZXRvcHQuaApjb25maWd1cmU6OTUzNTogZ2NjIC1zdGQ9 Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTUzNTogJD8gPSAw CmNvbmZpZ3VyZTo5NTM1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTUzNTogY2hlY2tpbmcgZm9y IHN5cy90aW1lLmgKY29uZmlndXJlOjk1MzU6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjk1MzU6ICQ/ID0gMApjb25maWd1cmU6OTUzNTogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjk1MzU6IGNoZWNraW5nIGZvciB3Y2hhci5oCmNvbmZpZ3VyZTo5 NTM1OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZTo5NTM1OiAkPyA9IDAKY29uZmlndXJlOjk1MzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NTM1 OiBjaGVja2luZyBmb3Igc3RkaW50LmgKY29uZmlndXJlOjk1MzU6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZTo5NTM1OiBjaGVja2luZyBmb3IgaW50dHlwZXMuaApjb25maWd1cmU6OTUzNTogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjk1MzU6IGNoZWNraW5nIGZvciBzeXMvc2VsZWN0LmgKY29uZmlndXJl Ojk1MzU6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjk1MzU6ICQ/ID0gMApjb25maWd1cmU6OTUzNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk1 MzU6IGNoZWNraW5nIGZvciBzeXMvc3RhdC5oCmNvbmZpZ3VyZTo5NTM1OiByZXN1bHQ6IHllcwpj b25maWd1cmU6OTUzNTogY2hlY2tpbmcgZm9yIHV0aW1lLmgKY29uZmlndXJlOjk1MzU6IGdjYyAt c3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjk1MzU6ICQ/ ID0gMApjb25maWd1cmU6OTUzNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk1NjQ6IGNoZWNraW5n IGlmIHBlcnNvbmFsaXR5IExJTlVYMzIgY2FuIGJlIHNldApjb25maWd1cmU6OTU3NzogZ2NjIC1z dGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTU3NzogJD8g PSAwCmNvbmZpZ3VyZTo5NTgzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTU5NDogY2hlY2tpbmcg Zm9yIHRlcm0uaApjb25maWd1cmU6OTU5NDogZ2NjIC1FICAgIGNvbmZ0ZXN0LmMKY29uZmlndXJl Ojk1OTQ6ICQ/ID0gMApjb25maWd1cmU6OTU5NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk2MDQ6 IGNoZWNraW5nIHdoZXRoZXIgdGltZS5oIGFuZCBzeXMvdGltZS5oIG1heSBib3RoIGJlIGluY2x1 ZGVkCmNvbmZpZ3VyZTo5NjI0OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZTo5NjI0OiAkPyA9IDAKY29uZmlndXJlOjk2MzE6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZTo5NjM5OiBjaGVja2luZyB3aGV0aGVyIHN5c19zaWdsaXN0IGlzIGRlY2xhcmVk CmNvbmZpZ3VyZTo5NjM5OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZTo5NjM5OiAkPyA9IDAKY29uZmlndXJlOjk2Mzk6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTo5NjY4OiBjaGVja2luZyBmb3Igc3lzL3dhaXQuaCB0aGF0IGlzIFBPU0lYLjEgY29t cGF0aWJsZQpjb25maWd1cmU6OTY5NDogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25m dGVzdC5jID4mNQpjb25maWd1cmU6OTY5NDogJD8gPSAwCmNvbmZpZ3VyZTo5NzAxOiByZXN1bHQ6 IHllcwpjb25maWd1cmU6OTcxNTogY2hlY2tpbmcgZm9yIG5ldC9pZi5oCmNvbmZpZ3VyZTo5NzE1 OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5 NzE1OiAkPyA9IDAKY29uZmlndXJlOjk3MTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NzMxOiBj aGVja2luZyBmb3IgaWZhZGRycy5oCmNvbmZpZ3VyZTo5NzMxOiBnY2MgLXN0ZD1nbnU5OSAtYyAt ZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NzMxOiAkPyA9IDAKY29uZmlndXJl Ojk3MzE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NzQ3OiBjaGVja2luZyBmb3IgbmV0L2lmX2Rs LmgKY29uZmlndXJlOjk3NDc6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3Qu YyA+JjUKY29uZnRlc3QuYzo5ODoyMzogZmF0YWwgZXJyb3I6IG5ldC9pZl9kbC5oOiBObyBzdWNo IGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8bmV0L2lmX2RsLmg+CiAgICAgICAgICAgICAg ICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6OTc0NzogJD8gPSAx CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm aW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3 dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNk ZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAx CnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAx CnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRf SU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVf U1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9Q VFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNk ZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJT19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUg SEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TWVNfU0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBF U19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNf U1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hF QURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vs c2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVu ZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENf SEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4K fCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T VFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9J TlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9V TklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NP Q0tFVF9ICnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8 bmV0L2lmX2RsLmg+CmNvbmZpZ3VyZTo5NzQ3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5NzYyOiBj aGVja2luZyBmb3Igc3RydWN0IGlmcmVxLmlmcl9mbGFncwpjb25maWd1cmU6OTc2MjogZ2NjIC1z dGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTc2MjogJD8g PSAwCmNvbmZpZ3VyZTo5NzYyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTc3ODogY2hlY2tpbmcg Zm9yIHN0cnVjdCBpZnJlcS5pZnJfaHdhZGRyCmNvbmZpZ3VyZTo5Nzc4OiBnY2MgLXN0ZD1nbnU5 OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdt YWluJzoKY29uZnRlc3QuYzoxMDY6NTogZXJyb3I6IHVzZWQgc3RydWN0IHR5cGUgdmFsdWUgd2hl cmUgc2NhbGFyIGlzIHJlcXVpcmVkCiBpZiAoYWNfYWdnci5pZnJfaHdhZGRyKQogICAgIF4KY29u ZmlndXJlOjk3Nzg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQu NTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQ QUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBNQUlM X1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RB UldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhf UFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGlu dXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5E IDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwg I2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9F WEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9H RVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9M SU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf VElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9T WVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFE RFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZ UEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZ U19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENf SEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAj ZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMg ZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1RE Q19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5o Pgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNf U09DS0VUX0gKfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX05F VF9JRl9ICnwgI2luY2x1ZGUgPG5ldC9pZi5oPgp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkK fCB7Cnwgc3RhdGljIHN0cnVjdCBpZnJlcSBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLmlmcl9od2Fk ZHIpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo5Nzc4OiBn Y2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5Nzc4 OiAkPyA9IDAKY29uZmlndXJlOjk3Nzg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5Nzk0OiBjaGVj a2luZyBmb3Igc3RydWN0IGlmcmVxLmlmcl9uZXRtYXNrCmNvbmZpZ3VyZTo5Nzk0OiBnY2MgLXN0 ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0 aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMDc6NTogZXJyb3I6IHVzZWQgc3RydWN0IHR5cGUgdmFs dWUgd2hlcmUgc2NhbGFyIGlzIHJlcXVpcmVkCiBpZiAoYWNfYWdnci5pZnJfbmV0bWFzaykKICAg ICBeCmNvbmZpZ3VyZTo5Nzk0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVm aW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNk ZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZp bmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVm aW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUg X1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAj ZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAi Z251L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFW RV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09V UkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdE X0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0VYVF9IIDEKfCAjZGVmaW5l IEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUEVSU09O QUxJVFlfTElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJ VEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhB VkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAvKiBlbmQgY29uZmRlZnMu aC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAj IGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gK fCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8 ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMg aWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJT ICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5k aWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1Nf SAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVT X0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5U X0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9I CnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNfU09DS0VUX0gK fCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX05FVF9JRl9ICnwg I2luY2x1ZGUgPG5ldC9pZi5oPgp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3Rh dGljIHN0cnVjdCBpZnJlcSBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLmlmcl9uZXRtYXNrKQp8IHJl dHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6OTc5NDogZ2NjIC1zdGQ9 Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTc5NDogJD8gPSAw CmNvbmZpZ3VyZTo5Nzk0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTgxMDogY2hlY2tpbmcgZm9y IHN0cnVjdCBpZnJlcS5pZnJfYnJvYWRhZGRyCmNvbmZpZ3VyZTo5ODEwOiBnY2MgLXN0ZD1nbnU5 OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdt YWluJzoKY29uZnRlc3QuYzoxMDg6NTogZXJyb3I6IHVzZWQgc3RydWN0IHR5cGUgdmFsdWUgd2hl cmUgc2NhbGFyIGlzIHJlcXVpcmVkCiBpZiAoYWNfYWdnci5pZnJfYnJvYWRhZGRyKQogICAgIF4K Y29uZmlndXJlOjk4MTA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0 LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmlu ZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBN QUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9T SVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZp bmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUv bGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NP VU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAx CnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFW RV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9X Q0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJTT05BTElU WV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9T WVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFW RV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9J RkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX05FVE1BU0sgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8 c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0 YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIu aD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9I CnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01F TU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3Ry aW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJp bmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50 dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3Rk aW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0 ZC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NZU19TT0NLRVRfSAp8ICNpbmNsdWRlIDxzeXMvc29j a2V0Lmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfTkVUX0lGX0gKfCAjaW5jbHVkZSA8bmV0L2lmLmg+ CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IGlmcmVxIGFj X2FnZ3I7CnwgaWYgKGFjX2FnZ3IuaWZyX2Jyb2FkYWRkcikKfCByZXR1cm4gMDsKfCAgIDsKfCAg IHJldHVybiAwOwp8IH0KY29uZmlndXJlOjk4MTA6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIg ICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjk4MTA6ICQ/ID0gMApjb25maWd1cmU6OTgxMDog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjk4MjY6IGNoZWNraW5nIGZvciBzdHJ1Y3QgaWZyZXEuaWZy X2FkZHIKY29uZmlndXJlOjk4MjY6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRl c3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEwOTo1 OiBlcnJvcjogdXNlZCBzdHJ1Y3QgdHlwZSB2YWx1ZSB3aGVyZSBzY2FsYXIgaXMgcmVxdWlyZWQK IGlmIChhY19hZ2dyLmlmcl9hZGRyKQogICAgIF4KY29uZmlndXJlOjk4MjY6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVn LWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251 Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5l IFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNk ZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmlu ZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNk ZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RF IDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19T T1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNO QU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5l IEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NF TEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVf VEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhB VkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9I V0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBp bmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwg IyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAj IGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlm ZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAm JiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlm CnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gK fCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19I CnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9I CnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8 ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9ICnwg I2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9ORVRfSUZfSAp8ICNp bmNsdWRlIDxuZXQvaWYuaD4KfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRp YyBzdHJ1Y3QgaWZyZXEgYWNfYWdncjsKfCBpZiAoYWNfYWdnci5pZnJfYWRkcikKfCByZXR1cm4g MDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjk4MjY6IGdjYyAtc3RkPWdudTk5 IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjk4MjY6ICQ/ID0gMApjb25m aWd1cmU6OTgyNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk4NDI6IGNoZWNraW5nIGZvciBzdHJ1 Y3QgaWZyZXEuaWZyX2FkZHIuc2FfbGVuCmNvbmZpZ3VyZTo5ODQyOiBnY2MgLXN0ZD1nbnU5OSAt YyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWlu JzoKY29uZnRlc3QuYzoxMTA6MjE6IGVycm9yOiAnc3RydWN0IHNvY2thZGRyJyBoYXMgbm8gbWVt YmVyIG5hbWVkICdzYV9sZW4nCiBpZiAoYWNfYWdnci5pZnJfYWRkci5zYV9sZW4pCiAgICAgICAg ICAgICAgICAgICAgIF4KY29uZmlndXJlOjk4NDI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdO VSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNz IDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUu b3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9l bWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQu NTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VS Q0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAx CnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9T T1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZ U1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwg I2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0gg MQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVm aW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1Qg MQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8 ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQURE UiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRl ZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8 c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxz dGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlm ICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNs dWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwg I2lmIEhBVkVfU1lTX1NPQ0tFVF9ICnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCAjZW5kaWYK fCAjaWYgSEFWRV9ORVRfSUZfSAp8ICNpbmNsdWRlIDxuZXQvaWYuaD4KfCAjZW5kaWYKfCAKfCBp bnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3QgaWZyZXEgYWNfYWdncjsKfCBpZiAoYWNf YWdnci5pZnJfYWRkci5zYV9sZW4pCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9 CmNvbmZpZ3VyZTo5ODQyOiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMg PiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMTA6Mjg6IGVy cm9yOiAnc3RydWN0IHNvY2thZGRyJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdzYV9sZW4nCiBpZiAo c2l6ZW9mIGFjX2FnZ3IuaWZyX2FkZHIuc2FfbGVuKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgpjb25maWd1cmU6OTg0MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIK fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAj ZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVm aW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2Rl ZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5l IF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwg I2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUg ImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhB VkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19FWFRfSCAxCnwgI2RlZmlu ZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BFUlNP TkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9X SVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBI QVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lT X1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNU RENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4K fCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8 ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQg U1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9y eS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9T WVNfU09DS0VUX0gKfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZF X05FVF9JRl9ICnwgI2luY2x1ZGUgPG5ldC9pZi5oPgp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4g KCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBpZnJlcSBhY19hZ2dyOwp8IGlmIChzaXplb2YgYWNfYWdn ci5pZnJfYWRkci5zYV9sZW4pCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNv bmZpZ3VyZTo5ODQyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5ODY2OiBjaGVja2luZyB3aGV0aGVy IGdjYyB1bmRlcnN0YW5kcyAtTU1EIC1NRgpjb25maWd1cmU6OTg4MTogZ2NjIC1zdGQ9Z251OTkg LWMgLWczIC1PMiAtTU1EIC1NRiBkZXBzLmQgLU1QICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZTo5ODgxOiAkPyA9IDAKY29uZmlndXJlOjk4OTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5OTA5 OiBjaGVja2luZyBmb3IgbG9uZyBmaWxlIG5hbWVzCmNvbmZpZ3VyZTo5OTQxOiByZXN1bHQ6IHll cwpjb25maWd1cmU6OTk1ODogY2hlY2tpbmcgZm9yIFgKY29uZmlndXJlOjEwMDY2OiBnY2MgLUUg ICAgY29uZnRlc3QuYwpjb25maWd1cmU6MTAwNjY6ICQ/ID0gMApjb25maWd1cmU6MTAwOTc6IGdj YyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxYMTEgID4m NSAKY29uZmlndXJlOjEwMDk3OiAkPyA9IDAKY29uZmlndXJlOjEwMTQ3OiByZXN1bHQ6IGxpYnJh cmllcyAsIGhlYWRlcnMgCmNvbmZpZ3VyZToxMDg2MTogY2hlY2tpbmcgd2hldGhlciBtYWxsb2Mg aXMgRG91ZyBMZWEgc3R5bGUKY29uZmlndXJlOjEwODgyOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jICA+JjUgCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9u ICdtYWluJzoKY29uZnRlc3QuYzo3NDo2OiB3YXJuaW5nOiAnX19tYWxsb2NfaW5pdGlhbGl6ZV9o b29rJyBpcyBkZXByZWNhdGVkIChkZWNsYXJlZCBhdCAvdXNyL2luY2x1ZGUvbWFsbG9jLmg6MTQ3 KSBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAgICAgX19tYWxsb2NfaW5pdGlhbGl6ZV9o b29rID0gaG9vazsKICAgICAgXgpjb25maWd1cmU6MTA4ODI6ICQ/ID0gMApjb25maWd1cmU6MTA4 ODg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDkxNDogY2hlY2tpbmcgc3lzL3ZsaW1pdC5oIHVz YWJpbGl0eQpjb25maWd1cmU6MTA5MTQ6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjEwOTE0OiAkPyA9IDAKY29uZmlndXJlOjEwOTE0OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTA5MTQ6IGNoZWNraW5nIHN5cy92bGltaXQuaCBwcmVzZW5jZQpj b25maWd1cmU6MTA5MTQ6IGdjYyAtRSAgICBjb25mdGVzdC5jCmNvbmZpZ3VyZToxMDkxNDogJD8g PSAwCmNvbmZpZ3VyZToxMDkxNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwOTE0OiBjaGVja2lu ZyBmb3Igc3lzL3ZsaW1pdC5oCmNvbmZpZ3VyZToxMDkxNDogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjEwOTI0OiBjaGVja2luZyBmb3IgZGF0YV9zdGFydApjb25maWd1cmU6MTA5NDA6IGdjYyAtc3Rk PWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgID4mNSAKY29uZmlndXJl OjEwOTQwOiAkPyA9IDAKY29uZmlndXJlOjEwOTQ4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTA5 OTU6IGNoZWNraW5nIGZvciBnZXRwYWdlc2l6ZQpjb25maWd1cmU6MTA5OTU6IGdjYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgIGNvbmZ0ZXN0LmMgID4mNSAKY29uZmlndXJlOjEw OTk1OiAkPyA9IDAKY29uZmlndXJlOjEwOTk1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTEwMDQ6 IGNoZWNraW5nIGZvciB3b3JraW5nIG1tYXAKY29uZmlndXJlOjExMTUxOiBnY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICBjb25mdGVzdC5jICA+JjUgCmNvbmZpZ3VyZToxMTE1 MTogJD8gPSAwCmNvbmZpZ3VyZToxMTE1MTogLi9jb25mdGVzdApjb25maWd1cmU6MTExNTE6ICQ/ ID0gMApjb25maWd1cmU6MTExNjE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTE3OTogY2hlY2tp bmcgZm9yIG1haW4gaW4gLWxYYnNkCmNvbmZpZ3VyZToxMTE5ODogZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgLWczIC1PMiAgICAgY29uZnRlc3QuYyAtbFhic2QgICAgPiY1IAovdXNyL2Jpbi9s ZDogY2Fubm90IGZpbmQgLWxYYnNkCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0 IHN0YXR1cwpjb25maWd1cmU6MTExOTg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQu NTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8i CnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwg I2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2Rl ZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9U WVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL RVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q RVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJ TUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZp bmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdT IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwg I2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRf SCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9D IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4g bWFpbiAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjExMjA3OiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToxMTIyNjogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBwdGhy ZWFkX2tpbGwKY29uZmlndXJlOjExMjU3OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMg LU8yICAgICBjb25mdGVzdC5jICAgPiY1IAovdG1wL2NjdkNjVUdqLm86IEluIGZ1bmN0aW9uIGBt YWluJzoKL2hvbWUvdHVoZG8vRG93bmxvYWRzL2VtYWNzLXRydW5rL2NvbmZ0ZXN0LmM6ODM6IHVu ZGVmaW5lZCByZWZlcmVuY2UgdG8gYHB0aHJlYWRfa2lsbCcKY29sbGVjdDI6IGVycm9yOiBsZCBy ZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMTI1NzogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJH TlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVt YWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3Nv ZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lP TiAiMjQuNC41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBf QUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVf U09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBf VEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNk ZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FS RF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAx CnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9E SVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ T19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFWRV9URVJNX0gg MQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNf U0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRf SUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAxCnwgI2RlZmluZSBE T1VHX0xFQV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX01NQVAgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkg R0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBi ZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWls dGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAq Lwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHB0aHJl YWRfa2lsbCAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBwdGhyZWFkX2tpbGwgKCk7 CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMTI1NzogZ2NjIC1zdGQ9Z251OTkg LW8gY29uZnRlc3QgLWczIC1PMiAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgICAgPiY1IApjb25m aWd1cmU6MTEyNTc6ICQ/ID0gMApjb25maWd1cmU6MTEyNzU6IHJlc3VsdDogLWxwdGhyZWFkCmNv bmZpZ3VyZToxMTM1NjogY2hlY2tpbmcgd2hldGhlciBYIG9uIEdOVS9MaW51eCBuZWVkcyAtYiB0 byBsaW5rCmNvbmZpZ3VyZToxMTM2OTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAt TzIgICAgICAgY29uZnRlc3QuYyAtbFgxMSAgID4mNSAKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24g J21haW4nOgpjb25mdGVzdC5jOjc3OjE6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9m IGZ1bmN0aW9uICdYT3BlbkRpc3BsYXknIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9u XQogWE9wZW5EaXNwbGF5ICgiZm9vIik7CiBeCmNvbmZpZ3VyZToxMTM2OTogJD8gPSAwCmNvbmZp Z3VyZToxMTQxMzogcmVzdWx0OiBubwpjb25maWd1cmU6MTE0MjA6IGNoZWNraW5nIGZvciBYa2IK Y29uZmlndXJlOjExNDM0OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAgICAg ICBjb25mdGVzdC5jIC1sWDExICAgPiY1IApjb25maWd1cmU6MTE0MzQ6ICQ/ID0gMApjb25maWd1 cmU6MTE0NDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTQ1MzogY2hlY2tpbmcgZm9yIFhybVNl dERhdGFiYXNlCmNvbmZpZ3VyZToxMTQ1MzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1n MyAtTzIgICAgICAgY29uZnRlc3QuYyAtbFgxMSAgID4mNSAKY29uZmlndXJlOjExNDUzOiAkPyA9 IDAKY29uZmlndXJlOjExNDUzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTE0NTM6IGNoZWNraW5n IGZvciBYU2NyZWVuUmVzb3VyY2VTdHJpbmcKY29uZmlndXJlOjExNDUzOiBnY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAgLWczIC1PMiAgICAgICBjb25mdGVzdC5jIC1sWDExICAgPiY1IApjb25m aWd1cmU6MTE0NTM6ICQ/ID0gMApjb25maWd1cmU6MTE0NTM6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxMTQ1MzogY2hlY2tpbmcgZm9yIFhTY3JlZW5OdW1iZXJPZlNjcmVlbgpjb25maWd1cmU6MTE0 NTM6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yICAgICAgIGNvbmZ0ZXN0LmMg LWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxMTQ1MzogJD8gPSAwCmNvbmZpZ3VyZToxMTQ1MzogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjExNDY1OiBjaGVja2luZyBYMTEgdmVyc2lvbiA2CmNvbmZpZ3Vy ZToxMTQ4NDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgICAgICAgY29uZnRl c3QuYyAtbFgxMSAgID4mNSAKY29uZmlndXJlOjExNDg0OiAkPyA9IDAKY29uZmlndXJlOjExNDk0 OiByZXN1bHQ6IDYgb3IgbmV3ZXIKY29uZmlndXJlOjExNTMzOiBjaGVja2luZyBmb3IgbGlicnN2 Zy0yLjAgPj0gMi4xMS4wCmNvbmZpZ3VyZToxMTU0NzogcmVzdWx0OiB5ZXMgQ0ZMQUdTPSctcHRo cmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAt SS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVk ZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJw bmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICcg TElCUz0nLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8gLWxn b2JqZWN0LTIuMCAtbGdsaWItMi4wICAnCmNvbmZpZ3VyZToxMTYwODogY2hlY2tpbmcgZm9yIFdh bmQgPj0gNi4yLjggV2FuZCAhPSA2LjguMgpjb25maWd1cmU6MTE2MjI6IHJlc3VsdDogeWVzIENG TEFHUz0nLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICcgTElCUz0nLWxNYWdp Y2tXYW5kIC1sTWFnaWNrQ29yZSAgJwpjb25maWd1cmU6MTE2NjU6IGNoZWNraW5nIGZvciBNYWdp Y2tFeHBvcnRJbWFnZVBpeGVscwpjb25maWd1cmU6MTE2NjU6IGdjYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vz ci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9p bmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJv IC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9p bmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAg ICAgICAgY29uZnRlc3QuYyAtbE1hZ2lja1dhbmQgLWxNYWdpY2tDb3JlICAgLWxYMTEgICA+JjUg CmNvbmZpZ3VyZToxMTY2NTogJD8gPSAwCmNvbmZpZ3VyZToxMTY2NTogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjExNjY1OiBjaGVja2luZyBmb3IgTWFnaWNrTWVyZ2VJbWFnZUxheWVycwpjb25maWd1 cmU6MTE2NjU6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1J L3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9s aWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1w aXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1J L3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1mb3Blbm1w IC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgICAgICAgY29uZnRlc3QuYyAtbE1hZ2lja1dh bmQgLWxNYWdpY2tDb3JlICAgLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxMTY2NTogJD8gPSAwCmNv bmZpZ3VyZToxMTY2NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExNzAwOiBjaGVja2luZyBmb3Ig Z3RrKy0zLjAgPj0gMy4wIGdsaWItMi4wID49IDIuMjgKY29uZmlndXJlOjExNzE0OiByZXN1bHQ6 IHllcyBDRkxBR1M9Jy1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1 ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUv cGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fp cm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAg LUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1 ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1h bi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAnIExJQlM9Jy1sZ3RrLTMgLWxnZGstMyAtbGF0 ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJv LWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICcK Y29uZmlndXJlOjExODQwOiBjaGVja2luZyB3aGV0aGVyIEdUSyBjb21waWxlcwpjb25maWd1cmU6 MTE4Njg6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vz ci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIv eDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhi dWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vz ci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1wdGhyZWFkIC1J L3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVk ZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRl L2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBp eGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgt Z251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1 ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBu ZzEyICAgICAgICAgY29uZnRlc3QuYyAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIu MCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1scGFu Z28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgICA+JjUgCmNv bmZpZ3VyZToxMTg2ODogJD8gPSAwCmNvbmZpZ3VyZToxMTg3MzogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjExODk1OiBXQVJOSU5HOiBZb3VyIHZlcnNpb24gb2YgR3RrKyB3aWxsIGhhdmUgcHJvYmxl bXMgd2l0aAogICAgICAgY2xvc2luZyBvcGVuIGRpc3BsYXlzLiAgVGhpcyBpcyBubyBwcm9ibGVt IGlmIHlvdSBqdXN0IHVzZQogICAgICAgb25lIGRpc3BsYXksIGJ1dCBpZiB5b3UgdXNlIG1vcmUg dGhhbiBvbmUgYW5kIGNsb3NlIG9uZSBvZiB0aGVtCiAgICAgICBFbWFjcyBtYXkgY3Jhc2guCmNv bmZpZ3VyZToxMTkxNTogY2hlY2tpbmcgd2hldGhlciBHVEtfVFlQRV9GSUxFX1NFTEVDVElPTiBp cyBkZWNsYXJlZApjb25maWd1cmU6MTE5MTU6IGdjYyAtc3RkPWdudTk5IC1jICAtZzMgLU8yIC1w dGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4w IC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNs dWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xp YnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAg IC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAt SS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1J L3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2lu Y2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94 ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enog LUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9p bmNsdWRlL2xpYnBuZzEyICAgICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0 aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMzA6MTA6IGVycm9yOiAnR1RLX1RZUEVfRklMRV9TRUxF Q1RJT04nIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAodm9pZCkg R1RLX1RZUEVfRklMRV9TRUxFQ1RJT047CiAgICAgICAgICBeCmNvbmZ0ZXN0LmM6MTMwOjEwOiBu b3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9y IGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgpjb25maWd1cmU6MTE5MTU6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVn LWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251 Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5l IFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNk ZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmlu ZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNk ZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RF IDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19T T1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNO QU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5l IEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NF TEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVf VEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhB VkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9I V0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNk ZWZpbmUgRE9VR19MRUFfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZF X1hLQiAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFND UkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVO IDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZp bmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVf SU1BR0VNQUdJQ0sgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwg I2RlZmluZSBIQVZFX01BR0lDS01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEsz IDEKfCAjZGVmaW5lIEdES19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5l IEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhB VkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lm ZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRk ZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxp Yi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRl ZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUg PG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5j bHVkZSA8Z3RrL2d0ay5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgI2lmbmRlZiBHVEtfVFlQ RV9GSUxFX1NFTEVDVElPTgp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8ICAgKHZvaWQpIEdUS19UWVBF X0ZJTEVfU0VMRUNUSU9OOwp8ICNlbHNlCnwgICAodm9pZCkgR1RLX1RZUEVfRklMRV9TRUxFQ1RJ T047CnwgI2VuZGlmCnwgI2VuZGlmCnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3Vy ZToxMTkxNTogcmVzdWx0OiBubwpjb25maWd1cmU6MTE5Mzk6IGNoZWNraW5nIHdoZXRoZXIgR1RL X1RZUEVfSEFORExFX0JPWCBpcyBkZWNsYXJlZApjb25maWd1cmU6MTE5Mzk6IGdjYyAtc3RkPWdu dTk5IC1jICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vz ci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9p bmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJv IC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9p bmNsdWRlL2ZyZWV0eXBlMiAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNy L2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2lu Y2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1 ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xp Yi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNy L2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRl L3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgICAgIGNvbmZ0ZXN0LmMgPiY1CmNv bmZpZ3VyZToxMTkzOTogJD8gPSAwCmNvbmZpZ3VyZToxMTkzOTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjExOTUxOiBjaGVja2luZyBmb3IgZ3RrX2hhbmRsZV9ib3hfbmV3CmNvbmZpZ3VyZToxMTk1 MTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2lu Y2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZf NjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0y LjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2lu Y2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLXB0aHJlYWQgLUkvdXNy L2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0 LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lv LXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVm LTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUv Z2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9m cmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIg ICAgICAgICBjb25mdGVzdC5jIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1s cGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0x LjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAgID4mNSAKY29uZmln dXJlOjExOTUxOiAkPyA9IDAKY29uZmlndXJlOjExOTUxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTE5NjM6IGNoZWNraW5nIHdoZXRoZXIgR1RLX1RZUEVfVEVBUk9GRl9NRU5VX0lURU0gaXMgZGVj bGFyZWQKY29uZmlndXJlOjExOTYzOiBnY2MgLXN0ZD1nbnU5OSAtYyAgLWczIC1PMiAtcHRocmVh ZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91 c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9n ZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcx MiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtcHRo cmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNy L2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3Iv aW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRl L2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0 LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vz ci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVk ZS9saWJwbmcxMiAgICAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTE5NjM6ICQ/ID0gMApj b25maWd1cmU6MTE5NjM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTk3NTogY2hlY2tpbmcgZm9y IGd0a190ZWFyb2ZmX21lbnVfaXRlbV9uZXcKY29uZmlndXJlOjExOTc1OiBnY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIu MCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xp Yi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVk ZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAt SS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMy4w IC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsvMi4wIC1J L3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAvIC1JL3Vz ci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNs dWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRl IC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3Iv aW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgICAgICAgIGNvbmZ0ZXN0 LmMgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJvLTEuMCAt bGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJvIC1sZ29i amVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDExICAgPiY1IApjb25maWd1cmU6MTE5NzU6ICQ/ID0g MApjb25maWd1cmU6MTE5NzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTk5MzogY2hlY2tpbmcg Zm9yIGd0a193aWRnZXRfZ2V0X3dpbmRvdwpjb25maWd1cmU6MTE5OTM6IGdjYyAtc3RkPWdudTk5 IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4w IC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGli LTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRl L2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1J L3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAg LUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkv dXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNy L2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1 ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUg LUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9p bmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgICAgICAgY29uZnRlc3Qu YyAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1s Z2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2Jq ZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxMTk5MzogJD8gPSAw CmNvbmZpZ3VyZToxMTk5MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExOTkzOiBjaGVja2luZyBm b3IgZ3RrX3dpZGdldF9zZXRfaGFzX3dpbmRvdwpjb25maWd1cmU6MTE5OTM6IGdjYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmct Mi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9n bGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNs dWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0x IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0z LjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAg LUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkv dXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2lu Y2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1 ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vz ci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgICAgICAgY29uZnRl c3QuYyAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4w IC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxn b2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxMTk5MzogJD8g PSAwCmNvbmZpZ3VyZToxMTk5MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExOTkzOiBjaGVja2lu ZyBmb3IgZ3RrX2RpYWxvZ19nZXRfYWN0aW9uX2FyZWEKY29uZmlndXJlOjExOTkzOiBnY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJy c3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1n bnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3Iv aW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXht YW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9n dGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvYXQtc3BpMi1hdGsv Mi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9naW8tdW5peC0yLjAv IC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vz ci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9p bmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAt SS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgICAgICAgIGNv bmZ0ZXN0LmMgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2NhaXJv LTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBhbmdvLTEuMCAtbGNhaXJv IC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDExICAgPiY1IApjb25maWd1cmU6MTE5OTM6 ICQ/ID0gMApjb25maWd1cmU6MTE5OTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTk5MzogY2hl Y2tpbmcgZm9yIGd0a193aWRnZXRfZ2V0X3NlbnNpdGl2ZQpjb25maWd1cmU6MTE5OTM6IGdjYyAt c3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xp YnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4 LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vz ci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3Bp eG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRl L2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0 ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIu MC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkv dXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4w L2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUy IC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgICAgICAg Y29uZnRlc3QuYyAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvY2Fp cm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2JqZWN0IC1scGFuZ28tMS4wIC1sY2Fp cm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxMTk5 MzogJD8gPSAwCmNvbmZpZ3VyZToxMTk5MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExOTkzOiBj aGVja2luZyBmb3IgZ3RrX3dpZGdldF9nZXRfbWFwcGVkCmNvbmZpZ3VyZToxMTk5MzogZ2NjIC1z dGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGli cnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgt Z251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNy L2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4 bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUv Z3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRr LzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4w LyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91 c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAv aW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIg LUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAgICAgICBj b25mdGVzdC5jIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWly by0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWly byAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAgID4mNSAKY29uZmlndXJlOjExOTkz OiAkPyA9IDAKY29uZmlndXJlOjExOTkzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTE5OTM6IGNo ZWNraW5nIGZvciBndGtfYWRqdXN0bWVudF9nZXRfcGFnZV9zaXplCmNvbmZpZ3VyZToxMTk5Mzog Z2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1 ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQt bGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAg LUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1 ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLXB0aHJlYWQgLUkvdXNyL2lu Y2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNw aTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVu aXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIu MCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xp Yi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVl dHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAg ICAgICBjb25mdGVzdC5jIC1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFu Z29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAg LWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAtbFgxMSAgID4mNSAKY29uZmlndXJl OjExOTkzOiAkPyA9IDAKY29uZmlndXJlOjExOTkzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTE5 OTM6IGNoZWNraW5nIGZvciBndGtfb3JpZW50YWJsZV9zZXRfb3JpZW50YXRpb24KY29uZmlndXJl OjExOTkzOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91 c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGli L3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4 YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91 c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtcHRocmVhZCAt SS91c3IvaW5jbHVkZS9ndGstMy4wIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1 ZGUvYXQtc3BpMi1hdGsvMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVk ZS9naW8tdW5peC0yLjAvIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2dkay1w aXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4 LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2hhcmZidXp6IC1JL3Vzci9pbmNs dWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9saWJw bmcxMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxndGstMyAtbGdkay0zIC1sYXRrLTEuMCAtbGdpby0y LjAgLWxwYW5nb2NhaXJvLTEuMCAtbGdka19waXhidWYtMi4wIC1sY2Fpcm8tZ29iamVjdCAtbHBh bmdvLTEuMCAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sWDExICAgPiY1IApj b25maWd1cmU6MTE5OTM6ICQ/ID0gMApjb25maWd1cmU6MTE5OTM6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxMTk5MzogY2hlY2tpbmcgZm9yIGd0a193aW5kb3dfc2V0X2hhc19yZXNpemVfZ3JpcApj b25maWd1cmU6MTE5OTM6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhy ZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1J L3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRl L2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBu ZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIC1w dGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91 c3IvaW5jbHVkZS9hdC1zcGkyLWF0ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vz ci9pbmNsdWRlL2dpby11bml4LTIuMC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1 ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZf NjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkv dXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNs dWRlL2xpYnBuZzEyICAgICAgICAgY29uZnRlc3QuYyAtbGd0ay0zIC1sZ2RrLTMgLWxhdGstMS4w IC1sZ2lvLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxjYWlyby1nb2Jq ZWN0IC1scGFuZ28tMS4wIC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAgLWxYMTEg ICA+JjUgCmNvbmZpZ3VyZToxMTk5MzogJD8gPSAwCmNvbmZpZ3VyZToxMTk5MzogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjEyMDIwOiBjaGVja2luZyBmb3IgZGJ1cy0xID49IDEuMApjb25maWd1cmU6 MTIwMzg6IHJlc3VsdDogbm8KY29uZmlndXJlOjEyMTAyOiBjaGVja2luZyBmb3IgZ2lvLTIuMCA+ PSAyLjI2CmNvbmZpZ3VyZToxMjExNjogcmVzdWx0OiB5ZXMgQ0ZMQUdTPSctcHRocmVhZCAtSS91 c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAv aW5jbHVkZSAgJyBMSUJTPSctbGdpby0yLjAgLWxnb2JqZWN0LTIuMCAtbGdsaWItMi4wICAnCmNv bmZpZ3VyZToxMjE1MDogY2hlY2tpbmcgd2hldGhlciBHU2V0dGluZ3MgaXMgaW4gZ2lvCmNvbmZp Z3VyZToxMjE2OTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQg LUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNy L2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2Rr LXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIg LUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLXB0aHJl YWQgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2ds aWItMi4wL2luY2x1ZGUgICAgICAgICBjb25mdGVzdC5jIC1sWDExICAgLWxnaW8tMi4wIC1sZ29i amVjdC0yLjAgLWxnbGliLTIuMCAgID4mNSAKY29uZmlndXJlOjEyMTY5OiAkPyA9IDAKY29uZmln dXJlOjEyMTc2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTIyMDE6IGNoZWNraW5nIGZvciBnY29u Zi0yLjAgPj0gMi4xMwpjb25maWd1cmU6MTIyMTk6IHJlc3VsdDogbm8KY29uZmlndXJlOjEyMjYy OiBjaGVja2luZyBmb3IgZ29iamVjdC0yLjAgPj0gMi4wCmNvbmZpZ3VyZToxMjI3NjogcmVzdWx0 OiB5ZXMgQ0ZMQUdTPSctSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1s aW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAgJyBMSUJTPSctbGdvYmplY3QtMi4wIC1sZ2xpYi0y LjAgICcKY29uZmlndXJlOjEyMzIzOiBjaGVja2luZyBmb3IgbGdldGZpbGVjb24gaW4gLWxzZWxp bnV4CmNvbmZpZ3VyZToxMjM0ODogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIg LXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0y LjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2lu Y2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUv bGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUy ICAgICAgICAgY29uZnRlc3QuYyAtbHNlbGludXggIC1sWDExICAgPiY1IAovdXNyL2Jpbi9sZDog Y2Fubm90IGZpbmQgLWxzZWxpbnV4CmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0 IHN0YXR1cwpjb25maWd1cmU6MTIzNDg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQu NTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8i CnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwg I2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2Rl ZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9U WVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL RVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q RVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJ TUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZp bmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdT IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwg I2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRf SCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9D IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBIQVZF X1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEK fCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDEx UjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8 ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZp bmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS01F UkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdES19ESVNB QkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNB VElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hB TkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVNX05FVyAx CnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dU S19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dFVF9B Q1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAxCnwg I2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZFX0dUS19B REpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9T RVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpF X0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg Ki8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh biBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJu IHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5 cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAi QyIKfCAjZW5kaWYKfCBjaGFyIGxnZXRmaWxlY29uICgpOwp8IGludAp8IG1haW4gKCkKfCB7Cnwg cmV0dXJuIGxnZXRmaWxlY29uICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6 MTIzNTc6IHJlc3VsdDogbm8KY29uZmlndXJlOjEyMzg1OiBjaGVja2luZyBmb3IgZ251dGxzID49 IDMuMC4wCmNvbmZpZ3VyZToxMjQwMzogcmVzdWx0OiBubwpjb25maWd1cmU6MTI0NDI6IGNoZWNr aW5nIGZvciBnbnV0bHMgPj0gMi42LjYKY29uZmlndXJlOjEyNDU2OiByZXN1bHQ6IHllcyBDRkxB R1M9Jy1JL3Vzci9pbmNsdWRlL3AxMS1raXQtMSAgJyBMSUJTPSctbGdudXRscyAgJwpjb25maWd1 cmU6MTI1MzU6IGNoZWNraW5nIGZvciBnaW8tMi4wID49IDIuMjQKY29uZmlndXJlOjEyNTQ5OiBy ZXN1bHQ6IHllcyBDRkxBR1M9Jy1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vz ci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlICAnIExJQlM9Jy1sZ2lvLTIu MCAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICcKY29uZmlndXJlOjEzMDY1OiBnY2MgLXN0ZD1n bnU5OSAtYyAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91 c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAv aW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWly byAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3Iv aW5jbHVkZS9mcmVldHlwZTIgICAgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEzMDY1OiAk PyA9IDAKY29uZmlndXJlOjEzMTE0OiBnY2MgLXN0ZD1nbnU5OSAtYyAgLWczIC1PMiAtcHRocmVh ZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91 c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9n ZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcx MiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtLXBl ZGFudGljLWVycm9ycyAgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24g J21haW4nOgpjb25mdGVzdC5jOjEyNDo0OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCA1IG9mICdY UmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2snIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIg dHlwZQogICAgY2xpZW50X2RhdGEpOwogICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gY29uZnRl c3QuYzoxMDY6MDoKL3Vzci9pbmNsdWRlL1gxMS9YbGliLmg6Mzk0MzoxMzogbm90ZTogZXhwZWN0 ZWQgJ1hJRFByb2MnIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlICdYSU1Qcm9jJwogZXh0ZXJuIEJv b2wgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrKAogICAgICAgICAgICAgXgpjb25mdGVz dC5jOjEyNDo0OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCA2IG9mICdYUmVnaXN0ZXJJTUluc3Rh bnRpYXRlQ2FsbGJhY2snIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZQogICAgY2xpZW50 X2RhdGEpOwogICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gY29uZnRlc3QuYzoxMDY6MDoKL3Vz ci9pbmNsdWRlL1gxMS9YbGliLmg6Mzk0MzoxMzogbm90ZTogZXhwZWN0ZWQgJ1hQb2ludGVyJyBi dXQgYXJndW1lbnQgaXMgb2YgdHlwZSAnY2hhciAqKicKIGV4dGVybiBCb29sIFhSZWdpc3RlcklN SW5zdGFudGlhdGVDYWxsYmFjaygKICAgICAgICAgICAgIF4KY29uZmlndXJlOjEzMTE0OiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8v d3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwg I2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJ VF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251L2xpbnV4Igp8ICNkZWZpbmUgSEFW RV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZF X1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1Q X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwg I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElPX0VYVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUEVSU09OQUxJVFlfTElOVVgzMiAxCnwgI2RlZmlu ZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1NZU19TSUdMSVNUIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2Rl ZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfSFdBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9EQVRBX1NUQVJU IDEKfCAjZGVmaW5lIERPVUdfTEVBX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZp bmUgSEFWRV9YS0IgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBI QVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJP RlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEK fCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmlu ZSBIQVZFX0lNQUdFTUFHSUNLIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLRVhQT1JUSU1BR0VQSVhF TFMgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tNRVJHRUlNQUdFTEFZRVJTIDEKfCAjZGVmaW5lIEhB VkVfR1RLMyAxCnwgI2RlZmluZSBHREtfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwg I2RlZmluZSBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgVVNF X0dUSyAxCnwgI2RlZmluZSBIQVZFX0dUS19IQU5ETEVfQk9YX05FVyAxCnwgI2RlZmluZSBIQVZF X0dUS19URUFST0ZGX01FTlVfSVRFTV9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dF VF9XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX1NFVF9IQVNfV0lORE9XIDEKfCAj ZGVmaW5lIEhBVkVfR1RLX0RJQUxPR19HRVRfQUNUSU9OX0FSRUEgMQp8ICNkZWZpbmUgSEFWRV9H VEtfV0lER0VUX0dFVF9TRU5TSVRJVkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9N QVBQRUQgMQp8ICNkZWZpbmUgSEFWRV9HVEtfQURKVVNUTUVOVF9HRVRfUEFHRV9TSVpFIDEKfCAj ZGVmaW5lIEhBVkVfR1RLX09SSUVOVEFCTEVfU0VUX09SSUVOVEFUSU9OIDEKfCAjZGVmaW5lIEhB VkVfR1RLX1dJTkRPV19TRVRfSEFTX1JFU0laRV9HUklQIDEKfCAjZGVmaW5lIEhBVkVfR1NFVFRJ TkdTIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfR0ZJTEVOT1RJRlkg MQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9M TF9CQVJTIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaW5jbHVkZSA8WDExL1hsaWIuaD4KfCAjaW5jbHVkZSA8 WDExL1hyZXNvdXJjZS5oPgp8IGludAp8IG1haW4gKCkKfCB7CnwgRGlzcGxheSAqZGlzcGxheTsK fCBYcm1EYXRhYmFzZSBkYjsKfCBjaGFyICpyZXNfbmFtZTsKfCBjaGFyICpyZXNfY2xhc3M7Cnwg WElNUHJvYyAgY2FsbGJhY2s7CnwgWFBvaW50ZXIgKmNsaWVudF9kYXRhOwp8ICNpZm5kZWYgX19H TlVDX18KfCAvKiBJZiB3ZSdyZSBub3QgdXNpbmcgR0NDLCBpdCdzIHByb2JhYmx5IG5vdCBYRnJl ZTg2LCBhbmQgdGhpcyBpcwp8ICAgIHByb2JhYmx5IHJpZ2h0LCBidXQgd2UgY2FuJ3QgdXNlIHNv bWV0aGluZyBsaWtlIC0tcGVkYW50aWMtZXJyb3JzLiAgKi8KfCBleHRlcm4gQm9vbCBYUmVnaXN0 ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2soRGlzcGxheSosIFhybURhdGFiYXNlLCBjaGFyKiwKfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciosIFhJTVByb2Ms IFhQb2ludGVyKik7CnwgI2VuZGlmCnwgKHZvaWQpWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxi YWNrKGRpc3BsYXksIGRiLCByZXNfbmFtZSwgcmVzX2NsYXNzLCBjYWxsYmFjaywKfCAgICBjbGll bnRfZGF0YSk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMzE0MjogY2hlY2tp bmcgZm9yIGZvbnRjb25maWcgPj0gMi4yLjAKY29uZmlndXJlOjEzMTU2OiByZXN1bHQ6IHllcyBD RkxBR1M9Jy1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgJyBMSUJTPSctbGZvbnRjb25maWcgLWxm cmVldHlwZSAgJwpjb25maWd1cmU6MTMyMDE6IGNoZWNraW5nIGZvciB4ZnQgPj0gMC4xMy4wCmNv bmZpZ3VyZToxMzIxNTogcmVzdWx0OiB5ZXMgQ0ZMQUdTPSctSS91c3IvaW5jbHVkZS9mcmVldHlw ZTIgICcgTElCUz0nLWxYZnQgICcKY29uZmlndXJlOjEzMjQ3OiBjaGVja2luZyBmb3IgWFJlbmRl clF1ZXJ5RXh0ZW5zaW9uIGluIC1sWHJlbmRlcgpjb25maWd1cmU6MTMyNzI6IGdjYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmct Mi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9n bGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNs dWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0x IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxYcmVuZGVyICAt bFgxMSAgID4mNSAKY29uZmlndXJlOjEzMjcyOiAkPyA9IDAKY29uZmlndXJlOjEzMjgxOiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTMyOTU6IGNoZWNraW5nIGZvciBYMTEvWGZ0L1hmdC5oCmNvbmZp Z3VyZToxMzI5NTogZ2NjIC1zdGQ9Z251OTkgLWMgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2lu Y2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZf NjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0y LjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2lu Y2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgLUkvdXNyL2luY2x1ZGUv ZnJlZXR5cGUyICAgICAgIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZpZ3VyZToxMzI5NTogJD8gPSAwCmNvbmZpZ3VyZToxMzI5NTogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjEzMjk4OiBjaGVja2luZyBmb3IgWGZ0Rm9udE9wZW4gaW4gLWxYZnQKY29uZmlndXJl OjEzMzIzOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91 c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGli L3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4 YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91 c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAtSS91c3IvaW5j bHVkZS9mcmVldHlwZTIgICAgICAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICBjb25mdGVz dC5jIC1sWGZ0IC1sWHJlbmRlciAtbFhmdCAgIC1sWHJlbmRlciAtbFhmdCAgIC1sWDExICAgPiY1 IApjb25maWd1cmU6MTMzMjM6ICQ/ID0gMApjb25maWd1cmU6MTMzMzI6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToxMzM2OTogY2hlY2tpbmcgZm9yIGZyZWV0eXBlMgpjb25maWd1cmU6MTMzODM6IHJl c3VsdDogeWVzIENGTEFHUz0nLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAnIExJQlM9Jy1sZnJl ZXR5cGUgICcKY29uZmlndXJlOjEzNDMwOiBjaGVja2luZyBmb3IgbGlib3RmCmNvbmZpZ3VyZTox MzQ0ODogcmVzdWx0OiBubwpjb25maWd1cmU6MTM3MDU6IGNoZWNraW5nIFgxMS94cG0uaCB1c2Fi aWxpdHkKY29uZmlndXJlOjEzNzA1OiBnY2MgLXN0ZD1nbnU5OSAtYyAgLWczIC1PMiAtcHRocmVh ZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91 c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9n ZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcx MiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEzNzA1OiAkPyA9IDAKY29uZmlndXJlOjEzNzA1OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTM3MDU6IGNoZWNraW5nIFgxMS94cG0uaCBwcmVzZW5jZQpj b25maWd1cmU6MTM3MDU6IGdjYyAtRSAgICAgY29uZnRlc3QuYwpjb25maWd1cmU6MTM3MDU6ICQ/ ID0gMApjb25maWd1cmU6MTM3MDU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzcwNTogY2hlY2tp bmcgZm9yIFgxMS94cG0uaApjb25maWd1cmU6MTM3MDU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox MzcwNzogY2hlY2tpbmcgZm9yIFhwbVJlYWRGaWxlVG9QaXhtYXAgaW4gLWxYcG0KY29uZmlndXJl OjEzNzMyOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91 c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGli L3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4 YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91 c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25m dGVzdC5jIC1sWHBtIC1sWDExIC1sWDExICAgPiY1IApjb25maWd1cmU6MTM3MzI6ICQ/ID0gMApj b25maWd1cmU6MTM3NDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzc1MTogY2hlY2tpbmcgZm9y IFhwbVJldHVybkFsbG9jUGl4ZWxzIHByZXByb2Nlc3NvciBkZWZpbmUKY29uZmlndXJlOjEzNzcx OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM4NTM6IGNoZWNraW5nIGplcnJvci5oIHVzYWJpbGl0 eQpjb25maWd1cmU6MTM4NTM6IGdjYyAtc3RkPWdudTk5IC1jICAtZzMgLU8yIC1wdGhyZWFkIC1J L3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9s aWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1w aXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1J L3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICBjb25m dGVzdC5jID4mNQpjb25maWd1cmU6MTM4NTM6ICQ/ID0gMApjb25maWd1cmU6MTM4NTM6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToxMzg1MzogY2hlY2tpbmcgamVycm9yLmggcHJlc2VuY2UKY29uZmln dXJlOjEzODUzOiBnY2MgLUUgICAgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjEzODUzOiAkPyA9IDAK Y29uZmlndXJlOjEzODUzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM4NTM6IGNoZWNraW5nIGZv ciBqZXJyb3IuaApjb25maWd1cmU6MTM4NTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzg1NTog Y2hlY2tpbmcgZm9yIGpwZWdfZGVzdHJveV9jb21wcmVzcyBpbiAtbGpwZWcKY29uZmlndXJlOjEz ODgwOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3Iv aW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4 Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVm LTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3Iv aW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25mdGVz dC5jIC1sanBlZyAgLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxMzg4MDogJD8gPSAwCmNvbmZpZ3Vy ZToxMzg4OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzOTcwOiBjaGVja2luZyBwbmcuaCB1c2Fi aWxpdHkKY29uZmlndXJlOjEzOTcwOiBnY2MgLXN0ZD1nbnU5OSAtYyAgLWczIC1PMiAtcHRocmVh ZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91 c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9n ZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcx MiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEzOTcwOiAkPyA9IDAKY29uZmlndXJlOjEzOTcwOiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTM5NzA6IGNoZWNraW5nIHBuZy5oIHByZXNlbmNlCmNvbmZp Z3VyZToxMzk3MDogZ2NjIC1FICAgICBjb25mdGVzdC5jCmNvbmZpZ3VyZToxMzk3MDogJD8gPSAw CmNvbmZpZ3VyZToxMzk3MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzOTcwOiBjaGVja2luZyBm b3IgcG5nLmgKY29uZmlndXJlOjEzOTcwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM5ODE6IGNo ZWNraW5nIGZvciBwbmdfZ2V0X2NoYW5uZWxzIGluIC1scG5nCmNvbmZpZ3VyZToxNDAwNjogZ2Nj IC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUv bGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGlu dXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkv dXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUv cGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgICAgY29uZnRlc3QuYyAtbHBu ZyAtbHogLWxtIC1sWDExICAgPiY1IApjb25maWd1cmU6MTQwMDY6ICQ/ID0gMApjb25maWd1cmU6 MTQwMTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDAzMDogY2hlY2tpbmcgd2hldGhlciBwbmdf bG9uZ2ptcCBpcyBkZWNsYXJlZApjb25maWd1cmU6MTQwMzA6IGdjYyAtc3RkPWdudTk5IC1jICAt ZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRl L2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1J L3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9p bmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2Zy ZWV0eXBlMiAgICAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFp bic6CmNvbmZ0ZXN0LmM6MTI3OjEwOiBlcnJvcjogJ3BuZ19sb25nam1wJyB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgKHZvaWQpIHBuZ19sb25nam1wOwogICAgICAg ICAgXgpjb25mdGVzdC5jOjEyNzoxMDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIg aXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29u ZmlndXJlOjE0MDMwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40 LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUg UEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgTUFJ TF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lY X1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251L2xp bnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VO RCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf RVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0VYVF9IIDEKfCAjZGVmaW5lIEhBVkVf R0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUEVSU09OQUxJVFlf TElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lT X1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZB RERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFW RV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVmaW5lIERPVUdfTEVBX01BTExPQyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YS0IgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRB QkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBI QVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVm aW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhB VkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0lNQUdFTUFHSUNLIDEKfCAjZGVmaW5lIEhBVkVfTUFH SUNLRVhQT1JUSU1BR0VQSVhFTFMgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tNRVJHRUlNQUdFTEFZ RVJTIDEKfCAjZGVmaW5lIEhBVkVfR1RLMyAxCnwgI2RlZmluZSBHREtfRElTQUJMRV9ERVBSRUNB VElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklO R1MgMQp8ICNkZWZpbmUgVVNFX0dUSyAxCnwgI2RlZmluZSBIQVZFX0dUS19IQU5ETEVfQk9YX05F VyAxCnwgI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01FTlVfSVRFTV9ORVcgMQp8ICNkZWZpbmUg SEFWRV9HVEtfV0lER0VUX0dFVF9XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX1NF VF9IQVNfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0RJQUxPR19HRVRfQUNUSU9OX0FSRUEg MQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9TRU5TSVRJVkUgMQp8ICNkZWZpbmUgSEFW RV9HVEtfV0lER0VUX0dFVF9NQVBQRUQgMQp8ICNkZWZpbmUgSEFWRV9HVEtfQURKVVNUTUVOVF9H RVRfUEFHRV9TSVpFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX09SSUVOVEFCTEVfU0VUX09SSUVOVEFU SU9OIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19TRVRfSEFTX1JFU0laRV9HUklQIDEKfCAj ZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5l IEhBVkVfR0ZJTEVOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5l IFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5l IFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYg WFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWEZUIDEKfCAjZGVmaW5lIEhBVkVfRlJFRVRZUEUgMQp8 ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVf SlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgI2lmZGVmIEhBVkVfTElCUE5HX1BOR19ICnwgCSMgaW5jbHVk ZSA8bGlicG5nL3BuZy5oPgp8IAkjZWxzZQp8IAkjIGluY2x1ZGUgPHBuZy5oPgp8IAkjZW5kaWYK fCAKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8ICNpZm5kZWYgcG5nX2xvbmdqbXAKfCAjaWZkZWYg X19jcGx1c3BsdXMKfCAgICh2b2lkKSBwbmdfbG9uZ2ptcDsKfCAjZWxzZQp8ICAgKHZvaWQpIHBu Z19sb25nam1wOwp8ICNlbmRpZgp8ICNlbmRpZgp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj b25maWd1cmU6MTQwMzA6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0MDUzOiBjaGVja2luZyBmb3Ig bGlicmFyeSBjb250YWluaW5nIGluZmxhdGVFbmQKY29uZmlndXJlOjE0MDg0OiBnY2MgLXN0ZD1n bnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3Zn LTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUv Z2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5j bHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4t MSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1sWDExICAgPiY1 IAovdG1wL2NjdFRrN0FHLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL2hvbWUvdHVoZG8vRG93bmxv YWRzL2VtYWNzLXRydW5rL2NvbmZ0ZXN0LmM6MTI1OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBp bmZsYXRlRW5kJwpjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29u ZmlndXJlOjE0MDg0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40 LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUg UEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgTUFJ TF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lY X1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251L2xp bnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VO RCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf RVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0VYVF9IIDEKfCAjZGVmaW5lIEhBVkVf R0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUEVSU09OQUxJVFlf TElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lT X1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZB RERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFW RV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVmaW5lIERPVUdfTEVBX01BTExPQyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YS0IgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRB QkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBI QVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVm aW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhB VkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0lNQUdFTUFHSUNLIDEKfCAjZGVmaW5lIEhBVkVfTUFH SUNLRVhQT1JUSU1BR0VQSVhFTFMgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tNRVJHRUlNQUdFTEFZ RVJTIDEKfCAjZGVmaW5lIEhBVkVfR1RLMyAxCnwgI2RlZmluZSBHREtfRElTQUJMRV9ERVBSRUNB VElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklO R1MgMQp8ICNkZWZpbmUgVVNFX0dUSyAxCnwgI2RlZmluZSBIQVZFX0dUS19IQU5ETEVfQk9YX05F VyAxCnwgI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01FTlVfSVRFTV9ORVcgMQp8ICNkZWZpbmUg SEFWRV9HVEtfV0lER0VUX0dFVF9XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX1NF VF9IQVNfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0RJQUxPR19HRVRfQUNUSU9OX0FSRUEg MQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9TRU5TSVRJVkUgMQp8ICNkZWZpbmUgSEFW RV9HVEtfV0lER0VUX0dFVF9NQVBQRUQgMQp8ICNkZWZpbmUgSEFWRV9HVEtfQURKVVNUTUVOVF9H RVRfUEFHRV9TSVpFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX09SSUVOVEFCTEVfU0VUX09SSUVOVEFU SU9OIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19TRVRfSEFTX1JFU0laRV9HUklQIDEKfCAj ZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5l IEhBVkVfR0ZJTEVOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5l IFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5l IFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYg WFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWEZUIDEKfCAjZGVmaW5lIEhBVkVfRlJFRVRZUEUgMQp8 ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVf SlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVm aW5lIFBOR19ERVBTVFJVQ1QgLyoqLwp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBP dmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAg ICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBH Q0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3Rp bGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYK fCBjaGFyIGluZmxhdGVFbmQgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gaW5mbGF0 ZUVuZCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE0MDg0OiBnY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJy c3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1n bnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3Iv aW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXht YW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1seiAgLWxY MTEgICA+JjUgCmNvbmZpZ3VyZToxNDA4NDogJD8gPSAwCmNvbmZpZ3VyZToxNDEwMTogcmVzdWx0 OiAtbHoKY29uZmlndXJlOjE0MTQ4OiBjaGVja2luZyB0aWZmaW8uaCB1c2FiaWxpdHkKY29uZmln dXJlOjE0MTQ4OiBnY2MgLXN0ZD1nbnU5OSAtYyAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5j bHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82 NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIu MCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5j bHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjE0MTQ4OiAkPyA9IDAKY29uZmlndXJlOjE0MTQ4OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTQxNDg6IGNoZWNraW5nIHRpZmZpby5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDE0 ODogZ2NjIC1FICAgICBjb25mdGVzdC5jCmNvbmZpZ3VyZToxNDE0ODogJD8gPSAwCmNvbmZpZ3Vy ZToxNDE0ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MTQ4OiBjaGVja2luZyBmb3IgdGlmZmlv LmgKY29uZmlndXJlOjE0MTQ4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQxNTM6IGNoZWNraW5n IGZvciBUSUZGR2V0VmVyc2lvbiBpbiAtbHRpZmYKY29uZmlndXJlOjE0MTc4OiBnY2MgLXN0ZD1n bnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3Zn LTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUv Z2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5j bHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4t MSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1sdGlmZiAtbGpw ZWcgLWx6IC1sbSAtbFgxMSAgID4mNSAKY29uZmlndXJlOjE0MTc4OiAkPyA9IDAKY29uZmlndXJl OjE0MTg3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQyMjk6IGNoZWNraW5nIGdpZl9saWIuaCB1 c2FiaWxpdHkKY29uZmlndXJlOjE0MjI5OiBnY2MgLXN0ZD1nbnU5OSAtYyAgLWczIC1PMiAtcHRo cmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAt SS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVk ZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJw bmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAg ICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE0MjI5OiAkPyA9IDAKY29uZmlndXJlOjE0MjI5 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQyMjk6IGNoZWNraW5nIGdpZl9saWIuaCBwcmVzZW5j ZQpjb25maWd1cmU6MTQyMjk6IGdjYyAtRSAgICAgY29uZnRlc3QuYwpjb25maWd1cmU6MTQyMjk6 ICQ/ID0gMApjb25maWd1cmU6MTQyMjk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDIyOTogY2hl Y2tpbmcgZm9yIGdpZl9saWIuaApjb25maWd1cmU6MTQyMjk6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxNDIzMzogY2hlY2tpbmcgZm9yIEdpZk1ha2VNYXBPYmplY3QgaW4gLWxnaWYKY29uZmlndXJl OjE0MjU4OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91 c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGli L3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4 YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91 c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25m dGVzdC5jIC1sZ2lmICAtbFgxMSAgID4mNSAKL3RtcC9jY2VPOENiMS5vOiBJbiBmdW5jdGlvbiBg bWFpbic6Ci9ob21lL3R1aGRvL0Rvd25sb2Fkcy9lbWFjcy10cnVuay9jb25mdGVzdC5jOjEyNzog dW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgR2lmTWFrZU1hcE9iamVjdCcKY29sbGVjdDI6IGVycm9y OiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNDI1ODogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWct Z251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUu b3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUg VkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2Rl ZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5l IF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2Rl ZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUg MQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NP VU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05B TUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUg SEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJT19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VM RUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFWRV9U RVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TWVNfU0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hX QUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAxCnwgI2Rl ZmluZSBET1VHX0xFQV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2Rl ZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVf WEtCIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NS RUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4g MQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmlu ZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9J TUFHRU1BR0lDSyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElNQUdFUElYRUxTIDEKfCAj ZGVmaW5lIEhBVkVfTUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2RlZmluZSBIQVZFX0dUSzMg MQp8ICNkZWZpbmUgR0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUg R0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVTRV9HVEsgMQp8 ICNkZWZpbmUgSEFWRV9HVEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfVEVB Uk9GRl9NRU5VX0lURU1fTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfV0lORE9X IDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRPVyAxCnwgI2RlZmluZSBI QVZFX0dUS19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdF VF9HRVRfU0VOU0lUSVZFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQUEVEIDEK fCAjZGVmaW5lIEhBVkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAxCnwgI2RlZmluZSBI QVZFX0dUS19PUklFTlRBQkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2RlZmluZSBIQVZFX0dUS19X SU5ET1dfU0VUX0hBU19SRVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZFX0dTRVRUSU5HUyAxCnwg I2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxFTk9USUZZIDEKfCAjZGVm aW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAx CnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdp c3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hG VCAxCnwgI2RlZmluZSBIQVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVm aW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdf SCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQU1RSVUNUIC8qKi8KfCAj ZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBh dm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg cmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4 dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIEdpZk1ha2VNYXBPYmplY3QgKCk7CnwgaW50CnwgbWFp biAoKQp8IHsKfCByZXR1cm4gR2lmTWFrZU1hcE9iamVjdCAoKTsKfCAgIDsKfCAgIHJldHVybiAw Owp8IH0KY29uZmlndXJlOjE0MjY3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDI3MjogY2hlY2tp bmcgZm9yIEVHaWZQdXRFeHRlbnNpb25MYXN0IGluIC1sZ2lmCmNvbmZpZ3VyZToxNDI5NzogZ2Nj IC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUv bGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGlu dXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkv dXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUv cGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgICAgY29uZnRlc3QuYyAtbGdp ZiAgLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxNDI5NzogJD8gPSAwCmNvbmZpZ3VyZToxNDMwNjog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NDA1OiBjaGVja2luZyBncG0uaCB1c2FiaWxpdHkKY29u ZmlndXJlOjE0NDA1OiBnY2MgLXN0ZD1nbnU5OSAtYyAgLWczIC1PMiAtcHRocmVhZCAtSS91c3Iv aW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4 Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVm LTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3Iv aW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgY29uZnRlc3Qu YyA+JjUKY29uZnRlc3QuYzoxNTA6MTc6IGZhdGFsIGVycm9yOiBncG0uaDogTm8gc3VjaCBmaWxl IG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPGdwbS5oPgogICAgICAgICAgICAgICAgIF4KY29tcGls YXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjE0NDA1OiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBF bWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NA Z251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdh cmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIy NC40LjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExf U09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VS Q0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5E RU1fU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmlu ZSBTWVNURU1fVFlQRSAiZ251L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0gg MQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVO VF9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0VY VF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfUEVSU09OQUxJVFlfTElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwg I2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdM SVNUIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9I IDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0FERFIgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVmaW5lIERPVUdf TEVBX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVf TU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YS0IgMQp8ICNk ZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJD RVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmlu ZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDEx UjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0lNQUdFTUFHSUNL IDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLRVhQT1JUSU1BR0VQSVhFTFMgMQp8ICNkZWZpbmUgSEFW RV9NQUdJQ0tNRVJHRUlNQUdFTEFZRVJTIDEKfCAjZGVmaW5lIEhBVkVfR1RLMyAxCnwgI2RlZmlu ZSBHREtfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBHTElCX0RJU0FC TEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgVVNFX0dUSyAxCnwgI2RlZmluZSBI QVZFX0dUS19IQU5ETEVfQk9YX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01FTlVf SVRFTV9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9XSU5ET1cgMQp8ICNkZWZp bmUgSEFWRV9HVEtfV0lER0VUX1NFVF9IQVNfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0RJ QUxPR19HRVRfQUNUSU9OX0FSRUEgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9TRU5T SVRJVkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9NQVBQRUQgMQp8ICNkZWZpbmUg SEFWRV9HVEtfQURKVVNUTUVOVF9HRVRfUEFHRV9TSVpFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX09S SUVOVEFCTEVfU0VUX09SSUVOVEFUSU9OIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19TRVRf SEFTX1JFU0laRV9HUklQIDEKfCAjZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKfCAjZGVmaW5lIEhB VkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfR0ZJTEVOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJ TEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5l IEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0 YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWEZUIDEKfCAjZGVm aW5lIEhBVkVfRlJFRVRZUEUgMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9K UEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVm aW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIFBOR19ERVBTVFJVQ1QgLyoqLwp8ICNkZWZpbmUgSEFW RV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZ U19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBT VERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+ CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4K fCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVk IFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1v cnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUg PGdwbS5oPgpjb25maWd1cmU6MTQ0MDU6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0NDA1OiBjaGVj a2luZyBncG0uaCBwcmVzZW5jZQpjb25maWd1cmU6MTQ0MDU6IGdjYyAtRSAgICAgY29uZnRlc3Qu Ywpjb25mdGVzdC5jOjExNzoxNzogZmF0YWwgZXJyb3I6IGdwbS5oOiBObyBzdWNoIGZpbGUgb3Ig ZGlyZWN0b3J5CiAjaW5jbHVkZSA8Z3BtLmg+CiAgICAgICAgICAgICAgICAgXgpjb21waWxhdGlv biB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTQ0MDU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdO VSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNz IDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUu b3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9l bWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQu NTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VS Q0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAx CnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9T T1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZ U1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwg I2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0gg MQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVm aW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1Qg MQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8 ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQURE UiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19W TElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFf TUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQ IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmlu ZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RS SU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhB VkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9Y SU0gMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8 ICNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01B R0lDS01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdE S19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9E RVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVf R1RLX0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVN X05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBI QVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9H X0dFVF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElW RSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZF X0dUS19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5U QUJMRV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNf UkVTSVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZpbmUgSEFWRV9H TlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9O T1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFW RV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRp YXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUg SEFWRV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcg MQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUg SEFWRV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmluZSBIQVZFX1pM SUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGdwbS5oPgpjb25maWd1cmU6MTQ0MDU6IHJlc3Vs dDogbm8KY29uZmlndXJlOjE0NDA1OiBjaGVja2luZyBmb3IgZ3BtLmgKY29uZmlndXJlOjE0NDA1 OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDQ5MjogY2hlY2tpbmcgWDExL1NNL1NNbGliLmggdXNh YmlsaXR5CmNvbmZpZ3VyZToxNDQ5MjogZ2NjIC1zdGQ9Z251OTkgLWMgIC1nMyAtTzIgLXB0aHJl YWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkv dXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUv Z2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5n MTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAg IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDQ5MjogJD8gPSAwCmNvbmZpZ3VyZToxNDQ5Mjog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NDkyOiBjaGVja2luZyBYMTEvU00vU01saWIuaCBwcmVz ZW5jZQpjb25maWd1cmU6MTQ0OTI6IGdjYyAtRSAgICAgY29uZnRlc3QuYwpjb25maWd1cmU6MTQ0 OTI6ICQ/ID0gMApjb25maWd1cmU6MTQ0OTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDQ5Mjog Y2hlY2tpbmcgZm9yIFgxMS9TTS9TTWxpYi5oCmNvbmZpZ3VyZToxNDQ5MjogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjE0NDk0OiBjaGVja2luZyBmb3IgU21jT3BlbkNvbm5lY3Rpb24gaW4gLWxTTQpj b25maWd1cmU6MTQ1MTk6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhy ZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1J L3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRl L2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBu ZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAg ICAgIGNvbmZ0ZXN0LmMgLWxTTSAtbElDRSAtbFgxMSAgID4mNSAKY29uZmlndXJlOjE0NTE5OiAk PyA9IDAKY29uZmlndXJlOjE0NTI4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ1NjA6IGNoZWNr aW5nIGZvciB4cmFuZHIgPj0gMS4yLjIKY29uZmlndXJlOjE0NTc0OiByZXN1bHQ6IHllcyBDRkxB R1M9JyAnIExJQlM9Jy1sWHJhbmRyICAnCmNvbmZpZ3VyZToxNDY2MzogY2hlY2tpbmcgZm9yIFhS UkdldE91dHB1dFByaW1hcnkKY29uZmlndXJlOjE0NjYzOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAgICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vz ci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9p bmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJv IC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9p bmNsdWRlL2ZyZWV0eXBlMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxYcmFuZHIgICAtbFgxMSAgID4m NSAKY29uZmlndXJlOjE0NjYzOiAkPyA9IDAKY29uZmlndXJlOjE0NjYzOiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTQ2NjM6IGNoZWNraW5nIGZvciBYUlJHZXRTY3JlZW5SZXNvdXJjZXNDdXJyZW50 CmNvbmZpZ3VyZToxNDY2MzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgICAgLWczIC1PMiAt cHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIu MCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5j bHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9s aWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIg ICAgICAgICBjb25mdGVzdC5jIC1sWHJhbmRyICAgLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxNDY2 MzogJD8gPSAwCmNvbmZpZ3VyZToxNDY2MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0Njk0OiBj aGVja2luZyBmb3IgeGluZXJhbWEgPj0gMS4wLjIKY29uZmlndXJlOjE0NzA4OiByZXN1bHQ6IHll cyBDRkxBR1M9JyAnIExJQlM9Jy1sWGluZXJhbWEgICcKY29uZmlndXJlOjE0ODEwOiBjaGVja2lu ZyBmb3IgbGlieG1sLTIuMCA+IDIuNi4xNwpjb25maWd1cmU6MTQ4MjQ6IHJlc3VsdDogeWVzIENG TEFHUz0nLUkvdXNyL2luY2x1ZGUvbGlieG1sMiAgJyBMSUJTPSctbHhtbDIgICcKY29uZmlndXJl OjE0ODc2OiBjaGVja2luZyBmb3IgaHRtbFJlYWRNZW1vcnkgaW4gLWx4bWwyCmNvbmZpZ3VyZTox NDkwMTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNy L2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94 ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1 Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNy L2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgICAgY29uZnRl c3QuYyAtbHhtbDIgIC1sWDExICAgPiY1IApjb25maWd1cmU6MTQ5MDE6ICQ/ID0gMApjb25maWd1 cmU6MTQ5MTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDk0MDogY2hlY2tpbmcgd2hldGhlciBu ZXRkYiBkZWNsYXJlcyBoX2Vycm5vCmNvbmZpZ3VyZToxNDk1NjogZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkv dXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4w L2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fp cm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNy L2luY2x1ZGUvZnJlZXR5cGUyICAgICAgICAgY29uZnRlc3QuYyAtbFgxMSAgID4mNSAKY29uZmln dXJlOjE0OTU2OiAkPyA9IDAKY29uZmlndXJlOjE0OTY0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTQ5NzQ6IGNoZWNraW5nIGZvciBtYWlsbG9jayBpbiAtbG1haWwKY29uZmlndXJlOjE0OTk5OiBn Y2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVk ZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1s aW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAt SS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVk ZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1s bWFpbCAgLWxYMTEgICA+JjUgCi91c3IvYmluL2xkOiBjYW5ub3QgZmluZCAtbG1haWwKY29sbGVj dDI6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNDk5OTogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDov L3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8 ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNf XyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEK fCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElD UyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9C SVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhB VkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFW RV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRN UF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8 ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJT19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZp bmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TWVNfU0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFS VCAxCnwgI2RlZmluZSBET1VHX0xFQV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVm aW5lIEhBVkVfWEtCIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUg SEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVS T0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAx CnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZp bmUgSEFWRV9JTUFHRU1BR0lDSyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElNQUdFUElY RUxTIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2RlZmluZSBI QVZFX0dUSzMgMQp8ICNkZWZpbmUgR0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8 ICNkZWZpbmUgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVT RV9HVEsgMQp8ICNkZWZpbmUgSEFWRV9HVEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFW RV9HVEtfVEVBUk9GRl9NRU5VX0lURU1fTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9H RVRfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRPVyAxCnwg I2RlZmluZSBIQVZFX0dUS19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVf R1RLX1dJREdFVF9HRVRfU0VOU0lUSVZFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRf TUFQUEVEIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAxCnwg I2RlZmluZSBIQVZFX0dUS19PUklFTlRBQkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2RlZmluZSBI QVZFX0dUS19XSU5ET1dfU0VUX0hBU19SRVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZFX0dTRVRU SU5HUyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxFTk9USUZZ IDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JP TExfQkFSUyAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVm aW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmlu ZSBIQVZFX1hGVCAxCnwgI2RlZmluZSBIQVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBN IDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUg SEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQU1RSVUNU IC8qKi8KfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZp bmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VU T1VUUFVUUFJJTUFSWSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNFU0NVUlJF TlQgMQp8ICNkZWZpbmUgSEFWRV9YUkFORFIgMQp8ICNkZWZpbmUgSEFWRV9YSU5FUkFNQSAxCnwg I2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5 cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0 Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJn dW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3Bs dXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBtYWlsbG9jayAoKTsKfCBpbnQKfCBtYWlu ICgpCnwgewp8IHJldHVybiBtYWlsbG9jayAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u ZmlndXJlOjE1MDA4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNTAzOTogY2hlY2tpbmcgZm9yIG1h aWxsb2NrIGluIC1sbG9ja2ZpbGUKY29uZmlndXJlOjE1MDY0OiBnY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91 c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAv aW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWly byAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3Iv aW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1sbG9ja2ZpbGUgIC1sWDExICAg PiY1IAovdXNyL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxsb2NrZmlsZQpjb2xsZWN0MjogZXJyb3I6 IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE1MDY0OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1n bnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5v cmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBW RVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENf SEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVm aW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUg X0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVm aW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAx CnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09V TkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFN RV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZp bmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBI QVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZF X1NURElPX0VYVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxF Q1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfUEVSU09OQUxJVFlfTElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RF Uk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NZU19TSUdMSVNUIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZF X05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdB RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZp bmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVm aW5lIERPVUdfTEVBX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9Y S0IgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JF RU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAx CnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5l IEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0lN QUdFTUFHSUNLIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLRVhQT1JUSU1BR0VQSVhFTFMgMQp8ICNk ZWZpbmUgSEFWRV9NQUdJQ0tNRVJHRUlNQUdFTEFZRVJTIDEKfCAjZGVmaW5lIEhBVkVfR1RLMyAx CnwgI2RlZmluZSBHREtfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBH TElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgVVNFX0dUSyAxCnwg I2RlZmluZSBIQVZFX0dUS19IQU5ETEVfQk9YX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19URUFS T0ZGX01FTlVfSVRFTV9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9XSU5ET1cg MQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX1NFVF9IQVNfV0lORE9XIDEKfCAjZGVmaW5lIEhB VkVfR1RLX0RJQUxPR19HRVRfQUNUSU9OX0FSRUEgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VU X0dFVF9TRU5TSVRJVkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9NQVBQRUQgMQp8 ICNkZWZpbmUgSEFWRV9HVEtfQURKVVNUTUVOVF9HRVRfUEFHRV9TSVpFIDEKfCAjZGVmaW5lIEhB VkVfR1RLX09SSUVOVEFCTEVfU0VUX09SSUVOVEFUSU9OIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJ TkRPV19TRVRfSEFTX1JFU0laRV9HUklQIDEKfCAjZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKfCAj ZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfR0ZJTEVOT1RJRlkgMQp8ICNkZWZp bmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEK fCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lz dGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWEZU IDEKfCAjZGVmaW5lIEhBVkVfRlJFRVRZUEUgMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZp bmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19I IDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIFBOR19ERVBTVFJVQ1QgLyoqLwp8ICNk ZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJ RiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRPVVRQVVRQUklN QVJZIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUU0NSRUVOUkVTT1VSQ0VTQ1VSUkVOVCAxCnwgI2Rl ZmluZSBIQVZFX1hSQU5EUiAxCnwgI2RlZmluZSBIQVZFX1hJTkVSQU1BIDEKfCAjZGVmaW5lIEhB VkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9p ZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0 dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90 b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVy biAiQyIKfCAjZW5kaWYKfCBjaGFyIG1haWxsb2NrICgpOwp8IGludAp8IG1haW4gKCkKfCB7Cnwg cmV0dXJuIG1haWxsb2NrICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTUw NzM6IHJlc3VsdDogbm8KY29uZmlndXJlOjE1MDkyOiBjaGVja2luZyBmb3IgbGlibG9ja2ZpbGUu c28KY29uZmlndXJlOjE1MTIxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNTIwNDogY2hlY2tpbmcg Zm9yIGFjY2VwdDQKY29uZmlndXJlOjE1MjA0OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAg LWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVk ZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAt SS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3Iv aW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9m cmVldHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1sbSAtbFgxMSAgID4mNSAKY29uZmlndXJlOjE1 MjA0OiAkPyA9IDAKY29uZmlndXJlOjE1MjA0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUyMDQ6 IGNoZWNraW5nIGZvciBnZXRob3N0bmFtZQpjb25maWd1cmU6MTUyMDQ6IGdjYyAtc3RkPWdudTk5 IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4w IC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGli LTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRl L2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1J L3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxtIC1sWDExICAgPiY1 IApjb25maWd1cmU6MTUyMDQ6ICQ/ID0gMApjb25maWd1cmU6MTUyMDQ6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToxNTIwNDogY2hlY2tpbmcgZm9yIGdldHJ1c2FnZQpjb25maWd1cmU6MTUyMDQ6IGdj YyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRl L2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxp bnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1J L3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRl L3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxt IC1sWDExICAgPiY1IApjb25maWd1cmU6MTUyMDQ6ICQ/ID0gMApjb25maWd1cmU6MTUyMDQ6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToxNTIwNDogY2hlY2tpbmcgZm9yIGdldF9jdXJyZW50X2Rpcl9u YW1lCmNvbmZpZ3VyZToxNTIwNDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIg LXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0y LjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2lu Y2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUv bGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUy ICAgICAgICAgY29uZnRlc3QuYyAtbG0gLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxNTIwNDogJD8g PSAwCmNvbmZpZ3VyZToxNTIwNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MjA0OiBjaGVja2lu ZyBmb3IgbHJhbmQ0OApjb25maWd1cmU6MTUyMDQ6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNs dWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRl IC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vz ci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRl L2ZyZWV0eXBlMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxtIC1sWDExICAgPiY1IApjb25maWd1cmU6 MTUyMDQ6ICQ/ID0gMApjb25maWd1cmU6MTUyMDQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTIw NDogY2hlY2tpbmcgZm9yIHJhbmRvbQpjb25maWd1cmU6MTUyMDQ6IGdjYyAtc3RkPWdudTk5IC1v IGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1J L3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIu MC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2Nh aXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vz ci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxtIC1sWDExICAgPiY1IApj b25maWd1cmU6MTUyMDQ6ICQ/ID0gMApjb25maWd1cmU6MTUyMDQ6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxNTIwNDogY2hlY2tpbmcgZm9yIHJpbnQKY29uZmlndXJlOjE1MjA0OiBnY2MgLXN0ZD1n bnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3Zn LTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUv Z2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5j bHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4t MSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1sbSAtbFgxMSAg ID4mNSAKY29uZnRlc3QuYzoxNTQ6Njogd2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1 aWx0LWluIGZ1bmN0aW9uICdyaW50JyBbZW5hYmxlZCBieSBkZWZhdWx0XQogY2hhciByaW50ICgp OwogICAgICBeCmNvbmZpZ3VyZToxNTIwNDogJD8gPSAwCmNvbmZpZ3VyZToxNTIwNDogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjE1MjA0OiBjaGVja2luZyBmb3Igc2VsZWN0CmNvbmZpZ3VyZToxNTIw NDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2lu Y2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZf NjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0y LjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2lu Y2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgICAgY29uZnRlc3Qu YyAtbG0gLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxNTIwNDogJD8gPSAwCmNvbmZpZ3VyZToxNTIw NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MjA0OiBjaGVja2luZyBmb3IgZ2V0cGFnZXNpemUK Y29uZmlndXJlOjE1MjA0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUyMDQ6IGNoZWNraW5nIGZv ciBzZXRsb2NhbGUKY29uZmlndXJlOjE1MjA0OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAg LWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVk ZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAt SS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3Iv aW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9m cmVldHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1sbSAtbFgxMSAgID4mNSAKY29uZmlndXJlOjE1 MjA0OiAkPyA9IDAKY29uZmlndXJlOjE1MjA0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUyMDQ6 IGNoZWNraW5nIGZvciBnZXRybGltaXQKY29uZmlndXJlOjE1MjA0OiBnY2MgLXN0ZD1nbnU5OSAt byBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAt SS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0y LjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9j YWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91 c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1sbSAtbFgxMSAgID4mNSAK Y29uZmlndXJlOjE1MjA0OiAkPyA9IDAKY29uZmlndXJlOjE1MjA0OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTUyMDQ6IGNoZWNraW5nIGZvciBzZXRybGltaXQKY29uZmlndXJlOjE1MjA0OiBnY2Mg LXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9s aWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51 eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91 c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9w aXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1sbSAt bFgxMSAgID4mNSAKY29uZmlndXJlOjE1MjA0OiAkPyA9IDAKY29uZmlndXJlOjE1MjA0OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTUyMDQ6IGNoZWNraW5nIGZvciBzaHV0ZG93bgpjb25maWd1cmU6 MTUyMDQ6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vz ci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIv eDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhi dWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vz ci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAgIGNvbmZ0 ZXN0LmMgLWxtIC1sWDExICAgPiY1IApjb25maWd1cmU6MTUyMDQ6ICQ/ID0gMApjb25maWd1cmU6 MTUyMDQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTIwNDogY2hlY2tpbmcgZm9yIGdldGFkZHJp bmZvCmNvbmZpZ3VyZToxNTIwNDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIg LXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0y LjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2lu Y2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUv bGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUy ICAgICAgICAgY29uZnRlc3QuYyAtbG0gLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxNTIwNDogJD8g PSAwCmNvbmZpZ3VyZToxNTIwNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MjA0OiBjaGVja2lu ZyBmb3Igc3Ryc2lnbmFsCmNvbmZpZ3VyZToxNTIwNDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2lu Y2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1 ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkv dXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1 ZGUvZnJlZXR5cGUyICAgICAgICAgY29uZnRlc3QuYyAtbG0gLWxYMTEgICA+JjUgCmNvbmZpZ3Vy ZToxNTIwNDogJD8gPSAwCmNvbmZpZ3VyZToxNTIwNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1 MjA0OiBjaGVja2luZyBmb3Igc2V0aXRpbWVyCmNvbmZpZ3VyZToxNTIwNDogZ2NjIC1zdGQ9Z251 OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0y LjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2ds aWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1 ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEg LUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgICAgY29uZnRlc3QuYyAtbG0gLWxYMTEgICA+ JjUgCmNvbmZpZ3VyZToxNTIwNDogJD8gPSAwCmNvbmZpZ3VyZToxNTIwNDogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjE1MjA0OiBjaGVja2luZyBmb3Igc2VuZHRvCmNvbmZpZ3VyZToxNTIwNDogZ2Nj IC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUv bGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGlu dXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkv dXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUv cGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgICAgY29uZnRlc3QuYyAtbG0g LWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxNTIwNDogJD8gPSAwCmNvbmZpZ3VyZToxNTIwNDogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjE1MjA0OiBjaGVja2luZyBmb3IgcmVjdmZyb20KY29uZmlndXJl OjE1MjA0OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91 c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGli L3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4 YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91 c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25m dGVzdC5jIC1sbSAtbFgxMSAgID4mNSAKY29uZmlndXJlOjE1MjA0OiAkPyA9IDAKY29uZmlndXJl OjE1MjA0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUyMDQ6IGNoZWNraW5nIGZvciBnZXRzb2Nr bmFtZQpjb25maWd1cmU6MTUyMDQ6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8y IC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWIt Mi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9p bmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRl L2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBl MiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxtIC1sWDExICAgPiY1IApjb25maWd1cmU6MTUyMDQ6ICQ/ ID0gMApjb25maWd1cmU6MTUyMDQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTIwNDogY2hlY2tp bmcgZm9yIGdldHBlZXJuYW1lCmNvbmZpZ3VyZToxNTIwNDogZ2NjIC1zdGQ9Z251OTkgLW8gY29u ZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNy L2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2lu Y2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8g LUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2lu Y2x1ZGUvZnJlZXR5cGUyICAgICAgICAgY29uZnRlc3QuYyAtbG0gLWxYMTEgICA+JjUgCmNvbmZp Z3VyZToxNTIwNDogJD8gPSAwCmNvbmZpZ3VyZToxNTIwNDogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjE1MjA0OiBjaGVja2luZyBmb3IgZ2V0aWZhZGRycwpjb25maWd1cmU6MTUyMDQ6IGdjYyAtc3Rk PWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJz dmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdu dS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9p bmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1h bi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxtIC1sWDEx ICAgPiY1IApjb25maWd1cmU6MTUyMDQ6ICQ/ID0gMApjb25maWd1cmU6MTUyMDQ6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxNTIwNDogY2hlY2tpbmcgZm9yIGZyZWVpZmFkZHJzCmNvbmZpZ3VyZTox NTIwNDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNy L2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94 ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1 Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNy L2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgICAgY29uZnRl c3QuYyAtbG0gLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxNTIwNDogJD8gPSAwCmNvbmZpZ3VyZTox NTIwNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MjA0OiBjaGVja2luZyBmb3IgZ2FpX3N0cmVy cm9yCmNvbmZpZ3VyZToxNTIwNDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIg LXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0y LjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2lu Y2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUv bGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUy ICAgICAgICAgY29uZnRlc3QuYyAtbG0gLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxNTIwNDogJD8g PSAwCmNvbmZpZ3VyZToxNTIwNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MjA0OiBjaGVja2lu ZyBmb3IgZ2V0bGluZQpjb25maWd1cmU6MTUyMDQ6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNs dWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRl IC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vz ci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRl L2ZyZWV0eXBlMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxtIC1sWDExICAgPiY1IApjb25maWd1cmU6 MTUyMDQ6ICQ/ID0gMApjb25maWd1cmU6MTUyMDQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTIw NDogY2hlY2tpbmcgZm9yIGdldGRlbGltCmNvbmZpZ3VyZToxNTIwNDogZ2NjIC1zdGQ9Z251OTkg LW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAg LUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWIt Mi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUv Y2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkv dXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgICAgY29uZnRlc3QuYyAtbG0gLWxYMTEgICA+JjUg CmNvbmZpZ3VyZToxNTIwNDogJD8gPSAwCmNvbmZpZ3VyZToxNTIwNDogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjE1MjA0OiBjaGVja2luZyBmb3Igc3luYwpjb25maWd1cmU6MTUyMDQ6IGdjYyAtc3Rk PWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJz dmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdu dS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9p bmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1h bi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxtIC1sWDEx ICAgPiY1IApjb25maWd1cmU6MTUyMDQ6ICQ/ID0gMApjb25maWd1cmU6MTUyMDQ6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxNTIwNDogY2hlY2tpbmcgZm9yIGdldHB3ZW50CmNvbmZpZ3VyZToxNTIw NDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2lu Y2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZf NjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0y LjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2lu Y2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgICAgY29uZnRlc3Qu YyAtbG0gLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxNTIwNDogJD8gPSAwCmNvbmZpZ3VyZToxNTIw NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MjA0OiBjaGVja2luZyBmb3IgZW5kcHdlbnQKY29u ZmlndXJlOjE1MjA0OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVh ZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91 c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9n ZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcx MiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAg ICBjb25mdGVzdC5jIC1sbSAtbFgxMSAgID4mNSAKY29uZmlndXJlOjE1MjA0OiAkPyA9IDAKY29u ZmlndXJlOjE1MjA0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUyMDQ6IGNoZWNraW5nIGZvciBn ZXRncmVudApjb25maWd1cmU6MTUyMDQ6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMg LU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2ds aWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vz ci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNs dWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0 eXBlMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxtIC1sWDExICAgPiY1IApjb25maWd1cmU6MTUyMDQ6 ICQ/ID0gMApjb25maWd1cmU6MTUyMDQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTIwNDogY2hl Y2tpbmcgZm9yIGVuZGdyZW50CmNvbmZpZ3VyZToxNTIwNDogZ2NjIC1zdGQ9Z251OTkgLW8gY29u ZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNy L2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2lu Y2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8g LUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2lu Y2x1ZGUvZnJlZXR5cGUyICAgICAgICAgY29uZnRlc3QuYyAtbG0gLWxYMTEgICA+JjUgCmNvbmZp Z3VyZToxNTIwNDogJD8gPSAwCmNvbmZpZ3VyZToxNTIwNDogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjE1MjA0OiBjaGVja2luZyBmb3IgY2ZtYWtlcmF3CmNvbmZpZ3VyZToxNTIwNDogZ2NjIC1zdGQ9 Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2 Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251 L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2lu Y2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFu LTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgICAgY29uZnRlc3QuYyAtbG0gLWxYMTEg ICA+JjUgCmNvbmZpZ3VyZToxNTIwNDogJD8gPSAwCmNvbmZpZ3VyZToxNTIwNDogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjE1MjA0OiBjaGVja2luZyBmb3IgY2ZzZXRzcGVlZApjb25maWd1cmU6MTUy MDQ6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9p bmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2 XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYt Mi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9p bmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAgIGNvbmZ0ZXN0 LmMgLWxtIC1sWDExICAgPiY1IApjb25maWd1cmU6MTUyMDQ6ICQ/ID0gMApjb25maWd1cmU6MTUy MDQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTIwNDogY2hlY2tpbmcgZm9yIGNvcHlzaWduCmNv bmZpZ3VyZToxNTIwNDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJl YWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkv dXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUv Z2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5n MTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAg ICAgY29uZnRlc3QuYyAtbG0gLWxYMTEgICA+JjUgCmNvbmZ0ZXN0LmM6MTgwOjY6IHdhcm5pbmc6 IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiAnY29weXNpZ24nIFtlbmFi bGVkIGJ5IGRlZmF1bHRdCiBjaGFyIGNvcHlzaWduICgpOwogICAgICBeCmNvbmZpZ3VyZToxNTIw NDogJD8gPSAwCmNvbmZpZ3VyZToxNTIwNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MjA0OiBj aGVja2luZyBmb3IgX19leGVjdXRhYmxlX3N0YXJ0CmNvbmZpZ3VyZToxNTIwNDogZ2NjIC1zdGQ9 Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2 Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251 L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2lu Y2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFu LTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgICAgY29uZnRlc3QuYyAtbG0gLWxYMTEg ICA+JjUgCmNvbmZpZ3VyZToxNTIwNDogJD8gPSAwCmNvbmZpZ3VyZToxNTIwNDogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjE1MjA0OiBjaGVja2luZyBmb3IgbG9nMgpjb25maWd1cmU6MTUyMDQ6IGdj YyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRl L2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxp bnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1J L3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRl L3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxt IC1sWDExICAgPiY1IApjb25mdGVzdC5jOjE4Mjo2OiB3YXJuaW5nOiBjb25mbGljdGluZyB0eXBl cyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gJ2xvZzInIFtlbmFibGVkIGJ5IGRlZmF1bHRdCiBjaGFy IGxvZzIgKCk7CiAgICAgIF4KY29uZmlndXJlOjE1MjA0OiAkPyA9IDAKY29uZmlndXJlOjE1MjA0 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUyMTk6IGNoZWNraW5nIGZvciBhbGlnbmVkX2FsbG9j CmNvbmZpZ3VyZToxNTIxOTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0 aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAg LUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1 ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGli cG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAg ICAgICAgY29uZnRlc3QuYyAtbFgxMSAgID4mNSAKY29uZmlndXJlOjE1MjE5OiAkPyA9IDAKY29u ZmlndXJlOjE1MjE5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUyMzA6IGNoZWNraW5nIGZvciBf X2J1aWx0aW5fdW53aW5kX2luaXQKY29uZmlndXJlOjE1MjQ2OiBnY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91 c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAv aW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWly byAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3Iv aW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1sWDExICAgPiY1IApjb25maWd1 cmU6MTUyNDY6ICQ/ID0gMApjb25maWd1cmU6MTUyNTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox NTI2NjogY2hlY2tpbmcgZm9yIF9MQVJHRUZJTEVfU09VUkNFIHZhbHVlIG5lZWRlZCBmb3IgbGFy Z2UgZmlsZXMKY29uZmlndXJlOjE1Mjg1OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWcz IC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9n bGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91 c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5j bHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVl dHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1sWDExICAgPiY1IApjb25maWd1cmU6MTUyODU6ICQ/ ID0gMApjb25maWd1cmU6MTUzMTM6IHJlc3VsdDogbm8KY29uZmlndXJlOjE1MzM4OiBjaGVja2lu ZyBmb3IgZ3JhbnRwdApjb25maWd1cmU6MTUzMzg6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNs dWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRl IC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vz ci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRl L2ZyZWV0eXBlMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxNTMz ODogJD8gPSAwCmNvbmZpZ3VyZToxNTMzODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MzUyOiBj aGVja2luZyBmb3IgZ2V0cHQKY29uZmlndXJlOjE1MzUyOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25m dGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3Iv aW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5j bHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAt SS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5j bHVkZS9mcmVldHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1sWDExICAgPiY1IApjb25maWd1cmU6 MTUzNTI6ICQ/ID0gMApjb25maWd1cmU6MTUzNTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTM1 MjogY2hlY2tpbmcgZm9yIHBvc2l4X29wZW5wdApjb25maWd1cmU6MTUzNTI6IGdjYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmct Mi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9n bGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNs dWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0x IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxYMTEgICA+JjUg CmNvbmZpZ3VyZToxNTM1MjogJD8gPSAwCmNvbmZpZ3VyZToxNTM1MjogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjE1MzY3OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIHRwdXRzCmNvbmZp Z3VyZToxNTQyMzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQg LUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNy L2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2Rr LXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIg LUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgICAg Y29uZnRlc3QuYyAtbFgxMSAgID4mNSAKL3RtcC9jY05wVEpwci5vOiBJbiBmdW5jdGlvbiBgbWFp bic6Ci9ob21lL3R1aGRvL0Rvd25sb2Fkcy9lbWFjcy10cnVuay9jb25mdGVzdC5jOjE3MTogdW5k ZWZpbmVkIHJlZmVyZW5jZSB0byBgdHB1dHMnCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQg MSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTU0MjM6ICQ/ID0gMQpjb25maWd1cmU6IHByb2dyYW0g ZXhpdGVkIHdpdGggc3RhdHVzIDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40 LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUg UEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgTUFJ TF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lY X1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251L2xp bnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VO RCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf RVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0VYVF9IIDEKfCAjZGVmaW5lIEhBVkVf R0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUEVSU09OQUxJVFlf TElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lT X1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZB RERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFW RV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVmaW5lIERPVUdfTEVBX01BTExPQyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YS0IgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRB QkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBI QVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVm aW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhB VkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0lNQUdFTUFHSUNLIDEKfCAjZGVmaW5lIEhBVkVfTUFH SUNLRVhQT1JUSU1BR0VQSVhFTFMgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tNRVJHRUlNQUdFTEFZ RVJTIDEKfCAjZGVmaW5lIEhBVkVfR1RLMyAxCnwgI2RlZmluZSBHREtfRElTQUJMRV9ERVBSRUNB VElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklO R1MgMQp8ICNkZWZpbmUgVVNFX0dUSyAxCnwgI2RlZmluZSBIQVZFX0dUS19IQU5ETEVfQk9YX05F VyAxCnwgI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01FTlVfSVRFTV9ORVcgMQp8ICNkZWZpbmUg SEFWRV9HVEtfV0lER0VUX0dFVF9XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX1NF VF9IQVNfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0RJQUxPR19HRVRfQUNUSU9OX0FSRUEg MQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9TRU5TSVRJVkUgMQp8ICNkZWZpbmUgSEFW RV9HVEtfV0lER0VUX0dFVF9NQVBQRUQgMQp8ICNkZWZpbmUgSEFWRV9HVEtfQURKVVNUTUVOVF9H RVRfUEFHRV9TSVpFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX09SSUVOVEFCTEVfU0VUX09SSUVOVEFU SU9OIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19TRVRfSEFTX1JFU0laRV9HUklQIDEKfCAj ZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5l IEhBVkVfR0ZJTEVOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5l IFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5l IFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYg WFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWEZUIDEKfCAjZGVmaW5lIEhBVkVfRlJFRVRZUEUgMQp8 ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVf SlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVm aW5lIFBOR19ERVBTVFJVQ1QgLyoqLwp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhB VkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNk ZWZpbmUgSEFWRV9YUlJHRVRPVVRQVVRQUklNQVJZIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUU0NS RUVOUkVTT1VSQ0VTQ1VSUkVOVCAxCnwgI2RlZmluZSBIQVZFX1hSQU5EUiAxCnwgI2RlZmluZSBI QVZFX1hJTkVSQU1BIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hf RVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFUFQ0 IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0Ug MQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xS QU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAj ZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZF X0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVf U0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZS T00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJO QU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFE RFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElO RSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUg SEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVf Q0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NP UFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfX19FWEVDVVRBQkxFX1NUQVJUIDEKfCAjZGVmaW5lIEhB VkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX0FMSUdORURfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9f X0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUg SEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJ WF9PUEVOUFQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAgIGV4dGVybiB2b2lkIHRw dXRzIChjb25zdCBjaGFyICosIGludCwgaW50ICgqKShpbnQpKTsKfCAgICAgICAgaW50IG1haW4g KGludCBhcmdjLCBjaGFyICoqYXJndikKfCAgICAgICAgewp8IAkgIGlmIChhcmdjID09IDEwMDAw KQp8IAkgICAgdHB1dHMgKGFyZ3ZbMF0sIDAsIDApOwp8IAkgIHJldHVybiAwOwp8ICAgICAgICB9 CnwgCmNvbmZpZ3VyZToxNTQyMzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIg LXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0y LjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2lu Y2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUv bGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUy ICAgICAgICAgY29uZnRlc3QuYyAtbHRpbmZvIC1sWDExICAgPiY1IApjb25maWd1cmU6MTU0MjM6 ICQ/ID0gMApjb25maWd1cmU6MTU0MjM6IC4vY29uZnRlc3QKY29uZmlndXJlOjE1NDIzOiAkPyA9 IDAKY29uZmlndXJlOjE1NDM4OiByZXN1bHQ6IC1sdGluZm8KY29uZmlndXJlOjE1NTY1OiBnY2Mg LXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9s aWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51 eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91 c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9w aXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1sWDEx ICAgPiY1IApjb25maWd1cmU6MTU1NjU6ICQ/ID0gMApjb25maWd1cmU6MTYyNTQ6IGNoZWNraW5n IHZhbGdyaW5kL3ZhbGdyaW5kLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNjI1NDogZ2NjIC1zdGQ9 Z251OTkgLWMgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkv dXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4w L2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fp cm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNy L2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MjAxOjMx OiBmYXRhbCBlcnJvcjogdmFsZ3JpbmQvdmFsZ3JpbmQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVj dG9yeQogI2luY2x1ZGUgPHZhbGdyaW5kL3ZhbGdyaW5kLmg+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxNjI1NDogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDov L3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8 ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNf XyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEK fCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElD UyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9C SVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhB VkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFW RV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRN UF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8 ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJT19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZp bmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TWVNfU0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFS VCAxCnwgI2RlZmluZSBET1VHX0xFQV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVm aW5lIEhBVkVfWEtCIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUg SEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVS T0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAx CnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZp bmUgSEFWRV9JTUFHRU1BR0lDSyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElNQUdFUElY RUxTIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2RlZmluZSBI QVZFX0dUSzMgMQp8ICNkZWZpbmUgR0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8 ICNkZWZpbmUgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVT RV9HVEsgMQp8ICNkZWZpbmUgSEFWRV9HVEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFW RV9HVEtfVEVBUk9GRl9NRU5VX0lURU1fTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9H RVRfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRPVyAxCnwg I2RlZmluZSBIQVZFX0dUS19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVf R1RLX1dJREdFVF9HRVRfU0VOU0lUSVZFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRf TUFQUEVEIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAxCnwg I2RlZmluZSBIQVZFX0dUS19PUklFTlRBQkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2RlZmluZSBI QVZFX0dUS19XSU5ET1dfU0VUX0hBU19SRVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZFX0dTRVRU SU5HUyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxFTk9USUZZ IDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JP TExfQkFSUyAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVm aW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmlu ZSBIQVZFX1hGVCAxCnwgI2RlZmluZSBIQVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBN IDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUg SEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQU1RSVUNU IC8qKi8KfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZp bmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VU T1VUUFVUUFJJTUFSWSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNFU0NVUlJF TlQgMQp8ICNkZWZpbmUgSEFWRV9YUkFORFIgMQp8ICNkZWZpbmUgSEFWRV9YSU5FUkFNQSAxCnwg I2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5l IE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVBUNCAxCnwgI2RlZmluZSBIQVZF X0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVf R0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5l IEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVD VCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxF IDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwg I2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2Rl ZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhB VkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBI QVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFW RV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VO VCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8 ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2Rl ZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmlu ZSBIQVZFX19fRVhFQ1VUQUJMRV9TVEFSVCAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZp bmUgSEFWRV9BTElHTkVEX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9J TklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwg I2RlZmluZSBIQVZFX0dFVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVm aW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8 ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRf SAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJT CnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwg IyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8 ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURF UlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBl bmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5H U19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQ RVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJ TlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1RE X0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDx2YWxncmluZC92 YWxncmluZC5oPgpjb25maWd1cmU6MTYyNTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2MjU0OiBj aGVja2luZyB2YWxncmluZC92YWxncmluZC5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNjI1NDogZ2Nj IC1FICAgICBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6MTY4OjMxOiBmYXRhbCBlcnJvcjogdmFsZ3Jp bmQvdmFsZ3JpbmQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPHZhbGdy aW5kL3ZhbGdyaW5kLmg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0 aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxNjI1NDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi R05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1h Y3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdu dS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJl L2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQu NC41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NP VVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNF IDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVN X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUg U1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEK fCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRf SCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19FWFRf SCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNk ZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElT VCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAx CnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9B RERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAxCnwgI2RlZmluZSBET1VHX0xF QV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01N QVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWEtCIDEKfCAjZGVm aW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VT VFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUg SEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2 X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9JTUFHRU1BR0lDSyAx CnwgI2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElNQUdFUElYRUxTIDEKfCAjZGVmaW5lIEhBVkVf TUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2RlZmluZSBIQVZFX0dUSzMgMQp8ICNkZWZpbmUg R0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgR0xJQl9ESVNBQkxF X0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVTRV9HVEsgMQp8ICNkZWZpbmUgSEFW RV9HVEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfVEVBUk9GRl9NRU5VX0lU RU1fTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfV0lORE9XIDEKfCAjZGVmaW5l IEhBVkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19ESUFM T0dfR0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfU0VOU0lU SVZFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQUEVEIDEKfCAjZGVmaW5lIEhB VkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAxCnwgI2RlZmluZSBIQVZFX0dUS19PUklF TlRBQkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2RlZmluZSBIQVZFX0dUS19XSU5ET1dfU0VUX0hB U19SRVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZFX0dTRVRUSU5HUyAxCnwgI2RlZmluZSBIQVZF X0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxFTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxF X05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBI QVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFu dGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hGVCAxCnwgI2RlZmlu ZSBIQVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBF RyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQU1RSVUNUIC8qKi8KfCAjZGVmaW5lIEhBVkVf WkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZp bmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUT1VUUFVUUFJJTUFSWSAxCnwgI2Rl ZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNFU0NVUlJFTlQgMQp8ICNkZWZpbmUgSEFWRV9Y UkFORFIgMQp8ICNkZWZpbmUgSEFWRV9YSU5FUkFNQSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIg MQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAj ZGVmaW5lIEhBVkVfQUNDRVBUNCAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUg MQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVm aW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dF VFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERP V04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05B TCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwg I2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNk ZWZpbmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwg I2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmlu ZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VO RFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVO VCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQg MQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX19fRVhFQ1VUQUJMRV9T VEFSVCAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9BTElHTkVEX0FMTE9D IDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVf RlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBUIDEK fCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVm aW5lIEhBVkVfUkVTX0lOSVQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8 dmFsZ3JpbmQvdmFsZ3JpbmQuaD4KY29uZmlndXJlOjE2MjU0OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToxNjI1NDogY2hlY2tpbmcgZm9yIHZhbGdyaW5kL3ZhbGdyaW5kLmgKY29uZmlndXJlOjE2MjU0 OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjI3MTogY2hlY2tpbmcgZm9yIHR6c2V0CmNvbmZpZ3Vy ZToxNjI3MTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkv dXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xp Yi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBp eGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkv dXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgICAgY29u ZnRlc3QuYyAtbFgxMSAgID4mNSAKY29uZmlndXJlOjE2MjcxOiAkPyA9IDAKY29uZmlndXJlOjE2 MjcxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTYyNzE6IGNoZWNraW5nIGZvciByZWFkbGlua2F0 CmNvbmZpZ3VyZToxNjI3MTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0 aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAg LUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1 ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGli cG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAg ICAgICAgY29uZnRlc3QuYyAtbFgxMSAgID4mNSAKY29uZmlndXJlOjE2MjcxOiAkPyA9IDAKY29u ZmlndXJlOjE2MjcxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTYyNzE6IGNoZWNraW5nIGZvciBm YWNjZXNzYXQKY29uZmlndXJlOjE2MjcxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWcz IC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9n bGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91 c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5j bHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVl dHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1sWDExICAgPiY1IApjb25maWd1cmU6MTYyNzE6ICQ/ ID0gMApjb25maWd1cmU6MTYyNzE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjI3MTogY2hlY2tp bmcgZm9yIGZjbnRsCmNvbmZpZ3VyZToxNjI3MTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3Qg IC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1 ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUg LUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNy L2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUv ZnJlZXR5cGUyICAgICAgICAgY29uZnRlc3QuYyAtbFgxMSAgID4mNSAKY29uZmlndXJlOjE2Mjcx OiAkPyA9IDAKY29uZmlndXJlOjE2MjcxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTYyNzE6IGNo ZWNraW5nIGZvciBmZG9wZW5kaXIKY29uZmlndXJlOjE2MjcxOiBnY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91 c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAv aW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWly byAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3Iv aW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1sWDExICAgPiY1IApjb25maWd1 cmU6MTYyNzE6ICQ/ID0gMApjb25maWd1cmU6MTYyNzE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox NjI3MTogY2hlY2tpbmcgZm9yIGZzdGF0YXQKY29uZmlndXJlOjE2MjcxOiBnY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIu MCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xp Yi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVk ZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAt SS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1sWDExICAgPiY1IApj b25maWd1cmU6MTYyNzE6ICQ/ID0gMApjb25maWd1cmU6MTYyNzE6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxNjI3MTogY2hlY2tpbmcgZm9yIGZzeW5jCmNvbmZpZ3VyZToxNjI3MTogZ2NjIC1zdGQ9 Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2 Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251 L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2lu Y2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFu LTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgICAgY29uZnRlc3QuYyAtbFgxMSAgID4m NSAKY29uZmlndXJlOjE2MjcxOiAkPyA9IDAKY29uZmlndXJlOjE2MjcxOiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTYyNzE6IGNoZWNraW5nIGZvciBnZXR0aW1lb2ZkYXkKY29uZmlndXJlOjE2Mjcx OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5j bHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82 NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIu MCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5j bHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25mdGVzdC5j IC1sWDExICAgPiY1IApjb25maWd1cmU6MTYyNzE6ICQ/ID0gMApjb25maWd1cmU6MTYyNzE6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToxNjI3MTogY2hlY2tpbmcgZm9yIG5hbm90aW1lCmNvbmZpZ3Vy ZToxNjI3MTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkv dXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xp Yi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBp eGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkv dXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgICAgY29u ZnRlc3QuYyAtbFgxMSAgID4mNSAKL3RtcC9jY2lGWXBWcS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6 Ci9ob21lL3R1aGRvL0Rvd25sb2Fkcy9lbWFjcy10cnVuay9jb25mdGVzdC5jOjIxMDogdW5kZWZp bmVkIHJlZmVyZW5jZSB0byBgbmFub3RpbWUnCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQg MSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTYyNzE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdO VSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNz IDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUu b3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9l bWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQu NTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VS Q0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAx CnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9T T1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZ U1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwg I2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0gg MQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVm aW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1Qg MQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8 ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQURE UiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19W TElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFf TUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQ IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmlu ZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RS SU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhB VkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9Y SU0gMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8 ICNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01B R0lDS01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdE S19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9E RVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVf R1RLX0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVN X05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBI QVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9H X0dFVF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElW RSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZF X0dUS19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5U QUJMRV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNf UkVTSVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZpbmUgSEFWRV9H TlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9O T1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFW RV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRp YXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUg SEFWRV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcg MQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUg SEFWRV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmluZSBIQVZFX1pM SUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5l IEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkgMQp8ICNkZWZp bmUgSEFWRV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5lIEhBVkVfWFJB TkRSIDEKfCAjZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEK fCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2Rl ZmluZSBIQVZFX0FDQ0VQVDQgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEK fCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmlu ZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dO IDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwg MQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNk ZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVm aW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNk ZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUg SEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQ V0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQg MQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEK fCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RB UlQgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfQUxJR05FRF9BTExPQyAx CnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZT RUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQVCAxCnwg I2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmlu ZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9S RUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNO VEwgMQp8ICNkZWZpbmUgSEFWRV9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEK fCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgbmFub3RpbWUgdG8gYW4gaW5ub2N1b3Vz IHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBuYW5vdGltZS4KfCAgICBGb3Ig ZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8K fCAjZGVmaW5lIG5hbm90aW1lIGlubm9jdW91c19uYW5vdGltZQp8IAp8IC8qIFN5c3RlbSBoZWFk ZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywK fCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBuYW5vdGltZSAoKTsgYmVsb3cuCnwg ICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5l ZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29t cGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8 ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgbmFub3Rp bWUKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh biBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJu IHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5 cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAi QyIKfCAjZW5kaWYKfCBjaGFyIG5hbm90aW1lICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRl ZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3 YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQK fCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBh biBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX25hbm90aW1lIHx8IGRlZmluZWQgX19z dHViX19fbmFub3RpbWUKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7 CnwgcmV0dXJuIG5hbm90aW1lICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6 MTYyNzE6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2MjcxOiBjaGVja2luZyBmb3IgbHN0YXQKY29u ZmlndXJlOjE2MjcxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVh ZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91 c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9n ZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcx MiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAg ICBjb25mdGVzdC5jIC1sWDExICAgPiY1IApjb25maWd1cmU6MTYyNzE6ICQ/ID0gMApjb25maWd1 cmU6MTYyNzE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjI3MTogY2hlY2tpbmcgZm9yIG1rb3N0 ZW1wCmNvbmZpZ3VyZToxNjI3MTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIg LXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0y LjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2lu Y2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUv bGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUy ICAgICAgICAgY29uZnRlc3QuYyAtbFgxMSAgID4mNSAKY29uZmlndXJlOjE2MjcxOiAkPyA9IDAK Y29uZmlndXJlOjE2MjcxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTYyNzE6IGNoZWNraW5nIGZv ciBwaXBlMgpjb25maWd1cmU6MTYyNzE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMg LU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2ds aWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vz ci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNs dWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0 eXBlMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxNjI3MTogJD8g PSAwCmNvbmZpZ3VyZToxNjI3MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2MjcxOiBjaGVja2lu ZyBmb3IgcHNlbGVjdApjb25maWd1cmU6MTYyNzE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNs dWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRl IC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vz ci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRl L2ZyZWV0eXBlMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxNjI3 MTogJD8gPSAwCmNvbmZpZ3VyZToxNjI3MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2MjcxOiBj aGVja2luZyBmb3IgcHRocmVhZF9zaWdtYXNrCmNvbmZpZ3VyZToxNjI3MTogZ2NjIC1zdGQ9Z251 OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0y LjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2ds aWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1 ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEg LUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgICAgY29uZnRlc3QuYyAtbFgxMSAgID4mNSAK Y29uZmlndXJlOjE2MjcxOiAkPyA9IDAKY29uZmlndXJlOjE2MjcxOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTYyNzE6IGNoZWNraW5nIGZvciBmY2htb2QKY29uZmlndXJlOjE2MjcxOiBnY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJy c3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1n bnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3Iv aW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXht YW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1sWDExICAg PiY1IApjb25maWd1cmU6MTYyNzE6ICQ/ID0gMApjb25maWd1cmU6MTYyNzE6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxNjI3MTogY2hlY2tpbmcgZm9yIHJlYWRsaW5rCmNvbmZpZ3VyZToxNjI3MTog Z2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1 ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQt bGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAg LUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1 ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgICAgY29uZnRlc3QuYyAt bFgxMSAgID4mNSAKY29uZmlndXJlOjE2MjcxOiAkPyA9IDAKY29uZmlndXJlOjE2MjcxOiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTYyNzE6IGNoZWNraW5nIGZvciBzdHJ0b2ltYXgKY29uZmlndXJl OjE2MjcxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91 c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGli L3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4 YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91 c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25m dGVzdC5jIC1sWDExICAgPiY1IApjb25maWd1cmU6MTYyNzE6ICQ/ID0gMApjb25maWd1cmU6MTYy NzE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjI3MTogY2hlY2tpbmcgZm9yIHN0cnRvdW1heApj b25maWd1cmU6MTYyNzE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhy ZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1J L3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRl L2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBu ZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAg ICAgIGNvbmZ0ZXN0LmMgLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxNjI3MTogJD8gPSAwCmNvbmZp Z3VyZToxNjI3MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2MjcxOiBjaGVja2luZyBmb3Igc3lt bGluawpjb25maWd1cmU6MTYyNzE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8y IC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWIt Mi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9p bmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRl L2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBl MiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxNjI3MTogJD8gPSAw CmNvbmZpZ3VyZToxNjI3MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2MjcxOiBjaGVja2luZyBm b3IgbG9jYWx0aW1lX3IKY29uZmlndXJlOjE2MjcxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVz dCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5j bHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVk ZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91 c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVk ZS9mcmVldHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1sWDExICAgPiY1IApjb25maWd1cmU6MTYy NzE6ICQ/ID0gMApjb25maWd1cmU6MTYyNzE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjI3MTog Y2hlY2tpbmcgZm9yIGZ1dGltZXMKY29uZmlndXJlOjE2MjcxOiBnY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91 c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAv aW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWly byAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3Iv aW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1sWDExICAgPiY1IApjb25maWd1 cmU6MTYyNzE6ICQ/ID0gMApjb25maWd1cmU6MTYyNzE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox NjI3MTogY2hlY2tpbmcgZm9yIGZ1dGltZXNhdApjb25maWd1cmU6MTYyNzE6IGdjYyAtc3RkPWdu dTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmct Mi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9n bGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNs dWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0x IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxYMTEgICA+JjUg CmNvbmZpZ3VyZToxNjI3MTogJD8gPSAwCmNvbmZpZ3VyZToxNjI3MTogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjE2MjcxOiBjaGVja2luZyBmb3IgZnV0aW1lbnMKY29uZmlndXJlOjE2MjcxOiBnY2Mg LXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9s aWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51 eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91 c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9w aXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1sWDEx ICAgPiY1IApjb25maWd1cmU6MTYyNzE6ICQ/ID0gMApjb25maWd1cmU6MTYyNzE6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxNjI3MTogY2hlY2tpbmcgZm9yIHV0aW1lbnNhdApjb25maWd1cmU6MTYy NzE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9p bmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2 XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYt Mi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9p bmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAgIGNvbmZ0ZXN0 LmMgLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxNjI3MTogJD8gPSAwCmNvbmZpZ3VyZToxNjI3MTog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2MjcxOiBjaGVja2luZyBmb3IgbHV0aW1lcwpjb25maWd1 cmU6MTYyNzE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1J L3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9s aWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1w aXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1J L3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAgIGNv bmZ0ZXN0LmMgLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxNjI3MTogJD8gPSAwCmNvbmZpZ3VyZTox NjI3MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2MjcxOiBjaGVja2luZyBmb3IgZ2V0ZHRhYmxl c2l6ZQpjb25maWd1cmU6MTYyNzE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8y IC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWIt Mi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9p bmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRl L2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBl MiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxNjI3MTogJD8gPSAw CmNvbmZpZ3VyZToxNjI3MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2MjcxOiBjaGVja2luZyBm b3Igc2VjdXJlX2dldGVudgpjb25maWd1cmU6MTYyNzE6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0 ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9p bmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNs dWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1J L3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNs dWRlL2ZyZWV0eXBlMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxYMTEgICA+JjUgCmNvbmZpZ3VyZTox NjI3MTogJD8gPSAwCmNvbmZpZ3VyZToxNjI3MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2Mjgz OiBjaGVja2luZyB3aGV0aGVyIGxvY2FsdGltZSBjYWNoZXMgVFoKY29uZmlndXJlOjE2MzE3OiBn Y2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVk ZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1s aW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAt SS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVk ZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1s WDExICAgPiY1IApjb25mdGVzdC5jOjE5NzoxOiB3YXJuaW5nOiByZXR1cm4gdHlwZSBkZWZhdWx0 cyB0byAnaW50JyBbZW5hYmxlZCBieSBkZWZhdWx0XQogbWFpbigpCiBeCmNvbmZ0ZXN0LmM6IElu IGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMDE6Mzogd2FybmluZzogaW1wbGljaXQgZGVj bGFyYXRpb24gb2YgZnVuY3Rpb24gJ3B1dGVudicgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFy YXRpb25dCiAgIGlmIChwdXRlbnYgKFRaX0dNVDApICE9IDApCiAgIF4KY29uZnRlc3QuYzoyMDI6 NTogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ2V4aXQnIFstV2lt cGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICAgIGV4aXQgKDEpOwogICAgIF4KY29uZnRl c3QuYzoyMDI6NTogd2FybmluZzogaW5jb21wYXRpYmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9m IGJ1aWx0LWluIGZ1bmN0aW9uICdleGl0JyBbZW5hYmxlZCBieSBkZWZhdWx0XQpjb25mdGVzdC5j OjIwNDozOiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAndW5zZXRl bnYnIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICB1bnNldGVudigiVFoiKTsK ICAgXgpjb25mdGVzdC5jOjIwNzo1OiB3YXJuaW5nOiBpbmNvbXBhdGlibGUgaW1wbGljaXQgZGVj bGFyYXRpb24gb2YgYnVpbHQtaW4gZnVuY3Rpb24gJ2V4aXQnIFtlbmFibGVkIGJ5IGRlZmF1bHRd CiAgICAgZXhpdCAoMSk7CiAgICAgXgpjb25mdGVzdC5jOjIwOTo1OiB3YXJuaW5nOiBpbmNvbXBh dGlibGUgaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgYnVpbHQtaW4gZnVuY3Rpb24gJ2V4aXQnIFtl bmFibGVkIGJ5IGRlZmF1bHRdCiAgICAgZXhpdCAoMSk7CiAgICAgXgpjb25mdGVzdC5jOjIxMjo1 OiB3YXJuaW5nOiBpbmNvbXBhdGlibGUgaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgYnVpbHQtaW4g ZnVuY3Rpb24gJ2V4aXQnIFtlbmFibGVkIGJ5IGRlZmF1bHRdCiAgICAgZXhpdCAoMSk7CiAgICAg Xgpjb25mdGVzdC5jOjIxMzozOiB3YXJuaW5nOiBpbmNvbXBhdGlibGUgaW1wbGljaXQgZGVjbGFy YXRpb24gb2YgYnVpbHQtaW4gZnVuY3Rpb24gJ2V4aXQnIFtlbmFibGVkIGJ5IGRlZmF1bHRdCiAg IGV4aXQgKDApOwogICBeCmNvbmZpZ3VyZToxNjMxNzogJD8gPSAwCmNvbmZpZ3VyZToxNjMxNzog Li9jb25mdGVzdApjb25maWd1cmU6MTYzMTc6ICQ/ID0gMApjb25maWd1cmU6MTYzMzI6IHJlc3Vs dDogbm8KY29uZmlndXJlOjE2MzQxOiBjaGVja2luZyBmb3Igc29ja2V0CmNvbmZpZ3VyZToxNjM0 MTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2lu Y2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZf NjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0y LjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2lu Y2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgICAgY29uZnRlc3Qu YyAtbFgxMSAgID4mNSAKY29uZmlndXJlOjE2MzQxOiAkPyA9IDAKY29uZmlndXJlOjE2MzQxOiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTYzNDk6IGNoZWNraW5nIG5ldGluZXQvaW4uaCB1c2FiaWxp dHkKY29uZmlndXJlOjE2MzQ5OiBnY2MgLXN0ZD1nbnU5OSAtYyAgLWczIC1PMiAtcHRocmVhZCAt SS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3Iv bGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGst cGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAt SS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjE2MzQ5OiAkPyA9IDAKY29uZmlndXJlOjE2MzQ5OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTYzNDk6IGNoZWNraW5nIG5ldGluZXQvaW4uaCBwcmVzZW5jZQpj b25maWd1cmU6MTYzNDk6IGdjYyAtRSAgICAgY29uZnRlc3QuYwpjb25maWd1cmU6MTYzNDk6ICQ/ ID0gMApjb25maWd1cmU6MTYzNDk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjM0OTogY2hlY2tp bmcgZm9yIG5ldGluZXQvaW4uaApjb25maWd1cmU6MTYzNDk6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxNjM1OTogY2hlY2tpbmcgYXJwYS9pbmV0LmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNjM1OTog Z2NjIC1zdGQ9Z251OTkgLWMgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2 Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251 L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2lu Y2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFu LTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZToxNjM1OTogJD8gPSAwCmNvbmZpZ3VyZToxNjM1OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2 MzU5OiBjaGVja2luZyBhcnBhL2luZXQuaCBwcmVzZW5jZQpjb25maWd1cmU6MTYzNTk6IGdjYyAt RSAgICAgY29uZnRlc3QuYwpjb25maWd1cmU6MTYzNTk6ICQ/ID0gMApjb25maWd1cmU6MTYzNTk6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjM1OTogY2hlY2tpbmcgZm9yIGFycGEvaW5ldC5oCmNv bmZpZ3VyZToxNjM1OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2Mzc5OiBjaGVja2luZyBmb3Ig cGlkX3QKY29uZmlndXJlOjE2Mzc5OiBnY2MgLXN0ZD1nbnU5OSAtYyAgLWczIC1PMiAtcHRocmVh ZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91 c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9n ZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcx MiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE2Mzc5OiAkPyA9IDAKY29uZmlndXJlOjE2Mzc5OiBn Y2MgLXN0ZD1nbnU5OSAtYyAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3Zn LTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUv Z2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5j bHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4t MSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3Qu YzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIzMToyMDogZXJyb3I6IGV4cGVjdGVk IGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgogaWYgKHNpemVvZiAoKHBpZF90KSkpCiAgICAg ICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MTYzNzk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg IkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVt YWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0Bn bnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2Fy ZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0 LjQuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9T T1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJD RSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRF TV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5l IFNZU1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAx CnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhU X0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAj ZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJ U1QgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0gg MQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QUREUiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19M RUFfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9N TUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2Rl ZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNF U1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5l IEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFS Nl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sg MQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZF X01BR0lDS01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5l IEdES19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJM RV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhB VkVfR1RLX0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9J VEVNX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmlu ZSBIQVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElB TE9HX0dFVF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJ VElWRSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBI QVZFX0dUS19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJ RU5UQUJMRV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9I QVNfUkVTSVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZpbmUgSEFW RV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklM RV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUg SEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3Rh bnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8ICNkZWZp bmUgSEFWRV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQ RUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZp bmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmluZSBIQVZF X1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVm aW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkgMQp8ICNk ZWZpbmUgSEFWRV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5lIEhBVkVf WFJBTkRSIDEKfCAjZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwy IDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwg I2RlZmluZSBIQVZFX0FDQ0VQVDQgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1F IDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2Rl ZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRE T1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdO QUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8 ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAj ZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8 ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZp bmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9F TkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JF TlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVE IDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9fX0VYRUNVVEFCTEVf U1RBUlQgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfQUxJR05FRF9BTExP QyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZF X0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQVCAx CnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2Rl ZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFW RV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVf RkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFU IDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8 ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX01LT1NURU1QIDEKfCAjZGVmaW5l IEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVB RExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VN QVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1Ig MQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FU0FUIDEKfCAj ZGVmaW5lIEhBVkVfRlVUSU1FTlMgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZp bmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX1NFQ1VSRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9T WVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYg U1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5o Pgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+ CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5l ZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVt b3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1h aW4gKCkKfCB7CnwgaWYgKHNpemVvZiAoKHBpZF90KSkpCnwgCSAgICByZXR1cm4gMDsKfCAgIDsK fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE2Mzc5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTYzOTI6IGNoZWNraW5nIHZmb3JrLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNjM5MjogZ2NjIC1z dGQ9Z251OTkgLWMgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAg LUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWIt Mi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUv Y2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkv dXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MjI4 OjE5OiBmYXRhbCBlcnJvcjogdmZvcmsuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2lu Y2x1ZGUgPHZmb3JrLmg+CiAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0 ZWQuCmNvbmZpZ3VyZToxNjM5MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIK fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAj ZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVm aW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2Rl ZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5l IF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwg I2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUg ImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhB VkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19FWFRfSCAxCnwgI2RlZmlu ZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BFUlNP TkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9X SVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBI QVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVm aW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEK fCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAxCnwgI2RlZmluZSBET1VHX0xFQV9NQUxMT0MgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZp bmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWEtCIDEKfCAjZGVmaW5lIEhBVkVfWFJN U0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNk ZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAx CnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2Rl ZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9JTUFHRU1BR0lDSyAxCnwgI2RlZmluZSBI QVZFX01BR0lDS0VYUE9SVElNQUdFUElYRUxTIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLTUVSR0VJ TUFHRUxBWUVSUyAxCnwgI2RlZmluZSBIQVZFX0dUSzMgMQp8ICNkZWZpbmUgR0RLX0RJU0FCTEVf REVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9O X1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVTRV9HVEsgMQp8ICNkZWZpbmUgSEFWRV9HVEtfSEFORExF X0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfVEVBUk9GRl9NRU5VX0lURU1fTkVXIDEKfCAj ZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJ REdFVF9TRVRfSEFTX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19ESUFMT0dfR0VUX0FDVElP Tl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfU0VOU0lUSVZFIDEKfCAjZGVm aW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQUEVEIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0FESlVT VE1FTlRfR0VUX1BBR0VfU0laRSAxCnwgI2RlZmluZSBIQVZFX0dUS19PUklFTlRBQkxFX1NFVF9P UklFTlRBVElPTiAxCnwgI2RlZmluZSBIQVZFX0dUS19XSU5ET1dfU0VUX0hBU19SRVNJWkVfR1JJ UCAxCnwgI2RlZmluZSBIQVZFX0dTRVRUSU5HUyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwg I2RlZmluZSBIQVZFX0dGSUxFTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwg I2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwg I2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFj a19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hGVCAxCnwgI2RlZmluZSBIQVZFX0ZSRUVU WVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmlu ZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAx CnwgI2RlZmluZSBQTkdfREVQU1RSVUNUIC8qKi8KfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2Rl ZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9YX1NN IDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUT1VUUFVUUFJJTUFSWSAxCnwgI2RlZmluZSBIQVZFX1hS UkdFVFNDUkVFTlJFU09VUkNFU0NVUlJFTlQgMQp8ICNkZWZpbmUgSEFWRV9YUkFORFIgMQp8ICNk ZWZpbmUgSEFWRV9YSU5FUkFNQSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUg SEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVf QUNDRVBUNCAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VU UlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUg SEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklO VCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK fCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAj ZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZp bmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmlu ZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZF X1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9G UkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZF X0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMg MQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAj ZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmlu ZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUg SEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX19fRVhFQ1VUQUJMRV9TVEFSVCAxCnwgI2Rl ZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9BTElHTkVEX0FMTE9DIDEKfCAjZGVmaW5l IEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAj ZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBUIDEKfCAjZGVmaW5lIEhB VkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVT X0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQg MQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2Rl ZmluZSBIQVZFX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUg SEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZF X0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAx CnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sg MQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmlu ZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBI QVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTQVQgMQp8ICNkZWZpbmUgSEFWRV9G VVRJTUVOUyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSBIQVZFX0xVVElN RVMgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VDVVJF X0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwg IyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9I CnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMK fCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAj IGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVS UyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVu ZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdT X0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBF U19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElO VF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERf SAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPHZmb3JrLmg+CmNv bmZpZ3VyZToxNjM5MjogcmVzdWx0OiBubwpjb25maWd1cmU6MTYzOTI6IGNoZWNraW5nIHZmb3Jr LmggcHJlc2VuY2UKY29uZmlndXJlOjE2MzkyOiBnY2MgLUUgICAgIGNvbmZ0ZXN0LmMKY29uZnRl c3QuYzoxOTU6MTk6IGZhdGFsIGVycm9yOiB2Zm9yay5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0 b3J5CiAjaW5jbHVkZSA8dmZvcmsuaD4KICAgICAgICAgICAgICAgICAgIF4KY29tcGlsYXRpb24g dGVybWluYXRlZC4KY29uZmlndXJlOjE2MzkyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUg RW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAy NC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9y ZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1h Y3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUw Igp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNF IDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAiZ251L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNk ZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5l IEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK fCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0VYVF9IIDEK fCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfUEVSU09OQUxJVFlfTElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmlu ZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAj ZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9G TEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIg MQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJ TUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVmaW5lIERPVUdfTEVBX01B TExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YS0IgMQp8ICNkZWZpbmUg SEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklO RyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZF X1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElN IDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0lNQUdFTUFHSUNLIDEKfCAj ZGVmaW5lIEhBVkVfTUFHSUNLRVhQT1JUSU1BR0VQSVhFTFMgMQp8ICNkZWZpbmUgSEFWRV9NQUdJ Q0tNRVJHRUlNQUdFTEFZRVJTIDEKfCAjZGVmaW5lIEhBVkVfR1RLMyAxCnwgI2RlZmluZSBHREtf RElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBHTElCX0RJU0FCTEVfREVQ UkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgVVNFX0dUSyAxCnwgI2RlZmluZSBIQVZFX0dU S19IQU5ETEVfQk9YX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01FTlVfSVRFTV9O RVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9XSU5ET1cgMQp8ICNkZWZpbmUgSEFW RV9HVEtfV0lER0VUX1NFVF9IQVNfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0RJQUxPR19H RVRfQUNUSU9OX0FSRUEgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9TRU5TSVRJVkUg MQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9NQVBQRUQgMQp8ICNkZWZpbmUgSEFWRV9H VEtfQURKVVNUTUVOVF9HRVRfUEFHRV9TSVpFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX09SSUVOVEFC TEVfU0VUX09SSUVOVEFUSU9OIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19TRVRfSEFTX1JF U0laRV9HUklQIDEKfCAjZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKfCAjZGVmaW5lIEhBVkVfR05V VExTIDEKfCAjZGVmaW5lIEhBVkVfR0ZJTEVOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9U SUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIEhBVkVf WElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0 ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWEZUIDEKfCAjZGVmaW5lIEhB VkVfRlJFRVRZUEUgMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEK fCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhB VkVfUE5HIDEKfCAjZGVmaW5lIFBOR19ERVBTVFJVQ1QgLyoqLwp8ICNkZWZpbmUgSEFWRV9aTElC IDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBI QVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRPVVRQVVRQUklNQVJZIDEKfCAjZGVmaW5l IEhBVkVfWFJSR0VUU0NSRUVOUkVTT1VSQ0VTQ1VSUkVOVCAxCnwgI2RlZmluZSBIQVZFX1hSQU5E UiAxCnwgI2RlZmluZSBIQVZFX1hJTkVSQU1BIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwg I2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZp bmUgSEFWRV9BQ0NFUFQ0IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUg SEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwg I2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUg SEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFH RVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElN SVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAx CnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEK fCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVm aW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmlu ZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVm aW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhB VkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdF TlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEK fCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwg I2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfX19FWEVDVVRBQkxFX1NUQVJU IDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX0FMSUdORURfQUxMT0MgMQp8 ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VF S08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFQgMQp8ICNk ZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUg SEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfUkVB RExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRM IDEKfCAjZGVmaW5lIEhBVkVfRkRPUEVORElSIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwg I2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVm aW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZF X1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURf U0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5L IDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEK fCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAj ZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVNBVCAxCnwgI2RlZmlu ZSBIQVZFX0ZVVElNRU5TIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIEhB VkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgSEFW RV9TRUNVUkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHZmb3JrLmg+CmNvbmZpZ3VyZToxNjM5MjogcmVz dWx0OiBubwpjb25maWd1cmU6MTYzOTI6IGNoZWNraW5nIGZvciB2Zm9yay5oCmNvbmZpZ3VyZTox NjM5MjogcmVzdWx0OiBubwpjb25maWd1cmU6MTY0MDU6IGNoZWNraW5nIGZvciBmb3JrCmNvbmZp Z3VyZToxNjQwNTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAtTzIgLXB0aHJlYWQg LUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNy L2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2Rr LXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIg LUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgICAg Y29uZnRlc3QuYyAtbFgxMSAgID4mNSAKY29uZnRlc3QuYzoyMTg6Njogd2FybmluZzogY29uZmxp Y3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdmb3JrJyBbZW5hYmxlZCBieSBkZWZh dWx0XQogY2hhciBmb3JrICgpOwogICAgICBeCmNvbmZpZ3VyZToxNjQwNTogJD8gPSAwCmNvbmZp Z3VyZToxNjQwNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2NDA1OiBjaGVja2luZyBmb3IgdmZv cmsKY29uZmlndXJlOjE2NDA1OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAgLWczIC1PMiAt cHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIu MCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5j bHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9s aWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIg ICAgICAgICBjb25mdGVzdC5jIC1sWDExICAgPiY1IApjb25maWd1cmU6MTY0MDU6ICQ/ID0gMApj b25maWd1cmU6MTY0MDU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjQxNTogY2hlY2tpbmcgZm9y IHdvcmtpbmcgZm9yawpjb25maWd1cmU6MTY0Mzc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNs dWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRl IC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vz ci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRl L2ZyZWV0eXBlMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxNjQz NzogJD8gPSAwCmNvbmZpZ3VyZToxNjQzNzogLi9jb25mdGVzdApjb25maWd1cmU6MTY0Mzc6ICQ/ ID0gMApjb25maWd1cmU6MTY0NDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjQ2ODogY2hlY2tp bmcgZm9yIHdvcmtpbmcgdmZvcmsKY29uZmlndXJlOjE2NTc4OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTY2MDY6IGNoZWNraW5nIGZvciBzbnByaW50Zgpjb25maWd1cmU6MTY2MDY6IGdjYyAtc3Rk PWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJz dmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdu dS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9p bmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1h bi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAgIGNvbmZ0ZXN0LmMgLWxYMTEgICA+ JjUgCmNvbmZ0ZXN0LmM6MjIyOjY6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWls dC1pbiBmdW5jdGlvbiAnc25wcmludGYnIFtlbmFibGVkIGJ5IGRlZmF1bHRdCiBjaGFyIHNucHJp bnRmICgpOwogICAgICBeCmNvbmZpZ3VyZToxNjYwNjogJD8gPSAwCmNvbmZpZ3VyZToxNjYwNjog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2NjIzOiBjaGVja2luZyB3aGV0aGVyIEdMaWIgaXMgbGlu a2VkIGluCmNvbmZpZ3VyZToxNjYzNzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgIC1nMyAt TzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xp Yi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNy L2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1 ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5 cGUyICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGst MS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTItYXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0x LjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91 c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3Iv bGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJm YnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkv dXNyL2luY2x1ZGUvbGlicG5nMTIgICAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIu MCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xp Yi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVk ZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAt SS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ2xpYi0y LjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgICAtSS91c3Iv aW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5j bHVkZSAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0 LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlICAgICAgICAgY29uZnRlc3QuYyAtbFgxMSAgIC1s Z3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtf cGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3Qt Mi4wIC1sZ2xpYi0yLjAgICAtbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1Zi0yLjAg LWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICAgLWxnaW8tMi4wIC1sZ29iamVjdC0y LjAgLWxnbGliLTIuMCAgIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAgIC1sZ2lvLTIuMCAtbGdv YmplY3QtMi4wIC1sZ2xpYi0yLjAgICA+JjUgCmNvbmZpZ3VyZToxNjYzNzogJD8gPSAwCmNvbmZp Z3VyZToxNjY0NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2NjU4OiBjaGVja2luZyBmb3Igbmxf bGFuZ2luZm8gYW5kIENPREVTRVQKY29uZmlndXJlOjE2Njc0OiBnY2MgLXN0ZD1nbnU5OSAtbyBj b25mdGVzdCAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91 c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAv aW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWly byAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3Iv aW5jbHVkZS9mcmVldHlwZTIgICAgICAgICBjb25mdGVzdC5jIC1sWDExICAgPiY1IApjb25maWd1 cmU6MTY2NzQ6ICQ/ID0gMApjb25maWd1cmU6MTY2ODM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox NjY5MTogY2hlY2tpbmcgZm9yIG1ic3RhdGVfdApjb25maWd1cmU6MTY3MDg6IGdjYyAtc3RkPWdu dTk5IC1jICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vz ci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9p bmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJv IC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9p bmNsdWRlL2ZyZWV0eXBlMiAgICAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTY3MDg6ICQ/ ID0gMApjb25maWd1cmU6MTY3MTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjcyNzogY2hlY2tp bmcgZm9yIEMgcmVzdHJpY3RlZCBhcnJheSBkZWNsYXJhdGlvbnMKY29uZmlndXJlOjE2NzQzOiBn Y2MgLXN0ZD1nbnU5OSAtYyAgLWczIC1PMiAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3Zn LTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUv Z2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5j bHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4t MSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgICAgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl OjE2NzQzOiAkPyA9IDAKY29uZmlndXJlOjE2NzUwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTcw NjA6IGNoZWNraW5nIGZvciBzaWduYWxzIHZpYSBjaGFyYWN0ZXJzCmNvbmZpZ3VyZToxNzA3ODog Z2NjIC1FICAgICBjb25mdGVzdC5jCmNvbmZpZ3VyZToxNzA3ODogJD8gPSAwCmNvbmZpZ3VyZTox NzA4NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3MTIzOiBnY2MgLUUgICAgIGNvbmZ0ZXN0LmMK Y29uZnRlc3QuYzoyMjc6MzogZXJyb3I6ICNlcnJvciAibm90IGlhNjQiCiAjIGVycm9yICJub3Qg aWE2NCIKICAgXgpjb25maWd1cmU6MTcxMjM6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBF bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0 LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3Jn Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFj cy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAi CnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwg I2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VS Q0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RF TV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8 ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNk ZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZM QUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAx CnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElN SVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFM TE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBI QVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5H IDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVf WDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0g MQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNk ZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01BR0lD S01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdES19E SVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBS RUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RL X0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVNX05F VyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZF X0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dF VF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAx CnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZFX0dU S19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJM RV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVT SVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVU TFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJ RlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9Y SU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRl Q2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUgSEFW RV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8 ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFW RV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmluZSBIQVZFX1pMSUIg MQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhB VkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkgMQp8ICNkZWZpbmUg SEFWRV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5lIEhBVkVfWFJBTkRS IDEKfCAjZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAj ZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmlu ZSBIQVZFX0FDQ0VQVDQgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAj ZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBI QVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdF U0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEK fCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8 ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZp bmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5l IEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZp bmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFW RV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VO VCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8 ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAj ZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQg MQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfQUxJR05FRF9BTExPQyAxCnwg I2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVL TyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQVCAxCnwgI2Rl ZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBI QVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9SRUFE TElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwg MQp8ICNkZWZpbmUgSEFWRV9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAj ZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZp bmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVf UElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9T SUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksg MQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8 ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNk ZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FU0FUIDEKfCAjZGVmaW5l IEhBVkVfRlVUSU1FTlMgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgSEFW RV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBIQVZF X1NFQ1VSRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUg SEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05Q UklOVEYgMQp8ICNkZWZpbmUgSEFWRV9HTElCIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09E RVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2Fy ciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhB VkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0Ug Ii9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMg MQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RP UllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJ UkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FO WV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEhBVkVfUFJPQ0ZT IDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElO VEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBOQVJST1dQUk9UTyAxCnwgI2RlZmluZSBVTklYOThf UFRZUyAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsg aSsrKQp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgeyBjaGFyICpwdHluYW1lID0gMDsg c2lnc2V0X3QgYmxvY2tlZDsgc2lnZW1wdHlzZXQgKCZibG9ja2VkKTsgc2lnYWRkc2V0ICgmYmxv Y2tlZCwgU0lHQ0hMRCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX0JMT0NLLCAmYmxvY2tlZCwgMCk7 IGlmIChncmFudHB0IChmZCkgIT0gLTEgJiYgdW5sb2NrcHQgKGZkKSAhPSAtMSkgcHR5bmFtZSA9 IHB0c25hbWUoZmQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19VTkJMT0NLLCAmYmxvY2tlZCwgMCk7 IGlmICghcHR5bmFtZSkgeyBlbWFjc19jbG9zZSAoZmQpOyByZXR1cm4gLTE7IH0gc25wcmludGYg KHB0eV9uYW1lLCBQVFlfTkFNRV9TSVpFLCAiJXMiLCBwdHluYW1lKTsgfQp8ICNkZWZpbmUgUFRZ X09QRU4gZG8geyBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19DTE9FWEVDIHwgT19OT0NU VFkpOyBpZiAoZmQgPCAwICYmIGVycm5vID09IEVJTlZBTCkgZmQgPSBwb3NpeF9vcGVucHQgKE9f UkRXUiB8IE9fTk9DVFRZKTsgfSB3aGlsZSAoZmFsc2UpCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJ TlRGIC8qKi8KfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAKfCAjaWZuZGVmIF9faWE2NF9fCnwgIyBlcnJvciAibm90IGlhNjQiCnwg I2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0K Y29uZmlndXJlOjE3MTY0OiBnY2MgLUUgICAgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjE3MTY0OiAk PyA9IDAKY29uZmlndXJlOjE3MTg0OiBjaGVja2luZyBmb3IgX3NldGptcApjb25maWd1cmU6MTcy MDY6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0ICAtZzMgLU8yIC1wdGhyZWFkIC1JL3Vzci9p bmNsdWRlL2xpYnJzdmctMi4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2 XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2dkay1waXhidWYt Mi4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9p bmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgICAgICAgIGNvbmZ0ZXN0 LmMgLWxYMTEgICA+JjUgCmNvbmZpZ3VyZToxNzIwNjogJD8gPSAwCmNvbmZpZ3VyZToxNzIxNDog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3Mzc4OiBjaGVja2luZyBmb3IgdXNhYmxlIEZJT05SRUFE CmNvbmZpZ3VyZToxNzQwOTogZ2NjIC1zdGQ9Z251OTkgLWMgIC1nMyAtTzIgLXB0aHJlYWQgLUkv dXNyL2luY2x1ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xp Yi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBp eGJ1Zi0yLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkv dXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNzQwOTogJD8gPSAwCmNvbmZpZ3VyZToxNzQxODogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjE3NDI2OiBjaGVja2luZyBmb3IgdXNhYmxlIFNJR0lPCmNvbmZpZ3Vy ZToxNzQ0NDogZ2NjIC1zdGQ9Z251OTkgLWMgIC1nMyAtTzIgLXB0aHJlYWQgLUkvdXNyL2luY2x1 ZGUvbGlicnN2Zy0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQt bGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAg LUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgLUkvdXNyL2luY2x1 ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyICAgICAgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZpZ3VyZToxNzQ0NDogJD8gPSAwCmNvbmZpZ3VyZToxNzQ1MTogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjE3NzQwOiBjaGVja2luZyBmb3Igd29ya2luZyBhbGxvY2EuaApjb25maWd1cmU6MTc3 NTc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1s cHRocmVhZCAgPiY1IApjb25maWd1cmU6MTc3NTc6ICQ/ID0gMApjb25maWd1cmU6MTc3NjU6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToxNzc3MzogY2hlY2tpbmcgZm9yIGFsbG9jYQpjb25maWd1cmU6 MTc4MTA6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5j IC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MTc4MTA6ICQ/ID0gMApjb25maWd1cmU6MTc4MTg6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzkzMTogY2hlY2tpbmcgZm9yIHVuc2lnbmVkIGxvbmcg bG9uZyBpbnQKY29uZmlndXJlOjE3OTc5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc5ODg6IGNo ZWNraW5nIHdoZXRoZXIgYnl0ZSBvcmRlcmluZyBpcyBiaWdlbmRpYW4KY29uZmlndXJlOjE4MDAz OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6 MjQzOjk6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnbm90JwogICAgICAgICBub3QgYSB1bml2 ZXJzYWwgY2FwYWJsZSBjb21waWxlcgogICAgICAgICBeCmNvbmZ0ZXN0LmM6MjQzOjE1OiBlcnJv cjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9y ZSAndW5pdmVyc2FsJwogICAgICAgICBub3QgYSB1bml2ZXJzYWwgY2FwYWJsZSBjb21waWxlcgog ICAgICAgICAgICAgICBeCmNvbmZ0ZXN0LmM6MjQzOjE1OiBlcnJvcjogdW5rbm93biB0eXBlIG5h bWUgJ3VuaXZlcnNhbCcKY29uZmlndXJlOjE4MDAzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJH TlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFj cyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251 Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUv ZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40 LjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBT WVNURU1fVFlQRSAiZ251L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8 ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVm aW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9I IDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0VYVF9I IDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfUEVSU09OQUxJVFlfTElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2Rl ZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNU IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEK fCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FE RFIgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVmaW5lIERPVUdfTEVB X01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1B UCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YS0IgMQp8ICNkZWZp bmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNU UklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBI QVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZf WElNIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0lNQUdFTUFHSUNLIDEK fCAjZGVmaW5lIEhBVkVfTUFHSUNLRVhQT1JUSU1BR0VQSVhFTFMgMQp8ICNkZWZpbmUgSEFWRV9N QUdJQ0tNRVJHRUlNQUdFTEFZRVJTIDEKfCAjZGVmaW5lIEhBVkVfR1RLMyAxCnwgI2RlZmluZSBH REtfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBHTElCX0RJU0FCTEVf REVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgVVNFX0dUSyAxCnwgI2RlZmluZSBIQVZF X0dUS19IQU5ETEVfQk9YX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01FTlVfSVRF TV9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9XSU5ET1cgMQp8ICNkZWZpbmUg SEFWRV9HVEtfV0lER0VUX1NFVF9IQVNfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0RJQUxP R19HRVRfQUNUSU9OX0FSRUEgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9TRU5TSVRJ VkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9NQVBQRUQgMQp8ICNkZWZpbmUgSEFW RV9HVEtfQURKVVNUTUVOVF9HRVRfUEFHRV9TSVpFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX09SSUVO VEFCTEVfU0VUX09SSUVOVEFUSU9OIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19TRVRfSEFT X1JFU0laRV9HUklQIDEKfCAjZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKfCAjZGVmaW5lIEhBVkVf R05VVExTIDEKfCAjZGVmaW5lIEhBVkVfR0ZJTEVOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVf Tk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIEhB VkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50 aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWEZUIDEKfCAjZGVmaW5l IEhBVkVfRlJFRVRZUEUgMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVH IDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5l IEhBVkVfUE5HIDEKfCAjZGVmaW5lIFBOR19ERVBTVFJVQ1QgLyoqLwp8ICNkZWZpbmUgSEFWRV9a TElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmlu ZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRPVVRQVVRQUklNQVJZIDEKfCAjZGVm aW5lIEhBVkVfWFJSR0VUU0NSRUVOUkVTT1VSQ0VTQ1VSUkVOVCAxCnwgI2RlZmluZSBIQVZFX1hS QU5EUiAxCnwgI2RlZmluZSBIQVZFX1hJTkVSQU1BIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAx CnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNk ZWZpbmUgSEFWRV9BQ0NFUFQ0IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZp bmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAx CnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZp bmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRS TElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9X TiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFM IDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAj ZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2Rl ZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAj ZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5l IEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5E UFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5U IDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAx CnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfX19FWEVDVVRBQkxFX1NU QVJUIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX0FMSUdORURfQUxMT0Mg MQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9G U0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFQgMQp8 ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZp bmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVf UkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZD TlRMIDEKfCAjZGVmaW5lIEhBVkVfRkRPUEVORElSIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAx CnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAj ZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9NS09TVEVNUCAxCnwgI2RlZmluZSBI QVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURM SU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEK fCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVNBVCAxCnwgI2Rl ZmluZSBIQVZFX0ZVVElNRU5TIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5l IEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUg SEFWRV9TRUNVUkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVm aW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09S S0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZF X1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfR0xJQiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZP X0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmlj dF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVW SUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vz c2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElS RUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJ U19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJ U19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBIQVZFX1BS T0NGUyAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmlu ZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgTkFSUk9XUFJPVE8gMQp8ICNkZWZpbmUgVU5J WDk4X1BUWVMgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8 IDE7IGkrKykKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHsgY2hhciAqcHR5bmFtZSA9 IDA7IHNpZ3NldF90IGJsb2NrZWQ7IHNpZ2VtcHR5c2V0ICgmYmxvY2tlZCk7IHNpZ2FkZHNldCAo JmJsb2NrZWQsIFNJR0NITEQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19CTE9DSywgJmJsb2NrZWQs IDApOyBpZiAoZ3JhbnRwdCAoZmQpICE9IC0xICYmIHVubG9ja3B0IChmZCkgIT0gLTEpIHB0eW5h bWUgPSBwdHNuYW1lKGZkKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfVU5CTE9DSywgJmJsb2NrZWQs IDApOyBpZiAoIXB0eW5hbWUpIHsgZW1hY3NfY2xvc2UgKGZkKTsgcmV0dXJuIC0xOyB9IHNucHJp bnRmIChwdHlfbmFtZSwgUFRZX05BTUVfU0laRSwgIiVzIiwgcHR5bmFtZSk7IH0KfCAjZGVmaW5l IFBUWV9PUEVOIGRvIHsgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8IE9fQ0xPRVhFQyB8IE9f Tk9DVFRZKTsgaWYgKGZkIDwgMCAmJiBlcnJubyA9PSBFSU5WQUwpIGZkID0gcG9zaXhfb3BlbnB0 IChPX1JEV1IgfCBPX05PQ1RUWSk7IH0gd2hpbGUgKGZhbHNlKQp8ICNkZWZpbmUgUFRZX05BTUVf U1BSSU5URiAvKiovCnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5l IEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUg SEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBHTlVfTElOVVggLyoq Lwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwg I2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAiZ3RrdXRpbC5oIgp8ICNkZWZpbmUg RU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXVua25vd24tbGludXgtZ251Igp8ICNkZWZpbmUg RU1BQ1NfQ09ORklHX09QVElPTlMgIi0td2l0aC14LXRvb2wta2l0PWd0ayIKfCAjZGVmaW5lIEhB VkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0Mg MQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg Ki8KfCAjaWZuZGVmIF9fQVBQTEVfQ0NfXwp8IAkgICAgICAgbm90IGEgdW5pdmVyc2FsIGNhcGFi bGUgY29tcGlsZXIKfCAJICAgICAjZW5kaWYKfCAJICAgICB0eXBlZGVmIGludCBkdW1teTsKfCAK Y29uZmlndXJlOjE4MDQ4OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZToxODA0ODogJD8gPSAwCmNvbmZpZ3VyZToxODA2NjogZ2NjIC1zdGQ9Z251 OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAn bWFpbic6CmNvbmZ0ZXN0LmM6MjQ5OjQ6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnbm90Jwog ICAgbm90IGJpZyBlbmRpYW4KICAgIF4KY29uZnRlc3QuYzoyNDk6MTI6IGVycm9yOiBleHBlY3Rl ZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdlbmRpYW4n CiAgICBub3QgYmlnIGVuZGlhbgogICAgICAgICAgICBeCmNvbmZpZ3VyZToxODA2NjogJD8gPSAx CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm aW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJl bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3 dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNk ZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAx CnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAx CnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRf SU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVf U1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9Q VFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNk ZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJT19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUg SEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TWVNfU0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAx CnwgI2RlZmluZSBET1VHX0xFQV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAx CnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5l IEhBVkVfWEtCIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFW RV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZT Q1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwg I2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUg SEFWRV9JTUFHRU1BR0lDSyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElNQUdFUElYRUxT IDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2RlZmluZSBIQVZF X0dUSzMgMQp8ICNkZWZpbmUgR0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNk ZWZpbmUgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVTRV9H VEsgMQp8ICNkZWZpbmUgSEFWRV9HVEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFWRV9H VEtfVEVBUk9GRl9NRU5VX0lURU1fTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRf V0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRPVyAxCnwgI2Rl ZmluZSBIQVZFX0dUS19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVfR1RL X1dJREdFVF9HRVRfU0VOU0lUSVZFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQ UEVEIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAxCnwgI2Rl ZmluZSBIQVZFX0dUS19PUklFTlRBQkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2RlZmluZSBIQVZF X0dUS19XSU5ET1dfU0VUX0hBU19SRVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZFX0dTRVRUSU5H UyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxFTk9USUZZIDEK fCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExf QkFSUyAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5l IFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBI QVZFX1hGVCAxCnwgI2RlZmluZSBIQVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEK fCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFW RV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQU1RSVUNUIC8q Ki8KfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUg SEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUT1VU UFVUUFJJTUFSWSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNFU0NVUlJFTlQg MQp8ICNkZWZpbmUgSEFWRV9YUkFORFIgMQp8ICNkZWZpbmUgSEFWRV9YSU5FUkFNQSAxCnwgI2Rl ZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1B SUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVBUNCAxCnwgI2RlZmluZSBIQVZFX0dF VEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VU X0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhB VkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAx CnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEK fCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAj ZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmlu ZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVf R0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZF X0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZF X0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9H RVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAx CnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNk ZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmlu ZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBI QVZFX19fRVhFQ1VUQUJMRV9TVEFSVCAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUg SEFWRV9BTElHTkVEX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklU IDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5l IFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNF VCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQg MQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZET1BFTkRJUiAxCnwgI2Rl ZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZF X0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTUtP U1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8 ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2Rl ZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUg SEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9GVVRJTUVTQVQgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVOUyAxCnwgI2RlZmluZSBIQVZFX1VU SU1FTlNBVCAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFC TEVTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VDVVJFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX0lO RVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAx CnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZP UksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0dMSUIgMQp8ICNk ZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEK fCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9G VUxMX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAx CnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicK fCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdf Z2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQ KF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RP UllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18p KQp8ICNkZWZpbmUgSEFWRV9QUk9DRlMgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0Ug Ii9kZXYvZHNwIgp8ICNkZWZpbmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIE5BUlJPV1BS T1RPIDEKfCAjZGVmaW5lIFVOSVg5OF9QVFlTIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50 IGk7IGZvciAoaSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5U RiB7IGNoYXIgKnB0eW5hbWUgPSAwOyBzaWdzZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNldCAoJmJs b2NrZWQpOyBzaWdhZGRzZXQgKCZibG9ja2VkLCBTSUdDSExEKTsgcHRocmVhZF9zaWdtYXNrIChT SUdfQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1bmxvY2tw dCAoZmQpICE9IC0xKSBwdHluYW1lID0gcHRzbmFtZShmZCk7IHB0aHJlYWRfc2lnbWFzayAoU0lH X1VOQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKCFwdHluYW1lKSB7IGVtYWNzX2Nsb3NlIChmZCk7 IHJldHVybiAtMTsgfSBzbnByaW50ZiAocHR5X25hbWUsIFBUWV9OQU1FX1NJWkUsICIlcyIsIHB0 eW5hbWUpOyB9CnwgI2RlZmluZSBQVFlfT1BFTiBkbyB7IGZkID0gcG9zaXhfb3BlbnB0IChPX1JE V1IgfCBPX0NMT0VYRUMgfCBPX05PQ1RUWSk7IGlmIChmZCA8IDAgJiYgZXJybm8gPT0gRUlOVkFM KSBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19OT0NUVFkpOyB9IHdoaWxlIChmYWxzZSkK fCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hB UkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgR0NfU0VUSk1Q X1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNk ZWZpbmUgR05VX0xJTlVYIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmlu ZSBVU0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgImd0 a3V0aWwuaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC11bmtub3duLWxp bnV4LWdudSIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXdpdGgteC10b29sLWtp dD1ndGsiCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwg I2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUg SEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8IAkJI2luY2x1 ZGUgPHN5cy9wYXJhbS5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgI2lmIEJZVEVfT1JERVIg IT0gQklHX0VORElBTgp8IAkJIG5vdCBiaWcgZW5kaWFuCnwgCQkjZW5kaWYKfCAKfCAgIDsKfCAg IHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE4MTk0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxODM2 MjogY2hlY2tpbmcgd2hldGhlciB0aGUgcHJlcHJvY2Vzc29yIHN1cHBvcnRzIGluY2x1ZGVfbmV4 dApjb25maWd1cmU6MTg0MDA6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgLUljb25mdGVz dGQxYiAtSWNvbmZ0ZXN0ZDIgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE4NDAwOiAkPyA9IDAK Y29uZmlndXJlOjE4NDIxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTg0NDI6IGNoZWNraW5nIHdo ZXRoZXIgc3lzdGVtIGhlYWRlciBmaWxlcyBsaW1pdCB0aGUgbGluZSBsZW5ndGgKY29uZmlndXJl OjE4NDY1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxODQ3NzogY2hlY2tpbmcgd2hldGhlciBzdHJ0 b2xkIGNvbmZvcm1zIHRvIEM5OQpjb25maWd1cmU6MTg1MDQ6IGdjYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6 MTg1MDQ6ICQ/ID0gMApjb25maWd1cmU6MTg1MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxODUy NzogY2hlY2tpbmcgaWYgZW52aXJvbiBpcyBwcm9wZXJseSBkZWNsYXJlZApjb25maWd1cmU6MTg1 NTA6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3Qu YzoyNDk6Mzk6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2Vudmlyb24nCiAgICAgICAg ICAgIGV4dGVybiBzdHJ1Y3QgeyBpbnQgZm9vOyB9IGVudmlyb247CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZ0ZXN0LmM6 MjQ0OjA6Ci91c3IvaW5jbHVkZS91bmlzdGQuaDo1NDU6MTU6IG5vdGU6IHByZXZpb3VzIGRlY2xh cmF0aW9uIG9mICdlbnZpcm9uJyB3YXMgaGVyZQogZXh0ZXJuIGNoYXIgKiplbnZpcm9uOwogICAg ICAgICAgICAgICBeCmNvbmZpZ3VyZToxODU1MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05V IEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3Mg MjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5v cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2Vt YWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41 MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJD RSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEK fCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NP VVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lT VEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAj ZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19FWFRfSCAx CnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZp bmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAx CnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwg I2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf RkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERS IDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZM SU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAxCnwgI2RlZmluZSBET1VHX0xFQV9N QUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWEtCIDEKfCAjZGVmaW5l IEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJ TkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFW RV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJ TSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9JTUFHRU1BR0lDSyAxCnwg I2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElNQUdFUElYRUxTIDEKfCAjZGVmaW5lIEhBVkVfTUFH SUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2RlZmluZSBIQVZFX0dUSzMgMQp8ICNkZWZpbmUgR0RL X0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgR0xJQl9ESVNBQkxFX0RF UFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVTRV9HVEsgMQp8ICNkZWZpbmUgSEFWRV9H VEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfVEVBUk9GRl9NRU5VX0lURU1f TkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfV0lORE9XIDEKfCAjZGVmaW5lIEhB VkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19ESUFMT0df R0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfU0VOU0lUSVZF IDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQUEVEIDEKfCAjZGVmaW5lIEhBVkVf R1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAxCnwgI2RlZmluZSBIQVZFX0dUS19PUklFTlRB QkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2RlZmluZSBIQVZFX0dUS19XSU5ET1dfU0VUX0hBU19S RVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZFX0dTRVRUSU5HUyAxCnwgI2RlZmluZSBIQVZFX0dO VVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxFTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05P VElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBIQVZF X1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlh dGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hGVCAxCnwgI2RlZmluZSBI QVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAx CnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBI QVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQU1RSVUNUIC8qKi8KfCAjZGVmaW5lIEhBVkVfWkxJ QiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUg SEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUT1VUUFVUUFJJTUFSWSAxCnwgI2RlZmlu ZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNFU0NVUlJFTlQgMQp8ICNkZWZpbmUgSEFWRV9YUkFO RFIgMQp8ICNkZWZpbmUgSEFWRV9YSU5FUkFNQSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8 ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVm aW5lIEhBVkVfQUNDRVBUNCAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5l IEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJ TUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04g MQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAx CnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2Rl ZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZp bmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZp bmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2Rl ZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBI QVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBX RU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAx CnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8 ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX19fRVhFQ1VUQUJMRV9TVEFS VCAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9BTElHTkVEX0FMTE9DIDEK fCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNF RUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBUIDEKfCAj ZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5l IEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX1JF QURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05U TCAxCnwgI2RlZmluZSBIQVZFX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8 ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2Rl ZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFW RV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElO SyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAx CnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwg I2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTQVQgMQp8ICNkZWZp bmUgSEFWRV9GVVRJTUVOUyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSBI QVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIEhB VkVfU0VDVVJFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmlu ZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJ TkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9T TlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0dMSUIgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19D T0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3Rf YXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUg SEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklD RSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3Nl cyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVD VE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNf RElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNf QU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgSEFWRV9QUk9D RlMgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUg SU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIE5BUlJPV1BST1RPIDEKfCAjZGVmaW5lIFVOSVg5 OF9QVFlTIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAoaSA9IDA7IGkgPCAx OyBpKyspCnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiB7IGNoYXIgKnB0eW5hbWUgPSAw OyBzaWdzZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNldCAoJmJsb2NrZWQpOyBzaWdhZGRzZXQgKCZi bG9ja2VkLCBTSUdDSExEKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfQkxPQ0ssICZibG9ja2VkLCAw KTsgaWYgKGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1bmxvY2twdCAoZmQpICE9IC0xKSBwdHluYW1l ID0gcHRzbmFtZShmZCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX1VOQkxPQ0ssICZibG9ja2VkLCAw KTsgaWYgKCFwdHluYW1lKSB7IGVtYWNzX2Nsb3NlIChmZCk7IHJldHVybiAtMTsgfSBzbnByaW50 ZiAocHR5X25hbWUsIFBUWV9OQU1FX1NJWkUsICIlcyIsIHB0eW5hbWUpOyB9CnwgI2RlZmluZSBQ VFlfT1BFTiBkbyB7IGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX0NMT0VYRUMgfCBPX05P Q1RUWSk7IGlmIChmZCA8IDAgJiYgZXJybm8gPT0gRUlOVkFMKSBmZCA9IHBvc2l4X29wZW5wdCAo T19SRFdSIHwgT19OT0NUVFkpOyB9IHdoaWxlIChmYWxzZSkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQ UklOVEYgLyoqLwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBH Q19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhB VkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgR05VX0xJTlVYIC8qKi8K fCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBVU0FCTEVfU0lHSU8gMQp8ICNk ZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgImd0a3V0aWwuaCIKfCAjZGVmaW5lIEVN QUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC11bmtub3duLWxpbnV4LWdudSIKfCAjZGVmaW5lIEVN QUNTX0NPTkZJR19PUFRJT05TICItLXdpdGgteC10b29sLWtpdD1ndGsiCnwgI2RlZmluZSBIQVZF X1hfV0lORE9XUyAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEK fCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZp bmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRP TEQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaWYgSEFWRV9VTklTVERfSAp8ICAgICAg I2luY2x1ZGUgPHVuaXN0ZC5oPgp8ICAgICAgI2VuZGlmCnwgICAgICAvKiBtaW5ndywgQmVPUywg SGFpa3UgZGVjbGFyZSBlbnZpcm9uIGluIDxzdGRsaWIuaD4sIG5vdCBpbiA8dW5pc3RkLmg+LiAg Ki8KfCAgICAgICNpbmNsdWRlIDxzdGRsaWIuaD4KfCAKfCAgICAgICAgICAgIGV4dGVybiBzdHJ1 Y3QgeyBpbnQgZm9vOyB9IGVudmlyb247CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBlbnZpcm9uLmZv byA9IDE7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxODU1ODogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjE4NTczOiBjaGVja2luZyBmb3IgY29tcGxldGUgZXJybm8uaApjb25maWd1 cmU6MTg2NDY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxODk2ODogY2hlY2tpbmcgZm9yIG1vZGVf dApjb25maWd1cmU6MTg5Njg6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3Qu YyA+JjUKY29uZmlndXJlOjE4OTY4OiAkPyA9IDAKY29uZmlndXJlOjE4OTY4OiBnY2MgLXN0ZD1n bnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9u ICdtYWluJzoKY29uZnRlc3QuYzoyODA6MjE6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJl Zm9yZSAnKScgdG9rZW4KIGlmIChzaXplb2YgKChtb2RlX3QpKSkKICAgICAgICAgICAgICAgICAg ICAgXgpjb25maWd1cmU6MTg5Njg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwg I2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2Rl ZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmlu ZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBF ICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBI QVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q V0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZp bmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJT T05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVf V0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZp bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUg SEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2Rl ZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAx CnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9DIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBIQVZFX1hS TVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAj ZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYg MQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNk ZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZpbmUg SEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS01FUkdF SU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdES19ESVNBQkxF X0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElP Tl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hBTkRM RV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVNX05FVyAxCnwg I2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19X SURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dFVF9BQ1RJ T05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAxCnwgI2Rl ZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZFX0dUS19BREpV U1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9TRVRf T1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpFX0dS SVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8 ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8 ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8 ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJh Y2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUgSEFWRV9GUkVF VFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZp bmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcg MQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNk ZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfWF9T TSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkgMQp8ICNkZWZpbmUgSEFWRV9Y UlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5lIEhBVkVfWFJBTkRSIDEKfCAj ZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5l IEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZF X0FDQ0VQVDQgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dF VFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5l IEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJ TlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAx CnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwg I2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVm aW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZp bmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFW RV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVf RlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFW RV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5D IDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwg I2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZp bmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5l IEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQgMQp8ICNk ZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfQUxJR05FRF9BTExPQyAxCnwgI2RlZmlu ZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwg I2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQVCAxCnwgI2RlZmluZSBI QVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JF U19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FU IDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNk ZWZpbmUgSEFWRV9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5l IEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFW RV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIg MQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNL IDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNk ZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZp bmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUg SEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FU0FUIDEKfCAjZGVmaW5lIEhBVkVf RlVUSU1FTlMgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgSEFWRV9MVVRJ TUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFQ1VS RV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9G T1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JL IDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYg MQp8ICNkZWZpbmUgSEFWRV9HTElCIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAx CnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jl c3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZ UyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYv bnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNk ZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQ ICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9S WV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAo X2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEhBVkVfUFJPQ0ZTIDEKfCAj ZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQ VF9JTlBVVCAxCnwgI2RlZmluZSBOQVJST1dQUk9UTyAxCnwgI2RlZmluZSBVTklYOThfUFRZUyAx CnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8 ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgeyBjaGFyICpwdHluYW1lID0gMDsgc2lnc2V0 X3QgYmxvY2tlZDsgc2lnZW1wdHlzZXQgKCZibG9ja2VkKTsgc2lnYWRkc2V0ICgmYmxvY2tlZCwg U0lHQ0hMRCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX0JMT0NLLCAmYmxvY2tlZCwgMCk7IGlmIChn cmFudHB0IChmZCkgIT0gLTEgJiYgdW5sb2NrcHQgKGZkKSAhPSAtMSkgcHR5bmFtZSA9IHB0c25h bWUoZmQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19VTkJMT0NLLCAmYmxvY2tlZCwgMCk7IGlmICgh cHR5bmFtZSkgeyBlbWFjc19jbG9zZSAoZmQpOyByZXR1cm4gLTE7IH0gc25wcmludGYgKHB0eV9u YW1lLCBQVFlfTkFNRV9TSVpFLCAiJXMiLCBwdHluYW1lKTsgfQp8ICNkZWZpbmUgUFRZX09QRU4g ZG8geyBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19DTE9FWEVDIHwgT19OT0NUVFkpOyBp ZiAoZmQgPCAwICYmIGVycm5vID09IEVJTlZBTCkgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8 IE9fTk9DVFRZKTsgfSB3aGlsZSAoZmFsc2UpCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8q Ki8KfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1Q X1dPUktTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRK TVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIEdOVV9MSU5VWCAvKiovCnwgI2RlZmlu ZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENP UFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJndGt1dGlsLmgiCnwgI2RlZmluZSBFTUFDU19DT05G SUdVUkFUSU9OICJ4ODZfNjQtdW5rbm93bi1saW51eC1nbnUiCnwgI2RlZmluZSBFTUFDU19DT05G SUdfT1BUSU9OUyAiLS13aXRoLXgtdG9vbC1raXQ9Z3RrIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRP V1MgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVf VU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAj ZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lu Y2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5 cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUg PHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8 c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9T VERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQg SEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1 ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVk ZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1 ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1 ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRl IDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKCht b2RlX3QpKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1 cmU6MTg5Njg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxODk3OTogY2hlY2tpbmcgd2hldGhlciBm ZGF0YXN5bmMgaXMgZGVjbGFyZWQKY29uZmlndXJlOjE4OTc5OiBnY2MgLXN0ZD1nbnU5OSAtYyAt ZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxODk3OTogJD8gPSAwCmNvbmZpZ3Vy ZToxODk3OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE4OTkyOiBjaGVja2luZyBmb3Igc3RfZG1f bW9kZSBpbiBzdHJ1Y3Qgc3RhdApjb25maWd1cmU6MTkwMTA6IGdjYyAtc3RkPWdudTk5IC1jIC1n MyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpj b25mdGVzdC5jOjI1MToxNzogZXJyb3I6ICdzdHJ1Y3Qgc3RhdCcgaGFzIG5vIG1lbWJlciBuYW1l ZCAnc3RfZG1fbW9kZScKIHN0cnVjdCBzdGF0IHM7IHMuc3RfZG1fbW9kZTsKICAgICAgICAgICAg ICAgICBeCmNvbmZpZ3VyZToxOTAxMDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41 MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIK fCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAj ZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwg I2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVm aW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAx CnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5l IEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19S RVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZF X1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19FWFRfSCAxCnwgI2Rl ZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BF UlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElN RV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmlu ZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1Mg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAj ZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9I IDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAxCnwgI2RlZmluZSBET1VHX0xFQV9NQUxMT0Mg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWEtCIDEKfCAjZGVmaW5lIEhBVkVf WFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8 ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFS NiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwg I2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9JTUFHRU1BR0lDSyAxCnwgI2RlZmlu ZSBIQVZFX01BR0lDS0VYUE9SVElNQUdFUElYRUxTIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLTUVS R0VJTUFHRUxBWUVSUyAxCnwgI2RlZmluZSBIQVZFX0dUSzMgMQp8ICNkZWZpbmUgR0RLX0RJU0FC TEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgR0xJQl9ESVNBQkxFX0RFUFJFQ0FU SU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVTRV9HVEsgMQp8ICNkZWZpbmUgSEFWRV9HVEtfSEFO RExFX0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfVEVBUk9GRl9NRU5VX0lURU1fTkVXIDEK fCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RL X1dJREdFVF9TRVRfSEFTX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19ESUFMT0dfR0VUX0FD VElPTl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfU0VOU0lUSVZFIDEKfCAj ZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQUEVEIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0FE SlVTVE1FTlRfR0VUX1BBR0VfU0laRSAxCnwgI2RlZmluZSBIQVZFX0dUS19PUklFTlRBQkxFX1NF VF9PUklFTlRBVElPTiAxCnwgI2RlZmluZSBIQVZFX0dUS19XSU5ET1dfU0VUX0hBU19SRVNJWkVf R1JJUCAxCnwgI2RlZmluZSBIQVZFX0dTRVRUSU5HUyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAx CnwgI2RlZmluZSBIQVZFX0dGSUxFTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAx CnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBIQVZFX1hJTSAx CnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxs YmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hGVCAxCnwgI2RlZmluZSBIQVZFX0ZS RUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2Rl ZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BO RyAxCnwgI2RlZmluZSBQTkdfREVQU1RSVUNUIC8qKi8KfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwg I2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9Y X1NNIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUT1VUUFVUUFJJTUFSWSAxCnwgI2RlZmluZSBIQVZF X1hSUkdFVFNDUkVFTlJFU09VUkNFU0NVUlJFTlQgMQp8ICNkZWZpbmUgSEFWRV9YUkFORFIgMQp8 ICNkZWZpbmUgSEFWRV9YSU5FUkFNQSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZp bmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhB VkVfQUNDRVBUNCAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVf R0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZp bmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVf UklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNk ZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2Rl ZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBI QVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFW RV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFW RV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBI QVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZ TkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEK fCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2Rl ZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZp bmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX19fRVhFQ1VUQUJMRV9TVEFSVCAxCnwg I2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9BTElHTkVEX0FMTE9DIDEKfCAjZGVm aW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEK fCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBUIDEKfCAjZGVmaW5l IEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVf UkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5L QVQgMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwg I2RlZmluZSBIQVZFX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZp bmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBI QVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QSVBF MiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01B U0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwg I2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2Rl ZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmlu ZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTQVQgMQp8ICNkZWZpbmUgSEFW RV9GVVRJTUVOUyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSBIQVZFX0xV VElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VD VVJFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZF X0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZP UksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5U RiAxCnwgI2RlZmluZSBIQVZFX0dMSUIgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VU IDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9f cmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9Q VFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rl di9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwg I2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9T RVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNU T1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NF UChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgSEFWRV9QUk9DRlMgMQp8 ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgSU5URVJS VVBUX0lOUFVUIDEKfCAjZGVmaW5lIE5BUlJPV1BST1RPIDEKfCAjZGVmaW5lIFVOSVg5OF9QVFlT IDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAoaSA9IDA7IGkgPCAxOyBpKysp CnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiB7IGNoYXIgKnB0eW5hbWUgPSAwOyBzaWdz ZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNldCAoJmJsb2NrZWQpOyBzaWdhZGRzZXQgKCZibG9ja2Vk LCBTSUdDSExEKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYg KGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1bmxvY2twdCAoZmQpICE9IC0xKSBwdHluYW1lID0gcHRz bmFtZShmZCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX1VOQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYg KCFwdHluYW1lKSB7IGVtYWNzX2Nsb3NlIChmZCk7IHJldHVybiAtMTsgfSBzbnByaW50ZiAocHR5 X25hbWUsIFBUWV9OQU1FX1NJWkUsICIlcyIsIHB0eW5hbWUpOyB9CnwgI2RlZmluZSBQVFlfT1BF TiBkbyB7IGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX0NMT0VYRUMgfCBPX05PQ1RUWSk7 IGlmIChmZCA8IDAgJiYgZXJybm8gPT0gRUlOVkFMKSBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdS IHwgT19OT0NUVFkpOyB9IHdoaWxlIChmYWxzZSkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYg LyoqLwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRK TVBfV09SS1MgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NF VEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgR05VX0xJTlVYIC8qKi8KfCAjZGVm aW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBVU0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUg Q09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgImd0a3V0aWwuaCIKfCAjZGVmaW5lIEVNQUNTX0NP TkZJR1VSQVRJT04gIng4Nl82NC11bmtub3duLWxpbnV4LWdudSIKfCAjZGVmaW5lIEVNQUNTX0NP TkZJR19PUFRJT05TICItLXdpdGgteC10b29sLWtpdD1ndGsiCnwgI2RlZmluZSBIQVZFX1hfV0lO RE9XUyAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVm aW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFW RV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8 ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lO QyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4K fCAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCBpbnQKfCBtYWluICgpCnwgewp8IHN0cnVjdCBzdGF0 IHM7IHMuc3RfZG1fbW9kZTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE5MDE3 OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTAyNzogY2hlY2tpbmcgd2hldGhlciBzdHJtb2RlIGlz IGRlY2xhcmVkCmNvbmZpZ3VyZToxOTAyNzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBj b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6 Mjg1OjEwOiBlcnJvcjogJ3N0cm1vZGUnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogICAodm9pZCkgc3RybW9kZTsKICAgICAgICAgIF4KY29uZnRlc3QuYzoyODU6MTA6 IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBm b3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCmNvbmZpZ3VyZToxOTAyNzogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJi dWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5n bnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZp bmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwg I2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVm aW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwg I2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5P REUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lT X1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VU U05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZp bmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJT19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFW RV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TWVNfU0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAxCnwg I2RlZmluZSBET1VHX0xFQV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhB VkVfWEtCIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9Y U0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JF RU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2Rl ZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFW RV9JTUFHRU1BR0lDSyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElNQUdFUElYRUxTIDEK fCAjZGVmaW5lIEhBVkVfTUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2RlZmluZSBIQVZFX0dU SzMgMQp8ICNkZWZpbmUgR0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZp bmUgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVTRV9HVEsg MQp8ICNkZWZpbmUgSEFWRV9HVEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtf VEVBUk9GRl9NRU5VX0lURU1fTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfV0lO RE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRPVyAxCnwgI2RlZmlu ZSBIQVZFX0dUS19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJ REdFVF9HRVRfU0VOU0lUSVZFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQUEVE IDEKfCAjZGVmaW5lIEhBVkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAxCnwgI2RlZmlu ZSBIQVZFX0dUS19PUklFTlRBQkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2RlZmluZSBIQVZFX0dU S19XSU5ET1dfU0VUX0hBU19SRVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZFX0dTRVRUSU5HUyAx CnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxFTk9USUZZIDEKfCAj ZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFS UyAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhS ZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZF X1hGVCAxCnwgI2RlZmluZSBIQVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAj ZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9Q TkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQU1RSVUNUIC8qKi8K fCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFW RV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUT1VUUFVU UFJJTUFSWSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNFU0NVUlJFTlQgMQp8 ICNkZWZpbmUgSEFWRV9YUkFORFIgMQp8ICNkZWZpbmUgSEFWRV9YSU5FUkFNQSAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxf VVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVBUNCAxCnwgI2RlZmluZSBIQVZFX0dFVEhP U1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NV UlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVf UkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVm aW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBI QVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VU U09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dF VElGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dB SV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRE RUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwg I2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZp bmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBI QVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZF X19fRVhFQ1VUQUJMRV9TVEFSVCAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFW RV9BTElHTkVEX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEK fCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRF Uk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAx CnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8 ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZET1BFTkRJUiAxCnwgI2RlZmlu ZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dF VFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTUtPU1RF TVAgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNk ZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmlu ZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFW RV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9G VVRJTUVTQVQgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVOUyAxCnwgI2RlZmluZSBIQVZFX1VUSU1F TlNBVCAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVT SVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VDVVJFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX0lORVRf U09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwg I2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksg MQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0dMSUIgMQp8ICNkZWZp bmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAj ZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxM X05BTUUgMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwg I2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAj ZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vj b3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9j XykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllf U0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8 ICNkZWZpbmUgSEFWRV9QUk9DRlMgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9k ZXYvZHNwIgp8ICNkZWZpbmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIE5BUlJPV1BST1RP IDEKfCAjZGVmaW5lIFVOSVg5OF9QVFlTIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7 IGZvciAoaSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiB7 IGNoYXIgKnB0eW5hbWUgPSAwOyBzaWdzZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNldCAoJmJsb2Nr ZWQpOyBzaWdhZGRzZXQgKCZibG9ja2VkLCBTSUdDSExEKTsgcHRocmVhZF9zaWdtYXNrIChTSUdf QkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1bmxvY2twdCAo ZmQpICE9IC0xKSBwdHluYW1lID0gcHRzbmFtZShmZCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX1VO QkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKCFwdHluYW1lKSB7IGVtYWNzX2Nsb3NlIChmZCk7IHJl dHVybiAtMTsgfSBzbnByaW50ZiAocHR5X25hbWUsIFBUWV9OQU1FX1NJWkUsICIlcyIsIHB0eW5h bWUpOyB9CnwgI2RlZmluZSBQVFlfT1BFTiBkbyB7IGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1Ig fCBPX0NMT0VYRUMgfCBPX05PQ1RUWSk7IGlmIChmZCA8IDAgJiYgZXJybm8gPT0gRUlOVkFMKSBm ZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19OT0NUVFkpOyB9IHdoaWxlIChmYWxzZSkKfCAj ZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFD VEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dP UktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZp bmUgR05VX0xJTlVYIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBV U0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgImd0a3V0 aWwuaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC11bmtub3duLWxpbnV4 LWdudSIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXdpdGgteC10b29sLWtpdD1n dGsiCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2Rl ZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFW RV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVm aW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp bmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxz eXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRl IDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVf U1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVk IEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNs dWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1 ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNs dWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNs dWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVk ZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAjaWZuZGVmIHN0cm1v ZGUKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCAgICh2b2lkKSBzdHJtb2RlOwp8ICNlbHNlCnwgICAo dm9pZCkgc3RybW9kZTsKfCAjZW5kaWYKfCAjZW5kaWYKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8 IH0KY29uZmlndXJlOjE5MDI3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTA3NjogY2hlY2tpbmcg d2hldGhlciBsc3RhdCBjb3JyZWN0bHkgaGFuZGxlcyB0cmFpbGluZyBzbGFzaApjb25maWd1cmU6 MTkxMDk6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5j IC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MTkxMDk6ICQ/ID0gMApjb25maWd1cmU6MTkxMDk6 IC4vY29uZnRlc3QKY29uZmlndXJlOjE5MTA5OiAkPyA9IDAKY29uZmlndXJlOjE5MTI2OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTkzMTY6IGNoZWNraW5nIGZvciBnZXRvcHQuaApjb25maWd1cmU6 MTkzMTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTMzMzogY2hlY2tpbmcgZm9yIGdldG9wdF9s b25nX29ubHkKY29uZmlndXJlOjE5MzMzOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMg LU8yICAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjE5MzMzOiAkPyA9 IDAKY29uZmlndXJlOjE5MzMzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTkzNDc6IGNoZWNraW5n IHdoZXRoZXIgZ2V0b3B0IGlzIFBPU0lYIGNvbXBhdGlibGUKY29uZmlndXJlOjE5Mzg5OiBnY2Mg LXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQg ID4mNSAKY29uZmlndXJlOjE5Mzg5OiAkPyA9IDAKY29uZmlndXJlOjE5Mzg5OiAuL2NvbmZ0ZXN0 CmNvbmZpZ3VyZToxOTM4OTogJD8gPSAwCmNvbmZpZ3VyZToxOTQ0ODogZ2NjIC1zdGQ9Z251OTkg LW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZp Z3VyZToxOTQ0ODogJD8gPSAwCmNvbmZpZ3VyZToxOTQ0ODogLi9jb25mdGVzdApjb25maWd1cmU6 MTk0NDg6ICQ/ID0gMApjb25maWd1cmU6MTk0OTA6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0 IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MTk0OTA6 ICQ/ID0gMApjb25maWd1cmU6MTk0OTA6IC4vY29uZnRlc3QKcHJvZ3JhbTogb3B0aW9uIHJlcXVp cmVzIGFuIGFyZ3VtZW50IC0tICdiJwpjb25maWd1cmU6MTk0OTA6ICQ/ID0gMApjb25maWd1cmU6 MTk1MDg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTUxNjogY2hlY2tpbmcgZm9yIHdvcmtpbmcg R05VIGdldG9wdCBmdW5jdGlvbgpjb25maWd1cmU6MTk3Mzc6IGdjYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6 MTk3Mzc6ICQ/ID0gMApjb25maWd1cmU6MTk3Mzc6IC4vY29uZnRlc3QKY29uZmlndXJlOjE5NzM3 OiAkPyA9IDAKY29uZmlndXJlOjE5NzUzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTk3NTg6IGNo ZWNraW5nIGZvciB3b3JraW5nIEdOVSBnZXRvcHRfbG9uZyBmdW5jdGlvbgpjb25maWd1cmU6MTk4 MDM6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1s cHRocmVhZCAgPiY1IApjb25maWd1cmU6MTk4MDM6ICQ/ID0gMApjb25maWd1cmU6MTk4MDM6IC4v Y29uZnRlc3QKY29uZmlndXJlOjE5ODAzOiAkPyA9IDAKY29uZmlndXJlOjE5ODE0OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MTk4NDM6IGNoZWNraW5nIHdoZXRoZXIgZ2V0ZW52IGlzIGRlY2xhcmVk CmNvbmZpZ3VyZToxOTg0MzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6MTk4NDM6ICQ/ID0gMApjb25maWd1cmU6MTk4NDM6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxOTg1OTogY2hlY2tpbmcgZm9yIEMvQysrIHJlc3RyaWN0IGtleXdvcmQKY29u ZmlndXJlOjE5ODg0OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZpZ3VyZToxOTg4NDogJD8gPSAwCmNvbmZpZ3VyZToxOTg5MjogcmVzdWx0OiBfX3Jlc3Ry aWN0CmNvbmZpZ3VyZToyMDAyOTogY2hlY2tpbmcgZm9yIHN0cnVjdCB0aW1ldmFsCmNvbmZpZ3Vy ZToyMDA1MjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25m aWd1cmU6MjAwNTI6ICQ/ID0gMApjb25maWd1cmU6MjAwNjA6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToyMDA2NTogY2hlY2tpbmcgZm9yIHdpZGUtZW5vdWdoIHN0cnVjdCB0aW1ldmFsLnR2X3NlYyBt ZW1iZXIKY29uZmlndXJlOjIwMDkyOiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMDA5MjogJD8gPSAwCmNvbmZpZ3VyZToyMDEwMDogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjIwMTE0OiBjaGVja2luZyBmb3IgbG9uZyBsb25nIGludApjb25maWd1 cmU6MjAxNjQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMDE4NjogZ2NjIC1zdGQ9Z251OTkgLWMg LWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjI1MzoxMDogZXJyb3I6IHVua25v d24gdHlwZSBuYW1lICdub3QnCiAgICAgICAgICBub3QgYSB1bml2ZXJzYWwgY2FwYWJsZSBjb21w aWxlcgogICAgICAgICAgXgpjb25mdGVzdC5jOjI1MzoxNjogZXJyb3I6IGV4cGVjdGVkICc9Jywg JywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ3VuaXZlcnNhbCcKICAg ICAgICAgIG5vdCBhIHVuaXZlcnNhbCBjYXBhYmxlIGNvbXBpbGVyCiAgICAgICAgICAgICAgICBe CmNvbmZ0ZXN0LmM6MjUzOjE2OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3VuaXZlcnNhbCcK Y29uZmlndXJlOjIwMTg2OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg LyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy NC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5l IFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZp bmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUg TUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BP U0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVm aW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251 L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9T T1VORCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNF X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0gg MQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhB VkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0VYVF9IIDEKfCAjZGVmaW5lIEhB VkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf V0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUEVSU09OQUxJ VFlfTElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhf U1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVf SUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9B REFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUg SEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVmaW5lIERPVUdfTEVBX01BTExPQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YS0IgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVRE QVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmlu ZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAj ZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5l IEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0lNQUdFTUFHSUNLIDEKfCAjZGVmaW5lIEhBVkVf TUFHSUNLRVhQT1JUSU1BR0VQSVhFTFMgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tNRVJHRUlNQUdF TEFZRVJTIDEKfCAjZGVmaW5lIEhBVkVfR1RLMyAxCnwgI2RlZmluZSBHREtfRElTQUJMRV9ERVBS RUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FS TklOR1MgMQp8ICNkZWZpbmUgVVNFX0dUSyAxCnwgI2RlZmluZSBIQVZFX0dUS19IQU5ETEVfQk9Y X05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01FTlVfSVRFTV9ORVcgMQp8ICNkZWZp bmUgSEFWRV9HVEtfV0lER0VUX0dFVF9XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VU X1NFVF9IQVNfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0RJQUxPR19HRVRfQUNUSU9OX0FS RUEgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9TRU5TSVRJVkUgMQp8ICNkZWZpbmUg SEFWRV9HVEtfV0lER0VUX0dFVF9NQVBQRUQgMQp8ICNkZWZpbmUgSEFWRV9HVEtfQURKVVNUTUVO VF9HRVRfUEFHRV9TSVpFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX09SSUVOVEFCTEVfU0VUX09SSUVO VEFUSU9OIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19TRVRfSEFTX1JFU0laRV9HUklQIDEK fCAjZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVm aW5lIEhBVkVfR0ZJTEVOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVm aW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVm aW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2Fy ZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWEZUIDEKfCAjZGVmaW5lIEhBVkVfRlJFRVRZUEUg MQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhB VkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAj ZGVmaW5lIFBOR19ERVBTVFJVQ1QgLyoqLwp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5l IEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8 ICNkZWZpbmUgSEFWRV9YUlJHRVRPVVRQVVRQUklNQVJZIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VU U0NSRUVOUkVTT1VSQ0VTQ1VSUkVOVCAxCnwgI2RlZmluZSBIQVZFX1hSQU5EUiAxCnwgI2RlZmlu ZSBIQVZFX1hJTkVSQU1BIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZF X0hfRVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9BQ0NF UFQ0IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNB R0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZF X0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEK fCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZp bmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBI QVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhB VkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVD VkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBF RVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJ RkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VU TElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwg I2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZp bmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhB VkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZF X0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfX19FWEVDVVRBQkxFX1NUQVJUIDEKfCAjZGVmaW5l IEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX0FMSUdORURfQUxMT0MgMQp8ICNkZWZpbmUgSEFW RV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZp bmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFQgMQp8ICNkZWZpbmUgSEFWRV9Q T1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5J VCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwg I2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5l IEhBVkVfRkRPUEVORElSIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZF X0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNU QVQgMQp8ICNkZWZpbmUgSEFWRV9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAj ZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwg I2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5l IEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhB VkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVf RlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVNBVCAxCnwgI2RlZmluZSBIQVZFX0ZVVElN RU5TIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAx CnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRUNVUkVfR0VU RU5WIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAx CnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwg I2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAj ZGVmaW5lIEhBVkVfR0xJQiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNk ZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmlj dAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8 ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwi CnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5l IFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycK fCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQ KF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykg KElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBIQVZFX1BST0NGUyAxCnwgI2RlZmlu ZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5Q VVQgMQp8ICNkZWZpbmUgTkFSUk9XUFJPVE8gMQp8ICNkZWZpbmUgVU5JWDk4X1BUWVMgMQp8ICNk ZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVm aW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHsgY2hhciAqcHR5bmFtZSA9IDA7IHNpZ3NldF90IGJs b2NrZWQ7IHNpZ2VtcHR5c2V0ICgmYmxvY2tlZCk7IHNpZ2FkZHNldCAoJmJsb2NrZWQsIFNJR0NI TEQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19CTE9DSywgJmJsb2NrZWQsIDApOyBpZiAoZ3JhbnRw dCAoZmQpICE9IC0xICYmIHVubG9ja3B0IChmZCkgIT0gLTEpIHB0eW5hbWUgPSBwdHNuYW1lKGZk KTsgcHRocmVhZF9zaWdtYXNrIChTSUdfVU5CTE9DSywgJmJsb2NrZWQsIDApOyBpZiAoIXB0eW5h bWUpIHsgZW1hY3NfY2xvc2UgKGZkKTsgcmV0dXJuIC0xOyB9IHNucHJpbnRmIChwdHlfbmFtZSwg UFRZX05BTUVfU0laRSwgIiVzIiwgcHR5bmFtZSk7IH0KfCAjZGVmaW5lIFBUWV9PUEVOIGRvIHsg ZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8IE9fQ0xPRVhFQyB8IE9fTk9DVFRZKTsgaWYgKGZk IDwgMCAmJiBlcnJubyA9PSBFSU5WQUwpIGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX05P Q1RUWSk7IH0gd2hpbGUgKGZhbHNlKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiovCnwg I2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JL UyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEK fCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBHTlVfTElOVVggLyoqLwp8ICNkZWZpbmUgVVNB QkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklH SFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwg I2RlZmluZSBURVJNX0hFQURFUiAiZ3RrdXRpbC5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJB VElPTiAieDg2XzY0LXVua25vd24tbGludXgtZ251Igp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09Q VElPTlMgIi0td2l0aC14LXRvb2wta2l0PWd0ayIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEK fCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFW RV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lH TkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmlu ZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hF RF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRP UFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVz dHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgI2lmbmRlZiBfX0FQUExFX0NDX18KfCAgICAgICAgICBub3QgYSB1 bml2ZXJzYWwgY2FwYWJsZSBjb21waWxlcgp8ICAgICAgICAgI2VuZGlmCnwgICAgICAgICB0eXBl ZGVmIGludCBkdW1teTsKfCAKY29uZmlndXJlOjIwMzQzOiBjaGVja2luZyB3aGV0aGVyIHN0ZGlu dC5oIGNvbmZvcm1zIHRvIEM5OQpjb25maWd1cmU6MjA1MTI6IGdjYyAtc3RkPWdudTk5IC1jIC1n MyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIwNTEyOiAkPyA9IDAKY29uZmlndXJl OjIwNTkyOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3Qu YyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjIwNTkyOiAkPyA9IDAKY29uZmlndXJlOjIwNTky OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyMDU5MjogJD8gPSAwCmNvbmZpZ3VyZToyMDYwNDogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjIxMTc3OiBjaGVja2luZyB3aGV0aGVyIG1lbXJjaHIgaXMgZGVj bGFyZWQKY29uZmlndXJlOjIxMTc3OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMTE3NzogJD8gPSAwCmNvbmZpZ3VyZToyMTE3NzogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjIxMjA5OiBjaGVja2luZyB3aGV0aGVyIGFsYXJtIGlzIGRlY2xhcmVk CmNvbmZpZ3VyZToyMTIwOTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6MjEyMDk6ICQ/ID0gMApjb25maWd1cmU6MjEyMDk6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToyMTIzNDogY2hlY2tpbmcgd2hldGhlciA8c3lzL3NlbGVjdC5oPiBpcyBzZWxm LWNvbnRhaW5lZApjb25maWd1cmU6MjEyNTE6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIxMjUxOiAkPyA9IDAKY29uZmlndXJlOjIxMjcwOiBn Y2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMTI3 MDogJD8gPSAwCmNvbmZpZ3VyZToyMTMwMDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWcz IC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyMTMwMDogJD8g PSAwCmNvbmZpZ3VyZToyMTMxMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIxNDU5OiBjaGVja2lu ZyBmb3Igc2lnc2V0X3QKY29uZmlndXJlOjIxNDU5OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8y ICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMTQ1OTogJD8gPSAwCmNvbmZpZ3VyZToyMTQ1 OTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j OiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjYzOjIzOiBlcnJvcjogZXhwZWN0ZWQg ZXhwcmVzc2lvbiBiZWZvcmUgJyknIHRva2VuCiBpZiAoc2l6ZW9mICgoc2lnc2V0X3QpKSkKICAg ICAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToyMTQ1OTogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJH TlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVt YWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3Nv ZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lP TiAiMjQuNC41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBf QUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVf U09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBf VEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNk ZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FS RF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAx CnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9E SVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ T19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFWRV9URVJNX0gg MQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNf U0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRf SUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAxCnwgI2RlZmluZSBE T1VHX0xFQV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWEtCIDEK fCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVT T1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNk ZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZF X1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9JTUFHRU1B R0lDSyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElNQUdFUElYRUxTIDEKfCAjZGVmaW5l IEhBVkVfTUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2RlZmluZSBIQVZFX0dUSzMgMQp8ICNk ZWZpbmUgR0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgR0xJQl9E SVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVTRV9HVEsgMQp8ICNkZWZp bmUgSEFWRV9HVEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfVEVBUk9GRl9N RU5VX0lURU1fTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfV0lORE9XIDEKfCAj ZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dU S19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRf U0VOU0lUSVZFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQUEVEIDEKfCAjZGVm aW5lIEhBVkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAxCnwgI2RlZmluZSBIQVZFX0dU S19PUklFTlRBQkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2RlZmluZSBIQVZFX0dUS19XSU5ET1df U0VUX0hBU19SRVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZFX0dTRVRUSU5HUyAxCnwgI2RlZmlu ZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxFTk9USUZZIDEKfCAjZGVmaW5lIFVT RV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2Rl ZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklN SW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hGVCAxCnwg I2RlZmluZSBIQVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhB VkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwg I2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQU1RSVUNUIC8qKi8KfCAjZGVmaW5l IEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8 ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUT1VUUFVUUFJJTUFSWSAx CnwgI2RlZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNFU0NVUlJFTlQgMQp8ICNkZWZpbmUg SEFWRV9YUkFORFIgMQp8ICNkZWZpbmUgSEFWRV9YSU5FUkFNQSAxCnwgI2RlZmluZSBIQVZFX0xJ QlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NL IDEKfCAjZGVmaW5lIEhBVkVfQUNDRVBUNCAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElS X05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEK fCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhB VkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVf U0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NU UlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRU TyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUg MQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMg MQp8ICNkZWZpbmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJP UiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwg I2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBI QVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9F TkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VU U1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX19fRVhFQ1VU QUJMRV9TVEFSVCAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9BTElHTkVE X0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5l IEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX0dF VFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEK fCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmlu ZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUg SEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBIQVZFX0ZT VEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRB WSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTUtPU1RFTVAgMQp8ICNk ZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFW RV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NU UlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJ TUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTQVQg MQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVOUyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwg I2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfU0VDVVJFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAx CnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBI QVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZp bmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0dMSUIgMQp8ICNkZWZpbmUgSEFWRV9M QU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9f cmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBO VUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1 YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVm aW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNk ZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNk ZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUg SEFWRV9QUk9DRlMgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8 ICNkZWZpbmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIE5BUlJPV1BST1RPIDEKfCAjZGVm aW5lIFVOSVg5OF9QVFlTIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAoaSA9 IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiB7IGNoYXIgKnB0 eW5hbWUgPSAwOyBzaWdzZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNldCAoJmJsb2NrZWQpOyBzaWdh ZGRzZXQgKCZibG9ja2VkLCBTSUdDSExEKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfQkxPQ0ssICZi bG9ja2VkLCAwKTsgaWYgKGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1bmxvY2twdCAoZmQpICE9IC0x KSBwdHluYW1lID0gcHRzbmFtZShmZCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX1VOQkxPQ0ssICZi bG9ja2VkLCAwKTsgaWYgKCFwdHluYW1lKSB7IGVtYWNzX2Nsb3NlIChmZCk7IHJldHVybiAtMTsg fSBzbnByaW50ZiAocHR5X25hbWUsIFBUWV9OQU1FX1NJWkUsICIlcyIsIHB0eW5hbWUpOyB9Cnwg I2RlZmluZSBQVFlfT1BFTiBkbyB7IGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX0NMT0VY RUMgfCBPX05PQ1RUWSk7IGlmIChmZCA8IDAgJiYgZXJybm8gPT0gRUlOVkFMKSBmZCA9IHBvc2l4 X29wZW5wdCAoT19SRFdSIHwgT19OT0NUVFkpOyB9IHdoaWxlIChmYWxzZSkKfCAjZGVmaW5lIFBU WV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwg I2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAj ZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgR05VX0xJ TlVYIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBVU0FCTEVfU0lH SU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgImd0a3V0aWwuaCIKfCAj ZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC11bmtub3duLWxpbnV4LWdudSIKfCAj ZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXdpdGgteC10b29sLWtpdD1ndGsiCnwgI2Rl ZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVf TUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0Eg MQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVf Qzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmlu ZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9I IDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf R0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9O R19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfQUxBUk0gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAgICAgICAjaW5jbHVk ZSA8c2lnbmFsLmg+CnwgICAgICAgLyogTWluZ3cgZGVmaW5lcyBzaWdzZXRfdCBub3QgaW4gPHNp Z25hbC5oPiwgYnV0IGluIDxzeXMvdHlwZXMuaD4uICAqLwp8ICAgICAgICNpbmNsdWRlIDxzeXMv dHlwZXMuaD4KfCAKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKChzaWdzZXRf dCkpKQp8IAkgICAgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToy MTQ1OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIxNDk3OiBjaGVja2luZyBmb3Igc3RkYm9vbC5o IHRoYXQgY29uZm9ybXMgdG8gQzk5CmNvbmZpZ3VyZToyMTU2NDogZ2NjIC1zdGQ9Z251OTkgLWMg LWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjE1NjQ6ICQ/ID0gMApjb25maWd1 cmU6MjE1NzE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMTU3MzogY2hlY2tpbmcgZm9yIF9Cb29s CmNvbmZpZ3VyZToyMTU3MzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6MjE1NzM6ICQ/ID0gMApjb25maWd1cmU6MjE1NzM6IGdjYyAtc3RkPWdu dTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24g J21haW4nOgpjb25mdGVzdC5jOjI5MToyMDogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVm b3JlICcpJyB0b2tlbgogaWYgKHNpemVvZiAoKF9Cb29sKSkpCiAgICAgICAgICAgICAgICAgICAg Xgpjb25maWd1cmU6MjE1NzM6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g IjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZp bmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2Rl ZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmlu ZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZp bmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBf UE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJn bnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZF X1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VS Q0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZpbmUg SEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJTT05B TElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lU SF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUg SEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFW RV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JS T0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmlu ZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwg I2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBIQVZFX1hSTVNF VERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVm aW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8 ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZp bmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZpbmUgSEFW RV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS01FUkdFSU1B R0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdES19ESVNBQkxFX0RF UFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9X QVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hBTkRMRV9C T1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVNX05FVyAxCnwgI2Rl ZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURH RVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dFVF9BQ1RJT05f QVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAxCnwgI2RlZmlu ZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZFX0dUS19BREpVU1RN RU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9TRVRfT1JJ RU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpFX0dSSVAg MQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNk ZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNk ZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNk ZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tf YXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUgSEFWRV9GUkVFVFlQ RSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUg SEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8 ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZp bmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAx CnwgI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkgMQp8ICNkZWZpbmUgSEFWRV9YUlJH RVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5lIEhBVkVfWFJBTkRSIDEKfCAjZGVm aW5lIEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhB VkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0FD Q0VQVDQgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJV U0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhB VkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQg MQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5l IEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUg SEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9S RUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJF RUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9H RVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEK fCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUg SEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhB VkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQgMQp8ICNkZWZp bmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfQUxJR05FRF9BTExPQyAxCnwgI2RlZmluZSBI QVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2Rl ZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQVCAxCnwgI2RlZmluZSBIQVZF X1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19J TklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEK fCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZp bmUgSEFWRV9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhB VkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9M U1RBVCAxCnwgI2RlZmluZSBIQVZFX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8 ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEK fCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZp bmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUg SEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFW RV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FU0FUIDEKfCAjZGVmaW5lIEhBVkVfRlVU SU1FTlMgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVT IDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFQ1VSRV9H RVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JL IDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEK fCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8 ICNkZWZpbmUgSEFWRV9HTElCIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwg I2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3Ry aWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAx CnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVs bCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZp bmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcv Jwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9T RVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2Nf KSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEhBVkVfUFJPQ0ZTIDEKfCAjZGVm aW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9J TlBVVCAxCnwgI2RlZmluZSBOQVJST1dQUk9UTyAxCnwgI2RlZmluZSBVTklYOThfUFRZUyAxCnwg I2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNk ZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgeyBjaGFyICpwdHluYW1lID0gMDsgc2lnc2V0X3Qg YmxvY2tlZDsgc2lnZW1wdHlzZXQgKCZibG9ja2VkKTsgc2lnYWRkc2V0ICgmYmxvY2tlZCwgU0lH Q0hMRCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX0JMT0NLLCAmYmxvY2tlZCwgMCk7IGlmIChncmFu dHB0IChmZCkgIT0gLTEgJiYgdW5sb2NrcHQgKGZkKSAhPSAtMSkgcHR5bmFtZSA9IHB0c25hbWUo ZmQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19VTkJMT0NLLCAmYmxvY2tlZCwgMCk7IGlmICghcHR5 bmFtZSkgeyBlbWFjc19jbG9zZSAoZmQpOyByZXR1cm4gLTE7IH0gc25wcmludGYgKHB0eV9uYW1l LCBQVFlfTkFNRV9TSVpFLCAiJXMiLCBwdHluYW1lKTsgfQp8ICNkZWZpbmUgUFRZX09QRU4gZG8g eyBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19DTE9FWEVDIHwgT19OT0NUVFkpOyBpZiAo ZmQgPCAwICYmIGVycm5vID09IEVJTlZBTCkgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8IE9f Tk9DVFRZKTsgfSB3aGlsZSAoZmFsc2UpCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8K fCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dP UktTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAg MQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIEdOVV9MSU5VWCAvKiovCnwgI2RlZmluZSBV U0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENPUFlS SUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIK fCAjZGVmaW5lIFRFUk1fSEVBREVSICJndGt1dGlsLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdV UkFUSU9OICJ4ODZfNjQtdW5rbm93bi1saW51eC1nbnUiCnwgI2RlZmluZSBFTUFDU19DT05GSUdf T1BUSU9OUyAiLS13aXRoLXgtdG9vbC1raXQ9Z3RrIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1Mg MQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBI QVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5T SUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVm aW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFT SEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dF VE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSBy ZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX01FTVJDSFIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVm aW5lIEhBVkVfU0lHU0VUX1QgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8 c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0 YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIu aD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9I CnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01F TU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3Ry aW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJp bmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50 dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3Rk aW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0 ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYgKHNpemVvZiAoKF9Cb29sKSkp CnwgCSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIxNTcz OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjE1ODk6IGNoZWNraW5nIGZvciB3Y2hhcl90CmNvbmZp Z3VyZToyMTYwNjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6MjE2MDY6ICQ/ID0gMApjb25maWd1cmU6MjE2MTM6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToyMTcyNDogY2hlY2tpbmcgd2hldGhlciBzdHJ1Y3QgdG0gaXMgaW4gc3lzL3RpbWUuaCBv ciB0aW1lLmgKY29uZmlndXJlOjIxNzQ0OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNv bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMTc0NDogJD8gPSAwCmNvbmZpZ3VyZToyMTc1MTogcmVz dWx0OiB0aW1lLmgKY29uZmlndXJlOjIxNzU5OiBjaGVja2luZyBmb3Igc3RydWN0IHRtLnRtX3pv bmUKY29uZmlndXJlOjIxNzU5OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZToyMTc1OTogJD8gPSAwCmNvbmZpZ3VyZToyMTc1OTogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjIxODI3OiBjaGVja2luZyBmb3Igc3RydWN0IHRtLnRtX2dtdG9mZgpjb25m aWd1cmU6MjE4Mjc6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjIxODI3OiAkPyA9IDAKY29uZmlndXJlOjIxODI3OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MjE5MTU6IGNoZWNraW5nIHdoZXRoZXIgc3RydG9pbWF4IGlzIGRlY2xhcmVkCmNvbmZp Z3VyZToyMTkxNTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6MjE5MTU6ICQ/ID0gMApjb25maWd1cmU6MjE5MTU6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToyMTkyODogY2hlY2tpbmcgd2hldGhlciBzdHJ0b3VtYXggaXMgZGVjbGFyZWQKY29uZmln dXJlOjIxOTI4OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNv bmZpZ3VyZToyMTkyODogJD8gPSAwCmNvbmZpZ3VyZToyMTkyODogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjIxOTQxOiBjaGVja2luZyB3aGV0aGVyIHN0YXQgZmlsZS1tb2RlIG1hY3JvcyBhcmUgYnJv a2VuCmNvbmZpZ3VyZToyMTk2ODogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVz dC5jID4mNQpjb25maWd1cmU6MjE5Njg6ICQ/ID0gMApjb25maWd1cmU6MjE5NzU6IHJlc3VsdDog bm8KY29uZmlndXJlOjIyMDc1OiBjaGVja2luZyBmb3Igc3RydWN0IHRpbWVzcGVjIGluIDx0aW1l Lmg+CmNvbmZpZ3VyZToyMjA5MjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVz dC5jID4mNQpjb25maWd1cmU6MjIwOTI6ICQ/ID0gMApjb25maWd1cmU6MjIwOTk6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToyMjI1MDogY2hlY2tpbmcgd2hldGhlciB1bnNldGVudiBpcyBkZWNsYXJl ZApjb25maWd1cmU6MjIyNTA6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3Qu YyA+JjUKY29uZmlndXJlOjIyMjUwOiAkPyA9IDAKY29uZmlndXJlOjIyMjUwOiByZXN1bHQ6IHll cwpjb25maWd1cmU6MjIyNjI6IGNoZWNraW5nIHdoZXRoZXIgdGhlIHV0aW1lcyBmdW5jdGlvbiB3 b3Jrcwpjb25maWd1cmU6MjIzNzc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIg ICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MjIzNzc6ICQ/ID0gMApj b25maWd1cmU6MjIzNzc6IC4vY29uZnRlc3QKY29uZmlndXJlOjIyMzc3OiAkPyA9IDAKY29uZmln dXJlOjIyMzg3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjI0MDA6IGNoZWNraW5nIGZvciBzdHJ1 Y3QgdXRpbWJ1Zgpjb25maWd1cmU6MjI0MjM6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIyNDIzOiAkPyA9IDAKY29uZmlndXJlOjIyNDMwOiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MjI0NDk6IGNoZWNraW5nIHR5cGUgb2YgYXJyYXkgYXJndW1l bnQgdG8gZ2V0Z3JvdXBzCmNvbmZpZ3VyZToyMjQ4MzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyMjQ4 MzogJD8gPSAwCmNvbmZpZ3VyZToyMjQ4MzogLi9jb25mdGVzdApjb25maWd1cmU6MjI0ODM6ICQ/ ID0gMApjb25maWd1cmU6MjI1MDg6IHJlc3VsdDogZ2lkX3QKY29uZmlndXJlOjIyNTUxOiBjaGVj a2luZyBmb3IgYWxsb2NhIGFzIGEgY29tcGlsZXIgYnVpbHQtaW4KY29uZmlndXJlOjIyNTc1OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MjI2MDE6IGNoZWNraW5nIGJ5dGVzd2FwLmggdXNhYmlsaXR5 CmNvbmZpZ3VyZToyMjYwMTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6MjI2MDE6ICQ/ID0gMApjb25maWd1cmU6MjI2MDE6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToyMjYwMTogY2hlY2tpbmcgYnl0ZXN3YXAuaCBwcmVzZW5jZQpjb25maWd1cmU6 MjI2MDE6IGdjYyAtRSAgICBjb25mdGVzdC5jCmNvbmZpZ3VyZToyMjYwMTogJD8gPSAwCmNvbmZp Z3VyZToyMjYwMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyNjAxOiBjaGVja2luZyBmb3IgYnl0 ZXN3YXAuaApjb25maWd1cmU6MjI2MDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjY0MDogY2hl Y2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBjbG9ja19nZXR0aW1lCmNvbmZpZ3VyZToyMjY3 MTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxw dGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyMjY3MTogJD8gPSAwCmNvbmZpZ3VyZToyMjY4ODogcmVz dWx0OiBub25lIHJlcXVpcmVkCmNvbmZpZ3VyZToyMjcwMDogY2hlY2tpbmcgZm9yIGNsb2NrX2dl dHRpbWUKY29uZmlndXJlOjIyNzAwOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8y ICAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjIyNzAwOiAkPyA9IDAK Y29uZmlndXJlOjIyNzAwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjI3MDA6IGNoZWNraW5nIGZv ciBjbG9ja19zZXR0aW1lCmNvbmZpZ3VyZToyMjcwMDogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRl c3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyMjcw MDogJD8gPSAwCmNvbmZpZ3VyZToyMjcwMDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyODQ3OiBj aGVja2luZyB3aGV0aGVyIGR1cDIgd29ya3MKY29uZmlndXJlOjIyOTA2OiBnY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29u ZmlndXJlOjIyOTA2OiAkPyA9IDAKY29uZmlndXJlOjIyOTA2OiAuL2NvbmZ0ZXN0CmNvbmZpZ3Vy ZToyMjkwNjogJD8gPSAwCmNvbmZpZ3VyZToyMjkxNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIy OTg0OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIGJhY2t0cmFjZV9zeW1ib2xzX2Zk CmNvbmZpZ3VyZToyMzAxNTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAg IGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyMzAxNTogJD8gPSAwCmNvbmZp Z3VyZToyMzAzMjogcmVzdWx0OiBub25lIHJlcXVpcmVkCmNvbmZpZ3VyZToyMzEzOTogY2hlY2tp bmcgd2hldGhlciBmY250bCBoYW5kbGVzIEZfRFVQRkQgY29ycmVjdGx5CmNvbmZpZ3VyZToyMzE2 OTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxw dGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyMzE2OTogJD8gPSAwCmNvbmZpZ3VyZToyMzE2OTogLi9j b25mdGVzdApjb25maWd1cmU6MjMxNjk6ICQ/ID0gMApjb25maWd1cmU6MjMxNzk6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToyMzE5NzogY2hlY2tpbmcgd2hldGhlciBmY250bCB1bmRlcnN0YW5kcyBG X0RVUEZEX0NMT0VYRUMKY29uZmlndXJlOjIzMjE4OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8y ICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMzIxODogJD8gPSAwCmNvbmZpZ3VyZToyMzIz NjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j OjI3NzoxOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ2Nob2tlJwogY2hva2UgbWUKIF4KY29u ZnRlc3QuYzoyODA6MTogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdf X2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcKIGludAogXgpjb25maWd1cmU6MjMyMzY6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93 d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAj ZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZp bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18g MQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwg I2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1Mg MQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklU X0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZF X1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVf UFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAj ZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5l IEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVm aW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAx CnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQg MQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUg MQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmlu ZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhB VkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9G U0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8 ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5l IEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVM UyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFW RV9HVEszIDEKfCAjZGVmaW5lIEdES19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAj ZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0Vf R1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVf R1RLX1RFQVJPRkZfTUVOVV9JVEVNX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VU X1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNk ZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dFVF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dU S19XSURHRVRfR0VUX1NFTlNJVElWRSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01B UFBFRCAxCnwgI2RlZmluZSBIQVZFX0dUS19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNk ZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFW RV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElO R1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAx CnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xM X0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmlu ZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUg SEFWRV9YRlQgMQp8ICNkZWZpbmUgSEFWRV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAx CnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhB VkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAv KiovCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5l IEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9V VFBVVFBSSU1BUlkgMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5U IDEKfCAjZGVmaW5lIEhBVkVfWFJBTkRSIDEKfCAjZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNk ZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBN QUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0FDQ0VQVDQgMQp8ICNkZWZpbmUgSEFWRV9H RVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dF VF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBI QVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1Qg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAx CnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwg I2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNk ZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZp bmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZF X0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFW RV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFW RV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVf R0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQg MQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAj ZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZp bmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUg SEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5l IEhBVkVfQUxJR05FRF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5J VCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmlu ZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpT RVQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FU IDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GRE9QRU5ESVIgMQp8ICNk ZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFW RV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX01L T1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEK fCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNk ZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5l IEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhB VkVfRlVUSU1FU0FUIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FTlMgMQp8ICNkZWZpbmUgSEFWRV9V VElNRU5TQVQgMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRB QkxFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFQ1VSRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9J TkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksg MQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19G T1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9HTElCIDEKfCAj ZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAx CnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRf RlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMg MQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzon CnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3 X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NF UChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNU T1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2Nf KSkKfCAjZGVmaW5lIEhBVkVfUFJPQ0ZTIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNF ICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBOQVJST1dQ Uk9UTyAxCnwgI2RlZmluZSBVTklYOThfUFRZUyAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGlu dCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklO VEYgeyBjaGFyICpwdHluYW1lID0gMDsgc2lnc2V0X3QgYmxvY2tlZDsgc2lnZW1wdHlzZXQgKCZi bG9ja2VkKTsgc2lnYWRkc2V0ICgmYmxvY2tlZCwgU0lHQ0hMRCk7IHB0aHJlYWRfc2lnbWFzayAo U0lHX0JMT0NLLCAmYmxvY2tlZCwgMCk7IGlmIChncmFudHB0IChmZCkgIT0gLTEgJiYgdW5sb2Nr cHQgKGZkKSAhPSAtMSkgcHR5bmFtZSA9IHB0c25hbWUoZmQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJ R19VTkJMT0NLLCAmYmxvY2tlZCwgMCk7IGlmICghcHR5bmFtZSkgeyBlbWFjc19jbG9zZSAoZmQp OyByZXR1cm4gLTE7IH0gc25wcmludGYgKHB0eV9uYW1lLCBQVFlfTkFNRV9TSVpFLCAiJXMiLCBw dHluYW1lKTsgfQp8ICNkZWZpbmUgUFRZX09QRU4gZG8geyBmZCA9IHBvc2l4X29wZW5wdCAoT19S RFdSIHwgT19DTE9FWEVDIHwgT19OT0NUVFkpOyBpZiAoZmQgPCAwICYmIGVycm5vID09IEVJTlZB TCkgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8IE9fTk9DVFRZKTsgfSB3aGlsZSAoZmFsc2Up CnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFNJR05BTFNfVklBX0NI QVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEdDX1NFVEpN UF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAj ZGVmaW5lIEdOVV9MSU5VWCAvKiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZp bmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJn dGt1dGlsLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdW5rbm93bi1s aW51eC1nbnUiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS13aXRoLXgtdG9vbC1r aXQ9Z3RrIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8 ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5l IEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwg I2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1P REUgMAp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUg SEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNk ZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfVE1fVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUg SEFWRV9UTV9HTVRPRkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwg I2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1C VUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEK fCAjZGVmaW5lIEhBVkVfQllURVNXQVBfSCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUg MQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9T VFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaWZkZWYgX19saW51eF9fCnwgLyogVGhl IExpbnV4IGtlcm5lbCBvbmx5IGFkZGVkIEZfRFVQRkRfQ0xPRVhFQyBpbiAyLjYuMjQsIHNvIHdl IGFsd2F5cyByZXBsYWNlCnwgICAgaXQgdG8gc3VwcG9ydCB0aGUgc2VtYW50aWNzIG9uIG9sZGVy IGtlcm5lbHMgdGhhdCBmYWlsZWQgd2l0aCBFSU5WQUwuICAqLwp8IGNob2tlIG1lCnwgI2VuZGlm CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln dXJlOjIzMjQ3OiByZXN1bHQ6IG5lZWRzIHJ1bnRpbWUgY2hlY2sKY29uZmlndXJlOjIzMzkyOiBj aGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIGZkYXRhc3luYwpjb25maWd1cmU6MjM0MjM6 IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRo cmVhZCAgPiY1IApjb25maWd1cmU6MjM0MjM6ICQ/ID0gMApjb25maWd1cmU6MjM0NDA6IHJlc3Vs dDogbm9uZSByZXF1aXJlZApjb25maWd1cmU6MjM0ODA6IGNoZWNraW5nIHdoZXRoZXIgZmRvcGVu ZGlyIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZToyMzQ4MDogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1P MiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjM0ODA6ICQ/ID0gMApjb25maWd1cmU6MjM0 ODA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMzUwMzogY2hlY2tpbmcgd2hldGhlciBmZG9wZW5k aXIgd29ya3MKY29uZmlndXJlOjIzNTQ0OiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMg LU8yICAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjIzNTQ0OiAkPyA9 IDAKY29uZmlndXJlOjIzNTQ0OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyMzU0NDogJD8gPSAwCmNv bmZpZ3VyZToyMzU1NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIzNjA2OiBjaGVja2luZyBmb3Ig X19mcGVuZGluZwpjb25maWd1cmU6MjM2MjM6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1n MyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MjM2MjM6ICQ/ ID0gMApjb25maWd1cmU6MjM2MzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMzYzNTogY2hlY2tp bmcgd2hldGhlciBfX2ZwZW5kaW5nIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZToyMzYzNTogZ2NjIC1z dGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjM2MzU6ICQ/ ID0gMApjb25maWd1cmU6MjM2MzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMzc1MDogY2hlY2tp bmcgd2hldGhlciBmc3RhdGF0ICguLi4sIDApIHdvcmtzCmNvbmZpZ3VyZToyMzc3NTogZ2NjIC1z dGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+ JjUgCmNvbmZpZ3VyZToyMzc3NTogJD8gPSAwCmNvbmZpZ3VyZToyMzc3NTogLi9jb25mdGVzdApj b25maWd1cmU6MjM3NzU6ICQ/ID0gMApjb25maWd1cmU6MjM3ODY6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToyMzg2NzogY2hlY2tpbmcgZm9yIGdldGxvYWRhdmcKY29uZmlndXJlOjIzODY3OiBnY2Mg LXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQg ID4mNSAKY29uZmlndXJlOjIzODY3OiAkPyA9IDAKY29uZmlndXJlOjIzODY3OiByZXN1bHQ6IHll cwpjb25maWd1cmU6MjQyMjU6IGNoZWNraW5nIHN5cy9sb2FkYXZnLmggdXNhYmlsaXR5CmNvbmZp Z3VyZToyNDIyNTogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpj b25mdGVzdC5jOjMwOToyNTogZmF0YWwgZXJyb3I6IHN5cy9sb2FkYXZnLmg6IE5vIHN1Y2ggZmls ZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxzeXMvbG9hZGF2Zy5oPgogICAgICAgICAgICAgICAg ICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MjQyMjU6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93 d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAj ZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZp bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18g MQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwg I2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1Mg MQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklU X0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZF X1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVf UFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAj ZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5l IEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVm aW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAx CnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQg MQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUg MQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmlu ZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhB VkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9G U0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8 ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5l IEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVM UyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFW RV9HVEszIDEKfCAjZGVmaW5lIEdES19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAj ZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0Vf R1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVf R1RLX1RFQVJPRkZfTUVOVV9JVEVNX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VU X1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNk ZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dFVF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dU S19XSURHRVRfR0VUX1NFTlNJVElWRSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01B UFBFRCAxCnwgI2RlZmluZSBIQVZFX0dUS19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNk ZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFW RV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElO R1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAx CnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xM X0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmlu ZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUg SEFWRV9YRlQgMQp8ICNkZWZpbmUgSEFWRV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAx CnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhB VkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAv KiovCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5l IEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9V VFBVVFBSSU1BUlkgMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5U IDEKfCAjZGVmaW5lIEhBVkVfWFJBTkRSIDEKfCAjZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNk ZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBN QUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0FDQ0VQVDQgMQp8ICNkZWZpbmUgSEFWRV9H RVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dF VF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBI QVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1Qg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAx CnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwg I2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNk ZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZp bmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZF X0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFW RV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFW RV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVf R0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQg MQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAj ZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZp bmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUg SEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5l IEhBVkVfQUxJR05FRF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5J VCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmlu ZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpT RVQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FU IDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GRE9QRU5ESVIgMQp8ICNk ZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFW RV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX01L T1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEK fCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNk ZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5l IEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhB VkVfRlVUSU1FU0FUIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FTlMgMQp8ICNkZWZpbmUgSEFWRV9V VElNRU5TQVQgMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRB QkxFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFQ1VSRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9J TkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksg MQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19G T1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9HTElCIDEKfCAj ZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAx CnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRf RlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMg MQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzon CnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3 X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NF UChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNU T1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2Nf KSkKfCAjZGVmaW5lIEhBVkVfUFJPQ0ZTIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNF ICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBOQVJST1dQ Uk9UTyAxCnwgI2RlZmluZSBVTklYOThfUFRZUyAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGlu dCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklO VEYgeyBjaGFyICpwdHluYW1lID0gMDsgc2lnc2V0X3QgYmxvY2tlZDsgc2lnZW1wdHlzZXQgKCZi bG9ja2VkKTsgc2lnYWRkc2V0ICgmYmxvY2tlZCwgU0lHQ0hMRCk7IHB0aHJlYWRfc2lnbWFzayAo U0lHX0JMT0NLLCAmYmxvY2tlZCwgMCk7IGlmIChncmFudHB0IChmZCkgIT0gLTEgJiYgdW5sb2Nr cHQgKGZkKSAhPSAtMSkgcHR5bmFtZSA9IHB0c25hbWUoZmQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJ R19VTkJMT0NLLCAmYmxvY2tlZCwgMCk7IGlmICghcHR5bmFtZSkgeyBlbWFjc19jbG9zZSAoZmQp OyByZXR1cm4gLTE7IH0gc25wcmludGYgKHB0eV9uYW1lLCBQVFlfTkFNRV9TSVpFLCAiJXMiLCBw dHluYW1lKTsgfQp8ICNkZWZpbmUgUFRZX09QRU4gZG8geyBmZCA9IHBvc2l4X29wZW5wdCAoT19S RFdSIHwgT19DTE9FWEVDIHwgT19OT0NUVFkpOyBpZiAoZmQgPCAwICYmIGVycm5vID09IEVJTlZB TCkgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8IE9fTk9DVFRZKTsgfSB3aGlsZSAoZmFsc2Up CnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFNJR05BTFNfVklBX0NI QVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEdDX1NFVEpN UF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAj ZGVmaW5lIEdOVV9MSU5VWCAvKiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZp bmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJn dGt1dGlsLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdW5rbm93bi1s aW51eC1nbnUiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS13aXRoLXgtdG9vbC1r aXQ9Z3RrIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8 ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5l IEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwg I2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1P REUgMAp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUg SEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNk ZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfVE1fVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUg SEFWRV9UTV9HTVRPRkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwg I2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1C VUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEK fCAjZGVmaW5lIEhBVkVfQllURVNXQVBfSCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUg MQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9T VFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVO RElSIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9fX0ZQRU5ESU5HIDEKfCAvKiBlbmQgY29uZmRlZnMu aC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAj IGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gK fCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8 ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMg aWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJT ICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5k aWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1Nf SAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVT X0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5U X0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9I CnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8c3lzL2xvYWRhdmcu aD4KY29uZmlndXJlOjI0MjI1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNDIyNTogY2hlY2tpbmcg c3lzL2xvYWRhdmcuaCBwcmVzZW5jZQpjb25maWd1cmU6MjQyMjU6IGdjYyAtRSAgICBjb25mdGVz dC5jCmNvbmZ0ZXN0LmM6Mjc2OjI1OiBmYXRhbCBlcnJvcjogc3lzL2xvYWRhdmcuaDogTm8gc3Vj aCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPHN5cy9sb2FkYXZnLmg+CiAgICAgICAgICAg ICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToyNDIyNTog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0 cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNz Igp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lP TlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNF IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFO VElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82 NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5l IEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUg SEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJB TV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0gg MQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJT19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNk ZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8 ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFT SyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05B TUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9T VEFSVCAxCnwgI2RlZmluZSBET1VHX0xFQV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdF U0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAj ZGVmaW5lIEhBVkVfWEtCIDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZp bmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVN QkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4 TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNk ZWZpbmUgSEFWRV9JTUFHRU1BR0lDSyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElNQUdF UElYRUxTIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2RlZmlu ZSBIQVZFX0dUSzMgMQp8ICNkZWZpbmUgR0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1Mg MQp8ICNkZWZpbmUgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5l IFVTRV9HVEsgMQp8ICNkZWZpbmUgSEFWRV9HVEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZpbmUg SEFWRV9HVEtfVEVBUk9GRl9NRU5VX0lURU1fTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdF VF9HRVRfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRPVyAx CnwgI2RlZmluZSBIQVZFX0dUS19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5lIEhB VkVfR1RLX1dJREdFVF9HRVRfU0VOU0lUSVZFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9H RVRfTUFQUEVEIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAx CnwgI2RlZmluZSBIQVZFX0dUS19PUklFTlRBQkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2RlZmlu ZSBIQVZFX0dUS19XSU5ET1dfU0VUX0hBU19SRVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZFX0dT RVRUSU5HUyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxFTk9U SUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9T Q1JPTExfQkFSUyAxCnwgI2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAj ZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2Rl ZmluZSBIQVZFX1hGVCAxCnwgI2RlZmluZSBIQVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVf WFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZp bmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQU1RS VUNUIC8qKi8KfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNk ZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfWFJS R0VUT1VUUFVUUFJJTUFSWSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNFU0NV UlJFTlQgMQp8ICNkZWZpbmUgSEFWRV9YUkFORFIgMQp8ICNkZWZpbmUgSEFWRV9YSU5FUkFNQSAx CnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVm aW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVBUNCAxCnwgI2RlZmluZSBI QVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhB VkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVm aW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NF TEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9D QUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlU IDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAx CnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwg I2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5l IEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmlu ZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUg SEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ V0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQg MQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwg I2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2Rl ZmluZSBIQVZFX19fRVhFQ1VUQUJMRV9TVEFSVCAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNk ZWZpbmUgSEFWRV9BTElHTkVEX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lO RF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAx CnwgI2RlZmluZSBIQVZFX0dFVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAj ZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFW RV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9GQUND RVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZET1BFTkRJUiAx CnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhB VkVfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxF Q1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hN T0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAx CnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNk ZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZp bmUgSEFWRV9GVVRJTUVTQVQgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVOUyAxCnwgI2RlZmluZSBI QVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9H RVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VDVVJFX0dFVEVOViAxCnwgI2RlZmluZSBI QVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9W Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JL SU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0dMSUIg MQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFU RV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVS U0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09D S0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hB UiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBw dy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJ Q0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBE SVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQ IChfY18pKQp8ICNkZWZpbmUgSEFWRV9QUk9DRlMgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9E RVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIE5B UlJPV1BST1RPIDEKfCAjZGVmaW5lIFVOSVg5OF9QVFlTIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJ T04gaW50IGk7IGZvciAoaSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBQVFlfVFRZX05BTUVf U1BSSU5URiB7IGNoYXIgKnB0eW5hbWUgPSAwOyBzaWdzZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNl dCAoJmJsb2NrZWQpOyBzaWdhZGRzZXQgKCZibG9ja2VkLCBTSUdDSExEKTsgcHRocmVhZF9zaWdt YXNrIChTSUdfQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1 bmxvY2twdCAoZmQpICE9IC0xKSBwdHluYW1lID0gcHRzbmFtZShmZCk7IHB0aHJlYWRfc2lnbWFz ayAoU0lHX1VOQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKCFwdHluYW1lKSB7IGVtYWNzX2Nsb3Nl IChmZCk7IHJldHVybiAtMTsgfSBzbnByaW50ZiAocHR5X25hbWUsIFBUWV9OQU1FX1NJWkUsICIl cyIsIHB0eW5hbWUpOyB9CnwgI2RlZmluZSBQVFlfT1BFTiBkbyB7IGZkID0gcG9zaXhfb3BlbnB0 IChPX1JEV1IgfCBPX0NMT0VYRUMgfCBPX05PQ1RUWSk7IGlmIChmZCA8IDAgJiYgZXJybm8gPT0g RUlOVkFMKSBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19OT0NUVFkpOyB9IHdoaWxlIChm YWxzZSkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgU0lHTkFMU19W SUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgR0Nf U0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoq Lwp8ICNkZWZpbmUgR05VX0xJTlVYIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwg I2RlZmluZSBVU0FCTEVfU0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMp IDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFE RVIgImd0a3V0aWwuaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC11bmtu b3duLWxpbnV4LWdudSIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXdpdGgteC10 b29sLWtpdD1ndGsiCnwgI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBIQVZFX1gx MSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5U IDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RF Q0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1RSTU9ERSAwCnwgI2RlZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2Rl ZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QK fCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNI UiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAx CnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9UTV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fWk9ORSAxCnwgI2Rl ZmluZSBIQVZFX1RNX0dNVE9GRiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5W IDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf VVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExP Q0EgMQp8ICNkZWZpbmUgSEFWRV9CWVRFU1dBUF9IIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VU VElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NM T1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NF U1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDEKfCAjZGVmaW5lIEdOVUxJQl9G RE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX19fRlBFTkRJTkcgMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL2xvYWRhdmcuaD4KY29uZmlndXJlOjI0MjI1OiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNDIyNTogY2hlY2tpbmcgZm9yIHN5cy9sb2FkYXZnLmgKY29u ZmlndXJlOjI0MjI1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNDI0MDogY2hlY2tpbmcgd2hldGhl ciBnZXRsb2FkYXZnIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZToyNDI0MDogZ2NjIC1zdGQ9Z251OTkg LWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjQyNDA6ICQ/ID0gMApjb25m aWd1cmU6MjQyNDA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNDQ5MDogY2hlY2tpbmcgd2hldGhl ciBnZXR0aW1lb2ZkYXkgY2xvYmJlcnMgbG9jYWx0aW1lIGJ1ZmZlcgpjb25maWd1cmU6MjQ1Mjk6 IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRo cmVhZCAgPiY1IApjb25maWd1cmU6MjQ1Mjk6ICQ/ID0gMApjb25maWd1cmU6MjQ1Mjk6IC4vY29u ZnRlc3QKY29uZmlndXJlOjI0NTI5OiAkPyA9IDAKY29uZmlndXJlOjI0NTM5OiByZXN1bHQ6IG5v CmNvbmZpZ3VyZToyNDU1NTogY2hlY2tpbmcgZm9yIGdldHRpbWVvZmRheSB3aXRoIFBPU0lYIHNp Z25hdHVyZQpjb25maWd1cmU6MjQ1ODM6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29u ZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoyNzg6MTk6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBm b3IgJ2dldHRpbWVvZmRheScKICAgICAgICAgICAgICAgaW50IGdldHRpbWVvZmRheSAoc3RydWN0 IHRpbWV2YWwgKnJlc3RyaWN0LCB2b2lkICpyZXN0cmljdCk7CiAgICAgICAgICAgICAgICAgICBe CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25mdGVzdC5jOjI3NjowOgovdXNyL2luY2x1ZGUveDg2 XzY0LWxpbnV4LWdudS9zeXMvdGltZS5oOjcxOjEyOiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlv biBvZiAnZ2V0dGltZW9mZGF5JyB3YXMgaGVyZQogZXh0ZXJuIGludCBnZXR0aW1lb2ZkYXkgKHN0 cnVjdCB0aW1ldmFsICpfX3Jlc3RyaWN0IF9fdHYsCiAgICAgICAgICAgIF4KY29uZmlndXJlOjI0 NTgzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FH RV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJM ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAi ZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9Q IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhU RU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19T T1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURf U0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5f VVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251L2xpbnV4Igp8ICNk ZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2Rl ZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUg SEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9f SCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0VYVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUEVSU09OQUxJVFlfTElOVVgzMiAx CnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRf SCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9O RVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJ TEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9E QVRBX1NUQVJUIDEKfCAjZGVmaW5lIERPVUdfTEVBX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dF VFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQg MQp8ICNkZWZpbmUgSEFWRV9YS0IgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwg I2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JF RU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVf WF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAx CnwgI2RlZmluZSBIQVZFX0lNQUdFTUFHSUNLIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLRVhQT1JU SU1BR0VQSVhFTFMgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tNRVJHRUlNQUdFTEFZRVJTIDEKfCAj ZGVmaW5lIEhBVkVfR1RLMyAxCnwgI2RlZmluZSBHREtfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJO SU5HUyAxCnwgI2RlZmluZSBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNk ZWZpbmUgVVNFX0dUSyAxCnwgI2RlZmluZSBIQVZFX0dUS19IQU5ETEVfQk9YX05FVyAxCnwgI2Rl ZmluZSBIQVZFX0dUS19URUFST0ZGX01FTlVfSVRFTV9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtf V0lER0VUX0dFVF9XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX1NFVF9IQVNfV0lO RE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0RJQUxPR19HRVRfQUNUSU9OX0FSRUEgMQp8ICNkZWZp bmUgSEFWRV9HVEtfV0lER0VUX0dFVF9TRU5TSVRJVkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lE R0VUX0dFVF9NQVBQRUQgMQp8ICNkZWZpbmUgSEFWRV9HVEtfQURKVVNUTUVOVF9HRVRfUEFHRV9T SVpFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX09SSUVOVEFCTEVfU0VUX09SSUVOVEFUSU9OIDEKfCAj ZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19TRVRfSEFTX1JFU0laRV9HUklQIDEKfCAjZGVmaW5lIEhB VkVfR1NFVFRJTkdTIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfR0ZJ TEVOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09M S0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0g MQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIK fCAjZGVmaW5lIEhBVkVfWEZUIDEKfCAjZGVmaW5lIEhBVkVfRlJFRVRZUEUgMQp8ICNkZWZpbmUg SEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwg I2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIFBOR19E RVBTVFJVQ1QgLyoqLwp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAx CnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFW RV9YUlJHRVRPVVRQVVRQUklNQVJZIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUU0NSRUVOUkVTT1VS Q0VTQ1VSUkVOVCAxCnwgI2RlZmluZSBIQVZFX1hSQU5EUiAxCnwgI2RlZmluZSBIQVZFX1hJTkVS QU1BIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8 ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFUFQ0IDEKfCAjZGVm aW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZp bmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8 ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhB VkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9T RVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRS TElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJ TkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVS IDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNk ZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAj ZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2Rl ZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZF X0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRH UkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFX IDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEK fCAjZGVmaW5lIEhBVkVfX19FWEVDVVRBQkxFX1NUQVJUIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAx CnwgI2RlZmluZSBIQVZFX0FMSUdORURfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5f VU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFO VFBUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQg MQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmlu ZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZF X0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRkRPUEVO RElSIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZp bmUgSEFWRV9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVf UFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZF X0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9J TUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAx CnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwg I2RlZmluZSBIQVZFX0ZVVElNRVNBVCAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRU5TIDEKfCAjZGVm aW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBI QVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRUNVUkVfR0VURU5WIDEKfCAjZGVm aW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBI QVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf R0xJQiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9N QlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUg QU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFW RV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBT RVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9O QU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElT X0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18p ID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9S WV9TRVAgKF9jXykpCnwgI2RlZmluZSBIQVZFX1BST0NGUyAxCnwgI2RlZmluZSBERUZBVUxUX1NP VU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZp bmUgTkFSUk9XUFJPVE8gMQp8ICNkZWZpbmUgVU5JWDk4X1BUWVMgMQp8ICNkZWZpbmUgUFRZX0lU RVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIFBUWV9UVFlf TkFNRV9TUFJJTlRGIHsgY2hhciAqcHR5bmFtZSA9IDA7IHNpZ3NldF90IGJsb2NrZWQ7IHNpZ2Vt cHR5c2V0ICgmYmxvY2tlZCk7IHNpZ2FkZHNldCAoJmJsb2NrZWQsIFNJR0NITEQpOyBwdGhyZWFk X3NpZ21hc2sgKFNJR19CTE9DSywgJmJsb2NrZWQsIDApOyBpZiAoZ3JhbnRwdCAoZmQpICE9IC0x ICYmIHVubG9ja3B0IChmZCkgIT0gLTEpIHB0eW5hbWUgPSBwdHNuYW1lKGZkKTsgcHRocmVhZF9z aWdtYXNrIChTSUdfVU5CTE9DSywgJmJsb2NrZWQsIDApOyBpZiAoIXB0eW5hbWUpIHsgZW1hY3Nf Y2xvc2UgKGZkKTsgcmV0dXJuIC0xOyB9IHNucHJpbnRmIChwdHlfbmFtZSwgUFRZX05BTUVfU0la RSwgIiVzIiwgcHR5bmFtZSk7IH0KfCAjZGVmaW5lIFBUWV9PUEVOIGRvIHsgZmQgPSBwb3NpeF9v cGVucHQgKE9fUkRXUiB8IE9fQ0xPRVhFQyB8IE9fTk9DVFRZKTsgaWYgKGZkIDwgMCAmJiBlcnJu byA9PSBFSU5WQUwpIGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX05PQ1RUWSk7IH0gd2hp bGUgKGZhbHNlKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBTSUdO QUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmlu ZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVT RyAvKiovCnwgI2RlZmluZSBHTlVfTElOVVggLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFE IDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdo dCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJN X0hFQURFUiAiZ3RrdXRpbC5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0 LXVua25vd24tbGludXgtZ251Igp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0td2l0 aC14LXRvb2wta2l0PWd0ayIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIEhB VkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklS T05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEK fCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZ IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0 cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9N RU1SQ0hSIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NF VF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9aT05FIDEK fCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVgg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5T RVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZF X0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0JZVEVTV0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9DTE9D S19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVM SUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBHTlVMSUJf RkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgR05V TElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19GUEVORElORyAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdGltZS5oPgp8ICAgICAgICAgICAgICAg c3RydWN0IHRpbWV2YWwgYzsKfCAgICAgICAgICAgICAgIGludCBnZXR0aW1lb2ZkYXkgKHN0cnVj dCB0aW1ldmFsICpyZXN0cmljdCwgdm9pZCAqcmVzdHJpY3QpOwp8IAp8IGludAp8IG1haW4gKCkK fCB7CnwgLyogZ2xpYmMgdXNlcyBzdHJ1Y3QgdGltZXpvbmUgKiByYXRoZXIgdGhhbiB0aGUgUE9T SVggdm9pZCAqCnwgICAgICAgICAgICAgICAgICBpZiBfR05VX1NPVVJDRSBpcyBkZWZpbmVkLiAg SG93ZXZlciwgc2luY2UgdGhlIG9ubHkgcG9ydGFibGUKfCAgICAgICAgICAgICAgICAgIHVzZSBv ZiBnZXR0aW1lb2ZkYXkgdXNlcyBOVUxMIGFzIHRoZSBzZWNvbmQgcGFyYW1ldGVyLCBhbmQKfCAg ICAgICAgICAgICAgICAgIHNpbmNlIHRoZSBnbGliYyBkZWZpbml0aW9uIGlzIGFjdHVhbGx5IG1v cmUgdHlwZXNhZmUsIGl0IGlzCnwgICAgICAgICAgICAgICAgICBub3Qgd29ydGggd3JhcHBpbmcg dGhpcyB0byBnZXQgYSBjb21wbGlhbnQgc2lnbmF0dXJlLiAgKi8KfCAgICAgICAgICAgICAgIGlu dCAoKmYpIChzdHJ1Y3QgdGltZXZhbCAqcmVzdHJpY3QsIHZvaWQgKnJlc3RyaWN0KQp8ICAgICAg ICAgICAgICAgICA9IGdldHRpbWVvZmRheTsKfCAgICAgICAgICAgICAgIGludCB4ID0gZiAoJmMs IDApOwp8ICAgICAgICAgICAgICAgcmV0dXJuICEoeCB8IGMudHZfc2VjIHwgYy50dl91c2VjKTsK fCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI0NTk5OiBnY2MgLXN0ZD1nbnU5 OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyNDU5OTogJD8gPSAwCmNv bmZpZ3VyZToyNDYwODogcmVzdWx0OiBhbG1vc3QKY29uZmlndXJlOjI0NzI1OiBjaGVja2luZyBm b3IgbWVtcmNocgpjb25maWd1cmU6MjQ3MjU6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1n MyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MjQ3MjU6ICQ/ ID0gMApjb25maWd1cmU6MjQ3MjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNDgxMzogY2hlY2tp bmcgZm9yIHdvcmtpbmcgbWt0aW1lCmNvbmZpZ3VyZToyNTAyMTogZ2NjIC1zdGQ9Z251OTkgLW8g Y29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3Vy ZToyNTAyMTogJD8gPSAwCmNvbmZpZ3VyZToyNTAyMTogLi9jb25mdGVzdApjb25maWd1cmU6MjUw MjE6ICQ/ID0gMApjb25maWd1cmU6MjUwMzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNTA5Mzog Y2hlY2tpbmcgd2hldGhlciBzaWduYXR1cmUgb2YgcHNlbGVjdCBjb25mb3JtcyB0byBQT1NJWApj b25maWd1cmU6MjUxMTM6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBj b25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MjUxMTM6ICQ/ID0gMApjb25maWd1 cmU6MjUxMjE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNTEyNDogY2hlY2tpbmcgd2hldGhlciBw c2VsZWN0IGRldGVjdHMgaW52YWxpZCBmZHMKY29uZmlndXJlOjI1MTY5OiBnY2MgLXN0ZD1nbnU5 OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29u ZmlndXJlOjI1MTY5OiAkPyA9IDAKY29uZmlndXJlOjI1MTY5OiAuL2NvbmZ0ZXN0CmNvbmZpZ3Vy ZToyNTE2OTogJD8gPSAwCmNvbmZpZ3VyZToyNTE4MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI1 Mjg2OiBjaGVja2luZyB3aGV0aGVyIHB0aHJlYWRfc2lnbWFzayB3b3JrcyB3aXRob3V0IC1scHRo cmVhZApjb25maWd1cmU6MjUzMTU6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIg ICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MjUzMTU6ICQ/ID0gMApj b25maWd1cmU6MjUzMTU6IC4vY29uZnRlc3QKY29uZmlndXJlOjI1MzE1OiAkPyA9IDEKY29uZmln dXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjQu NC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmci CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNz LyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQuNC41MCIK fCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB VkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAx CnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAj ZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJD RSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUgU1lTVEVN X1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVm aW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBI QVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP Q0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwg I2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19FWFRfSCAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUg VElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAxCnwg I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2Rl ZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxB R1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEK fCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZMSU1J VF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAxCnwgI2RlZmluZSBET1VHX0xFQV9NQUxM T0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWEtCIDEKfCAjZGVmaW5lIEhB VkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VTVFJJTkcg MQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUgSEFWRV9Y MTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2X1hJTSAx CnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9JTUFHRU1BR0lDSyAxCnwgI2Rl ZmluZSBIQVZFX01BR0lDS0VYUE9SVElNQUdFUElYRUxTIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNL TUVSR0VJTUFHRUxBWUVSUyAxCnwgI2RlZmluZSBIQVZFX0dUSzMgMQp8ICNkZWZpbmUgR0RLX0RJ U0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgR0xJQl9ESVNBQkxFX0RFUFJF Q0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVTRV9HVEsgMQp8ICNkZWZpbmUgSEFWRV9HVEtf SEFORExFX0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfVEVBUk9GRl9NRU5VX0lURU1fTkVX IDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVf R1RLX1dJREdFVF9TRVRfSEFTX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19ESUFMT0dfR0VU X0FDVElPTl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfU0VOU0lUSVZFIDEK fCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQUEVEIDEKfCAjZGVmaW5lIEhBVkVfR1RL X0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAxCnwgI2RlZmluZSBIQVZFX0dUS19PUklFTlRBQkxF X1NFVF9PUklFTlRBVElPTiAxCnwgI2RlZmluZSBIQVZFX0dUS19XSU5ET1dfU0VUX0hBU19SRVNJ WkVfR1JJUCAxCnwgI2RlZmluZSBIQVZFX0dTRVRUSU5HUyAxCnwgI2RlZmluZSBIQVZFX0dOVVRM UyAxCnwgI2RlZmluZSBIQVZFX0dGSUxFTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElG WSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBIQVZFX1hJ TSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFudGlhdGVD YWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hGVCAxCnwgI2RlZmluZSBIQVZF X0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwg I2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmluZSBIQVZF X1BORyAxCnwgI2RlZmluZSBQTkdfREVQU1RSVUNUIC8qKi8KfCAjZGVmaW5lIEhBVkVfWkxJQiAx CnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFW RV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUT1VUUFVUUFJJTUFSWSAxCnwgI2RlZmluZSBI QVZFX1hSUkdFVFNDUkVFTlJFU09VUkNFU0NVUlJFTlQgMQp8ICNkZWZpbmUgSEFWRV9YUkFORFIg MQp8ICNkZWZpbmUgSEFWRV9YSU5FUkFNQSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNk ZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAjZGVmaW5l IEhBVkVfQUNDRVBUNCAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUgMQp8ICNk ZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhB VkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlU IDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8 ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwg I2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmlu ZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUg SEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNkZWZpbmUg SEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmlu ZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZF X1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VORFBXRU5U IDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVOVCAxCnwg I2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQp8ICNk ZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX19fRVhFQ1VUQUJMRV9TVEFSVCAx CnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9BTElHTkVEX0FMTE9DIDEKfCAj ZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtP IDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBUIDEKfCAjZGVm aW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVmaW5lIEhB VkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX1JFQURM SU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAx CnwgI2RlZmluZSBIQVZFX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNk ZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmlu ZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9Q SVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJ R01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAx CnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1BWCAxCnwg I2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCnwgI2Rl ZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTQVQgMQp8ICNkZWZpbmUg SEFWRV9GVVRJTUVOUyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSBIQVZF X0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5lIEhBVkVf U0VDVVJFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBI QVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf VkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9TTlBS SU5URiAxCnwgI2RlZmluZSBIQVZFX0dMSUIgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RF U0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJpY3RfYXJy IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZpbmUgSEFW RV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAi L2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAx CnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9S WV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUgSVNfRElS RUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUgSVNfQU5Z X1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgSEFWRV9QUk9DRlMg MQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgSU5U RVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIE5BUlJPV1BST1RPIDEKfCAjZGVmaW5lIFVOSVg5OF9Q VFlTIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAoaSA9IDA7IGkgPCAxOyBp KyspCnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiB7IGNoYXIgKnB0eW5hbWUgPSAwOyBz aWdzZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNldCAoJmJsb2NrZWQpOyBzaWdhZGRzZXQgKCZibG9j a2VkLCBTSUdDSExEKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfQkxPQ0ssICZibG9ja2VkLCAwKTsg aWYgKGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1bmxvY2twdCAoZmQpICE9IC0xKSBwdHluYW1lID0g cHRzbmFtZShmZCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX1VOQkxPQ0ssICZibG9ja2VkLCAwKTsg aWYgKCFwdHluYW1lKSB7IGVtYWNzX2Nsb3NlIChmZCk7IHJldHVybiAtMTsgfSBzbnByaW50ZiAo cHR5X25hbWUsIFBUWV9OQU1FX1NJWkUsICIlcyIsIHB0eW5hbWUpOyB9CnwgI2RlZmluZSBQVFlf T1BFTiBkbyB7IGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX0NMT0VYRUMgfCBPX05PQ1RU WSk7IGlmIChmZCA8IDAgJiYgZXJybm8gPT0gRUlOVkFMKSBmZCA9IHBvc2l4X29wZW5wdCAoT19S RFdSIHwgT19OT0NUVFkpOyB9IHdoaWxlIChmYWxzZSkKfCAjZGVmaW5lIFBUWV9OQU1FX1NQUklO VEYgLyoqLwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmluZSBHQ19T RVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVf X1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgR05VX0xJTlVYIC8qKi8KfCAj ZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBVU0FCTEVfU0lHSU8gMQp8ICNkZWZp bmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgImd0a3V0aWwuaCIKfCAjZGVmaW5lIEVNQUNT X0NPTkZJR1VSQVRJT04gIng4Nl82NC11bmtub3duLWxpbnV4LWdudSIKfCAjZGVmaW5lIEVNQUNT X0NPTkZJR19PUFRJT05TICItLXdpdGgteC10b29sLWtpdD1ndGsiCnwgI2RlZmluZSBIQVZFX1hf V0lORE9XUyAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9DIDEKfCAj ZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUg SEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQg MQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRB U1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBMU1RBVF9GT0xM T1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5l IEhBVkVfR0VUT1BUX0xPTkdfT05MWSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5WIDEKfCAj ZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0g MQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVm aW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9UTV9UTV9aT05FIDEKfCAj ZGVmaW5lIEhBVkVfVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VNQVggMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19VVElN RVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRHUk9VUFNf VCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9CWVRFU1dBUF9I IDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX1NF VFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBIQVZFX0RV UDIgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRP UEVORElSIDEKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X19fRlBFTkRJTkcgMQp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHN0cnVjdCB0aW1l em9uZQp8ICNkZWZpbmUgSEFWRV9NRU1SQ0hSIDEKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICNpbmNsdWRlIDxwdGhyZWFkLmg+CnwgI2lu Y2x1ZGUgPHNpZ25hbC5oPgp8ICNpbmNsdWRlIDxzdGRkZWYuaD4KfCBpbnQgbWFpbiAoKQp8IHsK fCAgIHNpZ3NldF90IHNldDsKfCAgIHNpZ2VtcHR5c2V0ICgmc2V0KTsKfCAgIHJldHVybiBwdGhy ZWFkX3NpZ21hc2sgKDE3MjksICZzZXQsIE5VTEwpICE9IDA7CnwgfQpjb25maWd1cmU6MjUzMjY6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNTMzODogY2hlY2tpbmcgd2hldGhlciBwdGhyZWFkX3Np Z21hc2sgcmV0dXJucyBlcnJvciBudW1iZXJzCmNvbmZpZ3VyZToyNTM3MDogZ2NjIC1zdGQ9Z251 OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAgPiY1IApj b25maWd1cmU6MjUzNzA6ICQ/ID0gMApjb25maWd1cmU6MjUzNzA6IC4vY29uZnRlc3QKY29uZmln dXJlOjI1MzcwOiAkPyA9IDAKY29uZmlndXJlOjI1MzgyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MjUzOTM6IGNoZWNraW5nIHdoZXRoZXIgcHRocmVhZF9zaWdtYXNrIHVuYmxvY2tzIHNpZ25hbHMg Y29ycmVjdGx5CmNvbmZpZ3VyZToyNTQ0NzogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3QgLWcz IC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICAgPiY1IApjb25maWd1cmU6MjU0NDc6ICQ/ ID0gMApjb25maWd1cmU6MjU0NDc6IC4vY29uZnRlc3QKY29uZmlndXJlOjI1NDQ3OiAkPyA9IDAK Y29uZmlndXJlOjI1NDU5OiByZXN1bHQ6IGd1ZXNzaW5nIHllcwpjb25maWd1cmU6MjU1MDM6IGNo ZWNraW5nIGZvciBwdXRlbnYgY29tcGF0aWJsZSB3aXRoIEdOVSBhbmQgU1ZJRApjb25maWd1cmU6 MjU1NDI6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5j IC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6MjU1NDI6ICQ/ID0gMApjb25maWd1cmU6MjU1NDI6 IC4vY29uZnRlc3QKY29uZmlndXJlOjI1NTQyOiAkPyA9IDAKY29uZmlndXJlOjI1NTUzOiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MjU2MTM6IGNoZWNraW5nIHN5cy9hY2wuaCB1c2FiaWxpdHkKY29u ZmlndXJlOjI1NjEzOiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6MzEzOjIxOiBmYXRhbCBlcnJvcjogc3lzL2FjbC5oOiBObyBzdWNoIGZpbGUg b3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8c3lzL2FjbC5oPgogICAgICAgICAgICAgICAgICAgICBe CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToyNTYxMzogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJHTlUgRW1hY3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251 LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3Jn L3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVS U0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hF QURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I IDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmlu ZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9H TlVfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmlu ZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8 ICNkZWZpbmUgU1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5E Q0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVf SCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFW RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJT19FWFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFWRV9URVJN X0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T WVNfU0lHTElTVCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9O RVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQURE UiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAxCnwgI2RlZmlu ZSBET1VHX0xFQV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWEtC IDEKfCAjZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVO UkVTT1VSQ0VTVFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8 ICNkZWZpbmUgSEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBI QVZFX1gxMVI2X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9JTUFH RU1BR0lDSyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElNQUdFUElYRUxTIDEKfCAjZGVm aW5lIEhBVkVfTUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2RlZmluZSBIQVZFX0dUSzMgMQp8 ICNkZWZpbmUgR0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgR0xJ Ql9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVTRV9HVEsgMQp8ICNk ZWZpbmUgSEFWRV9HVEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfVEVBUk9G Rl9NRU5VX0lURU1fTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfV0lORE9XIDEK fCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZF X0dUS19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9H RVRfU0VOU0lUSVZFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQUEVEIDEKfCAj ZGVmaW5lIEhBVkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAxCnwgI2RlZmluZSBIQVZF X0dUS19PUklFTlRBQkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2RlZmluZSBIQVZFX0dUS19XSU5E T1dfU0VUX0hBU19SRVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZFX0dTRVRUSU5HUyAxCnwgI2Rl ZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxFTk9USUZZIDEKfCAjZGVmaW5l IFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwg I2RlZmluZSBIQVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3Rl cklNSW5zdGFudGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hGVCAx CnwgI2RlZmluZSBIQVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5l IEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAx CnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQU1RSVUNUIC8qKi8KfCAjZGVm aW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYg MQp8ICNkZWZpbmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUT1VUUFVUUFJJTUFS WSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNFU0NVUlJFTlQgMQp8ICNkZWZp bmUgSEFWRV9YUkFORFIgMQp8ICNkZWZpbmUgSEFWRV9YSU5FUkFNQSAxCnwgI2RlZmluZSBIQVZF X0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZM T0NLIDEKfCAjZGVmaW5lIEhBVkVfQUNDRVBUNCAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRf RElSX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l IEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZF X1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NF TkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQURE UlMgMQp8ICNkZWZpbmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJF UlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAx CnwgI2RlZmluZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0VORFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9FTkRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NG U0VUU1BFRUQgMQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX19fRVhF Q1VUQUJMRV9TVEFSVCAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9BTElH TkVEX0FMTE9DIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVm aW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZF X0dFVFBUIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZP IDEKfCAjZGVmaW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2Rl ZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZp bmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBIQVZF X0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVP RkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTUtPU1RFTVAgMQp8 ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUg SEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZF X1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NB TFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVT QVQgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVOUyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAx CnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEK fCAjZGVmaW5lIEhBVkVfU0VDVVJFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VU UyAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmlu ZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNk ZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0dMSUIgMQp8ICNkZWZpbmUgSEFW RV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5l IF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUg MQp8ICNkZWZpbmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmlu ZSBOVUxMX0RFVklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5l IHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAj ZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8 ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8 ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZp bmUgSEFWRV9QUk9DRlMgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNw Igp8ICNkZWZpbmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIE5BUlJPV1BST1RPIDEKfCAj ZGVmaW5lIFVOSVg5OF9QVFlTIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAo aSA9IDA7IGkgPCAxOyBpKyspCnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiB7IGNoYXIg KnB0eW5hbWUgPSAwOyBzaWdzZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNldCAoJmJsb2NrZWQpOyBz aWdhZGRzZXQgKCZibG9ja2VkLCBTSUdDSExEKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfQkxPQ0ss ICZibG9ja2VkLCAwKTsgaWYgKGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1bmxvY2twdCAoZmQpICE9 IC0xKSBwdHluYW1lID0gcHRzbmFtZShmZCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX1VOQkxPQ0ss ICZibG9ja2VkLCAwKTsgaWYgKCFwdHluYW1lKSB7IGVtYWNzX2Nsb3NlIChmZCk7IHJldHVybiAt MTsgfSBzbnByaW50ZiAocHR5X25hbWUsIFBUWV9OQU1FX1NJWkUsICIlcyIsIHB0eW5hbWUpOyB9 CnwgI2RlZmluZSBQVFlfT1BFTiBkbyB7IGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX0NM T0VYRUMgfCBPX05PQ1RUWSk7IGlmIChmZCA8IDAgJiYgZXJybm8gPT0gRUlOVkFMKSBmZCA9IHBv c2l4X29wZW5wdCAoT19SRFdSIHwgT19OT0NUVFkpOyB9IHdoaWxlIChmYWxzZSkKfCAjZGVmaW5l IFBUWV9OQU1FX1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAx CnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEK fCAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgR05V X0xJTlVYIC8qKi8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBVU0FCTEVf U0lHSU8gMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgImd0a3V0aWwuaCIK fCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC11bmtub3duLWxpbnV4LWdudSIK fCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXdpdGgteC10b29sLWtpdD1ndGsiCnwg I2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBH TlVfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExP Q0EgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhB VkVfQzk5X1NUUlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2Rl ZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0dFVE9Q VF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfR0VURU5WIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZF X19CT09MIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9U TV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX0dN VE9GRiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhB VkVfV09SS0lOR19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2Rl ZmluZSBHRVRHUk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUg SEFWRV9CWVRFU1dBUF9IIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmlu ZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwg I2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfRkRPUEVORElSIDEKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX19fRlBFTkRJTkcgMQp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVa T05FIHN0cnVjdCB0aW1lem9uZQp8ICNkZWZpbmUgSEFWRV9NRU1SQ0hSIDEKfCAjZGVmaW5lIEdO VUxJQl9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19U WVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T WVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERD X0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+Cnwg I2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAj IGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNU RENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnku aD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPHN5 cy9hY2wuaD4KY29uZmlndXJlOjI1NjEzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNTYxMzogY2hl Y2tpbmcgc3lzL2FjbC5oIHByZXNlbmNlCmNvbmZpZ3VyZToyNTYxMzogZ2NjIC1FICAgIGNvbmZ0 ZXN0LmMKY29uZnRlc3QuYzoyODA6MjE6IGZhdGFsIGVycm9yOiBzeXMvYWNsLmg6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxzeXMvYWNsLmg+CiAgICAgICAgICAgICAgICAg ICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjI1NjEzOiAkPyA9IDEKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUg UEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1 Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3Lmdu dS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmlu ZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAj ZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZp bmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAj ZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9E RSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNf U09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX1BUWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRT TkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmlu ZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBI QVZFX1NURElPX0VYVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T RUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfUEVSU09OQUxJVFlfTElOVVgzMiAxCnwgI2RlZmluZSBIQVZF X1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NZU19TSUdMSVNUIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBI QVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf SFdBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9EQVRBX1NUQVJUIDEKfCAj ZGVmaW5lIERPVUdfTEVBX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFW RV9YS0IgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hT Q1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVF TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVm aW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZF X0lNQUdFTUFHSUNLIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNLRVhQT1JUSU1BR0VQSVhFTFMgMQp8 ICNkZWZpbmUgSEFWRV9NQUdJQ0tNRVJHRUlNQUdFTEFZRVJTIDEKfCAjZGVmaW5lIEhBVkVfR1RL MyAxCnwgI2RlZmluZSBHREtfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmlu ZSBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgVVNFX0dUSyAx CnwgI2RlZmluZSBIQVZFX0dUS19IQU5ETEVfQk9YX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19U RUFST0ZGX01FTlVfSVRFTV9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9XSU5E T1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX1NFVF9IQVNfV0lORE9XIDEKfCAjZGVmaW5l IEhBVkVfR1RLX0RJQUxPR19HRVRfQUNUSU9OX0FSRUEgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lE R0VUX0dFVF9TRU5TSVRJVkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9NQVBQRUQg MQp8ICNkZWZpbmUgSEFWRV9HVEtfQURKVVNUTUVOVF9HRVRfUEFHRV9TSVpFIDEKfCAjZGVmaW5l IEhBVkVfR1RLX09SSUVOVEFCTEVfU0VUX09SSUVOVEFUSU9OIDEKfCAjZGVmaW5lIEhBVkVfR1RL X1dJTkRPV19TRVRfSEFTX1JFU0laRV9HUklQIDEKfCAjZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEK fCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfR0ZJTEVOT1RJRlkgMQp8ICNk ZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJT IDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJl Z2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVf WEZUIDEKfCAjZGVmaW5lIEhBVkVfRlJFRVRZUEUgMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNk ZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BO R19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIFBOR19ERVBTVFJVQ1QgLyoqLwp8 ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZF X0dJRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRPVVRQVVRQ UklNQVJZIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUU0NSRUVOUkVTT1VSQ0VTQ1VSUkVOVCAxCnwg I2RlZmluZSBIQVZFX1hSQU5EUiAxCnwgI2RlZmluZSBIQVZFX1hJTkVSQU1BIDEKfCAjZGVmaW5l IEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9V U0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFUFQ0IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9T VE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VS UkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9S QU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZp bmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5l IEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhB VkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRT T0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VU SUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJ X1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERF TElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAj ZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmlu ZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhB VkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVf X19FWEVDVVRBQkxFX1NUQVJUIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZF X0FMSUdORURfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8 ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5l IEhBVkVfR0VUUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVS TUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEK fCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwg I2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRkRPUEVORElSIDEKfCAjZGVmaW5l IEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VU VElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9NS09TVEVN UCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2Rl ZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5l IEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZF X0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0ZV VElNRVNBVCAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRU5TIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVO U0FUIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJ WkUgMQp8ICNkZWZpbmUgSEFWRV9TRUNVUkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9T T0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAj ZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAx CnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfR0xJQiAxCnwgI2RlZmlu ZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNk ZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExf TkFNRSAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAj ZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNk ZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNv cwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2Nf KSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9T RVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwg I2RlZmluZSBIQVZFX1BST0NGUyAxCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rl di9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8ICNkZWZpbmUgTkFSUk9XUFJPVE8g MQp8ICNkZWZpbmUgVU5JWDk4X1BUWVMgMQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsg Zm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHsg Y2hhciAqcHR5bmFtZSA9IDA7IHNpZ3NldF90IGJsb2NrZWQ7IHNpZ2VtcHR5c2V0ICgmYmxvY2tl ZCk7IHNpZ2FkZHNldCAoJmJsb2NrZWQsIFNJR0NITEQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19C TE9DSywgJmJsb2NrZWQsIDApOyBpZiAoZ3JhbnRwdCAoZmQpICE9IC0xICYmIHVubG9ja3B0IChm ZCkgIT0gLTEpIHB0eW5hbWUgPSBwdHNuYW1lKGZkKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfVU5C TE9DSywgJmJsb2NrZWQsIDApOyBpZiAoIXB0eW5hbWUpIHsgZW1hY3NfY2xvc2UgKGZkKTsgcmV0 dXJuIC0xOyB9IHNucHJpbnRmIChwdHlfbmFtZSwgUFRZX05BTUVfU0laRSwgIiVzIiwgcHR5bmFt ZSk7IH0KfCAjZGVmaW5lIFBUWV9PUEVOIGRvIHsgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8 IE9fQ0xPRVhFQyB8IE9fTk9DVFRZKTsgaWYgKGZkIDwgMCAmJiBlcnJubyA9PSBFSU5WQUwpIGZk ID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX05PQ1RUWSk7IH0gd2hpbGUgKGZhbHNlKQp8ICNk ZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNU RVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09S S1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmlu ZSBHTlVfTElOVVggLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVT QUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAiZ3RrdXRp bC5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXVua25vd24tbGludXgt Z251Igp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0td2l0aC14LXRvb2wta2l0PWd0 ayIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVm aW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZp bmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAK fCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVf R0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUg SEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5l IEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX1RNX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVf VE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZp bmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEK fCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBIQVZFX0JZVEVTV0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAj ZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFN IDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfX19GUEVORElORyAxCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlf VElNRVpPTkUgc3RydWN0IHRpbWV6b25lCnwgI2RlZmluZSBIQVZFX01FTVJDSFIgMQp8ICNkZWZp bmUgR05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy9hY2wuaD4KY29uZmlndXJlOjI1 NjEzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNTYxMzogY2hlY2tpbmcgZm9yIHN5cy9hY2wuaApj b25maWd1cmU6MjU2MTM6IHJlc3VsdDogbm8KY29uZmlndXJlOjI2MDIzOiBXQVJOSU5HOiBsaWJh Y2wgZGV2ZWxvcG1lbnQgbGlicmFyeSB3YXMgbm90IGZvdW5kIG9yIG5vdCB1c2FibGUuCmNvbmZp Z3VyZToyNjAyNTogV0FSTklORzogR05VIEVtYWNzIHdpbGwgYmUgYnVpbHQgd2l0aG91dCBBQ0wg c3VwcG9ydC4KY29uZmlndXJlOjI2MDQ0OiBjaGVja2luZyB3aGV0aGVyIHJlYWRsaW5rIHNpZ25h dHVyZSBpcyBjb3JyZWN0CmNvbmZpZ3VyZToyNjA2MjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1P MiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjYwNjI6ICQ/ID0gMApjb25maWd1cmU6MjYw Njk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNjA3MTogY2hlY2tpbmcgd2hldGhlciByZWFkbGlu ayBoYW5kbGVzIHRyYWlsaW5nIHNsYXNoIGNvcnJlY3RseQpjb25maWd1cmU6MjYxMDE6IGdjYyAt c3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAg PiY1IApjb25maWd1cmU6MjYxMDE6ICQ/ID0gMApjb25maWd1cmU6MjYxMDE6IC4vY29uZnRlc3QK Y29uZmlndXJlOjI2MTAxOiAkPyA9IDAKY29uZmlndXJlOjI2MTEyOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MjYxODk6IGNoZWNraW5nIGZvciBzaWcyc3RyCmNvbmZpZ3VyZToyNjE4OTogZ2NjIC1z dGQ9Z251OTkgLW8gY29uZnRlc3QgLWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+ JjUgCi90bXAvY2NPM0hpUTgubzogSW4gZnVuY3Rpb24gYG1haW4nOgovaG9tZS90dWhkby9Eb3du bG9hZHMvZW1hY3MtdHJ1bmsvY29uZnRlc3QuYzozMTU6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8g YHNpZzJzdHInCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25m aWd1cmU6MjYxODk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQu NTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQ QUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBNQUlM X1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RB UldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhf UFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGlu dXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5E IDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwg I2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9F WEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9H RVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9M SU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf VElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9T WVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFE RFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQURE UiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZF X0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9DIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVf UFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFC QVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhB VkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZp bmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFW RV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZpbmUgSEFWRV9NQUdJ Q0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS01FUkdFSU1BR0VMQVlF UlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdES19ESVNBQkxFX0RFUFJFQ0FU SU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5H UyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hBTkRMRV9CT1hfTkVX IDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVNX05FVyAxCnwgI2RlZmluZSBI QVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfU0VU X0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dFVF9BQ1RJT05fQVJFQSAx CnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAxCnwgI2RlZmluZSBIQVZF X0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZFX0dUS19BREpVU1RNRU5UX0dF VF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5UQVRJ T04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpFX0dSSVAgMQp8ICNk ZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUg SEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUg VVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUg VVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBY UG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUgSEFWRV9GUkVFVFlQRSAxCnwg I2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9K UEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZp bmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFW RV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2Rl ZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkgMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRTQ1JF RU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5lIEhBVkVfWFJBTkRSIDEKfCAjZGVmaW5lIEhB VkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9F UlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0FDQ0VQVDQg MQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAx CnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJB TkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNk ZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBI QVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVf R0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9T RVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJP TSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQURE UlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5F IDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVm aW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBI QVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9D Rk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09Q WVNJR04gMQp8ICNkZWZpbmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQgMQp8ICNkZWZpbmUgSEFW RV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfQUxJR05FRF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX19f QlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBI QVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lY X09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEK fCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVm aW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFW RV9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZ TkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAx CnwgI2RlZmluZSBIQVZFX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZp bmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVm aW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFW RV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9T WU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJ TUVTIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FU0FUIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FTlMg MQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAj ZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFQ1VSRV9HRVRFTlYg MQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAj ZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVm aW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZp bmUgSEFWRV9HTElCIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmlu ZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0Cnwg I2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2Rl ZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAj ZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNF Ul9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNk ZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2Nf KSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNf RElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEhBVkVfUFJPQ0ZTIDEKfCAjZGVmaW5lIERF RkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAx CnwgI2RlZmluZSBOQVJST1dQUk9UTyAxCnwgI2RlZmluZSBVTklYOThfUFRZUyAxCnwgI2RlZmlu ZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUg UFRZX1RUWV9OQU1FX1NQUklOVEYgeyBjaGFyICpwdHluYW1lID0gMDsgc2lnc2V0X3QgYmxvY2tl ZDsgc2lnZW1wdHlzZXQgKCZibG9ja2VkKTsgc2lnYWRkc2V0ICgmYmxvY2tlZCwgU0lHQ0hMRCk7 IHB0aHJlYWRfc2lnbWFzayAoU0lHX0JMT0NLLCAmYmxvY2tlZCwgMCk7IGlmIChncmFudHB0IChm ZCkgIT0gLTEgJiYgdW5sb2NrcHQgKGZkKSAhPSAtMSkgcHR5bmFtZSA9IHB0c25hbWUoZmQpOyBw dGhyZWFkX3NpZ21hc2sgKFNJR19VTkJMT0NLLCAmYmxvY2tlZCwgMCk7IGlmICghcHR5bmFtZSkg eyBlbWFjc19jbG9zZSAoZmQpOyByZXR1cm4gLTE7IH0gc25wcmludGYgKHB0eV9uYW1lLCBQVFlf TkFNRV9TSVpFLCAiJXMiLCBwdHluYW1lKTsgfQp8ICNkZWZpbmUgUFRZX09QRU4gZG8geyBmZCA9 IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19DTE9FWEVDIHwgT19OT0NUVFkpOyBpZiAoZmQgPCAw ICYmIGVycm5vID09IEVJTlZBTCkgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8IE9fTk9DVFRZ KTsgfSB3aGlsZSAoZmFsc2UpCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVm aW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEK fCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNk ZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIEdOVV9MSU5VWCAvKiovCnwgI2RlZmluZSBVU0FCTEVf RklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAi Q29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVm aW5lIFRFUk1fSEVBREVSICJndGt1dGlsLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9O ICJ4ODZfNjQtdW5rbm93bi1saW51eC1nbnUiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9O UyAiLS13aXRoLXgtdG9vbC1raXQ9Z3RrIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNk ZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FM TE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhB VkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZ TUxJTksgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9M T05HX09OTFkgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmlj dCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX01FTVJDSFIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhB VkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFS X1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RN X1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU UlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVm aW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQllURVNXQVBfSCAxCnwgI2RlZmluZSBI QVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVm aW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5l IEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAxCnwgI2Rl ZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9fX0ZQRU5ESU5HIDEK fCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSBzdHJ1Y3QgdGltZXpvbmUKfCAjZGVmaW5l IEhBVkVfTUVNUkNIUiAxCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgVVNFX0FDTCAwCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8IC8qIERlZmluZSBzaWcyc3RyIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBj YXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgc2lnMnN0ci4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVgg MTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHNpZzJz dHIgaW5ub2N1b3VzX3NpZzJzdHIKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0 dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBj b25mbGljdCB3aXRoIGNoYXIgc2lnMnN0ciAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRz Lmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxp bWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAj aWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRl IDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgc2lnMnN0cgp8IAp8IC8qIE92ZXJyaWRl IGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBj aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAg IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBs eS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIg c2lnMnN0ciAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0 aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lT LiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFy dGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBk ZWZpbmVkIF9fc3R1Yl9zaWcyc3RyIHx8IGRlZmluZWQgX19zdHViX19fc2lnMnN0cgp8IGNob2tl IG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gc2lnMnN0ciAoKTsK fCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI2MTg5OiByZXN1bHQ6IG5vCmNvbmZp Z3VyZToyNjI5MTogY2hlY2tpbmcgZm9yIHZvbGF0aWxlIHNpZ19hdG9taWNfdApjb25maWd1cmU6 MjYyOTE6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjI2MjkxOiAkPyA9IDAKY29uZmlndXJlOjI2MjkxOiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMg LU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29u ZnRlc3QuYzoyODg6MzY6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnKScgdG9r ZW4KIGlmIChzaXplb2YgKCh2b2xhdGlsZSBzaWdfYXRvbWljX3QpKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MjYyOTE6ICQ/ID0gMQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi R05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1l bWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9z b2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJ T04gIjI0LjQuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUg X0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05V X1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUg X1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAj ZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENB UkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVf RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9I IDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lT X1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVU X0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBI QVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUg RE9VR19MRUFfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg SEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAx CnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJF U09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAj ZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFW RV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VN QUdJQ0sgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmlu ZSBIQVZFX01BR0lDS01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAj ZGVmaW5lIEdES19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJf RElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVm aW5lIEhBVkVfR1RLX0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZf TUVOVV9JVEVNX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwg I2RlZmluZSBIQVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9H VEtfRElBTE9HX0dFVF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VU X1NFTlNJVElWRSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2Rl ZmluZSBIQVZFX0dUS19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9H VEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9X X1NFVF9IQVNfUkVTSVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZp bmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBV U0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNk ZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJ TUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8 ICNkZWZpbmUgSEFWRV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBI QVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmlu ZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEK fCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkg MQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5l IEhBVkVfWFJBTkRSIDEKfCAjZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9M SUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9D SyAxCnwgI2RlZmluZSBIQVZFX0FDQ0VQVDQgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAx CnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJ Ul9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAx CnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBI QVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZF X1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9T VFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5E VE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJT IDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJS T1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8 ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUg SEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVf RU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNF VFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9fX0VYRUNV VEFCTEVfU1RBUlQgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfQUxJR05F RF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmlu ZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9H RVRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAx CnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZp bmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5l IEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9G U1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZE QVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX01LT1NURU1QIDEKfCAj ZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhB VkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9T VFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxU SU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FU0FU IDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FTlMgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8 ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwg I2RlZmluZSBIQVZFX1NFQ1VSRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMg MQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVm aW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9HTElCIDEKfCAjZGVmaW5lIEhBVkVf TEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBf X3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEK fCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUg TlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBz dWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2Rl ZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAj ZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAj ZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5l IEhBVkVfUFJPQ0ZTIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIK fCAjZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBOQVJST1dQUk9UTyAxCnwgI2Rl ZmluZSBVTklYOThfUFRZUyAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkg PSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgeyBjaGFyICpw dHluYW1lID0gMDsgc2lnc2V0X3QgYmxvY2tlZDsgc2lnZW1wdHlzZXQgKCZibG9ja2VkKTsgc2ln YWRkc2V0ICgmYmxvY2tlZCwgU0lHQ0hMRCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX0JMT0NLLCAm YmxvY2tlZCwgMCk7IGlmIChncmFudHB0IChmZCkgIT0gLTEgJiYgdW5sb2NrcHQgKGZkKSAhPSAt MSkgcHR5bmFtZSA9IHB0c25hbWUoZmQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19VTkJMT0NLLCAm YmxvY2tlZCwgMCk7IGlmICghcHR5bmFtZSkgeyBlbWFjc19jbG9zZSAoZmQpOyByZXR1cm4gLTE7 IH0gc25wcmludGYgKHB0eV9uYW1lLCBQVFlfTkFNRV9TSVpFLCAiJXMiLCBwdHluYW1lKTsgfQp8 ICNkZWZpbmUgUFRZX09QRU4gZG8geyBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19DTE9F WEVDIHwgT19OT0NUVFkpOyBpZiAoZmQgPCAwICYmIGVycm5vID09IEVJTlZBTCkgZmQgPSBwb3Np eF9vcGVucHQgKE9fUkRXUiB8IE9fTk9DVFRZKTsgfSB3aGlsZSAoZmFsc2UpCnwgI2RlZmluZSBQ VFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8 ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwg I2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIEdOVV9M SU5VWCAvKiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJ R0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJndGt1dGlsLmgiCnwg I2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdW5rbm93bi1saW51eC1nbnUiCnwg I2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS13aXRoLXgtdG9vbC1raXQ9Z3RrIgp8ICNk ZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05V X01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NB IDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZF X0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZp bmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRf SCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xP TkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9f Qk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1f VE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9HTVRP RkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZp bmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhB VkVfQllURVNXQVBfSCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUg SEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNk ZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9fX0ZQRU5ESU5HIDEKfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9O RSBzdHJ1Y3QgdGltZXpvbmUKfCAjZGVmaW5lIEhBVkVfTUVNUkNIUiAxCnwgI2RlZmluZSBHTlVM SUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUg VVNFX0FDTCAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICNpbmNsdWRlIDxzaWduYWwu aD4KfCAKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKCh2b2xhdGlsZSBzaWdf YXRvbWljX3QpKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25m aWd1cmU6MjYyOTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNjMwNzogY2hlY2tpbmcgZm9yIHNp Z2hhbmRsZXJfdApjb25maWd1cmU6MjYzMDc6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI2MzA3OiAkPyA9IDAKY29uZmlndXJlOjI2MzA3OiBn Y2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IElu IGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyODg6Mjc6IGVycm9yOiBleHBlY3RlZCBleHBy ZXNzaW9uIGJlZm9yZSAnKScgdG9rZW4KIGlmIChzaXplb2YgKChzaWdoYW5kbGVyX3QpKSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MjYzMDc6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdu dS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9y Zy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZF UlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf SCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZp bmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBf R05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZp bmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEK fCAjZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VO RENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhB VkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVD VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVS TV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVf TkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmlu ZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZp bmUgRE9VR19MRUFfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hL QiAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVF TlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEK fCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUg SEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1B R0VNQUdJQ0sgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2Rl ZmluZSBIQVZFX01BR0lDS01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEK fCAjZGVmaW5lIEdES19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdM SUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAj ZGVmaW5lIEhBVkVfR1RLX0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJP RkZfTUVOVV9JVEVNX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAx CnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFW RV9HVEtfRElBTE9HX0dFVF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRf R0VUX1NFTlNJVElWRSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwg I2RlZmluZSBIQVZFX0dUS19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFW RV9HVEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lO RE9XX1NFVF9IQVNfUkVTSVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNk ZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmlu ZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8 ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0 ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQg MQp8ICNkZWZpbmUgSEFWRV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmlu ZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0gg MQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2Rl ZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lG IDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1B UlkgMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVm aW5lIEhBVkVfWFJBTkRSIDEKfCAjZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFW RV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9G TE9DSyAxCnwgI2RlZmluZSBIQVZFX0FDQ0VQVDQgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFN RSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5U X0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRP TSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBI QVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFW RV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9T RU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tO QU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFE RFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RS RVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0g MQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZp bmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhB VkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9D RlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9fX0VY RUNVVEFCTEVfU1RBUlQgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfQUxJ R05FRF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2Rl ZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFW RV9HRVRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5G TyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNk ZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVm aW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFW RV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1F T0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX01LT1NURU1QIDEK fCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5l IEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFW RV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9D QUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1F U0FUIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FTlMgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQg MQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAx CnwgI2RlZmluZSBIQVZFX1NFQ1VSRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tF VFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZp bmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAj ZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9HTElCIDEKfCAjZGVmaW5lIEhB VkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmlu ZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1F IDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZp bmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmlu ZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwg I2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAK fCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkK fCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVm aW5lIEhBVkVfUFJPQ0ZTIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2Rz cCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBOQVJST1dQUk9UTyAxCnwg I2RlZmluZSBVTklYOThfUFRZUyAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3Ig KGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgeyBjaGFy ICpwdHluYW1lID0gMDsgc2lnc2V0X3QgYmxvY2tlZDsgc2lnZW1wdHlzZXQgKCZibG9ja2VkKTsg c2lnYWRkc2V0ICgmYmxvY2tlZCwgU0lHQ0hMRCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX0JMT0NL LCAmYmxvY2tlZCwgMCk7IGlmIChncmFudHB0IChmZCkgIT0gLTEgJiYgdW5sb2NrcHQgKGZkKSAh PSAtMSkgcHR5bmFtZSA9IHB0c25hbWUoZmQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19VTkJMT0NL LCAmYmxvY2tlZCwgMCk7IGlmICghcHR5bmFtZSkgeyBlbWFjc19jbG9zZSAoZmQpOyByZXR1cm4g LTE7IH0gc25wcmludGYgKHB0eV9uYW1lLCBQVFlfTkFNRV9TSVpFLCAiJXMiLCBwdHluYW1lKTsg fQp8ICNkZWZpbmUgUFRZX09QRU4gZG8geyBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19D TE9FWEVDIHwgT19OT0NUVFkpOyBpZiAoZmQgPCAwICYmIGVycm5vID09IEVJTlZBTCkgZmQgPSBw b3NpeF9vcGVucHQgKE9fUkRXUiB8IE9fTk9DVFRZKTsgfSB3aGlsZSAoZmFsc2UpCnwgI2RlZmlu ZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMg MQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAx CnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIEdO VV9MSU5VWCAvKiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxF X1NJR0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJndGt1dGlsLmgi CnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdW5rbm93bi1saW51eC1nbnUi CnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS13aXRoLXgtdG9vbC1raXQ9Z3RrIgp8 ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUg R05VX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxM T0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBI QVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNk ZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9HRVRP UFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZF X0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFW RV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf VE1fVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9H TVRPRkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBI QVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNk ZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5l IEhBVkVfQllURVNXQVBfSCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZp bmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8 ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9fX0ZQRU5ESU5HIDEKfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1F Wk9ORSBzdHJ1Y3QgdGltZXpvbmUKfCAjZGVmaW5lIEhBVkVfTUVNUkNIUiAxCnwgI2RlZmluZSBH TlVMSUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZp bmUgVVNFX0FDTCAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICNpbmNsdWRlIDxzaWdu YWwuaD4KfCAKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKChzaWdoYW5kbGVy X3QpKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6 MjYzMDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNjMyMDogY2hlY2tpbmcgZm9yIHNvY2tsZW5f dApjb25maWd1cmU6MjYzMjA6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3Qu YyA+JjUKY29uZmlndXJlOjI2MzIwOiAkPyA9IDAKY29uZmlndXJlOjI2MzIwOiBnY2MgLXN0ZD1n bnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9u ICdtYWluJzoKY29uZnRlc3QuYzoyOTY6MjQ6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJl Zm9yZSAnKScgdG9rZW4KIGlmIChzaXplb2YgKChzb2NrbGVuX3QpKSkKICAgICAgICAgICAgICAg ICAgICAgICAgXgpjb25maWd1cmU6MjYzMjA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBF bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0 LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3Jn Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFj cy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAi CnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwg I2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VS Q0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RF TV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8 ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNk ZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZM QUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAx CnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElN SVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFM TE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBI QVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5H IDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVf WDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0g MQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNk ZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01BR0lD S01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdES19E SVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBS RUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RL X0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVNX05F VyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZF X0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dF VF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAx CnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZFX0dU S19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJM RV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVT SVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVU TFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJ RlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9Y SU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRl Q2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUgSEFW RV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8 ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFW RV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmluZSBIQVZFX1pMSUIg MQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhB VkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkgMQp8ICNkZWZpbmUg SEFWRV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5lIEhBVkVfWFJBTkRS IDEKfCAjZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAj ZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmlu ZSBIQVZFX0FDQ0VQVDQgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAj ZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBI QVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdF U0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEK fCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8 ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZp bmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5l IEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZp bmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFW RV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VO VCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8 ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAj ZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQg MQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfQUxJR05FRF9BTExPQyAxCnwg I2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVL TyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQVCAxCnwgI2Rl ZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBI QVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9SRUFE TElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwg MQp8ICNkZWZpbmUgSEFWRV9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAj ZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZp bmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVf UElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9T SUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksg MQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8 ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNk ZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FU0FUIDEKfCAjZGVmaW5l IEhBVkVfRlVUSU1FTlMgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgSEFW RV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBIQVZF X1NFQ1VSRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUg SEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5H X1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05Q UklOVEYgMQp8ICNkZWZpbmUgSEFWRV9HTElCIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09E RVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2Fy ciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhB VkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0Ug Ii9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMg MQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RP UllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJ UkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FO WV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEhBVkVfUFJPQ0ZT IDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElO VEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBOQVJST1dQUk9UTyAxCnwgI2RlZmluZSBVTklYOThf UFRZUyAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsg aSsrKQp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgeyBjaGFyICpwdHluYW1lID0gMDsg c2lnc2V0X3QgYmxvY2tlZDsgc2lnZW1wdHlzZXQgKCZibG9ja2VkKTsgc2lnYWRkc2V0ICgmYmxv Y2tlZCwgU0lHQ0hMRCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX0JMT0NLLCAmYmxvY2tlZCwgMCk7 IGlmIChncmFudHB0IChmZCkgIT0gLTEgJiYgdW5sb2NrcHQgKGZkKSAhPSAtMSkgcHR5bmFtZSA9 IHB0c25hbWUoZmQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19VTkJMT0NLLCAmYmxvY2tlZCwgMCk7 IGlmICghcHR5bmFtZSkgeyBlbWFjc19jbG9zZSAoZmQpOyByZXR1cm4gLTE7IH0gc25wcmludGYg KHB0eV9uYW1lLCBQVFlfTkFNRV9TSVpFLCAiJXMiLCBwdHluYW1lKTsgfQp8ICNkZWZpbmUgUFRZ X09QRU4gZG8geyBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19DTE9FWEVDIHwgT19OT0NU VFkpOyBpZiAoZmQgPCAwICYmIGVycm5vID09IEVJTlZBTCkgZmQgPSBwb3NpeF9vcGVucHQgKE9f UkRXUiB8IE9fTk9DVFRZKTsgfSB3aGlsZSAoZmFsc2UpCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJ TlRGIC8qKi8KfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0Nf U0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZF X19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIEdOVV9MSU5VWCAvKiovCnwg I2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVm aW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJndGt1dGlsLmgiCnwgI2RlZmluZSBFTUFD U19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdW5rbm93bi1saW51eC1nbnUiCnwgI2RlZmluZSBFTUFD U19DT05GSUdfT1BUSU9OUyAiLS13aXRoLXgtdG9vbC1raXQ9Z3RrIgp8ICNkZWZpbmUgSEFWRV9Y X1dJTkRPV1MgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwg I2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5l IEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xE IDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFU QVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgTFNUQVRfRk9M TE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmlu ZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwg I2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJN IDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxCnwg I2RlZmluZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJ TUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBT X1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQllURVNXQVBf SCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19T RVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9E VVAyIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZE T1BFTkRJUiAxCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9fX0ZQRU5ESU5HIDEKfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSBzdHJ1Y3QgdGlt ZXpvbmUKfCAjZGVmaW5lIEhBVkVfTUVNUkNIUiAxCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAg MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgVVNFX0FDTCAwCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIDxzeXMvdHlwZXMuaD4gaXMgbm90IG5lZWRl ZCBhY2NvcmRpbmcgdG8gUE9TSVgsIGJ1dCB0aGUKfCAgICA8c3lzL3NvY2tldC5oPiBpbiBpMzg2 LXVua25vd24tZnJlZWJzZDQuMTAgYW5kCnwgICAgcG93ZXJwYy1hcHBsZS1kYXJ3aW41LjUgcmVx dWlyZWQgaXQuICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpZiBIQVZFX1NZU19TT0NL RVRfSAp8ICMgaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8ICNlbGlmIEhBVkVfV1MyVENQSVBfSAp8 ICMgaW5jbHVkZSA8d3MydGNwaXAuaD4KfCAjZW5kaWYKfCAKfCAKfCBpbnQKfCBtYWluICgpCnwg ewp8IGlmIChzaXplb2YgKChzb2NrbGVuX3QpKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8ICAg cmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjYzMjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNjM4 NDogY2hlY2tpbmcgZm9yIHNzaXplX3QKY29uZmlndXJlOjI2NDAxOiBnY2MgLXN0ZD1nbnU5OSAt YyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyNjQwMTogJD8gPSAwCmNvbmZp Z3VyZToyNjQwODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI2NDIwOiBjaGVja2luZyBmb3Igc3Ry dWN0IHN0YXQuc3RfYXRpbS50dl9uc2VjCmNvbmZpZ3VyZToyNjQyMDogZ2NjIC1zdGQ9Z251OTkg LWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjY0MjA6ICQ/ID0gMApjb25m aWd1cmU6MjY0MjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNjQyOTogY2hlY2tpbmcgd2hldGhl ciBzdHJ1Y3Qgc3RhdC5zdF9hdGltIGlzIG9mIHR5cGUgc3RydWN0IHRpbWVzcGVjCmNvbmZpZ3Vy ZToyNjQ1NjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25m aWd1cmU6MjY0NTY6ICQ/ID0gMApjb25maWd1cmU6MjY0NjM6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToyNjUxNTogY2hlY2tpbmcgZm9yIHN0cnVjdCBzdGF0LnN0X2JpcnRodGltZXNwZWMudHZfbnNl Ywpjb25maWd1cmU6MjY1MTU6IGdjYyAtc3RkPWdudTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3Qu YyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjI5MDoxMjog ZXJyb3I6ICdzdHJ1Y3Qgc3RhdCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnc3RfYmlydGh0aW1lc3Bl YycKIGlmIChhY19hZ2dyLnN0X2JpcnRodGltZXNwZWMudHZfbnNlYykKICAgICAgICAgICAgXgpj b25maWd1cmU6MjY1MTU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0 LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmlu ZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBN QUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9T SVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZp bmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUv bGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NP VU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAx CnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFW RV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9X Q0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJTT05BTElU WV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9T WVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFW RV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9J RkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FE QUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBI QVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2Rl ZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9DIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERB VEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5l IEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNk ZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUg SEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZpbmUgSEFWRV9N QUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS01FUkdFSU1BR0VM QVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdES19ESVNBQkxFX0RFUFJF Q0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJO SU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hBTkRMRV9CT1hf TkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVNX05FVyAxCnwgI2RlZmlu ZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRf U0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dFVF9BQ1RJT05fQVJF QSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAxCnwgI2RlZmluZSBI QVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZFX0dUS19BREpVU1RNRU5U X0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5U QVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpFX0dSSVAgMQp8 ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZp bmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZp bmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZp bmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJn NiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUgSEFWRV9GUkVFVFlQRSAx CnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFW RV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNk ZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUg SEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwg I2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkgMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRT Q1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5lIEhBVkVfWFJBTkRSIDEKfCAjZGVmaW5l IEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVf SF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0FDQ0VQ VDQgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FH RSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVf TFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8 ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2Rl ZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmlu ZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhB VkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFW RV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNW RlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVF Uk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlG QUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRM SU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFW RV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVf Q09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQgMQp8ICNkZWZpbmUg SEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfQUxJR05FRF9BTExPQyAxCnwgI2RlZmluZSBIQVZF X19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmlu ZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQVCAxCnwgI2RlZmluZSBIQVZFX1BP U0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklU IDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAj ZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUg SEFWRV9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVf RlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RB VCAxCnwgI2RlZmluZSBIQVZFX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNk ZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAj ZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUg SEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFW RV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9G VVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FU0FUIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1F TlMgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEK fCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFQ1VSRV9HRVRF TlYgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEK fCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAj ZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNk ZWZpbmUgSEFWRV9HTElCIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2Rl ZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0 CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwg I2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIK fCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUg VVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8 ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAo X2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAo SVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEhBVkVfUFJPQ0ZTIDEKfCAjZGVmaW5l IERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBV VCAxCnwgI2RlZmluZSBOQVJST1dQUk9UTyAxCnwgI2RlZmluZSBVTklYOThfUFRZUyAxCnwgI2Rl ZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZp bmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgeyBjaGFyICpwdHluYW1lID0gMDsgc2lnc2V0X3QgYmxv Y2tlZDsgc2lnZW1wdHlzZXQgKCZibG9ja2VkKTsgc2lnYWRkc2V0ICgmYmxvY2tlZCwgU0lHQ0hM RCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX0JMT0NLLCAmYmxvY2tlZCwgMCk7IGlmIChncmFudHB0 IChmZCkgIT0gLTEgJiYgdW5sb2NrcHQgKGZkKSAhPSAtMSkgcHR5bmFtZSA9IHB0c25hbWUoZmQp OyBwdGhyZWFkX3NpZ21hc2sgKFNJR19VTkJMT0NLLCAmYmxvY2tlZCwgMCk7IGlmICghcHR5bmFt ZSkgeyBlbWFjc19jbG9zZSAoZmQpOyByZXR1cm4gLTE7IH0gc25wcmludGYgKHB0eV9uYW1lLCBQ VFlfTkFNRV9TSVpFLCAiJXMiLCBwdHluYW1lKTsgfQp8ICNkZWZpbmUgUFRZX09QRU4gZG8geyBm ZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19DTE9FWEVDIHwgT19OT0NUVFkpOyBpZiAoZmQg PCAwICYmIGVycm5vID09IEVJTlZBTCkgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8IE9fTk9D VFRZKTsgfSB3aGlsZSAoZmFsc2UpCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAj ZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktT IDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8 ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIEdOVV9MSU5VWCAvKiovCnwgI2RlZmluZSBVU0FC TEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENPUFlSSUdI VCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAj ZGVmaW5lIFRFUk1fSEVBREVSICJndGt1dGlsLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFU SU9OICJ4ODZfNjQtdW5rbm93bi1saW51eC1nbnUiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BU SU9OUyAiLS13aXRoLXgtdG9vbC1raXQ9Z3RrIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8 ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdO RURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5l IEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVE X1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9Q VF9MT05HX09OTFkgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0 cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX01FTVJDSFIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5l IEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dD SEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZF X1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAj ZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQllURVNXQVBfSCAxCnwgI2RlZmlu ZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAj ZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVm aW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAxCnwg I2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9fX0ZQRU5ESU5H IDEKfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSBzdHJ1Y3QgdGltZXpvbmUKfCAjZGVm aW5lIEhBVkVfTUVNUkNIUiAxCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgVVNFX0FDTCAwCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9TVEFUX1NUX0FUSU1fVFZfTlNFQyAxCnwgI2RlZmluZSBUWVBFT0ZfU1RSVUNUX1NU QVRfU1RfQVRJTV9JU19TVFJVQ1RfVElNRVNQRUMgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgICAgICAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAK fCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdCBhY19hZ2dyOwp8IGlmIChh Y19hZ2dyLnN0X2JpcnRodGltZXNwZWMudHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJl dHVybiAwOwp8IH0KY29uZmlndXJlOjI2NTE1OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAg IGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3Qu YzoyOTA6MTk6IGVycm9yOiAnc3RydWN0IHN0YXQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2Jp cnRodGltZXNwZWMnCiBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYmlydGh0aW1lc3BlYy50dl9uc2Vj KQogICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MjY1MTU6ICQ/ID0gMQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi R05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1l bWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9z b2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJ T04gIjI0LjQuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUg X0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05V X1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUg X1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAj ZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENB UkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVf RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9I IDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lT X1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVU X0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBI QVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUg RE9VR19MRUFfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg SEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAx CnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJF U09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAj ZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFW RV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VN QUdJQ0sgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmlu ZSBIQVZFX01BR0lDS01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAj ZGVmaW5lIEdES19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJf RElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVm aW5lIEhBVkVfR1RLX0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZf TUVOVV9JVEVNX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwg I2RlZmluZSBIQVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9H VEtfRElBTE9HX0dFVF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VU X1NFTlNJVElWRSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2Rl ZmluZSBIQVZFX0dUS19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9H VEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9X X1NFVF9IQVNfUkVTSVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZp bmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBV U0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNk ZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJ TUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8 ICNkZWZpbmUgSEFWRV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBI QVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmlu ZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEK fCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkg MQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5l IEhBVkVfWFJBTkRSIDEKfCAjZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9M SUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9D SyAxCnwgI2RlZmluZSBIQVZFX0FDQ0VQVDQgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAx CnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJ Ul9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAx CnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBI QVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZF X1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9T VFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5E VE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJT IDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJS T1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8 ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUg SEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVf RU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNF VFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9fX0VYRUNV VEFCTEVfU1RBUlQgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfQUxJR05F RF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmlu ZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9H RVRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAx CnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZp bmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5l IEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9G U1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZE QVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX01LT1NURU1QIDEKfCAj ZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhB VkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9T VFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxU SU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FU0FU IDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FTlMgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8 ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwg I2RlZmluZSBIQVZFX1NFQ1VSRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMg MQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUg SEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVm aW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9HTElCIDEKfCAjZGVmaW5lIEhBVkVf TEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBf X3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEK fCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUg TlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBz dWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2Rl ZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAj ZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAj ZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5l IEhBVkVfUFJPQ0ZTIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIK fCAjZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBOQVJST1dQUk9UTyAxCnwgI2Rl ZmluZSBVTklYOThfUFRZUyAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkg PSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgeyBjaGFyICpw dHluYW1lID0gMDsgc2lnc2V0X3QgYmxvY2tlZDsgc2lnZW1wdHlzZXQgKCZibG9ja2VkKTsgc2ln YWRkc2V0ICgmYmxvY2tlZCwgU0lHQ0hMRCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX0JMT0NLLCAm YmxvY2tlZCwgMCk7IGlmIChncmFudHB0IChmZCkgIT0gLTEgJiYgdW5sb2NrcHQgKGZkKSAhPSAt MSkgcHR5bmFtZSA9IHB0c25hbWUoZmQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19VTkJMT0NLLCAm YmxvY2tlZCwgMCk7IGlmICghcHR5bmFtZSkgeyBlbWFjc19jbG9zZSAoZmQpOyByZXR1cm4gLTE7 IH0gc25wcmludGYgKHB0eV9uYW1lLCBQVFlfTkFNRV9TSVpFLCAiJXMiLCBwdHluYW1lKTsgfQp8 ICNkZWZpbmUgUFRZX09QRU4gZG8geyBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19DTE9F WEVDIHwgT19OT0NUVFkpOyBpZiAoZmQgPCAwICYmIGVycm5vID09IEVJTlZBTCkgZmQgPSBwb3Np eF9vcGVucHQgKE9fUkRXUiB8IE9fTk9DVFRZKTsgfSB3aGlsZSAoZmFsc2UpCnwgI2RlZmluZSBQ VFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8 ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwg I2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIEdOVV9M SU5VWCAvKiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJ R0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJndGt1dGlsLmgiCnwg I2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdW5rbm93bi1saW51eC1nbnUiCnwg I2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS13aXRoLXgtdG9vbC1raXQ9Z3RrIgp8ICNk ZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05V X01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NB IDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZF X0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZp bmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRf SCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xP TkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9f Qk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1f VE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9HTVRP RkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZp bmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhB VkVfQllURVNXQVBfSCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUg SEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNk ZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9fX0ZQRU5ESU5HIDEKfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9O RSBzdHJ1Y3QgdGltZXpvbmUKfCAjZGVmaW5lIEhBVkVfTUVNUkNIUiAxCnwgI2RlZmluZSBHTlVM SUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUg VVNFX0FDTCAwCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0FUSU1fVFZfTlNFQyAxCnwg I2RlZmluZSBUWVBFT0ZfU1RSVUNUX1NUQVRfU1RfQVRJTV9JU19TVFJVQ1RfVElNRVNQRUMgMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgICAgICAj aW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1 Y3Qgc3RhdCBhY19hZ2dyOwp8IGlmIChzaXplb2YgYWNfYWdnci5zdF9iaXJ0aHRpbWVzcGVjLnR2 X25zZWMpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNjUx NTogcmVzdWx0OiBubwpjb25maWd1cmU6MjY1MjY6IGNoZWNraW5nIGZvciBzdHJ1Y3Qgc3RhdC5z dF9iaXJ0aHRpbWVuc2VjCmNvbmZpZ3VyZToyNjUyNjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1P MiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0 ZXN0LmM6MjkwOjEyOiBlcnJvcjogJ3N0cnVjdCBzdGF0JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdz dF9iaXJ0aHRpbWVuc2VjJwogaWYgKGFjX2FnZ3Iuc3RfYmlydGh0aW1lbnNlYykKICAgICAgICAg ICAgXgpjb25maWd1cmU6MjY1MjY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwg I2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2Rl ZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmlu ZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBF ICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBI QVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q V0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZp bmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJT T05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVf V0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZp bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUg SEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2Rl ZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAx CnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9DIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBIQVZFX1hS TVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAj ZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYg MQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNk ZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZpbmUg SEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS01FUkdF SU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdES19ESVNBQkxF X0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElP Tl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hBTkRM RV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVNX05FVyAxCnwg I2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19X SURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dFVF9BQ1RJ T05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAxCnwgI2Rl ZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZFX0dUS19BREpV U1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9TRVRf T1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpFX0dS SVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8 ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8 ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8 ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJh Y2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUgSEFWRV9GUkVF VFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZp bmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcg MQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNk ZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfWF9T TSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkgMQp8ICNkZWZpbmUgSEFWRV9Y UlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5lIEhBVkVfWFJBTkRSIDEKfCAj ZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5l IEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZF X0FDQ0VQVDQgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dF VFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5l IEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJ TlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAx CnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwg I2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVm aW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZp bmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFW RV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVf RlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFW RV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5D IDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwg I2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZp bmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5l IEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQgMQp8ICNk ZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfQUxJR05FRF9BTExPQyAxCnwgI2RlZmlu ZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwg I2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQVCAxCnwgI2RlZmluZSBI QVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JF U19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FU IDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNk ZWZpbmUgSEFWRV9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5l IEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFW RV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIg MQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNL IDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNk ZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZp bmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUg SEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FU0FUIDEKfCAjZGVmaW5lIEhBVkVf RlVUSU1FTlMgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgSEFWRV9MVVRJ TUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFQ1VS RV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9G T1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JL IDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYg MQp8ICNkZWZpbmUgSEFWRV9HTElCIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAx CnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jl c3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZ UyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYv bnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNk ZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQ ICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9S WV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAo X2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEhBVkVfUFJPQ0ZTIDEKfCAj ZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQ VF9JTlBVVCAxCnwgI2RlZmluZSBOQVJST1dQUk9UTyAxCnwgI2RlZmluZSBVTklYOThfUFRZUyAx CnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8 ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgeyBjaGFyICpwdHluYW1lID0gMDsgc2lnc2V0 X3QgYmxvY2tlZDsgc2lnZW1wdHlzZXQgKCZibG9ja2VkKTsgc2lnYWRkc2V0ICgmYmxvY2tlZCwg U0lHQ0hMRCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX0JMT0NLLCAmYmxvY2tlZCwgMCk7IGlmIChn cmFudHB0IChmZCkgIT0gLTEgJiYgdW5sb2NrcHQgKGZkKSAhPSAtMSkgcHR5bmFtZSA9IHB0c25h bWUoZmQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19VTkJMT0NLLCAmYmxvY2tlZCwgMCk7IGlmICgh cHR5bmFtZSkgeyBlbWFjc19jbG9zZSAoZmQpOyByZXR1cm4gLTE7IH0gc25wcmludGYgKHB0eV9u YW1lLCBQVFlfTkFNRV9TSVpFLCAiJXMiLCBwdHluYW1lKTsgfQp8ICNkZWZpbmUgUFRZX09QRU4g ZG8geyBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19DTE9FWEVDIHwgT19OT0NUVFkpOyBp ZiAoZmQgPCAwICYmIGVycm5vID09IEVJTlZBTCkgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8 IE9fTk9DVFRZKTsgfSB3aGlsZSAoZmFsc2UpCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8q Ki8KfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1Q X1dPUktTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRK TVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIEdOVV9MSU5VWCAvKiovCnwgI2RlZmlu ZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENP UFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJndGt1dGlsLmgiCnwgI2RlZmluZSBFTUFDU19DT05G SUdVUkFUSU9OICJ4ODZfNjQtdW5rbm93bi1saW51eC1nbnUiCnwgI2RlZmluZSBFTUFDU19DT05G SUdfT1BUSU9OUyAiLS13aXRoLXgtdG9vbC1raXQ9Z3RrIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRP V1MgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVf VU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAj ZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19T TEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZF X0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmlu ZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAj ZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBI QVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxCnwgI2RlZmlu ZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lk X3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQllURVNXQVBfSCAxCnwg I2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1F IDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEK fCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJ UiAxCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9fX0ZQ RU5ESU5HIDEKfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSBzdHJ1Y3QgdGltZXpvbmUK fCAjZGVmaW5lIEhBVkVfTUVNUkNIUiAxCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgVVNFX0FDTCAwCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0FUSU1fVFZfTlNFQyAxCnwgI2RlZmluZSBUWVBFT0ZfU1RS VUNUX1NUQVRfU1RfQVRJTV9JU19TVFJVQ1RfVElNRVNQRUMgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgICAgICAgICAjaW5jbHVkZSA8c3lzL3N0 YXQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdCBhY19hZ2dy Owp8IGlmIChhY19hZ2dyLnN0X2JpcnRodGltZW5zZWMpCnwgcmV0dXJuIDA7CnwgICA7CnwgICBy ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNjUyNjogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAg ICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0 LmM6MjkwOjE5OiBlcnJvcjogJ3N0cnVjdCBzdGF0JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdzdF9i aXJ0aHRpbWVuc2VjJwogaWYgKHNpemVvZiBhY19hZ2dyLnN0X2JpcnRodGltZW5zZWMpCiAgICAg ICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToyNjUyNjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi R05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1h Y3MgMjQuNC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdu dS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJl L2VtYWNzLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImVtYWNzIgp8ICNkZWZpbmUgVkVSU0lPTiAiMjQu NC41MCIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NP VVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNF IDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfVEFOREVN X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX1VTRV82NF9CSVRfSU5PREUgMQp8ICNkZWZpbmUg U1lTVEVNX1RZUEUgImdudS9saW51eCIKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEK fCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRf SCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19FWFRf SCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1BFUlNPTkFMSVRZX0xJTlVYMzIgMQp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNk ZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElT VCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAx CnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9B RERSIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1ZMSU1JVF9IIDEKfCAjZGVmaW5lIEhBVkVfREFUQV9TVEFSVCAxCnwgI2RlZmluZSBET1VHX0xF QV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01N QVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVmaW5lIEhBVkVfWEtCIDEKfCAjZGVm aW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOUkVTT1VSQ0VT VFJJTkcgMQp8ICNkZWZpbmUgSEFWRV9YU0NSRUVOTlVNQkVST0ZTQ1JFRU4gMQp8ICNkZWZpbmUg SEFWRV9YMTFSNiAxCnwgI2RlZmluZSBIQVZFX1hfSTE4TiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2 X1hJTSAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9JTUFHRU1BR0lDSyAx CnwgI2RlZmluZSBIQVZFX01BR0lDS0VYUE9SVElNQUdFUElYRUxTIDEKfCAjZGVmaW5lIEhBVkVf TUFHSUNLTUVSR0VJTUFHRUxBWUVSUyAxCnwgI2RlZmluZSBIQVZFX0dUSzMgMQp8ICNkZWZpbmUg R0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgMQp8ICNkZWZpbmUgR0xJQl9ESVNBQkxF X0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIFVTRV9HVEsgMQp8ICNkZWZpbmUgSEFW RV9HVEtfSEFORExFX0JPWF9ORVcgMQp8ICNkZWZpbmUgSEFWRV9HVEtfVEVBUk9GRl9NRU5VX0lU RU1fTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfV0lORE9XIDEKfCAjZGVmaW5l IEhBVkVfR1RLX1dJREdFVF9TRVRfSEFTX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19ESUFM T0dfR0VUX0FDVElPTl9BUkVBIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfU0VOU0lU SVZFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQUEVEIDEKfCAjZGVmaW5lIEhB VkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAxCnwgI2RlZmluZSBIQVZFX0dUS19PUklF TlRBQkxFX1NFVF9PUklFTlRBVElPTiAxCnwgI2RlZmluZSBIQVZFX0dUS19XSU5ET1dfU0VUX0hB U19SRVNJWkVfR1JJUCAxCnwgI2RlZmluZSBIQVZFX0dTRVRUSU5HUyAxCnwgI2RlZmluZSBIQVZF X0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0dGSUxFTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxF X05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBI QVZFX1hJTSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIFhSZWdpc3RlcklNSW5zdGFu dGlhdGVDYWxsYmFja19hcmc2IFhQb2ludGVyCnwgI2RlZmluZSBIQVZFX1hGVCAxCnwgI2RlZmlu ZSBIQVZFX0ZSRUVUWVBFIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBF RyAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9QTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX1BORyAxCnwgI2RlZmluZSBQTkdfREVQU1RSVUNUIC8qKi8KfCAjZGVmaW5lIEhBVkVf WkxJQiAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZp bmUgSEFWRV9YX1NNIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUT1VUUFVUUFJJTUFSWSAxCnwgI2Rl ZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNFU0NVUlJFTlQgMQp8ICNkZWZpbmUgSEFWRV9Y UkFORFIgMQp8ICNkZWZpbmUgSEFWRV9YSU5FUkFNQSAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIg MQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIE1BSUxfVVNFX0ZMT0NLIDEKfCAj ZGVmaW5lIEhBVkVfQUNDRVBUNCAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElSX05BTUUg MQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVm aW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dF VFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERP V04gMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05B TCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwg I2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQp8ICNk ZWZpbmUgSEFWRV9GUkVFSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwg I2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmlu ZSBIQVZFX1NZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0VO RFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRHUkVO VCAxCnwgI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCnwgI2RlZmluZSBIQVZFX0NGU0VUU1BFRUQg MQp8ICNkZWZpbmUgSEFWRV9DT1BZU0lHTiAxCnwgI2RlZmluZSBIQVZFX19fRVhFQ1VUQUJMRV9T VEFSVCAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9BTElHTkVEX0FMTE9D IDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVf RlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBUIDEK fCAjZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBUIDEKfCAjZGVmaW5lIFRFUk1JTkZPIDEKfCAjZGVm aW5lIEhBVkVfUkVTX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZF X1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9G Q05UTCAxCnwgI2RlZmluZSBIQVZFX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQg MQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwg I2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfTUtPU1RFTVAgMQp8ICNkZWZpbmUg SEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9SRUFE TElOSyAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVU1B WCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAx CnwgI2RlZmluZSBIQVZFX0ZVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTQVQgMQp8ICNk ZWZpbmUgSEFWRV9GVVRJTUVOUyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmlu ZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKfCAjZGVmaW5l IEhBVkVfU0VDVVJFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2Rl ZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dP UktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFW RV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0dMSUIgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5G T19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIF9fcmVzdHJp Y3RfYXJyIF9fcmVzdHJpY3QKfCAjZGVmaW5lIEFNUEVSU0FORF9GVUxMX05BTUUgMQp8ICNkZWZp bmUgSEFWRV9QVFlTIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RF VklDRSAiL2Rldi9udWxsIgp8ICNkZWZpbmUgU0VQQ0hBUiAnOicKfCAjZGVmaW5lIHN1YnByb2Nl c3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJ UkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAp8ICNkZWZpbmUg SVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSBESVJFQ1RPUllfU0VQKQp8ICNkZWZpbmUg SVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pKQp8ICNkZWZpbmUgSEFWRV9Q Uk9DRlMgMQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZp bmUgSU5URVJSVVBUX0lOUFVUIDEKfCAjZGVmaW5lIE5BUlJPV1BST1RPIDEKfCAjZGVmaW5lIFVO SVg5OF9QVFlTIDEKfCAjZGVmaW5lIFBUWV9JVEVSQVRJT04gaW50IGk7IGZvciAoaSA9IDA7IGkg PCAxOyBpKyspCnwgI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiB7IGNoYXIgKnB0eW5hbWUg PSAwOyBzaWdzZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNldCAoJmJsb2NrZWQpOyBzaWdhZGRzZXQg KCZibG9ja2VkLCBTSUdDSExEKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfQkxPQ0ssICZibG9ja2Vk LCAwKTsgaWYgKGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1bmxvY2twdCAoZmQpICE9IC0xKSBwdHlu YW1lID0gcHRzbmFtZShmZCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX1VOQkxPQ0ssICZibG9ja2Vk LCAwKTsgaWYgKCFwdHluYW1lKSB7IGVtYWNzX2Nsb3NlIChmZCk7IHJldHVybiAtMTsgfSBzbnBy aW50ZiAocHR5X25hbWUsIFBUWV9OQU1FX1NJWkUsICIlcyIsIHB0eW5hbWUpOyB9CnwgI2RlZmlu ZSBQVFlfT1BFTiBkbyB7IGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX0NMT0VYRUMgfCBP X05PQ1RUWSk7IGlmIChmZCA8IDAgJiYgZXJybm8gPT0gRUlOVkFMKSBmZCA9IHBvc2l4X29wZW5w dCAoT19SRFdSIHwgT19OT0NUVFkpOyB9IHdoaWxlIChmYWxzZSkKfCAjZGVmaW5lIFBUWV9OQU1F X1NQUklOVEYgLyoqLwp8ICNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCnwgI2RlZmlu ZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5l IEhBVkVfX1NFVEpNUCAxCnwgI2RlZmluZSBVU0cgLyoqLwp8ICNkZWZpbmUgR05VX0xJTlVYIC8q Ki8KfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBVU0FCTEVfU0lHSU8gMQp8 ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgImd0a3V0aWwuaCIKfCAjZGVmaW5l IEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC11bmtub3duLWxpbnV4LWdudSIKfCAjZGVmaW5l IEVNQUNTX0NPTkZJR19PUFRJT05TICItLXdpdGgteC10b29sLWtpdD1ndGsiCnwgI2RlZmluZSBI QVZFX1hfV0lORE9XUyAxCnwgI2RlZmluZSBIQVZFX1gxMSAxCnwgI2RlZmluZSBHTlVfTUFMTE9D IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNk ZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NU UlRPTEQgMQp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X0ZEQVRBU1lOQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBMU1RB VF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAj ZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURU5W IDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05H X0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf QUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEK fCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9UTV9UTV9aT05F IDEKfCAjZGVmaW5lIEhBVkVfVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VN QVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lO R19VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBHRVRH Uk9VUFNfVCBnaWRfdAp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9CWVRF U1dBUF9IIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX0NM T0NLX1NFVFRJTUUgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBI QVZFX0RVUDIgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfRkRPUEVORElSIDEKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX19fRlBFTkRJTkcgMQp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHN0cnVj dCB0aW1lem9uZQp8ICNkZWZpbmUgSEFWRV9NRU1SQ0hSIDEKfCAjZGVmaW5lIEdOVUxJQl9NS09T VEVNUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBVU0VfQUNM IDAKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQVRJTV9UVl9OU0VDIDEKfCAjZGVmaW5l IFRZUEVPRl9TVFJVQ1RfU1RBVF9TVF9BVElNX0lTX1NUUlVDVF9USU1FU1BFQyAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAgICAgICAgICNpbmNs dWRlIDxzeXMvc3RhdC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBz dGF0IGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBhY19hZ2dyLnN0X2JpcnRodGltZW5zZWMpCnwgcmV0 dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNjUyNjogcmVzdWx0OiBu bwpjb25maWd1cmU6MjY1Mzc6IGNoZWNraW5nIGZvciBzdHJ1Y3Qgc3RhdC5zdF9iaXJ0aHRpbS50 dl9uc2VjCmNvbmZpZ3VyZToyNjUzNzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25m dGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6Mjkw OjEyOiBlcnJvcjogJ3N0cnVjdCBzdGF0JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdzdF9iaXJ0aHRp bScKIGlmIChhY19hZ2dyLnN0X2JpcnRodGltLnR2X25zZWMpCiAgICAgICAgICAgIF4KY29uZmln dXJlOjI2NTM3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyNC40LjUw Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUwIgp8ICNkZWZpbmUg UEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tB R0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgUEFD S0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNkZWZpbmUgTUFJTF9V U0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJX SU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BU SFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAiZ251L2xpbnV4 Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAx CnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVhF Q0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0VYVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VU T1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUEVSU09OQUxJVFlfTElO VVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJ TUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfSUZBRERS U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgSEFWRV9M T05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVmaW5lIERPVUdfTEVBX01BTExPQyAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YS0IgMQp8ICNkZWZpbmUgSEFWRV9YUk1TRVREQVRBQkFT RSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwgI2RlZmluZSBIQVZF X1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2IDEKfCAjZGVmaW5l IEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAjZGVmaW5lIEhBVkVf UlNWRyAxCnwgI2RlZmluZSBIQVZFX0lNQUdFTUFHSUNLIDEKfCAjZGVmaW5lIEhBVkVfTUFHSUNL RVhQT1JUSU1BR0VQSVhFTFMgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tNRVJHRUlNQUdFTEFZRVJT IDEKfCAjZGVmaW5lIEhBVkVfR1RLMyAxCnwgI2RlZmluZSBHREtfRElTQUJMRV9ERVBSRUNBVElP Tl9XQVJOSU5HUyAxCnwgI2RlZmluZSBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1Mg MQp8ICNkZWZpbmUgVVNFX0dUSyAxCnwgI2RlZmluZSBIQVZFX0dUS19IQU5ETEVfQk9YX05FVyAx CnwgI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01FTlVfSVRFTV9ORVcgMQp8ICNkZWZpbmUgSEFW RV9HVEtfV0lER0VUX0dFVF9XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX1NFVF9I QVNfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0RJQUxPR19HRVRfQUNUSU9OX0FSRUEgMQp8 ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9TRU5TSVRJVkUgMQp8ICNkZWZpbmUgSEFWRV9H VEtfV0lER0VUX0dFVF9NQVBQRUQgMQp8ICNkZWZpbmUgSEFWRV9HVEtfQURKVVNUTUVOVF9HRVRf UEFHRV9TSVpFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX09SSUVOVEFCTEVfU0VUX09SSUVOVEFUSU9O IDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19TRVRfSEFTX1JFU0laRV9HUklQIDEKfCAjZGVm aW5lIEhBVkVfR1NFVFRJTkdTIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhB VkVfR0ZJTEVOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVT RV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEKfCAjZGVmaW5lIFVT RV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBv aW50ZXIKfCAjZGVmaW5lIEhBVkVfWEZUIDEKfCAjZGVmaW5lIEhBVkVfRlJFRVRZUEUgMQp8ICNk ZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfSlBF RyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5l IFBOR19ERVBTVFJVQ1QgLyoqLwp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVf VElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX1hfU00gMQp8ICNkZWZp bmUgSEFWRV9YUlJHRVRPVVRQVVRQUklNQVJZIDEKfCAjZGVmaW5lIEhBVkVfWFJSR0VUU0NSRUVO UkVTT1VSQ0VTQ1VSUkVOVCAxCnwgI2RlZmluZSBIQVZFX1hSQU5EUiAxCnwgI2RlZmluZSBIQVZF X1hJTkVSQU1BIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0hfRVJS Tk8gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFWRV9BQ0NFUFQ0IDEK fCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8 ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0xSQU5E NDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVm aW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg SEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFW RV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX0dF VEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VU SVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00g MQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJT IDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAx CnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8ICNkZWZpbmUgSEFW RV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0ZN QUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmluZSBIQVZFX0NPUFlT SUdOIDEKfCAjZGVmaW5lIEhBVkVfX19FWEVDVVRBQkxFX1NUQVJUIDEKfCAjZGVmaW5lIEhBVkVf TE9HMiAxCnwgI2RlZmluZSBIQVZFX0FMSUdORURfQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9fX0JV SUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFW RV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFQgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9P UEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCnwg I2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmlu ZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVf RkRPUEVORElSIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5D IDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8 ICNkZWZpbmUgSEFWRV9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5l IEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmlu ZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVf U1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lN TElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1F UyAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVNBVCAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRU5TIDEK fCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2Rl ZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRUNVUkVfR0VURU5WIDEK fCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2Rl ZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmlu ZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5l IEhBVkVfR0xJQiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUg SEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19yZXN0cmljdAp8ICNk ZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1BUWVMgMQp8ICNkZWZp bmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCnwgI2Rl ZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJf RlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVm aW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykg KChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJ UkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBIQVZFX1BST0NGUyAxCnwgI2RlZmluZSBERUZB VUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQp8 ICNkZWZpbmUgTkFSUk9XUFJPVE8gMQp8ICNkZWZpbmUgVU5JWDk4X1BUWVMgMQp8ICNkZWZpbmUg UFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKfCAjZGVmaW5lIFBU WV9UVFlfTkFNRV9TUFJJTlRGIHsgY2hhciAqcHR5bmFtZSA9IDA7IHNpZ3NldF90IGJsb2NrZWQ7 IHNpZ2VtcHR5c2V0ICgmYmxvY2tlZCk7IHNpZ2FkZHNldCAoJmJsb2NrZWQsIFNJR0NITEQpOyBw dGhyZWFkX3NpZ21hc2sgKFNJR19CTE9DSywgJmJsb2NrZWQsIDApOyBpZiAoZ3JhbnRwdCAoZmQp ICE9IC0xICYmIHVubG9ja3B0IChmZCkgIT0gLTEpIHB0eW5hbWUgPSBwdHNuYW1lKGZkKTsgcHRo cmVhZF9zaWdtYXNrIChTSUdfVU5CTE9DSywgJmJsb2NrZWQsIDApOyBpZiAoIXB0eW5hbWUpIHsg ZW1hY3NfY2xvc2UgKGZkKTsgcmV0dXJuIC0xOyB9IHNucHJpbnRmIChwdHlfbmFtZSwgUFRZX05B TUVfU0laRSwgIiVzIiwgcHR5bmFtZSk7IH0KfCAjZGVmaW5lIFBUWV9PUEVOIGRvIHsgZmQgPSBw b3NpeF9vcGVucHQgKE9fUkRXUiB8IE9fQ0xPRVhFQyB8IE9fTk9DVFRZKTsgaWYgKGZkIDwgMCAm JiBlcnJubyA9PSBFSU5WQUwpIGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1IgfCBPX05PQ1RUWSk7 IH0gd2hpbGUgKGZhbHNlKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiovCnwgI2RlZmlu ZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwg I2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKfCAjZGVm aW5lIFVTRyAvKiovCnwgI2RlZmluZSBHTlVfTElOVVggLyoqLwp8ICNkZWZpbmUgVVNBQkxFX0ZJ T05SRUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNv cHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmlu ZSBURVJNX0hFQURFUiAiZ3RrdXRpbC5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAi eDg2XzY0LXVua25vd24tbGludXgtZ251Igp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMg Ii0td2l0aC14LXRvb2wta2l0PWd0ayIKfCAjZGVmaW5lIEhBVkVfWF9XSU5ET1dTIDEKfCAjZGVm aW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9BTExP Q0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xP TkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwgI2RlZmluZSBIQVZF X0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1M SU5LIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9O R19PTkxZIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZpbmUgcmVzdHJpY3Qg X19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9NRU1SQ0hSIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZF X1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9U IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9a T05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJU T0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CnwgI2RlZmlu ZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0JZVEVTV0FQX0ggMQp8ICNkZWZpbmUgSEFW RV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElNRSAxCnwgI2RlZmlu ZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBH TlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMQp8ICNkZWZp bmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19GUEVORElORyAxCnwg I2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgc3RydWN0IHRpbWV6b25lCnwgI2RlZmluZSBI QVZFX01FTVJDSFIgMQp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVf UFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMAp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfU1RBVF9TVF9BVElNX1RWX05TRUMgMQp8ICNkZWZpbmUgVFlQRU9GX1NUUlVDVF9TVEFUX1NU X0FUSU1fSVNfU1RSVUNUX1RJTUVTUEVDIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lu Y2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAgICAgICAgICAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAK fCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdCBhY19hZ2dyOwp8IGlmIChh Y19hZ2dyLnN0X2JpcnRodGltLnR2X25zZWMpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4g MDsKfCB9CmNvbmZpZ3VyZToyNjUzNzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25m dGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6Mjkw OjE5OiBlcnJvcjogJ3N0cnVjdCBzdGF0JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdzdF9iaXJ0aHRp bScKIGlmIChzaXplb2YgYWNfYWdnci5zdF9iaXJ0aHRpbS50dl9uc2VjKQogICAgICAgICAgICAg ICAgICAgXgpjb25maWd1cmU6MjY1Mzc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQu NTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8i CnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIKfCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwg I2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2Rl ZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9U WVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL RVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q RVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVmaW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJ TUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZp bmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdT IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwg I2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRf SCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RBUlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9D IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2RlZmluZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBIQVZF X1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEK fCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDEx UjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4gMQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8 ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZp bmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJWEVMUyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS01F UkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUgSEFWRV9HVEszIDEKfCAjZGVmaW5lIEdES19ESVNB QkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEKfCAjZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNB VElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBVU0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hB TkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVNX05FVyAx CnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dU S19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dFVF9B Q1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAxCnwg I2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX01BUFBFRCAxCnwgI2RlZmluZSBIQVZFX0dUS19B REpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9T RVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpF X0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VUVElOR1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMg MQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkg MQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9YSU0g MQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2Fs bGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZpbmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUgSEFWRV9G UkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNk ZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9Q TkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVDVCAvKiovCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8 ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVf WF9TTSAxCnwgI2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkgMQp8ICNkZWZpbmUgSEFW RV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJSRU5UIDEKfCAjZGVmaW5lIEhBVkVfWFJBTkRSIDEK fCAjZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVm aW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBI QVZFX0FDQ0VQVDQgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZF X0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVm aW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZF X1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAj ZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNk ZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUg SEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhB VkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUg SEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9T WU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAx CnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNk ZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNkZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVm aW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZpbmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQgMQp8 ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfQUxJR05FRF9BTExPQyAxCnwgI2Rl ZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAx CnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQVCAxCnwgI2RlZmlu ZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2RlZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZF X1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElO S0FUIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8 ICNkZWZpbmUgSEFWRV9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVm aW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUg SEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUElQ RTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdN QVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8 ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNk ZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZp bmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FU0FUIDEKfCAjZGVmaW5lIEhB VkVfRlVUSU1FTlMgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgSEFWRV9M VVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NF Q1VSRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFW RV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZG T1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklO VEYgMQp8ICNkZWZpbmUgSEFWRV9HTElCIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNF VCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBf X3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVf UFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9k ZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIgJzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8 ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllf U0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVD VE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9T RVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKfCAjZGVmaW5lIEhBVkVfUFJPQ0ZTIDEK fCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVS UlVQVF9JTlBVVCAxCnwgI2RlZmluZSBOQVJST1dQUk9UTyAxCnwgI2RlZmluZSBVTklYOThfUFRZ UyAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9OIGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsr KQp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQUklOVEYgeyBjaGFyICpwdHluYW1lID0gMDsgc2ln c2V0X3QgYmxvY2tlZDsgc2lnZW1wdHlzZXQgKCZibG9ja2VkKTsgc2lnYWRkc2V0ICgmYmxvY2tl ZCwgU0lHQ0hMRCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX0JMT0NLLCAmYmxvY2tlZCwgMCk7IGlm IChncmFudHB0IChmZCkgIT0gLTEgJiYgdW5sb2NrcHQgKGZkKSAhPSAtMSkgcHR5bmFtZSA9IHB0 c25hbWUoZmQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19VTkJMT0NLLCAmYmxvY2tlZCwgMCk7IGlm ICghcHR5bmFtZSkgeyBlbWFjc19jbG9zZSAoZmQpOyByZXR1cm4gLTE7IH0gc25wcmludGYgKHB0 eV9uYW1lLCBQVFlfTkFNRV9TSVpFLCAiJXMiLCBwdHluYW1lKTsgfQp8ICNkZWZpbmUgUFRZX09Q RU4gZG8geyBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19DTE9FWEVDIHwgT19OT0NUVFkp OyBpZiAoZmQgPCAwICYmIGVycm5vID09IEVJTlZBTCkgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRX UiB8IE9fTk9DVFRZKTsgfSB3aGlsZSAoZmFsc2UpCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRG IC8qKi8KfCAjZGVmaW5lIFNJR05BTFNfVklBX0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VU Sk1QX1dPUktTIDEKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19T RVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8KfCAjZGVmaW5lIEdOVV9MSU5VWCAvKiovCnwgI2Rl ZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5l IENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJndGt1dGlsLmgiCnwgI2RlZmluZSBFTUFDU19D T05GSUdVUkFUSU9OICJ4ODZfNjQtdW5rbm93bi1saW51eC1nbnUiCnwgI2RlZmluZSBFTUFDU19D T05GSUdfT1BUSU9OUyAiLS13aXRoLXgtdG9vbC1raXQ9Z3RrIgp8ICNkZWZpbmUgSEFWRV9YX1dJ TkRPV1MgMQp8ICNkZWZpbmUgSEFWRV9YMTEgMQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2Rl ZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhB VkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEK fCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZ TkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgTFNUQVRfRk9MTE9X U19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBI QVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2Rl ZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEK fCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxCnwgI2Rl ZmluZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVT IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1Qg Z2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfQllURVNXQVBfSCAx CnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRU SU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAy IDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BF TkRJUiAxCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9f X0ZQRU5ESU5HIDEKfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSBzdHJ1Y3QgdGltZXpv bmUKfCAjZGVmaW5lIEhBVkVfTUVNUkNIUiAxCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgVVNFX0FDTCAwCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0FUSU1fVFZfTlNFQyAxCnwgI2RlZmluZSBUWVBFT0Zf U1RSVUNUX1NUQVRfU1RfQVRJTV9JU19TVFJVQ1RfVElNRVNQRUMgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgICAgICAgICAgICNpbmNsdWRlIDxz eXMvc3RhdC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBzdGF0IGFj X2FnZ3I7CnwgaWYgKHNpemVvZiBhY19hZ2dyLnN0X2JpcnRodGltLnR2X25zZWMpCnwgcmV0dXJu IDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNjUzNzogcmVzdWx0OiBubwpj b25maWd1cmU6MjY1NTU6IGNoZWNraW5nIGZvciB3b3JraW5nIHN0ZGFsaWduLmgKY29uZmlndXJl OjI2NTk2OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp Z3VyZToyNjU5NjogJD8gPSAwCmNvbmZpZ3VyZToyNjYwMzogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjI2NjI1OiBjaGVja2luZyBmb3IgdmFfY29weQpjb25maWd1cmU6MjY2NDY6IGdjYyAtc3RkPWdu dTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI2NjQ2OiAkPyA9IDAK Y29uZmlndXJlOjI2NjU0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjY4NDA6IGNoZWNraW5nIHdo ZXRoZXIgTlVMTCBjYW4gYmUgdXNlZCBpbiBhcmJpdHJhcnkgZXhwcmVzc2lvbnMKY29uZmlndXJl OjI2ODU4OiBnY2MgLXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp Z3VyZToyNjg1ODogJD8gPSAwCmNvbmZpZ3VyZToyNjg2NTogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjI3MTcxOiBjaGVja2luZyB3aGV0aGVyIHN0cnRvaW1heCB3b3Jrcwpjb25maWd1cmU6MjcyMjU6 IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRo cmVhZCAgPiY1IApjb25maWd1cmU6MjcyMjU6ICQ/ID0gMApjb25maWd1cmU6MjcyMjU6IC4vY29u ZnRlc3QKY29uZmlndXJlOjI3MjI1OiAkPyA9IDAKY29uZmlndXJlOjI3MjM2OiByZXN1bHQ6IHll cwpjb25maWd1cmU6MjczNDE6IGNoZWNraW5nIHdoZXRoZXIgc3ltbGluayBoYW5kbGVzIHRyYWls aW5nIHNsYXNoIGNvcnJlY3RseQpjb25maWd1cmU6MjczNzU6IGdjYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6 MjczNzU6ICQ/ID0gMApjb25maWd1cmU6MjczNzU6IC4vY29uZnRlc3QKY29uZmlndXJlOjI3Mzc1 OiAkPyA9IDAKY29uZmlndXJlOjI3Mzg2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjc0MjI6IGNo ZWNraW5nIHdoZXRoZXIgPHN5cy9zZWxlY3QuaD4gaXMgc2VsZi1jb250YWluZWQKY29uZmlndXJl OjI3NTAxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjc3MTQ6IGNoZWNraW5nIGZvciBubGlua190 CmNvbmZpZ3VyZToyNzcxNDogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6Mjc3MTQ6ICQ/ID0gMApjb25maWd1cmU6Mjc3MTQ6IGdjYyAtc3RkPWdu dTk5IC1jIC1nMyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24g J21haW4nOgpjb25mdGVzdC5jOjI5MjoyMjogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVm b3JlICcpJyB0b2tlbgogaWYgKHNpemVvZiAoKG5saW5rX3QpKSkKICAgICAgICAgICAgICAgICAg ICAgIF4KY29uZmlndXJlOjI3NzE0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIyNC40LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyNC40LjUw Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8 ICNkZWZpbmUgUEFDS0FHRSAiZW1hY3MiCnwgI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgp8ICNk ZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAj ZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZp bmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEK fCAjZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCnwgI2RlZmluZSBTWVNURU1fVFlQ RSAiZ251L2xpbnV4Igp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUg SEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JF U09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVf UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm aW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0VYVF9IIDEKfCAjZGVm aW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUEVS U09OQUxJVFlfTElOVVgzMiAxCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBUSU1F X1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5l IEhBVkVfSUZBRERSU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNk ZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0gg MQp8ICNkZWZpbmUgSEFWRV9EQVRBX1NUQVJUIDEKfCAjZGVmaW5lIERPVUdfTEVBX01BTExPQyAx CnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZpbmUgSEFWRV9YS0IgMQp8ICNkZWZpbmUgSEFWRV9Y Uk1TRVREQVRBQkFTRSAxCnwgI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCnwg I2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCnwgI2RlZmluZSBIQVZFX1gxMVI2 IDEKfCAjZGVmaW5lIEhBVkVfWF9JMThOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjZfWElNIDEKfCAj ZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0lNQUdFTUFHSUNLIDEKfCAjZGVmaW5l IEhBVkVfTUFHSUNLRVhQT1JUSU1BR0VQSVhFTFMgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tNRVJH RUlNQUdFTEFZRVJTIDEKfCAjZGVmaW5lIEhBVkVfR1RLMyAxCnwgI2RlZmluZSBHREtfRElTQUJM RV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBHTElCX0RJU0FCTEVfREVQUkVDQVRJ T05fV0FSTklOR1MgMQp8ICNkZWZpbmUgVVNFX0dUSyAxCnwgI2RlZmluZSBIQVZFX0dUS19IQU5E TEVfQk9YX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01FTlVfSVRFTV9ORVcgMQp8 ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9XSU5ET1cgMQp8ICNkZWZpbmUgSEFWRV9HVEtf V0lER0VUX1NFVF9IQVNfV0lORE9XIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0RJQUxPR19HRVRfQUNU SU9OX0FSRUEgMQp8ICNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9TRU5TSVRJVkUgMQp8ICNk ZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9NQVBQRUQgMQp8ICNkZWZpbmUgSEFWRV9HVEtfQURK VVNUTUVOVF9HRVRfUEFHRV9TSVpFIDEKfCAjZGVmaW5lIEhBVkVfR1RLX09SSUVOVEFCTEVfU0VU X09SSUVOVEFUSU9OIDEKfCAjZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19TRVRfSEFTX1JFU0laRV9H UklQIDEKfCAjZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEK fCAjZGVmaW5lIEhBVkVfR0ZJTEVOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEK fCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIEhBVkVfWElNIDEK fCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgWFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxi YWNrX2FyZzYgWFBvaW50ZXIKfCAjZGVmaW5lIEhBVkVfWEZUIDEKfCAjZGVmaW5lIEhBVkVfRlJF RVRZUEUgMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVm aW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX1BOR19IIDEKfCAjZGVmaW5lIEhBVkVfUE5H IDEKfCAjZGVmaW5lIFBOR19ERVBTVFJVQ1QgLyoqLwp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAj ZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX1hf U00gMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRPVVRQVVRQUklNQVJZIDEKfCAjZGVmaW5lIEhBVkVf WFJSR0VUU0NSRUVOUkVTT1VSQ0VTQ1VSUkVOVCAxCnwgI2RlZmluZSBIQVZFX1hSQU5EUiAxCnwg I2RlZmluZSBIQVZFX1hJTkVSQU1BIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmlu ZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgTUFJTF9VU0VfRkxPQ0sgMQp8ICNkZWZpbmUgSEFW RV9BQ0NFUFQ0IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVRfQ1VSUkVOVF9ESVJfTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9S SU5UIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUg MQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8 ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2Rl ZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVm aW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhB VkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZF X0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCnwgI2RlZmluZSBIQVZF X0ZSRUVJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhB VkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfU1lO QyAxCnwgI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKfCAjZGVmaW5lIEhBVkVfRU5EUFdFTlQgMQp8 ICNkZWZpbmUgSEFWRV9HRVRHUkVOVCAxCnwgI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKfCAjZGVm aW5lIEhBVkVfQ0ZNQUtFUkFXIDEKfCAjZGVmaW5lIEhBVkVfQ0ZTRVRTUEVFRCAxCnwgI2RlZmlu ZSBIQVZFX0NPUFlTSUdOIDEKfCAjZGVmaW5lIEhBVkVfX19FWEVDVVRBQkxFX1NUQVJUIDEKfCAj ZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX0FMSUdORURfQUxMT0MgMQp8ICNkZWZp bmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8 ICNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFQgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9PUEVOUFQgMQp8ICNkZWZpbmUgVEVSTUlORk8gMQp8ICNkZWZpbmUgSEFWRV9S RVNfSU5JVCAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktB VCAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAj ZGVmaW5lIEhBVkVfRkRPUEVORElSIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmlu ZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhB VkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9NS09TVEVNUCAxCnwgI2RlZmluZSBIQVZFX1BJUEUy IDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFT SyAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTUFYIDEKfCAjZGVm aW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKfCAjZGVmaW5l IEhBVkVfRlVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0ZVVElNRVNBVCAxCnwgI2RlZmluZSBIQVZF X0ZVVElNRU5TIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIEhBVkVfTFVU SU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRUNV UkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKfCAjZGVmaW5lIEhBVkVf Rk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9S SyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRG IDEKfCAjZGVmaW5lIEhBVkVfR0xJQiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQg MQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgX19yZXN0cmljdF9hcnIgX19y ZXN0cmljdAp8ICNkZWZpbmUgQU1QRVJTQU5EX0ZVTExfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1BU WVMgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICIvZGV2 L251bGwiCnwgI2RlZmluZSBTRVBDSEFSICc6Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAj ZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NF UCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAwCnwgI2RlZmluZSBJU19ESVJFQ1RP UllfU0VQKF9jXykgKChfY18pID09IERJUkVDVE9SWV9TRVApCnwgI2RlZmluZSBJU19BTllfU0VQ KF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCnwgI2RlZmluZSBIQVZFX1BST0NGUyAxCnwg I2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBJTlRFUlJV UFRfSU5QVVQgMQp8ICNkZWZpbmUgTkFSUk9XUFJPVE8gMQp8ICNkZWZpbmUgVU5JWDk4X1BUWVMg MQp8ICNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykK fCAjZGVmaW5lIFBUWV9UVFlfTkFNRV9TUFJJTlRGIHsgY2hhciAqcHR5bmFtZSA9IDA7IHNpZ3Nl dF90IGJsb2NrZWQ7IHNpZ2VtcHR5c2V0ICgmYmxvY2tlZCk7IHNpZ2FkZHNldCAoJmJsb2NrZWQs IFNJR0NITEQpOyBwdGhyZWFkX3NpZ21hc2sgKFNJR19CTE9DSywgJmJsb2NrZWQsIDApOyBpZiAo Z3JhbnRwdCAoZmQpICE9IC0xICYmIHVubG9ja3B0IChmZCkgIT0gLTEpIHB0eW5hbWUgPSBwdHNu YW1lKGZkKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfVU5CTE9DSywgJmJsb2NrZWQsIDApOyBpZiAo IXB0eW5hbWUpIHsgZW1hY3NfY2xvc2UgKGZkKTsgcmV0dXJuIC0xOyB9IHNucHJpbnRmIChwdHlf bmFtZSwgUFRZX05BTUVfU0laRSwgIiVzIiwgcHR5bmFtZSk7IH0KfCAjZGVmaW5lIFBUWV9PUEVO IGRvIHsgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8IE9fQ0xPRVhFQyB8IE9fTk9DVFRZKTsg aWYgKGZkIDwgMCAmJiBlcnJubyA9PSBFSU5WQUwpIGZkID0gcG9zaXhfb3BlbnB0IChPX1JEV1Ig fCBPX05PQ1RUWSk7IH0gd2hpbGUgKGZhbHNlKQp8ICNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAv KiovCnwgI2RlZmluZSBTSUdOQUxTX1ZJQV9DSEFSQUNURVJTIDEKfCAjZGVmaW5lIEdDX1NFVEpN UF9XT1JLUyAxCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9fU0VU Sk1QIDEKfCAjZGVmaW5lIFVTRyAvKiovCnwgI2RlZmluZSBHTlVfTElOVVggLyoqLwp8ICNkZWZp bmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIFVTQUJMRV9TSUdJTyAxCnwgI2RlZmluZSBD T1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAiZ3RrdXRpbC5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHVVJBVElPTiAieDg2XzY0LXVua25vd24tbGludXgtZ251Igp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHX09QVElPTlMgIi0td2l0aC14LXRvb2wta2l0PWd0ayIKfCAjZGVmaW5lIEhBVkVfWF9XSU5E T1dTIDEKfCAjZGVmaW5lIEhBVkVfWDExIDEKfCAjZGVmaW5lIEdOVV9NQUxMT0MgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZF X1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCnwg I2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5D IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1Nf U0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFW RV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRFTlYgMQp8ICNkZWZp bmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwg I2RlZmluZSBIQVZFX1NJR1NFVF9UIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUg SEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUgMQp8ICNkZWZp bmUgSEFWRV9UTV9aT05FIDEKfCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVU1BWCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIEdFVEdST1VQU19UIGdp ZF90CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0JZVEVTV0FQX0ggMQp8 ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfU0VUVElN RSAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAx CnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5E SVIgMQp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19G UEVORElORyAxCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgc3RydWN0IHRpbWV6b25l CnwgI2RlZmluZSBIQVZFX01FTVJDSFIgMQp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMAp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9BVElNX1RWX05TRUMgMQp8ICNkZWZpbmUgVFlQRU9GX1NU UlVDVF9TVEFUX1NUX0FUSU1fSVNfU1RSVUNUX1RJTUVTUEVDIDEKfCAjZGVmaW5lIEdOVUxJQl9G U0NBTkYgMQp8ICNkZWZpbmUgR05VTElCX1NDQU5GIDEKfCAjZGVmaW5lIG15X3N0cmZ0aW1lIG5z dHJmdGltZQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+ CnwgICAgICAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGlm IChzaXplb2YgKChubGlua190KSkpCnwgCSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAw Owp8IH0KY29uZmlndXJlOjI3NzE0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjc3NDQ6IGNoZWNr aW5nIHdoZXRoZXIgbG9jYWx0aW1lX3IgaXMgZGVjbGFyZWQKY29uZmlndXJlOjI3NzQ0OiBnY2Mg LXN0ZD1nbnU5OSAtYyAtZzMgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyNzc0NDog JD8gPSAwCmNvbmZpZ3VyZToyNzc0NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI3NzYzOiBjaGVj a2luZyB3aGV0aGVyIGxvY2FsdGltZV9yIGlzIGNvbXBhdGlibGUgd2l0aCBpdHMgUE9TSVggc2ln bmF0dXJlCmNvbmZpZ3VyZToyNzc4NzogZ2NjIC1zdGQ9Z251OTkgLWMgLWczIC1PMiAgICBjb25m dGVzdC5jID4mNQpjb25maWd1cmU6Mjc3ODc6ICQ/ID0gMApjb25maWd1cmU6Mjc3OTU6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToyNzg0MDogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyB0 aW1lcl9zZXR0aW1lCmNvbmZpZ3VyZToyNzg3MTogZ2NjIC1zdGQ9Z251OTkgLW8gY29uZnRlc3Qg LWczIC1PMiAgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkICA+JjUgCi90bXAvY2NmOXE4NnIubzog SW4gZnVuY3Rpb24gYG1haW4nOgovaG9tZS90dWhkby9Eb3dubG9hZHMvZW1hY3MtdHJ1bmsvY29u ZnRlc3QuYzoyOTg6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHRpbWVyX3NldHRpbWUnCmNvbGxl Y3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6Mjc4NzE6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6 Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBQQUNLQUdFICJlbWFjcyIK fCAjZGVmaW5lIFZFUlNJT04gIjI0LjQuNTAiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9VU0VfNjRf QklUX0lOT0RFIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJnbnUvbGludXgiCnwgI2RlZmluZSBI QVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhB VkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VU TVBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1f SCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEK fCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QRVJTT05BTElUWV9MSU5VWDMyIDEKfCAjZGVm aW5lIEhBVkVfVEVSTV9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAj ZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1F UyAxCnwgI2RlZmluZSBIQVZFX1NZU19WTElNSVRfSCAxCnwgI2RlZmluZSBIQVZFX0RBVEFfU1RB UlQgMQp8ICNkZWZpbmUgRE9VR19MRUFfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRCAxCnwgI2Rl ZmluZSBIQVZFX1hLQiAxCnwgI2RlZmluZSBIQVZFX1hSTVNFVERBVEFCQVNFIDEKfCAjZGVmaW5l IEhBVkVfWFNDUkVFTlJFU09VUkNFU1RSSU5HIDEKfCAjZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJF Uk9GU0NSRUVOIDEKfCAjZGVmaW5lIEhBVkVfWDExUjYgMQp8ICNkZWZpbmUgSEFWRV9YX0kxOE4g MQp8ICNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVm aW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQp8ICNkZWZpbmUgSEFWRV9NQUdJQ0tFWFBPUlRJTUFHRVBJ WEVMUyAxCnwgI2RlZmluZSBIQVZFX01BR0lDS01FUkdFSU1BR0VMQVlFUlMgMQp8ICNkZWZpbmUg SEFWRV9HVEszIDEKfCAjZGVmaW5lIEdES19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIDEK fCAjZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCnwgI2RlZmluZSBV U0VfR1RLIDEKfCAjZGVmaW5lIEhBVkVfR1RLX0hBTkRMRV9CT1hfTkVXIDEKfCAjZGVmaW5lIEhB VkVfR1RLX1RFQVJPRkZfTUVOVV9JVEVNX05FVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRf R0VUX1dJTkRPVyAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQp8 ICNkZWZpbmUgSEFWRV9HVEtfRElBTE9HX0dFVF9BQ1RJT05fQVJFQSAxCnwgI2RlZmluZSBIQVZF X0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAxCnwgI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VU X01BUFBFRCAxCnwgI2RlZmluZSBIQVZFX0dUS19BREpVU1RNRU5UX0dFVF9QQUdFX1NJWkUgMQp8 ICNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5UQVRJT04gMQp8ICNkZWZpbmUg SEFWRV9HVEtfV0lORE9XX1NFVF9IQVNfUkVTSVpFX0dSSVAgMQp8ICNkZWZpbmUgSEFWRV9HU0VU VElOR1MgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9HRklMRU5PVElG WSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NS T0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2Rl ZmluZSBYUmVnaXN0ZXJJTUluc3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgp8ICNkZWZp bmUgSEFWRV9YRlQgMQp8ICNkZWZpbmUgSEFWRV9GUkVFVFlQRSAxCnwgI2RlZmluZSBIQVZFX1hQ TSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5l IEhBVkVfUE5HX0ggMQp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgUE5HX0RFUFNUUlVD VCAvKiovCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVm aW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfWF9TTSAxCnwgI2RlZmluZSBIQVZFX1hSUkdF VE9VVFBVVFBSSU1BUlkgMQp8ICNkZWZpbmUgSEFWRV9YUlJHRVRTQ1JFRU5SRVNPVVJDRVNDVVJS RU5UIDEKfCAjZGVmaW5lIEhBVkVfWFJBTkRSIDEKfCAjZGVmaW5lIEhBVkVfWElORVJBTUEgMQp8 ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmlu ZSBNQUlMX1VTRV9GTE9DSyAxCnwgI2RlZmluZSBIQVZFX0FDQ0VQVDQgMQp8ICNkZWZpbmUgSEFW RV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZF X0dFVF9DVVJSRU5UX0RJUl9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmlu ZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TRUxF Q1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FM RSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8 ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNk ZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBI QVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9HRVRJRkFERFJTIDEKfCAjZGVmaW5lIEhBVkVfRlJFRUlGQUREUlMgMQp8ICNkZWZpbmUg SEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhB VkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9TWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdF TlQgMQp8ICNkZWZpbmUgSEFWRV9FTkRQV0VOVCAxCnwgI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEK fCAjZGVmaW5lIEhBVkVfRU5ER1JFTlQgMQp8ICNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQp8ICNk ZWZpbmUgSEFWRV9DRlNFVFNQRUVEIDEKfCAjZGVmaW5lIEhBVkVfQ09QWVNJR04gMQp8ICNkZWZp bmUgSEFWRV9fX0VYRUNVVEFCTEVfU1RBUlQgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVm aW5lIEhBVkVfQUxJR05FRF9BTExPQyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRf SU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQVCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCnwgI2Rl ZmluZSBURVJNSU5GTyAxCnwgI2RlZmluZSBIQVZFX1JFU19JTklUIDEKfCAjZGVmaW5lIEhBVkVf VFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VT U0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GRE9QRU5ESVIgMQp8 ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUg SEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZF X01LT1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNU IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9E IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8 ICNkZWZpbmUgSEFWRV9TVFJUT1VNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVm aW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKfCAjZGVmaW5l IEhBVkVfRlVUSU1FU0FUIDEKfCAjZGVmaW5lIEhBVkVfRlVUSU1FTlMgMQp8ICNkZWZpbmUgSEFW RV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VU RFRBQkxFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFQ1VSRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFW RV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZP UksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lO R19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9HTElCIDEK fCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVf VCAxCnwgI2RlZmluZSBfX3Jlc3RyaWN0X2FyciBfX3Jlc3RyaWN0CnwgI2RlZmluZSBBTVBFUlNB TkRfRlVMTF9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUFRZUyAxCnwgI2RlZmluZSBIQVZFX1NPQ0tF VFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKfCAjZGVmaW5lIFNFUENIQVIg JzonCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHct PnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNF X1NFUChfY18pIDAKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElS RUNUT1JZX1NFUCkKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAo X2NfKSkKfCAjZGVmaW5lIEhBVkVfUFJPQ0ZTIDEKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVW SUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIElOVEVSUlVQVF9JTlBVVCAxCnwgI2RlZmluZSBOQVJS T1dQUk9UTyAxCnwgI2RlZmluZSBVTklYOThfUFRZUyAxCnwgI2RlZmluZSBQVFlfSVRFUkFUSU9O IGludCBpOyBmb3IgKGkgPSAwOyBpIDwgMTsgaSsrKQp8ICNkZWZpbmUgUFRZX1RUWV9OQU1FX1NQ UklOVEYgeyBjaGFyICpwdHluYW1lID0gMDsgc2lnc2V0X3QgYmxvY2tlZDsgc2lnZW1wdHlzZXQg KCZibG9ja2VkKTsgc2lnYWRkc2V0ICgmYmxvY2tlZCwgU0lHQ0hMRCk7IHB0aHJlYWRfc2lnbWFz ayAoU0lHX0JMT0NLLCAmYmxvY2tlZCwgMCk7IGlmIChncmFudHB0IChmZCkgIT0gLTEgJiYgdW5s b2NrcHQgKGZkKSAhPSAtMSkgcHR5bmFtZSA9IHB0c25hbWUoZmQpOyBwdGhyZWFkX3NpZ21hc2sg KFNJR19VTkJMT0NLLCAmYmxvY2tlZCwgMCk7IGlmICghcHR5bmFtZSkgeyBlbWFjc19jbG9zZSAo ZmQpOyByZXR1cm4gLTE7IH0gc25wcmludGYgKHB0eV9uYW1lLCBQVFlfTkFNRV9TSVpFLCAiJXMi LCBwdHluYW1lKTsgfQp8ICNkZWZpbmUgUFRZX09QRU4gZG8geyBmZCA9IHBvc2l4X29wZW5wdCAo T19SRFdSIHwgT19DTE9FWEVDIHwgT19OT0NUVFkpOyBpZiAoZmQgPCAwICYmIGVycm5vID09IEVJ TlZBTCkgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8IE9fTk9DVFRZKTsgfSB3aGlsZSAoZmFs c2UpCnwgI2RlZmluZSBQVFlfTkFNRV9TUFJJTlRGIC8qKi8KfCAjZGVmaW5lIFNJR05BTFNfVklB X0NIQVJBQ1RFUlMgMQp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEdDX1NF VEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX19TRVRKTVAgMQp8ICNkZWZpbmUgVVNHIC8qKi8K fCAjZGVmaW5lIEdOVV9MSU5VWCAvKiovCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNk ZWZpbmUgVVNBQkxFX1NJR0lPIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAy MDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVS ICJndGt1dGlsLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdW5rbm93 bi1saW51eC1nbnUiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS13aXRoLXgtdG9v bC1raXQ9Z3RrIgp8ICNkZWZpbmUgSEFWRV9YX1dJTkRPV1MgMQp8ICNkZWZpbmUgSEFWRV9YMTEg MQp8ICNkZWZpbmUgR05VX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVm aW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSBIQVZFX0M5OV9TVFJUT0xEIDEKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNM IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU Uk1PREUgMAp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZp bmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0Cnwg I2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQp8 ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxCnwgI2RlZmluZSBIQVZFX1RNX1pPTkUgMQp8ICNkZWZp bmUgSEFWRV9UTV9HTVRPRkYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9VTlNFVEVOViAx CnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VU SU1CVUYgMQp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKfCAjZGVmaW5lIEhBVkVfQUxMT0NB IDEKfCAjZGVmaW5lIEhBVkVfQllURVNXQVBfSCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJ TUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19TRVRUSU1FIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9T RV9TVFJFQU0gMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNT QVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBHTlVMSUJfRkRP UEVORElSIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9fX0ZQRU5ESU5HIDEKfCAjZGVmaW5lIEdFVFRJ TUVPRkRBWV9USU1FWk9ORSBzdHJ1Y3QgdGltZXpvbmUKfCAjZGVmaW5lIEhBVkVfTUVNUkNIUiAx CnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01B U0sgMQp8ICNkZWZpbmUgVVNFX0FDTCAwCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0FU SU1fVFZfTlNFQyAxCnwgI2RlZmluZSBUWVBFT0ZfU1RSVUNUX1NUQVRfU1RfQVRJTV9JU19TVFJV Q1RfVElNRVNQRUMgMQp8ICNkZWZpbmUgR05VTElCX0ZTQ0FORiAxCnwgI2RlZmluZSBHTlVMSUJf U0NBTkYgMQp8ICNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwgI2RlZmluZSBIQVZFX0RF Q0xfTE9DQUxUSU1FX1IgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlk ZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2Ug Y2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAg ICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBw bHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFy IHRpbWVyX3NldHRpbWUgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gdGltZXJfc2V0 dGltZSAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI3ODcxOiBnY2MgLXN0 ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAgICAgY29uZnRlc3QuYyAtbHJ0ICAtbHB0aHJl YWQgID4mNSAKY29uZmlndXJlOjI3ODcxOiAkPyA9IDAKY29uZmlndXJlOjI3ODg4OiByZXN1bHQ6 IC1scnQKY29uZmlndXJlOjI3OTE3OiBjaGVja2luZyBmb3IgdGltZXJfc2V0dGltZQpjb25maWd1 cmU6Mjc5MTc6IGdjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVz dC5jIC1scnQgLWxwdGhyZWFkICA+JjUgCmNvbmZpZ3VyZToyNzkxNzogJD8gPSAwCmNvbmZpZ3Vy ZToyNzkxNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4MDMxOiBjaGVja2luZyBmb3IgdW5zZXRl bnYKY29uZmlndXJlOjI4MDMxOiBnY2MgLXN0ZD1nbnU5OSAtbyBjb25mdGVzdCAtZzMgLU8yICAg ICAgY29uZnRlc3QuYyAtbHB0aHJlYWQgID4mNSAKY29uZmlndXJlOjI4MDMxOiAkPyA9IDAKY29u ZmlndXJlOjI4MDMxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjgwNDQ6IGNoZWNraW5nIGZvciB1 bnNldGVudigpIHJldHVybiB0eXBlCmNvbmZpZ3VyZToyODA2OTogZ2NjIC1zdGQ9Z251OTkgLWMg LWczIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjgwNjk6ICQ/ID0gMApjb25maWd1 cmU6MjgwNzY6IHJlc3VsdDogaW50CmNvbmZpZ3VyZToyODA4NTogY2hlY2tpbmcgd2hldGhlciB1 bnNldGVudiBvYmV5cyBQT1NJWApjb25maWd1cmU6MjgxMzA6IGdjYyAtc3RkPWdudTk5IC1vIGNv bmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAgPiY1IApjb25maWd1cmU6 MjgxMzA6ICQ/ID0gMApjb25maWd1cmU6MjgxMzA6IC4vY29uZnRlc3QKY29uZmlndXJlOjI4MTMw OiAkPyA9IDAKY29uZmlndXJlOjI4MTQwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjg1NDU6IGNo ZWNraW5nIHdoZXRoZXIgZ2V0ZHRhYmxlc2l6ZSB3b3Jrcwpjb25maWd1cmU6Mjg1NzQ6IGdjYyAt c3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1nMyAtTzIgICAgICBjb25mdGVzdC5jIC1scHRocmVhZCAg PiY1IApjb25maWd1cmU6Mjg1NzQ6ICQ/ID0gMApjb25maWd1cmU6Mjg1NzQ6IC4vY29uZnRlc3QK Y29uZmlndXJlOjI4NTc0OiAkPyA9IDAKY29uZmlndXJlOjI4NTg1OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6Mjk4Mzg6IGNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFu IGNvbmZpZ3VyZQpjb25maWd1cmU6Mjk4NDQ6IHJlc3VsdDogZG9uZQpjb25maWd1cmU6MzAwMDg6 IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoj IyBSdW5uaW5nIGNvbmZpZy5zdGF0dXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMK ClRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgR05VIEVtYWNzIGNvbmZpZy5zdGF0dXMgMjQuNC41 MCwgd2hpY2ggd2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OS4gIEludm9jYXRpb24g Y29tbWFuZCBsaW5lIHdhcwoKICBDT05GSUdfRklMRVMgICAgPSAKICBDT05GSUdfSEVBREVSUyAg PSAKICBDT05GSUdfTElOS1MgICAgPSAKICBDT05GSUdfQ09NTUFORFMgPSAKICAkIC4vY29uZmln LnN0YXR1cyAKCm9uIHR1aGRvLU1hY0Jvb2tBaXIKCmNvbmZpZy5zdGF0dXM6MjAyNTogY3JlYXRp bmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czoyMDI1OiBjcmVhdGluZyBsaWIvTWFrZWZpbGUKY29u ZmlnLnN0YXR1czoyMDI1OiBjcmVhdGluZyBsaWItc3JjL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6 MjAyNTogY3JlYXRpbmcgb2xkWE1lbnUvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoyMDI1OiBjcmVh dGluZyBkb2MvZW1hY3MvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoyMDI1OiBjcmVhdGluZyBkb2Mv bWlzYy9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjIwMjU6IGNyZWF0aW5nIGRvYy9saXNwaW50cm8v TWFrZWZpbGUKY29uZmlnLnN0YXR1czoyMDI1OiBjcmVhdGluZyBkb2MvbGlzcHJlZi9NYWtlZmls ZQpjb25maWcuc3RhdHVzOjIwMjU6IGNyZWF0aW5nIHNyYy9NYWtlZmlsZQpjb25maWcuc3RhdHVz OjIwMjU6IGNyZWF0aW5nIGx3bGliL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MjAyNTogY3JlYXRp bmcgbGlzcC9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjIwMjU6IGNyZWF0aW5nIGxlaW0vTWFrZWZp bGUKY29uZmlnLnN0YXR1czoyMDI1OiBjcmVhdGluZyBuZXh0c3RlcC9NYWtlZmlsZQpjb25maWcu c3RhdHVzOjIwMjU6IGNyZWF0aW5nIG50L01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MjAyNTogY3Jl YXRpbmcgdGVzdC9hdXRvbWF0ZWQvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoyMDI1OiBjcmVhdGlu ZyBhZG1pbi91bmlkYXRhL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MjAyNTogY3JlYXRpbmcgYWRt aW4vZ3JhbW1hcnMvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoyMDI1OiBjcmVhdGluZyBzcmMvY29u ZmlnLmgKY29uZmlnLnN0YXR1czoyMjU5OiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKY29u ZmlnLnN0YXR1czoyMjU5OiBleGVjdXRpbmcgc3JjL2VwYXRocy5oIGNvbW1hbmRzCmNvbmZpZy5z dGF0dXM6MjI1OTogZXhlY3V0aW5nIHNyYy8uZ2RiaW5pdCBjb21tYW5kcwpjb25maWd1cmU6MzEz OTY6IFdBUk5JTkc6IHVucmVjb2duaXplZCBvcHRpb25zOiAtLXdpdGgteC10b29sLWtpdAoKIyMg LS0tLS0tLS0tLS0tLS0tLSAjIwojIyBDYWNoZSB2YXJpYWJsZXMuICMjCiMjIC0tLS0tLS0tLS0t LS0tLS0gIyMKCmFjX2N2X2J1aWxkPXg4Nl82NC11bmtub3duLWxpbnV4LWdudQphY19jdl9jX2Jp Z2VuZGlhbj1ubwphY19jdl9jX2NvbXBpbGVyX2dudT15ZXMKYWNfY3ZfY19yZXN0cmljdD1fX3Jl c3RyaWN0CmFjX2N2X2Vudl9DQ19zZXQ9CmFjX2N2X2Vudl9DQ192YWx1ZT0KYWNfY3ZfZW52X0NG TEFHU19zZXQ9CmFjX2N2X2Vudl9DRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9DUFBGTEFHU19zZXQ9 CmFjX2N2X2Vudl9DUFBGTEFHU192YWx1ZT0KYWNfY3ZfZW52X0NQUF9zZXQ9CmFjX2N2X2Vudl9D UFBfdmFsdWU9CmFjX2N2X2Vudl9MREZMQUdTX3NldD0KYWNfY3ZfZW52X0xERkxBR1NfdmFsdWU9 CmFjX2N2X2Vudl9MSUJTX3NldD0KYWNfY3ZfZW52X0xJQlNfdmFsdWU9CmFjX2N2X2Vudl9YTUtN Rl9zZXQ9CmFjX2N2X2Vudl9YTUtNRl92YWx1ZT0KYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3NldD0K YWNfY3ZfZW52X2J1aWxkX2FsaWFzX3ZhbHVlPQphY19jdl9lbnZfaG9zdF9hbGlhc19zZXQ9CmFj X2N2X2Vudl9ob3N0X2FsaWFzX3ZhbHVlPQphY19jdl9lbnZfdGFyZ2V0X2FsaWFzX3NldD0KYWNf Y3ZfZW52X3RhcmdldF9hbGlhc192YWx1ZT0KYWNfY3ZfZnVuY19NYWdpY2tFeHBvcnRJbWFnZVBp eGVscz15ZXMKYWNfY3ZfZnVuY19NYWdpY2tNZXJnZUltYWdlTGF5ZXJzPXllcwphY19jdl9mdW5j X1hSUkdldE91dHB1dFByaW1hcnk9eWVzCmFjX2N2X2Z1bmNfWFJSR2V0U2NyZWVuUmVzb3VyY2Vz Q3VycmVudD15ZXMKYWNfY3ZfZnVuY19YU2NyZWVuTnVtYmVyT2ZTY3JlZW49eWVzCmFjX2N2X2Z1 bmNfWFNjcmVlblJlc291cmNlU3RyaW5nPXllcwphY19jdl9mdW5jX1hybVNldERhdGFiYXNlPXll cwphY19jdl9mdW5jX19fZXhlY3V0YWJsZV9zdGFydD15ZXMKYWNfY3ZfZnVuY19hY2NlcHQ0PXll cwphY19jdl9mdW5jX2FsaWduZWRfYWxsb2M9eWVzCmFjX2N2X2Z1bmNfYWxsb2NhX3dvcmtzPXll cwphY19jdl9mdW5jX2NmbWFrZXJhdz15ZXMKYWNfY3ZfZnVuY19jZnNldHNwZWVkPXllcwphY19j dl9mdW5jX2Nsb2NrX2dldHRpbWU9eWVzCmFjX2N2X2Z1bmNfY2xvY2tfc2V0dGltZT15ZXMKYWNf Y3ZfZnVuY19jb3B5c2lnbj15ZXMKYWNfY3ZfZnVuY19lbmRncmVudD15ZXMKYWNfY3ZfZnVuY19l bmRwd2VudD15ZXMKYWNfY3ZfZnVuY19mYWNjZXNzYXQ9eWVzCmFjX2N2X2Z1bmNfZmNobW9kPXll cwphY19jdl9mdW5jX2ZjbnRsPXllcwphY19jdl9mdW5jX2Zkb3BlbmRpcj15ZXMKYWNfY3ZfZnVu Y19mb3JrPXllcwphY19jdl9mdW5jX2Zvcmtfd29ya3M9eWVzCmFjX2N2X2Z1bmNfZnJlZWlmYWRk cnM9eWVzCmFjX2N2X2Z1bmNfZnN0YXRhdD15ZXMKYWNfY3ZfZnVuY19mc3luYz15ZXMKYWNfY3Zf ZnVuY19mdXRpbWVucz15ZXMKYWNfY3ZfZnVuY19mdXRpbWVzPXllcwphY19jdl9mdW5jX2Z1dGlt ZXNhdD15ZXMKYWNfY3ZfZnVuY19nYWlfc3RyZXJyb3I9eWVzCmFjX2N2X2Z1bmNfZ2V0X2N1cnJl bnRfZGlyX25hbWU9eWVzCmFjX2N2X2Z1bmNfZ2V0YWRkcmluZm89eWVzCmFjX2N2X2Z1bmNfZ2V0 ZGVsaW09eWVzCmFjX2N2X2Z1bmNfZ2V0ZHRhYmxlc2l6ZT15ZXMKYWNfY3ZfZnVuY19nZXRncmVu dD15ZXMKYWNfY3ZfZnVuY19nZXRob3N0bmFtZT15ZXMKYWNfY3ZfZnVuY19nZXRpZmFkZHJzPXll cwphY19jdl9mdW5jX2dldGxpbmU9eWVzCmFjX2N2X2Z1bmNfZ2V0bG9hZGF2Zz15ZXMKYWNfY3Zf ZnVuY19nZXRvcHRfbG9uZ19vbmx5PXllcwphY19jdl9mdW5jX2dldHBhZ2VzaXplPXllcwphY19j dl9mdW5jX2dldHBlZXJuYW1lPXllcwphY19jdl9mdW5jX2dldHB0PXllcwphY19jdl9mdW5jX2dl dHB3ZW50PXllcwphY19jdl9mdW5jX2dldHJsaW1pdD15ZXMKYWNfY3ZfZnVuY19nZXRydXNhZ2U9 eWVzCmFjX2N2X2Z1bmNfZ2V0c29ja25hbWU9eWVzCmFjX2N2X2Z1bmNfZ2V0dGltZW9mZGF5PXll cwphY19jdl9mdW5jX2dyYW50cHQ9eWVzCmFjX2N2X2Z1bmNfZ3RrX2FkanVzdG1lbnRfZ2V0X3Bh Z2Vfc2l6ZT15ZXMKYWNfY3ZfZnVuY19ndGtfZGlhbG9nX2dldF9hY3Rpb25fYXJlYT15ZXMKYWNf Y3ZfZnVuY19ndGtfaGFuZGxlX2JveF9uZXc9eWVzCmFjX2N2X2Z1bmNfZ3RrX29yaWVudGFibGVf c2V0X29yaWVudGF0aW9uPXllcwphY19jdl9mdW5jX2d0a190ZWFyb2ZmX21lbnVfaXRlbV9uZXc9 eWVzCmFjX2N2X2Z1bmNfZ3RrX3dpZGdldF9nZXRfbWFwcGVkPXllcwphY19jdl9mdW5jX2d0a193 aWRnZXRfZ2V0X3NlbnNpdGl2ZT15ZXMKYWNfY3ZfZnVuY19ndGtfd2lkZ2V0X2dldF93aW5kb3c9 eWVzCmFjX2N2X2Z1bmNfZ3RrX3dpZGdldF9zZXRfaGFzX3dpbmRvdz15ZXMKYWNfY3ZfZnVuY19n dGtfd2luZG93X3NldF9oYXNfcmVzaXplX2dyaXA9eWVzCmFjX2N2X2Z1bmNfbG9jYWx0aW1lX3I9 eWVzCmFjX2N2X2Z1bmNfbG9nMj15ZXMKYWNfY3ZfZnVuY19scmFuZDQ4PXllcwphY19jdl9mdW5j X2xzdGF0PXllcwphY19jdl9mdW5jX2x1dGltZXM9eWVzCmFjX2N2X2Z1bmNfbWVtcmNocj15ZXMK YWNfY3ZfZnVuY19ta29zdGVtcD15ZXMKYWNfY3ZfZnVuY19tbWFwX2ZpeGVkX21hcHBlZD15ZXMK YWNfY3ZfZnVuY19uYW5vdGltZT1ubwphY19jdl9mdW5jX3BpcGUyPXllcwphY19jdl9mdW5jX3Bv c2l4X29wZW5wdD15ZXMKYWNfY3ZfZnVuY19wc2VsZWN0PXllcwphY19jdl9mdW5jX3B0aHJlYWRf c2lnbWFzaz15ZXMKYWNfY3ZfZnVuY19yYW5kb209eWVzCmFjX2N2X2Z1bmNfcmVhZGxpbms9eWVz CmFjX2N2X2Z1bmNfcmVhZGxpbmthdD15ZXMKYWNfY3ZfZnVuY19yZWN2ZnJvbT15ZXMKYWNfY3Zf ZnVuY19yaW50PXllcwphY19jdl9mdW5jX3NlY3VyZV9nZXRlbnY9eWVzCmFjX2N2X2Z1bmNfc2Vs ZWN0PXllcwphY19jdl9mdW5jX3NlbmR0bz15ZXMKYWNfY3ZfZnVuY19zZXRpdGltZXI9eWVzCmFj X2N2X2Z1bmNfc2V0bG9jYWxlPXllcwphY19jdl9mdW5jX3NldHJsaW1pdD15ZXMKYWNfY3ZfZnVu Y19zaHV0ZG93bj15ZXMKYWNfY3ZfZnVuY19zaWcyc3RyPW5vCmFjX2N2X2Z1bmNfc25wcmludGY9 eWVzCmFjX2N2X2Z1bmNfc29ja2V0PXllcwphY19jdl9mdW5jX3N0cnNpZ25hbD15ZXMKYWNfY3Zf ZnVuY19zdHJ0b2ltYXg9eWVzCmFjX2N2X2Z1bmNfc3RydG91bWF4PXllcwphY19jdl9mdW5jX3N5 bWxpbms9eWVzCmFjX2N2X2Z1bmNfc3luYz15ZXMKYWNfY3ZfZnVuY190aW1lcl9zZXR0aW1lPXll cwphY19jdl9mdW5jX3R6c2V0PXllcwphY19jdl9mdW5jX3Vuc2V0ZW52PXllcwphY19jdl9mdW5j X3V0aW1lbnNhdD15ZXMKYWNfY3ZfZnVuY192Zm9yaz15ZXMKYWNfY3ZfZnVuY192Zm9ya193b3Jr cz15ZXMKYWNfY3ZfaGF2ZV9kZWNsX0dUS19UWVBFX0ZJTEVfU0VMRUNUSU9OPW5vCmFjX2N2X2hh dmVfZGVjbF9HVEtfVFlQRV9IQU5ETEVfQk9YPXllcwphY19jdl9oYXZlX2RlY2xfR1RLX1RZUEVf VEVBUk9GRl9NRU5VX0lURU09eWVzCmFjX2N2X2hhdmVfZGVjbF9fX2ZwZW5kaW5nPXllcwphY19j dl9oYXZlX2RlY2xfYWxhcm09eWVzCmFjX2N2X2hhdmVfZGVjbF9mZGF0YXN5bmM9eWVzCmFjX2N2 X2hhdmVfZGVjbF9mZG9wZW5kaXI9eWVzCmFjX2N2X2hhdmVfZGVjbF9nZXRlbnY9eWVzCmFjX2N2 X2hhdmVfZGVjbF9nZXRsb2FkYXZnPXllcwphY19jdl9oYXZlX2RlY2xfbG9jYWx0aW1lX3I9eWVz CmFjX2N2X2hhdmVfZGVjbF9tZW1yY2hyPXllcwphY19jdl9oYXZlX2RlY2xfcG5nX2xvbmdqbXA9 bm8KYWNfY3ZfaGF2ZV9kZWNsX3N0cm1vZGU9bm8KYWNfY3ZfaGF2ZV9kZWNsX3N0cnRvaW1heD15 ZXMKYWNfY3ZfaGF2ZV9kZWNsX3N0cnRvdW1heD15ZXMKYWNfY3ZfaGF2ZV9kZWNsX3N5c19zaWds aXN0PXllcwphY19jdl9oYXZlX2RlY2xfdW5zZXRlbnY9eWVzCmFjX2N2X2hhdmVfeD0naGF2ZV94 PXllcwlhY194X2luY2x1ZGVzPSdcJycnXCcnCWFjX3hfbGlicmFyaWVzPSdcJycnXCcnJwphY19j dl9oZWFkZXJfWDExX1NNX1NNbGliX2g9eWVzCmFjX2N2X2hlYWRlcl9YMTFfWGZ0X1hmdF9oPXll cwphY19jdl9oZWFkZXJfWDExX3hwbV9oPXllcwphY19jdl9oZWFkZXJfYXJwYV9pbmV0X2g9eWVz CmFjX2N2X2hlYWRlcl9ieXRlc3dhcF9oPXllcwphY19jdl9oZWFkZXJfY29mZl9oPW5vCmFjX2N2 X2hlYWRlcl9kaXJlbnRfaD15ZXMKYWNfY3ZfaGVhZGVyX2V4ZWNpbmZvX2g9eWVzCmFjX2N2X2hl YWRlcl9nZXRvcHRfaD15ZXMKYWNfY3ZfaGVhZGVyX2dpZl9saWJfaD15ZXMKYWNfY3ZfaGVhZGVy X2dwbV9oPW5vCmFjX2N2X2hlYWRlcl9pZmFkZHJzX2g9eWVzCmFjX2N2X2hlYWRlcl9pbnR0eXBl c19oPXllcwphY19jdl9oZWFkZXJfamVycm9yX2g9eWVzCmFjX2N2X2hlYWRlcl9tYWNoaW5lX3Nv dW5kY2FyZF9oPW5vCmFjX2N2X2hlYWRlcl9tYWlsbG9ja19oPW5vCmFjX2N2X2hlYWRlcl9tYWxs b2NfbWFsbG9jX2g9bm8KYWNfY3ZfaGVhZGVyX21lbW9yeV9oPXllcwphY19jdl9oZWFkZXJfbWlu aXhfY29uZmlnX2g9bm8KYWNfY3ZfaGVhZGVyX25ldF9pZl9kbF9oPW5vCmFjX2N2X2hlYWRlcl9u ZXRfaWZfaD15ZXMKYWNfY3ZfaGVhZGVyX25ldGluZXRfaW5faD15ZXMKYWNfY3ZfaGVhZGVyX3Bu Z19oPXllcwphY19jdl9oZWFkZXJfcHRocmVhZF9oPXllcwphY19jdl9oZWFkZXJfcHR5X2g9eWVz CmFjX2N2X2hlYWRlcl9wd2RfaD15ZXMKYWNfY3ZfaGVhZGVyX3NvdW5kY2FyZF9oPW5vCmFjX2N2 X2hlYWRlcl9zdGF0X2Jyb2tlbj1ubwphY19jdl9oZWFkZXJfc3RkYm9vbF9oPXllcwphY19jdl9o ZWFkZXJfc3RkYz15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGludF9oPXllcwphY19jdl9oZWFkZXJfc3Rk aW9fZXh0X2g9eWVzCmFjX2N2X2hlYWRlcl9zdGRsaWJfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0cmlu Z19oPXllcwphY19jdl9oZWFkZXJfc3RyaW5nc19oPXllcwphY19jdl9oZWFkZXJfc3lzX2FjbF9o PW5vCmFjX2N2X2hlYWRlcl9zeXNfbG9hZGF2Z19oPW5vCmFjX2N2X2hlYWRlcl9zeXNfcGFyYW1f aD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19yZXNvdXJjZV9oPXllcwphY19jdl9oZWFkZXJfc3lzX3Nl bGVjdF9oPXllcwphY19jdl9oZWFkZXJfc3lzX3NvY2tldF9oPXllcwphY19jdl9oZWFkZXJfc3lz X3NvdW5kY2FyZF9oPXllcwphY19jdl9oZWFkZXJfc3lzX3N0YXRfaD15ZXMKYWNfY3ZfaGVhZGVy X3N5c19zeXN0ZW1pbmZvX2g9bm8KYWNfY3ZfaGVhZGVyX3N5c190aW1lX2g9eWVzCmFjX2N2X2hl YWRlcl9zeXNfdHlwZXNfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c191bl9oPXllcwphY19jdl9oZWFk ZXJfc3lzX3V0c25hbWVfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c192bGltaXRfaD15ZXMKYWNfY3Zf aGVhZGVyX3N5c193YWl0X2g9eWVzCmFjX2N2X2hlYWRlcl90ZXJtX2g9eWVzCmFjX2N2X2hlYWRl cl90aWZmaW9faD15ZXMKYWNfY3ZfaGVhZGVyX3RpbWU9eWVzCmFjX2N2X2hlYWRlcl91bmlzdGRf aD15ZXMKYWNfY3ZfaGVhZGVyX3V0aWxfaD1ubwphY19jdl9oZWFkZXJfdXRpbWVfaD15ZXMKYWNf Y3ZfaGVhZGVyX3V0bXBfaD15ZXMKYWNfY3ZfaGVhZGVyX3ZhbGdyaW5kX3ZhbGdyaW5kX2g9bm8K YWNfY3ZfaGVhZGVyX3Zmb3JrX2g9bm8KYWNfY3ZfaGVhZGVyX3djaGFyX2g9eWVzCmFjX2N2X2hv c3Q9eDg2XzY0LXVua25vd24tbGludXgtZ251CmFjX2N2X2xpYl9TTV9TbWNPcGVuQ29ubmVjdGlv bj15ZXMKYWNfY3ZfbGliX1hic2RfbWFpbj1ubwphY19jdl9saWJfWGZ0X1hmdEZvbnRPcGVuPXll cwphY19jdl9saWJfWHBtX1hwbVJlYWRGaWxlVG9QaXhtYXA9eWVzCmFjX2N2X2xpYl9YcmVuZGVy X1hSZW5kZXJRdWVyeUV4dGVuc2lvbj15ZXMKYWNfY3ZfbGliX2dpZl9FR2lmUHV0RXh0ZW5zaW9u TGFzdD15ZXMKYWNfY3ZfbGliX2dpZl9HaWZNYWtlTWFwT2JqZWN0PW5vCmFjX2N2X2xpYl9qcGVn X2pwZWdfZGVzdHJveV9jb21wcmVzcz15ZXMKYWNfY3ZfbGliX2xvY2tmaWxlX21haWxsb2NrPW5v CmFjX2N2X2xpYl9tYWlsX21haWxsb2NrPW5vCmFjX2N2X2xpYl9vc3NhdWRpb19fb3NzX2lvY3Rs PW5vCmFjX2N2X2xpYl9wbmdfcG5nX2dldF9jaGFubmVscz15ZXMKYWNfY3ZfbGliX3NlbGludXhf bGdldGZpbGVjb249bm8KYWNfY3ZfbGliX3RpZmZfVElGRkdldFZlcnNpb249eWVzCmFjX2N2X2xp Yl94bWwyX2h0bWxSZWFkTWVtb3J5PXllcwphY19jdl9tZW1iZXJfc3RydWN0X2lmcmVxX2lmcl9h ZGRyPXllcwphY19jdl9tZW1iZXJfc3RydWN0X2lmcmVxX2lmcl9hZGRyX3NhX2xlbj1ubwphY19j dl9tZW1iZXJfc3RydWN0X2lmcmVxX2lmcl9icm9hZGFkZHI9eWVzCmFjX2N2X21lbWJlcl9zdHJ1 Y3RfaWZyZXFfaWZyX2ZsYWdzPXllcwphY19jdl9tZW1iZXJfc3RydWN0X2lmcmVxX2lmcl9od2Fk ZHI9eWVzCmFjX2N2X21lbWJlcl9zdHJ1Y3RfaWZyZXFfaWZyX25ldG1hc2s9eWVzCmFjX2N2X21l bWJlcl9zdHJ1Y3Rfc3RhdF9zdF9hdGltX3R2X25zZWM9eWVzCmFjX2N2X21lbWJlcl9zdHJ1Y3Rf c3RhdF9zdF9iaXJ0aHRpbV90dl9uc2VjPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9i aXJ0aHRpbWVuc2VjPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9iaXJ0aHRpbWVzcGVj X3R2X25zZWM9bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF90bV90bV9nbXRvZmY9eWVzCmFjX2N2X21l bWJlcl9zdHJ1Y3RfdG1fdG1fem9uZT15ZXMKYWNfY3Zfb2JqZXh0PW8KYWNfY3ZfcGF0aF9FR1JF UD0nL2Jpbi9ncmVwIC1FJwphY19jdl9wYXRoX0dSRVA9L2Jpbi9ncmVwCmFjX2N2X3BhdGhfR1pJ UF9QUk9HPS9iaW4vZ3ppcAphY19jdl9wYXRoX0lOU1RBTExfSU5GTz0vdXNyL2Jpbi9pbnN0YWxs LWluZm8KYWNfY3ZfcGF0aF9NQUtFSU5GTz0vdXNyL2Jpbi9tYWtlaW5mbwphY19jdl9wYXRoX1BL R19DT05GSUc9L3Vzci9iaW4vcGtnLWNvbmZpZwphY19jdl9wYXRoX2luc3RhbGw9Jy91c3IvYmlu L2luc3RhbGwgLWMnCmFjX2N2X3BhdGhfbWtkaXI9L2Jpbi9ta2RpcgphY19jdl9wcm9nX0FXSz1t YXdrCmFjX2N2X3Byb2dfQ1BQPSdnY2MgLUUnCmFjX2N2X3Byb2dfYWNfY3RfQVI9YXIKYWNfY3Zf cHJvZ19hY19jdF9DQz1nY2MKYWNfY3ZfcHJvZ19hY19jdF9SQU5MSUI9cmFubGliCmFjX2N2X3By b2dfY2NfYzg5PQphY19jdl9wcm9nX2NjX2M5OT0tc3RkPWdudTk5CmFjX2N2X3Byb2dfY2NfZz15 ZXMKYWNfY3ZfcHJvZ19jY19zdGRjPS1zdGQ9Z251OTkKYWNfY3ZfcHJvZ19saWJsb2NrZmlsZT1u bwphY19jdl9wcm9nX21ha2VfbWFrZV9zZXQ9eWVzCmFjX2N2X3NhZmVfdG9fZGVmaW5lX19fZXh0 ZW5zaW9uc19fPXllcwphY19jdl9zZWFyY2hfYmFja3RyYWNlX3N5bWJvbHNfZmQ9J25vbmUgcmVx dWlyZWQnCmFjX2N2X3NlYXJjaF9jbG9ja19nZXR0aW1lPSdub25lIHJlcXVpcmVkJwphY19jdl9z ZWFyY2hfZmRhdGFzeW5jPSdub25lIHJlcXVpcmVkJwphY19jdl9zZWFyY2hfaW5mbGF0ZUVuZD0t bHoKYWNfY3Zfc2VhcmNoX3B0aHJlYWRfa2lsbD0tbHB0aHJlYWQKYWNfY3Zfc2VhcmNoX3NxcnQ9 LWxtCmFjX2N2X3NlYXJjaF90aW1lcl9zZXR0aW1lPS1scnQKYWNfY3Zfc2hvdWxkX2RlZmluZV9f eG9wZW5fc291cmNlPW5vCmFjX2N2X3N0cnVjdF9zdF9kbV9tb2RlPW5vCmFjX2N2X3N0cnVjdF90 bT10aW1lLmgKYWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHM9bm8KYWNfY3Zfc3lzX2xhcmdlZmls ZV9DQz1ubwphY19jdl9zeXNfbGFyZ2VmaWxlX3NvdXJjZT1ubwphY19jdl9zeXNfbG9uZ19maWxl X25hbWVzPXllcwphY19jdl90eXBlX19Cb29sPXllcwphY19jdl90eXBlX2dldGdyb3Vwcz1naWRf dAphY19jdl90eXBlX2xvbmdfbG9uZ19pbnQ9eWVzCmFjX2N2X3R5cGVfbWJzdGF0ZV90PXllcwph Y19jdl90eXBlX21vZGVfdD15ZXMKYWNfY3ZfdHlwZV9ubGlua190PXllcwphY19jdl90eXBlX3Bp ZF90PXllcwphY19jdl90eXBlX3NpZ2hhbmRsZXJfdD15ZXMKYWNfY3ZfdHlwZV9zaWdzZXRfdD15 ZXMKYWNfY3ZfdHlwZV9zb2NrbGVuX3Q9eWVzCmFjX2N2X3R5cGVfdW5zaWduZWRfbG9uZ19sb25n X2ludD15ZXMKYWNfY3ZfdHlwZV92b2xhdGlsZV9zaWdfYXRvbWljX3Q9eWVzCmFjX2N2X3R5cGVv Zl9zdHJ1Y3Rfc3RhdF9zdF9hdGltX2lzX3N0cnVjdF90aW1lc3BlYz15ZXMKYWNfY3Zfd29ya2lu Z19hbGxvY2FfaD15ZXMKYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGU9Z2NjMwph bV9jdl9tYWtlX3N1cHBvcnRfbmVzdGVkX3ZhcmlhYmxlcz15ZXMKYW1fY3ZfcHJvZ19jY19jX289 eWVzCmVtYWNzX2N2X2NfcmVzdHJpY3RfYXJyPXllcwplbWFjc19jdl9jbGFuZz1ubwplbWFjc19j dl9kYXRhX3N0YXJ0PXllcwplbWFjc19jdl9mdW5jX19fYnVpbHRpbl91bndpbmRfaW5pdD15ZXMK ZW1hY3NfY3ZfZnVuY19fc2V0am1wPXllcwplbWFjc19jdl9sYW5naW5mb19jb2Rlc2V0PXllcwpl bWFjc19jdl9sb2NhbHRpbWVfY2FjaGU9bm8KZW1hY3NfY3ZfbmV0ZGJfZGVjbGFyZXNfaF9lcnJu bz15ZXMKZW1hY3NfY3ZfcGVyc29uYWxpdHlfbGludXgzMj15ZXMKZW1hY3NfY3ZfcHJvZ19jY19n Mz15ZXMKZW1hY3NfY3ZfcHJvZ19zZXRmYXR0cj1ubwplbWFjc19jdl9zYW5pdGl6ZV9hZGRyZXNz PW5vCmVtYWNzX2N2X3VzYWJsZV9GSU9OUkVBRD15ZXMKZW1hY3NfY3ZfdXNhYmxlX1NJR0lPPXll cwplbWFjc19jdl92YXJfZG91Z19sZWFfbWFsbG9jPXllcwplbWFjc19jdl94MTFfdmVyc2lvbl82 PXllcwpnbF9jdl9jX2Ftc3RlcmRhbV9jb21waWxlcj1ubwpnbF9jdl9jX211bHRpYXJjaD1ubwpn bF9jdl9kZWNsX251bGxfd29ya3M9eWVzCmdsX2N2X2RlY2xfcmVhZGxpbmtfd29ya3M9eWVzCmds X2N2X2Z1bmNfX19mcGVuZGluZz15ZXMKZ2xfY3ZfZnVuY19jOTlfc3RydG9sZD15ZXMKZ2xfY3Zf ZnVuY19kdXAyX3dvcmtzPXllcwpnbF9jdl9mdW5jX2ZjbnRsX2ZfZHVwZmRfY2xvZXhlYz0nbmVl ZHMgcnVudGltZSBjaGVjaycKZ2xfY3ZfZnVuY19mY250bF9mX2R1cGZkX3dvcmtzPXllcwpnbF9j dl9mdW5jX2Zkb3BlbmRpcl93b3Jrcz15ZXMKZ2xfY3ZfZnVuY19mc3RhdGF0X3plcm9fZmxhZz15 ZXMKZ2xfY3ZfZnVuY19nZXRkdGFibGVzaXplX3dvcmtzPXllcwpnbF9jdl9mdW5jX2dldG9wdF9n bnU9eWVzCmdsX2N2X2Z1bmNfZ2V0b3B0X2xvbmdfZ251PXllcwpnbF9jdl9mdW5jX2dldG9wdF9w b3NpeD15ZXMKZ2xfY3ZfZnVuY19nZXR0aW1lb2ZkYXlfY2xvYmJlcj1ubwpnbF9jdl9mdW5jX2dl dHRpbWVvZmRheV9wb3NpeF9zaWduYXR1cmU9YWxtb3N0CmdsX2N2X2Z1bmNfbHN0YXRfZGVyZWZl cmVuY2VzX3NsYXNoZWRfc3ltbGluaz15ZXMKZ2xfY3ZfZnVuY19wc2VsZWN0X2RldGVjdHNfZWJh ZGY9eWVzCmdsX2N2X2Z1bmNfcHRocmVhZF9zaWdtYXNrX2luX2xpYmNfd29ya3M9eWVzCmdsX2N2 X2Z1bmNfcHRocmVhZF9zaWdtYXNrX3JldHVybl93b3Jrcz15ZXMKZ2xfY3ZfZnVuY19wdGhyZWFk X3NpZ21hc2tfdW5ibG9ja193b3Jrcz0nZ3Vlc3NpbmcgeWVzJwpnbF9jdl9mdW5jX3JlYWRsaW5r X3dvcmtzPXllcwpnbF9jdl9mdW5jX3N0cnRvaW1heD15ZXMKZ2xfY3ZfZnVuY19zdmlkX3B1dGVu dj15ZXMKZ2xfY3ZfZnVuY19zeW1saW5rX3dvcmtzPXllcwpnbF9jdl9mdW5jX3Vuc2V0ZW52X3dv cmtzPXllcwpnbF9jdl9mdW5jX3ZhX2NvcHk9eWVzCmdsX2N2X2Z1bmNfd29ya2luZ19ta3RpbWU9 eWVzCmdsX2N2X2Z1bmNfd29ya2luZ191dGltZXM9eWVzCmdsX2N2X2hhdmVfaW5jbHVkZV9uZXh0 PXllcwpnbF9jdl9oZWFkZXJfZXJybm9faF9jb21wbGV0ZT15ZXMKZ2xfY3ZfaGVhZGVyX3N5c19z ZWxlY3RfaF9zZWxmY29udGFpbmVkPXllcwpnbF9jdl9oZWFkZXJfd29ya2luZ19zdGRhbGlnbl9o PXllcwpnbF9jdl9oZWFkZXJfd29ya2luZ19zdGRpbnRfaD15ZXMKZ2xfY3ZfbmV4dF9kaXJlbnRf aD0nPGRpcmVudC5oPicKZ2xfY3ZfbmV4dF9mY250bF9oPSc8ZmNudGwuaD4nCmdsX2N2X25leHRf Z2V0b3B0X2g9JzxnZXRvcHQuaD4nCmdsX2N2X25leHRfaW50dHlwZXNfaD0nPGludHR5cGVzLmg+ JwpnbF9jdl9uZXh0X3NpZ25hbF9oPSc8c2lnbmFsLmg+JwpnbF9jdl9uZXh0X3N0ZGludF9oPSc8 c3RkaW50Lmg+JwpnbF9jdl9uZXh0X3N0ZGlvX2g9JzxzdGRpby5oPicKZ2xfY3ZfbmV4dF9zdGRs aWJfaD0nPHN0ZGxpYi5oPicKZ2xfY3ZfbmV4dF9zdHJpbmdfaD0nPHN0cmluZy5oPicKZ2xfY3Zf bmV4dF9zeXNfc2VsZWN0X2g9JzxzeXMvc2VsZWN0Lmg+JwpnbF9jdl9uZXh0X3N5c19zdGF0X2g9 JzxzeXMvc3RhdC5oPicKZ2xfY3ZfbmV4dF9zeXNfdGltZV9oPSc8c3lzL3RpbWUuaD4nCmdsX2N2 X25leHRfc3lzX3R5cGVzX2g9JzxzeXMvdHlwZXMuaD4nCmdsX2N2X25leHRfdGltZV9oPSc8dGlt ZS5oPicKZ2xfY3ZfbmV4dF91bmlzdGRfaD0nPHVuaXN0ZC5oPicKZ2xfY3ZfcHJhZ21hX2NvbHVt bnM9bm8KZ2xfY3ZfcnBsX2FsbG9jYT15ZXMKZ2xfY3Zfc2lnX3BzZWxlY3Q9eWVzCmdsX2N2X3N5 c19zdHJ1Y3RfdGltZXNwZWNfaW5fdGltZV9oPXllcwpnbF9jdl9zeXNfc3RydWN0X3RpbWV2YWw9 eWVzCmdsX2N2X3N5c19zdHJ1Y3RfdGltZXZhbF90dl9zZWM9eWVzCmdsX2N2X3N5c19zdHJ1Y3Rf dXRpbWJ1Zj15ZXMKZ2xfY3ZfdGltZV9yX3Bvc2l4PXllcwpnbF9jdl90eXBlX3NpZ3NldF90PXll cwpndF9jdl9jX3djaGFyX3Q9eWVzCmd0X2N2X2Z1bmNfdW5zZXRlbnZfcmV0PWludApndF9jdl9z c2l6ZV90PXllcwpndF9jdl92YXJfZW52aXJvbl9kZWNsYXJhdGlvbj15ZXMKCiMjIC0tLS0tLS0t LS0tLS0tLS0tICMjCiMjIE91dHB1dCB2YXJpYWJsZXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0t ICMjCgpBQ0xPQ0FMPScke1NIRUxMfSAvaG9tZS90dWhkby9Eb3dubG9hZHMvZW1hY3MtdHJ1bmsv YnVpbGQtYXV4L21pc3NpbmcgYWNsb2NhbC0xLjE0JwpBRERTRUNUSU9OPScnCkFMTE9DQT0nJwpB TExPQ0FfSD0nYWxsb2NhLmgnCkFMU0FfQ0ZMQUdTPScnCkFMU0FfTElCUz0nJwpBTURFUEJBQ0tT TEFTSD0nXCcKQU1ERVBfRkFMU0U9JyMnCkFNREVQX1RSVUU9JycKQU1UQVI9JyQke1RBUi10YXJ9 JwpBTV9CQUNLU0xBU0g9J1wnCkFNX0RFRkFVTFRfVj0nJChBTV9ERUZBVUxUX1ZFUkJPU0lUWSkn CkFNX0RFRkFVTFRfVkVSQk9TSVRZPScxJwpBTV9WPSckKFYpJwpBUFBMRV9VTklWRVJTQUxfQlVJ TEQ9JzAnCkFSPSdhcicKQVJGTEFHUz0nY3J1JwpBVVRPQ09ORj0nJHtTSEVMTH0gL2hvbWUvdHVo ZG8vRG93bmxvYWRzL2VtYWNzLXRydW5rL2J1aWxkLWF1eC9taXNzaW5nIGF1dG9jb25mJwpBVVRP SEVBREVSPScke1NIRUxMfSAvaG9tZS90dWhkby9Eb3dubG9hZHMvZW1hY3MtdHJ1bmsvYnVpbGQt YXV4L21pc3NpbmcgYXV0b2hlYWRlcicKQVVUT01BS0U9JyR7U0hFTEx9IC9ob21lL3R1aGRvL0Rv d25sb2Fkcy9lbWFjcy10cnVuay9idWlsZC1hdXgvbWlzc2luZyBhdXRvbWFrZS0xLjE0JwpBV0s9 J21hd2snCkJJVFNJWkVPRl9QVFJESUZGX1Q9JycKQklUU0laRU9GX1NJR19BVE9NSUNfVD0nJwpC SVRTSVpFT0ZfU0laRV9UPScnCkJJVFNJWkVPRl9XQ0hBUl9UPScnCkJJVFNJWkVPRl9XSU5UX1Q9 JycKQkxFU1NNQUlMX1RBUkdFVD0nJwpCVUlMRElOR19GT1JfV0lORE9XU05UX0ZBTFNFPScnCkJV SUxESU5HX0ZPUl9XSU5ET1dTTlRfVFJVRT0nIycKQllURVNXQVBfSD0nJwpDQU5OT1RfRFVNUD0n bm8nCkNDPSdnY2MgLXN0ZD1nbnU5OScKQ0NERVBNT0RFPSdkZXBtb2RlPWdjYzMnCkNGTEFHUz0n LWczIC1PMicKQ0ZMQUdTX1NPVU5EPScnCkNMSUVOVFJFUz0nJwpDTElFTlRXPScnCkNNX09CSj0n Y20ubycKQ09NX0VSUkxJQj0nJwpDUFA9J2djYyAtRScKQ1BQRkxBR1M9JyAgJwpDUllQVE9MSUI9 JycKQ1lHUEFUSF9XPSdlY2hvJwpDWUdXSU5fT0JKPScnCkNfU1dJVENIX01BQ0hJTkU9JycKQ19T V0lUQ0hfU1lTVEVNPScnCkNfU1dJVENIX1hfU0lURT0nIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRl L2d0ay0zLjAgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9hdC1zcGkyLWF0 ay8yLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dpby11bml4LTIu MC8gLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLUkv dXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4w L2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvaGFyZmJ1enogLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUy IC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNy L2luY2x1ZGUvZnJlZXR5cGUyICAnCkRCVVNfQ0ZMQUdTPScnCkRCVVNfTElCUz0nJwpEQlVTX09C Sj0nJwpERUZTPSctREhBVkVfQ09ORklHX0gnCkRFUERJUj0nLmRlcHMnCkRFUEZMQUdTPSctTU1E IC1NRiAke0RFUERJUn0vJCouZCAtTVAnCkRFU0xJQj0nJwpET0NNSVNDX1czMj0nJwpFQ0hPX0M9 JycKRUNIT19OPSctbicKRUNIT19UPScnCkVHUkVQPScvYmluL2dyZXAgLUUnCkVNQUNTUkVTPScn CkVNQUNTX0hFQVBTSVpFPScnCkVNQUNTX01BTklGRVNUPScnCkVNVUxUSUhPUF9ISURERU49JycK RU1VTFRJSE9QX1ZBTFVFPScnCkVOT0xJTktfSElEREVOPScnCkVOT0xJTktfVkFMVUU9JycKRU9W RVJGTE9XX0hJRERFTj0nJwpFT1ZFUkZMT1dfVkFMVUU9JycKRVJSTk9fSD0nJwpFWEVDSU5GT19I PScnCkVYRUVYVD0nJwpGSVJTVEZJTEVfT0JKPScnCkZPTlRDT05GSUdfQ0ZMQUdTPSctSS91c3Iv aW5jbHVkZS9mcmVldHlwZTIgICcKRk9OVENPTkZJR19MSUJTPSctbGZvbnRjb25maWcgLWxmcmVl dHlwZSAgJwpGT05UX09CSj0neGZvbnQubyBmdGZvbnQubyB4ZnRmb250Lm8gZnR4Zm9udC5vJwpG UkVFVFlQRV9DRkxBR1M9Jy1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgJwpGUkVFVFlQRV9MSUJT PSctbGZyZWV0eXBlICAnCkdDT05GX0NGTEFHUz0nJwpHQ09ORl9MSUJTPScnCkdFVExPQURBVkdf TElCUz0nJwpHRVRPUFRfSD0nJwpHRklMRU5PVElGWV9DRkxBR1M9Jy1wdGhyZWFkIC1JL3Vzci9p bmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNs dWRlICAnCkdGSUxFTk9USUZZX0xJQlM9Jy1sZ2lvLTIuMCAtbGdvYmplY3QtMi4wIC1sZ2xpYi0y LjAgICcKR0xfQ09ORF9MSUJUT09MX0ZBTFNFPScnCkdMX0NPTkRfTElCVE9PTF9UUlVFPScjJwpH TF9HRU5FUkFURV9BTExPQ0FfSF9GQUxTRT0nIycKR0xfR0VORVJBVEVfQUxMT0NBX0hfVFJVRT0n JwpHTF9HRU5FUkFURV9CWVRFU1dBUF9IX0ZBTFNFPScnCkdMX0dFTkVSQVRFX0JZVEVTV0FQX0hf VFJVRT0nIycKR0xfR0VORVJBVEVfRVJSTk9fSF9GQUxTRT0nJwpHTF9HRU5FUkFURV9FUlJOT19I X1RSVUU9JyMnCkdMX0dFTkVSQVRFX0VYRUNJTkZPX0hfRkFMU0U9JycKR0xfR0VORVJBVEVfRVhF Q0lORk9fSF9UUlVFPScjJwpHTF9HRU5FUkFURV9TVERBTElHTl9IX0ZBTFNFPScnCkdMX0dFTkVS QVRFX1NUREFMSUdOX0hfVFJVRT0nIycKR0xfR0VORVJBVEVfU1REQVJHX0hfRkFMU0U9JycKR0xf R0VORVJBVEVfU1REQVJHX0hfVFJVRT0nIycKR0xfR0VORVJBVEVfU1REQk9PTF9IX0ZBTFNFPScn CkdMX0dFTkVSQVRFX1NUREJPT0xfSF9UUlVFPScjJwpHTF9HRU5FUkFURV9TVERERUZfSF9GQUxT RT0nJwpHTF9HRU5FUkFURV9TVERERUZfSF9UUlVFPScjJwpHTF9HRU5FUkFURV9TVERJTlRfSF9G QUxTRT0nJwpHTF9HRU5FUkFURV9TVERJTlRfSF9UUlVFPScjJwpHTUFMTE9DX09CSj0nJwpHTlVM SUJfQUxQSEFTT1JUPScwJwpHTlVMSUJfQVRPTEw9JzAnCkdOVUxJQl9DQUxMT0NfUE9TSVg9JzAn CkdOVUxJQl9DQU5PTklDQUxJWkVfRklMRV9OQU1FPScwJwpHTlVMSUJfQ0hESVI9JzAnCkdOVUxJ Ql9DSE9XTj0nMCcKR05VTElCX0NMT1NFPScwJwpHTlVMSUJfQ0xPU0VESVI9JzAnCkdOVUxJQl9E SVJGRD0nMCcKR05VTElCX0RQUklOVEY9JzAnCkdOVUxJQl9EVVAyPScxJwpHTlVMSUJfRFVQMz0n MCcKR05VTElCX0RVUD0nMCcKR05VTElCX0VOVklST049JzEnCkdOVUxJQl9FVUlEQUNDRVNTPScw JwpHTlVMSUJfRkFDQ0VTU0FUPScxJwpHTlVMSUJfRkNIRElSPScwJwpHTlVMSUJfRkNITU9EQVQ9 JzAnCkdOVUxJQl9GQ0hPV05BVD0nMCcKR05VTElCX0ZDTE9TRT0nMCcKR05VTElCX0ZDTlRMPScx JwpHTlVMSUJfRkRBVEFTWU5DPScxJwpHTlVMSUJfRkRPUEVOPScwJwpHTlVMSUJfRkRPUEVORElS PScxJwpHTlVMSUJfRkZMVVNIPScwJwpHTlVMSUJfRkZTTD0nMCcKR05VTElCX0ZGU0xMPScwJwpH TlVMSUJfRkdFVEM9JzEnCkdOVUxJQl9GR0VUUz0nMScKR05VTElCX0ZPUEVOPScwJwpHTlVMSUJf RlBSSU5URj0nMScKR05VTElCX0ZQUklOVEZfUE9TSVg9JzAnCkdOVUxJQl9GUFVSR0U9JzAnCkdO VUxJQl9GUFVUQz0nMScKR05VTElCX0ZQVVRTPScxJwpHTlVMSUJfRlJFQUQ9JzEnCkdOVUxJQl9G UkVPUEVOPScwJwpHTlVMSUJfRlNDQU5GPScxJwpHTlVMSUJfRlNFRUs9JzAnCkdOVUxJQl9GU0VF S089JzAnCkdOVUxJQl9GU1RBVD0nMCcKR05VTElCX0ZTVEFUQVQ9JzEnCkdOVUxJQl9GU1lOQz0n MScKR05VTElCX0ZURUxMPScwJwpHTlVMSUJfRlRFTExPPScwJwpHTlVMSUJfRlRSVU5DQVRFPScw JwpHTlVMSUJfRlVUSU1FTlM9JzAnCkdOVUxJQl9GV1JJVEU9JzEnCkdOVUxJQl9HRVRDPScxJwpH TlVMSUJfR0VUQ0hBUj0nMScKR05VTElCX0dFVENXRD0nMCcKR05VTElCX0dFVERFTElNPScwJwpH TlVMSUJfR0VURE9NQUlOTkFNRT0nMCcKR05VTElCX0dFVERUQUJMRVNJWkU9JzEnCkdOVUxJQl9H RVRHUk9VUFM9JzAnCkdOVUxJQl9HRVRIT1NUTkFNRT0nMCcKR05VTElCX0dFVExJTkU9JzAnCkdO VUxJQl9HRVRMT0FEQVZHPScxJwpHTlVMSUJfR0VUTE9HSU49JzAnCkdOVUxJQl9HRVRMT0dJTl9S PScwJwpHTlVMSUJfR0VUUEFHRVNJWkU9JzAnCkdOVUxJQl9HRVRTVUJPUFQ9JzAnCkdOVUxJQl9H RVRUSU1FT0ZEQVk9JzEnCkdOVUxJQl9HRVRVU0VSU0hFTEw9JzAnCkdOVUxJQl9HTF9VTklTVERf SF9HRVRPUFQ9JycKR05VTElCX0dSQU5UUFQ9JzAnCkdOVUxJQl9HUk9VUF9NRU1CRVI9JzAnCkdO VUxJQl9JTUFYQUJTPScwJwpHTlVMSUJfSU1BWERJVj0nMCcKR05VTElCX0lTQVRUWT0nMCcKR05V TElCX0xDSE1PRD0nMCcKR05VTElCX0xDSE9XTj0nMCcKR05VTElCX0xJTks9JzAnCkdOVUxJQl9M SU5LQVQ9JzAnCkdOVUxJQl9MU0VFSz0nMCcKR05VTElCX0xTVEFUPScxJwpHTlVMSUJfTUFMTE9D X1BPU0lYPScwJwpHTlVMSUJfTUJTQ0FTRUNNUD0nMCcKR05VTElCX01CU0NBU0VTVFI9JzAnCkdO VUxJQl9NQlNDSFI9JzAnCkdOVUxJQl9NQlNDU1BOPScwJwpHTlVMSUJfTUJTTEVOPScwJwpHTlVM SUJfTUJTTkNBU0VDTVA9JzAnCkdOVUxJQl9NQlNOTEVOPScwJwpHTlVMSUJfTUJTUEJSSz0nMCcK R05VTElCX01CU1BDQVNFQ01QPScwJwpHTlVMSUJfTUJTUkNIUj0nMCcKR05VTElCX01CU1NFUD0n MCcKR05VTElCX01CU1NQTj0nMCcKR05VTElCX01CU1NUUj0nMCcKR05VTElCX01CU1RPS19SPScw JwpHTlVMSUJfTUJUT1dDPScwJwpHTlVMSUJfTUVNQ0hSPScwJwpHTlVMSUJfTUVNTUVNPScwJwpH TlVMSUJfTUVNUENQWT0nMCcKR05VTElCX01FTVJDSFI9JzEnCkdOVUxJQl9NS0RJUkFUPScwJwpH TlVMSUJfTUtEVEVNUD0nMCcKR05VTElCX01LRklGTz0nMCcKR05VTElCX01LRklGT0FUPScwJwpH TlVMSUJfTUtOT0Q9JzAnCkdOVUxJQl9NS05PREFUPScwJwpHTlVMSUJfTUtPU1RFTVA9JzEnCkdO VUxJQl9NS09TVEVNUFM9JzAnCkdOVUxJQl9NS1NURU1QPScwJwpHTlVMSUJfTUtTVEVNUFM9JzAn CkdOVUxJQl9NS1RJTUU9JzEnCkdOVUxJQl9OQU5PU0xFRVA9JzAnCkdOVUxJQl9OT05CTE9DS0lO Rz0nMCcKR05VTElCX09CU1RBQ0tfUFJJTlRGPScwJwpHTlVMSUJfT0JTVEFDS19QUklOVEZfUE9T SVg9JzAnCkdOVUxJQl9PUEVOPScwJwpHTlVMSUJfT1BFTkFUPScwJwpHTlVMSUJfT1BFTkRJUj0n MCcKR05VTElCX1BDTE9TRT0nMCcKR05VTElCX1BFUlJPUj0nMCcKR05VTElCX1BJUEUyPScxJwpH TlVMSUJfUElQRT0nMCcKR05VTElCX1BPUEVOPScwJwpHTlVMSUJfUE9TSVhfT1BFTlBUPScwJwpH TlVMSUJfUFJFQUQ9JzAnCkdOVUxJQl9QUklOVEY9JzEnCkdOVUxJQl9QUklOVEZfUE9TSVg9JzAn CkdOVUxJQl9QU0VMRUNUPScxJwpHTlVMSUJfUFRIUkVBRF9TSUdNQVNLPScxJwpHTlVMSUJfUFRT TkFNRT0nMCcKR05VTElCX1BUU05BTUVfUj0nMCcKR05VTElCX1BVVEM9JzEnCkdOVUxJQl9QVVRD SEFSPScxJwpHTlVMSUJfUFVURU5WPScxJwpHTlVMSUJfUFVUUz0nMScKR05VTElCX1BXUklURT0n MCcKR05VTElCX1JBSVNFPScwJwpHTlVMSUJfUkFORE9NPScwJwpHTlVMSUJfUkFORE9NX1I9JzAn CkdOVUxJQl9SQVdNRU1DSFI9JzAnCkdOVUxJQl9SRUFEPScwJwpHTlVMSUJfUkVBRERJUj0nMCcK R05VTElCX1JFQURMSU5LPScxJwpHTlVMSUJfUkVBRExJTktBVD0nMScKR05VTElCX1JFQUxMT0Nf UE9TSVg9JzAnCkdOVUxJQl9SRUFMUEFUSD0nMCcKR05VTElCX1JFTU9WRT0nMCcKR05VTElCX1JF TkFNRT0nMCcKR05VTElCX1JFTkFNRUFUPScwJwpHTlVMSUJfUkVXSU5ERElSPScwJwpHTlVMSUJf Uk1ESVI9JzAnCkdOVUxJQl9SUE1BVENIPScwJwpHTlVMSUJfU0NBTkRJUj0nMCcKR05VTElCX1ND QU5GPScxJwpHTlVMSUJfU0VDVVJFX0dFVEVOVj0nMCcKR05VTElCX1NFTEVDVD0nMCcKR05VTElC X1NFVEVOVj0nMCcKR05VTElCX1NFVEhPU1ROQU1FPScwJwpHTlVMSUJfU0lHQUNUSU9OPScwJwpH TlVMSUJfU0lHTkFMX0hfU0lHUElQRT0nMCcKR05VTElCX1NJR1BST0NNQVNLPScwJwpHTlVMSUJf U0xFRVA9JzAnCkdOVUxJQl9TTlBSSU5URj0nMCcKR05VTElCX1NQUklOVEZfUE9TSVg9JzAnCkdO VUxJQl9TVEFUPScwJwpHTlVMSUJfU1RESU9fSF9OT05CTE9DS0lORz0nMCcKR05VTElCX1NURElP X0hfU0lHUElQRT0nMCcKR05VTElCX1NUUENQWT0nMCcKR05VTElCX1NUUE5DUFk9JzAnCkdOVUxJ Ql9TVFJDQVNFU1RSPScwJwpHTlVMSUJfU1RSQ0hSTlVMPScwJwpHTlVMSUJfU1RSRFVQPScwJwpH TlVMSUJfU1RSRVJST1I9JzAnCkdOVUxJQl9TVFJFUlJPUl9SPScwJwpHTlVMSUJfU1RSTkNBVD0n MCcKR05VTElCX1NUUk5EVVA9JzAnCkdOVUxJQl9TVFJOTEVOPScwJwpHTlVMSUJfU1RSUEJSSz0n MCcKR05VTElCX1NUUlBUSU1FPScwJwpHTlVMSUJfU1RSU0VQPScwJwpHTlVMSUJfU1RSU0lHTkFM PScwJwpHTlVMSUJfU1RSU1RSPScwJwpHTlVMSUJfU1RSVE9EPScwJwpHTlVMSUJfU1RSVE9JTUFY PScxJwpHTlVMSUJfU1RSVE9LX1I9JzAnCkdOVUxJQl9TVFJUT0xMPScwJwpHTlVMSUJfU1RSVE9V TEw9JzAnCkdOVUxJQl9TVFJUT1VNQVg9JzEnCkdOVUxJQl9TVFJWRVJTQ01QPScwJwpHTlVMSUJf U1lNTElOSz0nMScKR05VTElCX1NZTUxJTktBVD0nMCcKR05VTElCX1NZU1RFTV9QT1NJWD0nMCcK R05VTElCX1RJTUVHTT0nMCcKR05VTElCX1RJTUVfUj0nMScKR05VTElCX1RNUEZJTEU9JzAnCkdO VUxJQl9UVFlOQU1FX1I9JzAnCkdOVUxJQl9VTklTVERfSF9OT05CTE9DS0lORz0nMCcKR05VTElC X1VOSVNURF9IX1NJR1BJUEU9JzAnCkdOVUxJQl9VTkxJTks9JzAnCkdOVUxJQl9VTkxJTktBVD0n MCcKR05VTElCX1VOTE9DS1BUPScwJwpHTlVMSUJfVU5TRVRFTlY9JzEnCkdOVUxJQl9VU0xFRVA9 JzAnCkdOVUxJQl9VVElNRU5TQVQ9JzAnCkdOVUxJQl9WQVNQUklOVEY9JzAnCkdOVUxJQl9WRFBS SU5URj0nMCcKR05VTElCX1ZGUFJJTlRGPScxJwpHTlVMSUJfVkZQUklOVEZfUE9TSVg9JzAnCkdO VUxJQl9WRlNDQU5GPScwJwpHTlVMSUJfVlBSSU5URj0nMScKR05VTElCX1ZQUklOVEZfUE9TSVg9 JzAnCkdOVUxJQl9WU0NBTkY9JzAnCkdOVUxJQl9WU05QUklOVEY9JzAnCkdOVUxJQl9WU1BSSU5U Rl9QT1NJWD0nMCcKR05VTElCX1dBUk5fQ0ZMQUdTPScnCkdOVUxJQl9XQ1RPTUI9JzAnCkdOVUxJ Ql9XUklURT0nMCcKR05VTElCX19FWElUPScwJwpHTlVTVEVQX0NGTEFHUz0nJwpHTlVfT0JKQ19D RkxBR1M9JycKR09CSkVDVF9DRkxBR1M9Jy1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9s aWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlICAnCkdPQkpFQ1RfTElCUz0nLWxn b2JqZWN0LTIuMCAtbGdsaWItMi4wICAnCkdSRVA9Jy9iaW4vZ3JlcCcKR1NFVFRJTkdTX0NGTEFH Uz0nLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi94ODZfNjQtbGlu dXgtZ251L2dsaWItMi4wL2luY2x1ZGUgICcKR1NFVFRJTkdTX0xJQlM9Jy1sZ2lvLTIuMCAtbGdv YmplY3QtMi4wIC1sZ2xpYi0yLjAgICcKR1RLX0NGTEFHUz0nLXB0aHJlYWQgLUkvdXNyL2luY2x1 ZGUvZ3RrLTMuMCAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2F0LXNwaTIt YXRrLzIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2lvLXVuaXgt Mi4wLyAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAt SS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0y LjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9oYXJmYnV6eiAtSS91c3IvaW5jbHVkZS9mcmVldHlw ZTIgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICcKR1RL X0xJQlM9Jy1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29jYWlyby0x LjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxwYW5nby0xLjAgLWxjYWlybyAt bGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICcKR1RLX09CSj0nZ3RrdXRpbC5vIGVtYWNzZ3RrZml4 ZWQubycKR1pJUF9QUk9HPScvYmluL2d6aXAnCkhBVkVfQUxQSEFTT1JUPScxJwpIQVZFX0FUT0xM PScxJwpIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUU9JzEnCkhBVkVfQ0hPV049JzEnCkhBVkVf Q0xPU0VESVI9JzEnCkhBVkVfREVDTF9ESVJGRD0nMScKSEFWRV9ERUNMX0VOVklST049JzEnCkhB VkVfREVDTF9GQ0hESVI9JzEnCkhBVkVfREVDTF9GREFUQVNZTkM9JzEnCkhBVkVfREVDTF9GRE9Q RU5ESVI9JzEnCkhBVkVfREVDTF9GUFVSR0U9JzEnCkhBVkVfREVDTF9GU0VFS089JzEnCkhBVkVf REVDTF9GVEVMTE89JzEnCkhBVkVfREVDTF9HRVRERUxJTT0nMScKSEFWRV9ERUNMX0dFVERPTUFJ Tk5BTUU9JzEnCkhBVkVfREVDTF9HRVRMSU5FPScxJwpIQVZFX0RFQ0xfR0VUTE9BREFWRz0nMScK SEFWRV9ERUNMX0dFVExPR0lOX1I9JzEnCkhBVkVfREVDTF9HRVRQQUdFU0laRT0nMScKSEFWRV9E RUNMX0dFVFVTRVJTSEVMTD0nMScKSEFWRV9ERUNMX0lNQVhBQlM9JzEnCkhBVkVfREVDTF9JTUFY RElWPScxJwpIQVZFX0RFQ0xfTE9DQUxUSU1FX1I9JzEnCkhBVkVfREVDTF9NRU1NRU09JzEnCkhB VkVfREVDTF9NRU1SQ0hSPScxJwpIQVZFX0RFQ0xfT0JTVEFDS19QUklOVEY9JzEnCkhBVkVfREVD TF9TRVRFTlY9JzEnCkhBVkVfREVDTF9TRVRIT1NUTkFNRT0nMScKSEFWRV9ERUNMX1NOUFJJTlRG PScxJwpIQVZFX0RFQ0xfU1RSRFVQPScxJwpIQVZFX0RFQ0xfU1RSRVJST1JfUj0nMScKSEFWRV9E RUNMX1NUUk5EVVA9JzEnCkhBVkVfREVDTF9TVFJOTEVOPScxJwpIQVZFX0RFQ0xfU1RSU0lHTkFM PScxJwpIQVZFX0RFQ0xfU1RSVE9JTUFYPScxJwpIQVZFX0RFQ0xfU1RSVE9LX1I9JzEnCkhBVkVf REVDTF9TVFJUT1VNQVg9JzEnCkhBVkVfREVDTF9UVFlOQU1FX1I9JzEnCkhBVkVfREVDTF9VTlNF VEVOVj0nMScKSEFWRV9ERUNMX1ZTTlBSSU5URj0nMScKSEFWRV9ESVJFTlRfSD0nMScKSEFWRV9E UFJJTlRGPScxJwpIQVZFX0RVUDI9JzEnCkhBVkVfRFVQMz0nMScKSEFWRV9FVUlEQUNDRVNTPScx JwpIQVZFX0ZBQ0NFU1NBVD0nMScKSEFWRV9GQ0hESVI9JzEnCkhBVkVfRkNITU9EQVQ9JzEnCkhB VkVfRkNIT1dOQVQ9JzEnCkhBVkVfRkNOVEw9JzEnCkhBVkVfRkRBVEFTWU5DPScxJwpIQVZFX0ZE T1BFTkRJUj0nMScKSEFWRV9GRlNMPScxJwpIQVZFX0ZGU0xMPScxJwpIQVZFX0ZTRUVLTz0nMScK SEFWRV9GU1RBVEFUPScxJwpIQVZFX0ZTWU5DPScxJwpIQVZFX0ZURUxMTz0nMScKSEFWRV9GVFJV TkNBVEU9JzEnCkhBVkVfRlVUSU1FTlM9JzEnCkhBVkVfR0VURFRBQkxFU0laRT0nMScKSEFWRV9H RVRHUk9VUFM9JzEnCkhBVkVfR0VUSE9TVE5BTUU9JzEnCkhBVkVfR0VUTE9HSU49JzEnCkhBVkVf R0VUT1BUX0g9JzEnCkhBVkVfR0VUUEFHRVNJWkU9JzEnCkhBVkVfR0VUU1VCT1BUPScxJwpIQVZF X0dFVFRJTUVPRkRBWT0nMScKSEFWRV9HUkFOVFBUPScxJwpIQVZFX0dST1VQX01FTUJFUj0nMScK SEFWRV9JTlRUWVBFU19IPScxJwpIQVZFX0xDSE1PRD0nMScKSEFWRV9MQ0hPV049JzEnCkhBVkVf TElOSz0nMScKSEFWRV9MSU5LQVQ9JzEnCkhBVkVfTE9OR19MT05HX0lOVD0nMScKSEFWRV9MU1RB VD0nMScKSEFWRV9NQUtFSU5GTz0neWVzJwpIQVZFX01CU0xFTj0nMCcKSEFWRV9NRU1DSFI9JzEn CkhBVkVfTUVNUENQWT0nMScKSEFWRV9NS0RJUkFUPScxJwpIQVZFX01LRFRFTVA9JzEnCkhBVkVf TUtGSUZPPScxJwpIQVZFX01LRklGT0FUPScxJwpIQVZFX01LTk9EPScxJwpIQVZFX01LTk9EQVQ9 JzEnCkhBVkVfTUtPU1RFTVA9JzEnCkhBVkVfTUtPU1RFTVBTPScxJwpIQVZFX01LU1RFTVA9JzEn CkhBVkVfTUtTVEVNUFM9JzEnCkhBVkVfTkFOT1NMRUVQPScxJwpIQVZFX09QRU5BVD0nMScKSEFW RV9PUEVORElSPScxJwpIQVZFX09TX0g9JzAnCkhBVkVfUENMT1NFPScxJwpIQVZFX1BJUEUyPScx JwpIQVZFX1BJUEU9JzEnCkhBVkVfUE9QRU49JzEnCkhBVkVfUE9TSVhfT1BFTlBUPScxJwpIQVZF X1BPU0lYX1NJR05BTEJMT0NLSU5HPScxJwpIQVZFX1BSRUFEPScxJwpIQVZFX1BTRUxFQ1Q9JzEn CkhBVkVfUFRIUkVBRF9TSUdNQVNLPScxJwpIQVZFX1BUU05BTUU9JzEnCkhBVkVfUFRTTkFNRV9S PScxJwpIQVZFX1BXUklURT0nMScKSEFWRV9SQUlTRT0nMScKSEFWRV9SQU5ET009JzEnCkhBVkVf UkFORE9NX0g9JzEnCkhBVkVfUkFORE9NX1I9JzEnCkhBVkVfUkFXTUVNQ0hSPScxJwpIQVZFX1JF QURESVI9JzEnCkhBVkVfUkVBRExJTks9JzEnCkhBVkVfUkVBRExJTktBVD0nMScKSEFWRV9SRUFM UEFUSD0nMScKSEFWRV9SRU5BTUVBVD0nMScKSEFWRV9SRVdJTkRESVI9JzEnCkhBVkVfUlBNQVRD SD0nMScKSEFWRV9TQ0FORElSPScxJwpIQVZFX1NFQ1VSRV9HRVRFTlY9JzEnCkhBVkVfU0VURU5W PScxJwpIQVZFX1NFVEhPU1ROQU1FPScxJwpIQVZFX1NJR0FDVElPTj0nMScKSEFWRV9TSUdIQU5E TEVSX1Q9JzEnCkhBVkVfU0lHSU5GT19UPScxJwpIQVZFX1NJR05FRF9TSUdfQVRPTUlDX1Q9JycK SEFWRV9TSUdORURfV0NIQVJfVD0nJwpIQVZFX1NJR05FRF9XSU5UX1Q9JycKSEFWRV9TSUdTRVRf VD0nMScKSEFWRV9TTEVFUD0nMScKSEFWRV9TVERJTlRfSD0nMScKSEFWRV9TVFBDUFk9JzEnCkhB VkVfU1RQTkNQWT0nMScKSEFWRV9TVFJDQVNFU1RSPScxJwpIQVZFX1NUUkNIUk5VTD0nMScKSEFW RV9TVFJQQlJLPScxJwpIQVZFX1NUUlBUSU1FPScxJwpIQVZFX1NUUlNFUD0nMScKSEFWRV9TVFJU T0Q9JzEnCkhBVkVfU1RSVE9MTD0nMScKSEFWRV9TVFJUT1VMTD0nMScKSEFWRV9TVFJVQ1RfUkFO RE9NX0RBVEE9JzEnCkhBVkVfU1RSVUNUX1NJR0FDVElPTl9TQV9TSUdBQ1RJT049JzEnCkhBVkVf U1RSVUNUX1RJTUVWQUw9JzEnCkhBVkVfU1RSVkVSU0NNUD0nMScKSEFWRV9TWU1MSU5LPScxJwpI QVZFX1NZTUxJTktBVD0nMScKSEFWRV9TWVNfQklUWVBFU19IPScnCkhBVkVfU1lTX0lOVFRZUEVT X0g9JycKSEFWRV9TWVNfTE9BREFWR19IPScwJwpIQVZFX1NZU19QQVJBTV9IPScwJwpIQVZFX1NZ U19TRUxFQ1RfSD0nMScKSEFWRV9TWVNfVElNRV9IPScxJwpIQVZFX1NZU19UWVBFU19IPScxJwpI QVZFX1RJTUVHTT0nMScKSEFWRV9UWVBFX1ZPTEFUSUxFX1NJR19BVE9NSUNfVD0nMScKSEFWRV9V TklTVERfSD0nMScKSEFWRV9VTkxJTktBVD0nMScKSEFWRV9VTkxPQ0tQVD0nMScKSEFWRV9VTlNJ R05FRF9MT05HX0xPTkdfSU5UPScxJwpIQVZFX1VTTEVFUD0nMScKSEFWRV9VVElNRU5TQVQ9JzEn CkhBVkVfVkFTUFJJTlRGPScxJwpIQVZFX1ZEUFJJTlRGPScxJwpIQVZFX1dDSEFSX0g9JzEnCkhB VkVfV0NIQVJfVD0nMScKSEFWRV9XSU5TT0NLMl9IPScwJwpIQVZFX1hTRVJWRVI9JycKSEFWRV9f Qk9PTD0nMScKSEFWRV9fRVhJVD0nMScKSU1BR0VNQUdJQ0tfQ0ZMQUdTPSctZm9wZW5tcCAtSS91 c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgJwpJTUFHRU1BR0lDS19MSUJTPSctbE1hZ2lja1dhbmQg LWxNYWdpY2tDb3JlICAnCklOQ0xVREVfTkVYVD0naW5jbHVkZV9uZXh0JwpJTkNMVURFX05FWFRf QVNfRklSU1RfRElSRUNUSVZFPSdpbmNsdWRlX25leHQnCklORk9fRVhUPScuaW5mbycKSU5GT19P UFRTPSctLW5vLXNwbGl0JwpJTlNUQUxMX0FSQ0hfSU5ERVBfRVhUUkE9J2luc3RhbGwtZXRjJwpJ TlNUQUxMX0RBVEE9JyR7SU5TVEFMTH0gLW0gNjQ0JwpJTlNUQUxMX0lORk89Jy91c3IvYmluL2lu c3RhbGwtaW5mbycKSU5TVEFMTF9QUk9HUkFNPScke0lOU1RBTEx9JwpJTlNUQUxMX1NDUklQVD0n JHtJTlNUQUxMfScKSU5TVEFMTF9TVFJJUF9QUk9HUkFNPSckKGluc3RhbGxfc2gpIC1jIC1zJwpJ TlQzMl9NQVhfTFRfSU5UTUFYX01BWD0nMScKSU5UNjRfTUFYX0VRX0xPTkdfTUFYPSdkZWZpbmVk IF9MUDY0JwpLUkI0TElCPScnCktSQjVMSUI9JycKTERGTEFHUz0nICcKTERfU1dJVENIX1NZU1RF TT0nJwpMRF9TV0lUQ0hfU1lTVEVNX1RFTUFDUz0nLVdsLC16bm9jb21icmVsb2MgJChMRF9TV0lU Q0hfWF9TSVRFX1JQQVRIKScKTERfU1dJVENIX1hfU0lURT0nJwpMRF9TV0lUQ0hfWF9TSVRFX1JQ QVRIPScnCkxJQkdJRj0nLWxnaWYnCkxJQkdOVVRMU19DRkxBR1M9Jy1JL3Vzci9pbmNsdWRlL3Ax MS1raXQtMSAgJwpMSUJHTlVUTFNfTElCUz0nLWxnbnV0bHMgICcKTElCR05VX0xJQkRFUFM9JycK TElCR05VX0xUTElCREVQUz0nJwpMSUJHUE09JycKTElCSEVTSU9EPScnCkxJQklOVEw9JycKTElC SlBFRz0nLWxqcGVnJwpMSUJPQkpTPScnCkxJQk9URl9DRkxBR1M9JycKTElCT1RGX0xJQlM9JycK TElCUE5HPSctbHBuZyAtbHogLWxtJwpMSUJSRVNPTFY9JycKTElCUz0nICcKTElCU0VMSU5VWF9M SUJTPScnCkxJQlNPVU5EPScnCkxJQlNfRUNMSUVOVD0nJwpMSUJTX0dOVVNURVA9JycKTElCU19N QUlMPScnCkxJQlNfU1lTVEVNPScnCkxJQlNfVEVSTUNBUD0nLWx0aW5mbycKTElCVElGRj0nLWx0 aWZmJwpMSUJYTUVOVT0nJwpMSUJYTUwyX0NGTEFHUz0nLUkvdXNyL2luY2x1ZGUvbGlieG1sMiAg JwpMSUJYTUwyX0xJQlM9Jy1seG1sMiAgJwpMSUJYTVU9JycKTElCWFBNPSctbFhwbScKTElCWFNN PSctbFNNIC1sSUNFJwpMSUJYVFI2PScnCkxJQlhUX09USEVSPSckKExJQlhTTSknCkxJQlhfT1RI RVI9JyQoTElCWFQpICQoTElCWF9FWFRSQSknCkxJQlo9Jy1seicKTElCX0FDTD0nJwpMSUJfQ0xP Q0tfR0VUVElNRT0nJwpMSUJfRUFDQ0VTUz0nJwpMSUJfRVhFQ0lORk89JycKTElCX0ZEQVRBU1lO Qz0nJwpMSUJfTUFUSD0nLWxtJwpMSUJfUFRIUkVBRD0nLWxwdGhyZWFkJwpMSUJfUFRIUkVBRF9T SUdNQVNLPScnCkxJQl9USU1FUl9USU1FPSctbHJ0ICcKTElCX1dTT0NLMzI9JycKTE5fU19GSUxF T05MWT0nbG4gLXMnCkxUTElCSU5UTD0nJwpMVExJQk9CSlM9JycKTTE3Tl9GTFRfQ0ZMQUdTPScn Ck0xN05fRkxUX0xJQlM9JycKTUFLRUlORk89Jy91c3IvYmluL21ha2VpbmZvJwpNQUtFX1BST0c9 JycKTUtERVBESVI9JyR7TUtESVJfUH0gJHtERVBESVJ9JwpNS0RJUl9QPScvYmluL21rZGlyIC1w JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9ESVJFTlRfSD0nPGRpcmVudC5oPicKTkVYVF9BU19G SVJTVF9ESVJFQ1RJVkVfRVJSTk9fSD0nJwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9GQ05UTF9I PSc8ZmNudGwuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX0dFVE9QVF9IPSc8Z2V0b3B0Lmg+ JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9JTlRUWVBFU19IPSc8aW50dHlwZXMuaD4nCk5FWFRf QVNfRklSU1RfRElSRUNUSVZFX1NJR05BTF9IPSc8c2lnbmFsLmg+JwpORVhUX0FTX0ZJUlNUX0RJ UkVDVElWRV9TVERBUkdfSD0nJwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TVERERUZfSD0nJwpO RVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TVERJTlRfSD0nPHN0ZGludC5oPicKTkVYVF9BU19GSVJT VF9ESVJFQ1RJVkVfU1RESU9fSD0nPHN0ZGlvLmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9T VERMSUJfSD0nPHN0ZGxpYi5oPicKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfU1RSSU5HX0g9Jzxz dHJpbmcuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX1NZU19TRUxFQ1RfSD0nPHN5cy9zZWxl Y3QuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX1NZU19TVEFUX0g9JzxzeXMvc3RhdC5oPicK TkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfU1lTX1RJTUVfSD0nPHN5cy90aW1lLmg+JwpORVhUX0FT X0ZJUlNUX0RJUkVDVElWRV9TWVNfVFlQRVNfSD0nPHN5cy90eXBlcy5oPicKTkVYVF9BU19GSVJT VF9ESVJFQ1RJVkVfVElNRV9IPSc8dGltZS5oPicKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfVU5J U1REX0g9Jzx1bmlzdGQuaD4nCk5FWFRfRElSRU5UX0g9JzxkaXJlbnQuaD4nCk5FWFRfRVJSTk9f SD0nJwpORVhUX0ZDTlRMX0g9JzxmY250bC5oPicKTkVYVF9HRVRPUFRfSD0nPGdldG9wdC5oPicK TkVYVF9JTlRUWVBFU19IPSc8aW50dHlwZXMuaD4nCk5FWFRfU0lHTkFMX0g9JzxzaWduYWwuaD4n Ck5FWFRfU1REQVJHX0g9JzxzdGRhcmcuaD4nCk5FWFRfU1REREVGX0g9JycKTkVYVF9TVERJTlRf SD0nPHN0ZGludC5oPicKTkVYVF9TVERJT19IPSc8c3RkaW8uaD4nCk5FWFRfU1RETElCX0g9Jzxz dGRsaWIuaD4nCk5FWFRfU1RSSU5HX0g9JzxzdHJpbmcuaD4nCk5FWFRfU1lTX1NFTEVDVF9IPSc8 c3lzL3NlbGVjdC5oPicKTkVYVF9TWVNfU1RBVF9IPSc8c3lzL3N0YXQuaD4nCk5FWFRfU1lTX1RJ TUVfSD0nPHN5cy90aW1lLmg+JwpORVhUX1NZU19UWVBFU19IPSc8c3lzL3R5cGVzLmg+JwpORVhU X1RJTUVfSD0nPHRpbWUuaD4nCk5FWFRfVU5JU1REX0g9Jzx1bmlzdGQuaD4nCk5PVElGWV9PQko9 J2dmaWxlbm90aWZ5Lm8nCk5TX09CSj0nJwpOU19PQkpDX09CSj0nJwpOVERJUj0nJwpOVExJQj0n JwpPQkpFWFQ9J28nCk9USEVSX0ZJTEVTPScnClBBQ0tBR0U9J2VtYWNzJwpQQUNLQUdFX0JVR1JF UE9SVD0nYnVnLWdudS1lbWFjc0BnbnUub3JnJwpQQUNLQUdFX05BTUU9J0dOVSBFbWFjcycKUEFD S0FHRV9TVFJJTkc9J0dOVSBFbWFjcyAyNC40LjUwJwpQQUNLQUdFX1RBUk5BTUU9J2VtYWNzJwpQ QUNLQUdFX1VSTD0naHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLycKUEFDS0FHRV9W RVJTSU9OPScyNC40LjUwJwpQQVRIX1NFUEFSQVRPUj0nOicKUEFYQ1RMPScnClBLR19DT05GSUc9 Jy91c3IvYmluL3BrZy1jb25maWcnClBPU1RfQUxMT0NfT0JKPScnClBSQUdNQV9DT0xVTU5TPScn ClBSQUdNQV9TWVNURU1fSEVBREVSPScjcHJhZ21hIEdDQyBzeXN0ZW1faGVhZGVyJwpQUkVfQUxM T0NfT0JKPSdsYXN0ZmlsZS5vJwpQUklQVFJfUFJFRklYPSdfX1BSSVBUUl9QUkVGSVgnClBSSV9N QUNST1NfQlJPS0VOPScwJwpQUk9GSUxJTkdfQ0ZMQUdTPScnClBUSFJFQURfSF9ERUZJTkVTX1NU UlVDVF9USU1FU1BFQz0nMCcKUFRSRElGRl9UX1NVRkZJWD0nJwpSQUxMT0NfT0JKPScnClJBTkxJ Qj0ncmFubGliJwpSRVBMQUNFX0NBTExPQz0nMCcKUkVQTEFDRV9DQU5PTklDQUxJWkVfRklMRV9O QU1FPScwJwpSRVBMQUNFX0NIT1dOPScwJwpSRVBMQUNFX0NMT1NFPScwJwpSRVBMQUNFX0NMT1NF RElSPScwJwpSRVBMQUNFX0RJUkZEPScwJwpSRVBMQUNFX0RQUklOVEY9JzAnClJFUExBQ0VfRFVQ Mj0nMCcKUkVQTEFDRV9EVVA9JzAnClJFUExBQ0VfRkNIT1dOQVQ9JzAnClJFUExBQ0VfRkNMT1NF PScwJwpSRVBMQUNFX0ZDTlRMPScxJwpSRVBMQUNFX0ZET1BFTj0nMCcKUkVQTEFDRV9GRE9QRU5E SVI9JzAnClJFUExBQ0VfRkZMVVNIPScwJwpSRVBMQUNFX0ZPUEVOPScwJwpSRVBMQUNFX0ZQUklO VEY9JzAnClJFUExBQ0VfRlBVUkdFPScwJwpSRVBMQUNFX0ZSRU9QRU49JzAnClJFUExBQ0VfRlNF RUs9JzAnClJFUExBQ0VfRlNFRUtPPScwJwpSRVBMQUNFX0ZTVEFUPScwJwpSRVBMQUNFX0ZTVEFU QVQ9JzAnClJFUExBQ0VfRlRFTEw9JzAnClJFUExBQ0VfRlRFTExPPScwJwpSRVBMQUNFX0ZUUlVO Q0FURT0nMCcKUkVQTEFDRV9GVVRJTUVOUz0nMCcKUkVQTEFDRV9HRVRDV0Q9JzAnClJFUExBQ0Vf R0VUREVMSU09JzAnClJFUExBQ0VfR0VURE9NQUlOTkFNRT0nMCcKUkVQTEFDRV9HRVREVEFCTEVT SVpFPScwJwpSRVBMQUNFX0dFVEdST1VQUz0nMCcKUkVQTEFDRV9HRVRMSU5FPScwJwpSRVBMQUNF X0dFVExPR0lOX1I9JzAnClJFUExBQ0VfR0VUUEFHRVNJWkU9JzAnClJFUExBQ0VfR0VUVElNRU9G REFZPScwJwpSRVBMQUNFX0dNVElNRT0nMCcKUkVQTEFDRV9JU0FUVFk9JzAnClJFUExBQ0VfTENI T1dOPScwJwpSRVBMQUNFX0xJTks9JzAnClJFUExBQ0VfTElOS0FUPScwJwpSRVBMQUNFX0xPQ0FM VElNRT0nMCcKUkVQTEFDRV9MT0NBTFRJTUVfUj0nMCcKUkVQTEFDRV9MU0VFSz0nMCcKUkVQTEFD RV9MU1RBVD0nMCcKUkVQTEFDRV9NQUxMT0M9JzAnClJFUExBQ0VfTUJUT1dDPScwJwpSRVBMQUNF X01FTUNIUj0nMCcKUkVQTEFDRV9NRU1NRU09JzAnClJFUExBQ0VfTUtESVI9JzAnClJFUExBQ0Vf TUtGSUZPPScwJwpSRVBMQUNFX01LTk9EPScwJwpSRVBMQUNFX01LU1RFTVA9JzAnClJFUExBQ0Vf TUtUSU1FPScwJwpSRVBMQUNFX05BTk9TTEVFUD0nR05VTElCX1BPUlRDSEVDSycKUkVQTEFDRV9O VUxMPScwJwpSRVBMQUNFX09CU1RBQ0tfUFJJTlRGPScwJwpSRVBMQUNFX09QRU49JzAnClJFUExB Q0VfT1BFTkFUPScwJwpSRVBMQUNFX09QRU5ESVI9JzAnClJFUExBQ0VfUEVSUk9SPScwJwpSRVBM QUNFX1BPUEVOPScwJwpSRVBMQUNFX1BSRUFEPScwJwpSRVBMQUNFX1BSSU5URj0nMCcKUkVQTEFD RV9QU0VMRUNUPScwJwpSRVBMQUNFX1BUSFJFQURfU0lHTUFTSz0nMScKUkVQTEFDRV9QVFNOQU1F PScwJwpSRVBMQUNFX1BUU05BTUVfUj0nMCcKUkVQTEFDRV9QVVRFTlY9JzAnClJFUExBQ0VfUFdS SVRFPScwJwpSRVBMQUNFX1JBSVNFPScwJwpSRVBMQUNFX1JBTkRPTV9SPScwJwpSRVBMQUNFX1JF QUQ9JzAnClJFUExBQ0VfUkVBRExJTks9JzAnClJFUExBQ0VfUkVBTExPQz0nMCcKUkVQTEFDRV9S RUFMUEFUSD0nMCcKUkVQTEFDRV9SRU1PVkU9JzAnClJFUExBQ0VfUkVOQU1FPScwJwpSRVBMQUNF X1JFTkFNRUFUPScwJwpSRVBMQUNFX1JNRElSPScwJwpSRVBMQUNFX1NFTEVDVD0nMCcKUkVQTEFD RV9TRVRFTlY9JzAnClJFUExBQ0VfU0xFRVA9JzAnClJFUExBQ0VfU05QUklOVEY9JzAnClJFUExB Q0VfU1BSSU5URj0nMCcKUkVQTEFDRV9TVEFUPScwJwpSRVBMQUNFX1NURElPX1JFQURfRlVOQ1M9 JzAnClJFUExBQ0VfU1RESU9fV1JJVEVfRlVOQ1M9JzAnClJFUExBQ0VfU1RQTkNQWT0nMCcKUkVQ TEFDRV9TVFJDQVNFU1RSPScwJwpSRVBMQUNFX1NUUkNIUk5VTD0nMCcKUkVQTEFDRV9TVFJEVVA9 JzAnClJFUExBQ0VfU1RSRVJST1I9JzAnClJFUExBQ0VfU1RSRVJST1JfUj0nMCcKUkVQTEFDRV9T VFJOQ0FUPScwJwpSRVBMQUNFX1NUUk5EVVA9JzAnClJFUExBQ0VfU1RSTkxFTj0nMCcKUkVQTEFD RV9TVFJTSUdOQUw9JzAnClJFUExBQ0VfU1RSU1RSPScwJwpSRVBMQUNFX1NUUlRPRD0nMCcKUkVQ TEFDRV9TVFJUT0lNQVg9JzAnClJFUExBQ0VfU1RSVE9LX1I9JzAnClJFUExBQ0VfU1RSVE9VTUFY PScwJwpSRVBMQUNFX1NUUlVDVF9USU1FVkFMPScwJwpSRVBMQUNFX1NZTUxJTks9JzAnClJFUExB Q0VfVElNRUdNPSdHTlVMSUJfUE9SVENIRUNLJwpSRVBMQUNFX1RNUEZJTEU9JzAnClJFUExBQ0Vf VFRZTkFNRV9SPScwJwpSRVBMQUNFX1VOTElOSz0nMCcKUkVQTEFDRV9VTkxJTktBVD0nMCcKUkVQ TEFDRV9VTlNFVEVOVj0nMCcKUkVQTEFDRV9VU0xFRVA9JzAnClJFUExBQ0VfVVRJTUVOU0FUPScw JwpSRVBMQUNFX1ZBU1BSSU5URj0nMCcKUkVQTEFDRV9WRFBSSU5URj0nMCcKUkVQTEFDRV9WRlBS SU5URj0nMCcKUkVQTEFDRV9WUFJJTlRGPScwJwpSRVBMQUNFX1ZTTlBSSU5URj0nMCcKUkVQTEFD RV9WU1BSSU5URj0nMCcKUkVQTEFDRV9XQ1RPTUI9JzAnClJFUExBQ0VfV1JJVEU9JzAnClJTVkdf Q0ZMQUdTPSctcHRocmVhZCAtSS91c3IvaW5jbHVkZS9saWJyc3ZnLTIuMCAtSS91c3IvaW5jbHVk ZS9nbGliLTIuMCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAt SS91c3IvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3Iv aW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9m cmVldHlwZTIgICcKUlNWR19MSUJTPSctbHJzdmctMiAtbG0gLWxnaW8tMi4wIC1sZ2RrX3BpeGJ1 Zi0yLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICcKU0VQQ0hBUj0nOicKU0VU RkFUVFI9JycKU0VUVElOR1NfQ0ZMQUdTPSctcHRocmVhZCAtSS91c3IvaW5jbHVkZS9nbGliLTIu MCAtSS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAgIC1JL3Vzci9p bmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNs dWRlICAnClNFVFRJTkdTX0xJQlM9Jy1sZ2lvLTIuMCAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAg ICAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICcKU0VUX01BS0U9JycKU0hFTEw9Jy9iaW4vYmFz aCcKU0lHX0FUT01JQ19UX1NVRkZJWD0nJwpTSVpFX1RfU1VGRklYPScnClNUREFMSUdOX0g9JycK U1REQVJHX0g9JycKU1REQk9PTF9IPScnClNURERFRl9IPScnClNURElOVF9IPScnClNUUklQPScn ClNVQkRJUl9NQUtFRklMRVNfSU49JyAkKHNyY2RpcikvbGliL01ha2VmaWxlLmluICQoc3JjZGly KS9saWItc3JjL01ha2VmaWxlLmluICQoc3JjZGlyKS9vbGRYTWVudS9NYWtlZmlsZS5pbiAkKHNy Y2RpcikvZG9jL2VtYWNzL01ha2VmaWxlLmluICQoc3JjZGlyKS9kb2MvbWlzYy9NYWtlZmlsZS5p biAkKHNyY2RpcikvZG9jL2xpc3BpbnRyby9NYWtlZmlsZS5pbiAkKHNyY2RpcikvZG9jL2xpc3By ZWYvTWFrZWZpbGUuaW4gJChzcmNkaXIpL3NyYy9NYWtlZmlsZS5pbiAkKHNyY2RpcikvbHdsaWIv TWFrZWZpbGUuaW4gJChzcmNkaXIpL2xpc3AvTWFrZWZpbGUuaW4gJChzcmNkaXIpL2xlaW0vTWFr ZWZpbGUuaW4gJChzcmNkaXIpL25leHRzdGVwL01ha2VmaWxlLmluICQoc3JjZGlyKS9udC9NYWtl ZmlsZS5pbiAkKHNyY2RpcikvdGVzdC9hdXRvbWF0ZWQvTWFrZWZpbGUuaW4gJChzcmNkaXIpL2Fk bWluL3VuaWRhdGEvTWFrZWZpbGUuaW4gJChzcmNkaXIpL2FkbWluL2dyYW1tYXJzL01ha2VmaWxl LmluJwpTWVNfVElNRV9IX0RFRklORVNfU1RSVUNUX1RJTUVTUEVDPScwJwpURU1BQ1NfUE9TVF9M SU5LPSc6JwpURVJNQ0FQX09CSj0ndGVybWluZm8ubycKVElNRV9IX0RFRklORVNfU1RSVUNUX1RJ TUVTUEVDPScxJwpUT09MS0lUX0xJQlc9Jy1sZ3RrLTMgLWxnZGstMyAtbGF0ay0xLjAgLWxnaW8t Mi4wIC1scGFuZ29jYWlyby0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbGNhaXJvLWdvYmplY3QgLWxw YW5nby0xLjAgLWxjYWlybyAtbGdvYmplY3QtMi4wIC1sZ2xpYi0yLjAgICcKVUlOVDMyX01BWF9M VF9VSU5UTUFYX01BWD0nMScKVUlOVDY0X01BWF9FUV9VTE9OR19NQVg9J2RlZmluZWQgX0xQNjQn ClVOREVGSU5FX1NUUlRPS19SPScwJwpVTkVYRUNfT0JKPSd1bmV4ZWxmLm8nClVOSVNURF9IX0hB VkVfV0lOU09DSzJfSD0nMCcKVU5JU1REX0hfSEFWRV9XSU5TT0NLMl9IX0FORF9VU0VfU09DS0VU Uz0nMCcKVVBEQVRFX01BTklGRVNUPScnClVTRV9BQ0w9JzAnClZFUlNJT049JzI0LjQuNTAnClZN TElNSVRfT0JKPSd2bS1saW1pdC5vJwpXMzJfTElCUz0nJwpXMzJfT0JKPScnClczMl9SRVNfTElO Sz0nJwpXQVJOX0NGTEFHUz0nJwpXQ0hBUl9UX1NVRkZJWD0nJwpXRVJST1JfQ0ZMQUdTPScnCldJ REdFVF9PQko9JycKV0lORE9XU182NF9CSVRfT0ZGX1Q9JzAnCldJTkRPV1NfNjRfQklUX1NUX1NJ WkU9JzAnCldJTkRPV19TWVNURU1fT0JKPSdmb250c2V0Lm8gZnJpbmdlLm8gaW1hZ2UubycKV0lO RFJFUz0nJwpXSU5UX1RfU1VGRklYPScnClhBUkdTX0xJTUlUPScnClhDUlVOPScnClhGVF9DRkxB R1M9Jy1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAgJwpYRlRfTElCUz0nLWxYcmVuZGVyIC1sWGZ0 ICAnClhHU0VMT0JKPSd4Z3NlbGVjdC5vJwpYSU5FUkFNQV9DRkxBR1M9JyAnClhJTkVSQU1BX0xJ QlM9Jy1sWGluZXJhbWEgICcKWE1FTlVfT0JKPSd4bWVudS5vJwpYTUtNRj0nJwpYT0JKPSd4dGVy bS5vIHhmbnMubyB4c2VsZWN0Lm8geHJkYi5vIHhzbWZucy5vIHhzZXR0aW5ncy5vJwpYUkFORFJf Q0ZMQUdTPScgJwpYUkFORFJfTElCUz0nLWxYcmFuZHIgICcKWF9UT09MS0lUX1RZUEU9J25vbmUn CmFjX2N0X0NDPSdnY2MnCmFtX19FWEVFWFRfRkFMU0U9JycKYW1fX0VYRUVYVF9UUlVFPScjJwph bV9fZmFzdGRlcENDX0ZBTFNFPScjJwphbV9fZmFzdGRlcENDX1RSVUU9JycKYW1fX2luY2x1ZGU9 J2luY2x1ZGUnCmFtX19pc3JjPScnCmFtX19sZWFkaW5nX2RvdD0nLicKYW1fX25vZGVwPSdfbm8n CmFtX19xdW90ZT0nJwphbV9fdGFyPSckJHtUQVItdGFyfSBjaG9mIC0gIiQkdGFyZGlyIicKYW1f X3VudGFyPSckJHtUQVItdGFyfSB4ZiAtJwphcmNobGliZGlyPScke2xpYmV4ZWNkaXJ9L2VtYWNz LyR7dmVyc2lvbn0vJHtjb25maWd1cmF0aW9ufScKYmluZGlyPScke2V4ZWNfcHJlZml4fS9iaW4n CmJpdG1hcGRpcj0nL3Vzci9pbmNsdWRlL1gxMS9iaXRtYXBzJwpidWlsZD0neDg2XzY0LXVua25v d24tbGludXgtZ251JwpidWlsZF9hbGlhcz0nJwpidWlsZF9jcHU9J3g4Nl82NCcKYnVpbGRfb3M9 J2xpbnV4LWdudScKYnVpbGRfdmVuZG9yPSd1bmtub3duJwpjYWNoZV9maWxlPScvZGV2L251bGwn CmNhbm9uaWNhbD0neDg2XzY0LXVua25vd24tbGludXgtZ251Jwpjb25maWd1cmF0aW9uPSd4ODZf NjQtdW5rbm93bi1saW51eC1nbnUnCmNvcHlyaWdodD0nQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLicKZGF0YWRpcj0nJHtkYXRhcm9vdGRpcn0nCmRhdGFy b290ZGlyPScke3ByZWZpeH0vc2hhcmUnCmRvY2Rpcj0nJHtkYXRhcm9vdGRpcn0vZG9jLyR7UEFD S0FHRV9UQVJOQU1FfScKZHZpZGlyPScke2RvY2Rpcn0nCmV0Y2Rpcj0nJHtkYXRhZGlyfS9lbWFj cy8ke3ZlcnNpb259L2V0YycKZXRjZG9jZGlyPScke2RhdGFkaXJ9L2VtYWNzLyR7dmVyc2lvbn0v ZXRjJwpleGVjX3ByZWZpeD0nJHtwcmVmaXh9JwpnYW1lZGlyPScke2xvY2Fsc3RhdGVkaXJ9L2dh bWVzL2VtYWNzJwpnYW1ldXNlcj0nZ2FtZXMnCmdsX0dOVUxJQl9FTkFCTEVEXzAzZTBhYWFkNGNi ODljYTc1NzY1M2JkMzY3YTZjY2I3X0ZBTFNFPScnCmdsX0dOVUxJQl9FTkFCTEVEXzAzZTBhYWFk NGNiODljYTc1NzY1M2JkMzY3YTZjY2I3X1RSVUU9JyMnCmdsX0dOVUxJQl9FTkFCTEVEXzI2MDk0 MWMwZTVkYzY3ZWM5ZTg3ZDFmYjMyMWMzMDBiX0ZBTFNFPScnCmdsX0dOVUxJQl9FTkFCTEVEXzI2 MDk0MWMwZTVkYzY3ZWM5ZTg3ZDFmYjMyMWMzMDBiX1RSVUU9JyMnCmdsX0dOVUxJQl9FTkFCTEVE XzYwOTllOTczN2Y3NTdkYjM2YzQ3ZmE5ZDlmMDJlODhjX0ZBTFNFPScnCmdsX0dOVUxJQl9FTkFC TEVEXzYwOTllOTczN2Y3NTdkYjM2YzQ3ZmE5ZDlmMDJlODhjX1RSVUU9JyMnCmdsX0dOVUxJQl9F TkFCTEVEXzY4MmU2MDk2MDRjY2FhYzZiZTM4MmU0ZWUzYTRlYWVjX0ZBTFNFPScnCmdsX0dOVUxJ Ql9FTkFCTEVEXzY4MmU2MDk2MDRjY2FhYzZiZTM4MmU0ZWUzYTRlYWVjX1RSVUU9JyMnCmdsX0dO VUxJQl9FTkFCTEVEX2E5Nzg2ODUwZTk5OWFlNjVhODM2YTYwNDFlOGU1ZWQxX0ZBTFNFPScnCmds X0dOVUxJQl9FTkFCTEVEX2E5Nzg2ODUwZTk5OWFlNjVhODM2YTYwNDFlOGU1ZWQxX1RSVUU9JyMn CmdsX0dOVUxJQl9FTkFCTEVEX2JlNDUzY2VjNWVlY2Y1NzMxYTI3NGYyZGU3ZjJkYjM2X0ZBTFNF PScnCmdsX0dOVUxJQl9FTkFCTEVEX2JlNDUzY2VjNWVlY2Y1NzMxYTI3NGYyZGU3ZjJkYjM2X1RS VUU9JyMnCmdsX0dOVUxJQl9FTkFCTEVEX2Rvc25hbWVfRkFMU0U9JycKZ2xfR05VTElCX0VOQUJM RURfZG9zbmFtZV9UUlVFPScjJwpnbF9HTlVMSUJfRU5BQkxFRF9ldWlkYWNjZXNzX0ZBTFNFPScn CmdsX0dOVUxJQl9FTkFCTEVEX2V1aWRhY2Nlc3NfVFJVRT0nIycKZ2xfR05VTElCX0VOQUJMRURf Z2V0ZHRhYmxlc2l6ZV9GQUxTRT0nIycKZ2xfR05VTElCX0VOQUJMRURfZ2V0ZHRhYmxlc2l6ZV9U UlVFPScnCmdsX0dOVUxJQl9FTkFCTEVEX2dldGdyb3Vwc19GQUxTRT0nJwpnbF9HTlVMSUJfRU5B QkxFRF9nZXRncm91cHNfVFJVRT0nIycKZ2xfR05VTElCX0VOQUJMRURfcGF0aG1heF9GQUxTRT0n JwpnbF9HTlVMSUJfRU5BQkxFRF9wYXRobWF4X1RSVUU9JyMnCmdsX0dOVUxJQl9FTkFCTEVEX3Nl Y3VyZV9nZXRlbnZfRkFMU0U9JycKZ2xfR05VTElCX0VOQUJMRURfc2VjdXJlX2dldGVudl9UUlVF PScjJwpnbF9HTlVMSUJfRU5BQkxFRF9zdGF0X0ZBTFNFPScnCmdsX0dOVUxJQl9FTkFCTEVEX3N0 YXRfVFJVRT0nIycKZ2xfR05VTElCX0VOQUJMRURfc3RydG9sbF9GQUxTRT0nJwpnbF9HTlVMSUJf RU5BQkxFRF9zdHJ0b2xsX1RSVUU9JyMnCmdsX0dOVUxJQl9FTkFCTEVEX3N0cnRvdWxsX0ZBTFNF PScnCmdsX0dOVUxJQl9FTkFCTEVEX3N0cnRvdWxsX1RSVUU9JyMnCmdsX0dOVUxJQl9FTkFCTEVE X3RlbXBuYW1lX0ZBTFNFPScnCmdsX0dOVUxJQl9FTkFCTEVEX3RlbXBuYW1lX1RSVUU9JyMnCmds X0xJQk9CSlM9JyBmY250bC5vIHB0aHJlYWRfc2lnbWFzay5vIHNpZzJzdHIubycKZ2xfTFRMSUJP QkpTPScgZmNudGwubG8gcHRocmVhZF9zaWdtYXNrLmxvIHNpZzJzdHIubG8nCmdsdGVzdHNfTElC T0JKUz0nJwpnbHRlc3RzX0xUTElCT0JKUz0nJwpnbHRlc3RzX1dJVE5FU1M9J0lOX0VNQUNTX0dO VUxJQl9URVNUUycKaG9zdD0neDg2XzY0LXVua25vd24tbGludXgtZ251Jwpob3N0X2FsaWFzPScn Cmhvc3RfY3B1PSd4ODZfNjQnCmhvc3Rfb3M9J2xpbnV4LWdudScKaG9zdF92ZW5kb3I9J3Vua25v d24nCmh0bWxkaXI9JyR7ZG9jZGlyfScKaW5jbHVkZWRpcj0nJHtwcmVmaXh9L2luY2x1ZGUnCmlu Zm9kaXI9JyR7ZGF0YXJvb3RkaXJ9L2luZm8nCmluc3RhbGxfc2g9JyR7U0hFTEx9IC9ob21lL3R1 aGRvL0Rvd25sb2Fkcy9lbWFjcy10cnVuay9idWlsZC1hdXgvaW5zdGFsbC1zaCcKbGliZGlyPSck e2V4ZWNfcHJlZml4fS9saWInCmxpYmV4ZWNkaXI9JyR7ZXhlY19wcmVmaXh9L2xpYmV4ZWMnCmxp YmxvY2tmaWxlPSdubycKbGlzcGRpcj0nJHtkYXRhZGlyfS9lbWFjcy8ke3ZlcnNpb259L2xpc3An Cmxpc3BwYXRoPScke2xvY2FsbGlzcHBhdGh9OiR7c3RhbmRhcmRsaXNwcGF0aH0nCmxvY2FsZWRp cj0nJHtkYXRhcm9vdGRpcn0vbG9jYWxlJwpsb2NhbGxpc3BwYXRoPScke2RhdGFkaXJ9L2VtYWNz LyR7dmVyc2lvbn0vc2l0ZS1saXNwOiR7ZGF0YWRpcn0vZW1hY3Mvc2l0ZS1saXNwJwpsb2NhbHN0 YXRlZGlyPScke3ByZWZpeH0vdmFyJwptYW5kaXI9JyR7ZGF0YXJvb3RkaXJ9L21hbicKbWtkaXJf cD0nJChNS0RJUl9QKScKbnNfYXBwYmluZGlyPScnCm5zX2FwcGRpcj0nJwpuc19hcHByZXNkaXI9 JycKbnNfYXBwc3JjPScnCm5zX2NoZWNrX2ZpbGU9JycKbnNfc2VsZl9jb250YWluZWQ9J25vJwpv bGRpbmNsdWRlZGlyPScvdXNyL2luY2x1ZGUnCnBkZmRpcj0nJHtkb2NkaXJ9JwpwcmVmaXg9Jy91 c3IvbG9jYWwnCnByb2dyYW1fdHJhbnNmb3JtX25hbWU9J3MseCx4LCcKcHNkaXI9JyR7ZG9jZGly fScKc2JpbmRpcj0nJHtleGVjX3ByZWZpeH0vc2JpbicKc2hhcmVkc3RhdGVkaXI9JyR7cHJlZml4 fS9jb20nCnNyY2Rpcj0nLicKc3RhbmRhcmRsaXNwcGF0aD0nJHtsaXNwZGlyfScKc3lzY29uZmRp cj0nJHtwcmVmaXh9L2V0YycKdGFyZ2V0X2FsaWFzPScnCnZlcnNpb249JzI0LjQuNTAnCnhfZGVm YXVsdF9zZWFyY2hfcGF0aD0nL3Vzci9zaGFyZS9YMTEvJUwvJVQvJU4lQyVTOi91c3Ivc2hhcmUv WDExLyVsLyVULyVOJUMlUzovdXNyL3NoYXJlL1gxMS8lVC8lTiVDJVM6L3Vzci9zaGFyZS9YMTEv JUwvJVQvJU4lUzovdXNyL3NoYXJlL1gxMS8lbC8lVC8lTiVTOi91c3Ivc2hhcmUvWDExLyVULyVO JVM6L3Vzci9saWIvWDExLyVMLyVULyVOJUMlUzovdXNyL2xpYi9YMTEvJWwvJVQvJU4lQyVTOi91 c3IvbGliL1gxMS8lVC8lTiVDJVM6L3Vzci9saWIvWDExLyVMLyVULyVOJVM6L3Vzci9saWIvWDEx LyVsLyVULyVOJVM6L3Vzci9saWIvWDExLyVULyVOJVMnCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0t ICMjCiMjIEZpbGUgc3Vic3RpdHV0aW9ucy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoK ZGVwc19mcmFnPScuL3NyYy9hdXRvZGVwcy5taycKbGlzcF9mcmFnPScuL3NyYy9saXNwLm1rJwoK IyMgLS0tLS0tLS0tLS0gIyMKIyMgY29uZmRlZnMuaC4gIyMKIyMgLS0tLS0tLS0tLS0gIyMKCi8q IGNvbmZkZWZzLmggKi8KI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImVtYWNzIgojZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjQuNC41MCIK I2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI0LjQuNTAiCiNkZWZpbmUgUEFDS0FH RV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKI2RlZmluZSBQQUNLQUdFX1VSTCAi aHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKI2RlZmluZSBQQUNLQUdFICJlbWFj cyIKI2RlZmluZSBWRVJTSU9OICIyNC40LjUwIgojZGVmaW5lIE1BSUxfVVNFX1BPUCAxCiNkZWZp bmUgU1REQ19IRUFERVJTIDEKI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQojZGVmaW5lIEhBVkVfU1RETElCX0ggMQojZGVmaW5lIEhBVkVfU1RSSU5H X0ggMQojZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQojZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQojZGVmaW5lIEhBVkVfU1RESU5UX0ggMQojZGVmaW5lIEhB VkVfVU5JU1REX0ggMQojZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKI2RlZmluZSBfQUxMX1NPVVJD RSAxCiNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCiNkZWZpbmUgX0dOVV9TT1VSQ0UgMQojZGVm aW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCiNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQoj ZGVmaW5lIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERSAxCiNkZWZpbmUgU1lTVEVNX1RZUEUgImdu dS9saW51eCIKI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCiNkZWZpbmUgSEFWRV9TT1VO RCAxCiNkZWZpbmUgSEFWRV9QVFlfSCAxCiNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCiNk ZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKI2RlZmluZSBIQVZFX1BXRF9IIDEKI2RlZmluZSBI QVZFX1VUTVBfSCAxCiNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQojZGVmaW5lIEhBVkVfU1RE TElCX0ggMQojZGVmaW5lIEhBVkVfVU5JU1REX0ggMQojZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQojZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKI2RlZmlu ZSBIQVZFX0RJUkVOVF9IIDEKI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQojZGVmaW5lIEhBVkVf U1RESU9fRVhUX0ggMQojZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQojZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCiNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKI2RlZmluZSBIQVZFX1NURElOVF9IIDEKI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQojZGVmaW5lIEhBVkVfVVRJTUVfSCAxCiNkZWZpbmUgSEFWRV9Q RVJTT05BTElUWV9MSU5VWDMyIDEKI2RlZmluZSBIQVZFX1RFUk1fSCAxCiNkZWZpbmUgVElNRV9X SVRIX1NZU19USU1FIDEKI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQojZGVmaW5lIEhB VkVfU1lTX1dBSVRfSCAxCiNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCiNkZWZpbmUgSEFWRV9JRkFE RFJTX0ggMQojZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCiNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X05FVE1BU0sgMQojZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQojZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKI2RlZmluZSBIQVZFX0xPTkdfRklMRV9O QU1FUyAxCiNkZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQojZGVmaW5lIEhBVkVfREFUQV9TVEFS VCAxCiNkZWZpbmUgRE9VR19MRUFfTUFMTE9DIDEKI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK I2RlZmluZSBIQVZFX01NQVAgMQojZGVmaW5lIEhBVkVfUFRIUkVBRCAxCiNkZWZpbmUgSEFWRV9Y S0IgMQojZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQojZGVmaW5lIEhBVkVfWFNDUkVFTlJF U09VUkNFU1RSSU5HIDEKI2RlZmluZSBIQVZFX1hTQ1JFRU5OVU1CRVJPRlNDUkVFTiAxCiNkZWZp bmUgSEFWRV9YMTFSNiAxCiNkZWZpbmUgSEFWRV9YX0kxOE4gMQojZGVmaW5lIEhBVkVfWDExUjZf WElNIDEKI2RlZmluZSBIQVZFX1JTVkcgMQojZGVmaW5lIEhBVkVfSU1BR0VNQUdJQ0sgMQojZGVm aW5lIEhBVkVfTUFHSUNLRVhQT1JUSU1BR0VQSVhFTFMgMQojZGVmaW5lIEhBVkVfTUFHSUNLTUVS R0VJTUFHRUxBWUVSUyAxCiNkZWZpbmUgSEFWRV9HVEszIDEKI2RlZmluZSBHREtfRElTQUJMRV9E RVBSRUNBVElPTl9XQVJOSU5HUyAxCiNkZWZpbmUgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dB Uk5JTkdTIDEKI2RlZmluZSBVU0VfR1RLIDEKI2RlZmluZSBIQVZFX0dUS19IQU5ETEVfQk9YX05F VyAxCiNkZWZpbmUgSEFWRV9HVEtfVEVBUk9GRl9NRU5VX0lURU1fTkVXIDEKI2RlZmluZSBIQVZF X0dUS19XSURHRVRfR0VUX1dJTkRPVyAxCiNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX1NFVF9IQVNf V0lORE9XIDEKI2RlZmluZSBIQVZFX0dUS19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKI2RlZmlu ZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAxCiNkZWZpbmUgSEFWRV9HVEtfV0lER0VU X0dFVF9NQVBQRUQgMQojZGVmaW5lIEhBVkVfR1RLX0FESlVTVE1FTlRfR0VUX1BBR0VfU0laRSAx CiNkZWZpbmUgSEFWRV9HVEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5UQVRJT04gMQojZGVmaW5lIEhB VkVfR1RLX1dJTkRPV19TRVRfSEFTX1JFU0laRV9HUklQIDEKI2RlZmluZSBIQVZFX0dTRVRUSU5H UyAxCiNkZWZpbmUgSEFWRV9HTlVUTFMgMQojZGVmaW5lIEhBVkVfR0ZJTEVOT1RJRlkgMQojZGVm aW5lIFVTRV9GSUxFX05PVElGWSAxCiNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQoj ZGVmaW5lIEhBVkVfWElNIDEKI2RlZmluZSBVU0VfWElNIDEKI2RlZmluZSBYUmVnaXN0ZXJJTUlu c3RhbnRpYXRlQ2FsbGJhY2tfYXJnNiBYUG9pbnRlcgojZGVmaW5lIEhBVkVfWEZUIDEKI2RlZmlu ZSBIQVZFX0ZSRUVUWVBFIDEKI2RlZmluZSBIQVZFX1hQTSAxCiNkZWZpbmUgSEFWRV9KUEVHIDEK I2RlZmluZSBIQVZFX0pQRUcgMQojZGVmaW5lIEhBVkVfUE5HX0ggMQojZGVmaW5lIEhBVkVfUE5H IDEKI2RlZmluZSBQTkdfREVQU1RSVUNUIC8qKi8KI2RlZmluZSBIQVZFX1pMSUIgMQojZGVmaW5l IEhBVkVfVElGRiAxCiNkZWZpbmUgSEFWRV9HSUYgMQojZGVmaW5lIEhBVkVfWF9TTSAxCiNkZWZp bmUgSEFWRV9YUlJHRVRPVVRQVVRQUklNQVJZIDEKI2RlZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJF U09VUkNFU0NVUlJFTlQgMQojZGVmaW5lIEhBVkVfWFJBTkRSIDEKI2RlZmluZSBIQVZFX1hJTkVS QU1BIDEKI2RlZmluZSBIQVZFX0xJQlhNTDIgMQojZGVmaW5lIEhBVkVfSF9FUlJOTyAxCiNkZWZp bmUgTUFJTF9VU0VfRkxPQ0sgMQojZGVmaW5lIEhBVkVfQUNDRVBUNCAxCiNkZWZpbmUgSEFWRV9H RVRIT1NUTkFNRSAxCiNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQojZGVmaW5lIEhBVkVfR0VUX0NV UlJFTlRfRElSX05BTUUgMQojZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCiNkZWZpbmUgSEFWRV9SQU5E T00gMQojZGVmaW5lIEhBVkVfUklOVCAxCiNkZWZpbmUgSEFWRV9TRUxFQ1QgMQojZGVmaW5lIEhB VkVfR0VUUEFHRVNJWkUgMQojZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCiNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQojZGVmaW5lIEhBVkVfU0hVVERPV04g MQojZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQojZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKI2Rl ZmluZSBIQVZFX1NFVElUSU1FUiAxCiNkZWZpbmUgSEFWRV9TRU5EVE8gMQojZGVmaW5lIEhBVkVf UkVDVkZST00gMQojZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQojZGVmaW5lIEhBVkVfR0VUUEVF Uk5BTUUgMQojZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCiNkZWZpbmUgSEFWRV9GUkVFSUZBRERS UyAxCiNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQojZGVmaW5lIEhBVkVfR0VUTElORSAxCiNk ZWZpbmUgSEFWRV9HRVRERUxJTSAxCiNkZWZpbmUgSEFWRV9TWU5DIDEKI2RlZmluZSBIQVZFX0dF VFBXRU5UIDEKI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKI2RlZmluZSBIQVZFX0dFVEdSRU5UIDEK I2RlZmluZSBIQVZFX0VOREdSRU5UIDEKI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCiNkZWZpbmUg SEFWRV9DRlNFVFNQRUVEIDEKI2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKI2RlZmluZSBIQVZFX19f RVhFQ1VUQUJMRV9TVEFSVCAxCiNkZWZpbmUgSEFWRV9MT0cyIDEKI2RlZmluZSBIQVZFX0FMSUdO RURfQUxMT0MgMQojZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKI2RlZmluZSBI QVZFX0ZTRUVLTyAxCiNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKI2RlZmluZSBIQVZFX0dFVFBUIDEK I2RlZmluZSBIQVZFX1BPU0lYX09QRU5QVCAxCiNkZWZpbmUgVEVSTUlORk8gMQojZGVmaW5lIEhB VkVfUkVTX0lOSVQgMQojZGVmaW5lIEhBVkVfVFpTRVQgMQojZGVmaW5lIEhBVkVfUkVBRExJTktB VCAxCiNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQojZGVmaW5lIEhBVkVfRkNOVEwgMQojZGVmaW5l IEhBVkVfRkRPUEVORElSIDEKI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQojZGVmaW5lIEhBVkVfRlNZ TkMgMQojZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKI2RlZmluZSBIQVZFX0xTVEFUIDEKI2Rl ZmluZSBIQVZFX01LT1NURU1QIDEKI2RlZmluZSBIQVZFX1BJUEUyIDEKI2RlZmluZSBIQVZFX1BT RUxFQ1QgMQojZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKI2RlZmluZSBIQVZFX0ZDSE1P RCAxCiNkZWZpbmUgSEFWRV9SRUFETElOSyAxCiNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQojZGVm aW5lIEhBVkVfU1RSVE9VTUFYIDEKI2RlZmluZSBIQVZFX1NZTUxJTksgMQojZGVmaW5lIEhBVkVf TE9DQUxUSU1FX1IgMQojZGVmaW5lIEhBVkVfRlVUSU1FUyAxCiNkZWZpbmUgSEFWRV9GVVRJTUVT QVQgMQojZGVmaW5lIEhBVkVfRlVUSU1FTlMgMQojZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKI2Rl ZmluZSBIQVZFX0xVVElNRVMgMQojZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCiNkZWZpbmUg SEFWRV9TRUNVUkVfR0VURU5WIDEKI2RlZmluZSBIQVZFX0lORVRfU09DS0VUUyAxCiNkZWZpbmUg SEFWRV9GT1JLIDEKI2RlZmluZSBIQVZFX1ZGT1JLIDEKI2RlZmluZSBIQVZFX1dPUktJTkdfVkZP UksgMQojZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEK I2RlZmluZSBIQVZFX0dMSUIgMQojZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCiNkZWZp bmUgSEFWRV9NQlNUQVRFX1QgMQojZGVmaW5lIF9fcmVzdHJpY3RfYXJyIF9fcmVzdHJpY3QKI2Rl ZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKI2RlZmluZSBIQVZFX1BUWVMgMQojZGVmaW5lIEhB VkVfU09DS0VUUyAxCiNkZWZpbmUgTlVMTF9ERVZJQ0UgIi9kZXYvbnVsbCIKI2RlZmluZSBTRVBD SEFSICc6JwojZGVmaW5lIHN1YnByb2Nlc3NlcyAxCiNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHct PnB3X2dlY29zCiNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKI2RlZmluZSBJU19ERVZJQ0VfU0VQ KF9jXykgMAojZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZ X1NFUCkKI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCiNk ZWZpbmUgSEFWRV9QUk9DRlMgMQojZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2Rz cCIKI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQojZGVmaW5lIE5BUlJPV1BST1RPIDEKI2RlZmlu ZSBVTklYOThfUFRZUyAxCiNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsg aSA8IDE7IGkrKykKI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiB7IGNoYXIgKnB0eW5hbWUg PSAwOyBzaWdzZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNldCAoJmJsb2NrZWQpOyBzaWdhZGRzZXQg KCZibG9ja2VkLCBTSUdDSExEKTsgcHRocmVhZF9zaWdtYXNrIChTSUdfQkxPQ0ssICZibG9ja2Vk LCAwKTsgaWYgKGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1bmxvY2twdCAoZmQpICE9IC0xKSBwdHlu YW1lID0gcHRzbmFtZShmZCk7IHB0aHJlYWRfc2lnbWFzayAoU0lHX1VOQkxPQ0ssICZibG9ja2Vk LCAwKTsgaWYgKCFwdHluYW1lKSB7IGVtYWNzX2Nsb3NlIChmZCk7IHJldHVybiAtMTsgfSBzbnBy aW50ZiAocHR5X25hbWUsIFBUWV9OQU1FX1NJWkUsICIlcyIsIHB0eW5hbWUpOyB9CiNkZWZpbmUg UFRZX09QRU4gZG8geyBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19DTE9FWEVDIHwgT19O T0NUVFkpOyBpZiAoZmQgPCAwICYmIGVycm5vID09IEVJTlZBTCkgZmQgPSBwb3NpeF9vcGVucHQg KE9fUkRXUiB8IE9fTk9DVFRZKTsgfSB3aGlsZSAoZmFsc2UpCiNkZWZpbmUgUFRZX05BTUVfU1BS SU5URiAvKiovCiNkZWZpbmUgU0lHTkFMU19WSUFfQ0hBUkFDVEVSUyAxCiNkZWZpbmUgR0NfU0VU Sk1QX1dPUktTIDEKI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQojZGVmaW5lIEhBVkVfX1NFVEpN UCAxCiNkZWZpbmUgVVNHIC8qKi8KI2RlZmluZSBHTlVfTElOVVggLyoqLwojZGVmaW5lIFVTQUJM RV9GSU9OUkVBRCAxCiNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKI2RlZmluZSBDT1BZUklHSFQgIkNv cHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCiNkZWZpbmUg VEVSTV9IRUFERVIgImd0a3V0aWwuaCIKI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZf NjQtdW5rbm93bi1saW51eC1nbnUiCiNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0td2l0 aC14LXRvb2wta2l0PWd0ayIKI2RlZmluZSBIQVZFX1hfV0lORE9XUyAxCiNkZWZpbmUgSEFWRV9Y MTEgMQojZGVmaW5lIEdOVV9NQUxMT0MgMQojZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQojZGVmaW5l IEhBVkVfQUxMT0NBIDEKI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQojZGVm aW5lIEhBVkVfQzk5X1NUUlRPTEQgMQojZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKI2RlZmlu ZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDEKI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCiNkZWZp bmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQojZGVmaW5lIEhBVkVfR0VUT1BUX0gg MQojZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAxCiNkZWZpbmUgSEFWRV9ERUNMX0dFVEVO ViAxCiNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAojZGVmaW5lIEhBVkVfTE9OR19MT05HX0lO VCAxCiNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMQojZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAx CiNkZWZpbmUgSEFWRV9TSUdTRVRfVCAxCiNkZWZpbmUgSEFWRV9fQk9PTCAxCiNkZWZpbmUgSEFW RV9XQ0hBUl9UIDEKI2RlZmluZSBIQVZFX1NUUlVDVF9UTV9UTV9aT05FIDEKI2RlZmluZSBIQVZF X1RNX1pPTkUgMQojZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKI2RlZmluZSBIQVZFX0RFQ0xfU1RS VE9JTUFYIDEKI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9VTUFYIDEKI2RlZmluZSBIQVZFX0RFQ0xf VU5TRVRFTlYgMQojZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQojZGVmaW5lIEhBVkVfU1RS VUNUX1VUSU1CVUYgMQojZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CiNkZWZpbmUgSEFWRV9BTExP Q0EgMQojZGVmaW5lIEhBVkVfQllURVNXQVBfSCAxCiNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1F IDEKI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQojZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJF QU0gMQojZGVmaW5lIEhBVkVfRFVQMiAxCiNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCiNkZWZp bmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAxCiNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCiNkZWZp bmUgSEFWRV9ERUNMX19fRlBFTkRJTkcgMQojZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSBz dHJ1Y3QgdGltZXpvbmUKI2RlZmluZSBIQVZFX01FTVJDSFIgMQojZGVmaW5lIEdOVUxJQl9NS09T VEVNUCAxCiNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQojZGVmaW5lIFVTRV9BQ0wgMAoj ZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQVRJTV9UVl9OU0VDIDEKI2RlZmluZSBUWVBFT0Zf U1RSVUNUX1NUQVRfU1RfQVRJTV9JU19TVFJVQ1RfVElNRVNQRUMgMQojZGVmaW5lIEdOVUxJQl9G U0NBTkYgMQojZGVmaW5lIEdOVUxJQl9TQ0FORiAxCiNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0 aW1lCiNkZWZpbmUgSEFWRV9ERUNMX0xPQ0FMVElNRV9SIDEKI2RlZmluZSBIQVZFX1RJTUVSX1NF VFRJTUUgMQojZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQojZGVmaW5lIEhBVkVfV0lORE9XX1NZU1RF TSAxCiNkZWZpbmUgRU1BQ1NfQ09ORklHX0ZFQVRVUkVTICJYUE0gSlBFRyBUSUZGIEdJRiBQTkcg UlNWRyBJTUFHRU1BR0lDSyBTT1VORCBHU0VUVElOR1MgTk9USUZZIEdOVVRMUyBMSUJYTUwyIEZS RUVUWVBFIFhGVCBaTElCIgoKY29uZmlndXJlOiBleGl0IDAK --001a1133c2bacef9ed04f8712e76-- From debbugs-submit-bounces@debbugs.gnu.org Fri May 02 17:10:17 2014 Received: (at 16292) by debbugs.gnu.org; 2 May 2014 21:10:17 +0000 Received: from localhost ([127.0.0.1]:48792 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgKim-0001yZ-Ss for submit@debbugs.gnu.org; Fri, 02 May 2014 17:10:17 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:56344 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgKik-0001yP-CS for 16292@debbugs.gnu.org; Fri, 02 May 2014 17:10:15 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1WgKij-0004T5-9L; Fri, 02 May 2014 17:10:13 -0400 From: Glenn Morris To: Paul Eggert Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <52C4C95C.2010905@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org>> <83ha9jv5lh.fsf@gnu.org>> <838uuvum9n.fsf@gnu.org>> <8338l2v1tn.fsf@gnu.org>> <52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org>> <52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org>> <52C9E53D.8070106@cs.ucla.edu> <838uutu5mu.fsf@gnu.org>> <52CA3FB9.30509@cs.ucla.edu> <834n5ht7bz.fsf@gnu.org>> <52CB5517.4030502@cs.ucla.edu>> <83lhyssawf.fsf@gnu.org>> <5363ECDA.8050305@cs.ucla.edu> <4l61lo7zvc.fsf@fencepost.gnu.org> <5363F1C1.5050405@cs.ucla.edu> X-Spook: e-cash AFSPC counter terrorism Reno Hamas strategic CISU X-Ran: Mg+P3c{[?DXT_H+vM1F5Qe""G}a.f`@J9G=:S=BudhFfL}"Z%y]05fl@Pw~%)9KDupSdN? X-Hue: green X-Debbugs-No-Ack: yes X-Attribution: GM Date: Fri, 02 May 2014 17:10:13 -0400 In-Reply-To: <5363F1C1.5050405@cs.ucla.edu> (Paul Eggert's message of "Fri, 02 May 2014 12:28:01 -0700") Message-ID: 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: -5.7 (-----) X-Debbugs-Envelope-To: 16292 Cc: 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.7 (-----) PS also note that vhdl-mode.texi does not contain @documentencoding. I think it's a bit crap if we are supposed to remember to add this to all new texi files, even if they have no real need for it. (Presumably the fabulous info+.el is supposed to handle other info files besides just those from Emacs, so it needs to handle this anyway.) From debbugs-submit-bounces@debbugs.gnu.org Fri May 02 17:11:55 2014 Received: (at 16292) by debbugs.gnu.org; 2 May 2014 21:11:55 +0000 Received: from localhost ([127.0.0.1]:48796 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgKkM-00021L-FQ for submit@debbugs.gnu.org; Fri, 02 May 2014 17:11:54 -0400 Received: from mail-la0-f45.google.com ([209.85.215.45]:41141) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgKkJ-000215-SJ for 16292@debbugs.gnu.org; Fri, 02 May 2014 17:11:52 -0400 Received: by mail-la0-f45.google.com with SMTP id pv20so3193184lab.18 for <16292@debbugs.gnu.org>; Fri, 02 May 2014 14:11:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=txno2LMwHp+aRmuKlhS59ef7l738okypeqzfBaXddME=; b=n3bQftIUi3Msy9p7YXGNfWVlNtbKlzpdsEA2UVqxk8WABiAmcbWwXcGn/Vk7DoWcev IjyODLdyKw+6mbHcIO/YKECSkU9/UKsHlNebX560bHuIGgUjRCE2hL8D6UKHfbmIvSOe czgMZPbUsqb8JuLOKXw5k+l6IKDmtih0N+GBOws2qudBkKsxVkluaPwQZ4MOXuVw1Kw4 l7bEsl4nmO/SwwplsO4Z/BEdAyngzIyUvBtQliRfDA203dPJOIlJFZ+/bguKmvNB0whm 6LDm5EDx7y8ukx5TRD4Bft/XlNEgsQP9s93uhRnT7HQqmlYW0SpG62SxZMHMUwCe9Srs 71Ug== MIME-Version: 1.0 X-Received: by 10.152.198.129 with SMTP id jc1mr35325lac.63.1399065105966; Fri, 02 May 2014 14:11:45 -0700 (PDT) Received: by 10.112.219.193 with HTTP; Fri, 2 May 2014 14:11:45 -0700 (PDT) In-Reply-To: References: <2ed2ae78-87f1-43e3-98de-0a96e045fbe6@default> <8c5516ce-42db-4e90-b612-1e9ea4a947be@default> <2adc27e8-a747-407f-b0a3-9baf24a027cd@default> Date: Sat, 3 May 2014 04:11:45 +0700 Message-ID: Subject: Re: Emacs trunk does not use `...' for quoting names anymore From: Tu Do To: 16292@debbugs.gnu.org Content-Type: multipart/alternative; boundary=001a11348310a8ab1f04f8713adf X-Spam-Score: -0.4 (/) X-Debbugs-Envelope-To: 16292 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) --001a11348310a8ab1f04f8713adf Content-Type: text/plain; charset=UTF-8 Please note that when I mean two config.log files use */usr/bin/makeinfo*, I really mean the logs contains the path to the makeinfo I'm using. On Sat, May 3, 2014 at 4:08 AM, Tu Do wrote: > Hi I am the user in discussion, > > The output is in the attached file. Probably the Emacs pretest got > pre-compiled info documents? > > Some relevant information: > > - Output from *makeinfo --version*: > > makeinfo (GNU texinfo) 5.2 >> >> Copyright (C) 2013 Free Software Foundation, Inc. >> License GPLv3+: GNU GPL version 3 or later < >> http://gnu.org/licenses/gpl.html> >> This is free software: you are free to change and redistribute it. >> There is NO WARRANTY, to the extent permitted by law. >> > > - Which *makeinfo* I am using: > > /usr/bin/makeinfo >> > > - The other two config.log files for each Emacs version, both use > */usr/bin/makeinfo* > > I also installed texinfo 5.1 and the result is the same. > > OS: > > No LSB modules are available. >> Distributor ID: Ubuntu >> Description: Ubuntu 14.04 LTS >> Release: 14.04 >> Codename: trusty >> > > > Thanks, > > Tu. > > > On Sat, May 3, 2014 at 3:45 AM, Drew Adams wrote: > >> Hi again, >> >> >> >> Thanks for that info - I've passed it along to the bug thread. >> >> >> >> From the bug thread there is this request from you. Could you check this? >> >> >> >> > Run 'makeinfo' on the attached file t.texi and look at the quoting in >> >> > the output file t.info. It should use ASCII accent-grave and apostrophe >> >> > with old texinfo, and Unicode curly single quotes with new texinfo. >> >> > Similarly, the double quotes should use ASCII undirected double-quote >> >> > (both times) with old texinfo, and Unicode curly double quotes with new >> >> > texinfo. >> >> >> >> Thx - Drew >> >> >> >> I built from source with makinfo 5.2. However, makeinfo 5.2 works fine >> for Emacs pretest (emacs 24.3.90), but not for Emacs trunk(24.4.50): >> >> bzr branch bzr://bzr.savannah.gnu.org/emacs/ >> >> *trunk* >> >> Here are the steps to build: >> >> - ./configure --with-x-toolkit=gtk >> >> - make >> >> - sudo make install >> > > --001a11348310a8ab1f04f8713adf Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Please note that when I mean two config.log files use /= usr/bin/makeinfo, I really mean the logs contains the path to the makei= nfo I'm using.

--001a11348310a8ab1f04f8713adf-- From debbugs-submit-bounces@debbugs.gnu.org Fri May 02 17:14:29 2014 Received: (at 16292) by debbugs.gnu.org; 2 May 2014 21:14:29 +0000 Received: from localhost ([127.0.0.1]:48808 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgKmq-00026e-5l for submit@debbugs.gnu.org; Fri, 02 May 2014 17:14:28 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:57034) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgKmm-00026F-Vu for 16292@debbugs.gnu.org; Fri, 02 May 2014 17:14:26 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 6196AA6000F; Fri, 2 May 2014 14:14:19 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Wv4aXJAS57+I; Fri, 2 May 2014 14:14:14 -0700 (PDT) Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id A6406A60005; Fri, 2 May 2014 14:14:14 -0700 (PDT) Message-ID: <53640AA6.8080709@cs.ucla.edu> Date: Fri, 02 May 2014 14:14:14 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Drew Adams , Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <<<52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org>> <<52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org>> < <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org>> < <83ha9jv5lh.fsf@gnu.org>> < <838uuvum9n.fsf@gnu.org>> < <8338l2v1tn.fsf@gnu.org>> <<52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org>> <<52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org>> <<52C9E53D.8070106@cs.ucla.edu> <838uutu5mu.fsf@gnu.org>> <<52CA3FB9.30509@cs.ucla.edu> <834n5ht7bz.fsf@gnu.org>> <<52CB5517.4030502@cs.ucla.edu>> <<83lhyssawf.fsf@gnu.org>> <5363ECDA.8050305@cs.ucla.edu> <57f18f83-5ac5-4bde-8268-ba89f159c676@default> <536401DB.7080606@cs.ucla.edu> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) On 05/02/2014 01:53 PM, Drew Adams wrote: > FWIW, I have received this info from him: I built from source with > makinfo 5.2. However, makeinfo 5.2 works fine for Emacs pretest (emacs > 24.3.90), but not for Emacs trunk (24.4.50): bzr branch > bzr://bzr.savannah.gnu.org/emacs/trunk Here are the steps to build: - > ./configure --with-x-toolkit=gtk - make - sudo make install Works for me, with makeinfo 5.2. I see curly quotes in the info files when I configure and build and install with that recipe. If it's failing for him we need to know what the failure is and how to reproduce it. > What does old vs new texinfo refer to? Did you perhaps mean old vs new > makeinfo? If not, how does he tell whether he has "old" or "new" Texinfo? 'makeinfo --version'. The makeinfo command is part of the texinfo package. > Is the problem just for `...' vs '...' or ‘...’? Not sure what you mean by "the problem", but other characters are affected, yes. > What about Lisp (and other) code, where we use ", ', and `, and none > of those should be changed to a curly version of the same? Shouldn't be a problem, as those characters should not be changed. Makeinfo can determine this from the markup in the .texi file. > ' ' (i.e., NO-BREAK SPACE, U+00A0) '真' (i.e., Han character 'real, > actual, true, genuine', U+771F) ¤ © ¬ » À Å ß à á ä å ç è é ê ì í ï ò > ó ö ø ü ć č ł ń ő Š š – — ‘ ’ “ ” • … → ↦ ⇒ − ≡ ⊣ ★ > Not sure why you let me know this (but I'm glad to have it). A priori, > I have no problem with any such chars in an Info buffer. Any problems > that I would have would I think come from substituting chars that > currently have particular meaning to Info (or to Lisp etc. - see above). Some of those characters do have a particular meaning. For example, • is used for bulleted lists instead of *, so if info+.el is keying only off "*" (for old texinfo) it'll need to change to support new texinfo. Other characters are used for output displays. From debbugs-submit-bounces@debbugs.gnu.org Fri May 02 17:25:34 2014 Received: (at 16292) by debbugs.gnu.org; 2 May 2014 21:25:34 +0000 Received: from localhost ([127.0.0.1]:48815 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgKxY-0003Xd-QB for submit@debbugs.gnu.org; Fri, 02 May 2014 17:25:33 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:57554) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgKxW-0003XJ-Gs for 16292@debbugs.gnu.org; Fri, 02 May 2014 17:25:30 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id C7B71A60056; Fri, 2 May 2014 14:25:24 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4klsIoNHBzsC; Fri, 2 May 2014 14:25:23 -0700 (PDT) Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id C8172A60005; Fri, 2 May 2014 14:25:23 -0700 (PDT) Message-ID: <53640D43.30105@cs.ucla.edu> Date: Fri, 02 May 2014 14:25:23 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Glenn Morris Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <52C4C95C.2010905@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org>> <83ha9jv5lh.fsf@gnu.org>> <838uuvum9n.fsf@gnu.org>> <8338l2v1tn.fsf@gnu.org>> <52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org>> <52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org>> <52C9E53D.8070106@cs.ucla.edu> <838uutu5mu.fsf@gnu.org>> <52CA3FB9.30509@cs.ucla.edu> <834n5ht7bz.fsf@gnu.org>> <52CB5517.4030502@cs.ucla.edu>> <83lhyssawf.fsf@gnu.org>> <5363ECDA.8050305@cs.ucla.edu> <4l61lo7zvc.fsf@fencepost.gnu.org> <5363F1C1.5050405@cs.ucla.edu> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 16292 Cc: 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) On 05/02/2014 02:10 PM, Glenn Morris wrote: > PS also note that vhdl-mode.texi does not contain @documentencoding. > I think it's a bit crap if we are supposed to remember to add this to > all new texi files, even if they have no real need for it. It's just the top-level .texi files, but yes it's annoying. I think we have a bug report in for that, for what it's worth. I fixed the vhdl-mode.texi problem in Emacs trunk bzr 117045 and checked that it was the only .texi file in the trunk with that problem. > (Presumably the fabulous info+.el is supposed to handle other info files > besides just those from Emacs, so it needs to handle this anyway.) Yup. From debbugs-submit-bounces@debbugs.gnu.org Fri May 02 17:29:07 2014 Received: (at 16292) by debbugs.gnu.org; 2 May 2014 21:29:08 +0000 Received: from localhost ([127.0.0.1]:48820 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgL11-0003dp-Ca for submit@debbugs.gnu.org; Fri, 02 May 2014 17:29:07 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:28781) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgL0z-0003dG-DP for 16292@debbugs.gnu.org; Fri, 02 May 2014 17:29:05 -0400 Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s42LSpom012407 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 2 May 2014 21:28:52 GMT Received: from userz7021.oracle.com (userz7021.oracle.com [156.151.31.85]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s42LSo03004875 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Fri, 2 May 2014 21:28:51 GMT Received: from abhmp0012.oracle.com (abhmp0012.oracle.com [141.146.116.18]) by userz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s42LSoQJ027626; Fri, 2 May 2014 21:28:50 GMT MIME-Version: 1.0 Message-ID: <6aa5329c-ed49-41ac-8591-dc10e80c010e@default> Date: Fri, 2 May 2014 14:28:48 -0700 (PDT) From: Drew Adams To: Paul Eggert , Eli Zaretskii Subject: RE: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <<<52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org>> <<52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org>> < <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org>> < <83ha9jv5lh.fsf@gnu.org>> < <838uuvum9n.fsf@gnu.org>> < <8338l2v1tn.fsf@gnu.org>> <<52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org>> <<52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org>> <<52C9E53D.8070106@cs.ucla.edu> <838uutu5mu.fsf@gnu.org>> <<52CA3FB9.30509@cs.ucla.edu> <834n5ht7bz.fsf@gnu.org>> <<52CB5517.4030502@cs.ucla.edu>> <<83lhyssawf.fsf@gnu.org>> <5363ECDA.8050305@cs.ucla.edu> <57f18f83-5ac5-4bde-8268-ba89f159c676@default> <536401DB.7080606@cs.ucla.edu> <53640AA6.8080709@cs.ucla.edu> In-Reply-To: <53640AA6.8080709@cs.ucla.edu> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Source-IP: acsinet21.oracle.com [141.146.126.237] X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) > > > Down the road there may be a problem... > > Is the problem just for `...' vs '...' or =E2=80=98...=E2=80=99? >=20 > Not sure what you mean by "the problem", but other characters are > affected, yes. You're the one who said there may be a problem in the future... ;-) For me, the problem is that what used to be represented as `...' could be represented as something else - IIUC it could be `...', '...' or =E2=80=98...=E2=80=99. > > What about Lisp (and other) code, where we use ", ', and `, and none > > of those should be changed to a curly version of the same? >=20 > Shouldn't be a problem, as those characters should not be changed. > Makeinfo can determine this from the markup in the .texi file. Good. > > ' ' (i.e., NO-BREAK SPACE, U+00A0) '=E7=9C=9F' (i.e., Han character 're= al, > > actual, true, genuine', U+771F) =C2=A4 =C2=A9 =C2=AC =C2=BB =C3=80 =C3= =85 =C3=9F =C3=A0 =C3=A1 =C3=A4 =C3=A5 =C3=A7 =C3=A8 =C3=A9 =C3=AA =C3=AC = =C3=AD =C3=AF =C3=B2 > > =C3=B3 =C3=B6 =C3=B8 =C3=BC =C4=87 =C4=8D =C5=82 =C5=84 =C5=91 =C5=A0 = =C5=A1 =E2=80=93 =E2=80=94 =E2=80=98 =E2=80=99 =E2=80=9C =E2=80=9D =E2=80= =A2 =E2=80=A6 =E2=86=92 =E2=86=A6 =E2=87=92 =E2=88=92 =E2=89=A1 =E2=8A=A3 = =E2=98=85 > > > > Not sure why you let me know this (but I'm glad to have it). A priori, > > I have no problem with any such chars in an Info buffer. Any problems > > that I would have would I think come from substituting chars that > > currently have particular meaning to Info (or to Lisp etc. - see above)= . >=20 > Some of those characters do have a particular meaning. For example, =E2= =80=A2 > is used for bulleted lists instead of *, so if info+.el is keying only > off "*" (for old texinfo) it'll need to change to support new texinfo. > Other characters are used for output displays. I see. No, Info+ does nothing special with bullets. Well, it does the same kind of thing that info.el does wrt bulleted menu items, e.g.: (re-search-forward (concat "^\\* +" (regexp-quote nodename) "::") end t) If info.el has to adjust for that then info+.el will do so similarly. If not, not. From debbugs-submit-bounces@debbugs.gnu.org Fri May 02 17:39:38 2014 Received: (at 16292) by debbugs.gnu.org; 2 May 2014 21:39:38 +0000 Received: from localhost ([127.0.0.1]:48824 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgLBB-000543-NG for submit@debbugs.gnu.org; Fri, 02 May 2014 17:39:37 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:58303) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgLB9-00053o-35 for 16292@debbugs.gnu.org; Fri, 02 May 2014 17:39:35 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 2FB74A60052; Fri, 2 May 2014 14:39:29 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JTFdWHIOSkQW; Fri, 2 May 2014 14:39:20 -0700 (PDT) Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id A477CA60005; Fri, 2 May 2014 14:39:20 -0700 (PDT) Message-ID: <53641088.9000607@cs.ucla.edu> Date: Fri, 02 May 2014 14:39:20 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Tu Do , eliz@gnu.org, Drew Adams Subject: Re: Fwd: Emacs trunk does not use `...' for quoting names anymore References: <2ed2ae78-87f1-43e3-98de-0a96e045fbe6@default> <8c5516ce-42db-4e90-b612-1e9ea4a947be@default> <2adc27e8-a747-407f-b0a3-9baf24a027cd@default> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 16292 Cc: 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) OK, thanks, so it appears that you're using the new makeinfo, which is doing the right thing by its lights, namely, it's using Unicode directed curly quotes ‘like this’ and it is not using undirected ASCII quotes 'like this'. If info+.el can't handle curly quotes, it needs to be fixed regardless of what we do for Emacs info files, as other projects are using this style already. I understand that Drew would prefer some trivial way to do decide which style to search for, but I don't see anything obvious. One possibility would be to use curly quotes if the file contains curly quotes anywhere, but that's not trivial. I suppose Drew could file a bug report with the Texinfo folks and wait a few months, but there are lot of .info files out in the wild already, so it looks like he may have to go with something nontrivial. From debbugs-submit-bounces@debbugs.gnu.org Fri May 02 17:48:01 2014 Received: (at 16292) by debbugs.gnu.org; 2 May 2014 21:48:01 +0000 Received: from localhost ([127.0.0.1]:48828 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgLJI-0005IL-Mc for submit@debbugs.gnu.org; Fri, 02 May 2014 17:48:01 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:58643) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgLJG-0005I6-62 for 16292@debbugs.gnu.org; Fri, 02 May 2014 17:47:58 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 8E945A60005; Fri, 2 May 2014 14:47:52 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nVOGNwlD6FiO; Fri, 2 May 2014 14:47:44 -0700 (PDT) Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 07434A60052; Fri, 2 May 2014 14:47:44 -0700 (PDT) Message-ID: <5364127F.8000109@cs.ucla.edu> Date: Fri, 02 May 2014 14:47:43 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Drew Adams , Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <<83mwjcx1i9.fsf@gnu.org>> < <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org>> < <83ha9jv5lh.fsf@gnu.org>> < <838uuvum9n.fsf@gnu.org>> < <8338l2v1tn.fsf@gnu.org>> <<52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org>> <<52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org>> <<52C9E53D.8070106@cs.ucla.edu> <838uutu5mu.fsf@gnu.org>> <<52CA3FB9.30509@cs.ucla.edu> <834n5ht7bz.fsf@gnu.org>> <<52CB5517.4030502@cs.ucla.edu>> <<83lhyssawf.fsf@gnu.org>> <5363ECDA.8050305@cs.ucla.edu> <57f18f83-5ac5-4bde-8268-ba89f159c676@default> <536401DB.7080606@cs.ucla.edu> <53640AA6.8080709@cs.ucla.edu> <6aa5329c-ed49-41ac-8591-dc10e80c010e@default> In-Reply-To: <6aa5329c-ed49-41ac-8591-dc10e80c010e@default> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) On 05/02/2014 02:28 PM, Drew Adams wrote: > I see. No, Info+ does nothing special with bullets. Well, it does the > same kind of thing that info.el does wrt bulleted menu items That shouldn't be a problem, since new Texinfo still uses "*" for bulleted menu items. It's only things like "@itemize @bullet" that are different. From debbugs-submit-bounces@debbugs.gnu.org Fri May 02 20:55:50 2014 Received: (at 16292-done) by debbugs.gnu.org; 3 May 2014 00:55:50 +0000 Received: from localhost ([127.0.0.1]:48872 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgOF3-0001xL-Uo for submit@debbugs.gnu.org; Fri, 02 May 2014 20:55:50 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:60028 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgOF2-0001xA-2P for 16292-done@debbugs.gnu.org; Fri, 02 May 2014 20:55:48 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1WgOF1-0005Hf-9c; Fri, 02 May 2014 20:55:47 -0400 From: Glenn Morris To: 16292-done@debbugs.gnu.org Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup> X-Spook: class struggle Al Jazeera Putin Plame George W. Bush X-Ran: U$jkL0Qy6vNKN4tu'X/[M#hES/T]F X-Hue: cyan X-Attribution: GM Date: Fri, 02 May 2014 20:55:47 -0400 In-Reply-To: <20131229220810.GF7972@boo.workgroup> (Gregor Zattler's message of "Sun, 29 Dec 2013 23:08:10 +0100") Message-ID: <2wvbtnisto.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: -5.7 (-----) X-Debbugs-Envelope-To: 16292-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.7 (-----) Version: 24.4 Gregor Zattler wrote: > or the *.texi files should have @documentencoding directives which > produce single curly quotes. They now do so, so the reported issue is fixed. From debbugs-submit-bounces@debbugs.gnu.org Sat May 03 02:02:37 2014 Received: (at 16292) by debbugs.gnu.org; 3 May 2014 06:02:37 +0000 Received: from localhost ([127.0.0.1]:49026 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgT1w-00041Q-Cv for submit@debbugs.gnu.org; Sat, 03 May 2014 02:02:36 -0400 Received: from mtaout27.012.net.il ([80.179.55.183]:34482) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgT1s-000416-V0 for 16292@debbugs.gnu.org; Sat, 03 May 2014 02:02:34 -0400 Received: from conversion-daemon.mtaout27.012.net.il by mtaout27.012.net.il (HyperSendmail v2007.08) id <0N4Z00300HCIPK00@mtaout27.012.net.il> for 16292@debbugs.gnu.org; Sat, 03 May 2014 08:59:00 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout27.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N4Z0029RHYB0P30@mtaout27.012.net.il>; Sat, 03 May 2014 08:59:00 +0300 (IDT) Date: Sat, 03 May 2014 09:02:43 +0300 From: Eli Zaretskii Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' In-reply-to: <57f18f83-5ac5-4bde-8268-ba89f159c676@default> X-012-Sender: halo1@inter.net.il To: Drew Adams Message-id: <83d2fv1jss.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT References: <52C4C95C.2010905@cs.ucla.edu> <837gajyrq1.fsf@gnu.org> <52C4F008.5060003@cs.ucla.edu> <83zjnextyg.fsf@gnu.org> <52C5BDD1.2050009@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> <838uuvum9n.fsf@gnu.org> <8338l2v1tn.fsf@gnu.org> <52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org> <52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org> <52C9E53D.8070106@cs.ucla.edu> <838uutu5mu.fsf@gnu.org> <52CA3FB9.30509@cs.ucla.edu> <834n5ht7bz.fsf@gnu.org> <52CB5517.4030502@cs.ucla.edu> <83lhyssawf.fsf@gnu.org> <5363ECDA.8050305@cs.ucla.edu> <57f18f83-5ac5-4bde-8268-ba89f159c676@default> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Fri, 2 May 2014 12:33:33 -0700 (PDT) > From: Drew Adams > Cc: 16292@debbugs.gnu.org, grfz@gmx.de > > > > I've had a report from an info+.el user that his 24.4.50.1 > > > build breaks the Info+ highlighting of names because '...' > > > is used now instead of `...'. > > > > Emacs should be built either with an old makeinfo, which should > > quote `like this' with ASCII accent-grave and apostrophe, or > > with a new makeinfo, which should quote 'like this' with Unicode > > directed single-quotes. Makeinfo shouldn't quote 'like this' > > with ASCII apostrophe only. > > I thought Eli was saying that it does just that: '...'. > What am I missing between what you two are saying about this? @documentencoding, I think. It determines whether makeinfo 5.x will use '...' or ‘...’. From debbugs-submit-bounces@debbugs.gnu.org Sat May 03 02:57:06 2014 Received: (at 16292) by debbugs.gnu.org; 3 May 2014 06:57:06 +0000 Received: from localhost ([127.0.0.1]:49059 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgTsf-0005gQ-1E for submit@debbugs.gnu.org; Sat, 03 May 2014 02:57:05 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:48796) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgTsb-0005fe-Nv for 16292@debbugs.gnu.org; Sat, 03 May 2014 02:57:02 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 98D4EA6001A; Fri, 2 May 2014 23:56:55 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id maVF2foxFE3D; Fri, 2 May 2014 23:56:47 -0700 (PDT) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id F1B52A60017; Fri, 2 May 2014 23:56:46 -0700 (PDT) Message-ID: <5364932E.9030702@cs.ucla.edu> Date: Fri, 02 May 2014 23:56:46 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Eli Zaretskii , Drew Adams Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <52C4C95C.2010905@cs.ucla.edu> <83ppoaxfu6.fsf@gnu.org> <52C607DA.3090009@cs.ucla.edu> <83fvp5xzk0.fsf@gnu.org> <52C6F2C5.10505@cs.ucla.edu> <83mwjcx1i9.fsf@gnu.org> <52C750C4.6040006@cs.ucla.edu> <8338l4w5pj.fsf@gnu.org> <83ha9jv5lh.fsf@gnu.org> <838uuvum9n.fsf@gnu.org> <8338l2v1tn.fsf@gnu.org> <52C9BA68.7050703@cs.ucla.edu> <83fvp2tcqx.fsf@gnu.org> <52C9BCBF.7050904@cs.ucla.edu> <83eh4mtc52.fsf@gnu.org> <52C9E53D.8070106@cs.ucla.edu> <838uutu5mu.fsf@gnu.org> <52CA3FB9.30509@cs.ucla.edu> <834n5ht7bz.fsf@gnu.org> <52CB5517.4030502@cs.ucla.edu> <83lhyssawf.fsf@gnu.org> <5363ECDA.8050305@cs.ucla.edu> <57f18f83-5ac5-4bde-8268-ba89f159c676@default> <83d2fv1jss.fsf@gnu.org> In-Reply-To: <83d2fv1jss.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 16292 Cc: grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) Eli Zaretskii wrote: > @documentencoding, I think. It determines whether makeinfo 5.x will > use '...' or ‘...’. Yes, that might explain things. If a toplevel .texi file does not contain @documentencoding, makeinfo 5 will quote 'like this'. Emacs doesn't do this, though. From debbugs-submit-bounces@debbugs.gnu.org Sat May 03 05:28:59 2014 Received: (at 16292) by debbugs.gnu.org; 3 May 2014 09:28:59 +0000 Received: from localhost ([127.0.0.1]:49112 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgWFe-0001qA-Gd for submit@debbugs.gnu.org; Sat, 03 May 2014 05:28:58 -0400 Received: from alc-vshost7.dreamhost.com ([69.163.216.107]:53458 helo=ps18281.dreamhostps.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgWFc-0001pu-Hn for 16292@debbugs.gnu.org; Sat, 03 May 2014 05:28:56 -0400 Received: from localhost.jurta.org (ps18281.dreamhostps.com [69.163.222.226]) by ps18281.dreamhostps.com (Postfix) with ESMTP id 99999384C00D70; Sat, 3 May 2014 02:28:54 -0700 (PDT) From: Juri Linkov To: Drew Adams Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' Organization: JURTA References: <20131229220810.GF7972@boo.workgroup>> <8338l4w5pj.fsf@gnu.org>> > <83ha9jv5lh.fsf@gnu.org>> > <838uuvum9n.fsf@gnu.org>> > <8338l2v1tn.fsf@gnu.org>> <52C9BA68.7050703@cs.ucla.edu>> <83fvp2tcqx.fsf@gnu.org>> <52C9BCBF.7050904@cs.ucla.edu>> <83eh4mtc52.fsf@gnu.org>> <52C9E53D.8070106@cs.ucla.edu>> <838uutu5mu.fsf@gnu.org>> <52CA3FB9.30509@cs.ucla.edu>> <834n5ht7bz.fsf@gnu.org>> <52CB5517.4030502@cs.ucla.edu>> <83lhyssawf.fsf@gnu.org>> > <83eh0c11mt.fsf@gnu.org>> <9a37ee13-e1cb-4ac5-8241-85feed5370fb@default> Date: Sat, 03 May 2014 12:27:23 +0300 In-Reply-To: <9a37ee13-e1cb-4ac5-8241-85feed5370fb@default> (Drew Adams's message of "Fri, 2 May 2014 12:20:38 -0700 (PDT)") Message-ID: <87ha5743lk.fsf@mail.jurta.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 2.4 (++) 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: > I want something simple, evaluable from Info mode. (save-excursion (save-restriction (widen) (goto-char (point-min)) (if (and (re-search-forward "makeinfo[ \n]version[ \n]\\([0-9]+.[0-9]+\\)" (line-beginning-position 4) t) (version< (match-string 1) "5.0")) 'backquote (if (string-match-p "utf-8" (symbol-name buffer-file-coding-system)) 'curly-quote 'quote)))) [...] Content analysis details: (2.4 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.7 RCVD_IN_XBL RBL: Received via a relay in Spamhaus XBL [69.163.216.107 listed in zen.spamhaus.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [69.163.216.107 listed in bb.barracudacentral.org] X-Debbugs-Envelope-To: 16292 Cc: Eli Zaretskii , eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 2.4 (++) 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: > I want something simple, evaluable from Info mode. (save-excursion (save-restriction (widen) (goto-char (point-min)) (if (and (re-search-forward "makeinfo[ \n]version[ \n]\\([0-9]+.[0-9]+\\)" (line-beginning-position 4) t) (version< (match-string 1) "5.0")) 'backquote (if (string-match-p "utf-8" (symbol-name buffer-file-coding-system)) 'curly-quote 'quote)))) [...] Content analysis details: (2.4 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.7 RCVD_IN_XBL RBL: Received via a relay in Spamhaus XBL [69.163.216.107 listed in zen.spamhaus.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [69.163.216.107 listed in bb.barracudacentral.org] > I want something simple, evaluable from Info mode. (save-excursion (save-restriction (widen) (goto-char (point-min)) (if (and (re-search-forward "makeinfo[ \n]version[ \n]\\([0-9]+.[0-9]+\\)" (line-beginning-position 4) t) (version< (match-string 1) "5.0")) 'backquote (if (string-match-p "utf-8" (symbol-name buffer-file-coding-system)) 'curly-quote 'quote)))) From debbugs-submit-bounces@debbugs.gnu.org Sat May 03 09:51:03 2014 Received: (at 16292) by debbugs.gnu.org; 3 May 2014 13:51:04 +0000 Received: from localhost ([127.0.0.1]:49217 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgaLH-0001Zk-8H for submit@debbugs.gnu.org; Sat, 03 May 2014 09:51:03 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:34637) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgaLE-0001Z7-A2 for 16292@debbugs.gnu.org; Sat, 03 May 2014 09:51:01 -0400 Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s43DoqFg019057 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sat, 3 May 2014 13:50:53 GMT Received: from userz7021.oracle.com (userz7021.oracle.com [156.151.31.85]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s43DopMS003285 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Sat, 3 May 2014 13:50:52 GMT Received: from abhmp0012.oracle.com (abhmp0012.oracle.com [141.146.116.18]) by userz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s43DooIb022737; Sat, 3 May 2014 13:50:50 GMT MIME-Version: 1.0 Message-ID: <8ee4ecec-b628-4288-bf29-e6a994895cac@default> Date: Sat, 3 May 2014 06:50:50 -0700 (PDT) From: Drew Adams To: Juri Linkov Subject: RE: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup>> <8338l4w5pj.fsf@gnu.org>> > <83ha9jv5lh.fsf@gnu.org>> > <838uuvum9n.fsf@gnu.org>> > <8338l2v1tn.fsf@gnu.org>> <52C9BA68.7050703@cs.ucla.edu>> <83fvp2tcqx.fsf@gnu.org>> <52C9BCBF.7050904@cs.ucla.edu>> <83eh4mtc52.fsf@gnu.org>> <52C9E53D.8070106@cs.ucla.edu>> <838uutu5mu.fsf@gnu.org>> <52CA3FB9.30509@cs.ucla.edu>> <834n5ht7bz.fsf@gnu.org>> <52CB5517.4030502@cs.ucla.edu>> <83lhyssawf.fsf@gnu.org>> > <83eh0c11mt.fsf@gnu.org>> <9a37ee13-e1cb-4ac5-8241-85feed5370fb@default> <87ha5743lk.fsf@mail.jurta.org> In-Reply-To: <87ha5743lk.fsf@mail.jurta.org> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Source-IP: acsinet21.oracle.com [141.146.126.237] X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 16292 Cc: Eli Zaretskii , eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) > > I want something simple, evaluable from Info mode. I don't > > want to have to widen the buffer or change the mode or jump > > through any other hoops. A function or a variable whose value > > lets Lisp code know whether `...' or '...' quoting is in effect. >=20 > (save-excursion > (save-restriction > (widen) > (goto-char (point-min)) > (if (and (re-search-forward > "makeinfo[ \n]version[ \n]\\([0-9]+.[0-9]+\\)" > (line-beginning-position 4) t) > (version< (match-string 1) "5.0")) > 'backquote > (if (string-match-p "utf-8" > (symbol-name buffer-file-coding-system)) > 'curly-quote > 'quote)))) Thanks. I guess that's as good as it's going to get. I was hoping for a file/buffer local variable or something. This is the kind of hoop-jumping I was talking about, but I do appreciate your having coded it up. This would need to be consulted each time an Info node is fontified. Yes, the search can be done instead just whenever the Info file is changed, and then saved for consultation upon node fontifying for the same file. (Still, I would hope for something simpler.) From debbugs-submit-bounces@debbugs.gnu.org Sat May 03 11:51:50 2014 Received: (at 16292) by debbugs.gnu.org; 3 May 2014 15:51:50 +0000 Received: from localhost ([127.0.0.1]:49862 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgcE9-0005DY-Jh for submit@debbugs.gnu.org; Sat, 03 May 2014 11:51:49 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:27205) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WgcE7-0005DK-3T for 16292@debbugs.gnu.org; Sat, 03 May 2014 11:51:48 -0400 Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s43FpZtp002747 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sat, 3 May 2014 15:51:36 GMT Received: from userz7022.oracle.com (userz7022.oracle.com [156.151.31.86]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s43FpYQr006463 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 3 May 2014 15:51:34 GMT Received: from abhmp0005.oracle.com (abhmp0005.oracle.com [141.146.116.11]) by userz7022.oracle.com (8.14.5+Sun/8.14.4) with ESMTP id s43FpW0f011822; Sat, 3 May 2014 15:51:33 GMT MIME-Version: 1.0 Message-ID: Date: Sat, 3 May 2014 08:51:31 -0700 (PDT) From: Drew Adams To: Juri Linkov Subject: RE: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup>> <8338l4w5pj.fsf@gnu.org>> > <83ha9jv5lh.fsf@gnu.org>> > <838uuvum9n.fsf@gnu.org>> > <8338l2v1tn.fsf@gnu.org>> <52C9BA68.7050703@cs.ucla.edu>> <83fvp2tcqx.fsf@gnu.org>> <52C9BCBF.7050904@cs.ucla.edu>> <83eh4mtc52.fsf@gnu.org>> <52C9E53D.8070106@cs.ucla.edu>> <838uutu5mu.fsf@gnu.org>> <52CA3FB9.30509@cs.ucla.edu>> <834n5ht7bz.fsf@gnu.org>> <52CB5517.4030502@cs.ucla.edu>> <83lhyssawf.fsf@gnu.org>> > <83eh0c11mt.fsf@gnu.org>> <9a37ee13-e1cb-4ac5-8241-85feed5370fb@default> <87ha5743lk.fsf@mail.jurta.org> <8ee4ecec-b628-4288-bf29-e6a994895cac@default> In-Reply-To: <8ee4ecec-b628-4288-bf29-e6a994895cac@default> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Source-IP: acsinet21.oracle.com [141.146.126.237] X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) > Thanks. I guess that's as good as it's going to get. I was hoping > for a file/buffer local variable or something. This is the kind of > hoop-jumping I was talking about, but I do appreciate your having > coded it up. >=20 > This would need to be consulted each time an Info node is fontified. > Yes, the search can be done instead just whenever the Info file is > changed, and then saved for consultation upon node fontifying for > the same file. (Still, I would hope for something simpler.) I still think that such a local variable would be useful for Emacs, but FYI: I updated info+.el without regard to checking whether Info uses curly or straight quote-wrapping for this. It's not so clean as searching only for the format that is actually used, but it seems to be fine to just search for both. Dumb, but it works OK. From debbugs-submit-bounces@debbugs.gnu.org Wed May 07 16:24:57 2014 Received: (at 16292) by debbugs.gnu.org; 7 May 2014 20:24:57 +0000 Received: from localhost ([127.0.0.1]:54874 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wi8Oe-0008Uj-RJ for submit@debbugs.gnu.org; Wed, 07 May 2014 16:24:57 -0400 Received: from alc-vshost7.dreamhost.com ([69.163.216.107]:34402 helo=ps18281.dreamhostps.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wi8Oc-0008US-Ca for 16292@debbugs.gnu.org; Wed, 07 May 2014 16:24:54 -0400 Received: from localhost.jurta.org (ps18281.dreamhostps.com [69.163.222.226]) by ps18281.dreamhostps.com (Postfix) with ESMTP id B7D0F30A13FB5C; Wed, 7 May 2014 13:24:52 -0700 (PDT) From: Juri Linkov To: Drew Adams Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' Organization: JURTA References: <20131229220810.GF7972@boo.workgroup>> > <838uuvum9n.fsf@gnu.org>> > <8338l2v1tn.fsf@gnu.org>> <52C9BA68.7050703@cs.ucla.edu>> <83fvp2tcqx.fsf@gnu.org>> <52C9BCBF.7050904@cs.ucla.edu>> <83eh4mtc52.fsf@gnu.org>> <52C9E53D.8070106@cs.ucla.edu>> <838uutu5mu.fsf@gnu.org>> <52CA3FB9.30509@cs.ucla.edu>> <834n5ht7bz.fsf@gnu.org>> <52CB5517.4030502@cs.ucla.edu>> <83lhyssawf.fsf@gnu.org>> > <83eh0c11mt.fsf@gnu.org>> <9a37ee13-e1cb-4ac5-8241-85feed5370fb@default> <87ha5743lk.fsf@mail.jurta.org> <8ee4ecec-b628-4288-bf29-e6a994895cac@default> Date: Wed, 07 May 2014 23:21:08 +0300 In-Reply-To: (Drew Adams's message of "Sat, 3 May 2014 08:51:31 -0700 (PDT)") Message-ID: <87ppjp2vd7.fsf@mail.jurta.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 1.6 (+) 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: >> Thanks. I guess that's as good as it's going to get. I was hoping >> for a file/buffer local variable or something. This is the kind of >> hoop-jumping I was talking about, but I do appreciate your having >> coded it up. >> >> This would need to be consulted each time an Info node is fontified. >> Yes, the search can be done instead just whenever the Info file is >> changed, and then saved for consultation upon node fontifying for >> the same file. (Still, I would hope for something simpler.) > > I still think that such a local variable would be useful for Emacs, [...] Content analysis details: (1.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [69.163.216.107 listed in bb.barracudacentral.org] X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.6 (+) 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: >> Thanks. I guess that's as good as it's going to get. I was hoping >> for a file/buffer local variable or something. This is the kind of >> hoop-jumping I was talking about, but I do appreciate your having >> coded it up. >> >> This would need to be consulted each time an Info node is fontified. >> Yes, the search can be done instead just whenever the Info file is >> changed, and then saved for consultation upon node fontifying for >> the same file. (Still, I would hope for something simpler.) > > I still think that such a local variable would be useful for Emacs, [...] Content analysis details: (1.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [69.163.216.107 listed in bb.barracudacentral.org] >> Thanks. I guess that's as good as it's going to get. I was hoping >> for a file/buffer local variable or something. This is the kind of >> hoop-jumping I was talking about, but I do appreciate your having >> coded it up. >> >> This would need to be consulted each time an Info node is fontified. >> Yes, the search can be done instead just whenever the Info file is >> changed, and then saved for consultation upon node fontifying for >> the same file. (Still, I would hope for something simpler.) > > I still think that such a local variable would be useful for Emacs, What would be useful is a variable to hold the makeinfo version extracted from the visited Info manual. Such variable could be used to simplify feature checks like `Info-file-supports-index-cookies'. From debbugs-submit-bounces@debbugs.gnu.org Wed May 07 16:41:31 2014 Received: (at 16292) by debbugs.gnu.org; 7 May 2014 20:41:31 +0000 Received: from localhost ([127.0.0.1]:54881 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wi8eg-0000YJ-Sy for submit@debbugs.gnu.org; Wed, 07 May 2014 16:41:31 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:39189) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wi8ec-0000Y2-2m for 16292@debbugs.gnu.org; Wed, 07 May 2014 16:41:26 -0400 Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s47KfBIi018821 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 7 May 2014 20:41:12 GMT Received: from aserz7022.oracle.com (aserz7022.oracle.com [141.146.126.231]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s47Kf9F0015735 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 7 May 2014 20:41:10 GMT Received: from abhmp0016.oracle.com (abhmp0016.oracle.com [141.146.116.22]) by aserz7022.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s47Kf9Q4016218; Wed, 7 May 2014 20:41:09 GMT MIME-Version: 1.0 Message-ID: <839c5185-4aff-4d46-b215-68c2ab1066d5@default> Date: Wed, 7 May 2014 13:41:08 -0700 (PDT) From: Drew Adams To: Juri Linkov Subject: RE: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `' References: <20131229220810.GF7972@boo.workgroup>> > <838uuvum9n.fsf@gnu.org>> > <8338l2v1tn.fsf@gnu.org>> <52C9BA68.7050703@cs.ucla.edu>> <83fvp2tcqx.fsf@gnu.org>> <52C9BCBF.7050904@cs.ucla.edu>> <83eh4mtc52.fsf@gnu.org>> <52C9E53D.8070106@cs.ucla.edu>> <838uutu5mu.fsf@gnu.org>> <52CA3FB9.30509@cs.ucla.edu>> <834n5ht7bz.fsf@gnu.org>> <52CB5517.4030502@cs.ucla.edu>> <83lhyssawf.fsf@gnu.org>> > <83eh0c11mt.fsf@gnu.org>> <9a37ee13-e1cb-4ac5-8241-85feed5370fb@default> <87ha5743lk.fsf@mail.jurta.org> <8ee4ecec-b628-4288-bf29-e6a994895cac@default> <87ppjp2vd7.fsf@mail.jurta.org> In-Reply-To: <87ppjp2vd7.fsf@mail.jurta.org> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6691.5000 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 16292 Cc: eggert@cs.ucla.edu, grfz@gmx.de, 16292@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) > >> Thanks. I guess that's as good as it's going to get. I was hoping > >> for a file/buffer local variable or something. This is the kind of > >> hoop-jumping I was talking about, but I do appreciate your having > >> coded it up. > >> > >> This would need to be consulted each time an Info node is fontified. > >> Yes, the search can be done instead just whenever the Info file is > >> changed, and then saved for consultation upon node fontifying for > >> the same file. (Still, I would hope for something simpler.) > > > > I still think that such a local variable would be useful for Emacs, >=20 > What would be useful is a variable to hold the makeinfo version > extracted from the visited Info manual. Such variable could be used > to simplify feature checks like `Info-file-supports-index-cookies'. That's what I had in mind - but I wasn't aware of that additional use case. From unknown Fri Jun 20 18:18:06 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 05 Jun 2014 11:24:04 +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


On Sat, May 3, 2014 at 4:08 AM, Tu Do <tuhdo1710@gmail.com> wrote:
Hi I am the user in discussion,
The output is in the attached file. Probably the Emacs pretest got pr= e-compiled info documents?

Some relevant information:

- Output from makeinfo --version:

makeinfo (GNU texinfo) 5.2

Copyright (C= ) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>=
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

- Which makeinfo I am using:

/usr/bin/makeinfo

- The other two config.log files for each Emacs version, both use= /usr/bin/makeinfo

I also installed texinfo 5.1 and th= e result is the same.

OS:

No LSB modules are available.
Distributor ID:=C2=A0=C2=A0=C2=A0 UbuntuDescription:=C2=A0=C2=A0=C2=A0 Ubuntu 14.04 LTS
Release:=C2=A0=C2=A0= =C2=A0 14.04
Codename:=C2=A0=C2=A0=C2=A0 trusty


Thanks,

Tu.