From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long Date: Wed, 2 Mar 2016 10:08:53 -0800 Organization: UCLA Computer Science Department Message-ID: <56D72C35.4090708@cs.ucla.edu> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------030501020309050709010409" X-Trace: ger.gmane.org 1456942240 11631 80.91.229.3 (2 Mar 2016 18:10:40 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 2 Mar 2016 18:10:40 +0000 (UTC) To: 22884@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Mar 02 19:10:25 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1abBE3-0002e8-BQ for geb-bug-gnu-emacs@m.gmane.org; Wed, 02 Mar 2016 19:10:19 +0100 Original-Received: from localhost ([::1]:58159 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1abBE2-0007jy-Ia for geb-bug-gnu-emacs@m.gmane.org; Wed, 02 Mar 2016 13:10:18 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52345) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1abBDs-0007h2-FT for bug-gnu-emacs@gnu.org; Wed, 02 Mar 2016 13:10:15 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1abBDl-0003za-QM for bug-gnu-emacs@gnu.org; Wed, 02 Mar 2016 13:10:08 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:60937) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1abBDl-0003zS-Lq for bug-gnu-emacs@gnu.org; Wed, 02 Mar 2016 13:10:01 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84) (envelope-from ) id 1abBDl-0003Ri-II for bug-gnu-emacs@gnu.org; Wed, 02 Mar 2016 13:10:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 02 Mar 2016 18:10:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 22884 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: GNU Emacs bugs Original-Received: via spool by submit@debbugs.gnu.org id=B.145694217713208 (code B ref -1); Wed, 02 Mar 2016 18:10:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 2 Mar 2016 18:09:37 +0000 Original-Received: from localhost ([127.0.0.1]:58064 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1abBDH-0003Qq-Ib for submit@debbugs.gnu.org; Wed, 02 Mar 2016 13:09:37 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:32940) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1abBDE-0003QW-6X for submit@debbugs.gnu.org; Wed, 02 Mar 2016 13:09:30 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1abBD2-0003mX-Kb for submit@debbugs.gnu.org; Wed, 02 Mar 2016 13:09:22 -0500 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:49717) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1abBD2-0003mJ-AZ for submit@debbugs.gnu.org; Wed, 02 Mar 2016 13:09:16 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51981) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1abBCv-0006yc-Bj for bug-gnu-emacs@gnu.org; Wed, 02 Mar 2016 13:09:16 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1abBCo-0003go-M7 for bug-gnu-emacs@gnu.org; Wed, 02 Mar 2016 13:09:09 -0500 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:58550) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1abBCo-0003ex-4U for bug-gnu-emacs@gnu.org; Wed, 02 Mar 2016 13:09:02 -0500 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id EAA00160E46 for ; Wed, 2 Mar 2016 10:08:58 -0800 (PST) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id ZMYlXgjpPEHg for ; Wed, 2 Mar 2016 10:08:54 -0800 (PST) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 0875B160FF5 for ; Wed, 2 Mar 2016 10:08:54 -0800 (PST) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id WnkL_rLdZPkZ for ; Wed, 2 Mar 2016 10:08:53 -0800 (PST) Original-Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id C8819160FF2 for ; Wed, 2 Mar 2016 10:08:53 -0800 (PST) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:114300 Archived-At: This is a multi-part message in MIME format. --------------030501020309050709010409 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable I've been noticing this problem for a bit and figured it'd get fixed but=20 it hasn't so here is a bug report. With the Emacs 25 pretests, it takes waaaaayyy too long to edit some C=20 code. To reproduce the problem use the attached file (taken from the=20 Emacs source code) and run: emacs -Q config.h M-x goto-line RET 1661 RET / / On my six-year-old desktop the second '/' takes about 10 seconds to=20 echo. This sort of thing makes Emacs effectively unusable for editing=20 config.h. In GNU Emacs 25.0.92.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.18.7) of 2016-03-02 built on penguin.cs.ucla.edu Repository revision: 100346aa226e4eacc56f390c099bb9aab585b5f4 Windowing system distributor 'Fedora Project', version 11.0.11800000 Configured using: 'configure --enable-gcc-warnings' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 Important settings: value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=3Dibus locale-coding-system: utf-8-unix Major mode: C/l Minor modes in effect: tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t abbrev-mode: t Recent messages: config.h has auto save data; consider M-x recover-this-file Mark set You can run the command =E2=80=98goto-line=E2=80=99 with M-g g Mark set Undo! Mark set Undo! Mark set Mark saved where search started Auto-saving...done Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message dired format-spec rfc822 mml mml-sec epg epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util help-fns mail-prsvr mail-utils character-fold misearch multi-isearch cl-extra help-mode cc-mode cc-fonts easymenu cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs cl-loaddefs pcase cl-lib time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote dbusbind inotify dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 123955 4665) (symbols 48 21742 0) (miscs 40 57 290) (strings 32 28264 16097) (string-bytes 1 748499) (vectors 16 14562) (vector-slots 8 502379 4556) (floats 8 166 20) (intervals 56 4059 0) (buffers 976 12) (heap 1024 29227 2318)) --------------030501020309050709010409 Content-Type: text/plain; charset=UTF-8; name="config.h" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.h" Lyogc3JjL2NvbmZpZy5oLiAgR2VuZXJhdGVkIGZyb20gY29uZmlnLmluIGJ5IGNvbmZpZ3Vy ZS4gICovCi8qIHNyYy9jb25maWcuaW4uICBHZW5lcmF0ZWQgZnJvbSBjb25maWd1cmUuYWMg YnkgYXV0b2hlYWRlci4gICovCgovKiBHTlUgRW1hY3Mgc2l0ZSBjb25maWd1cmF0aW9uIHRl bXBsYXRlIGZpbGUuCgpDb3B5cmlnaHQgKEMpIDE5ODgsIDE5OTMtMTk5NCwgMTk5OS0yMDAy LCAyMDA0LTIwMTYKICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KClRoaXMgZmls ZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KCkdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cml0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CnRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp Y2Vuc2UsIG9yCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgpHTlUgRW1h Y3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgoKWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKYWxvbmcgd2l0aCBHTlUgRW1hY3MuICBJZiBub3QsIHNl ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwoKCi8qIE5vIGNvZGUgaW4g RW1hY3MgI2luY2x1ZGVzIGNvbmZpZy5oIHR3aWNlLCBidXQgc29tZSBiaXRzIG9mIGNvZGUK ICAgaW50ZW5kZWQgdG8gd29yayB3aXRoIG90aGVyIHBhY2thZ2VzIGFzIHdlbGwgKGxpa2Ug Z21hbGxvYy5jKQogICB0aGluayB0aGV5IGNhbiBpbmNsdWRlIGl0IGFzIG1hbnkgdGltZXMg YXMgdGhleSBsaWtlLiAgKi8KI2lmbmRlZiBFTUFDU19DT05GSUdfSAojZGVmaW5lIEVNQUNT X0NPTkZJR19ICgoKLyogRGVmaW5lIGlmIGJ1aWxkaW5nIHVuaXZlcnNhbCAoaW50ZXJuYWwg aGVscGVyIG1hY3JvKSAqLwovKiAjdW5kZWYgQUNfQVBQTEVfVU5JVkVSU0FMX0JVSUxEICov CgovKiBEZWZpbmUgdG8gdXNlIHRoZSBjb252ZW50aW9uIHRoYXQgJiBpbiB0aGUgZnVsbCBu YW1lIHN0YW5kcyBmb3IgdGhlIGxvZ2luCiAgIGlkLiAqLwojZGVmaW5lIEFNUEVSU0FORF9G VUxMX05BTUUgMQoKLyogRGVmaW5lIHRvIHRoZSBudW1iZXIgb2YgYml0cyBpbiB0eXBlICdw dHJkaWZmX3QnLiAqLwovKiAjdW5kZWYgQklUU0laRU9GX1BUUkRJRkZfVCAqLwoKLyogRGVm aW5lIHRvIHRoZSBudW1iZXIgb2YgYml0cyBpbiB0eXBlICdzaWdfYXRvbWljX3QnLiAqLwov KiAjdW5kZWYgQklUU0laRU9GX1NJR19BVE9NSUNfVCAqLwoKLyogRGVmaW5lIHRvIHRoZSBu dW1iZXIgb2YgYml0cyBpbiB0eXBlICdzaXplX3QnLiAqLwovKiAjdW5kZWYgQklUU0laRU9G X1NJWkVfVCAqLwoKLyogRGVmaW5lIHRvIHRoZSBudW1iZXIgb2YgYml0cyBpbiB0eXBlICd3 Y2hhcl90Jy4gKi8KLyogI3VuZGVmIEJJVFNJWkVPRl9XQ0hBUl9UICovCgovKiBEZWZpbmUg dG8gdGhlIG51bWJlciBvZiBiaXRzIGluIHR5cGUgJ3dpbnRfdCcuICovCi8qICN1bmRlZiBC SVRTSVpFT0ZfV0lOVF9UICovCgovKiBEZWZpbmUgaWYgZ2V0X2N1cnJlbnRfZGlyX25hbWUg c2hvdWxkIG5vdCBiZSB1c2VkLiAqLwovKiAjdW5kZWYgQlJPS0VOX0dFVF9DVVJSRU5UX0RJ Ul9OQU1FICovCgovKiBEZWZpbmUgb24gRnJlZUJTRCB0byB3b3JrIGFyb3VuZCBhbiBpc3N1 ZSB3aGVuIHJlYWRpbmcgZnJvbSBhIFBUWS4gKi8KLyogI3VuZGVmIEJST0tFTl9QVFlfUkVB RF9BRlRFUl9FQUdBSU4gKi8KCi8qIERlZmluZSBpZiBFbWFjcyBjYW5ub3QgYmUgZHVtcGVk IG9uIHlvdXIgc3lzdGVtLiAqLwovKiAjdW5kZWYgQ0FOTk9UX0RVTVAgKi8KCi8qIERlZmlu ZSB0aGlzIHRvIGVuYWJsZSBjb21waWxlIHRpbWUgY2hlY2tzIGZvciB0aGUgTGlzcF9PYmpl Y3QgZGF0YSB0eXBlLiAqLwovKiAjdW5kZWYgQ0hFQ0tfTElTUF9PQkpFQ1RfVFlQRSAqLwoK LyogU2hvcnQgY29weXJpZ2h0IHN0cmluZyBmb3IgdGhpcyB2ZXJzaW9uIG9mIEVtYWNzLiAq LwojZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE2IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLiIKCi8qIERlZmluZSB0byBvbmUgb2YgYF9nZXRiNjcnLCBgR0VU QjY3JywgYGdldGI2NycgZm9yIENyYXktMiBhbmQgQ3JheS1ZTVAKICAgc3lzdGVtcy4gVGhp cyBmdW5jdGlvbiBpcyByZXF1aXJlZCBmb3IgYGFsbG9jYS5jJyBzdXBwb3J0IG9uIHRob3Nl IHN5c3RlbXMuCiAgICovCi8qICN1bmRlZiBDUkFZX1NUQUNLU0VHX0VORCAqLwoKLyogRGVm aW5lIGlmIHRoZSBzeXN0ZW0gaXMgQ3lnd2luLiAqLwovKiAjdW5kZWYgQ1lHV0lOICovCgov KiBEZWZpbmUgdG8gMSBpZiB1c2luZyBgYWxsb2NhLmMnLiAqLwovKiAjdW5kZWYgQ19BTExP Q0EgKi8KCi8qIERlZmluZSBpZiB0aGUgc3lzdGVtIGlzIERhcndpbi4gKi8KLyogI3VuZGVm IERBUldJTl9PUyAqLwoKLyogTmFtZSBvZiB0aGUgZGVmYXVsdCBzb3VuZCBkZXZpY2UuICov CiNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgoKLyogRGVmaW5lIHRv IDEgZm9yIERHVVggd2l0aCA8c3lzL2RnX3N5c19pbmZvLmg+LiAqLwovKiAjdW5kZWYgREdV WCAqLwoKLyogQ2hhcmFjdGVyIHRoYXQgc2VwYXJhdGVzIGRpcmVjdG9yaWVzIGluIGEgZmls ZSBuYW1lLiAqLwojZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCgovKiB0aGUgbmFtZSBvZiB0 aGUgZmlsZSBkZXNjcmlwdG9yIG1lbWJlciBvZiBESVIgKi8KLyogI3VuZGVmIERJUl9GRF9N RU1CRVJfTkFNRSAqLwoKI2lmZGVmIERJUl9GRF9NRU1CRVJfTkFNRQojIGRlZmluZSBESVJf VE9fRkQoRGlyX3ApICgoRGlyX3ApLT5ESVJfRkRfTUVNQkVSX05BTUUpCiNlbHNlCiMgZGVm aW5lIERJUl9UT19GRChEaXJfcCkgLTEKI2VuZGlmCgoKLyogRGVmaW5lIGlmIHByb2Nlc3Mu YyBkb2VzIG5vdCBuZWVkIHRvIGNsb3NlIGEgcHR5IHRvIG1ha2UgaXQgYSBjb250cm9sbGlu ZwogICB0ZXJtaW5hbCAoaXQgaXMgYWxyZWFkeSBhIGNvbnRyb2xsaW5nIHRlcm1pbmFsIG9m IHRoZSBzdWJwcm9jZXNzLCBiZWNhdXNlCiAgIHdlIGRpZCBpb2N0bCBUSU9DU0NUVFkpLiAq LwovKiAjdW5kZWYgRE9OVF9SRU9QRU5fUFRZICovCgovKiBEZWZpbmUgaWYgdGhlIHN5c3Rl bSBpcyBNUyBET1Mgb3IgTVMgV2luZG93cy4gKi8KLyogI3VuZGVmIERPU19OVCAqLwoKLyog RGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBtZW1vcnkgYWxsb2NhdG9yIGlzIERvdWcgTGVh IHN0eWxlLCB3aXRoIG1hbGxvYwogICBob29rcyBhbmQgbWFsbG9jX3NldF9zdGF0ZS4gKi8K I2RlZmluZSBET1VHX0xFQV9NQUxMT0MgMQoKLyogRGVmaW5lIHRvIDEgdG8gZW5hYmxlIHcz MiBkZWJ1ZyBmYWNpbGl0aWVzLiAqLwovKiAjdW5kZWYgRU1BQ1NERUJVRyAqLwoKLyogRGVm aW5lIHRvIHRoZSBjYW5vbmljYWwgRW1hY3MgY29uZmlndXJhdGlvbiBuYW1lLiAqLwojZGVm aW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC11bmtub3duLWxpbnV4LWdudSIKCi8q IFN1bW1hcnkgb2Ygc29tZSBvZiB0aGUgbWFpbiBmZWF0dXJlcyBlbmFibGVkIGJ5IGNvbmZp Z3VyZS4gKi8KI2RlZmluZSBFTUFDU19DT05GSUdfRkVBVFVSRVMgIlhQTSBKUEVHIFRJRkYg R0lGIFBORyBSU1ZHIElNQUdFTUFHSUNLIFNPVU5EIEdQTSBEQlVTIEdDT05GIEdTRVRUSU5H UyBOT1RJRlkgQUNMIExJQlNFTElOVVggR05VVExTIExJQlhNTDIgRlJFRVRZUEUgTTE3Tl9G TFQgTElCT1RGIFhGVCBaTElCIFRPT0xLSVRfU0NST0xMX0JBUlMgR1RLMyBYMTEiCgovKiBE ZWZpbmUgdG8gdGhlIG9wdGlvbnMgcGFzc2VkIHRvIGNvbmZpZ3VyZS4gKi8KI2RlZmluZSBF TUFDU19DT05GSUdfT1BUSU9OUyAiLS1lbmFibGUtZ2NjLXdhcm5pbmdzIgoKLyogRGVmaW5l IHRvIDEgaWYgZXhwZW5zaXZlIHJ1bi10aW1lIGRhdGEgdHlwZSBhbmQgY29uc2lzdGVuY3kg Y2hlY2tzIGFyZQogICBlbmFibGVkLiAqLwovKiAjdW5kZWYgRU5BQkxFX0NIRUNLSU5HICov CgovKiBEZWZpbmUgdGhpcyB0byAxIGlmIEZfRFVQRkQgYmVoYXZpb3IgZG9lcyBub3QgbWF0 Y2ggUE9TSVggKi8KLyogI3VuZGVmIEZDTlRMX0RVUEZEX0JVR0dZICovCgovKiBMZXR0ZXIg dG8gdXNlIGluIGZpbmRpbmcgZGV2aWNlIG5hbWUgb2YgZmlyc3QgUFRZLCBpZiBQVFlzIGFy ZSBzdXBwb3J0ZWQuCiAgICovCi8qICN1bmRlZiBGSVJTVF9QVFlfTEVUVEVSICovCgovKiBX aXRob3V0IHRoZSBmb2xsb3dpbmcgd29ya2Fyb3VuZCwgRW1hY3MgcnVucyBzbG93bHkgb24g T1MgWCAxMC44LgogICBUaGUgd29ya2Fyb3VuZCBkaXNhYmxlcyBzb21lIHVzZWZ1bCBydW4t dGltZSBjaGVja2luZywgc28gaXQKICAgc2hvdWxkIGJlIGNvbmRpdGlvbmFsIHRvIHRoZSBw bGF0Zm9ybXMgd2l0aCB0aGUgcGVyZm9ybWFuY2UgYnVnLgogICBQZXJoYXBzIEFwcGxlIHdp bGwgZml4IHRoaXMgc29tZSBkYXk7IGFsc28gc2VlIG00L2V4dGVybi1pbmxpbmUubTQuICAq LwojaWYgZGVmaW5lZCBfX0FQUExFX18gJiYgZGVmaW5lZCBfX0dOVUNfXwojIGlmbmRlZiBf RE9OVF9VU0VfQ1RZUEVfSU5MSU5FXwojICBkZWZpbmUgX0RPTlRfVVNFX0NUWVBFX0lOTElO RV8KIyBlbmRpZgojIGlmbmRlZiBfRk9SVElGWV9TT1VSQ0UKIyAgZGVmaW5lIF9GT1JUSUZZ X1NPVVJDRSAwCiMgZW5kaWYKI2VuZGlmCgoKLyogRGVmaW5lIHRvIDEgaWYgZnV0aW1lc2F0 IG1pc2hhbmRsZXMgYSBOVUxMIGZpbGUgbmFtZS4gKi8KLyogI3VuZGVmIEZVVElNRVNBVF9O VUxMX0JVRyAqLwoKLyogRGVmaW5lIHRoaXMgdG8gY2hlY2sgZm9yIGVycm9ycyBpbiBjb25z IGxpc3QuICovCi8qICN1bmRlZiBHQ19DSEVDS19DT05TX0xJU1QgKi8KCi8qIERlZmluZSB0 aGlzIHRlbXBvcmFyaWx5IHRvIGh1bnQgYSBidWcuIElmIGRlZmluZWQsIHRoZSBzaXplIG9m IHN0cmluZ3MgaXMKICAgcmVkdW5kYW50bHkgcmVjb3JkZWQgaW4gc2RhdGEgc3RydWN0dXJl cyBzbyB0aGF0IGl0IGNhbiBiZSBjb21wYXJlZCB0byB0aGUKICAgc2l6ZXMgcmVjb3JkZWQg aW4gTGlzcCBzdHJpbmdzLiAqLwovKiAjdW5kZWYgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTICov CgovKiBEZWZpbmUgdGhpcyB0byBjaGVjayB0aGUgc3RyaW5nIGZyZWUgbGlzdC4gKi8KLyog I3VuZGVmIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgKi8KCi8qIERlZmluZSB0aGlzIHRv IGNoZWNrIGZvciBzaG9ydCBzdHJpbmcgb3ZlcnJ1bi4gKi8KLyogI3VuZGVmIEdDX0NIRUNL X1NUUklOR19PVkVSUlVOICovCgovKiBNYXJrIGEgc2Vjb25kYXJ5IHN0YWNrLCBsaWtlIHRo ZSByZWdpc3RlciBzdGFjayBvbiB0aGUgaWE2NC4gKi8KLyogI3VuZGVmIEdDX01BUktfU0VD T05EQVJZX1NUQUNLICovCgovKiBEZWZpbmUgaWYgc2V0am1wIGlzIGtub3duIHRvIHNhdmUg YWxsIHJlZ2lzdGVycyByZWxldmFudCBmb3IgY29uc2VydmF0aXZlCiAgIGdhcmJhZ2UgY29s bGVjdGlvbiBpbiB0aGUgam1wX2J1Zi4gKi8KI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQoK LyogRGVmaW5lIHRvIDEgdG8gZGlzYWJsZSBHVEsrL0dESyBkZXByZWNhdGlvbiB3YXJuaW5n cy4gKi8KI2RlZmluZSBHREtfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCgovKiBE ZWZpbmUgdG8gdGhlIHR5cGUgb2YgZWxlbWVudHMgaW4gdGhlIGFycmF5IHNldCBieSBgZ2V0 Z3JvdXBzJy4gVXN1YWxseQogICB0aGlzIGlzIGVpdGhlciBgaW50JyBvciBgZ2lkX3QnLiAq LwojZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CgovKiBEZWZpbmUgdGhpcyB0byAxIGlmIGdl dGdyb3VwcygwLE5VTEwpIGRvZXMgbm90IHJldHVybiB0aGUgbnVtYmVyIG9mIGdyb3Vwcy4K ICAgKi8KLyogI3VuZGVmIEdFVEdST1VQU19aRVJPX0JVRyAqLwoKLyogRGVmaW5lIGlmIGdl dHRpbWVvZmRheSBjbG9iYmVycyB0aGUgbG9jYWx0aW1lIGJ1ZmZlci4gKi8KLyogI3VuZGVm IEdFVFRJTUVPRkRBWV9DTE9CQkVSU19MT0NBTFRJTUUgKi8KCi8qIERlZmluZSB0aGlzIHRv ICd2b2lkJyBvciAnc3RydWN0IHRpbWV6b25lJyB0byBtYXRjaCB0aGUgc3lzdGVtJ3MKICAg ZGVjbGFyYXRpb24gb2YgdGhlIHNlY29uZCBhcmd1bWVudCB0byBnZXR0aW1lb2ZkYXkuICov CiNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHN0cnVjdCB0aW1lem9uZQoKLyogRGVm aW5lIHRvIDEgdG8gZGlzYWJsZSBHbGliIGRlcHJlY2F0aW9uIHdhcm5pbmdzLiAqLwojZGVm aW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCgovKiBEZWZpbmUgdGhp cyB0byBlbmFibGUgZ2x5cGhzIGRlYnVnZ2luZyBjb2RlLiAqLwovKiAjdW5kZWYgR0xZUEhf REVCVUcgKi8KCi8qIERlZmluZSB0byBhIEMgcHJlcHJvY2Vzc29yIGV4cHJlc3Npb24gdGhh dCBldmFsdWF0ZXMgdG8gMSBvciAwLCBkZXBlbmRpbmcKICAgd2hldGhlciB0aGUgZ251bGli IG1vZHVsZSBjbG9zZS1zdHJlYW0gc2hhbGwgYmUgY29uc2lkZXJlZCBwcmVzZW50LiAqLwoj ZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQoKLyogRGVmaW5lIHRvIGEgQyBwcmVwcm9j ZXNzb3IgZXhwcmVzc2lvbiB0aGF0IGV2YWx1YXRlcyB0byAxIG9yIDAsIGRlcGVuZGluZwog ICB3aGV0aGVyIHRoZSBnbnVsaWIgbW9kdWxlIGZhY2Nlc3NhdCBzaGFsbCBiZSBjb25zaWRl cmVkIHByZXNlbnQuICovCiNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCgovKiBEZWZpbmUg dG8gYSBDIHByZXByb2Nlc3NvciBleHByZXNzaW9uIHRoYXQgZXZhbHVhdGVzIHRvIDEgb3Ig MCwgZGVwZW5kaW5nCiAgIHdoZXRoZXIgdGhlIGdudWxpYiBtb2R1bGUgZmRvcGVuZGlyIHNo YWxsIGJlIGNvbnNpZGVyZWQgcHJlc2VudC4gKi8KI2RlZmluZSBHTlVMSUJfRkRPUEVORElS IDEKCi8qIERlZmluZSB0byBhIEMgcHJlcHJvY2Vzc29yIGV4cHJlc3Npb24gdGhhdCBldmFs dWF0ZXMgdG8gMSBvciAwLCBkZXBlbmRpbmcKICAgd2hldGhlciB0aGUgZ251bGliIG1vZHVs ZSBmc2NhbmYgc2hhbGwgYmUgY29uc2lkZXJlZCBwcmVzZW50LiAqLwojZGVmaW5lIEdOVUxJ Ql9GU0NBTkYgMQoKLyogRGVmaW5lIHRvIGEgQyBwcmVwcm9jZXNzb3IgZXhwcmVzc2lvbiB0 aGF0IGV2YWx1YXRlcyB0byAxIG9yIDAsIGRlcGVuZGluZwogICB3aGV0aGVyIHRoZSBnbnVs aWIgbW9kdWxlIG1rb3N0ZW1wIHNoYWxsIGJlIGNvbnNpZGVyZWQgcHJlc2VudC4gKi8KI2Rl ZmluZSBHTlVMSUJfTUtPU1RFTVAgMQoKLyogZW5hYmxlIHNvbWUgZ251bGliIHBvcnRhYmls aXR5IGNoZWNrcyAqLwojZGVmaW5lIEdOVUxJQl9QT1JUQ0hFQ0sgMQoKLyogRW5hYmxlIGNv bXBpbGUtdGltZSBhbmQgcnVuLXRpbWUgYm91bmRzLWNoZWNraW5nLCBhbmQgc29tZSB3YXJu aW5ncywKICAgICAgd2l0aG91dCB1cHNldHRpbmcgZ2xpYmMgMi4xNSsuICovCiAgICNpZiAo ZGVmaW5lZCBHTlVMSUJfUE9SVENIRUNLICYmICFkZWZpbmVkIF9GT1JUSUZZX1NPVVJDRSBc CiAgICAgICAgJiYgZGVmaW5lZCBfX09QVElNSVpFX18gJiYgX19PUFRJTUlaRV9fKQogICAj IGRlZmluZSBfRk9SVElGWV9TT1VSQ0UgMgogICAjZW5kaWYKICAKCi8qIERlZmluZSB0byAx IGlmIHByaW50ZiBhbmQgZnJpZW5kcyBzaG91bGQgYmUgbGFiZWxlZCB3aXRoIGF0dHJpYnV0 ZQogICAiX19nbnVfcHJpbnRmX18iIGluc3RlYWQgb2YgIl9fcHJpbnRmX18iICovCi8qICN1 bmRlZiBHTlVMSUJfUFJJTlRGX0FUVFJJQlVURV9GTEFWT1JfR05VICovCgovKiBEZWZpbmUg dG8gYSBDIHByZXByb2Nlc3NvciBleHByZXNzaW9uIHRoYXQgZXZhbHVhdGVzIHRvIDEgb3Ig MCwgZGVwZW5kaW5nCiAgIHdoZXRoZXIgdGhlIGdudWxpYiBtb2R1bGUgc2NhbmYgc2hhbGwg YmUgY29uc2lkZXJlZCBwcmVzZW50LiAqLwojZGVmaW5lIEdOVUxJQl9TQ0FORiAxCgovKiBE ZWZpbmUgaWYgdGhzIHN5c3RlbSBpcyBjb21wYXRpYmxlIHdpdGggR05VL0xpbnV4LiAqLwoj ZGVmaW5lIEdOVV9MSU5VWCAvKiovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3Ugd2FudCB0byB1 c2UgdGhlIEdOVSBtZW1vcnkgYWxsb2NhdG9yLiAqLwojZGVmaW5lIEdOVV9NQUxMT0MgMQoK LyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBhY2NlcHQ0JyBmdW5jdGlvbi4gKi8K I2RlZmluZSBIQVZFX0FDQ0VQVDQgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl IGBhY2Nlc3MnIGZ1bmN0aW9uLiAqLwovKiAjdW5kZWYgSEFWRV9BQ0NFU1MgKi8KCi8qIERl ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgYWNsc29ydCcgZnVuY3Rpb24uICovCi8qICN1 bmRlZiBIQVZFX0FDTFNPUlQgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8 YWNsdi5oPiBoZWFkZXIgZmlsZS4gKi8KLyogI3VuZGVmIEhBVkVfQUNMVl9IICovCgovKiBE ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGFjbHhfZ2V0JyBmdW5jdGlvbi4gKi8KLyog I3VuZGVmIEhBVkVfQUNMWF9HRVQgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRo ZSBgYWNsX2NvcHlfZXh0X25hdGl2ZScgZnVuY3Rpb24uICovCi8qICN1bmRlZiBIQVZFX0FD TF9DT1BZX0VYVF9OQVRJVkUgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBg YWNsX2NyZWF0ZV9lbnRyeV9ucCcgZnVuY3Rpb24uICovCi8qICN1bmRlZiBIQVZFX0FDTF9D UkVBVEVfRU5UUllfTlAgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgYWNs X2RlbGV0ZV9kZWZfZmlsZScgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9BQ0xfREVMRVRF X0RFRl9GSUxFIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgYWNsX2RlbGV0 ZV9mZF9ucCcgZnVuY3Rpb24uICovCi8qICN1bmRlZiBIQVZFX0FDTF9ERUxFVEVfRkRfTlAg Ki8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgYWNsX2RlbGV0ZV9maWxlX25w JyBmdW5jdGlvbi4gKi8KLyogI3VuZGVmIEhBVkVfQUNMX0RFTEVURV9GSUxFX05QICovCgov KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGFjbF9lbnRyaWVzJyBmdW5jdGlvbi4g Ki8KI2RlZmluZSBIQVZFX0FDTF9FTlRSSUVTIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBo YXZlIHRoZSBgYWNsX2V4dGVuZGVkX2ZpbGUnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVf QUNMX0VYVEVOREVEX0ZJTEUgMQoKLyogRGVmaW5lIHRvIDEgaWYgdGhlIGNvbnN0YW50IEFD TF9GSVJTVF9FTlRSWSBleGlzdHMuICovCiNkZWZpbmUgSEFWRV9BQ0xfRklSU1RfRU5UUlkg MQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBhY2xfZnJlZScgZnVuY3Rpb24u ICovCiNkZWZpbmUgSEFWRV9BQ0xfRlJFRSAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2 ZSB0aGUgYGFjbF9mcmVlX3RleHQnIGZ1bmN0aW9uLiAqLwovKiAjdW5kZWYgSEFWRV9BQ0xf RlJFRV9URVhUICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGFjbF9mcm9t X21vZGUnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfQUNMX0ZST01fTU9ERSAxCgovKiBE ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGFjbF9mcm9tX3RleHQnIGZ1bmN0aW9uLiAq LwojZGVmaW5lIEhBVkVfQUNMX0ZST01fVEVYVCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3Ug aGF2ZSB0aGUgYGFjbF9nZXRfZmQnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfQUNMX0dF VF9GRCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGFjbF9nZXRfZmlsZScg ZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9BQ0xfR0VUX0ZJTEUgMQoKLyogRGVmaW5lIHRv IDEgaWYgeW91IGhhdmUgdGhlIDxhY2wvbGliYWNsLmg+IGhlYWRlciBmaWxlLiAqLwojZGVm aW5lIEhBVkVfQUNMX0xJQkFDTF9IIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRo ZSBgYWNsX3NldF9mZCcgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9BQ0xfU0VUX0ZEIDEK Ci8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgYWNsX3NldF9maWxlJyBmdW5jdGlv bi4gKi8KI2RlZmluZSBIQVZFX0FDTF9TRVRfRklMRSAxCgovKiBEZWZpbmUgdG8gMSBpZiB5 b3UgaGF2ZSB0aGUgYGFjbF90b19zaG9ydF90ZXh0JyBmdW5jdGlvbi4gKi8KLyogI3VuZGVm IEhBVkVfQUNMX1RPX1NIT1JUX1RFWFQgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl IHRoZSBgYWNsX3RyaXZpYWwnIGZ1bmN0aW9uLiAqLwovKiAjdW5kZWYgSEFWRV9BQ0xfVFJJ VklBTCAqLwoKLyogRGVmaW5lIHRvIDEgaWYgdGhlIEFDTCB0eXBlIEFDTF9UWVBFX0VYVEVO REVEIGV4aXN0cy4gKi8KLyogI3VuZGVmIEhBVkVfQUNMX1RZUEVfRVhURU5ERUQgKi8KCi8q IERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgYWxpZ25lZF9hbGxvYycgZnVuY3Rpb24u ICovCiNkZWZpbmUgSEFWRV9BTElHTkVEX0FMTE9DIDEKCi8qIERlZmluZSB0byAxIGlmIHlv dSBoYXZlICdhbGxvY2EnIGFmdGVyIGluY2x1ZGluZyA8YWxsb2NhLmg+LCBhIGhlYWRlciB0 aGF0CiAgIG1heSBiZSBzdXBwbGllZCBieSB0aGlzIGRpc3RyaWJ1dGlvbi4gKi8KI2RlZmlu ZSBIQVZFX0FMTE9DQSAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSA8YWxsb2NhLmg+ IGFuZCBpdCBzaG91bGQgYmUgdXNlZCAobm90IG9uIFVsdHJpeCkuCiAgICovCiNkZWZpbmUg SEFWRV9BTExPQ0FfSCAxCgovKiBEZWZpbmUgdG8gMSBpZiBBTFNBIGlzIGF2YWlsYWJsZS4g Ki8KI2RlZmluZSBIQVZFX0FMU0EgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl IDxieXRlc3dhcC5oPiBoZWFkZXIgZmlsZS4gKi8KI2RlZmluZSBIQVZFX0JZVEVTV0FQX0gg MQoKLyogRGVmaW5lIHRvIDEgaWYgc3RydG9sZCBjb25mb3JtcyB0byBDOTkuICovCiNkZWZp bmUgSEFWRV9DOTlfU1RSVE9MRCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg YGNmbWFrZXJhdycgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQoKLyog RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBjZnNldHNwZWVkJyBmdW5jdGlvbi4gKi8K I2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg dGhlIGBjbG9ja19nZXR0aW1lJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0NMT0NLX0dF VFRJTUUgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBjbG9ja19zZXR0aW1l JyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQoKLyogRGVmaW5l IHRvIDEgaWYgeW91IGhhdmUgdGhlIDxjb2ZmLmg+IGhlYWRlciBmaWxlLiAqLwovKiAjdW5k ZWYgSEFWRV9DT0ZGX0ggKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8Y29t X2Vyci5oPiBoZWFkZXIgZmlsZS4gKi8KLyogI3VuZGVmIEhBVkVfQ09NX0VSUl9IICovCgov KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGNvcHlzaWduJyBmdW5jdGlvbi4gKi8K I2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKCi8qIERlZmluZSB0byAxIGlmIEMgc3VwcG9ydHMg dmFyaWFibGUtbGVuZ3RoIGFycmF5cy4gKi8KI2RlZmluZSBIQVZFX0NfVkFSQVJSQVlTIDEK Ci8qIERlZmluZSB0byAxIGlmIGRhdGFfc3RhcnQgaXMgdGhlIGFkZHJlc3Mgb2YgdGhlIHN0 YXJ0IG9mIHRoZSBtYWluIGRhdGEKICAgc2VnbWVudC4gKi8KI2RlZmluZSBIQVZFX0RBVEFf U1RBUlQgMQoKLyogRGVmaW5lIHRvIDEgaWYgdXNpbmcgRC1CdXMuICovCiNkZWZpbmUgSEFW RV9EQlVTIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZGJ1c190eXBlX2lz X3ZhbGlkJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0RCVVNfVFlQRV9JU19WQUxJRCAx CgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGRidXNfdmFsaWRhdGVfYnVzX25h bWUnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfREJVU19WQUxJREFURV9CVVNfTkFNRSAx CgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGRidXNfdmFsaWRhdGVfaW50ZXJm YWNlJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0RCVVNfVkFMSURBVEVfSU5URVJGQUNF IDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZGJ1c192YWxpZGF0ZV9tZW1i ZXInIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfREJVU19WQUxJREFURV9NRU1CRVIgMQoK LyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBkYnVzX3ZhbGlkYXRlX3BhdGgnIGZ1 bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfREJVU19WQUxJREFURV9QQVRIIDEKCi8qIERlZmlu ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZGJ1c193YXRjaF9nZXRfdW5peF9mZCcgZnVuY3Rp b24uICovCiNkZWZpbmUgSEFWRV9EQlVTX1dBVENIX0dFVF9VTklYX0ZEIDEKCi8qIERlZmlu ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgYWxhcm0nLCBhbmQgdG8g MCBpZiB5b3UgZG9uJ3QuCiAgICovCiNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKCi8qIERl ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgZGlyZmQnLCBhbmQg dG8gMCBpZiB5b3UgZG9uJ3QuCiAgICovCi8qICN1bmRlZiBIQVZFX0RFQ0xfRElSRkQgKi8K Ci8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgZmRhdGFz eW5jJywgYW5kIHRvIDAgaWYgeW91CiAgIGRvbid0LiAqLwojZGVmaW5lIEhBVkVfREVDTF9G REFUQVNZTkMgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGRlY2xhcmF0aW9u IG9mIGBmZG9wZW5kaXInLCBhbmQgdG8gMCBpZiB5b3UKICAgZG9uJ3QuICovCiNkZWZpbmUg SEFWRV9ERUNMX0ZET1BFTkRJUiAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg ZGVjbGFyYXRpb24gb2YgYGdldGR0YWJsZXNpemUnLCBhbmQgdG8gMCBpZiB5b3UKICAgZG9u J3QuICovCiNkZWZpbmUgSEFWRV9ERUNMX0dFVERUQUJMRVNJWkUgMQoKLyogRGVmaW5lIHRv IDEgaWYgeW91IGhhdmUgdGhlIGRlY2xhcmF0aW9uIG9mIGBnZXRlbnYnLCBhbmQgdG8gMCBp ZiB5b3UgZG9uJ3QuCiAgICovCiNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCgovKiBEZWZp bmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgZGVjbGFyYXRpb24gb2YgYGxvY2FsdGltZV9yJywg YW5kIHRvIDAgaWYgeW91CiAgIGRvbid0LiAqLwojZGVmaW5lIEhBVkVfREVDTF9MT0NBTFRJ TUVfUiAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgZGVjbGFyYXRpb24gb2Yg YG1lbXJjaHInLCBhbmQgdG8gMCBpZiB5b3UKICAgZG9uJ3QuICovCiNkZWZpbmUgSEFWRV9E RUNMX01FTVJDSFIgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGRlY2xhcmF0 aW9uIG9mIGBzdHJtb2RlJywgYW5kIHRvIDAgaWYgeW91CiAgIGRvbid0LiAqLwojZGVmaW5l IEhBVkVfREVDTF9TVFJNT0RFIDAKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBk ZWNsYXJhdGlvbiBvZiBgc3RydG9pbWF4JywgYW5kIHRvIDAgaWYgeW91CiAgIGRvbid0LiAq LwojZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91 IGhhdmUgdGhlIGRlY2xhcmF0aW9uIG9mIGBzdHJ0b2xsJywgYW5kIHRvIDAgaWYgeW91CiAg IGRvbid0LiAqLwovKiAjdW5kZWYgSEFWRV9ERUNMX1NUUlRPTEwgKi8KCi8qIERlZmluZSB0 byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgc3RydG91bGwnLCBhbmQgdG8g MCBpZiB5b3UKICAgZG9uJ3QuICovCi8qICN1bmRlZiBIQVZFX0RFQ0xfU1RSVE9VTEwgKi8K Ci8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgc3RydG91 bWF4JywgYW5kIHRvIDAgaWYgeW91CiAgIGRvbid0LiAqLwojZGVmaW5lIEhBVkVfREVDTF9T VFJUT1VNQVggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGRlY2xhcmF0aW9u IG9mIGBzeXNfc2lnbGlzdCcsIGFuZCB0byAwIGlmIHlvdQogICBkb24ndC4gKi8KI2RlZmlu ZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg dGhlIGRlY2xhcmF0aW9uIG9mIGB0em5hbWUnLCBhbmQgdG8gMCBpZiB5b3UgZG9uJ3QuCiAg ICovCi8qICN1bmRlZiBIQVZFX0RFQ0xfVFpOQU1FICovCgovKiBEZWZpbmUgdG8gMSBpZiB5 b3UgaGF2ZSB0aGUgZGVjbGFyYXRpb24gb2YgYF9wdXRlbnYnLCBhbmQgdG8gMCBpZiB5b3UK ICAgZG9uJ3QuICovCi8qICN1bmRlZiBIQVZFX0RFQ0xfX1BVVEVOViAqLwoKLyogRGVmaW5l IHRvIDEgaWYgeW91IGhhdmUgdGhlIGRlY2xhcmF0aW9uIG9mIGBfX2ZwZW5kaW5nJywgYW5k IHRvIDAgaWYgeW91CiAgIGRvbid0LiAqLwojZGVmaW5lIEhBVkVfREVDTF9fX0ZQRU5ESU5H IDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgX19z eXNfc2lnbGlzdCcsIGFuZCB0byAwIGlmIHlvdQogICBkb24ndC4gKi8KLyogI3VuZGVmIEhB VkVfREVDTF9fX1NZU19TSUdMSVNUICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0 aGUgPGRpcmVudC5oPiBoZWFkZXIgZmlsZS4gKi8KI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK Ci8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZGlyZmQnIGZ1bmN0aW9uLiAqLwov KiAjdW5kZWYgSEFWRV9ESVJGRCAqLwoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl IGBkbGFkZHInIGZ1bmN0aW9uLiAqLwovKiAjdW5kZWYgSEFWRV9ETEFERFIgKi8KCi8qIERl ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZGxmdW5jJyBmdW5jdGlvbi4gKi8KLyogI3Vu ZGVmIEhBVkVfRExGVU5DICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgJ2R1 cDInIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfRFVQMiAxCgovKiBEZWZpbmUgdG8gMSBp ZiB5b3UgaGF2ZSB0aGUgYGVhY2Nlc3MnIGZ1bmN0aW9uLiAqLwovKiAjdW5kZWYgSEFWRV9F QUNDRVNTICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGVuZGdyZW50JyBm dW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKCi8qIERlZmluZSB0byAxIGlm IHlvdSBoYXZlIHRoZSBgZW5kcHdlbnQnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfRU5E UFdFTlQgMQoKLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBlbnZp cm9uLiAqLwojZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKCi8qIERlZmluZSB0byAxIGlm IHlvdSBoYXZlIHRoZSBgZXVpZGFjY2VzcycgZnVuY3Rpb24uICovCi8qICN1bmRlZiBIQVZF X0VVSURBQ0NFU1MgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8ZXhlY2lu Zm8uaD4gaGVhZGVyIGZpbGUuICovCiNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKCi8qIERl ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZmFjY2Vzc2F0JyBmdW5jdGlvbi4gKi8KI2Rl ZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg YGZhY2wnIGZ1bmN0aW9uLiAqLwovKiAjdW5kZWYgSEFWRV9GQUNMICovCgovKiBEZWZpbmUg dG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZjaGRpcicgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFW RV9GQ0hESVIgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmY2htb2QnIGZ1 bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfRkNITU9EIDEKCi8qIERlZmluZSB0byAxIGlmIHlv dSBoYXZlIHRoZSBgZmNudGwnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfRkNOVEwgMQoK LyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmZGF0YXN5bmMnIGZ1bmN0aW9uLiAq LwovKiAjdW5kZWYgSEFWRV9GREFUQVNZTkMgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBo YXZlIHRoZSBgZmRvcGVuZGlyJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0ZET1BFTkRJ UiAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZvcmsnIGZ1bmN0aW9uLiAq LwojZGVmaW5lIEhBVkVfRk9SSyAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg YGZyZWVpZmFkZHJzJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEK Ci8qIERlZmluZSB0byAxIGlmIHVzaW5nIHRoZSBmcmVldHlwZSBhbmQgZm9udGNvbmZpZyBs aWJyYXJpZXMuICovCiNkZWZpbmUgSEFWRV9GUkVFVFlQRSAxCgovKiBEZWZpbmUgdG8gMSBp ZiBmc2Vla28gKGFuZCBwcmVzdW1hYmx5IGZ0ZWxsbykgZXhpc3RzIGFuZCBpcyBkZWNsYXJl ZC4gKi8KI2RlZmluZSBIQVZFX0ZTRUVLTyAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2 ZSB0aGUgYGZzdGF0YXQnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfRlNUQVRBVCAxCgov KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZzeW5jJyBmdW5jdGlvbi4gKi8KI2Rl ZmluZSBIQVZFX0ZTWU5DIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZnV0 aW1lbnMnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfRlVUSU1FTlMgMQoKLyogRGVmaW5l IHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmdXRpbWVzJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBI QVZFX0ZVVElNRVMgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmdXRpbWVz YXQnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfRlVUSU1FU0FUIDEKCi8qIERlZmluZSB0 byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2FpX3N0cmVycm9yJyBmdW5jdGlvbi4gKi8KI2RlZmlu ZSBIQVZFX0dBSV9TVFJFUlJPUiAxCgovKiBEZWZpbmUgdG8gMSBpZiB1c2luZyBHQ29uZi4g Ki8KI2RlZmluZSBIQVZFX0dDT05GIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRo ZSBgZ2V0YWNsJyBmdW5jdGlvbi4gKi8KLyogI3VuZGVmIEhBVkVfR0VUQUNMICovCgovKiBE ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdldGFkZHJpbmZvJyBmdW5jdGlvbi4gKi8K I2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl IHRoZSBgZ2V0ZHRhYmxlc2l6ZScgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9HRVREVEFC TEVTSVpFIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0Z3JlbnQnIGZ1 bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQoKLyogRGVmaW5lIHRvIDEgaWYg eW91ciBzeXN0ZW0gaGFzIGEgd29ya2luZyBgZ2V0Z3JvdXBzJyBmdW5jdGlvbi4gKi8KLyog I3VuZGVmIEhBVkVfR0VUR1JPVVBTICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0 aGUgYGdldGhvc3RuYW1lJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1F IDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0aWZhZGRycycgZnVuY3Rp b24uICovCiNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKCi8qIERlZmluZSB0byAxIGlmIHlv dSBoYXZlIHRoZSA8Z2V0b3B0Lmg+IGhlYWRlciBmaWxlLiAqLwojZGVmaW5lIEhBVkVfR0VU T1BUX0ggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXRvcHRfbG9uZ19v bmx5JyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQoKLyog RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXRwYWdlc2l6ZScgZnVuY3Rpb24uICov CiNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2 ZSB0aGUgYGdldHBlZXJuYW1lJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0dFVFBFRVJO QU1FIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0cHQnIGZ1bmN0aW9u LiAqLwojZGVmaW5lIEhBVkVfR0VUUFQgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg dGhlIGBnZXRwd2VudCcgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCgov KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdldHJsaW1pdCcgZnVuY3Rpb24uICov CiNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg dGhlIGBnZXRydXNhZ2UnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEK Ci8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0c29ja25hbWUnIGZ1bmN0aW9u LiAqLwojZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91 IGhhdmUgdGhlIGBnZXR0aW1lb2ZkYXknIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfR0VU VElNRU9GREFZIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0X2N1cnJl bnRfZGlyX25hbWUnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElS X05BTUUgMQoKLyogRGVmaW5lIHRvIDEgaWYgdXNpbmcgR0ZpbGUuICovCi8qICN1bmRlZiBI QVZFX0dGSUxFTk9USUZZICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSBhIGdpZiAo b3IgdW5naWYpIGxpYnJhcnkuICovCiNkZWZpbmUgSEFWRV9HSUYgMQoKLyogRGVmaW5lIHRv IDEgaWYgR0xpYiBpcyBsaW5rZWQgaW4uICovCiNkZWZpbmUgSEFWRV9HTElCIDEKCi8qIERl ZmluZSBpZiB1c2luZyBHbnVUTFMuICovCiNkZWZpbmUgSEFWRV9HTlVUTFMgMQoKLyogRGVm aW5lIGlmIHVzaW5nIEdudVRMUyB2My4gKi8KI2RlZmluZSBIQVZFX0dOVVRMUzMgMQoKLyog RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGdwbSBsaWJyYXJ5ICgtbGdwbSkuICovCiNk ZWZpbmUgSEFWRV9HUE0gMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBncmFu dHB0JyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0dSQU5UUFQgMQoKLyogRGVmaW5lIHRv IDEgaWYgdXNpbmcgR1NldHRpbmdzLiAqLwojZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKCi8q IERlZmluZSB0byAxIGlmIHVzaW5nIEdUSyAzIG9yIGxhdGVyLiAqLwojZGVmaW5lIEhBVkVf R1RLMyAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGd0a19hZGp1c3RtZW50 X2dldF9wYWdlX3NpemUnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfR1RLX0FESlVTVE1F TlRfR0VUX1BBR0VfU0laRSAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGd0 a19kaWFsb2dfZ2V0X2FjdGlvbl9hcmVhJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0dU S19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl IHRoZSBgZ3RrX2ZpbGVfc2VsZWN0aW9uX25ldycgZnVuY3Rpb24uICovCi8qICN1bmRlZiBI QVZFX0dUS19GSUxFX1NFTEVDVElPTl9ORVcgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBo YXZlIHRoZSBgZ3RrX2hhbmRsZV9ib3hfbmV3JyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZF X0dUS19IQU5ETEVfQk9YX05FVyAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg YGd0a19vcmllbnRhYmxlX3NldF9vcmllbnRhdGlvbicgZnVuY3Rpb24uICovCiNkZWZpbmUg SEFWRV9HVEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5UQVRJT04gMQoKLyogRGVmaW5lIHRvIDEg aWYgeW91IGhhdmUgdGhlIGBndGtfdGVhcm9mZl9tZW51X2l0ZW1fbmV3JyBmdW5jdGlvbi4g Ki8KI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01FTlVfSVRFTV9ORVcgMQoKLyogRGVmaW5l IHRvIDEgaWYgeW91IGhhdmUgdGhlIGBndGtfd2lkZ2V0X2dldF9tYXBwZWQnIGZ1bmN0aW9u LiAqLwojZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQUEVEIDEKCi8qIERlZmluZSB0 byAxIGlmIHlvdSBoYXZlIHRoZSBgZ3RrX3dpZGdldF9nZXRfc2Vuc2l0aXZlJyBmdW5jdGlv bi4gKi8KI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAxCgovKiBEZWZp bmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGd0a193aWRnZXRfZ2V0X3dpbmRvdycgZnVuY3Rp b24uICovCiNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9XSU5ET1cgMQoKLyogRGVmaW5l IHRvIDEgaWYgeW91IGhhdmUgdGhlIGBndGtfd2lkZ2V0X3NldF9oYXNfd2luZG93JyBmdW5j dGlvbi4gKi8KI2RlZmluZSBIQVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQoKLyog RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBndGtfd2luZG93X3NldF9oYXNfcmVzaXpl X2dyaXAnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19TRVRfSEFTX1JF U0laRV9HUklQIDEKCi8qIERlZmluZSB0byAxIGlmIG5ldGRiLmggZGVjbGFyZXMgaF9lcnJu by4gKi8KI2RlZmluZSBIQVZFX0hfRVJSTk8gMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh dmUgdGhlIDxpZmFkZHJzLmg+IGhlYWRlciBmaWxlLiAqLwojZGVmaW5lIEhBVkVfSUZBRERS U19IIDEKCi8qIERlZmluZSB0byAxIGlmIHVzaW5nIGltYWdlbWFnaWNrLiAqLwojZGVmaW5l IEhBVkVfSU1BR0VNQUdJQ0sgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgaW5ldCBz b2NrZXRzLiAqLwojZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKCi8qIERlZmluZSB0byAx IHRvIHVzZSBpbm90aWZ5LiAqLwojZGVmaW5lIEhBVkVfSU5PVElGWSAxCgovKiBEZWZpbmUg dG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGludHR5cGVzLmg+IGhlYWRlciBmaWxlLiAqLwojZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg YGlzc2V0dWdpZCcgZnVuY3Rpb24uICovCi8qICN1bmRlZiBIQVZFX0lTU0VUVUdJRCAqLwoK LyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGpwZWcgbGlicmFyeSAodHlwaWNhbGx5 IC1sanBlZykuICovCiNkZWZpbmUgSEFWRV9KUEVHIDEKCi8qIERlZmluZSB0byAxIGlmIHlv dSBoYXZlIHRoZSA8a2VyYmVyb3NJVi9rcmIuaD4gaGVhZGVyIGZpbGUuICovCi8qICN1bmRl ZiBIQVZFX0tFUkJFUk9TSVZfS1JCX0ggKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl IHRoZSA8a2VyYmVyb3Mva3JiLmg+IGhlYWRlciBmaWxlLiAqLwovKiAjdW5kZWYgSEFWRV9L RVJCRVJPU19LUkJfSCAqLwoKLyogRGVmaW5lIHRvIDEgdG8gdXNlIGtxdWV1ZS4gKi8KLyog I3VuZGVmIEhBVkVfS1FVRVVFICovCgovKiBEZWZpbmUgdG8gMSBpZiBgZV90ZXh0JyBpcyBh IG1lbWJlciBvZiBga3JiNV9lcnJvcicuICovCi8qICN1bmRlZiBIQVZFX0tSQjVfRVJST1Jf RV9URVhUICovCgovKiBEZWZpbmUgdG8gMSBpZiBgdGV4dCcgaXMgYSBtZW1iZXIgb2YgYGty YjVfZXJyb3InLiAqLwovKiAjdW5kZWYgSEFWRV9LUkI1X0VSUk9SX1RFWFQgKi8KCi8qIERl ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8a3JiNS5oPiBoZWFkZXIgZmlsZS4gKi8KLyog I3VuZGVmIEhBVkVfS1JCNV9IICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg PGtyYi5oPiBoZWFkZXIgZmlsZS4gKi8KLyogI3VuZGVmIEhBVkVfS1JCX0ggKi8KCi8qIERl ZmluZSBpZiB5b3UgaGF2ZSA8bGFuZ2luZm8uaD4gYW5kIG5sX2xhbmdpbmZvKENPREVTRVQp LiAqLwojZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCgovKiBEZWZpbmUgdG8gMSBp ZiB5b3UgaGF2ZSB0aGUgYGRnYycgbGlicmFyeSAoLWxkZ2MpLiAqLwovKiAjdW5kZWYgSEFW RV9MSUJER0MgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bGliZ2VuLmg+ IGhlYWRlciBmaWxlLiAqLwovKiAjdW5kZWYgSEFWRV9MSUJHRU5fSCAqLwoKLyogRGVmaW5l IHRvIDEgaWYgeW91IGhhdmUgdGhlIGBrc3RhdCcgbGlicmFyeSAoLWxrc3RhdCkuICovCi8q ICN1bmRlZiBIQVZFX0xJQktTVEFUICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0 aGUgJ2xvY2tmaWxlJyBsaWJyYXJ5ICgtbGxvY2tmaWxlKS4gKi8KI2RlZmluZSBIQVZFX0xJ QkxPQ0tGSUxFIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSAnbWFpbCcgbGli cmFyeSAoLWxtYWlsKS4gKi8KLyogI3VuZGVmIEhBVkVfTElCTUFJTCAqLwoKLyogRGVmaW5l IHRvIDEgaWYgdXNpbmcgbGlib3RmLiAqLwojZGVmaW5lIEhBVkVfTElCT1RGIDEKCi8qIERl ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgcGVyZnN0YXQnIGxpYnJhcnkgKC1scGVyZnN0 YXQpLiAqLwovKiAjdW5kZWYgSEFWRV9MSUJQRVJGU1RBVCAqLwoKLyogRGVmaW5lIHRvIDEg aWYgdXNpbmcgU0VMaW51eC4gKi8KI2RlZmluZSBIQVZFX0xJQlNFTElOVVggMQoKLyogRGVm aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGxpYnhtbCBsaWJyYXJ5ICgtbHhtbDIpLiAqLwoj ZGVmaW5lIEhBVkVfTElCWE1MMiAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSBMaW51 eCBzeXNpbmZvIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfTElOVVhfU1lTSU5GTyAxCgov KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGxvY2FsdGltZV9yJyBmdW5jdGlvbi4g Ki8KI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBo YXZlIHRoZSBgbG9nMicgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9MT0cyIDEKCi8qIERl ZmluZSB0byAxIGlmIHlvdSBzdXBwb3J0IGZpbGUgbmFtZXMgbG9uZ2VyIHRoYW4gMTQgY2hh cmFjdGVycy4gKi8KI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCgovKiBEZWZpbmUg dG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSAnbG9uZyBsb25nIGludCcuICovCiNk ZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl IHRoZSBgbHJhbmQ0OCcgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKCi8q IERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbHN0YXQnIGZ1bmN0aW9uLiAqLwojZGVm aW5lIEhBVkVfTFNUQVQgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBsdXRp bWVzJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0xVVElNRVMgMQoKLyogRGVmaW5lIHRv IDEgaWYgdXNpbmcgbGlibTE3bi1mbHQuICovCiNkZWZpbmUgSEFWRV9NMTdOX0ZMVCAxCgov KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPG1hY2hpbmUvc291bmRjYXJkLmg+IGhl YWRlciBmaWxlLiAqLwovKiAjdW5kZWYgSEFWRV9NQUNISU5FX1NPVU5EQ0FSRF9IICovCgov KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPG1hY2gvbWFjaC5oPiBoZWFkZXIgZmls ZS4gKi8KLyogI3VuZGVmIEhBVkVfTUFDSF9NQUNIX0ggKi8KCi8qIERlZmluZSB0byAxIGlm IHlvdSBoYXZlIHRoZSBgTWFnaWNrRXhwb3J0SW1hZ2VQaXhlbHMnIGZ1bmN0aW9uLiAqLwoj ZGVmaW5lIEhBVkVfTUFHSUNLRVhQT1JUSU1BR0VQSVhFTFMgMQoKLyogRGVmaW5lIHRvIDEg aWYgeW91IGhhdmUgdGhlIGBNYWdpY2tNZXJnZUltYWdlTGF5ZXJzJyBmdW5jdGlvbi4gKi8K I2RlZmluZSBIQVZFX01BR0lDS01FUkdFSU1BR0VMQVlFUlMgMQoKLyogRGVmaW5lIHRvIDEg aWYgeW91IGhhdmUgdGhlIDxtYWlsbG9jay5oPiBoZWFkZXIgZmlsZS4gKi8KI2RlZmluZSBI QVZFX01BSUxMT0NLX0ggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxtYWxs b2MvbWFsbG9jLmg+IGhlYWRlciBmaWxlLiAqLwovKiAjdW5kZWYgSEFWRV9NQUxMT0NfTUFM TE9DX0ggKi8KCi8qIERlZmluZSB0byAxIGlmIDx3Y2hhci5oPiBkZWNsYXJlcyBtYnN0YXRl X3QuICovCiNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91 IGhhdmUgdGhlIDxtZW1vcnkuaD4gaGVhZGVyIGZpbGUuICovCiNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYG1lbXJjaHInIGZ1bmN0 aW9uLiAqLwojZGVmaW5lIEhBVkVfTUVNUkNIUiAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3Ug aGF2ZSB0aGUgYG1rb3N0ZW1wJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX01LT1NURU1Q IDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIGEgd29ya2luZyBgbW1hcCcgc3lzdGVt IGNhbGwuICovCiNkZWZpbmUgSEFWRV9NTUFQIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBo YXZlIHRoZSA8bW1zeXN0ZW0uaD4gaGVhZGVyIGZpbGUuICovCi8qICN1bmRlZiBIQVZFX01N U1lTVEVNX0ggKi8KCi8qIERlZmluZSB0byAxIGlmIGR5bmFtaWMgbW9kdWxlcyBhcmUgZW5h YmxlZCAqLwovKiAjdW5kZWYgSEFWRV9NT0RVTEVTICovCgovKiBEZWZpbmUgdG8gMSBpZiB5 b3UgaGF2ZSB0aGUgYG5hbm90aW1lJyBmdW5jdGlvbi4gKi8KLyogI3VuZGVmIEhBVkVfTkFO T1RJTUUgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bmV0L2lmX2RsLmg+ IGhlYWRlciBmaWxlLiAqLwovKiAjdW5kZWYgSEFWRV9ORVRfSUZfRExfSCAqLwoKLyogRGVm aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxuZXQvaWYuaD4gaGVhZGVyIGZpbGUuICovCiNk ZWZpbmUgSEFWRV9ORVRfSUZfSCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg YG5ld2xvY2FsZScgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9ORVdMT0NBTEUgMQoKLyog RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxubGlzdC5oPiBoZWFkZXIgZmlsZS4gKi8K LyogI3VuZGVmIEhBVkVfTkxJU1RfSCAqLwoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGFyZSB1 c2luZyB0aGUgTmVYVHN0ZXAgQVBJLCBlaXRoZXIgR05Vc3RlcCBvciBDb2NvYSBvbgogICBN YWMgT1MgWC4gKi8KLyogI3VuZGVmIEhBVkVfTlMgKi8KCi8qIERlZmluZSB0byB1c2UgbmF0 aXZlIE1TIFdpbmRvd3MgR1VJLiAqLwovKiAjdW5kZWYgSEFWRV9OVEdVSSAqLwoKLyogRGVm aW5lIHRvIDEgaWYgbGlib3RmIGhhcyBPVEZfZ2V0X3ZhcmlhdGlvbl9nbHlwaHMuICovCiNk ZWZpbmUgSEFWRV9PVEZfR0VUX1ZBUklBVElPTl9HTFlQSFMgMQoKLyogRGVmaW5lIHRvIDEg aWYgcGVyc29uYWxpdHkgTElOVVgzMiBjYW4gYmUgc2V0LiAqLwojZGVmaW5lIEhBVkVfUEVS U09OQUxJVFlfTElOVVgzMiAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHBp cGUyJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX1BJUEUyIDEKCi8qIERlZmluZSB0byAx IGlmIHlvdSBoYXZlIHRoZSBwbmcgbGlicmFyeS4gKi8KI2RlZmluZSBIQVZFX1BORyAxCgov KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHBvc2l4X21lbWFsaWduJyBmdW5jdGlv bi4gKi8KLyogI3VuZGVmIEhBVkVfUE9TSVhfTUVNQUxJR04gKi8KCi8qIERlZmluZSB0byAx IGlmIHlvdSBoYXZlIHRoZSBgcG9zaXhfb3BlbnB0JyBmdW5jdGlvbi4gKi8KI2RlZmluZSBI QVZFX1BPU0lYX09QRU5QVCAxCgovKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIC9wcm9jIGZp bGVzeXN0ZW0uICovCiNkZWZpbmUgSEFWRV9QUk9DRlMgMQoKLyogRGVmaW5lIHRvIDEgaWYg eW91IGhhdmUgdGhlIGBwc2VsZWN0JyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX1BTRUxF Q1QgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBwc3RhdF9nZXRkeW5hbWlj JyBmdW5jdGlvbi4gKi8KLyogI3VuZGVmIEhBVkVfUFNUQVRfR0VURFlOQU1JQyAqLwoKLyog RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgUE9TSVggdGhyZWFkcy4gKi8KI2RlZmluZSBIQVZF X1BUSFJFQUQgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxwdGhyZWFkLmg+ IGhlYWRlciBmaWxlLiAqLwojZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKCi8qIERlZmluZSB0 byAxIGlmIHRoZSBwdGhyZWFkX3NpZ21hc2sgZnVuY3Rpb24gY2FuIGJlIHVzZWQgKGRlc3Bp dGUgYnVncykuICovCiNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQoKLyogRGVmaW5l IGlmIHRoZSBzeXN0ZW0gc3VwcG9ydHMgcHR5IGRldmljZXMuICovCiNkZWZpbmUgSEFWRV9Q VFlTIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8cHR5Lmg+IGhlYWRlciBm aWxlLiAqLwojZGVmaW5lIEhBVkVfUFRZX0ggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh dmUgdGhlIGBwdXRlbnYnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfUFVURU5WIDEKCi8q IERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8cHdkLmg+IGhlYWRlciBmaWxlLiAqLwoj ZGVmaW5lIEhBVkVfUFdEX0ggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBy YW5kb20nIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfUkFORE9NIDEKCi8qIERlZmluZSB0 byAxIGlmIHlvdSBoYXZlIHRoZSBgcmVhZGxpbmsnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhB VkVfUkVBRExJTksgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGByZWFkbGlu a2F0JyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQoKLyogRGVmaW5l IHRvIDEgaWYgeW91IGhhdmUgdGhlIGByZWN2ZnJvbScgZnVuY3Rpb24uICovCiNkZWZpbmUg SEFWRV9SRUNWRlJPTSAxCgovKiBEZWZpbmUgdG8gMSBpZiByZXNfaW5pdCBpcyBhdmFpbGFi bGUuICovCiNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3Ug aGF2ZSB0aGUgYHJpbnQnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfUklOVCAxCgovKiBE ZWZpbmUgdG8gMSBpZiB1c2luZyBsaWJyc3ZnLiAqLwojZGVmaW5lIEhBVkVfUlNWRyAxCgov KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNlY3VyZV9nZXRlbnYnIGZ1bmN0aW9u LiAqLwojZGVmaW5lIEhBVkVfU0VDVVJFX0dFVEVOViAxCgovKiBEZWZpbmUgdG8gMSBpZiB5 b3UgaGF2ZSB0aGUgYHNlbGVjdCcgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9TRUxFQ1Qg MQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzZW5kdG8nIGZ1bmN0aW9uLiAq LwojZGVmaW5lIEhBVkVfU0VORFRPIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRo ZSBgc2V0ZHRhYmxlc2l6ZScgZnVuY3Rpb24uICovCi8qICN1bmRlZiBIQVZFX1NFVERUQUJM RVNJWkUgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2V0aXRpbWVyJyBm dW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCgovKiBEZWZpbmUgdG8gMSBp ZiB5b3UgaGF2ZSB0aGUgYHNldGxvY2FsZScgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9T RVRMT0NBTEUgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzZXRybGltaXQn IGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKCi8qIERlZmluZSB0byAx IGlmIHlvdSBoYXZlIHRoZSBgc2h1dGRvd24nIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVf U0hVVERPV04gMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzaWcyc3RyJyBm dW5jdGlvbi4gKi8KLyogI3VuZGVmIEhBVkVfU0lHMlNUUiAqLwoKLyogRGVmaW5lIHRvIDEg aWYgJ3NpZ19hdG9taWNfdCcgaXMgYSBzaWduZWQgaW50ZWdlciB0eXBlLiAqLwovKiAjdW5k ZWYgSEFWRV9TSUdORURfU0lHX0FUT01JQ19UICovCgovKiBEZWZpbmUgdG8gMSBpZiAnd2No YXJfdCcgaXMgYSBzaWduZWQgaW50ZWdlciB0eXBlLiAqLwovKiAjdW5kZWYgSEFWRV9TSUdO RURfV0NIQVJfVCAqLwoKLyogRGVmaW5lIHRvIDEgaWYgJ3dpbnRfdCcgaXMgYSBzaWduZWQg aW50ZWdlciB0eXBlLiAqLwovKiAjdW5kZWYgSEFWRV9TSUdORURfV0lOVF9UICovCgovKiBE ZWZpbmUgdG8gMSBpZiBzaWdzZXRqbXAgYW5kIHNpZ2xvbmdqbXAgd29yay4gKi8KI2RlZmlu ZSBIQVZFX1NJR1NFVEpNUCAxCgovKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0 aGUgdHlwZSBgc2lnc2V0X3QnLiAqLwojZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQoKLyogRGVm aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzbnByaW50ZicgZnVuY3Rpb24uICovCiNkZWZp bmUgSEFWRV9TTlBSSU5URiAxCgovKiBEZWZpbmUgaWYgdGhlIHN5c3RlbSBzdXBwb3J0cyA0 LjItY29tcGF0aWJsZSBzb2NrZXRzLiAqLwojZGVmaW5lIEhBVkVfU09DS0VUUyAxCgovKiBE ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSBzb3VuZCBzdXBwb3J0LiAqLwojZGVmaW5lIEhBVkVf U09VTkQgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzb3VuZGNhcmQuaD4g aGVhZGVyIGZpbGUuICovCi8qICN1bmRlZiBIQVZFX1NPVU5EQ0FSRF9IICovCgovKiBEZWZp bmUgdG8gMSBpZiBDIHN0YWNrIG92ZXJmbG93IGNhbiBiZSBoYW5kbGVkIGluIHNvbWUgY2Fz ZXMuICovCiNkZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5ETElORyAxCgovKiBEZWZp bmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0YXRhY2wnIGZ1bmN0aW9uLiAqLwovKiAjdW5k ZWYgSEFWRV9TVEFUQUNMICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0 ZGludC5oPiBoZWFkZXIgZmlsZS4gKi8KI2RlZmluZSBIQVZFX1NURElOVF9IIDEKCi8qIERl ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RkaW9fZXh0Lmg+IGhlYWRlciBmaWxlLiAq LwojZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh dmUgdGhlIDxzdGRsaWIuaD4gaGVhZGVyIGZpbGUuICovCiNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cGNweScgZnVuY3Rpb24u ICovCiNkZWZpbmUgSEFWRV9TVFBDUFkgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg dGhlIDxzdHJpbmdzLmg+IGhlYWRlciBmaWxlLiAqLwojZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RyaW5nLmg+IGhlYWRlciBm aWxlLiAqLwojZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91 IGhhdmUgdGhlIGBzdHJzaWduYWwnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfU1RSU0lH TkFMIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3RydG9pbWF4JyBmdW5j dGlvbi4gKi8KI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5 b3UgaGF2ZSB0aGUgYHN0cnRvbGwnIGZ1bmN0aW9uLiAqLwovKiAjdW5kZWYgSEFWRV9TVFJU T0xMICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cnRvdWxsJyBmdW5j dGlvbi4gKi8KLyogI3VuZGVmIEhBVkVfU1RSVE9VTEwgKi8KCi8qIERlZmluZSB0byAxIGlm IHlvdSBoYXZlIHRoZSBgc3RydG91bWF4JyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX1NU UlRPVU1BWCAxCgovKiBEZWZpbmUgdG8gMSBpZiAnc3RydWN0IF9fYXR0cmlidXRlX18gKChh bGlnbmVkIChOKSkpJyBhbGlnbnMgdGhlIHN0cnVjdHVyZQogICB0byBhbiBOLWJ5dGUgYm91 bmRhcnkuICovCiNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRUUklCVVRFX0FMSUdORUQgMQoKLyog RGVmaW5lIHRvIDEgaWYgYGlmcl9hZGRyJyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IGlmcmVx Jy4gKi8KI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCgovKiBEZWZpbmUg dG8gMSBpZiBgaWZyX2FkZHIuc2FfbGVuJyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IGlmcmVx Jy4gKi8KLyogI3VuZGVmIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAqLwoK LyogRGVmaW5lIHRvIDEgaWYgYGlmcl9icm9hZGFkZHInIGlzIGEgbWVtYmVyIG9mIGBzdHJ1 Y3QgaWZyZXEnLiAqLwojZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIg MQoKLyogRGVmaW5lIHRvIDEgaWYgYGlmcl9mbGFncycgaXMgYSBtZW1iZXIgb2YgYHN0cnVj dCBpZnJlcScuICovCiNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKCi8q IERlZmluZSB0byAxIGlmIGBpZnJfaHdhZGRyJyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IGlm cmVxJy4gKi8KI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKCi8qIERl ZmluZSB0byAxIGlmIGBpZnJfbmV0bWFzaycgaXMgYSBtZW1iZXIgb2YgYHN0cnVjdCBpZnJl cScuICovCiNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQoKLyogRGVm aW5lIHRvIDEgaWYgYG5fdW4ubl9uYW1lJyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IG5saXN0 Jy4gKi8KLyogI3VuZGVmIEhBVkVfU1RSVUNUX05MSVNUX05fVU5fTl9OQU1FICovCgovKiBE ZWZpbmUgdG8gMSBpZiBgc3RfYXRpbWVuc2VjJyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IHN0 YXQnLiAqLwovKiAjdW5kZWYgSEFWRV9TVFJVQ1RfU1RBVF9TVF9BVElNRU5TRUMgKi8KCi8q IERlZmluZSB0byAxIGlmIGBzdF9hdGltZXNwZWMudHZfbnNlYycgaXMgYSBtZW1iZXIgb2Yg YHN0cnVjdCBzdGF0Jy4gKi8KLyogI3VuZGVmIEhBVkVfU1RSVUNUX1NUQVRfU1RfQVRJTUVT UEVDX1RWX05TRUMgKi8KCi8qIERlZmluZSB0byAxIGlmIGBzdF9hdGltLnN0X190aW0udHZf bnNlYycgaXMgYSBtZW1iZXIgb2YgYHN0cnVjdCBzdGF0Jy4gKi8KLyogI3VuZGVmIEhBVkVf U1RSVUNUX1NUQVRfU1RfQVRJTV9TVF9fVElNX1RWX05TRUMgKi8KCi8qIERlZmluZSB0byAx IGlmIGBzdF9hdGltLnR2X25zZWMnIGlzIGEgbWVtYmVyIG9mIGBzdHJ1Y3Qgc3RhdCcuICov CiNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9BVElNX1RWX05TRUMgMQoKLyogRGVmaW5l IHRvIDEgaWYgYHN0X2JpcnRodGltZW5zZWMnIGlzIGEgbWVtYmVyIG9mIGBzdHJ1Y3Qgc3Rh dCcuICovCi8qICN1bmRlZiBIQVZFX1NUUlVDVF9TVEFUX1NUX0JJUlRIVElNRU5TRUMgKi8K Ci8qIERlZmluZSB0byAxIGlmIGBzdF9iaXJ0aHRpbWVzcGVjLnR2X25zZWMnIGlzIGEgbWVt YmVyIG9mIGBzdHJ1Y3Qgc3RhdCcuICovCi8qICN1bmRlZiBIQVZFX1NUUlVDVF9TVEFUX1NU X0JJUlRIVElNRVNQRUNfVFZfTlNFQyAqLwoKLyogRGVmaW5lIHRvIDEgaWYgYHN0X2JpcnRo dGltLnR2X25zZWMnIGlzIGEgbWVtYmVyIG9mIGBzdHJ1Y3Qgc3RhdCcuICovCi8qICN1bmRl ZiBIQVZFX1NUUlVDVF9TVEFUX1NUX0JJUlRIVElNX1RWX05TRUMgKi8KCi8qIERlZmluZSB0 byAxIGlmIGB0bV96b25lJyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IHRtJy4gKi8KI2RlZmlu ZSBIQVZFX1NUUlVDVF9UTV9UTV9aT05FIDEKCi8qIERlZmluZSB0byAxIGlmIGB1bmljb2Rl JyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IHVuaXBhaXInLiAqLwojZGVmaW5lIEhBVkVfU1RS VUNUX1VOSVBBSVJfVU5JQ09ERSAxCgovKiBEZWZpbmUgaWYgc3RydWN0IHV0aW1idWYgaXMg ZGVjbGFyZWQgLS0gdXN1YWxseSBpbiA8dXRpbWUuaD4uIFNvbWUgc3lzdGVtcwogICBoYXZl IHV0aW1lLmggYnV0IGRvbid0IGRlY2xhcmUgdGhlIHN0cnVjdCBhbnl3aGVyZS4gKi8KI2Rl ZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKCi8qIERlZmluZSBpZiBzdHJ1Y3Qgc3RhdCBo YXMgYW4gc3RfZG1fbW9kZSBtZW1iZXIuICovCi8qICN1bmRlZiBIQVZFX1NUX0RNX01PREUg Ki8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3ltbGluaycgZnVuY3Rpb24u ICovCiNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl IHRoZSBgc3luYycgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9TWU5DIDEKCi8qIERlZmlu ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL2FjbC5oPiBoZWFkZXIgZmlsZS4gKi8KI2Rl ZmluZSBIQVZFX1NZU19BQ0xfSCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg PHN5cy9iaXR5cGVzLmg+IGhlYWRlciBmaWxlLiAqLwovKiAjdW5kZWYgSEFWRV9TWVNfQklU WVBFU19IICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9pbnR0eXBl cy5oPiBoZWFkZXIgZmlsZS4gKi8KLyogI3VuZGVmIEhBVkVfU1lTX0lOVFRZUEVTX0ggKi8K Ci8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL2xvYWRhdmcuaD4gaGVhZGVy IGZpbGUuICovCi8qICN1bmRlZiBIQVZFX1NZU19MT0FEQVZHX0ggKi8KCi8qIERlZmluZSB0 byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3BhcmFtLmg+IGhlYWRlciBmaWxlLiAqLwojZGVm aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl IDxzeXMvcmVzb3VyY2UuaD4gaGVhZGVyIGZpbGUuICovCiNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9zZWxlY3Qu aD4gaGVhZGVyIGZpbGUuICovCiNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQoKLyogRGVm aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvc29ja2V0Lmg+IGhlYWRlciBmaWxlLiAq LwojZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBo YXZlIHRoZSA8c3lzL3NvdW5kY2FyZC5oPiBoZWFkZXIgZmlsZS4gKi8KI2RlZmluZSBIQVZF X1NZU19TT1VORENBUkRfSCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5 cy9zdGF0Lmg+IGhlYWRlciBmaWxlLiAqLwojZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCgov KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9zeXNpbmZvLmg+IGhlYWRlciBm aWxlLiAqLwojZGVmaW5lIEhBVkVfU1lTX1NZU0lORk9fSCAxCgovKiBEZWZpbmUgdG8gMSBp ZiB5b3UgaGF2ZSB0aGUgPHN5cy9zeXN0ZW1pbmZvLmg+IGhlYWRlciBmaWxlLiAqLwovKiAj dW5kZWYgSEFWRV9TWVNfU1lTVEVNSU5GT19IICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3Ug aGF2ZSB0aGUgPHN5cy90aW1lYi5oPiBoZWFkZXIgZmlsZS4gKi8KLyogI3VuZGVmIEhBVkVf U1lTX1RJTUVCX0ggKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3Rp bWUuaD4gaGVhZGVyIGZpbGUuICovCiNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKCi8qIERl ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3R5cGVzLmg+IGhlYWRlciBmaWxlLiAq LwojZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh dmUgdGhlIDxzeXMvdW4uaD4gaGVhZGVyIGZpbGUuICovCiNkZWZpbmUgSEFWRV9TWVNfVU5f SCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy91dHNuYW1lLmg+IGhl YWRlciBmaWxlLiAqLwojZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCgovKiBEZWZpbmUg dG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy92bGltaXQuaD4gaGVhZGVyIGZpbGUuICovCiNk ZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg PHN5cy93YWl0Lmg+IHRoYXQgaXMgUE9TSVguMSBjb21wYXRpYmxlLiAqLwojZGVmaW5lIEhB VkVfU1lTX1dBSVRfSCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHRlcm0u aD4gaGVhZGVyIGZpbGUuICovCiNkZWZpbmUgSEFWRV9URVJNX0ggMQoKLyogRGVmaW5lIHRv IDEgaWYgeW91IGhhdmUgdGhlIHRpZmYgbGlicmFyeSAoLWx0aWZmKS4gKi8KI2RlZmluZSBI QVZFX1RJRkYgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB0aW1lZ20nIGZ1 bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfVElNRUdNIDEKCi8qIERlZmluZSB0byAxIGlmIHRp bWVyZmQgZnVuY3Rpb25zIGFyZSBzdXBwb3J0ZWQgYXMgaW4gR05VL0xpbnV4LiAqLwojZGVm aW5lIEhBVkVfVElNRVJGRCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHRp bWVyX3NldHRpbWUnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfVElNRVJfU0VUVElNRSAx CgovKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSBgdGltZXpvbmVf dCcuICovCi8qICN1bmRlZiBIQVZFX1RJTUVaT05FX1QgKi8KCi8qIERlZmluZSBpZiBzdHJ1 Y3QgdG0gaGFzIHRoZSB0bV9nbXRvZmYgbWVtYmVyLiAqLwojZGVmaW5lIEhBVkVfVE1fR01U T0ZGIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdXIgYHN0cnVjdCB0bScgaGFzIGB0bV96b25l Jy4gRGVwcmVjYXRlZCwgdXNlCiAgIGBIQVZFX1NUUlVDVF9UTV9UTV9aT05FJyBpbnN0ZWFk LiAqLwojZGVmaW5lIEhBVkVfVE1fWk9ORSAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2 ZSB0aGUgYHRvdWNobG9jaycgZnVuY3Rpb24uICovCi8qICN1bmRlZiBIQVZFX1RPVUNITE9D SyAqLwoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGRvbid0IGhhdmUgYHRtX3pvbmUnIGJ1dCBk byBoYXZlIHRoZSBleHRlcm5hbCBhcnJheQogICBgdHpuYW1lJy4gKi8KLyogI3VuZGVmIEhB VkVfVFpOQU1FICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHR6c2V0JyBm dW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX1RaU0VUIDEKCi8qIERlZmluZSB0byAxIGlmIHlv dSBoYXZlIHRoZSA8dW5pc3RkLmg+IGhlYWRlciBmaWxlLiAqLwojZGVmaW5lIEhBVkVfVU5J U1REX0ggMQoKLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgJ3Vu c2lnbmVkIGxvbmcgbG9uZyBpbnQnLiAqLwojZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M T05HX0lOVCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHV0aWwuaD4gaGVh ZGVyIGZpbGUuICovCi8qICN1bmRlZiBIQVZFX1VUSUxfSCAqLwoKLyogRGVmaW5lIHRvIDEg aWYgeW91IGhhdmUgdGhlIGB1dGltZW5zYXQnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVf VVRJTUVOU0FUIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8dXRpbWUuaD4g aGVhZGVyIGZpbGUuICovCiNkZWZpbmUgSEFWRV9VVElNRV9IIDEKCi8qIERlZmluZSB0byAx IGlmIHlvdSBoYXZlIHRoZSA8dXRtcC5oPiBoZWFkZXIgZmlsZS4gKi8KI2RlZmluZSBIQVZF X1VUTVBfSCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHZhbGdyaW5kL3Zh bGdyaW5kLmg+IGhlYWRlciBmaWxlLiAqLwojZGVmaW5lIEhBVkVfVkFMR1JJTkRfVkFMR1JJ TkRfSCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHZmb3JrJyBmdW5jdGlv bi4gKi8KI2RlZmluZSBIQVZFX1ZGT1JLIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl IHRoZSA8dmZvcmsuaD4gaGVhZGVyIGZpbGUuICovCi8qICN1bmRlZiBIQVZFX1ZGT1JLX0gg Ki8KCi8qIERlZmluZSB0byAxIHRvIHVzZSB3MzJub3RpZnkuICovCi8qICN1bmRlZiBIQVZF X1czMk5PVElGWSAqLwoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDx3Y2hhci5o PiBoZWFkZXIgZmlsZS4gKi8KI2RlZmluZSBIQVZFX1dDSEFSX0ggMQoKLyogRGVmaW5lIGlm IHlvdSBoYXZlIHRoZSAnd2NoYXJfdCcgdHlwZS4gKi8KI2RlZmluZSBIQVZFX1dDSEFSX1Qg MQoKLyogRGVmaW5lIGlmIHlvdSBoYXZlIGEgd2luZG93IHN5c3RlbS4gKi8KI2RlZmluZSBI QVZFX1dJTkRPV19TWVNURU0gMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDx3 aW5zb2NrMi5oPiBoZWFkZXIgZmlsZS4gKi8KLyogI3VuZGVmIEhBVkVfV0lOU09DSzJfSCAq LwoKLyogRGVmaW5lIHRvIDEgaWYgYGZvcmsnIHdvcmtzLiAqLwojZGVmaW5lIEhBVkVfV09S S0lOR19GT1JLIDEKCi8qIERlZmluZSB0byAxIGlmIGZzdGF0YXQgKC4uLiwgMCkgd29ya3Mu IEZvciBleGFtcGxlLCBpdCBkb2VzIG5vdCB3b3JrIGluIEFJWAogICA3LjEuICovCi8qICN1 bmRlZiBIQVZFX1dPUktJTkdfRlNUQVRBVF9aRVJPX0ZMQUcgKi8KCi8qIERlZmluZSBpZiB1 dGltZXMgd29ya3MgcHJvcGVybHkuICovCiNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAx CgovKiBEZWZpbmUgdG8gMSBpZiBgdmZvcmsnIHdvcmtzLiAqLwojZGVmaW5lIEhBVkVfV09S S0lOR19WRk9SSyAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHdzMnRjcGlw Lmg+IGhlYWRlciBmaWxlLiAqLwovKiAjdW5kZWYgSEFWRV9XUzJUQ1BJUF9IICovCgovKiBE ZWZpbmUgdG8gMSBpZiB5b3Ugd2FudCB0byB1c2UgdmVyc2lvbiAxMSBvZiBYIHdpbmRvd3Mu ICovCiNkZWZpbmUgSEFWRV9YMTEgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl IFgxMVI2IG9yIG5ld2VyIHZlcnNpb24gb2YgWGxpYi4gKi8KI2RlZmluZSBIQVZFX1gxMVI2 IDEKCi8qIERlZmluZSBpZiB5b3UgaGF2ZSB1c2FibGUgWDExUjYtc3R5bGUgWElNIHN1cHBv cnQuICovCiNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91 IGhhdmUgdGhlIFgxMVI2IG9yIG5ld2VyIHZlcnNpb24gb2YgWHQuICovCi8qICN1bmRlZiBI QVZFX1gxMVhUUjYgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBYYXczZCBs aWJyYXJ5ICgtbFhhdzNkKS4gKi8KLyogI3VuZGVmIEhBVkVfWEFXM0QgKi8KCi8qIERlZmlu ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBYZml4ZXMgZXh0ZW5zaW9uLiAqLwojZGVmaW5lIEhB VkVfWEZJWEVTIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBYZnQgbGlicmFy eS4gKi8KI2RlZmluZSBIQVZFX1hGVCAxCgovKiBEZWZpbmUgdG8gMSBpZiBYSU0gaXMgYXZh aWxhYmxlICovCiNkZWZpbmUgSEFWRV9YSU0gMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh dmUgdGhlIFhpbmVyYW1hIGV4dGVuc2lvbi4gKi8KI2RlZmluZSBIQVZFX1hJTkVSQU1BIDEK Ci8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBYa2IgZXh0ZW5zaW9uLiAqLwojZGVm aW5lIEhBVkVfWEtCIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBYcG0gbGli cmFyeSAoLWxYcG0pLiAqLwojZGVmaW5lIEhBVkVfWFBNIDEKCi8qIERlZmluZSB0byAxIGlm IHlvdSBoYXZlIHRoZSBYUmFuZHIgZXh0ZW5zaW9uLiAqLwojZGVmaW5lIEhBVkVfWFJBTkRS IDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgWHJtU2V0RGF0YWJhc2UnIGZ1 bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQoKLyogRGVmaW5lIHRv IDEgaWYgeW91IGhhdmUgdGhlIGBYUlJHZXRPdXRwdXRQcmltYXJ5JyBmdW5jdGlvbi4gKi8K I2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkgMQoKLyogRGVmaW5lIHRvIDEgaWYg eW91IGhhdmUgdGhlIGBYUlJHZXRTY3JlZW5SZXNvdXJjZXNDdXJyZW50JyBmdW5jdGlvbi4g Ki8KI2RlZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNFU0NVUlJFTlQgMQoKLyogRGVm aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBYU2NyZWVuTnVtYmVyT2ZTY3JlZW4nIGZ1bmN0 aW9uLiAqLwojZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKCi8qIERlZmlu ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgWFNjcmVlblJlc291cmNlU3RyaW5nJyBmdW5jdGlv bi4gKi8KI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCgovKiBEZWZpbmUg dG8gMSBpZiB5b3UgaGF2ZSB4d2lkZ2V0cyBzdXBwb3J0LiAqLwovKiAjdW5kZWYgSEFWRV9Y V0lER0VUUyAqLwoKLyogRGVmaW5lIGlmIHlvdSBoYXZlIHVzYWJsZSBpMThuIHN1cHBvcnQu ICovCiNkZWZpbmUgSEFWRV9YX0kxOE4gMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg dGhlIFNNIGxpYnJhcnkgKC1sU00pLiAqLwojZGVmaW5lIEhBVkVfWF9TTSAxCgovKiBEZWZp bmUgdG8gMSBpZiB5b3Ugd2FudCB0byB1c2UgdGhlIFggd2luZG93IHN5c3RlbS4gKi8KI2Rl ZmluZSBIQVZFX1hfV0lORE9XUyAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg emxpYiBsaWJyYXJ5ICgtbHopLiAqLwojZGVmaW5lIEhBVkVfWkxJQiAxCgovKiBEZWZpbmUg dG8gMSBpZiB5b3UgaGF2ZSB0aGUgYF9mdGltZScgZnVuY3Rpb24uICovCi8qICN1bmRlZiBI QVZFX19GVElNRSAqLwoKLyogRGVmaW5lIHRvIDEgaWYgX3NldGptcCBhbmQgX2xvbmdqbXAg d29yay4gKi8KI2RlZmluZSBIQVZFX19TRVRKTVAgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91 IGhhdmUgdGhlICdfX2J1aWx0aW5fdW53aW5kX2luaXQnIGZ1bmN0aW9uLiAqLwojZGVmaW5l IEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBo YXZlIHRoZSBgX19leGVjdXRhYmxlX3N0YXJ0JyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZF X19fRVhFQ1VUQUJMRV9TVEFSVCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg YF9fc2VjdXJlX2dldGVudicgZnVuY3Rpb24uICovCi8qICN1bmRlZiBIQVZFX19fU0VDVVJF X0dFVEVOViAqLwoKLyogRGVmaW5lIHRvIHN1cHBvcnQgdXNpbmcgYSBIZXNpb2QgZGF0YWJh c2UgdG8gZmluZCB0aGUgUE9QIHNlcnZlci4gKi8KLyogI3VuZGVmIEhFU0lPRCAqLwoKLyog RGVmaW5lIGlmIHRoZSBzeXN0ZW0gaXMgSFBVWC4gKi8KLyogI3VuZGVmIEhQVVggKi8KCi8q IERlZmluZSB0byB1c2UgZ21hbGxvYyBiZWZvcmUgZHVtcGluZyBhbmQgdGhlIHN5c3RlbSBt YWxsb2MgYWZ0ZXIuICovCi8qICN1bmRlZiBIWUJSSURfTUFMTE9DICovCgovKiBUaGlzIGlz IHN1YnN0aXR1dGVkIHdoZW4gJFRFUk0gaXMgImludGVybmFsIi4gKi8KLyogI3VuZGVmIElO VEVSTkFMX1RFUk1JTkFMICovCgovKiBEZWZpbmUgdG8gcmVhZCBpbnB1dCB1c2luZyBTSUdJ Ty4gKi8KI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQoKLyogRGVmaW5lIGlmIHRoZSBzeXN0 ZW0gaXMgSVJJWC4gKi8KLyogI3VuZGVmIElSSVg2XzUgKi8KCi8qIFJldHVybnMgdHJ1ZSBp ZiBjaGFyYWN0ZXIgaXMgYW55IGZvcm0gb2Ygc2VwYXJhdG9yLiAqLwojZGVmaW5lIElTX0FO WV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKCi8qIFJldHVybnMgdHJ1ZSBp ZiBjaGFyYWN0ZXIgaXMgYSBkZXZpY2Ugc2VwYXJhdG9yLiAqLwojZGVmaW5lIElTX0RFVklD RV9TRVAoX2NfKSAwCgovKiBSZXR1cm5zIHRydWUgaWYgY2hhcmFjdGVyIGlzIGEgZGlyZWN0 b3J5IHNlcGFyYXRvci4gKi8KI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18p ID09IERJUkVDVE9SWV9TRVApCgovKiBEZWZpbmUgdG8gc3VwcG9ydCBLZXJiZXJvcy1hdXRo ZW50aWNhdGVkIFBPUCBtYWlsIHJldHJpZXZhbC4gKi8KLyogI3VuZGVmIEtFUkJFUk9TICov CgovKiBEZWZpbmUgdG8gdXNlIEtlcmJlcm9zIDUgaW5zdGVhZCBvZiBLZXJiZXJvcyA0LiAq LwovKiAjdW5kZWYgS0VSQkVST1M1ICovCgovKiBEZWZpbmUgdG8gMSBpZiBMaW51eCBzeXNp bmZvIHNpemVzIGFyZSBpbiBtdWx0aXBsZXMgb2YgbWVtX3VuaXQgYnl0ZXMuICovCiNkZWZp bmUgTElOVVhfU1lTSU5GT19VTklUIDEKCi8qIERlZmluZSB0byAxIGlmICdsc3RhdCcgZGVy ZWZlcmVuY2VzIGEgc3ltbGluayBzcGVjaWZpZWQgd2l0aCBhIHRyYWlsaW5nCiAgIHNsYXNo LiAqLwojZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKCi8qIFN0cmlu ZyBnaXZpbmcgZmFsbGJhY2sgUE9QIG1haWwgaG9zdC4gKi8KLyogI3VuZGVmIE1BSUxIT1NU ICovCgovKiBEZWZpbmUgdG8gdW5saW5rLCByYXRoZXIgdGhhbiBlbXB0eSwgbWFpbCBzcG9v bCBhZnRlciByZWFkaW5nLiAqLwovKiAjdW5kZWYgTUFJTF9VTkxJTktfU1BPT0wgKi8KCi8q IERlZmluZSBpZiB0aGUgbWFpbGVyIHVzZXMgZmxvY2sgdG8gaW50ZXJsb2NrIHRoZSBtYWls IHNwb29sLiAqLwovKiAjdW5kZWYgTUFJTF9VU0VfRkxPQ0sgKi8KCi8qIERlZmluZSBpZiB0 aGUgbWFpbGVyIHVzZXMgbG9ja2YgdG8gaW50ZXJsb2NrIHRoZSBtYWlsIHNwb29sLiAqLwov KiAjdW5kZWYgTUFJTF9VU0VfTE9DS0YgKi8KCi8qIERlZmluZSB0byBzdXBwb3J0IFBPUCBt YWlsIHJldHJpZXZhbC4gKi8KI2RlZmluZSBNQUlMX1VTRV9QT1AgMQoKLyogU3lzdGVtIGV4 dGVuc2lvbiBmb3IgZHluYW1pYyBsaWJyYXJpZXMgKi8KLyogI3VuZGVmIE1PRFVMRVNfU1VG RklYICovCgovKiBEZWZpbmUgaWYgdGhlIHN5c3RlbSBpcyBNUyBET1MuICovCi8qICN1bmRl ZiBNU0RPUyAqLwoKLyogRGVmaW5lIGlmIHN5c3RlbSdzIGltYWtlIGNvbmZpZ3VyYXRpb24g ZmlsZSBkZWZpbmVzICdOZWVkV2lkZVByb3RvdHlwZXMnIGFzCiAgICdOTycuICovCiNkZWZp bmUgTkFSUk9XUFJPVE8gMQoKLyogRGVmaW5lIGlmIFhFZGl0UmVzIHNob3VsZCBub3QgYmUg dXNlZC4gKi8KLyogI3VuZGVmIE5PX0VESVRSRVMgKi8KCi8qIE1pbmltdW0gdmFsdWUgb2Yg TlNJRy4gKi8KLyogI3VuZGVmIE5TSUdfTUlOSU1VTSAqLwoKLyogRGVmaW5lIHRvIDEgaWYg eW91IGFyZSB1c2luZyBOUyB3aW5kb3dpbmcgdW5kZXIgTWFjT1MgWC4gKi8KLyogI3VuZGVm IE5TX0lNUExfQ09DT0EgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBhcmUgdXNpbmcgTlMg d2luZG93aW5nIHVuZGVyIEdOVXN0ZXAuICovCi8qICN1bmRlZiBOU19JTVBMX0dOVVNURVAg Ki8KCi8qIE5hbWUgb2YgdGhlIGZpbGUgdG8gb3BlbiB0byBnZXQgYSBudWxsIGZpbGUsIG9y IGEgZGF0YSBzaW5rLiAqLwojZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCgovKiBE ZWZpbmUgdG8gMSBpZiB0aGUgbmxpc3Qgbl9uYW1lIG1lbWJlciBpcyBhIHBvaW50ZXIgKi8K LyogI3VuZGVmIE5fTkFNRV9QT0lOVEVSICovCgovKiBOYW1lIG9mIHBhY2thZ2UgKi8KI2Rl ZmluZSBQQUNLQUdFICJlbWFjcyIKCi8qIERlZmluZSB0byB0aGUgYWRkcmVzcyB3aGVyZSBi dWcgcmVwb3J0cyBmb3IgdGhpcyBwYWNrYWdlIHNob3VsZCBiZSBzZW50LiAqLwojZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCgovKiBEZWZpbmUg dG8gdGhlIGZ1bGwgbmFtZSBvZiB0aGlzIHBhY2thZ2UuICovCiNkZWZpbmUgUEFDS0FHRV9O QU1FICJHTlUgRW1hY3MiCgovKiBEZWZpbmUgdG8gdGhlIGZ1bGwgbmFtZSBhbmQgdmVyc2lv biBvZiB0aGlzIHBhY2thZ2UuICovCiNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFj cyAyNS4wLjkyIgoKLyogRGVmaW5lIHRvIHRoZSBvbmUgc3ltYm9sIHNob3J0IG5hbWUgb2Yg dGhpcyBwYWNrYWdlLiAqLwojZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCgovKiBE ZWZpbmUgdG8gdGhlIGhvbWUgcGFnZSBmb3IgdGhpcyBwYWNrYWdlLiAqLwojZGVmaW5lIFBB Q0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgoKLyogRGVm aW5lIHRvIHRoZSB2ZXJzaW9uIG9mIHRoaXMgcGFja2FnZS4gKi8KI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjI1LjAuOTIiCgovKiB0aGUgbnVtYmVyIG9mIHBlbmRpbmcgb3V0cHV0IGJ5 dGVzIG9uIHN0cmVhbSAnZnAnICovCi8qICN1bmRlZiBQRU5ESU5HX09VVFBVVF9OX0JZVEVT ICovCgovKiBEZWZpbmUgdG8gZW1wdHkgdG8gc3VwcHJlc3MgZGVwcmVjYXRpb24gd2Fybmlu Z3Mgd2hlbiBidWlsZGluZyB3aXRoCiAgIC0tZW5hYmxlLWdjYy13YXJuaW5ncyBhbmQgd2l0 aCBsaWJwbmcgdmVyc2lvbnMgYmVmb3JlIDEuNSwgd2hpY2ggbGFjawogICBwbmdfbG9uZ2pt cC4gKi8KLyogI3VuZGVmIFBOR19ERVBTVFJVQ1QgKi8KCi8qIERlZmluZSBpZiB5b3UgcG9s bCBwZXJpb2RpY2FsbHkgdG8gZGV0ZWN0IEMtZy4gKi8KI2RlZmluZSBQT0xMX0ZPUl9JTlBV VCAxCgovKiBEZWZpbmUgaWYgcHJvY2Vzc19zZW5kX3NpZ25hbCBzaG91bGQgdXNlIFZTVVNQ IGluc3RlYWQgb2YgVlNXVENILiAqLwovKiAjdW5kZWYgUFJFRkVSX1ZTVVNQICovCgovKiBE ZWZpbmUgdG8gMSBpZiBwdGhyZWFkX3NpZ21hc2soKSwgd2hlbiBpdCBmYWlscywgcmV0dXJu cyAtMSBhbmQgc2V0cyBlcnJuby4KICAgKi8KLyogI3VuZGVmIFBUSFJFQURfU0lHTUFTS19G QUlMU19XSVRIX0VSUk5PICovCgovKiBEZWZpbmUgdG8gMSBpZiBwdGhyZWFkX3NpZ21hc2sg bWF5IHJldHVybiAwIGFuZCBoYXZlIG5vIGVmZmVjdC4gKi8KLyogI3VuZGVmIFBUSFJFQURf U0lHTUFTS19JTkVGRkVDVElWRSAqLwoKLyogRGVmaW5lIHRvIDEgaWYgcHRocmVhZF9zaWdt YXNrKCkgdW5ibG9ja3Mgc2lnbmFscyBpbmNvcnJlY3RseS4gKi8KLyogI3VuZGVmIFBUSFJF QURfU0lHTUFTS19VTkJMT0NLX0JVRyAqLwoKLyogRGVmaW5lIHRvIGwsIGxsLCB1LCB1bCwg dWxsLCBldGMuLCBhcyBzdWl0YWJsZSBmb3IgY29uc3RhbnRzIG9mIHR5cGUKICAgJ3B0cmRp ZmZfdCcuICovCi8qICN1bmRlZiBQVFJESUZGX1RfU1VGRklYICovCgovKiBIb3cgdG8gaXRl cmF0ZSBvdmVyIFBUWXMuICovCiNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChp ID0gMDsgaSA8IDE7IGkrKykKCi8qIEhvdyB0byBnZXQgdGhlIGRldmljZSBuYW1lIG9mIHRo ZSBjb250cm9sIGVuZCBvZiBhIFBUWSwgaWYgbm9uLXN0YW5kYXJkLiAqLwojZGVmaW5lIFBU WV9OQU1FX1NQUklOVEYgLyoqLwoKLyogSG93IHRvIG9wZW4gYSBQVFksIGlmIG5vbi1zdGFu ZGFyZC4gKi8KI2RlZmluZSBQVFlfT1BFTiBkbyB7IGZkID0gcG9zaXhfb3BlbnB0IChPX1JE V1IgfCBPX0NMT0VYRUMgfCBPX05PQ1RUWSk7IGlmIChmZCA8IDAgJiYgZXJybm8gPT0gRUlO VkFMKSBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19OT0NUVFkpOyB9IHdoaWxlIChm YWxzZSkKCi8qIEhvdyB0byBnZXQgZGV2aWNlIG5hbWUgb2YgdGhlIHR0eSBlbmQgb2YgYSBQ VFksIGlmIG5vbi1zdGFuZGFyZC4gKi8KI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiB7 IGNoYXIgKnB0eW5hbWUgPSAwOyBzaWdzZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNldCAoJmJs b2NrZWQpOyBzaWdhZGRzZXQgKCZibG9ja2VkLCBTSUdDSExEKTsgcHRocmVhZF9zaWdtYXNr IChTSUdfQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1 bmxvY2twdCAoZmQpICE9IC0xKSBwdHluYW1lID0gcHRzbmFtZShmZCk7IHB0aHJlYWRfc2ln bWFzayAoU0lHX1VOQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKCFwdHluYW1lKSB7IGVtYWNz X2Nsb3NlIChmZCk7IHJldHVybiAtMTsgfSBzbnByaW50ZiAocHR5X25hbWUsIFBUWV9OQU1F X1NJWkUsICIlcyIsIHB0eW5hbWUpOyB9CgovKiBEZWZpbmUgdG8gMSBpZiByZWFkbGluayBm YWlscyB0byByZWNvZ25pemUgYSB0cmFpbGluZyBzbGFzaC4gKi8KLyogI3VuZGVmIFJFQURM SU5LX1RSQUlMSU5HX1NMQVNIX0JVRyAqLwoKLyogRGVmaW5lIFJFTF9BTExPQyBpZiB5b3Ug d2FudCB0byB1c2UgdGhlIHJlbG9jYXRpbmcgYWxsb2NhdG9yIGZvciBidWZmZXIKICAgc3Bh Y2UuICovCi8qICN1bmRlZiBSRUxfQUxMT0MgKi8KCi8qIERlZmluZSB0byAxIGlmIGdudWxp YidzIGRpcmZkKCkgcmVwbGFjZW1lbnQgaXMgdXNlZC4gKi8KLyogI3VuZGVmIFJFUExBQ0Vf RElSRkQgKi8KCi8qIERlZmluZSB0byAxIGlmIHN0YXQgbmVlZHMgaGVscCB3aGVuIHBhc3Nl ZCBhIGRpcmVjdG9yeSBuYW1lIHdpdGggYSB0cmFpbGluZwogICBzbGFzaCAqLwovKiAjdW5k ZWYgUkVQTEFDRV9GVU5DX1NUQVRfRElSICovCgovKiBEZWZpbmUgdG8gMSBpZiBzdGF0IG5l ZWRzIGhlbHAgd2hlbiBwYXNzZWQgYSBmaWxlIG5hbWUgd2l0aCBhIHRyYWlsaW5nCiAgIHNs YXNoICovCi8qICN1bmRlZiBSRVBMQUNFX0ZVTkNfU1RBVF9GSUxFICovCgovKiBEZWZpbmUg aWYgZW1hY3MuYyBuZWVkcyB0byBjYWxsIHJ1bl90aW1lX3JlbWFwOyBmb3IgSFBVWC4gKi8K LyogI3VuZGVmIFJVTl9USU1FX1JFTUFQICovCgovKiBDaGFyYWN0ZXIgdGhhdCBzZXBhcmF0 ZXMgUEFUSCBlbGVtZW50cy4gKi8KI2RlZmluZSBTRVBDSEFSICc6JwoKLyogSG93IHRvIHNl dCB1cCBhIHNsYXZlIFBUWSwgaWYgbmVlZGVkLiAqLwovKiAjdW5kZWYgU0VUVVBfU0xBVkVf UFRZICovCgovKiBNYWtlIHByb2Nlc3Nfc2VuZF9zaWduYWwgd29yayBieSAidHlwaW5nIiBh IHNpZ25hbCBjaGFyYWN0ZXIgb24gdGhlIHB0eS4gKi8KI2RlZmluZSBTSUdOQUxTX1ZJQV9D SEFSQUNURVJTIDEKCi8qIERlZmluZSB0byBsLCBsbCwgdSwgdWwsIHVsbCwgZXRjLiwgYXMg c3VpdGFibGUgZm9yIGNvbnN0YW50cyBvZiB0eXBlCiAgICdzaWdfYXRvbWljX3QnLiAqLwov KiAjdW5kZWYgU0lHX0FUT01JQ19UX1NVRkZJWCAqLwoKLyogRGVmaW5lIHRvIGwsIGxsLCB1 LCB1bCwgdWxsLCBldGMuLCBhcyBzdWl0YWJsZSBmb3IgY29uc3RhbnRzIG9mIHR5cGUKICAg J3NpemVfdCcuICovCi8qICN1bmRlZiBTSVpFX1RfU1VGRklYICovCgovKiBEZWZpbmUgaWYg dGhlIHN5c3RlbSBpcyBTb2xhcmlzLiAqLwovKiAjdW5kZWYgU09MQVJJUzIgKi8KCi8qIElm IHVzaW5nIHRoZSBDIGltcGxlbWVudGF0aW9uIG9mIGFsbG9jYSwgZGVmaW5lIGlmIHlvdSBr bm93IHRoZQogICBkaXJlY3Rpb24gb2Ygc3RhY2sgZ3Jvd3RoIGZvciB5b3VyIHN5c3RlbTsg b3RoZXJ3aXNlIGl0IHdpbGwgYmUKICAgYXV0b21hdGljYWxseSBkZWR1Y2VkIGF0IHJ1bnRp bWUuCglTVEFDS19ESVJFQ1RJT04gPiAwID0+IGdyb3dzIHRvd2FyZCBoaWdoZXIgYWRkcmVz c2VzCglTVEFDS19ESVJFQ1RJT04gPCAwID0+IGdyb3dzIHRvd2FyZCBsb3dlciBhZGRyZXNz ZXMKCVNUQUNLX0RJUkVDVElPTiA9IDAgPT4gZGlyZWN0aW9uIG9mIGdyb3d0aCB1bmtub3du ICovCi8qICN1bmRlZiBTVEFDS19ESVJFQ1RJT04gKi8KCi8qIERlZmluZSB0byAxIGlmIHRo ZSBgU19JUyonIG1hY3JvcyBpbiA8c3lzL3N0YXQuaD4gZG8gbm90IHdvcmsgcHJvcGVybHku ICovCi8qICN1bmRlZiBTVEFUX01BQ1JPU19CUk9LRU4gKi8KCi8qIERlZmluZSB0byAxIGlm IHlvdSBoYXZlIHRoZSBBTlNJIEMgaGVhZGVyIGZpbGVzLiAqLwojZGVmaW5lIFNURENfSEVB REVSUyAxCgovKiBEZWZpbmUgdG8gMSBvbiBTeXN0ZW0gViBSZWxlYXNlIDQuICovCi8qICN1 bmRlZiBTVlI0ICovCgovKiBEZWZpbmUgdG8gMSB0byB1c2UgdGhlIHN5c3RlbSBtZW1vcnkg YWxsb2NhdG9yLCBldmVuIGlmIGl0IGlzIG5vdCBEb3VnIExlYQogICBzdHlsZS4gKi8KLyog I3VuZGVmIFNZU1RFTV9NQUxMT0MgKi8KCi8qIFRoZSB0eXBlIG9mIHN5c3RlbSB5b3UgYXJl IGNvbXBpbGluZyBmb3I7IHNldHMgJ3N5c3RlbS10eXBlJy4gKi8KI2RlZmluZSBTWVNURU1f VFlQRSAiZ251L2xpbnV4IgoKLyogVW5kb2N1bWVudGVkLiAqLwovKiAjdW5kZWYgVEFCMyAq LwoKLyogVW5kb2N1bWVudGVkLiAqLwovKiAjdW5kZWYgVEFCRExZICovCgovKiBEZWZpbmUg dG8gMSBpZiB5b3UgdXNlIHRlcm1pbmZvIGluc3RlYWQgb2YgdGVybWNhcC4gKi8KI2RlZmlu ZSBURVJNSU5GTyAxCgovKiBEZWZpbmUgdG8gdGhlIGhlYWRlciBmb3IgdGhlIGJ1aWx0LWlu IHdpbmRvdyBzeXN0ZW0uICovCiNkZWZpbmUgVEVSTV9IRUFERVIgImd0a3V0aWwuaCIKCi8q IERlZmluZSB0byAxIGlmIHlvdSBjYW4gc2FmZWx5IGluY2x1ZGUgYm90aCA8c3lzL3RpbWUu aD4gYW5kIDx0aW1lLmg+LiAqLwojZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCgovKiBT b21lIHBsYXRmb3JtcyByZWRlZmluZSB0aGlzLiAqLwovKiAjdW5kZWYgVElPQ1NJR1NFTkQg Ki8KCi8qIERlZmluZSB0byAxIGlmIHlvdXIgPHN5cy90aW1lLmg+IGRlY2xhcmVzIGBzdHJ1 Y3QgdG0nLiAqLwovKiAjdW5kZWYgVE1fSU5fU1lTX1RJTUUgKi8KCi8qIERlZmluZSB0byAx IGlmIHRoZSB0eXBlIG9mIHRoZSBzdF9hdGltIG1lbWJlciBvZiBhIHN0cnVjdCBzdGF0IGlz IHN0cnVjdAogICB0aW1lc3BlYy4gKi8KI2RlZmluZSBUWVBFT0ZfU1RSVUNUX1NUQVRfU1Rf QVRJTV9JU19TVFJVQ1RfVElNRVNQRUMgMQoKLyogRGVmaW5lIHRvIDEgZm9yIEVuY29yZSBV TUFYLiAqLwovKiAjdW5kZWYgVU1BWCAqLwoKLyogRGVmaW5lIHRvIDEgZm9yIEVuY29yZSBV TUFYIDQuMyB0aGF0IGhhcyA8aW5xX3N0YXR1cy9jcHVzdGF0cy5oPiBpbnN0ZWFkIG9mCiAg IDxzeXMvY3B1c3RhdHMuaD4uICovCi8qICN1bmRlZiBVTUFYNF8zICovCgovKiBEZWZpbmUg aWYgdGhlIHN5c3RlbSBoYXMgVW5peDk4IFBUWXMuICovCiNkZWZpbmUgVU5JWDk4X1BUWVMg MQoKLyogRGVmaW5lIHRvIDEgaWYgRklPTlJFQUQgaXMgdXNhYmxlLiAqLwojZGVmaW5lIFVT QUJMRV9GSU9OUkVBRCAxCgovKiBEZWZpbmUgdG8gMSBpZiBTSUdJTyBpcyB1c2FibGUuICov CiNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKCi8qIEhvdyB0byBnZXQgYSB1c2VyJ3MgZnVsbCBu YW1lLiAqLwojZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwoKLyogRGVmaW5l IHRvIG5vbnplcm8gaWYgeW91IHdhbnQgYWNjZXNzIGNvbnRyb2wgbGlzdCBzdXBwb3J0LiAq LwojZGVmaW5lIFVTRV9BQ0wgMQoKLyogRGVmaW5lIHRvIDEgaWYgdXNpbmcgY2Fpcm8uICov Ci8qICN1bmRlZiBVU0VfQ0FJUk8gKi8KCi8qIERlZmluZSB0byAxIGlmIHVzaW5nIGZpbGUg bm90aWZpY2F0aW9ucy4gKi8KI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQoKLyogRGVmaW5l IHRvIDEgaWYgdXNpbmcgR1RLLiAqLwojZGVmaW5lIFVTRV9HVEsgMQoKLyogRGVmaW5lIHRv IDEgaWYgdXNpbmcgdGhlIEx1Y2lkIFggdG9vbGtpdC4gKi8KLyogI3VuZGVmIFVTRV9MVUNJ RCAqLwoKLyogRGVmaW5lIHRvIHVzZSBtbWFwIHRvIGFsbG9jYXRlIGJ1ZmZlciB0ZXh0LiAq LwovKiAjdW5kZWYgVVNFX01NQVBfRk9SX0JVRkZFUlMgKi8KCi8qIERlZmluZSB0byAxIGlm IHVzaW5nIHRoZSBNb3RpZiBYIHRvb2xraXQuICovCi8qICN1bmRlZiBVU0VfTU9USUYgKi8K Ci8qIERlZmluZSB0byAxIGlmIHlvdSB1c2UgbmN1cnNlcy4gKi8KLyogI3VuZGVmIFVTRV9O Q1VSU0VTICovCgovKiBFbmFibGUgZXh0ZW5zaW9ucyBvbiBBSVggMywgSW50ZXJpeC4gICov CiNpZm5kZWYgX0FMTF9TT1VSQ0UKIyBkZWZpbmUgX0FMTF9TT1VSQ0UgMQojZW5kaWYKLyog RW5hYmxlIGdlbmVyYWwgZXh0ZW5zaW9ucyBvbiBPUyBYLiAgKi8KI2lmbmRlZiBfREFSV0lO X0NfU09VUkNFCiMgZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQojZW5kaWYKLyogRW5hYmxl IEdOVSBleHRlbnNpb25zIG9uIHN5c3RlbXMgdGhhdCBoYXZlIHRoZW0uICAqLwojaWZuZGVm IF9HTlVfU09VUkNFCiMgZGVmaW5lIF9HTlVfU09VUkNFIDEKI2VuZGlmCi8qIFVzZSBHTlUg c3R5bGUgcHJpbnRmIGFuZCBzY2FuZi4gICovCiNpZm5kZWYgX19VU0VfTUlOR1dfQU5TSV9T VERJTwojIGRlZmluZSBfX1VTRV9NSU5HV19BTlNJX1NURElPIDEKI2VuZGlmCi8qIEVuYWJs ZSB0aHJlYWRpbmcgZXh0ZW5zaW9ucyBvbiBTb2xhcmlzLiAgKi8KI2lmbmRlZiBfUE9TSVhf UFRIUkVBRF9TRU1BTlRJQ1MKIyBkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEK I2VuZGlmCi8qIEVuYWJsZSBleHRlbnNpb25zIG9uIEhQIE5vblN0b3AuICAqLwojaWZuZGVm IF9UQU5ERU1fU09VUkNFCiMgZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKI2VuZGlmCi8qIEVu YWJsZSBYL09wZW4gZXh0ZW5zaW9ucyBpZiBuZWNlc3NhcnkuICBIUC1VWCAxMS4xMSBkZWZp bmVzCiAgIG1ic3RhdGVfdCBvbmx5IGlmIF9YT1BFTl9TT1VSQ0UgaXMgZGVmaW5lZCB0byA1 MDAsIHJlZ2FyZGxlc3Mgb2YKICAgd2hldGhlciBjb21waWxpbmcgd2l0aCAtQWUgb3IgLURf SFBVWF9TT1VSQ0U9MS4gICovCiNpZm5kZWYgX1hPUEVOX1NPVVJDRQovKiAjIHVuZGVmIF9Y T1BFTl9TT1VSQ0UgKi8KI2VuZGlmCi8qIEVuYWJsZSBnZW5lcmFsIGV4dGVuc2lvbnMgb24g U29sYXJpcy4gICovCiNpZm5kZWYgX19FWFRFTlNJT05TX18KIyBkZWZpbmUgX19FWFRFTlNJ T05TX18gMQojZW5kaWYKCgovKiBEZWZpbmUgdG8gMSBpZiB3ZSBzaG91bGQgdXNlIHRvb2xr aXQgc2Nyb2xsIGJhcnMuICovCiNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQoK LyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIFhDQiBsaWJyYXJ5IGFuZCBYMTEtWENC IGxpYnJhcnkgZm9yIG1peGVkCiAgIFgxMS9YQ0IgcHJvZ3JhbW1pbmcuICovCiNkZWZpbmUg VVNFX1hDQiAxCgovKiBEZWZpbmUgdG8gMSBpZiB3ZSBzaG91bGQgdXNlIFhJTSwgaWYgaXQg aXMgYXZhaWxhYmxlLiAqLwojZGVmaW5lIFVTRV9YSU0gMQoKLyogRGVmaW5lIHRvIDEgaWYg dXNpbmcgYW4gWCB0b29sa2l0LiAqLwovKiAjdW5kZWYgVVNFX1hfVE9PTEtJVCAqLwoKLyog RGVmaW5lIGlmIHRoZSBzeXN0ZW0gaXMgY29tcGF0aWJsZSB3aXRoIFN5c3RlbSBJSUkuICov CiNkZWZpbmUgVVNHIC8qKi8KCi8qIERlZmluZSBpZiB0aGUgc3lzdGVtIGlzIGNvbXBhdGli bGUgd2l0aCBTeXN0ZW0gViBSZWxlYXNlIDQuICovCi8qICN1bmRlZiBVU0c1XzQgKi8KCi8q IERlZmluZSBmb3IgVVNHIHN5c3RlbXMgd2hlcmUgaXQgd29ya3MgdG8gb3BlbiBhIHB0eSdz IHR0eSBpbiB0aGUgcGFyZW50CiAgIHByb2Nlc3MsIHRoZW4gY2xvc2UgYW5kIHJlb3BlbiBp dCBpbiB0aGUgY2hpbGQuICovCi8qICN1bmRlZiBVU0dfU1VCVFRZX1dPUktTICovCgovKiBW ZXJzaW9uIG51bWJlciBvZiBwYWNrYWdlICovCiNkZWZpbmUgVkVSU0lPTiAiMjUuMC45MiIK Ci8qIERlZmluZSB0byBsLCBsbCwgdSwgdWwsIHVsbCwgZXRjLiwgYXMgc3VpdGFibGUgZm9y IGNvbnN0YW50cyBvZiB0eXBlCiAgICd3Y2hhcl90Jy4gKi8KLyogI3VuZGVmIFdDSEFSX1Rf U1VGRklYICovCgovKiBVc2UgbG9uZyBsb25nIGZvciBFTUFDU19JTlQgaWYgYXZhaWxhYmxl LiAqLwovKiAjdW5kZWYgV0lERV9FTUFDU19JTlQgKi8KCi8qIERlZmluZSBpZiBjb21waWxp bmcgZm9yIG5hdGl2ZSBNUyBXaW5kb3dzLiAqLwovKiAjdW5kZWYgV0lORE9XU05UICovCgov KiBEZWZpbmUgdG8gbCwgbGwsIHUsIHVsLCB1bGwsIGV0Yy4sIGFzIHN1aXRhYmxlIGZvciBj b25zdGFudHMgb2YgdHlwZQogICAnd2ludF90Jy4gKi8KLyogI3VuZGVmIFdJTlRfVF9TVUZG SVggKi8KCi8qIERlZmluZSBXT1JEU19CSUdFTkRJQU4gdG8gMSBpZiB5b3VyIHByb2Nlc3Nv ciBzdG9yZXMgd29yZHMgd2l0aCB0aGUgbW9zdAogICBzaWduaWZpY2FudCBieXRlIGZpcnN0 IChsaWtlIE1vdG9yb2xhIGFuZCBTUEFSQywgdW5saWtlIEludGVsKS4gKi8KI2lmIGRlZmlu ZWQgQUNfQVBQTEVfVU5JVkVSU0FMX0JVSUxECiMgaWYgZGVmaW5lZCBfX0JJR19FTkRJQU5f XwojICBkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKIyBlbmRpZgojZWxzZQojIGlmbmRlZiBX T1JEU19CSUdFTkRJQU4KLyogIyAgdW5kZWYgV09SRFNfQklHRU5ESUFOICovCiMgZW5kaWYK I2VuZGlmCgovKiBEZWZpbmUgdGhpcyB0byBjaGVjayBmb3IgbWFsbG9jIGJ1ZmZlciBvdmVy cnVuLiAqLwovKiAjdW5kZWYgWE1BTExPQ19PVkVSUlVOX0NIRUNLICovCgovKiBDb21wZW5z YXRlIGZvciBhIGJ1ZyBpbiBYb3MuaCBvbiBzb21lIHN5c3RlbXMsIHdoZXJlIGl0IHJlcXVp cmVzIHRpbWUuaC4gKi8KLyogI3VuZGVmIFhPU19ORUVEU19USU1FX0ggKi8KCi8qIERlZmlu ZSB0byB0aGUgdHlwZSBvZiB0aGUgNnRoIGFyZyBvZiBYUmVnaXN0ZXJJTUluc3RhbnRpYXRl Q2FsbGJhY2ssIGVpdGhlcgogICBYUG9pbnRlciBvciBYUG9pbnRlciouICovCiNkZWZpbmUg WFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKCi8qIERlZmlu ZSBpZiB0aGUgc3lzdGVtIGlzIEFJWC4gKi8KLyogI3VuZGVmIF9BSVggKi8KCi8qIEVuYWJs ZSBsYXJnZSBpbm9kZSBudW1iZXJzIG9uIE1hYyBPUyBYIDEwLjUuICovCiNkZWZpbmUgX0RB UldJTl9VU0VfNjRfQklUX0lOT0RFIDEKCi8qIE51bWJlciBvZiBiaXRzIGluIGEgZmlsZSBv ZmZzZXQsIG9uIGhvc3RzIHdoZXJlIHRoaXMgaXMgc2V0dGFibGUuICovCi8qICN1bmRlZiBf RklMRV9PRkZTRVRfQklUUyAqLwoKLyogRGVmaW5lIHRvIDEgaWYgR251bGliIG92ZXJyaWRl cyAnc3RydWN0IHN0YXQnIG9uIFdpbmRvd3Mgc28gdGhhdCBzdHJ1Y3QKICAgc3RhdC5zdF9z aXplIGJlY29tZXMgNjQtYml0LiAqLwovKiAjdW5kZWYgX0dMX1dJTkRPV1NfNjRfQklUX1NU X1NJWkUgKi8KCi8qIERlZmluZSB0byAxIHRvIG1ha2UgZnNlZWtvIHZpc2libGUgb24gc29t ZSBob3N0cyAoZS5nLiBnbGliYyAyLjIpLiAqLwovKiAjdW5kZWYgX0xBUkdFRklMRV9TT1VS Q0UgKi8KCi8qIERlZmluZSBmb3IgbGFyZ2UgZmlsZXMsIG9uIEFJWC1zdHlsZSBob3N0cy4g Ki8KLyogI3VuZGVmIF9MQVJHRV9GSUxFUyAqLwoKLyogRGVmaW5lIHRvIDEgaWYgb24gTUlO SVguICovCi8qICN1bmRlZiBfTUlOSVggKi8KCi8qIERlZmluZSBpZiBHTlVzdGVwIHVzZXMg T2JqQyBleGNlcHRpb25zLiAqLwovKiAjdW5kZWYgX05BVElWRV9PQkpDX0VYQ0VQVElPTlMg Ki8KCi8qIERlZmluZSB0byAxIHRvIG1ha2UgTmV0QlNEIGZlYXR1cmVzIGF2YWlsYWJsZS4g TUlOSVggMyBuZWVkcyB0aGlzLiAqLwovKiAjdW5kZWYgX05FVEJTRF9TT1VSQ0UgKi8KCi8q IFRoZSBfTm9yZXR1cm4ga2V5d29yZCBvZiBDMTEuICAqLwojaWYgISAoZGVmaW5lZCBfTm9y ZXR1cm4gXAogICAgICAgfHwgKGRlZmluZWQgX19TVERDX1ZFUlNJT05fXyAmJiAyMDExMTIg PD0gX19TVERDX1ZFUlNJT05fXykpCiMgaWYgKDMgPD0gX19HTlVDX18gfHwgKF9fR05VQ19f ID09IDIgJiYgOCA8PSBfX0dOVUNfTUlOT1JfXykgXAogICAgICB8fCAweDUxMTAgPD0gX19T VU5QUk9fQykKIyAgZGVmaW5lIF9Ob3JldHVybiBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVy bl9fKSkKIyBlbGlmIGRlZmluZWQgX01TQ19WRVIgJiYgMTIwMCA8PSBfTVNDX1ZFUgojICBk ZWZpbmUgX05vcmV0dXJuIF9fZGVjbHNwZWMgKG5vcmV0dXJuKQojIGVsc2UKIyAgZGVmaW5l IF9Ob3JldHVybgojIGVuZGlmCiNlbmRpZgoKCi8qIERlZmluZSB0byAyIGlmIHRoZSBzeXN0 ZW0gZG9lcyBub3QgcHJvdmlkZSBQT1NJWC4xIGZlYXR1cmVzIGV4Y2VwdCB3aXRoCiAgIHRo aXMgZGVmaW5lZC4gKi8KLyogI3VuZGVmIF9QT1NJWF8xX1NPVVJDRSAqLwoKLyogRGVmaW5l IHRvIDEgaWYgeW91IG5lZWQgdG8gaW4gb3JkZXIgZm9yICdzdGF0JyBhbmQgb3RoZXIgdGhp bmdzIHRvIHdvcmsuICovCi8qICN1bmRlZiBfUE9TSVhfU09VUkNFICovCgovKiBEZWZpbmUg dG8gMSBpZiB5b3VyIHN5c3RlbSByZXF1aXJlcyB0aGlzIGluIG11bHRpdGhyZWFkZWQgY29k ZS4gKi8KLyogI3VuZGVmIF9SRUVOVFJBTlQgKi8KCi8qIE5lZWRlZCBmb3Igc3lzdGVtX3By b2Nlc3NfYXR0cmlidXRlcyBvbiBTb2xhcmlzLiAqLwovKiAjdW5kZWYgX1NUUlVDVFVSRURf UFJPQyAqLwoKLyogRGVmaW5lIHRvIDEgaWYgeW91ciBzeXN0ZW0gcmVxdWlyZXMgdGhpcyBp biBtdWx0aXRocmVhZGVkIGNvZGUuICovCi8qICN1bmRlZiBfVEhSRUFEX1NBRkUgKi8KCi8q IERlZmluZSB0byBycGxfIGlmIHRoZSBnZXRvcHQgcmVwbGFjZW1lbnQgZnVuY3Rpb25zIGFu ZCB2YXJpYWJsZXMgc2hvdWxkIGJlCiAgIHVzZWQuICovCi8qICN1bmRlZiBfX0dFVE9QVF9Q UkVGSVggKi8KCi8qIERlZmluZSB0byAxIGlmIEMgZG9lcyBub3Qgc3VwcG9ydCB2YXJpYWJs ZS1sZW5ndGggYXJyYXlzLCBhbmQgaWYgdGhlCiAgIGNvbXBpbGVyIGRvZXMgbm90IGFscmVh ZHkgZGVmaW5lIHRoaXMuICovCi8qICN1bmRlZiBfX1NURENfTk9fVkxBX18gKi8KCi8qIFNv bWUgcGxhdGZvcm1zIHRoYXQgZG8gbm90IHVzZSBjb25maWd1cmUgZGVmaW5lIHRoaXMgdG8g aW5jbHVkZSBleHRyYQogICBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLiAqLwovKiAjdW5k ZWYgY29uZmlnX29wc3lzZmlsZSAqLwoKLyogUGxlYXNlIHNlZSB0aGUgR251bGliIG1hbnVh bCBmb3IgaG93IHRvIHVzZSB0aGVzZSBtYWNyb3MuCgogICBTdXBwcmVzcyBleHRlcm4gaW5s aW5lIHdpdGggSFAtVVggY2MsIGFzIGl0IGFwcGVhcnMgdG8gYmUgYnJva2VuOyBzZWUKICAg PGh0dHA6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9idWctdGV4aW5mby8yMDEzLTAy L21zZzAwMDMwLmh0bWw+LgoKICAgU3VwcHJlc3MgZXh0ZXJuIGlubGluZSB3aXRoIFN1biBD IGluIHN0YW5kYXJkcy1jb25mb3JtYW5jZSBtb2RlLCBhcyBpdAogICBtaXNoYW5kbGVzIGlu bGluZSBmdW5jdGlvbnMgdGhhdCBjYWxsIGVhY2ggb3RoZXIuICBFLmcuLCBmb3IgJ2lubGlu ZSB2b2lkIGYKICAgKHZvaWQpIHsgfSBpbmxpbmUgdm9pZCBnICh2b2lkKSB7IGYgKCk7IH0n LCBjOTkgaW5jb3JyZWN0bHkgY29tcGxhaW5zCiAgICdyZWZlcmVuY2UgdG8gc3RhdGljIGlk ZW50aWZpZXIgImYiIGluIGV4dGVybiBpbmxpbmUgZnVuY3Rpb24nLgogICBUaGlzIGJ1ZyB3 YXMgb2JzZXJ2ZWQgd2l0aCBTdW4gQyA1LjEyIFN1bk9TX2kzODYgMjAxMS8xMS8xNi4KCiAg IFN1cHByZXNzIGV4dGVybiBpbmxpbmUgKHdpdGggb3Igd2l0aG91dCBfX2F0dHJpYnV0ZV9f ICgoX19nbnVfaW5saW5lX18pKSkKICAgb24gY29uZmlndXJhdGlvbnMgdGhhdCBtaXN0YWtl bmx5IHVzZSAnc3RhdGljIGlubGluZScgdG8gaW1wbGVtZW50CiAgIGZ1bmN0aW9ucyBvciBt YWNyb3MgaW4gc3RhbmRhcmQgQyBoZWFkZXJzIGxpa2UgPGN0eXBlLmg+LiAgRm9yIGV4YW1w bGUsCiAgIGlmIGlzZGlnaXQgaXMgbWlzdGFrZW5seSBpbXBsZW1lbnRlZCB2aWEgYSBzdGF0 aWMgaW5saW5lIGZ1bmN0aW9uLAogICBhIHByb2dyYW0gY29udGFpbmluZyBhbiBleHRlcm4g aW5saW5lIGZ1bmN0aW9uIHRoYXQgY2FsbHMgaXNkaWdpdAogICBtYXkgbm90IHdvcmsgc2lu Y2UgdGhlIEMgc3RhbmRhcmQgcHJvaGliaXRzIGV4dGVybiBpbmxpbmUgZnVuY3Rpb25zCiAg IGZyb20gY2FsbGluZyBzdGF0aWMgZnVuY3Rpb25zLiAgVGhpcyBidWcgaXMga25vd24gdG8g b2NjdXIgb246CgogICAgIE9TIFggMTAuOCBhbmQgZWFybGllcjsgc2VlOgogICAgIGh0dHA6 Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9idWctZ251bGliLzIwMTItMTIvbXNnMDAw MjMuaHRtbAoKICAgICBEcmFnb25GbHk7IHNlZQogICAgIGh0dHA6Ly9tdXNjbGVzLmRyYWdv bmZseWJzZC5vcmcvYnVsay9ibGVlZGluZy1lZGdlLXBvdGVudGlhbC9sYXRlc3QtcGVyLXBr Zy9haC10dHktMC4zLjEyLmxvZwoKICAgICBGcmVlQlNEOyBzZWU6CiAgICAgaHR0cDovL2xp c3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2J1Zy1nbnVsaWIvMjAxNC0wNy9tc2cwMDEwNC5o dG1sCgogICBPUyBYIDEwLjkgaGFzIGEgbWFjcm8gX19oZWFkZXJfaW5saW5lIGluZGljYXRp bmcgdGhlIGJ1ZyBpcyBmaXhlZCBmb3IgQyBhbmQKICAgZm9yIGNsYW5nIGJ1dCByZW1haW5z IGZvciBnKys7IHNlZSA8aHR0cDovL3RyYWMubWFjcG9ydHMub3JnL3RpY2tldC80MTAzMz4u CiAgIEFzc3VtZSBEcmFnb25GbHkgYW5kIEZyZWVCU0Qgd2lsbCBiZSBzaW1pbGFyLiAgKi8K I2lmICgoKGRlZmluZWQgX19BUFBMRV9fICYmIGRlZmluZWQgX19NQUNIX18pIFwKICAgICAg fHwgZGVmaW5lZCBfX0RyYWdvbkZseV9fIHx8IGRlZmluZWQgX19GcmVlQlNEX18pIFwKICAg ICAmJiAoZGVmaW5lZCBfX2hlYWRlcl9pbmxpbmUgXAogICAgICAgICA/IChkZWZpbmVkIF9f Y3BsdXNwbHVzICYmIGRlZmluZWQgX19HTlVDX1NURENfSU5MSU5FX18gXAogICAgICAgICAg ICAmJiAhIGRlZmluZWQgX19jbGFuZ19fKSBcCiAgICAgICAgIDogKCghIGRlZmluZWQgX0RP TlRfVVNFX0NUWVBFX0lOTElORV8gXAogICAgICAgICAgICAgJiYgKGRlZmluZWQgX19HTlVD X18gfHwgZGVmaW5lZCBfX2NwbHVzcGx1cykpIFwKICAgICAgICAgICAgfHwgKGRlZmluZWQg X0ZPUlRJRllfU09VUkNFICYmIDAgPCBfRk9SVElGWV9TT1VSQ0UgXAogICAgICAgICAgICAg ICAgJiYgZGVmaW5lZCBfX0dOVUNfXyAmJiAhIGRlZmluZWQgX19jcGx1c3BsdXMpKSkpCiMg ZGVmaW5lIF9HTF9FWFRFUk5fSU5MSU5FX1NUREhFQURFUl9CVUcKI2VuZGlmCiNpZiAoKF9f R05VQ19fIFwKICAgICAgPyBkZWZpbmVkIF9fR05VQ19TVERDX0lOTElORV9fICYmIF9fR05V Q19TVERDX0lOTElORV9fIFwKICAgICAgOiAoMTk5OTAxTCA8PSBfX1NURENfVkVSU0lPTl9f IFwKICAgICAgICAgJiYgIWRlZmluZWQgX19IUF9jYyBcCiAgICAgICAgICYmICEoZGVmaW5l ZCBfX1NVTlBST19DICYmIF9fU1REQ19fKSkpIFwKICAgICAmJiAhZGVmaW5lZCBfR0xfRVhU RVJOX0lOTElORV9TVERIRUFERVJfQlVHKQojIGRlZmluZSBfR0xfSU5MSU5FIGlubGluZQoj IGRlZmluZSBfR0xfRVhURVJOX0lOTElORSBleHRlcm4gaW5saW5lCiMgZGVmaW5lIF9HTF9F WFRFUk5fSU5MSU5FX0lOX1VTRQojZWxpZiAoMiA8IF9fR05VQ19fICsgKDcgPD0gX19HTlVD X01JTk9SX18pICYmICFkZWZpbmVkIF9fU1RSSUNUX0FOU0lfXyBcCiAgICAgICAmJiAhZGVm aW5lZCBfR0xfRVhURVJOX0lOTElORV9TVERIRUFERVJfQlVHKQojIGlmIGRlZmluZWQgX19H TlVDX0dOVV9JTkxJTkVfXyAmJiBfX0dOVUNfR05VX0lOTElORV9fCiAgIC8qIF9fZ251X2lu bGluZV9fIHN1cHByZXNzZXMgYSBHQ0MgNC4yIGRpYWdub3N0aWMuICAqLwojICBkZWZpbmUg X0dMX0lOTElORSBleHRlcm4gaW5saW5lIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVf XykpCiMgZWxzZQojICBkZWZpbmUgX0dMX0lOTElORSBleHRlcm4gaW5saW5lCiMgZW5kaWYK IyBkZWZpbmUgX0dMX0VYVEVSTl9JTkxJTkUgZXh0ZXJuCiMgZGVmaW5lIF9HTF9FWFRFUk5f SU5MSU5FX0lOX1VTRQojZWxzZQojIGRlZmluZSBfR0xfSU5MSU5FIHN0YXRpYyBfR0xfVU5V U0VECiMgZGVmaW5lIF9HTF9FWFRFUk5fSU5MSU5FIHN0YXRpYyBfR0xfVU5VU0VECiNlbmRp ZgoKLyogSW4gR0NDIDQuNiAoaW5jbHVzaXZlKSB0byA1LjEgKGV4Y2x1c2l2ZSksCiAgIHN1 cHByZXNzIGJvZ3VzICJubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yICdGT08nIgogICBhbmQg Im5vIHByZXZpb3VzIGRlY2xhcmF0aW9uIGZvciAnRk9PJyIgZGlhZ25vc3RpY3MsCiAgIHdo ZW4gRk9PIGlzIGFuIGlubGluZSBmdW5jdGlvbiBpbiB0aGUgaGVhZGVyOyBzZWUKICAgPGh0 dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTU0MTEzPiBhbmQK ICAgPGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTYzODc3 Pi4gICovCiNpZiBfX0dOVUNfXyA9PSA0ICYmIDYgPD0gX19HTlVDX01JTk9SX18KIyBpZiBk ZWZpbmVkIF9fR05VQ19TVERDX0lOTElORV9fICYmIF9fR05VQ19TVERDX0lOTElORV9fCiMg IGRlZmluZSBfR0xfSU5MSU5FX0hFQURFUl9DT05TVF9QUkFHTUEKIyBlbHNlCiMgIGRlZmlu ZSBfR0xfSU5MSU5FX0hFQURFUl9DT05TVF9QUkFHTUEgXAogICAgIF9QcmFnbWEgKCJHQ0Mg ZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVdzdWdnZXN0LWF0dHJpYnV0ZT1jb25zdFwiIikKIyBl bmRpZgojIGRlZmluZSBfR0xfSU5MSU5FX0hFQURFUl9CRUdJTiBcCiAgICBfUHJhZ21hICgi R0NDIGRpYWdub3N0aWMgcHVzaCIpIFwKICAgIF9QcmFnbWEgKCJHQ0MgZGlhZ25vc3RpYyBp Z25vcmVkIFwiLVdtaXNzaW5nLXByb3RvdHlwZXNcIiIpIFwKICAgIF9QcmFnbWEgKCJHQ0Mg ZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVdtaXNzaW5nLWRlY2xhcmF0aW9uc1wiIikgXAogICAg X0dMX0lOTElORV9IRUFERVJfQ09OU1RfUFJBR01BCiMgZGVmaW5lIF9HTF9JTkxJTkVfSEVB REVSX0VORCBcCiAgICBfUHJhZ21hICgiR0NDIGRpYWdub3N0aWMgcG9wIikKI2Vsc2UKIyBk ZWZpbmUgX0dMX0lOTElORV9IRUFERVJfQkVHSU4KIyBkZWZpbmUgX0dMX0lOTElORV9IRUFE RVJfRU5ECiNlbmRpZgoKLyogV29yayBhcm91bmQgYSBidWcgaW4gQXBwbGUgR0NDIDQuMC4x IGJ1aWxkIDU0NjU6IEluIEM5OSBtb2RlLCBpdCBzdXBwb3J0cwogICB0aGUgSVNPIEMgOTkg c2VtYW50aWNzIG9mICdleHRlcm4gaW5saW5lJyAodW5saWtlIHRoZSBHTlUgQyBzZW1hbnRp Y3Mgb2YKICAgZWFybGllciB2ZXJzaW9ucyksIGJ1dCBkb2VzIG5vdCBkaXNwbGF5IGl0IGJ5 IHNldHRpbmcgX19HTlVDX1NURENfSU5MSU5FX18uCiAgIF9fQVBQTEVfXyAmJiBfX01BQ0hf XyB0ZXN0IGZvciBNYWMgT1MgWC4KICAgX19BUFBMRV9DQ19fIHRlc3RzIGZvciB0aGUgQXBw bGUgY29tcGlsZXIgYW5kIGl0cyB2ZXJzaW9uLgogICBfX1NURENfVkVSU0lPTl9fIHRlc3Rz IGZvciB0aGUgQzk5IG1vZGUuICAqLwojaWYgZGVmaW5lZCBfX0FQUExFX18gJiYgZGVmaW5l ZCBfX01BQ0hfXyAmJiBfX0FQUExFX0NDX18gPj0gNTQ2NSAmJiAhZGVmaW5lZCBfX2NwbHVz cGx1cyAmJiBfX1NURENfVkVSU0lPTl9fID49IDE5OTkwMUwgJiYgIWRlZmluZWQgX19HTlVD X1NURENfSU5MSU5FX18KIyBkZWZpbmUgX19HTlVDX1NURENfSU5MSU5FX18gMQojZW5kaWYK Ci8qIERlZmluZSB0byAxIGlmIHRoZSBjb21waWxlciBpcyBjaGVja2luZyBmb3IgbGludC4g Ki8KI2RlZmluZSBsaW50IDEKCi8qIERlZmluZSB0byBhIHR5cGUgaWYgPHdjaGFyLmg+IGRv ZXMgbm90IGRlZmluZS4gKi8KLyogI3VuZGVmIG1ic3RhdGVfdCAqLwoKLyogRGVmaW5lIHRv IHRoZSByZWFsIG5hbWUgb2YgdGhlIG1rdGltZV9pbnRlcm5hbCBmdW5jdGlvbi4gKi8KLyog I3VuZGVmIG1rdGltZV9pbnRlcm5hbCAqLwoKLyogRGVmaW5lIHRvIGBpbnQnIGlmIDxzeXMv dHlwZXMuaD4gZG9lcyBub3QgZGVmaW5lLiAqLwovKiAjdW5kZWYgbW9kZV90ICovCgovKiBE ZWZpbmUgdG8gdGhlIG5hbWUgb2YgdGhlIHN0cmZ0aW1lIHJlcGxhY2VtZW50IGZ1bmN0aW9u LiAqLwojZGVmaW5lIG15X3N0cmZ0aW1lIG5zdHJmdGltZQoKLyogRGVmaW5lIHRvIHRoZSB0 eXBlIG9mIHN0X25saW5rIGluIHN0cnVjdCBzdGF0LCBvciBhIHN1cGVydHlwZS4gKi8KLyog I3VuZGVmIG5saW5rX3QgKi8KCi8qIERlZmluZSB0byBgaW50JyBpZiA8c3lzL3R5cGVzLmg+ IGRvZXMgbm90IGRlZmluZS4gKi8KLyogI3VuZGVmIHBpZF90ICovCgovKiBEZWZpbmUgdG8g dGhlIGVxdWl2YWxlbnQgb2YgdGhlIEM5OSAncmVzdHJpY3QnIGtleXdvcmQsIG9yIHRvCiAg IG5vdGhpbmcgaWYgdGhpcyBpcyBub3Qgc3VwcG9ydGVkLiAgRG8gbm90IGRlZmluZSBpZiBy ZXN0cmljdCBpcwogICBzdXBwb3J0ZWQgZGlyZWN0bHkuICAqLwojZGVmaW5lIHJlc3RyaWN0 IF9fcmVzdHJpY3QKLyogV29yayBhcm91bmQgYSBidWcgaW4gU3VuIEMrKzogaXQgZG9lcyBu b3Qgc3VwcG9ydCBfUmVzdHJpY3Qgb3IKICAgX19yZXN0cmljdF9fLCBldmVuIHRob3VnaCB0 aGUgY29ycmVzcG9uZGluZyBTdW4gQyBjb21waWxlciBlbmRzIHVwIHdpdGgKICAgIiNkZWZp bmUgcmVzdHJpY3QgX1Jlc3RyaWN0IiBvciAiI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0 X18iIGluIHRoZQogICBwcmV2aW91cyBsaW5lLiAgUGVyaGFwcyBzb21lIGZ1dHVyZSB2ZXJz aW9uIG9mIFN1biBDKysgd2lsbCB3b3JrIHdpdGgKICAgcmVzdHJpY3Q7IGlmIHNvLCBob3Bl ZnVsbHkgaXQgZGVmaW5lcyBfX1JFU1RSSUNUIGxpa2UgU3VuIEMgZG9lcy4gICovCiNpZiBk ZWZpbmVkIF9fU1VOUFJPX0NDICYmICFkZWZpbmVkIF9fUkVTVFJJQ1QKIyBkZWZpbmUgX1Jl c3RyaWN0CiMgZGVmaW5lIF9fcmVzdHJpY3RfXwojZW5kaWYKCi8qIHR5cGUgdG8gdXNlIGlu IHBsYWNlIG9mIHNvY2tsZW5fdCBpZiBub3QgZGVmaW5lZCAqLwovKiAjdW5kZWYgc29ja2xl bl90ICovCgovKiBEZWZpbmUgYXMgYSBzaWduZWQgdHlwZSBvZiB0aGUgc2FtZSBzaXplIGFz IHNpemVfdC4gKi8KLyogI3VuZGVmIHNzaXplX3QgKi8KCi8qIERlZmluZSB0byBlbmFibGUg YXN5bmNocm9ub3VzIHN1YnByb2Nlc3Nlcy4gKi8KI2RlZmluZSBzdWJwcm9jZXNzZXMgMQoK LyogRGVmaW5lIGFzIGEgbWFya2VyIHRoYXQgY2FuIGJlIGF0dGFjaGVkIHRvIGRlY2xhcmF0 aW9ucyB0aGF0IG1pZ2h0IG5vdAogICAgYmUgdXNlZC4gIFRoaXMgaGVscHMgdG8gcmVkdWNl IHdhcm5pbmdzLCBzdWNoIGFzIGZyb20KICAgIEdDQyAtV3VudXNlZC1wYXJhbWV0ZXIuICAq LwojaWYgX19HTlVDX18gPj0gMyB8fCAoX19HTlVDX18gPT0gMiAmJiBfX0dOVUNfTUlOT1Jf XyA+PSA3KQojIGRlZmluZSBfR0xfVU5VU0VEIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9f KSkKI2Vsc2UKIyBkZWZpbmUgX0dMX1VOVVNFRAojZW5kaWYKLyogVGhlIG5hbWUgX1VOVVNF RF9QQVJBTUVURVJfIGlzIGFuIGVhcmxpZXIgc3BlbGxpbmcsIGFsdGhvdWdoIHRoZSBuYW1l CiAgIGlzIGEgbWlzbm9tZXIgb3V0c2lkZSBvZiBwYXJhbWV0ZXIgbGlzdHMuICAqLwojZGVm aW5lIF9VTlVTRURfUEFSQU1FVEVSXyBfR0xfVU5VU0VECgovKiBnY2Mgc3VwcG9ydHMgdGhl ICJ1bnVzZWQiIGF0dHJpYnV0ZSBvbiBwb3NzaWJseSB1bnVzZWQgbGFiZWxzLCBhbmQKICAg ZysrIGhhcyBzaW5jZSB2ZXJzaW9uIDQuNS4gIE5vdGUgdG8gc3VwcG9ydCBDKysgYXMgd2Vs bCBhcyBDLAogICBfR0xfVU5VU0VEX0xBQkVMIHNob3VsZCBiZSB1c2VkIHdpdGggYSB0cmFp bGluZyA7ICAqLwojaWYgIWRlZmluZWQgX19jcGx1c3BsdXMgfHwgX19HTlVDX18gPiA0IFwK ICAgIHx8IChfX0dOVUNfXyA9PSA0ICYmIF9fR05VQ19NSU5PUl9fID49IDUpCiMgZGVmaW5l IF9HTF9VTlVTRURfTEFCRUwgX0dMX1VOVVNFRAojZWxzZQojIGRlZmluZSBfR0xfVU5VU0VE X0xBQkVMCiNlbmRpZgoKLyogVGhlIF9fcHVyZV9fIGF0dHJpYnV0ZSB3YXMgYWRkZWQgaW4g Z2NjIDIuOTYuICAqLwojaWYgX19HTlVDX18gPiAyIHx8IChfX0dOVUNfXyA9PSAyICYmIF9f R05VQ19NSU5PUl9fID49IDk2KQojIGRlZmluZSBfR0xfQVRUUklCVVRFX1BVUkUgX19hdHRy aWJ1dGVfXyAoKF9fcHVyZV9fKSkKI2Vsc2UKIyBkZWZpbmUgX0dMX0FUVFJJQlVURV9QVVJF IC8qIGVtcHR5ICovCiNlbmRpZgoKLyogVGhlIF9fY29uc3RfXyBhdHRyaWJ1dGUgd2FzIGFk ZGVkIGluIGdjYyAyLjk1LiAgKi8KI2lmIF9fR05VQ19fID4gMiB8fCAoX19HTlVDX18gPT0g MiAmJiBfX0dOVUNfTUlOT1JfXyA+PSA5NSkKIyBkZWZpbmUgX0dMX0FUVFJJQlVURV9DT05T VCBfX2F0dHJpYnV0ZV9fICgoX19jb25zdF9fKSkKI2Vsc2UKIyBkZWZpbmUgX0dMX0FUVFJJ QlVURV9DT05TVCAvKiBlbXB0eSAqLwojZW5kaWYKCgovKiBEZWZpbmUgYXMgYGZvcmsnIGlm IGB2Zm9yaycgZG9lcyBub3Qgd29yay4gKi8KLyogI3VuZGVmIHZmb3JrICovCgojaW5jbHVk ZSA8Y29uZl9wb3N0Lmg+CgojZW5kaWYgLyogRU1BQ1NfQ09ORklHX0ggKi8KCi8qCkxvY2Fs IFZhcmlhYmxlczoKbW9kZTogYwpFbmQ6CiovCgo= --------------030501020309050709010409--