X-From-Line: address@hidden Fri Aug 22 10:40:23 2003 Return-path: Envelope-to: address@hidden Delivery-date: Sat, 23 Aug 2003 07:48:25 +0200 Received: from hermes.epita.fr ([163.5.255.10] helo=epita.fr) by kualalumpur.lrde.epita.fr with esmtp (Exim 3.35 #1 (Debian)) id 19qRGC-00084b-01 for ; Sat, 23 Aug 2003 07:48:24 +0200 Received: from f7.net (consort.superb.net [209.61.216.22]) by epita.fr id h7N5ZFa16905 for EPITA Paris France Sat, 23 Aug 2003 07:35:15 +0200 (CEST) Received: from monty-python.gnu.org (monty-python.gnu.org [199.232.76.173]) by f7.net (8.11.7/8.11.7) with ESMTP id h7N5Z7U01587; Sat, 23 Aug 2003 01:35:08 -0400 Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.20) id 19qR1C-0004Pb-Tq for address@hidden; Sat, 23 Aug 2003 01:32:55 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.20) id 19qHbF-0006wA-1L for address@hidden; Fri, 22 Aug 2003 15:29:29 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.20) id 19qGQb-0005i6-87 for address@hidden; Fri, 22 Aug 2003 14:15:00 -0400 Received: from [12.30.36.104] (helo=mg2.sanmina.com) by monty-python.gnu.org with esmtp (Exim 4.20) id 19qFtt-0001vJ-68 for address@hidden; Fri, 22 Aug 2003 13:40:37 -0400 Received: from tiger.sanmina.com (ims [192.168.0.1]) by mg2.sanmina.com (8.11.6/8.11.6) with ESMTP id h7MI1Ga11001 for ; Fri, 22 Aug 2003 11:01:17 -0700 Received: from swift.sanmina.com (swift.sanmina.com [192.168.3.14]) by tiger.sanmina.com (8.11.2/8.11.2) with ESMTP id h7MHc1t16103; Fri, 22 Aug 2003 10:38:01 -0700 (PDT) Received: from sanmina-sci.com ([172.16.1.159]) by swift.sanmina.com (8.11.2/8.11.2) with ESMTP id h7MHeND09558; Fri, 22 Aug 2003 10:40:23 -0700 (PDT) X-Gnus-Mail-Source: pop:address@hidden Message-ID: Date: Fri, 22 Aug 2003 10:40:23 -0700 From: Bob Hardy Organization: Sanmina-SCI X-Mailer: Mozilla 4.8 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: address@hidden Content-Type: multipart/mixed; boundary="------------7B6C5CF0F94299CEDCC73F5A" Subject: [GNU Autoconf 2.57] testsuite: 162 failed X-BeenThere: address@hidden X-Mailman-Version: 2.1.2 Precedence: list List-Id: Bug reports for autoconf, the GNU build system List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: address@hidden Errors-To: address@hidden X-Spam-Status: No, hits=1.4 required=5.0 tests=HTML_10_20,HTML_MESSAGE,X_ACCEPT_LANG version=2.55 X-Spam-Level: * X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) Status: O X-Content-Length: 227968 Lines: 3170 Xref: nostromo.lrde.epita.fr autoconf.misc:2063 autoconf.bug:3045 This is a multi-part message in MIME format. --------------7B6C5CF0F94299CEDCC73F5A Content-Type: multipart/alternative; boundary="------------A3BE1AC6EA6D718484F00D9B" --------------A3BE1AC6EA6D718484F00D9B Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Howdy! While building autoconf 2.57 on a system called odin ("HP-UX B.11.11"), I got: 162. acfunctions.at:23: FAILED near `acfunctions.at:23' ## ------------------------- ## ## testsuite.log is created. ## ## ------------------------- ## Please send `testsuite.log' and all information you think might help: To: Subject: [GNU Autoconf 2.57] testsuite: 162 failed gmake[2]: *** [check-local] Error 1 gmake[2]: Leaving directory `/home/bobh/cfiles/autoconf-2.57/tests' gmake[1]: *** [check-am] Error 2 gmake[1]: Leaving directory `/home/bobh/cfiles/autoconf-2.57/tests' gmake: *** [check-recursive] Error 1 (testsuite.log is attached.) I'm using gcc 3.1 and make 3.79.1. The tests otherwise seemed to be going fine. Hope that helps! Thanks! -- Bob --------------A3BE1AC6EA6D718484F00D9B Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit Howdy!

While building autoconf 2.57 on a system called odin ("HP-UX B.11.11"), I got:

162. acfunctions.at:23: FAILED near `acfunctions.at:23'
## ------------------------- ##
## testsuite.log is created. ##
## ------------------------- ##

Please send `testsuite.log' and all information you think might help:

   To: <address@hidden>
   Subject: [GNU Autoconf 2.57] testsuite: 162 failed

gmake[2]: *** [check-local] Error 1
gmake[2]: Leaving directory `/home/bobh/cfiles/autoconf-2.57/tests'
gmake[1]: *** [check-am] Error 2
gmake[1]: Leaving directory `/home/bobh/cfiles/autoconf-2.57/tests'
gmake: *** [check-recursive] Error 1

(testsuite.log is attached.)

I'm using gcc 3.1 and make 3.79.1.  The tests otherwise seemed to be going fine.  Hope that helps!

Thanks!

-- Bob

--------------A3BE1AC6EA6D718484F00D9B-- --------------7B6C5CF0F94299CEDCC73F5A Content-Type: application/x-unknown-content-type-txtfile; name="testsuite.log" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="testsuite.log" IyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMNCiMjIEdOVSBBdXRvY29uZiAy LjU3IHRlc3Qgc3VpdGUuICMjDQojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAj Iw0KDQp0ZXN0c3VpdGU6IGNvbW1hbmQgbGluZSB3YXM6DQogICQgLi90ZXN0c3VpdGUgDQoN CiMjIC0tLS0tLS0tLS0tICMjDQojIyBDaGFuZ2VMb2dzLiAjIw0KIyMgLS0tLS0tLS0tLS0g IyMNCg0KdGVzdHN1aXRlOiAuLi9DaGFuZ2VMb2c6DQp8IDIwMDItMTItMDMgIFBhdWwgRWdn ZXJ0ICA8ZWdnZXJ0QHR3aW5zdW4uY29tPg0KfCANCnwgCVZlcnNpb24gMi41Ny4NCnwgDQp8 IAkqIE5FV1MsIGNvbmZpZ3VyZS5hYzogVXBkYXRlIHZlcnNpb24uDQp8IA0KfCAJKiBkb2Mv ZmRsLnRleGk6IFVwZ3JhZGUgdG8gRkRMIHZlcnNpb24gMS4yLg0KfCANCnwgCSogbGliL2F1 dG9jb25mL2MubTQgKEFDX0xBTkdfRlVOQ19MSU5LX1RSWShDKSk6IFVzZSB0aGUgZnVuY3Rp b24gZg0KfCAJbm9udHJpdmlhbGx5IGluIG1haW4ncyBib2R5LCBzbyB0aGF0IGYncyBleHRl cm5hbCBkZWNsYXJhdGlvbiBpcw0KDQojIyAtLS0tLS0tLS0gIyMNCiMjIFBsYXRmb3JtLiAj Iw0KIyMgLS0tLS0tLS0tICMjDQoNCmhvc3RuYW1lID0gb2Rpbg0KdW5hbWUgLW0gPSA5MDAw LzgwMA0KdW5hbWUgLXIgPSBCLjExLjExDQp1bmFtZSAtcyA9IEhQLVVYDQp1bmFtZSAtdiA9 IFUNCg0KL3Vzci9iaW4vdW5hbWUgLXAgPSB1bmtub3duDQovYmluL3VuYW1lIC1YICAgICA9 IHVua25vd24NCg0KL2Jpbi9hcmNoICAgICAgICAgICAgICA9IHVua25vd24NCi91c3IvYmlu L2FyY2ggLWsgICAgICAgPSB1bmtub3duDQovdXNyL2NvbnZleC9nZXRzeXNpbmZvID0gdW5r bm93bg0KaG9zdGluZm8gICAgICAgICAgICAgICA9IHVua25vd24NCi9iaW4vbWFjaGluZSAg ICAgICAgICAgPSB1bmtub3duDQovdXNyL2Jpbi9vc2xldmVsICAgICAgID0gdW5rbm93bg0K L2Jpbi91bml2ZXJzZSAgICAgICAgICA9IHVua25vd24NCg0KUEFUSDogL2hvbWUvYm9iaC9j ZmlsZXMvYXV0b2NvbmYtMi41Ny90ZXN0cw0KUEFUSDogL3NiaW4NClBBVEg6IC9iaW4NClBB VEg6IC91c3Ivc2Jpbg0KUEFUSDogL3Vzci9iaW4NClBBVEg6IC91c3IvbG9jYWwvYmluDQpQ QVRIOiAvdXNyL2NvbnRyaWIvYmluDQpQQVRIOiAvdmFyL2FkbWluL2xvY2FsL29kaW4vYmlu DQpQQVRIOiAvb3B0L29tbmkvYmluDQoNCnRlc3RzdWl0ZTogYXRjb25maWc6DQp8ICMgQ29u ZmlndXJhYmxlIHZhcmlhYmxlIHZhbHVlcyBmb3IgYnVpbGRpbmcgdGVzdCBzdWl0ZXMuDQp8 ICMgR2VuZXJhdGVkIGJ5IC4vY29uZmlnLnN0YXR1cy4NCnwgIyBDb3B5cmlnaHQgMjAwMCwg MjAwMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCnwgDQp8ICMgVGhlIHRlc3Qg c3VpdGUgd2lsbCBkZWZpbmUgdG9wX3NyY2Rpcj0vLi4vLi4gZXRjLg0KfCBhdF90ZXN0ZGly PSd0ZXN0cycNCnwgYWJzX2J1aWxkZGlyPScvaG9tZS9ib2JoL2NmaWxlcy9hdXRvY29uZi0y LjU3L3Rlc3RzJw0KfCBhdF9zcmNkaXI9Jy4nDQp8IGFic19zcmNkaXI9Jy9ob21lL2JvYmgv Y2ZpbGVzL2F1dG9jb25mLTIuNTcvdGVzdHMnDQp8IGF0X3RvcF9zcmNkaXI9Jy4uJw0KfCBh YnNfdG9wX3NyY2Rpcj0nL2hvbWUvYm9iaC9jZmlsZXMvYXV0b2NvbmYtMi41NycNCnwgYXRf dG9wX2J1aWxkZGlyPScuLi8nDQp8IGFic190b3BfYnVpbGRkaXI9Jy9ob21lL2JvYmgvY2Zp bGVzL2F1dG9jb25mLTIuNTcnDQp8IA0KfCBBVVRPVEVTVF9QQVRIPSd0ZXN0cycNCnwgDQp8 IFNIRUxMPSR7Q09ORklHX1NIRUxMLScvYmluL3NoJ30NCg0KdGVzdHN1aXRlOiBhdGxvY2Fs Og0KfCAjIC0qLSBzaGVsbC1zY3JpcHQgLSotDQp8ICMgdGVzdHMvYXRsb2NhbC4gIEdlbmVy YXRlZCBmcm9tIGF0bG9jYWwuaW4gYnkgY29uZmlndXJlLg0KfCAjIENvbmZpZ3VyYWJsZSB2 YXJpYWJsZSB2YWx1ZXMgZm9yIEF1dG9jb25mIHRlc3Qgc3VpdGUuDQp8ICMgQ29weXJpZ2h0 IDIwMDAsIDIwMDEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQp8IA0KfCAjIFdl IG5lZWQgUGVybC4NCnwgUEVSTD0nL2Jpbi9wZXJsJw0KDQojIyAtLS0tLS0tLS0tLS0tLS0t ICMjDQojIyBUZXN0ZWQgcHJvZ3JhbXMuICMjDQojIyAtLS0tLS0tLS0tLS0tLS0tICMjDQoN CnN1aXRlLmF0OjMzOiAvaG9tZS9ib2JoL2NmaWxlcy9hdXRvY29uZi0yLjU3L3Rlc3RzL2F1 dG9tNHRlIC0tdmVyc2lvbg0KYXV0b200dGUgKEdOVSBBdXRvY29uZikgMi41Nw0KV3JpdHRl biBieSBBa2ltIERlbWFpbGxlLg0KDQpDb3B5cmlnaHQgMjAwMiBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4NClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2Ug Zm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PDQp3YXJyYW50eTsgbm90IGV2 ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4NCg0Kc3VpdGUuYXQ6MzM6IC9ob21lL2JvYmgvY2ZpbGVzL2F1dG9jb25mLTIuNTcv dGVzdHMvYXV0b2NvbmYgLS12ZXJzaW9uDQphdXRvY29uZiAoR05VIEF1dG9jb25mKSAyLjU3 DQpXcml0dGVuIGJ5IERhdmlkIEouIE1hY0tlbnppZSBhbmQgQWtpbSBEZW1haWxsZS4NCg0K Q29weXJpZ2h0IDIwMDIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQpUaGlzIGlz IGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMu ICBUaGVyZSBpcyBOTw0Kd2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuDQoNCnN1aXRlLmF0OjMzOiAv aG9tZS9ib2JoL2NmaWxlcy9hdXRvY29uZi0yLjU3L3Rlc3RzL2F1dG9oZWFkZXIgLS12ZXJz aW9uDQphdXRvaGVhZGVyIChHTlUgQXV0b2NvbmYpIDIuNTcNCldyaXR0ZW4gYnkgUm9sYW5k IE1jR3JhdGggYW5kIEFraW0gRGVtYWlsbGUuDQoNCkNvcHlyaWdodCAyMDAyIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLg0KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhl IHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8NCndhcnJhbnR5 OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLg0KDQpzdWl0ZS5hdDozMzogL2hvbWUvYm9iaC9jZmlsZXMvYXV0b2Nv bmYtMi41Ny90ZXN0cy9hdXRvdXBkYXRlIC0tdmVyc2lvbg0KYXV0b3VwZGF0ZSAoR05VIEF1 dG9jb25mKSAyLjU3DQpXcml0dGVuIGJ5IERhdmlkIEouIE1hY0tlbnppZSBhbmQgQWtpbSBE ZW1haWxsZS4NCg0KQ29weXJpZ2h0IDIwMDIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuDQpUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5n IGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTw0Kd2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuDQoNCnN1 aXRlLmF0OjMzOiAvaG9tZS9ib2JoL2NmaWxlcy9hdXRvY29uZi0yLjU3L3Rlc3RzL2F1dG9y ZWNvbmYgLS12ZXJzaW9uDQphdXRvcmVjb25mIChHTlUgQXV0b2NvbmYpIDIuNTcNCldyaXR0 ZW4gYnkgRGF2aWQgSi4gTWFjS2VuemllIGFuZCBBa2ltIERlbWFpbGxlLg0KDQpDb3B5cmln aHQgMjAwMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NClRoaXMgaXMgZnJlZSBz b2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJl IGlzIE5PDQp3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4NCg0Kc3VpdGUuYXQ6MzM6IC9ob21lL2Jv YmgvY2ZpbGVzL2F1dG9jb25mLTIuNTcvdGVzdHMvaWZuYW1lcyAtLXZlcnNpb24NCg0KaWZu YW1lcyAoR05VIEF1dG9jb25mKSAyLjU3DQpXcml0dGVuIGJ5IERhdmlkIEouIE1hY0tlbnpp ZSBhbmQgUGF1bCBFZ2dlcnQuDQoNCkNvcHlyaWdodCAyMDAyIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLg0KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBm b3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8NCndhcnJhbnR5OyBub3QgZXZl biBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLg0KIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjDQojIyBTaWxlbnRseSBy dW5uaW5nIHRoZSB0ZXN0cy4gIyMNCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAj Iw0KdGVzdHN1aXRlOiBzdGFydGluZyBhdDogRnJpIEF1ZyAyMiAwOTo1MjoxMyBQRFQgMjAw Mw0KMS4gdG9vbHMuYXQ6NDc6IG9rCSgwbTAuMTBzIDBtMC4zNnMpDQoyLiB0b29scy5hdDo5 Mjogb2sJKDBtMS40N3MgMG0wLjcwcykNCjMuIHRvb2xzLmF0OjExODogb2sJKDBtMS4yOHMg MG0xLjU5cykNCjQuIHRvb2xzLmF0OjE1NTogb2sJKDBtMS42OXMgMG0yLjY2cykNCjUuIHRv b2xzLmF0OjI0NDogb2sJKDBtMC4wM3MgMG0wLjE3cykNCjYuIHRvb2xzLmF0OjI3NTogb2sJ KDBtMC41N3MgMG0wLjg2cykNCjcuIHRvb2xzLmF0OjMwMzogb2sJKDBtMC41N3MgMG0wLjg3 cykNCjguIHRvb2xzLmF0OjM0OTogb2sJKDBtMC4yN3MgMG0wLjM4cykNCjkuIHRvb2xzLmF0 OjM5Nzogb2sJKDBtMy4xNHMgMG0zLjI3cykNCjEwLiB0b29scy5hdDo1Mjk6IG9rCSgwbTYu MDFzIDBtMi4xOXMpDQoxMS4gdG9vbHMuYXQ6NTYxOiBvawkoMG00LjMzcyAwbTMuNjhzKQ0K MTIuIHRvb2xzLmF0OjU4ODogb2sJKDBtOC45MnMgMG0zLjI0cykNCjEzLiBtNHN1Z2FyLmF0 OjM1OiBvawkoMG0xLjg1cyAwbTIuMzZzKQ0KMTQuIG00c3VnYXIuYXQ6Nzc6IG9rCSgwbTAu NDRzIDBtMC41OHMpDQoxNS4gbTRzdWdhci5hdDoxMTU6IG9rCSgwbTAuNDZzIDBtMC41NHMp DQoxNi4gbTRzaC5hdDoyOTogb2sJKDBtMi4yOXMgMG01Ljk2cykNCjE3LiBtNHNoLmF0OjEw NTogb2sJKDBtMC45NHMgMG0xLjczcykNCjE4LiBtNHNoLmF0OjE2Njogb2sJKDBtMC44OHMg MG0xLjYycykNCjE5LiBtNHNoLmF0OjIyMzogb2sJKDBtMC41M3MgMG0wLjg0cykNCjIwLiBt NHNoLmF0OjI1Njogb2sJKDBtMC41MXMgMG0wLjgxcykNCjIxLiBtNHNoLmF0OjI4Njogb2sJ KDBtMC41M3MgMG0wLjg1cykNCjIyLiBtNHNoLmF0OjMyODogb2sJKDBtMC41M3MgMG0wLjg2 cykNCjIzLiBiYXNlLmF0OjI5OiBvawkoMG0wLjYzcyAwbTEuMTJzKQ0KMjQuIGJhc2UuYXQ6 NzE6IG9rCSgwbTAuNjRzIDBtMS4xM3MpDQoyNS4gYmFzZS5hdDoxMTU6IG9rCSgwbTAuNjNz IDBtMS4xM3MpDQoyNi4gYmFzZS5hdDoxNTg6IG9rCSgwbTAuNjRzIDBtMS4xNnMpDQoyNy4g YmFzZS5hdDoxOTA6IG9rCSgwbTEuMTBzIDBtMS43MHMpDQoyOC4gYmFzZS5hdDoyMDk6IG9r CSgwbTEuMTFzIDBtMS43N3MpDQoyOS4gdG9ydHVyZS5hdDozMDogb2sJKDBtMi40OHMgMG0z LjY2cykNCjMwLiB0b3J0dXJlLmF0OjM3OiBvawkoMG0wLjkxcyAwbTAuODNzKQ0KMzEuIHRv cnR1cmUuYXQ6ODQ6IG9rCSgwbTQuMDRzIDBtMTUuNTZzKQ0KMzIuIHRvcnR1cmUuYXQ6MTI3 OiBvawkoMG00Ljc1cyAwbTE3LjU1cykNCjMzLiB0b3J0dXJlLmF0OjIxMTogb2sJKDBtMS40 NnMgMG0yLjU3cykNCjM0LiB0b3J0dXJlLmF0OjI0Mjogb2sJKDBtMS4wOXMgMG0xLjE3cykN CjM1LiB0b3J0dXJlLmF0OjI3OTogb2sJKDBtMS42NnMgMG0zLjIwcykNCjM2LiB0b3J0dXJl LmF0OjM3Mzogb2sJKDBtNC41MHMgMG00Ljk4cykNCjM3LiB0b3J0dXJlLmF0OjQ4Mjogb2sJ KDBtMi4zMXMgMG02LjY5cykNCjM4LiB0b3J0dXJlLmF0OjUyMjogb2sJKDBtMS4wOHMgMG0x LjY5cykNCjM5LiB0b3J0dXJlLmF0OjU1ODogb2sJKDBtNi4zOXMgMG0xMy40MXMpDQo0MC4g dG9ydHVyZS5hdDo2NTA6IG9rCSgwbTkuNDBzIDBtMTUuNTBzKQ0KNDEuIGNvbXBpbGUuYXQ6 MzI6IG9rCSgwbTAuOTVzIDBtMC44OXMpDQo0Mi4gY29tcGlsZS5hdDo3ODogb2sJKDBtMS4w OHMgMG0xLjYycykNCjQzLiBjb21waWxlLmF0OjExNDogb2sJKDBtMi45MHMgMG0zLjc1cykN CjQ0LiBjb21waWxlLmF0OjE1MTogb2sJKDBtMy44OXMgMG01LjE0cykNCjQ1LiBhY2xhbmcu YXQ6Nzogb2sJKDBtMi4zN3MgMG0zLjM3cykNCjQ2LiBhY2xhbmcuYXQ6ODogb2sJKDBtMy43 OHMgMG01LjE0cykNCjQ3LiBhY2xhbmcuYXQ6MTE6IG9rCSgwbTcuNzNzIDBtNy43OHMpDQo0 OC4gYy5hdDo0Nzogb2sJKDBtMy4zNHMgMG0zLjYzcykNCjQ5LiBjLmF0OjU5OiBvawkoMG0x LjY1cyAwbTEuODBzKQ0KNTAuIGMuYXQ6ODc6IG9rCSgwbTMuODlzIDBtNS4wOHMpDQo1MS4g Yy5hdDoxMDA6IG9rCSgwbTMuNzVzIDBtNS4wN3MpDQo1Mi4gYy5hdDoxMTE6IG9rCSgwbTYu MDNzIDBtOC4yNnMpDQo1My4gYy5hdDoxNDE6IG9rCSgwbTYuMDZzIDBtOC4zOXMpDQo1NC4g Yy5hdDoxNzg6IG9rCSgwbTYuMTFzIDBtOC40N3MpDQo1NS4gYWNjLmF0Ojc6IG9rCSgwbTMu NjRzIDBtNC44M3MpDQo1Ni4gYWNjLmF0Ojg6IG9rCSgwbTMuOTFzIDBtNS4xM3MpDQo1Ny4g YWNjLmF0Ojk6IG9rCSgwbTUuNzNzIDBtNy44NnMpDQo1OC4gYWNjLmF0OjEwOiBvawkoMG0z LjcycyAwbTQuOTZzKQ0KNTkuIGFjYy5hdDoxMTogb2sJKDBtMy44NXMgMG01LjE5cykNCjYw LiBhY2MuYXQ6MTI6IG9rCSgwbTMuNzdzIDBtNS4xNHMpDQo2MS4gYWNjLmF0OjEzOiBvawko MG0zLjg2cyAwbTUuMzBzKQ0KNjIuIGFjYy5hdDoxNjogb2sJKDBtNy42NnMgMG03LjczcykN CjYzLiBhY2MuYXQ6MTc6IG9rCSgwbTcuNjRzIDBtNy43MnMpDQo2NC4gZm9ydHJhbi5hdDo1 MTogb2sJKDBtMy4zOXMgMG00LjczcykNCjY1LiBhY2ZvcnRyYW4uYXQ6Nzogb2sJKDBtNC42 NnMgMG02LjEycykNCjY2LiBhY2ZvcnRyYW4uYXQ6ODogb2sJKDBtNS42M3MgMG03LjU1cykN CjY3LiBhY2ZvcnRyYW4uYXQ6OTogb2sJKDBtMy41M3MgMG00LjkwcykNCjY4LiBhY2ZvcnRy YW4uYXQ6MTI6IG9rCSgwbTcuNzBzIDBtNy45MXMpDQo2OS4gc2VtYW50aWNzLmF0OjczOiBv awkoMG01LjQ0cyAwbTcuNTBzKQ0KNzAuIHNlbWFudGljcy5hdDo4Njogb2sJKDBtMy44OXMg MG01LjI3cykNCjcxLiBzZW1hbnRpY3MuYXQ6OTg6IG9rCSgwbTQuMDRzIDBtNS41N3MpDQo3 Mi4gc2VtYW50aWNzLmF0OjEwNjogb2sJKDBtNC4yMXMgMG01LjkzcykNCjczLiBzZW1hbnRp Y3MuYXQ6MTQxOiBvawkoMG02LjE0cyAwbTguNjFzKQ0KNzQuIHNlbWFudGljcy5hdDoxNTQ6 IG9rCSgwbTMuOTdzIDBtNS4zN3MpDQo3NS4gc2VtYW50aWNzLmF0OjE3MTogb2sJKDBtNy4z N3MgMG05LjI2cykNCjc2LiBzZW1hbnRpY3MuYXQ6MTg5OiBvawkoMG03LjM2cyAwbTkuNTdz KQ0KNzcuIHNlbWFudGljcy5hdDoyMDU6IG9rCSgwbTMuOThzIDBtNS40MHMpDQo3OC4gc2Vt YW50aWNzLmF0OjIxMjogb2sJKDBtMS4wNnMgMG0wLjkzcykNCjc5LiBzZW1hbnRpY3MuYXQ6 MjU3OiBvawkoMG0yLjY5cyAwbTMuNzZzKQ0KODAuIHNlbWFudGljcy5hdDoyOTE6IG9rCSgw bTEuMzJzIDBtMS44OXMpDQo4MS4gc2VtYW50aWNzLmF0OjM0MDogb2sJKDBtOS43M3MgMG0x MS4yNXMpDQo4Mi4gc2VtYW50aWNzLmF0OjM3Nzogb2sJKDBtMS4yNXMgMG0xLjkwcykNCjgz LiBzZW1hbnRpY3MuYXQ6NDIxOiBvawkoMG03LjQwcyAwbTExLjQ3cykNCjg0LiBzZW1hbnRp Y3MuYXQ6NDM5OiBvawkoMG02LjI5cyAwbTguNTRzKQ0KODUuIHNlbWFudGljcy5hdDo0NDA6 IG9rCSgwbTMuOTBzIDBtNS4yM3MpDQo4Ni4gYWNnZW5lcmFsLmF0Ojc6IG9rCSgwbTIuNDVz IDBtMy41OXMpDQo4Ny4gYWNnZW5lcmFsLmF0Ojg6IG9rCSgwbTIuNDNzIDBtMy42MHMpDQo4 OC4gYWNnZW5lcmFsLmF0Ojk6IG9rCSgwbTIuNDNzIDBtMy41MnMpDQo4OS4gYWNnZW5lcmFs LmF0OjEwOiBvawkoMG0yLjY4cyAwbTMuOTRzKQ0KOTAuIGFjZ2VuZXJhbC5hdDoxMTogb2sJ KDBtMy44MXMgMG01LjE4cykNCjkxLiBhY2dlbmVyYWwuYXQ6MTI6IG9rCSgwbTMuODBzIDBt NS4yMHMpDQo5Mi4gYWNnZW5lcmFsLmF0OjEzOiBvawkoMG0yLjM4cyAwbTMuNDJzKQ0KOTMu IGFjZ2VuZXJhbC5hdDoxNjogb2sJKDBtNy42N3MgMG03Ljg2cykNCjk0LiBhY2dlbmVyYWwu YXQ6MTc6IG9rCSgwbTEwLjM4cyAwbTEwLjg4cykNCjk1LiBhY2dlbmVyYWwuYXQ6MTg6IG9r CSgwbTcuNjVzIDBtNy43MnMpDQo5Ni4gYWNnZW5lcmFsLmF0OjE5OiBvawkoMG0xMC4xNHMg MG0xMC41N3MpDQo5Ny4gYWNnZW5lcmFsLmF0OjIwOiBvawkoMG0xMC40OXMgMG0xMS4yOXMp DQo5OC4gYWNnZW5lcmFsLmF0OjIxOiBvawkoMG0xMC4zN3MgMG0xMC43NHMpDQo5OS4gYWNn ZW5lcmFsLmF0OjIyOiBvawkoMG0xMC4yOXMgMG0xMC43NXMpDQoxMDAuIGFjZ2VuZXJhbC5h dDoyMzogb2sJKDBtNy42NHMgMG03Ljc1cykNCjEwMS4gYWNnZW5lcmFsLmF0OjI0OiBvawko MG03LjY2cyAwbTcuNjlzKQ0KMTAyLiBhY3N0YXR1cy5hdDo5OiBvawkoMG03LjczcyAwbTcu ODlzKQ0KMTAzLiBhY3NwZWNpZmljLmF0Ojc6IG9rCSgwbTMuODJzIDBtNS4xNnMpDQoxMDQu IGFjc3BlY2lmaWMuYXQ6ODogb2sJKDBtMy44MHMgMG00Ljk3cykNCjEwNS4gYWNzcGVjaWZp Yy5hdDo5OiBvawkoMG01Ljg5cyAwbTcuODdzKQ0KMTA2LiBhY3NwZWNpZmljLmF0OjEwOiBv awkoMG0yLjM4cyAwbTMuNDRzKQ0KMTA3LiBhY3NwZWNpZmljLmF0OjExOiBvawkoMG0zLjkw cyAwbTUuMTBzKQ0KMTA4LiBhY3NwZWNpZmljLmF0OjEyOiBvawkoMG0yLjQzcyAwbTMuNjJz KQ0KMTA5LiBhY3NwZWNpZmljLmF0OjEzOiBvawkoMG0zLjc3cyAwbTQuOTdzKQ0KMTEwLiBh Y3NwZWNpZmljLmF0OjE2OiBvawkoMG03LjY2cyAwbTcuNzBzKQ0KMTExLiBhY3NwZWNpZmlj LmF0OjE3OiBvawkoMG0xNC42MXMgMG0xNy4yMHMpDQoxMTIuIGFjc3BlY2lmaWMuYXQ6MTg6 IG9rCSgwbTExLjc2cyAwbTEyLjg0cykNCjExMy4gYWNzcGVjaWZpYy5hdDoxOTogb2sJKDBt Ny43OXMgMG04LjEycykNCjExNC4gYWNzcGVjaWZpYy5hdDoyMDogb2sJKDBtMTIuMDJzIDBt MTMuMjJzKQ0KMTE1LiBhY3NwZWNpZmljLmF0OjIxOiBvawkoMG0xMC42NHMgMG0xMS40MnMp DQoxMTYuIGFjc3BlY2lmaWMuYXQ6MjI6IG9rCSgwbTExLjY4cyAwbTEyLjc3cykNCjExNy4g YWNwcm9ncmFtcy5hdDo3OiBvawkoMG0yLjQ2cyAwbTMuNTVzKQ0KMTE4LiBhY3Byb2dyYW1z LmF0Ojg6IG9rCSgwbTIuNDVzIDBtMy41N3MpDQoxMTkuIGFjcHJvZ3JhbXMuYXQ6OTogb2sJ KDBtMi40N3MgMG0zLjU3cykNCjEyMC4gYWNwcm9ncmFtcy5hdDoxMDogb2sJKDBtNC45MHMg MG01LjYwcykNCjEyMS4gYWNwcm9ncmFtcy5hdDoxMTogb2sJKDBtMi40NHMgMG0zLjU1cykN CjEyMi4gYWNwcm9ncmFtcy5hdDoxMjogb2sJKDBtMi40N3MgMG0zLjYycykNCjEyMy4gYWNw cm9ncmFtcy5hdDoxMzogb2sJKDBtMi41NHMgMG0zLjU2cykNCjEyNC4gYWNwcm9ncmFtcy5h dDoxNDogb2sJKDBtMi40NnMgMG0zLjU3cykNCjEyNS4gYWNwcm9ncmFtcy5hdDoxNzogb2sJ KDBtNy43OXMgMG04LjEycykNCjEyNi4gYWNwcm9ncmFtcy5hdDoxODogb2sJKDBtMTIuNjBz IDBtMTEuODlzKQ0KMTI3LiBhY3Byb2dyYW1zLmF0OjE5OiBvawkoMG03LjY1cyAwbTcuNzRz KQ0KMTI4LiBhY2hlYWRlcnMuYXQ6Nzogb2sJKDBtNi4yOXMgMG04LjQwcykNCjEyOS4gYWNo ZWFkZXJzLmF0Ojg6IG9rCSgwbTMuODZzIDBtNS4xN3MpDQoxMzAuIGFjaGVhZGVycy5hdDo5 OiBvawkoMG01Ljg5cyAwbTcuOTJzKQ0KMTMxLiBhY2hlYWRlcnMuYXQ6MTA6IG9rCSgwbTMu ODdzIDBtNS4yMHMpDQoxMzIuIGFjaGVhZGVycy5hdDoxMzogb2sJKDBtMTUuNzRzIDBtMTgu OTVzKQ0KMTMzLiBhY2hlYWRlcnMuYXQ6MTQ6IG9rCSgwbTE0LjY3cyAwbTE2LjM1cykNCjEz NC4gYWNoZWFkZXJzLmF0OjE1OiBvawkoMG0xNC4zMHMgMG0xNi4yNHMpDQoxMzUuIGFjaGVh ZGVycy5hdDoxNjogb2sJKDBtMTQuODFzIDBtMTYuODNzKQ0KMTM2LiBhY3R5cGVzLmF0Ojc6 IG9rCSgwbTUuODNzIDBtNy44MHMpDQoxMzcuIGFjdHlwZXMuYXQ6ODogb2sJKDBtNC4yMHMg MG01LjM1cykNCjEzOC4gYWN0eXBlcy5hdDo5OiBvawkoMG01Ljc1cyAwbTcuNzFzKQ0KMTM5 LiBhY3R5cGVzLmF0OjEwOiBvawkoMG01Ljc2cyAwbTcuNjdzKQ0KMTQwLiBhY3R5cGVzLmF0 OjExOiBvawkoMG0zLjY5cyAwbTQuODJzKQ0KMTQxLiBhY3R5cGVzLmF0OjE0OiBvawkoMG0x NS41MHMgMG0xNy43N3MpDQoxNDIuIGFjdHlwZXMuYXQ6MTU6IG9rCSgwbTE1LjczcyAwbTE4 LjA2cykNCjE0My4gYWN0eXBlcy5hdDoxNjogb2sJKDBtMTQuNzdzIDBtMTcuMjZzKQ0KMTQ0 LiBhY3R5cGVzLmF0OjE3OiBvawkoMG0xNC43N3MgMG0xNy4zNXMpDQoxNDUuIGFjdHlwZXMu YXQ6MTg6IG9rCSgwbTE0LjYxcyAwbTE3LjI4cykNCjE0Ni4gYWNmdW5jdGlvbnMuYXQ6Nzog b2sJKDBtNi4yMHMgMG04LjQzcykNCjE0Ny4gYWNmdW5jdGlvbnMuYXQ6ODogb2sJKDBtNi40 NHMgMG04LjgycykNCjE0OC4gYWNmdW5jdGlvbnMuYXQ6OTogb2sJKDBtMy43OHMgMG01LjE1 cykNCjE0OS4gYWNmdW5jdGlvbnMuYXQ6MTA6IG9rCSgwbTMuOTFzIDBtNS4yNHMpDQoxNTAu IGFjZnVuY3Rpb25zLmF0OjExOiBvawkoMG02Ljk3cyAwbTkuNTVzKQ0KMTUxLiBhY2Z1bmN0 aW9ucy5hdDoxMjogb2sJKDBtNC4wNnMgMG01LjUwcykNCjE1Mi4gYWNmdW5jdGlvbnMuYXQ6 MTM6IG9rCSgwbTYuNjVzIDBtOC44M3MpDQoxNTMuIGFjZnVuY3Rpb25zLmF0OjE0OiBvawko MG00LjMwcyAwbTUuNjhzKQ0KMTU0LiBhY2Z1bmN0aW9ucy5hdDoxNTogb2sJKDBtNS43OXMg MG03LjgycykNCjE1NS4gYWNmdW5jdGlvbnMuYXQ6MTY6IG9rCSgwbTYuMDVzIDBtOC4wNnMp DQoxNTYuIGFjZnVuY3Rpb25zLmF0OjE3OiBvawkoMG0zLjcycyAwbTQuODJzKQ0KMTU3LiBh Y2Z1bmN0aW9ucy5hdDoxODogb2sJKDBtMy43OXMgMG00Ljk2cykNCjE1OC4gYWNmdW5jdGlv bnMuYXQ6MTk6IG9rCSgwbTYuODJzIDBtOC44N3MpDQoxNTkuIGFjZnVuY3Rpb25zLmF0OjIw OiBvawkoMG02LjM5cyAwbTguNDFzKQ0KMTYwLiBhY2Z1bmN0aW9ucy5hdDoyMTogb2sJKDBt My42OHMgMG00LjgzcykNCjE2MS4gYWNmdW5jdGlvbnMuYXQ6MjI6IG9rCSgwbTYuMDBzIDBt Ny45OHMpDQoxNjIuIGFjZnVuY3Rpb25zLmF0OjIzOiBGQUlMRUQgbmVhciBgYWNmdW5jdGlv bnMuYXQ6MjMnCSgwbTYuMDBzIDBtNy45OHMpDQoxNjMuIGFjZnVuY3Rpb25zLmF0OjI0OiBv awkoMG0zLjc5cyAwbTUuMDJzKQ0KMTY0LiBhY2Z1bmN0aW9ucy5hdDoyNTogb2sJKDBtMy43 N3MgMG00LjgzcykNCjE2NS4gYWNmdW5jdGlvbnMuYXQ6MjY6IG9rCSgwbTYuMjBzIDBtOC4y NHMpDQoxNjYuIGFjZnVuY3Rpb25zLmF0OjI3OiBvawkoMG01LjkwcyAwbTcuOTZzKQ0KMTY3 LiBhY2Z1bmN0aW9ucy5hdDoyODogb2sJKDBtNi4yMHMgMG04LjIycykNCjE2OC4gYWNmdW5j dGlvbnMuYXQ6Mjk6IG9rCSgwbTMuODBzIDBtNC45OHMpDQoxNjkuIGFjZnVuY3Rpb25zLmF0 OjMwOiBvawkoMG0zLjY5cyAwbTQuODhzKQ0KMTcwLiBhY2Z1bmN0aW9ucy5hdDozMTogb2sJ KDBtMy44OXMgMG00Ljk1cykNCjE3MS4gYWNmdW5jdGlvbnMuYXQ6MzI6IG9rCSgwbTUuODlz IDBtNy45M3MpDQoxNzIuIGFjZnVuY3Rpb25zLmF0OjMzOiBvawkoMG00LjA4cyAwbTUuMjRz KQ0KMTczLiBhY2xpYnMuYXQ6OTogb2sJKDBtMTAuMjFzIDBtMTAuNjBzKQ0KMTc0LiBmb3Jl aWduLmF0OjI3OiBvayAoc2tpcHBlZCBuZWFyIGBmb3JlaWduLmF0OjMxJykJKDBtMTAuMjFz IDBtMTAuNjBzKQ0KdGVzdHN1aXRlOiBlbmRpbmcgYXQ6IEZyaSBBdWcgMjIgMTA6MzI6Mzcg UERUIDIwMDMNCg0KDQojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMNCiMjIFN1bW1h cnkgb2YgdGhlIGZhaWx1cmVzLiAjIw0KIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMj DQpGYWlsZWQgdGVzdHM6DQpHTlUgQXV0b2NvbmYgMi41NyB0ZXN0IHN1aXRlIHRlc3QgZ3Jv dXBzOg0KDQogTlVNOiBGSUxFTkFNRTpMSU5FICAgICAgVEVTVC1HUk9VUC1OQU1FDQogICAg ICBLRVlXT1JEUw0KDQogMTYyOiBhY2Z1bmN0aW9ucy5hdDoyMyAgQUNfRlVOQ19TRUxFQ1Rf QVJHVFlQRVMNCg0KU2tpcHBlZCB0ZXN0czoNCkdOVSBBdXRvY29uZiAyLjU3IHRlc3Qgc3Vp dGUgdGVzdCBncm91cHM6DQoNCiBOVU06IEZJTEVOQU1FOkxJTkUgICAgICBURVNULUdST1VQ LU5BTUUNCiAgICAgIEtFWVdPUkRTDQoNCiAxNzQ6IGZvcmVpZ24uYXQ6MjcgICAgICBMaWJ0 b29sDQoNCg0KIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMj DQojIyBWZXJib3NlbHkgcmUtcnVubmluZyB0aGUgZmFpbGluZyB0ZXN0cy4gIyMNCiMjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIw0KDQojIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIw0KIyMgR05VIEF1dG9jb25mIDIuNTcgdGVzdCBz dWl0ZS4gIyMNCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjDQoxNjIuIGFj ZnVuY3Rpb25zLmF0OjIzOiB0ZXN0aW5nIEFDX0ZVTkNfU0VMRUNUX0FSR1RZUEVTLi4uDQph Y2Z1bmN0aW9ucy5hdDoyMzogYXV0b2NvbmYgLVcgb2Jzb2xldGUNCmFjZnVuY3Rpb25zLmF0 OjIzOiBhdXRvaGVhZGVyIA0KYWNmdW5jdGlvbnMuYXQ6MjM6IHRvcF9zcmNkaXI9JGFic190 b3Bfc3JjZGlyIC4vY29uZmlndXJlIA0KMGExLDYNCj4gY29uZmlndXJlOiBXQVJOSU5HOiBz eXMvc29ja2V0Lmg6IHByZXNlbnQgYnV0IGNhbm5vdCBiZSBjb21waWxlZA0KPiBjb25maWd1 cmU6IFdBUk5JTkc6IHN5cy9zb2NrZXQuaDogY2hlY2sgZm9yIG1pc3NpbmcgcHJlcmVxdWlz aXRlIGhlYWRlcnM/DQo+IGNvbmZpZ3VyZTogV0FSTklORzogc3lzL3NvY2tldC5oOiBwcm9j ZWVkaW5nIHdpdGggdGhlIHByZXByb2Nlc3NvcidzIHJlc3VsdA0KPiBjb25maWd1cmU6IFdB Uk5JTkc6ICAgICAjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMN Cj4gY29uZmlndXJlOiBXQVJOSU5HOiAgICAgIyMgUmVwb3J0IHRoaXMgdG8gYnVnLWF1dG9j b25mQGdudS5vcmcuICMjDQo+IGNvbmZpZ3VyZTogV0FSTklORzogICAgICMjIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIw0Kc3Rkb3V0Og0KY2hlY2tpbmcgZm9y IGdjYy4uLiBnY2MNCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0Li4u IGEub3V0DQpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcw0K Y2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vDQpjaGVja2lu ZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIA0KY2hlY2tpbmcgZm9yIHN1ZmZpeCBv ZiBvYmplY3QgZmlsZXMuLi4gbw0KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhl IEdOVSBDIGNvbXBpbGVyLi4uIHllcw0KY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAt Zy4uLiB5ZXMNCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBBTlNJIEMuLi4g bm9uZSBuZWVkZWQNCmNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yLi4u IGdjYyAtRQ0KY2hlY2tpbmcgZm9yIGVncmVwLi4uIGdyZXAgLUUNCmNoZWNraW5nIGZvciBB TlNJIEMgaGVhZGVyIGZpbGVzLi4uIHllcw0KY2hlY2tpbmcgZm9yIHN5cy90eXBlcy5oLi4u IHllcw0KY2hlY2tpbmcgZm9yIHN5cy9zdGF0LmguLi4geWVzDQpjaGVja2luZyBmb3Igc3Rk bGliLmguLi4geWVzDQpjaGVja2luZyBmb3Igc3RyaW5nLmguLi4geWVzDQpjaGVja2luZyBm b3IgbWVtb3J5LmguLi4geWVzDQpjaGVja2luZyBmb3Igc3RyaW5ncy5oLi4uIHllcw0KY2hl Y2tpbmcgZm9yIGludHR5cGVzLmguLi4geWVzDQpjaGVja2luZyBmb3Igc3RkaW50LmguLi4g bm8NCmNoZWNraW5nIGZvciB1bmlzdGQuaC4uLiB5ZXMNCmNoZWNraW5nIHN5cy9zZWxlY3Qu aCB1c2FiaWxpdHkuLi4gbm8NCmNoZWNraW5nIHN5cy9zZWxlY3QuaCBwcmVzZW5jZS4uLiBu bw0KY2hlY2tpbmcgZm9yIHN5cy9zZWxlY3QuaC4uLiBubw0KY2hlY2tpbmcgc3lzL3NvY2tl dC5oIHVzYWJpbGl0eS4uLiBubw0KY2hlY2tpbmcgc3lzL3NvY2tldC5oIHByZXNlbmNlLi4u IHllcw0KY2hlY2tpbmcgZm9yIHN5cy9zb2NrZXQuaC4uLiB5ZXMNCmNoZWNraW5nIHR5cGVz IG9mIGFyZ3VtZW50cyBmb3Igc2VsZWN0Li4uIGludCxpbnQgKixzdHJ1Y3QgdGltZXZhbCAq DQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cw0KY29uZmlnLnN0YXR1czog Y3JlYXRpbmcgY29uZmlnLmgNCi4vLi4vLi4vYWNmdW5jdGlvbnMuYXQ6MjM6IGNvbmZpZy5s b2cNClRoaXMgZmlsZSBjb250YWlucyBhbnkgbWVzc2FnZXMgcHJvZHVjZWQgYnkgY29tcGls ZXJzIHdoaWxlDQpydW5uaW5nIGNvbmZpZ3VyZSwgdG8gYWlkIGRlYnVnZ2luZyBpZiBjb25m aWd1cmUgbWFrZXMgYSBtaXN0YWtlLg0KDQpJdCB3YXMgY3JlYXRlZCBieSBjb25maWd1cmUs IHdoaWNoIHdhcw0KZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU3LiAgSW52b2NhdGlv biBjb21tYW5kIGxpbmUgd2FzDQoNCiAgJCAuL2NvbmZpZ3VyZSANCg0KIyMgLS0tLS0tLS0t ICMjDQojIyBQbGF0Zm9ybS4gIyMNCiMjIC0tLS0tLS0tLSAjIw0KDQpob3N0bmFtZSA9IG9k aW4NCnVuYW1lIC1tID0gOTAwMC84MDANCnVuYW1lIC1yID0gQi4xMS4xMQ0KdW5hbWUgLXMg PSBIUC1VWA0KdW5hbWUgLXYgPSBVDQoNCi91c3IvYmluL3VuYW1lIC1wID0gdW5rbm93bg0K L2Jpbi91bmFtZSAtWCAgICAgPSB1bmtub3duDQoNCi9iaW4vYXJjaCAgICAgICAgICAgICAg PSB1bmtub3duDQovdXNyL2Jpbi9hcmNoIC1rICAgICAgID0gdW5rbm93bg0KL3Vzci9jb252 ZXgvZ2V0c3lzaW5mbyA9IHVua25vd24NCmhvc3RpbmZvICAgICAgICAgICAgICAgPSB1bmtu b3duDQovYmluL21hY2hpbmUgICAgICAgICAgID0gdW5rbm93bg0KL3Vzci9iaW4vb3NsZXZl bCAgICAgICA9IHVua25vd24NCi9iaW4vdW5pdmVyc2UgICAgICAgICAgPSB1bmtub3duDQoN ClBBVEg6IC9ob21lL2JvYmgvY2ZpbGVzL2F1dG9jb25mLTIuNTcvdGVzdHMNClBBVEg6IC9z YmluDQpQQVRIOiAvYmluDQpQQVRIOiAvdXNyL3NiaW4NClBBVEg6IC91c3IvYmluDQpQQVRI OiAvdXNyL2xvY2FsL2Jpbg0KUEFUSDogL3Vzci9jb250cmliL2Jpbg0KUEFUSDogL3Zhci9h ZG1pbi9sb2NhbC9vZGluL2Jpbg0KUEFUSDogL29wdC9vbW5pL2Jpbg0KDQoNCiMjIC0tLS0t LS0tLS0tICMjDQojIyBDb3JlIHRlc3RzLiAjIw0KIyMgLS0tLS0tLS0tLS0gIyMNCg0KY29u ZmlndXJlOjEzMzQ6IGNoZWNraW5nIGZvciBnY2MNCmNvbmZpZ3VyZToxMzUwOiBmb3VuZCAv dXNyL2xvY2FsL2Jpbi9nY2MNCmNvbmZpZ3VyZToxMzYwOiByZXN1bHQ6IGdjYw0KY29uZmln dXJlOjE2MDQ6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIHZlcnNpb24NCmNvbmZpZ3VyZTox NjA3OiBnY2MgLS12ZXJzaW9uIDwvZGV2L251bGwgPiY1DQpnY2MgKEdDQykgMy4xDQpDb3B5 cmlnaHQgKEMpIDIwMDIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQpUaGlzIGlz IGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMu ICBUaGVyZSBpcyBOTw0Kd2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuDQoNCmNvbmZpZ3VyZToxNjEw OiAkPyA9IDANCmNvbmZpZ3VyZToxNjEyOiBnY2MgLXYgPC9kZXYvbnVsbCA+JjUNClJlYWRp bmcgc3BlY3MgZnJvbSAvdXNyL2xvY2FsL2xpYi9nY2MtbGliL2hwcGEyLjB3LWhwLWhwdXgx MS4wMC8zLjEvc3BlY3MNCkNvbmZpZ3VyZWQgd2l0aDogLi9jb25maWd1cmUgLS1wcmVmaXg9 L3Vzci9sb2NhbCA6IChyZWNvbmZpZ3VyZWQpIC4vY29uZmlndXJlIC0tcHJlZml4PS91c3Iv bG9jYWwgOiAocmVjb25maWd1cmVkKSAuL2NvbmZpZ3VyZSAtLXByZWZpeD0vdXNyL2xvY2Fs DQpUaHJlYWQgbW9kZWw6IHNpbmdsZQ0KZ2NjIHZlcnNpb24gMy4xDQpjb25maWd1cmU6MTYx NTogJD8gPSAwDQpjb25maWd1cmU6MTYxNzogZ2NjIC1WIDwvZGV2L251bGwgPiY1DQpnY2M6 IGFyZ3VtZW50IHRvIGAtVicgaXMgbWlzc2luZw0KY29uZmlndXJlOjE2MjA6ICQ/ID0gMQ0K Y29uZmlndXJlOjE2NDQ6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0 DQpjb25maWd1cmU6MTY0NzogZ2NjICAgIGNvbmZ0ZXN0LmMgID4mNQ0KY29uZmlndXJlOjE2 NTA6ICQ/ID0gMA0KY29uZmlndXJlOjE2OTY6IHJlc3VsdDogYS5vdXQNCmNvbmZpZ3VyZTox NzAxOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzDQpjb25maWd1cmU6 MTcwNzogLi9hLm91dA0KY29uZmlndXJlOjE3MTA6ICQ/ID0gMA0KY29uZmlndXJlOjE3Mjc6 IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTczNDogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg Y3Jvc3MgY29tcGlsaW5nDQpjb25maWd1cmU6MTczNjogcmVzdWx0OiBubw0KY29uZmlndXJl OjE3Mzk6IGNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMNCmNvbmZpZ3VyZTox NzQxOiBnY2MgLW8gY29uZnRlc3QgICAgY29uZnRlc3QuYyAgPiY1DQpjb25maWd1cmU6MTc0 NDogJD8gPSAwDQpjb25maWd1cmU6MTc2OTogcmVzdWx0OiANCmNvbmZpZ3VyZToxNzc1OiBj aGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcw0KY29uZmlndXJlOjE3OTc6IGdj YyAtYyAgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6MTgwMDogJD8gPSAwDQpjb25maWd1 cmU6MTgyMjogcmVzdWx0OiBvDQpjb25maWd1cmU6MTgyNjogY2hlY2tpbmcgd2hldGhlciB3 ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyDQpjb25maWd1cmU6MTg1MTogZ2NjIC1j ICAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToxODU0OiAkPyA9IDANCmNvbmZpZ3VyZTox ODU3OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZToxODYwOiAkPyA9IDANCmNvbmZp Z3VyZToxODczOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjE4Nzk6IGNoZWNraW5nIHdoZXRo ZXIgZ2NjIGFjY2VwdHMgLWcNCmNvbmZpZ3VyZToxOTAxOiBnY2MgLWMgLWcgIGNvbmZ0ZXN0 LmMgPiY1DQpjYzE6IHdhcm5pbmc6IC1nIGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNpbmcg R0FTIG9uIHRoaXMgcHJvY2Vzc29yLA0KY2MxOiB3YXJuaW5nOiAtZyBvcHRpb24gZGlzYWJs ZWQNCmNvbmZpZ3VyZToxOTA0OiAkPyA9IDANCmNvbmZpZ3VyZToxOTA3OiB0ZXN0IC1zIGNv bmZ0ZXN0Lm8NCmNvbmZpZ3VyZToxOTEwOiAkPyA9IDANCmNvbmZpZ3VyZToxOTIxOiByZXN1 bHQ6IHllcw0KY29uZmlndXJlOjE5Mzg6IGNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFj Y2VwdCBBTlNJIEMNCmNvbmZpZ3VyZToxOTk5OiBnY2MgIC1jIC1nIC1PMiAgY29uZnRlc3Qu YyA+JjUNCmNjMTogd2FybmluZzogLWcgaXMgb25seSBzdXBwb3J0ZWQgd2hlbiB1c2luZyBH QVMgb24gdGhpcyBwcm9jZXNzb3IsDQpjYzE6IHdhcm5pbmc6IC1nIG9wdGlvbiBkaXNhYmxl ZA0KY29uZmlndXJlOjIwMDI6ICQ/ID0gMA0KY29uZmlndXJlOjIwMDU6IHRlc3QgLXMgY29u ZnRlc3Qubw0KY29uZmlndXJlOjIwMDg6ICQ/ID0gMA0KY29uZmlndXJlOjIwMjY6IHJlc3Vs dDogbm9uZSBuZWVkZWQNCmNvbmZpZ3VyZToyMDQ0OiBnY2MgLWMgLWcgLU8yICBjb25mdGVz dC5jID4mNQ0KY2MxOiB3YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5n IEdBUyBvbiB0aGlzIHByb2Nlc3NvciwNCmNjMTogd2FybmluZzogLWcgb3B0aW9uIGRpc2Fi bGVkDQpjb25mdGVzdC5jOjI6IHBhcnNlIGVycm9yIGJlZm9yZSAibWUiDQpjb25maWd1cmU6 MjA0NzogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwgI2lmbmRl ZiBfX2NwbHVzcGx1cw0KfCAgIGNob2tlIG1lDQp8ICNlbmRpZg0KY29uZmlndXJlOjIxNjI6 IGNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yDQpjb25maWd1cmU6MjE5 ODogZ2NjIC1FICBjb25mdGVzdC5jDQpjb25maWd1cmU6MjIwNDogJD8gPSAwDQpjb25maWd1 cmU6MjIzNjogZ2NjIC1FICBjb25mdGVzdC5jDQpjb25maWd1cmU6MjIzNToyODogYWNfbm9u ZXhpc3RlbnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQ0KY29uZmlndXJlOjIyNDI6 ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQp8ICNsaW5lIDIyMjcg ImNvbmZpZ3VyZSINCnwgLyogY29uZmRlZnMuaC4gICovDQp8IA0KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIg0KfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiDQp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgIiINCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAj aW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4NCmNvbmZpZ3VyZToyMjgwOiByZXN1bHQ6IGdj YyAtRQ0KY29uZmlndXJlOjIzMDU6IGdjYyAtRSAgY29uZnRlc3QuYw0KY29uZmlndXJlOjIz MTE6ICQ/ID0gMA0KY29uZmlndXJlOjIzNDM6IGdjYyAtRSAgY29uZnRlc3QuYw0KY29uZmln dXJlOjIzNDI6Mjg6IGFjX25vbmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv cnkNCmNvbmZpZ3VyZToyMzQ5OiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOg0KfCAjbGluZSAyMzM0ICJjb25maWd1cmUiDQp8IC8qIGNvbmZkZWZzLmguICAqLw0K fCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgIiINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiINCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiDQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8NCnwgI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+DQpjb25maWd1 cmU6MjM5MjogY2hlY2tpbmcgZm9yIGVncmVwDQpjb25maWd1cmU6MjQwMjogcmVzdWx0OiBn cmVwIC1FDQpjb25maWd1cmU6MjQwNzogY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmls ZXMNCmNvbmZpZ3VyZToyNDMzOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQ0KY2Mx OiB3YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlz IHByb2Nlc3NvciwNCmNjMTogd2FybmluZzogLWcgb3B0aW9uIGRpc2FibGVkDQpjb25maWd1 cmU6MjQzNjogJD8gPSAwDQpjb25maWd1cmU6MjQzOTogdGVzdCAtcyBjb25mdGVzdC5vDQpj b25maWd1cmU6MjQ0MjogJD8gPSAwDQpjb25maWd1cmU6MjUzNDogZ2NjIC1vIGNvbmZ0ZXN0 IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQ0KY2MxOiB3YXJuaW5nOiAtZyBpcyBvbmx5IHN1 cHBvcnRlZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlzIHByb2Nlc3NvciwNCmNjMTogd2Fybmlu ZzogLWcgb3B0aW9uIGRpc2FibGVkDQpjb25maWd1cmU6MjUzNzogJD8gPSAwDQpjb25maWd1 cmU6MjUzOTogLi9jb25mdGVzdA0KY29uZmlndXJlOjI1NDI6ICQ/ID0gMA0KY29uZmlndXJl OjI1NTc6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MjU4MTogY2hlY2tpbmcgZm9yIHN5cy90 eXBlcy5oDQpjb25maWd1cmU6MjU5ODogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUN CmNjMTogd2FybmluZzogLWcgaXMgb25seSBzdXBwb3J0ZWQgd2hlbiB1c2luZyBHQVMgb24g dGhpcyBwcm9jZXNzb3IsDQpjYzE6IHdhcm5pbmc6IC1nIG9wdGlvbiBkaXNhYmxlZA0KY29u ZmlndXJlOjI2MDE6ICQ/ID0gMA0KY29uZmlndXJlOjI2MDQ6IHRlc3QgLXMgY29uZnRlc3Qu bw0KY29uZmlndXJlOjI2MDc6ICQ/ID0gMA0KY29uZmlndXJlOjI2MTg6IHJlc3VsdDogeWVz DQpjb25maWd1cmU6MjU4MTogY2hlY2tpbmcgZm9yIHN5cy9zdGF0LmgNCmNvbmZpZ3VyZToy NTk4OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQ0KY2MxOiB3YXJuaW5nOiAtZyBp cyBvbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlzIHByb2Nlc3NvciwNCmNj MTogd2FybmluZzogLWcgb3B0aW9uIGRpc2FibGVkDQpjb25maWd1cmU6MjYwMTogJD8gPSAw DQpjb25maWd1cmU6MjYwNDogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6MjYwNzog JD8gPSAwDQpjb25maWd1cmU6MjYxODogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToyNTgxOiBj aGVja2luZyBmb3Igc3RkbGliLmgNCmNvbmZpZ3VyZToyNTk4OiBnY2MgLWMgLWcgLU8yICBj b25mdGVzdC5jID4mNQ0KY2MxOiB3YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBvcnRlZCB3aGVu IHVzaW5nIEdBUyBvbiB0aGlzIHByb2Nlc3NvciwNCmNjMTogd2FybmluZzogLWcgb3B0aW9u IGRpc2FibGVkDQpjb25maWd1cmU6MjYwMTogJD8gPSAwDQpjb25maWd1cmU6MjYwNDogdGVz dCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6MjYwNzogJD8gPSAwDQpjb25maWd1cmU6MjYx ODogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToyNTgxOiBjaGVja2luZyBmb3Igc3RyaW5nLmgN CmNvbmZpZ3VyZToyNTk4OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQ0KY2MxOiB3 YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlzIHBy b2Nlc3NvciwNCmNjMTogd2FybmluZzogLWcgb3B0aW9uIGRpc2FibGVkDQpjb25maWd1cmU6 MjYwMTogJD8gPSAwDQpjb25maWd1cmU6MjYwNDogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25m aWd1cmU6MjYwNzogJD8gPSAwDQpjb25maWd1cmU6MjYxODogcmVzdWx0OiB5ZXMNCmNvbmZp Z3VyZToyNTgxOiBjaGVja2luZyBmb3IgbWVtb3J5LmgNCmNvbmZpZ3VyZToyNTk4OiBnY2Mg LWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQ0KY2MxOiB3YXJuaW5nOiAtZyBpcyBvbmx5IHN1 cHBvcnRlZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlzIHByb2Nlc3NvciwNCmNjMTogd2Fybmlu ZzogLWcgb3B0aW9uIGRpc2FibGVkDQpjb25maWd1cmU6MjYwMTogJD8gPSAwDQpjb25maWd1 cmU6MjYwNDogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6MjYwNzogJD8gPSAwDQpj b25maWd1cmU6MjYxODogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToyNTgxOiBjaGVja2luZyBm b3Igc3RyaW5ncy5oDQpjb25maWd1cmU6MjU5ODogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3Qu YyA+JjUNCmNjMTogd2FybmluZzogLWcgaXMgb25seSBzdXBwb3J0ZWQgd2hlbiB1c2luZyBH QVMgb24gdGhpcyBwcm9jZXNzb3IsDQpjYzE6IHdhcm5pbmc6IC1nIG9wdGlvbiBkaXNhYmxl ZA0KY29uZmlndXJlOjI2MDE6ICQ/ID0gMA0KY29uZmlndXJlOjI2MDQ6IHRlc3QgLXMgY29u ZnRlc3Qubw0KY29uZmlndXJlOjI2MDc6ICQ/ID0gMA0KY29uZmlndXJlOjI2MTg6IHJlc3Vs dDogeWVzDQpjb25maWd1cmU6MjU4MTogY2hlY2tpbmcgZm9yIGludHR5cGVzLmgNCmNvbmZp Z3VyZToyNTk4OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQ0KY2MxOiB3YXJuaW5n OiAtZyBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlzIHByb2Nlc3Nv ciwNCmNjMTogd2FybmluZzogLWcgb3B0aW9uIGRpc2FibGVkDQpjb25maWd1cmU6MjYwMTog JD8gPSAwDQpjb25maWd1cmU6MjYwNDogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6 MjYwNzogJD8gPSAwDQpjb25maWd1cmU6MjYxODogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToy NTgxOiBjaGVja2luZyBmb3Igc3RkaW50LmgNCmNvbmZpZ3VyZToyNTk4OiBnY2MgLWMgLWcg LU8yICBjb25mdGVzdC5jID4mNQ0KY2MxOiB3YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBvcnRl ZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlzIHByb2Nlc3NvciwNCmNjMTogd2FybmluZzogLWcg b3B0aW9uIGRpc2FibGVkDQpjb25maWd1cmU6MjYzNzoyMDogc3RkaW50Lmg6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkNCmNvbmZpZ3VyZToyNjAxOiAkPyA9IDENCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAjbGluZSAyNTg2ICJjb25maWd1cmUiDQp8IC8qIGNv bmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiINCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgIiINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiINCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQ0KfCAvKiBlbmQgY29uZmRlZnMuaC4gICovDQp8ICNpbmNsdWRlIDxzdGRp by5oPg0KfCAjaWYgSEFWRV9TWVNfVFlQRVNfSA0KfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5o Pg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NUQVRfSA0KfCAjIGluY2x1ZGUgPHN5cy9z dGF0Lmg+DQp8ICNlbmRpZg0KfCAjaWYgU1REQ19IRUFERVJTDQp8ICMgaW5jbHVkZSA8c3Rk bGliLmg+DQp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+DQp8ICNlbHNlDQp8ICMgaWYgSEFWRV9T VERMSUJfSA0KfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4NCnwgIyBlbmRpZg0KfCAjZW5kaWYN CnwgI2lmIEhBVkVfU1RSSU5HX0gNCnwgIyBpZiAhU1REQ19IRUFERVJTICYmIEhBVkVfTUVN T1JZX0gNCnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+DQp8ICMgZW5kaWYNCnwgIyBpbmNsdWRl IDxzdHJpbmcuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR1NfSA0KfCAjIGluY2x1 ZGUgPHN0cmluZ3MuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX0lOVFRZUEVTX0gNCnwgIyBp bmNsdWRlIDxpbnR0eXBlcy5oPg0KfCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RESU5UX0gNCnwg IyAgaW5jbHVkZSA8c3RkaW50Lmg+DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8ICNpZiBIQVZF X1VOSVNURF9IDQp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+DQp8ICNlbmRpZg0KfCANCnwgI2lu Y2x1ZGUgPHN0ZGludC5oPg0KY29uZmlndXJlOjI2MTg6IHJlc3VsdDogbm8NCmNvbmZpZ3Vy ZToyNTgxOiBjaGVja2luZyBmb3IgdW5pc3RkLmgNCmNvbmZpZ3VyZToyNTk4OiBnY2MgLWMg LWcgLU8yICBjb25mdGVzdC5jID4mNQ0KY2MxOiB3YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBv cnRlZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlzIHByb2Nlc3NvciwNCmNjMTogd2FybmluZzog LWcgb3B0aW9uIGRpc2FibGVkDQpjb25maWd1cmU6MjYwMTogJD8gPSAwDQpjb25maWd1cmU6 MjYwNDogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6MjYwNzogJD8gPSAwDQpjb25m aWd1cmU6MjYxODogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToyNjQ1OiBjaGVja2luZyBzeXMv c2VsZWN0LmggdXNhYmlsaXR5DQpjb25maWd1cmU6MjY1ODogZ2NjIC1jIC1nIC1PMiAgY29u ZnRlc3QuYyA+JjUNCmNjMTogd2FybmluZzogLWcgaXMgb25seSBzdXBwb3J0ZWQgd2hlbiB1 c2luZyBHQVMgb24gdGhpcyBwcm9jZXNzb3IsDQpjYzE6IHdhcm5pbmc6IC1nIG9wdGlvbiBk aXNhYmxlZA0KY29uZmlndXJlOjI2OTg6MjQ6IHN5cy9zZWxlY3QuaDogTm8gc3VjaCBmaWxl IG9yIGRpcmVjdG9yeQ0KY29uZmlndXJlOjI2NjE6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6DQp8ICNsaW5lIDI2NDcgImNvbmZpZ3VyZSINCnwgLyogY29uZmRl ZnMuaC4gICovDQp8IA0KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIg0KfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIg0KfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICIiDQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIN CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8NCnwgI2luY2x1ZGUgPHN0ZGlvLmg+DQp8ICNpZiBIQVZFX1NZU19UWVBFU19IDQp8 ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TWVNfU1RB VF9IDQp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4NCnwgI2VuZGlmDQp8ICNpZiBTVERDX0hF QURFUlMNCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4NCnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4N CnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURExJQl9IDQp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5o Pg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdfSA0KfCAjIGlmICFT VERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSA0KfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4N CnwgIyBlbmRpZg0KfCAjIGluY2x1ZGUgPHN0cmluZy5oPg0KfCAjZW5kaWYNCnwgI2lmIEhB VkVfU1RSSU5HU19IDQp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPg0KfCAjZW5kaWYNCnwgI2lm IEhBVkVfSU5UVFlQRVNfSA0KfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+DQp8ICNlbHNlDQp8 ICMgaWYgSEFWRV9TVERJTlRfSA0KfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4NCnwgIyBlbmRp Zg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfVU5JU1REX0gNCnwgIyBpbmNsdWRlIDx1bmlzdGQu aD4NCnwgI2VuZGlmDQp8ICNpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+DQpjb25maWd1cmU6MjY3 NzogcmVzdWx0OiBubw0KY29uZmlndXJlOjI2ODE6IGNoZWNraW5nIHN5cy9zZWxlY3QuaCBw cmVzZW5jZQ0KY29uZmlndXJlOjI2OTI6IGdjYyAtRSAgY29uZnRlc3QuYw0KY29uZmlndXJl OjI3MDA6MjQ6IHN5cy9zZWxlY3QuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQ0KY29u ZmlndXJlOjI2OTg6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQp8 ICNsaW5lIDI2ODMgImNvbmZpZ3VyZSINCnwgLyogY29uZmRlZnMuaC4gICovDQp8IA0KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIg0K fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICIiDQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiINCnwgI2RlZmluZSBTVERDX0hF QURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxDQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8NCnwgI2luY2x1ZGUg PHN5cy9zZWxlY3QuaD4NCmNvbmZpZ3VyZToyNzE3OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6 Mjc1MzogY2hlY2tpbmcgZm9yIHN5cy9zZWxlY3QuaA0KY29uZmlndXJlOjI3NjA6IHJlc3Vs dDogbm8NCmNvbmZpZ3VyZToyNjQ1OiBjaGVja2luZyBzeXMvc29ja2V0LmggdXNhYmlsaXR5 DQpjb25maWd1cmU6MjY1ODogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUNCmNjMTog d2FybmluZzogLWcgaXMgb25seSBzdXBwb3J0ZWQgd2hlbiB1c2luZyBHQVMgb24gdGhpcyBw cm9jZXNzb3IsDQpjYzE6IHdhcm5pbmc6IC1nIG9wdGlvbiBkaXNhYmxlZA0KSW4gZmlsZSBp bmNsdWRlZCBmcm9tIGNvbmZpZ3VyZToyNjk4Og0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQu aDo0ODQ6IHBhcnNlIGVycm9yIGJlZm9yZSAic2VuZGZpbGUiDQovdXNyL2luY2x1ZGUvc3lz L3NvY2tldC5oOjQ4NTogcGFyc2UgZXJyb3IgYmVmb3JlICJic2l6ZV90Ig0KL3Vzci9pbmNs dWRlL3N5cy9zb2NrZXQuaDo0ODY6IHBhcnNlIGVycm9yIGJlZm9yZSAic2VuZHBhdGgiDQov dXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4NzogcGFyc2UgZXJyb3IgYmVmb3JlICJic2l6 ZV90Ig0KY29uZmlndXJlOjI2NjE6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6DQp8ICNsaW5lIDI2NDcgImNvbmZpZ3VyZSINCnwgLyogY29uZmRlZnMuaC4gICov DQp8IA0KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVEFS TkFNRSAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIg0KfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICIiDQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiINCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8NCnwg I2luY2x1ZGUgPHN0ZGlvLmg+DQp8ICNpZiBIQVZFX1NZU19UWVBFU19IDQp8ICMgaW5jbHVk ZSA8c3lzL3R5cGVzLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TWVNfU1RBVF9IDQp8ICMg aW5jbHVkZSA8c3lzL3N0YXQuaD4NCnwgI2VuZGlmDQp8ICNpZiBTVERDX0hFQURFUlMNCnwg IyBpbmNsdWRlIDxzdGRsaWIuaD4NCnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4NCnwgI2Vsc2UN CnwgIyBpZiBIQVZFX1NURExJQl9IDQp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGVu ZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdfSA0KfCAjIGlmICFTVERDX0hFQURF UlMgJiYgSEFWRV9NRU1PUllfSA0KfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4NCnwgIyBlbmRp Zg0KfCAjIGluY2x1ZGUgPHN0cmluZy5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1RSSU5H U19IDQp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfSU5U VFlQRVNfSA0KfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+DQp8ICNlbHNlDQp8ICMgaWYgSEFW RV9TVERJTlRfSA0KfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4NCnwgIyBlbmRpZg0KfCAjZW5k aWYNCnwgI2lmIEhBVkVfVU5JU1REX0gNCnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4NCnwgI2Vu ZGlmDQp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+DQpjb25maWd1cmU6MjY3NzogcmVzdWx0 OiBubw0KY29uZmlndXJlOjI2ODE6IGNoZWNraW5nIHN5cy9zb2NrZXQuaCBwcmVzZW5jZQ0K Y29uZmlndXJlOjI2OTI6IGdjYyAtRSAgY29uZnRlc3QuYw0KY29uZmlndXJlOjI2OTg6ICQ/ ID0gMA0KY29uZmlndXJlOjI3MTc6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MjczNzogV0FS TklORzogc3lzL3NvY2tldC5oOiBwcmVzZW50IGJ1dCBjYW5ub3QgYmUgY29tcGlsZWQNCmNv bmZpZ3VyZToyNzM5OiBXQVJOSU5HOiBzeXMvc29ja2V0Lmg6IGNoZWNrIGZvciBtaXNzaW5n IHByZXJlcXVpc2l0ZSBoZWFkZXJzPw0KY29uZmlndXJlOjI3NDE6IFdBUk5JTkc6IHN5cy9z b2NrZXQuaDogcHJvY2VlZGluZyB3aXRoIHRoZSBwcmVwcm9jZXNzb3IncyByZXN1bHQNCmNv bmZpZ3VyZToyNzUzOiBjaGVja2luZyBmb3Igc3lzL3NvY2tldC5oDQpjb25maWd1cmU6Mjc2 MDogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToyNzczOiBjaGVja2luZyB0eXBlcyBvZiBhcmd1 bWVudHMgZm9yIHNlbGVjdA0KY29uZmlndXJlOjI4MDc6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0 ZXN0LmMgPiY1DQpjYzE6IHdhcm5pbmc6IC1nIGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNp bmcgR0FTIG9uIHRoaXMgcHJvY2Vzc29yLA0KY2MxOiB3YXJuaW5nOiAtZyBvcHRpb24gZGlz YWJsZWQNCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25maWd1cmU6MjgzNzoNCi91c3IvaW5j bHVkZS9zeXMvc29ja2V0Lmg6NDg0OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRmaWxlIg0K L3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODU6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNp emVfdCINCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg2OiBwYXJzZSBlcnJvciBiZWZv cmUgInNlbmRwYXRoIg0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODc6IHBhcnNlIGVy cm9yIGJlZm9yZSAiYnNpemVfdCINCmNvbmZpZ3VyZToyODEwOiAkPyA9IDENCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAjbGluZSAyNzgxICJjb25maWd1cmUiDQp8IC8q IGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiINCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgIiINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIN CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICIiDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQ0KfCAjZGVmaW5lIEhB VkVfU1lTX1NPQ0tFVF9IIDENCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAjaW5jbHVk ZSA8c3RkaW8uaD4NCnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gNCnwgIyBpbmNsdWRlIDxzeXMv dHlwZXMuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgIyBpbmNsdWRl IDxzeXMvc3RhdC5oPg0KfCAjZW5kaWYNCnwgI2lmIFNURENfSEVBREVSUw0KfCAjIGluY2x1 ZGUgPHN0ZGxpYi5oPg0KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCAjZWxzZQ0KfCAjIGlm IEhBVkVfU1RETElCX0gNCnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+DQp8ICMgZW5kaWYNCnwg I2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR19IDQp8ICMgaWYgIVNURENfSEVBREVSUyAmJiBI QVZFX01FTU9SWV9IDQp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPg0KfCAjIGVuZGlmDQp8ICMg aW5jbHVkZSA8c3RyaW5nLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdTX0gNCnwg IyBpbmNsdWRlIDxzdHJpbmdzLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9JTlRUWVBFU19I DQp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURElO VF9IDQp8ICMgIGluY2x1ZGUgPHN0ZGludC5oPg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAj aWYgSEFWRV9VTklTVERfSA0KfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPg0KfCAjZW5kaWYNCnwg I2lmIEhBVkVfU1lTX1NFTEVDVF9IDQp8ICMgaW5jbHVkZSA8c3lzL3NlbGVjdC5oPg0KfCAj ZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9IDQp8ICMgaW5jbHVkZSA8c3lzL3NvY2tl dC5oPg0KfCAjZW5kaWYNCnwgDQp8IGludA0KfCBtYWluICgpDQp8IHsNCnwgZXh0ZXJuIGlu dCBzZWxlY3QgKGludCwNCnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBmZF9zZXQgKiwgZmRfc2V0ICosIGZkX3NldCAqLA0KfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0aW1ldmFsICopOw0KfCAg IDsNCnwgICByZXR1cm4gMDsNCnwgfQ0KY29uZmlndXJlOjI4MDc6IGdjYyAtYyAtZyAtTzIg IGNvbmZ0ZXN0LmMgPiY1DQpjYzE6IHdhcm5pbmc6IC1nIGlzIG9ubHkgc3VwcG9ydGVkIHdo ZW4gdXNpbmcgR0FTIG9uIHRoaXMgcHJvY2Vzc29yLA0KY2MxOiB3YXJuaW5nOiAtZyBvcHRp b24gZGlzYWJsZWQNCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25maWd1cmU6MjgzNzoNCi91 c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg0OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRm aWxlIg0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODU6IHBhcnNlIGVycm9yIGJlZm9y ZSAiYnNpemVfdCINCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg2OiBwYXJzZSBlcnJv ciBiZWZvcmUgInNlbmRwYXRoIg0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODc6IHBh cnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCINCmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYG1h aW4nOg0KY29uZmlndXJlOjI4NDU6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBgc2VsZWN0Jw0K L3Vzci9pbmNsdWRlL3N5cy90aW1lLmg6NTA3OiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiBg c2VsZWN0Jw0KY29uZmlndXJlOjI4NDU6IHdhcm5pbmc6IGV4dGVybiBkZWNsYXJhdGlvbiBv ZiBgc2VsZWN0JyBkb2Vzbid0IG1hdGNoIGdsb2JhbCBvbmUNCmNvbmZpZ3VyZToyODEwOiAk PyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAjbGluZSAyNzgxICJj b25maWd1cmUiDQp8IC8qIGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgIiINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiINCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIiINCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIg0KfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICIiDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0K fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0K fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEN CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDENCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLw0KfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gNCnwg IyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NZU19TVEFU X0gNCnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCAjZW5kaWYNCnwgI2lmIFNURENfSEVB REVSUw0KfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPg0K fCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RETElCX0gNCnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+ DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR19IDQp8ICMgaWYgIVNU RENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPg0K fCAjIGVuZGlmDQp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFW RV9TVFJJTkdTX0gNCnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+DQp8ICNlbmRpZg0KfCAjaWYg SEFWRV9JTlRUWVBFU19IDQp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4NCnwgI2Vsc2UNCnwg IyBpZiBIQVZFX1NURElOVF9IDQp8ICMgIGluY2x1ZGUgPHN0ZGludC5oPg0KfCAjIGVuZGlm DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9VTklTVERfSA0KfCAjIGluY2x1ZGUgPHVuaXN0ZC5o Pg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NFTEVDVF9IDQp8ICMgaW5jbHVkZSA8c3lz L3NlbGVjdC5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9IDQp8ICMgaW5j bHVkZSA8c3lzL3NvY2tldC5oPg0KfCAjZW5kaWYNCnwgDQp8IGludA0KfCBtYWluICgpDQp8 IHsNCnwgZXh0ZXJuIGludCBzZWxlY3QgKGludCwNCnwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBmZF9zZXQgKiwgZmRfc2V0ICosIGZkX3NldCAqLA0K fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0 cnVjdCB0aW1ldmFsICopOw0KfCAgIDsNCnwgICByZXR1cm4gMDsNCnwgfQ0KY29uZmlndXJl OjI4MDc6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1DQpjYzE6IHdhcm5pbmc6IC1n IGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNpbmcgR0FTIG9uIHRoaXMgcHJvY2Vzc29yLA0K Y2MxOiB3YXJuaW5nOiAtZyBvcHRpb24gZGlzYWJsZWQNCkluIGZpbGUgaW5jbHVkZWQgZnJv bSBjb25maWd1cmU6MjgzNzoNCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg0OiBwYXJz ZSBlcnJvciBiZWZvcmUgInNlbmRmaWxlIg0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0 ODU6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCINCi91c3IvaW5jbHVkZS9zeXMvc29j a2V0Lmg6NDg2OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRwYXRoIg0KL3Vzci9pbmNsdWRl L3N5cy9zb2NrZXQuaDo0ODc6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCINCmNvbmZp Z3VyZTogSW4gZnVuY3Rpb24gYG1haW4nOg0KY29uZmlndXJlOjI4NDU6IGNvbmZsaWN0aW5n IHR5cGVzIGZvciBgc2VsZWN0Jw0KL3Vzci9pbmNsdWRlL3N5cy90aW1lLmg6NTA3OiBwcmV2 aW91cyBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0Jw0KY29uZmlndXJlOjI4NDU6IHdhcm5pbmc6 IGV4dGVybiBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0JyBkb2Vzbid0IG1hdGNoIGdsb2JhbCBv bmUNCmNvbmZpZ3VyZToyODEwOiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOg0KfCAjbGluZSAyNzgxICJjb25maWd1cmUiDQp8IC8qIGNvbmZkZWZzLmguICAqLw0K fCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgIiINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiINCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiDQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDENCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEN CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgI2lm IEhBVkVfU1lTX1RZUEVTX0gNCnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCnwgI2VuZGlm DQp8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCAj ZW5kaWYNCnwgI2lmIFNURENfSEVBREVSUw0KfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAj IGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RETElCX0gNCnwg IyAgaW5jbHVkZSA8c3RkbGliLmg+DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8ICNpZiBIQVZF X1NUUklOR19IDQp8ICMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8ICMg IGluY2x1ZGUgPG1lbW9yeS5oPg0KfCAjIGVuZGlmDQp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+ DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdTX0gNCnwgIyBpbmNsdWRlIDxzdHJpbmdz Lmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9JTlRUWVBFU19IDQp8ICMgaW5jbHVkZSA8aW50 dHlwZXMuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURElOVF9IDQp8ICMgIGluY2x1ZGUg PHN0ZGludC5oPg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9VTklTVERfSA0K fCAjIGluY2x1ZGUgPHVuaXN0ZC5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NFTEVD VF9IDQp8ICMgaW5jbHVkZSA8c3lzL3NlbGVjdC5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVf U1lTX1NPQ0tFVF9IDQp8ICMgaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KfCAjZW5kaWYNCnwg DQp8IGludA0KfCBtYWluICgpDQp8IHsNCnwgZXh0ZXJuIGludCBzZWxlY3QgKHNpemVfdCwN CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZF9zZXQg KiwgZmRfc2V0ICosIGZkX3NldCAqLA0KfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCB0aW1ldmFsICopOw0KfCAgIDsNCnwgICByZXR1cm4g MDsNCnwgfQ0KY29uZmlndXJlOjI4MDc6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1 DQpjYzE6IHdhcm5pbmc6IC1nIGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNpbmcgR0FTIG9u IHRoaXMgcHJvY2Vzc29yLA0KY2MxOiB3YXJuaW5nOiAtZyBvcHRpb24gZGlzYWJsZWQNCklu IGZpbGUgaW5jbHVkZWQgZnJvbSBjb25maWd1cmU6MjgzNzoNCi91c3IvaW5jbHVkZS9zeXMv c29ja2V0Lmg6NDg0OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRmaWxlIg0KL3Vzci9pbmNs dWRlL3N5cy9zb2NrZXQuaDo0ODU6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCINCi91 c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg2OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRw YXRoIg0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODc6IHBhcnNlIGVycm9yIGJlZm9y ZSAiYnNpemVfdCINCmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYG1haW4nOg0KY29uZmlndXJl OjI4NDU6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBgc2VsZWN0Jw0KL3Vzci9pbmNsdWRlL3N5 cy90aW1lLmg6NTA3OiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0Jw0KY29uZmln dXJlOjI4NDU6IHdhcm5pbmc6IGV4dGVybiBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0JyBkb2Vz bid0IG1hdGNoIGdsb2JhbCBvbmUNCmNvbmZpZ3VyZToyODEwOiAkPyA9IDENCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAjbGluZSAyNzgxICJjb25maWd1cmUiDQp8IC8q IGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiINCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgIiINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIN CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICIiDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQ0KfCAjZGVmaW5lIEhB VkVfU1lTX1NPQ0tFVF9IIDENCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAjaW5jbHVk ZSA8c3RkaW8uaD4NCnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gNCnwgIyBpbmNsdWRlIDxzeXMv dHlwZXMuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgIyBpbmNsdWRl IDxzeXMvc3RhdC5oPg0KfCAjZW5kaWYNCnwgI2lmIFNURENfSEVBREVSUw0KfCAjIGluY2x1 ZGUgPHN0ZGxpYi5oPg0KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCAjZWxzZQ0KfCAjIGlm IEhBVkVfU1RETElCX0gNCnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+DQp8ICMgZW5kaWYNCnwg I2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR19IDQp8ICMgaWYgIVNURENfSEVBREVSUyAmJiBI QVZFX01FTU9SWV9IDQp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPg0KfCAjIGVuZGlmDQp8ICMg aW5jbHVkZSA8c3RyaW5nLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdTX0gNCnwg IyBpbmNsdWRlIDxzdHJpbmdzLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9JTlRUWVBFU19I DQp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURElO VF9IDQp8ICMgIGluY2x1ZGUgPHN0ZGludC5oPg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAj aWYgSEFWRV9VTklTVERfSA0KfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPg0KfCAjZW5kaWYNCnwg I2lmIEhBVkVfU1lTX1NFTEVDVF9IDQp8ICMgaW5jbHVkZSA8c3lzL3NlbGVjdC5oPg0KfCAj ZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9IDQp8ICMgaW5jbHVkZSA8c3lzL3NvY2tl dC5oPg0KfCAjZW5kaWYNCnwgDQp8IGludA0KfCBtYWluICgpDQp8IHsNCnwgZXh0ZXJuIGlu dCBzZWxlY3QgKHNpemVfdCwNCnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBmZF9zZXQgKiwgZmRfc2V0ICosIGZkX3NldCAqLA0KfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB0aW1ldmFs ICopOw0KfCAgIDsNCnwgICByZXR1cm4gMDsNCnwgfQ0KY29uZmlndXJlOjI4MDc6IGdjYyAt YyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1DQpjYzE6IHdhcm5pbmc6IC1nIGlzIG9ubHkgc3Vw cG9ydGVkIHdoZW4gdXNpbmcgR0FTIG9uIHRoaXMgcHJvY2Vzc29yLA0KY2MxOiB3YXJuaW5n OiAtZyBvcHRpb24gZGlzYWJsZWQNCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25maWd1cmU6 MjgzNzoNCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg0OiBwYXJzZSBlcnJvciBiZWZv cmUgInNlbmRmaWxlIg0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODU6IHBhcnNlIGVy cm9yIGJlZm9yZSAiYnNpemVfdCINCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg2OiBw YXJzZSBlcnJvciBiZWZvcmUgInNlbmRwYXRoIg0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQu aDo0ODc6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCINCmNvbmZpZ3VyZTogSW4gZnVu Y3Rpb24gYG1haW4nOg0KY29uZmlndXJlOjI4NDU6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBg c2VsZWN0Jw0KL3Vzci9pbmNsdWRlL3N5cy90aW1lLmg6NTA3OiBwcmV2aW91cyBkZWNsYXJh dGlvbiBvZiBgc2VsZWN0Jw0KY29uZmlndXJlOjI4NDU6IHdhcm5pbmc6IGV4dGVybiBkZWNs YXJhdGlvbiBvZiBgc2VsZWN0JyBkb2Vzbid0IG1hdGNoIGdsb2JhbCBvbmUNCmNvbmZpZ3Vy ZToyODEwOiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAjbGlu ZSAyNzgxICJjb25maWd1cmUiDQp8IC8qIGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgIiINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiINCnwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIiINCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIg0K fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiDQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDENCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDENCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDENCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLw0KfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgI2lmIEhBVkVfU1lTX1RZ UEVTX0gNCnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZF X1NZU19TVEFUX0gNCnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCAjZW5kaWYNCnwgI2lm IFNURENfSEVBREVSUw0KfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGluY2x1ZGUgPHN0 ZGRlZi5oPg0KfCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RETElCX0gNCnwgIyAgaW5jbHVkZSA8 c3RkbGliLmg+DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR19IDQp8 ICMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8ICMgIGluY2x1ZGUgPG1l bW9yeS5oPg0KfCAjIGVuZGlmDQp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8ICNlbmRpZg0K fCAjaWYgSEFWRV9TVFJJTkdTX0gNCnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+DQp8ICNlbmRp Zg0KfCAjaWYgSEFWRV9JTlRUWVBFU19IDQp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4NCnwg I2Vsc2UNCnwgIyBpZiBIQVZFX1NURElOVF9IDQp8ICMgIGluY2x1ZGUgPHN0ZGludC5oPg0K fCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9VTklTVERfSA0KfCAjIGluY2x1ZGUg PHVuaXN0ZC5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NFTEVDVF9IDQp8ICMgaW5j bHVkZSA8c3lzL3NlbGVjdC5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9I DQp8ICMgaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KfCAjZW5kaWYNCnwgDQp8IGludA0KfCBt YWluICgpDQp8IHsNCnwgZXh0ZXJuIGludCBzZWxlY3QgKHVuc2lnbmVkIGxvbmcsDQp8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmRfc2V0ICosIGZk X3NldCAqLCBmZF9zZXQgKiwNCnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3QgdGltZXZhbCAqKTsNCnwgICA7DQp8ICAgcmV0dXJuIDA7DQp8 IH0NCmNvbmZpZ3VyZToyODA3OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQ0KY2Mx OiB3YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlz IHByb2Nlc3NvciwNCmNjMTogd2FybmluZzogLWcgb3B0aW9uIGRpc2FibGVkDQpJbiBmaWxl IGluY2x1ZGVkIGZyb20gY29uZmlndXJlOjI4Mzc6DQovdXNyL2luY2x1ZGUvc3lzL3NvY2tl dC5oOjQ4NDogcGFyc2UgZXJyb3IgYmVmb3JlICJzZW5kZmlsZSINCi91c3IvaW5jbHVkZS9z eXMvc29ja2V0Lmg6NDg1OiBwYXJzZSBlcnJvciBiZWZvcmUgImJzaXplX3QiDQovdXNyL2lu Y2x1ZGUvc3lzL3NvY2tldC5oOjQ4NjogcGFyc2UgZXJyb3IgYmVmb3JlICJzZW5kcGF0aCIN Ci91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg3OiBwYXJzZSBlcnJvciBiZWZvcmUgImJz aXplX3QiDQpjb25maWd1cmU6IEluIGZ1bmN0aW9uIGBtYWluJzoNCmNvbmZpZ3VyZToyODQ1 OiBjb25mbGljdGluZyB0eXBlcyBmb3IgYHNlbGVjdCcNCi91c3IvaW5jbHVkZS9zeXMvdGlt ZS5oOjUwNzogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgYHNlbGVjdCcNCmNvbmZpZ3VyZToy ODQ1OiB3YXJuaW5nOiBleHRlcm4gZGVjbGFyYXRpb24gb2YgYHNlbGVjdCcgZG9lc24ndCBt YXRjaCBnbG9iYWwgb25lDQpjb25maWd1cmU6MjgxMDogJD8gPSAxDQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoNCnwgI2xpbmUgMjc4MSAiY29uZmlndXJlIg0KfCAvKiBjb25m ZGVmcy5oLiAgKi8NCnwgDQp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiDQp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICIiDQp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiDQp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiINCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi Ig0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDENCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxDQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDENCnwgI2RlZmluZSBIQVZFX1NZ U19TT0NLRVRfSCAxDQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8NCnwgI2luY2x1ZGUgPHN0 ZGlvLmg+DQp8ICNpZiBIQVZFX1NZU19UWVBFU19IDQp8ICMgaW5jbHVkZSA8c3lzL3R5cGVz Lmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TWVNfU1RBVF9IDQp8ICMgaW5jbHVkZSA8c3lz L3N0YXQuaD4NCnwgI2VuZGlmDQp8ICNpZiBTVERDX0hFQURFUlMNCnwgIyBpbmNsdWRlIDxz dGRsaWIuaD4NCnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZF X1NURExJQl9IDQp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGVuZGlmDQp8ICNlbmRp Zg0KfCAjaWYgSEFWRV9TVFJJTkdfSA0KfCAjIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9N RU1PUllfSA0KfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4NCnwgIyBlbmRpZg0KfCAjIGluY2x1 ZGUgPHN0cmluZy5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1RSSU5HU19IDQp8ICMgaW5j bHVkZSA8c3RyaW5ncy5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfSU5UVFlQRVNfSA0KfCAj IGluY2x1ZGUgPGludHR5cGVzLmg+DQp8ICNlbHNlDQp8ICMgaWYgSEFWRV9TVERJTlRfSA0K fCAjICBpbmNsdWRlIDxzdGRpbnQuaD4NCnwgIyBlbmRpZg0KfCAjZW5kaWYNCnwgI2lmIEhB VkVfVU5JU1REX0gNCnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4NCnwgI2VuZGlmDQp8ICNpZiBI QVZFX1NZU19TRUxFQ1RfSA0KfCAjIGluY2x1ZGUgPHN5cy9zZWxlY3QuaD4NCnwgI2VuZGlm DQp8ICNpZiBIQVZFX1NZU19TT0NLRVRfSA0KfCAjIGluY2x1ZGUgPHN5cy9zb2NrZXQuaD4N CnwgI2VuZGlmDQp8IA0KfCBpbnQNCnwgbWFpbiAoKQ0KfCB7DQp8IGV4dGVybiBpbnQgc2Vs ZWN0ICh1bnNpZ25lZCBsb25nLA0KfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGZkX3NldCAqLCBmZF9zZXQgKiwgZmRfc2V0ICosDQp8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHRpbWV2 YWwgKik7DQp8ICAgOw0KfCAgIHJldHVybiAwOw0KfCB9DQpjb25maWd1cmU6MjgwNzogZ2Nj IC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUNCmNjMTogd2FybmluZzogLWcgaXMgb25seSBz dXBwb3J0ZWQgd2hlbiB1c2luZyBHQVMgb24gdGhpcyBwcm9jZXNzb3IsDQpjYzE6IHdhcm5p bmc6IC1nIG9wdGlvbiBkaXNhYmxlZA0KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZpZ3Vy ZToyODM3Og0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODQ6IHBhcnNlIGVycm9yIGJl Zm9yZSAic2VuZGZpbGUiDQovdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4NTogcGFyc2Ug ZXJyb3IgYmVmb3JlICJic2l6ZV90Ig0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODY6 IHBhcnNlIGVycm9yIGJlZm9yZSAic2VuZHBhdGgiDQovdXNyL2luY2x1ZGUvc3lzL3NvY2tl dC5oOjQ4NzogcGFyc2UgZXJyb3IgYmVmb3JlICJic2l6ZV90Ig0KY29uZmlndXJlOiBJbiBm dW5jdGlvbiBgbWFpbic6DQpjb25maWd1cmU6Mjg0NTogY29uZmxpY3RpbmcgdHlwZXMgZm9y IGBzZWxlY3QnDQovdXNyL2luY2x1ZGUvc3lzL3RpbWUuaDo1MDc6IHByZXZpb3VzIGRlY2xh cmF0aW9uIG9mIGBzZWxlY3QnDQpjb25maWd1cmU6Mjg0NTogd2FybmluZzogZXh0ZXJuIGRl Y2xhcmF0aW9uIG9mIGBzZWxlY3QnIGRvZXNuJ3QgbWF0Y2ggZ2xvYmFsIG9uZQ0KY29uZmln dXJlOjI4MTA6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQp8ICNs aW5lIDI3ODEgImNvbmZpZ3VyZSINCnwgLyogY29uZmRlZnMuaC4gICovDQp8IA0KfCAjZGVm aW5lIFBBQ0tBR0VfTkFNRSAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIg0KfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIi DQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiINCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQ0KfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovDQp8ICNpbmNsdWRlIDxzdGRpby5oPg0KfCAjaWYgSEFWRV9TWVNf VFlQRVNfSA0KfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPg0KfCAjZW5kaWYNCnwgI2lmIEhB VkVfU1lTX1NUQVRfSA0KfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+DQp8ICNlbmRpZg0KfCAj aWYgU1REQ19IRUFERVJTDQp8ICMgaW5jbHVkZSA8c3RkbGliLmg+DQp8ICMgaW5jbHVkZSA8 c3RkZGVmLmg+DQp8ICNlbHNlDQp8ICMgaWYgSEFWRV9TVERMSUJfSA0KfCAjICBpbmNsdWRl IDxzdGRsaWIuaD4NCnwgIyBlbmRpZg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1RSSU5HX0gN CnwgIyBpZiAhU1REQ19IRUFERVJTICYmIEhBVkVfTUVNT1JZX0gNCnwgIyAgaW5jbHVkZSA8 bWVtb3J5Lmg+DQp8ICMgZW5kaWYNCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4NCnwgI2VuZGlm DQp8ICNpZiBIQVZFX1NUUklOR1NfSA0KfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4NCnwgI2Vu ZGlmDQp8ICNpZiBIQVZFX0lOVFRZUEVTX0gNCnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPg0K fCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RESU5UX0gNCnwgIyAgaW5jbHVkZSA8c3RkaW50Lmg+ DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1VOSVNURF9IDQp8ICMgaW5jbHVk ZSA8dW5pc3RkLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TWVNfU0VMRUNUX0gNCnwgIyBp bmNsdWRlIDxzeXMvc2VsZWN0Lmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TWVNfU09DS0VU X0gNCnwgIyBpbmNsdWRlIDxzeXMvc29ja2V0Lmg+DQp8ICNlbmRpZg0KfCANCnwgaW50DQp8 IG1haW4gKCkNCnwgew0KfCBleHRlcm4gaW50IHNlbGVjdCAodW5zaWduZWQsDQp8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmRfc2V0ICosIGZkX3Nl dCAqLCBmZF9zZXQgKiwNCnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3QgdGltZXZhbCAqKTsNCnwgICA7DQp8ICAgcmV0dXJuIDA7DQp8IH0N CmNvbmZpZ3VyZToyODA3OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQ0KY2MxOiB3 YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlzIHBy b2Nlc3NvciwNCmNjMTogd2FybmluZzogLWcgb3B0aW9uIGRpc2FibGVkDQpJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gY29uZmlndXJlOjI4Mzc6DQovdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5o OjQ4NDogcGFyc2UgZXJyb3IgYmVmb3JlICJzZW5kZmlsZSINCi91c3IvaW5jbHVkZS9zeXMv c29ja2V0Lmg6NDg1OiBwYXJzZSBlcnJvciBiZWZvcmUgImJzaXplX3QiDQovdXNyL2luY2x1 ZGUvc3lzL3NvY2tldC5oOjQ4NjogcGFyc2UgZXJyb3IgYmVmb3JlICJzZW5kcGF0aCINCi91 c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg3OiBwYXJzZSBlcnJvciBiZWZvcmUgImJzaXpl X3QiDQpjb25maWd1cmU6IEluIGZ1bmN0aW9uIGBtYWluJzoNCmNvbmZpZ3VyZToyODQ1OiBj b25mbGljdGluZyB0eXBlcyBmb3IgYHNlbGVjdCcNCi91c3IvaW5jbHVkZS9zeXMvdGltZS5o OjUwNzogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgYHNlbGVjdCcNCmNvbmZpZ3VyZToyODQ1 OiB3YXJuaW5nOiBleHRlcm4gZGVjbGFyYXRpb24gb2YgYHNlbGVjdCcgZG9lc24ndCBtYXRj aCBnbG9iYWwgb25lDQpjb25maWd1cmU6MjgxMDogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoNCnwgI2xpbmUgMjc4MSAiY29uZmlndXJlIg0KfCAvKiBjb25mZGVm cy5oLiAgKi8NCnwgDQp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiDQp8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICIiDQp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiDQp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgIiINCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIg0K fCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx DQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDENCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDENCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxDQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDENCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19T T0NLRVRfSCAxDQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8NCnwgI2luY2x1ZGUgPHN0ZGlv Lmg+DQp8ICNpZiBIQVZFX1NZU19UWVBFU19IDQp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+ DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TWVNfU1RBVF9IDQp8ICMgaW5jbHVkZSA8c3lzL3N0 YXQuaD4NCnwgI2VuZGlmDQp8ICNpZiBTVERDX0hFQURFUlMNCnwgIyBpbmNsdWRlIDxzdGRs aWIuaD4NCnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NU RExJQl9IDQp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0K fCAjaWYgSEFWRV9TVFJJTkdfSA0KfCAjIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1P UllfSA0KfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4NCnwgIyBlbmRpZg0KfCAjIGluY2x1ZGUg PHN0cmluZy5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1RSSU5HU19IDQp8ICMgaW5jbHVk ZSA8c3RyaW5ncy5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfSU5UVFlQRVNfSA0KfCAjIGlu Y2x1ZGUgPGludHR5cGVzLmg+DQp8ICNlbHNlDQp8ICMgaWYgSEFWRV9TVERJTlRfSA0KfCAj ICBpbmNsdWRlIDxzdGRpbnQuaD4NCnwgIyBlbmRpZg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVf VU5JU1REX0gNCnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZF X1NZU19TRUxFQ1RfSA0KfCAjIGluY2x1ZGUgPHN5cy9zZWxlY3QuaD4NCnwgI2VuZGlmDQp8 ICNpZiBIQVZFX1NZU19TT0NLRVRfSA0KfCAjIGluY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCnwg I2VuZGlmDQp8IA0KfCBpbnQNCnwgbWFpbiAoKQ0KfCB7DQp8IGV4dGVybiBpbnQgc2VsZWN0 ICh1bnNpZ25lZCwNCnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBmZF9zZXQgKiwgZmRfc2V0ICosIGZkX3NldCAqLA0KfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB0aW1ldmFsICopOw0K fCAgIDsNCnwgICByZXR1cm4gMDsNCnwgfQ0KY29uZmlndXJlOjI4MDc6IGdjYyAtYyAtZyAt TzIgIGNvbmZ0ZXN0LmMgPiY1DQpjYzE6IHdhcm5pbmc6IC1nIGlzIG9ubHkgc3VwcG9ydGVk IHdoZW4gdXNpbmcgR0FTIG9uIHRoaXMgcHJvY2Vzc29yLA0KY2MxOiB3YXJuaW5nOiAtZyBv cHRpb24gZGlzYWJsZWQNCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25maWd1cmU6MjgzNzoN Ci91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg0OiBwYXJzZSBlcnJvciBiZWZvcmUgInNl bmRmaWxlIg0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODU6IHBhcnNlIGVycm9yIGJl Zm9yZSAiYnNpemVfdCINCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg2OiBwYXJzZSBl cnJvciBiZWZvcmUgInNlbmRwYXRoIg0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODc6 IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCINCmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24g YG1haW4nOg0KY29uZmlndXJlOjI4NDU6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBgc2VsZWN0 Jw0KL3Vzci9pbmNsdWRlL3N5cy90aW1lLmg6NTA3OiBwcmV2aW91cyBkZWNsYXJhdGlvbiBv ZiBgc2VsZWN0Jw0KY29uZmlndXJlOjI4NDU6IHdhcm5pbmc6IGV4dGVybiBkZWNsYXJhdGlv biBvZiBgc2VsZWN0JyBkb2Vzbid0IG1hdGNoIGdsb2JhbCBvbmUNCmNvbmZpZ3VyZToyODEw OiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAjbGluZSAyNzgx ICJjb25maWd1cmUiDQp8IC8qIGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgIiINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiINCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIiINCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIg0KfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQ0KfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQ0KfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDENCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDENCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLw0KfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gN CnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NZU19T VEFUX0gNCnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCAjZW5kaWYNCnwgI2lmIFNURENf SEVBREVSUw0KfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGluY2x1ZGUgPHN0ZGRlZi5o Pg0KfCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RETElCX0gNCnwgIyAgaW5jbHVkZSA8c3RkbGli Lmg+DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR19IDQp8ICMgaWYg IVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8ICMgIGluY2x1ZGUgPG1lbW9yeS5o Pg0KfCAjIGVuZGlmDQp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8ICNlbmRpZg0KfCAjaWYg SEFWRV9TVFJJTkdTX0gNCnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+DQp8ICNlbmRpZg0KfCAj aWYgSEFWRV9JTlRUWVBFU19IDQp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4NCnwgI2Vsc2UN CnwgIyBpZiBIQVZFX1NURElOVF9IDQp8ICMgIGluY2x1ZGUgPHN0ZGludC5oPg0KfCAjIGVu ZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9VTklTVERfSA0KfCAjIGluY2x1ZGUgPHVuaXN0 ZC5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NFTEVDVF9IDQp8ICMgaW5jbHVkZSA8 c3lzL3NlbGVjdC5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9IDQp8ICMg aW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KfCAjZW5kaWYNCnwgDQp8IGludA0KfCBtYWluICgp DQp8IHsNCnwgZXh0ZXJuIGludCBzZWxlY3QgKGludCwNCnwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKiwgaW50ICosIGludCAqLA0KfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0aW1ldmFs ICopOw0KfCAgIDsNCnwgICByZXR1cm4gMDsNCnwgfQ0KY29uZmlndXJlOjI4MDc6IGdjYyAt YyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1DQpjYzE6IHdhcm5pbmc6IC1nIGlzIG9ubHkgc3Vw cG9ydGVkIHdoZW4gdXNpbmcgR0FTIG9uIHRoaXMgcHJvY2Vzc29yLA0KY2MxOiB3YXJuaW5n OiAtZyBvcHRpb24gZGlzYWJsZWQNCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25maWd1cmU6 MjgzNzoNCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg0OiBwYXJzZSBlcnJvciBiZWZv cmUgInNlbmRmaWxlIg0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODU6IHBhcnNlIGVy cm9yIGJlZm9yZSAiYnNpemVfdCINCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg2OiBw YXJzZSBlcnJvciBiZWZvcmUgInNlbmRwYXRoIg0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQu aDo0ODc6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCINCmNvbmZpZ3VyZTogSW4gZnVu Y3Rpb24gYG1haW4nOg0KY29uZmlndXJlOjI4NDU6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBg c2VsZWN0Jw0KL3Vzci9pbmNsdWRlL3N5cy90aW1lLmg6NTA3OiBwcmV2aW91cyBkZWNsYXJh dGlvbiBvZiBgc2VsZWN0Jw0KY29uZmlndXJlOjI4NDU6IHdhcm5pbmc6IGV4dGVybiBkZWNs YXJhdGlvbiBvZiBgc2VsZWN0JyBkb2Vzbid0IG1hdGNoIGdsb2JhbCBvbmUNCmNvbmZpZ3Vy ZToyODEwOiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAjbGlu ZSAyNzgxICJjb25maWd1cmUiDQp8IC8qIGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgIiINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiINCnwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIiINCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIg0K fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiDQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDENCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDENCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDENCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLw0KfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgI2lmIEhBVkVfU1lTX1RZ UEVTX0gNCnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZF X1NZU19TVEFUX0gNCnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCAjZW5kaWYNCnwgI2lm IFNURENfSEVBREVSUw0KfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGluY2x1ZGUgPHN0 ZGRlZi5oPg0KfCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RETElCX0gNCnwgIyAgaW5jbHVkZSA8 c3RkbGliLmg+DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR19IDQp8 ICMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8ICMgIGluY2x1ZGUgPG1l bW9yeS5oPg0KfCAjIGVuZGlmDQp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8ICNlbmRpZg0K fCAjaWYgSEFWRV9TVFJJTkdTX0gNCnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+DQp8ICNlbmRp Zg0KfCAjaWYgSEFWRV9JTlRUWVBFU19IDQp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4NCnwg I2Vsc2UNCnwgIyBpZiBIQVZFX1NURElOVF9IDQp8ICMgIGluY2x1ZGUgPHN0ZGludC5oPg0K fCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9VTklTVERfSA0KfCAjIGluY2x1ZGUg PHVuaXN0ZC5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NFTEVDVF9IDQp8ICMgaW5j bHVkZSA8c3lzL3NlbGVjdC5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9I DQp8ICMgaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KfCAjZW5kaWYNCnwgDQp8IGludA0KfCBt YWluICgpDQp8IHsNCnwgZXh0ZXJuIGludCBzZWxlY3QgKGludCwNCnwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKiwgaW50ICosIGludCAqLA0K fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0 cnVjdCB0aW1ldmFsICopOw0KfCAgIDsNCnwgICByZXR1cm4gMDsNCnwgfQ0KY29uZmlndXJl OjI4MDc6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1DQpjYzE6IHdhcm5pbmc6IC1n IGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNpbmcgR0FTIG9uIHRoaXMgcHJvY2Vzc29yLA0K Y2MxOiB3YXJuaW5nOiAtZyBvcHRpb24gZGlzYWJsZWQNCkluIGZpbGUgaW5jbHVkZWQgZnJv bSBjb25maWd1cmU6MjgzNzoNCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg0OiBwYXJz ZSBlcnJvciBiZWZvcmUgInNlbmRmaWxlIg0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0 ODU6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCINCi91c3IvaW5jbHVkZS9zeXMvc29j a2V0Lmg6NDg2OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRwYXRoIg0KL3Vzci9pbmNsdWRl L3N5cy9zb2NrZXQuaDo0ODc6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCINCmNvbmZp Z3VyZTogSW4gZnVuY3Rpb24gYG1haW4nOg0KY29uZmlndXJlOjI4NDU6IGNvbmZsaWN0aW5n IHR5cGVzIGZvciBgc2VsZWN0Jw0KL3Vzci9pbmNsdWRlL3N5cy90aW1lLmg6NTA3OiBwcmV2 aW91cyBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0Jw0KY29uZmlndXJlOjI4NDU6IHdhcm5pbmc6 IGV4dGVybiBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0JyBkb2Vzbid0IG1hdGNoIGdsb2JhbCBv bmUNCmNvbmZpZ3VyZToyODEwOiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOg0KfCAjbGluZSAyNzgxICJjb25maWd1cmUiDQp8IC8qIGNvbmZkZWZzLmguICAqLw0K fCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgIiINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiINCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiDQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDENCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEN CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgI2lm IEhBVkVfU1lTX1RZUEVTX0gNCnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCnwgI2VuZGlm DQp8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCAj ZW5kaWYNCnwgI2lmIFNURENfSEVBREVSUw0KfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAj IGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RETElCX0gNCnwg IyAgaW5jbHVkZSA8c3RkbGliLmg+DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8ICNpZiBIQVZF X1NUUklOR19IDQp8ICMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8ICMg IGluY2x1ZGUgPG1lbW9yeS5oPg0KfCAjIGVuZGlmDQp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+ DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdTX0gNCnwgIyBpbmNsdWRlIDxzdHJpbmdz Lmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9JTlRUWVBFU19IDQp8ICMgaW5jbHVkZSA8aW50 dHlwZXMuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURElOVF9IDQp8ICMgIGluY2x1ZGUg PHN0ZGludC5oPg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9VTklTVERfSA0K fCAjIGluY2x1ZGUgPHVuaXN0ZC5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NFTEVD VF9IDQp8ICMgaW5jbHVkZSA8c3lzL3NlbGVjdC5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVf U1lTX1NPQ0tFVF9IDQp8ICMgaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KfCAjZW5kaWYNCnwg DQp8IGludA0KfCBtYWluICgpDQp8IHsNCnwgZXh0ZXJuIGludCBzZWxlY3QgKHNpemVfdCwN CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKiwg aW50ICosIGludCAqLA0KfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCB0aW1ldmFsICopOw0KfCAgIDsNCnwgICByZXR1cm4gMDsNCnwgfQ0K Y29uZmlndXJlOjI4MDc6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1DQpjYzE6IHdh cm5pbmc6IC1nIGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNpbmcgR0FTIG9uIHRoaXMgcHJv Y2Vzc29yLA0KY2MxOiB3YXJuaW5nOiAtZyBvcHRpb24gZGlzYWJsZWQNCkluIGZpbGUgaW5j bHVkZWQgZnJvbSBjb25maWd1cmU6MjgzNzoNCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6 NDg0OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRmaWxlIg0KL3Vzci9pbmNsdWRlL3N5cy9z b2NrZXQuaDo0ODU6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCINCi91c3IvaW5jbHVk ZS9zeXMvc29ja2V0Lmg6NDg2OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRwYXRoIg0KL3Vz ci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODc6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVf dCINCmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYG1haW4nOg0KY29uZmlndXJlOjI4NDU6IGNv bmZsaWN0aW5nIHR5cGVzIGZvciBgc2VsZWN0Jw0KL3Vzci9pbmNsdWRlL3N5cy90aW1lLmg6 NTA3OiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0Jw0KY29uZmlndXJlOjI4NDU6 IHdhcm5pbmc6IGV4dGVybiBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0JyBkb2Vzbid0IG1hdGNo IGdsb2JhbCBvbmUNCmNvbmZpZ3VyZToyODEwOiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOg0KfCAjbGluZSAyNzgxICJjb25maWd1cmUiDQp8IC8qIGNvbmZkZWZz LmguICAqLw0KfCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiINCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgIiINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiINCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiDQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEN CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQ0KfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NP Q0tFVF9IIDENCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAjaW5jbHVkZSA8c3RkaW8u aD4NCnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gNCnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4N CnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgIyBpbmNsdWRlIDxzeXMvc3Rh dC5oPg0KfCAjZW5kaWYNCnwgI2lmIFNURENfSEVBREVSUw0KfCAjIGluY2x1ZGUgPHN0ZGxp Yi5oPg0KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RE TElCX0gNCnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8 ICNpZiBIQVZFX1NUUklOR19IDQp8ICMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9S WV9IDQp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPg0KfCAjIGVuZGlmDQp8ICMgaW5jbHVkZSA8 c3RyaW5nLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdTX0gNCnwgIyBpbmNsdWRl IDxzdHJpbmdzLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9JTlRUWVBFU19IDQp8ICMgaW5j bHVkZSA8aW50dHlwZXMuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURElOVF9IDQp8ICMg IGluY2x1ZGUgPHN0ZGludC5oPg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9V TklTVERfSA0KfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVf U1lTX1NFTEVDVF9IDQp8ICMgaW5jbHVkZSA8c3lzL3NlbGVjdC5oPg0KfCAjZW5kaWYNCnwg I2lmIEhBVkVfU1lTX1NPQ0tFVF9IDQp8ICMgaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KfCAj ZW5kaWYNCnwgDQp8IGludA0KfCBtYWluICgpDQp8IHsNCnwgZXh0ZXJuIGludCBzZWxlY3Qg KHNpemVfdCwNCnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpbnQgKiwgaW50ICosIGludCAqLA0KfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB0aW1ldmFsICopOw0KfCAgIDsNCnwgICBy ZXR1cm4gMDsNCnwgfQ0KY29uZmlndXJlOjI4MDc6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0 LmMgPiY1DQpjYzE6IHdhcm5pbmc6IC1nIGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNpbmcg R0FTIG9uIHRoaXMgcHJvY2Vzc29yLA0KY2MxOiB3YXJuaW5nOiAtZyBvcHRpb24gZGlzYWJs ZWQNCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25maWd1cmU6MjgzNzoNCi91c3IvaW5jbHVk ZS9zeXMvc29ja2V0Lmg6NDg0OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRmaWxlIg0KL3Vz ci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODU6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVf dCINCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg2OiBwYXJzZSBlcnJvciBiZWZvcmUg InNlbmRwYXRoIg0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODc6IHBhcnNlIGVycm9y IGJlZm9yZSAiYnNpemVfdCINCmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYG1haW4nOg0KY29u ZmlndXJlOjI4NDU6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBgc2VsZWN0Jw0KL3Vzci9pbmNs dWRlL3N5cy90aW1lLmg6NTA3OiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0Jw0K Y29uZmlndXJlOjI4NDU6IHdhcm5pbmc6IGV4dGVybiBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0 JyBkb2Vzbid0IG1hdGNoIGdsb2JhbCBvbmUNCmNvbmZpZ3VyZToyODEwOiAkPyA9IDENCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAjbGluZSAyNzgxICJjb25maWd1cmUi DQp8IC8qIGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIN CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIiINCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIg0KfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICIiDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQ0KfCAjZGVm aW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDENCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAj aW5jbHVkZSA8c3RkaW8uaD4NCnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gNCnwgIyBpbmNsdWRl IDxzeXMvdHlwZXMuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgIyBp bmNsdWRlIDxzeXMvc3RhdC5oPg0KfCAjZW5kaWYNCnwgI2lmIFNURENfSEVBREVSUw0KfCAj IGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCAjZWxzZQ0K fCAjIGlmIEhBVkVfU1RETElCX0gNCnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+DQp8ICMgZW5k aWYNCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR19IDQp8ICMgaWYgIVNURENfSEVBREVS UyAmJiBIQVZFX01FTU9SWV9IDQp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPg0KfCAjIGVuZGlm DQp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdT X0gNCnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9JTlRU WVBFU19IDQp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZF X1NURElOVF9IDQp8ICMgIGluY2x1ZGUgPHN0ZGludC5oPg0KfCAjIGVuZGlmDQp8ICNlbmRp Zg0KfCAjaWYgSEFWRV9VTklTVERfSA0KfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPg0KfCAjZW5k aWYNCnwgI2lmIEhBVkVfU1lTX1NFTEVDVF9IDQp8ICMgaW5jbHVkZSA8c3lzL3NlbGVjdC5o Pg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9IDQp8ICMgaW5jbHVkZSA8c3lz L3NvY2tldC5oPg0KfCAjZW5kaWYNCnwgDQp8IGludA0KfCBtYWluICgpDQp8IHsNCnwgZXh0 ZXJuIGludCBzZWxlY3QgKHVuc2lnbmVkIGxvbmcsDQp8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW50ICosIGludCAqLCBpbnQgKiwNCnwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdGltZXZhbCAq KTsNCnwgICA7DQp8ICAgcmV0dXJuIDA7DQp8IH0NCmNvbmZpZ3VyZToyODA3OiBnY2MgLWMg LWcgLU8yICBjb25mdGVzdC5jID4mNQ0KY2MxOiB3YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBv cnRlZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlzIHByb2Nlc3NvciwNCmNjMTogd2FybmluZzog LWcgb3B0aW9uIGRpc2FibGVkDQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gY29uZmlndXJlOjI4 Mzc6DQovdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4NDogcGFyc2UgZXJyb3IgYmVmb3Jl ICJzZW5kZmlsZSINCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg1OiBwYXJzZSBlcnJv ciBiZWZvcmUgImJzaXplX3QiDQovdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4NjogcGFy c2UgZXJyb3IgYmVmb3JlICJzZW5kcGF0aCINCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6 NDg3OiBwYXJzZSBlcnJvciBiZWZvcmUgImJzaXplX3QiDQpjb25maWd1cmU6IEluIGZ1bmN0 aW9uIGBtYWluJzoNCmNvbmZpZ3VyZToyODQ1OiBjb25mbGljdGluZyB0eXBlcyBmb3IgYHNl bGVjdCcNCi91c3IvaW5jbHVkZS9zeXMvdGltZS5oOjUwNzogcHJldmlvdXMgZGVjbGFyYXRp b24gb2YgYHNlbGVjdCcNCmNvbmZpZ3VyZToyODQ1OiB3YXJuaW5nOiBleHRlcm4gZGVjbGFy YXRpb24gb2YgYHNlbGVjdCcgZG9lc24ndCBtYXRjaCBnbG9iYWwgb25lDQpjb25maWd1cmU6 MjgxMDogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwgI2xpbmUg Mjc4MSAiY29uZmlndXJlIg0KfCAvKiBjb25mZGVmcy5oLiAgKi8NCnwgDQp8ICNkZWZpbmUg UEFDS0FHRV9OQU1FICIiDQp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiDQp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIiDQp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiINCnwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIg0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAx DQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDENCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDENCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxDQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxDQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8NCnwgI2luY2x1ZGUgPHN0ZGlvLmg+DQp8ICNpZiBIQVZFX1NZU19UWVBF U19IDQp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9T WVNfU1RBVF9IDQp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4NCnwgI2VuZGlmDQp8ICNpZiBT VERDX0hFQURFUlMNCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4NCnwgIyBpbmNsdWRlIDxzdGRk ZWYuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURExJQl9IDQp8ICMgIGluY2x1ZGUgPHN0 ZGxpYi5oPg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdfSA0KfCAj IGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSA0KfCAjICBpbmNsdWRlIDxtZW1v cnkuaD4NCnwgIyBlbmRpZg0KfCAjIGluY2x1ZGUgPHN0cmluZy5oPg0KfCAjZW5kaWYNCnwg I2lmIEhBVkVfU1RSSU5HU19IDQp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPg0KfCAjZW5kaWYN CnwgI2lmIEhBVkVfSU5UVFlQRVNfSA0KfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+DQp8ICNl bHNlDQp8ICMgaWYgSEFWRV9TVERJTlRfSA0KfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4NCnwg IyBlbmRpZg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfVU5JU1REX0gNCnwgIyBpbmNsdWRlIDx1 bmlzdGQuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NZU19TRUxFQ1RfSA0KfCAjIGluY2x1 ZGUgPHN5cy9zZWxlY3QuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NZU19TT0NLRVRfSA0K fCAjIGluY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCnwgI2VuZGlmDQp8IA0KfCBpbnQNCnwgbWFp biAoKQ0KfCB7DQp8IGV4dGVybiBpbnQgc2VsZWN0ICh1bnNpZ25lZCBsb25nLA0KfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqLCBpbnQgKiwg aW50ICosDQp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3Qgc3RydWN0IHRpbWV2YWwgKik7DQp8ICAgOw0KfCAgIHJldHVybiAwOw0KfCB9DQpj b25maWd1cmU6MjgwNzogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUNCmNjMTogd2Fy bmluZzogLWcgaXMgb25seSBzdXBwb3J0ZWQgd2hlbiB1c2luZyBHQVMgb24gdGhpcyBwcm9j ZXNzb3IsDQpjYzE6IHdhcm5pbmc6IC1nIG9wdGlvbiBkaXNhYmxlZA0KSW4gZmlsZSBpbmNs dWRlZCBmcm9tIGNvbmZpZ3VyZToyODM3Og0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0 ODQ6IHBhcnNlIGVycm9yIGJlZm9yZSAic2VuZGZpbGUiDQovdXNyL2luY2x1ZGUvc3lzL3Nv Y2tldC5oOjQ4NTogcGFyc2UgZXJyb3IgYmVmb3JlICJic2l6ZV90Ig0KL3Vzci9pbmNsdWRl L3N5cy9zb2NrZXQuaDo0ODY6IHBhcnNlIGVycm9yIGJlZm9yZSAic2VuZHBhdGgiDQovdXNy L2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4NzogcGFyc2UgZXJyb3IgYmVmb3JlICJic2l6ZV90 Ig0KY29uZmlndXJlOiBJbiBmdW5jdGlvbiBgbWFpbic6DQpjb25maWd1cmU6Mjg0NTogY29u ZmxpY3RpbmcgdHlwZXMgZm9yIGBzZWxlY3QnDQovdXNyL2luY2x1ZGUvc3lzL3RpbWUuaDo1 MDc6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mIGBzZWxlY3QnDQpjb25maWd1cmU6Mjg0NTog d2FybmluZzogZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIGBzZWxlY3QnIGRvZXNuJ3QgbWF0Y2gg Z2xvYmFsIG9uZQ0KY29uZmlndXJlOjI4MTA6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6DQp8ICNsaW5lIDI3ODEgImNvbmZpZ3VyZSINCnwgLyogY29uZmRlZnMu aC4gICovDQp8IA0KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIg0KfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIg0KfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICIiDQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiINCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0K fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx DQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx DQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxDQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfU09D S0VUX0ggMQ0KfCAvKiBlbmQgY29uZmRlZnMuaC4gICovDQp8ICNpbmNsdWRlIDxzdGRpby5o Pg0KfCAjaWYgSEFWRV9TWVNfVFlQRVNfSA0KfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPg0K fCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NUQVRfSA0KfCAjIGluY2x1ZGUgPHN5cy9zdGF0 Lmg+DQp8ICNlbmRpZg0KfCAjaWYgU1REQ19IRUFERVJTDQp8ICMgaW5jbHVkZSA8c3RkbGli Lmg+DQp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+DQp8ICNlbHNlDQp8ICMgaWYgSEFWRV9TVERM SUJfSA0KfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4NCnwgIyBlbmRpZg0KfCAjZW5kaWYNCnwg I2lmIEhBVkVfU1RSSU5HX0gNCnwgIyBpZiAhU1REQ19IRUFERVJTICYmIEhBVkVfTUVNT1JZ X0gNCnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+DQp8ICMgZW5kaWYNCnwgIyBpbmNsdWRlIDxz dHJpbmcuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR1NfSA0KfCAjIGluY2x1ZGUg PHN0cmluZ3MuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX0lOVFRZUEVTX0gNCnwgIyBpbmNs dWRlIDxpbnR0eXBlcy5oPg0KfCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RESU5UX0gNCnwgIyAg aW5jbHVkZSA8c3RkaW50Lmg+DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1VO SVNURF9IDQp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9T WVNfU0VMRUNUX0gNCnwgIyBpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+DQp8ICNlbmRpZg0KfCAj aWYgSEFWRV9TWVNfU09DS0VUX0gNCnwgIyBpbmNsdWRlIDxzeXMvc29ja2V0Lmg+DQp8ICNl bmRpZg0KfCANCnwgaW50DQp8IG1haW4gKCkNCnwgew0KfCBleHRlcm4gaW50IHNlbGVjdCAo dW5zaWduZWQsDQp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50ICosIGludCAqLCBpbnQgKiwNCnwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgdGltZXZhbCAqKTsNCnwgICA7DQp8ICAgcmV0dXJu IDA7DQp8IH0NCmNvbmZpZ3VyZToyODA3OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4m NQ0KY2MxOiB3YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIEdBUyBv biB0aGlzIHByb2Nlc3NvciwNCmNjMTogd2FybmluZzogLWcgb3B0aW9uIGRpc2FibGVkDQpJ biBmaWxlIGluY2x1ZGVkIGZyb20gY29uZmlndXJlOjI4Mzc6DQovdXNyL2luY2x1ZGUvc3lz L3NvY2tldC5oOjQ4NDogcGFyc2UgZXJyb3IgYmVmb3JlICJzZW5kZmlsZSINCi91c3IvaW5j bHVkZS9zeXMvc29ja2V0Lmg6NDg1OiBwYXJzZSBlcnJvciBiZWZvcmUgImJzaXplX3QiDQov dXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4NjogcGFyc2UgZXJyb3IgYmVmb3JlICJzZW5k cGF0aCINCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg3OiBwYXJzZSBlcnJvciBiZWZv cmUgImJzaXplX3QiDQpjb25maWd1cmU6IEluIGZ1bmN0aW9uIGBtYWluJzoNCmNvbmZpZ3Vy ZToyODQ1OiBjb25mbGljdGluZyB0eXBlcyBmb3IgYHNlbGVjdCcNCi91c3IvaW5jbHVkZS9z eXMvdGltZS5oOjUwNzogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgYHNlbGVjdCcNCmNvbmZp Z3VyZToyODQ1OiB3YXJuaW5nOiBleHRlcm4gZGVjbGFyYXRpb24gb2YgYHNlbGVjdCcgZG9l c24ndCBtYXRjaCBnbG9iYWwgb25lDQpjb25maWd1cmU6MjgxMDogJD8gPSAxDQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwgI2xpbmUgMjc4MSAiY29uZmlndXJlIg0KfCAv KiBjb25mZGVmcy5oLiAgKi8NCnwgDQp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiDQp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiDQp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIi DQp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiINCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAiIg0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDENCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxDQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDENCnwgI2RlZmluZSBI QVZFX1NZU19TT0NLRVRfSCAxDQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8NCnwgI2luY2x1 ZGUgPHN0ZGlvLmg+DQp8ICNpZiBIQVZFX1NZU19UWVBFU19IDQp8ICMgaW5jbHVkZSA8c3lz L3R5cGVzLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TWVNfU1RBVF9IDQp8ICMgaW5jbHVk ZSA8c3lzL3N0YXQuaD4NCnwgI2VuZGlmDQp8ICNpZiBTVERDX0hFQURFUlMNCnwgIyBpbmNs dWRlIDxzdGRsaWIuaD4NCnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4NCnwgI2Vsc2UNCnwgIyBp ZiBIQVZFX1NURExJQl9IDQp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGVuZGlmDQp8 ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdfSA0KfCAjIGlmICFTVERDX0hFQURFUlMgJiYg SEFWRV9NRU1PUllfSA0KfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4NCnwgIyBlbmRpZg0KfCAj IGluY2x1ZGUgPHN0cmluZy5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1RSSU5HU19IDQp8 ICMgaW5jbHVkZSA8c3RyaW5ncy5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfSU5UVFlQRVNf SA0KfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+DQp8ICNlbHNlDQp8ICMgaWYgSEFWRV9TVERJ TlRfSA0KfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4NCnwgIyBlbmRpZg0KfCAjZW5kaWYNCnwg I2lmIEhBVkVfVU5JU1REX0gNCnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4NCnwgI2VuZGlmDQp8 ICNpZiBIQVZFX1NZU19TRUxFQ1RfSA0KfCAjIGluY2x1ZGUgPHN5cy9zZWxlY3QuaD4NCnwg I2VuZGlmDQp8ICNpZiBIQVZFX1NZU19TT0NLRVRfSA0KfCAjIGluY2x1ZGUgPHN5cy9zb2Nr ZXQuaD4NCnwgI2VuZGlmDQp8IA0KfCBpbnQNCnwgbWFpbiAoKQ0KfCB7DQp8IGV4dGVybiBp bnQgc2VsZWN0ICh1bnNpZ25lZCwNCnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpbnQgKiwgaW50ICosIGludCAqLA0KfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB0aW1ldmFsICopOw0K fCAgIDsNCnwgICByZXR1cm4gMDsNCnwgfQ0KY29uZmlndXJlOjI4MDc6IGdjYyAtYyAtZyAt TzIgIGNvbmZ0ZXN0LmMgPiY1DQpjYzE6IHdhcm5pbmc6IC1nIGlzIG9ubHkgc3VwcG9ydGVk IHdoZW4gdXNpbmcgR0FTIG9uIHRoaXMgcHJvY2Vzc29yLA0KY2MxOiB3YXJuaW5nOiAtZyBv cHRpb24gZGlzYWJsZWQNCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25maWd1cmU6MjgzNzoN Ci91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg0OiBwYXJzZSBlcnJvciBiZWZvcmUgInNl bmRmaWxlIg0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODU6IHBhcnNlIGVycm9yIGJl Zm9yZSAiYnNpemVfdCINCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg2OiBwYXJzZSBl cnJvciBiZWZvcmUgInNlbmRwYXRoIg0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODc6 IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCINCmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24g YG1haW4nOg0KY29uZmlndXJlOjI4NDU6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBgc2VsZWN0 Jw0KL3Vzci9pbmNsdWRlL3N5cy90aW1lLmg6NTA3OiBwcmV2aW91cyBkZWNsYXJhdGlvbiBv ZiBgc2VsZWN0Jw0KY29uZmlndXJlOjI4NDU6IHdhcm5pbmc6IGV4dGVybiBkZWNsYXJhdGlv biBvZiBgc2VsZWN0JyBkb2Vzbid0IG1hdGNoIGdsb2JhbCBvbmUNCmNvbmZpZ3VyZToyODEw OiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAjbGluZSAyNzgx ICJjb25maWd1cmUiDQp8IC8qIGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgIiINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiINCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIiINCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIg0KfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQ0KfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQ0KfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDENCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDENCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLw0KfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gN CnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NZU19T VEFUX0gNCnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCAjZW5kaWYNCnwgI2lmIFNURENf SEVBREVSUw0KfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGluY2x1ZGUgPHN0ZGRlZi5o Pg0KfCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RETElCX0gNCnwgIyAgaW5jbHVkZSA8c3RkbGli Lmg+DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR19IDQp8ICMgaWYg IVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8ICMgIGluY2x1ZGUgPG1lbW9yeS5o Pg0KfCAjIGVuZGlmDQp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8ICNlbmRpZg0KfCAjaWYg SEFWRV9TVFJJTkdTX0gNCnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+DQp8ICNlbmRpZg0KfCAj aWYgSEFWRV9JTlRUWVBFU19IDQp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4NCnwgI2Vsc2UN CnwgIyBpZiBIQVZFX1NURElOVF9IDQp8ICMgIGluY2x1ZGUgPHN0ZGludC5oPg0KfCAjIGVu ZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9VTklTVERfSA0KfCAjIGluY2x1ZGUgPHVuaXN0 ZC5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NFTEVDVF9IDQp8ICMgaW5jbHVkZSA8 c3lzL3NlbGVjdC5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9IDQp8ICMg aW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KfCAjZW5kaWYNCnwgDQp8IGludA0KfCBtYWluICgp DQp8IHsNCnwgZXh0ZXJuIGludCBzZWxlY3QgKGludCwNCnwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICosIHZvaWQgKiwgdm9pZCAqLA0KfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0aW1l dmFsICopOw0KfCAgIDsNCnwgICByZXR1cm4gMDsNCnwgfQ0KY29uZmlndXJlOjI4MDc6IGdj YyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1DQpjYzE6IHdhcm5pbmc6IC1nIGlzIG9ubHkg c3VwcG9ydGVkIHdoZW4gdXNpbmcgR0FTIG9uIHRoaXMgcHJvY2Vzc29yLA0KY2MxOiB3YXJu aW5nOiAtZyBvcHRpb24gZGlzYWJsZWQNCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25maWd1 cmU6MjgzNzoNCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg0OiBwYXJzZSBlcnJvciBi ZWZvcmUgInNlbmRmaWxlIg0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODU6IHBhcnNl IGVycm9yIGJlZm9yZSAiYnNpemVfdCINCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg2 OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRwYXRoIg0KL3Vzci9pbmNsdWRlL3N5cy9zb2Nr ZXQuaDo0ODc6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCINCmNvbmZpZ3VyZTogSW4g ZnVuY3Rpb24gYG1haW4nOg0KY29uZmlndXJlOjI4NDU6IGNvbmZsaWN0aW5nIHR5cGVzIGZv ciBgc2VsZWN0Jw0KL3Vzci9pbmNsdWRlL3N5cy90aW1lLmg6NTA3OiBwcmV2aW91cyBkZWNs YXJhdGlvbiBvZiBgc2VsZWN0Jw0KY29uZmlndXJlOjI4NDU6IHdhcm5pbmc6IGV4dGVybiBk ZWNsYXJhdGlvbiBvZiBgc2VsZWN0JyBkb2Vzbid0IG1hdGNoIGdsb2JhbCBvbmUNCmNvbmZp Z3VyZToyODEwOiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAj bGluZSAyNzgxICJjb25maWd1cmUiDQp8IC8qIGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIiINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiINCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiINCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi Ig0KfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiDQp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDENCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDENCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDENCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLw0KfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgI2lmIEhBVkVfU1lT X1RZUEVTX0gNCnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCnwgI2VuZGlmDQp8ICNpZiBI QVZFX1NZU19TVEFUX0gNCnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCAjZW5kaWYNCnwg I2lmIFNURENfSEVBREVSUw0KfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGluY2x1ZGUg PHN0ZGRlZi5oPg0KfCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RETElCX0gNCnwgIyAgaW5jbHVk ZSA8c3RkbGliLmg+DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR19I DQp8ICMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8ICMgIGluY2x1ZGUg PG1lbW9yeS5oPg0KfCAjIGVuZGlmDQp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8ICNlbmRp Zg0KfCAjaWYgSEFWRV9TVFJJTkdTX0gNCnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+DQp8ICNl bmRpZg0KfCAjaWYgSEFWRV9JTlRUWVBFU19IDQp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4N CnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURElOVF9IDQp8ICMgIGluY2x1ZGUgPHN0ZGludC5o Pg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9VTklTVERfSA0KfCAjIGluY2x1 ZGUgPHVuaXN0ZC5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NFTEVDVF9IDQp8ICMg aW5jbHVkZSA8c3lzL3NlbGVjdC5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NPQ0tF VF9IDQp8ICMgaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KfCAjZW5kaWYNCnwgDQp8IGludA0K fCBtYWluICgpDQp8IHsNCnwgZXh0ZXJuIGludCBzZWxlY3QgKGludCwNCnwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICosIHZvaWQgKiwgdm9p ZCAqLA0KfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnN0IHN0cnVjdCB0aW1ldmFsICopOw0KfCAgIDsNCnwgICByZXR1cm4gMDsNCnwgfQ0KY29u ZmlndXJlOjI4MDc6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1DQpjYzE6IHdhcm5p bmc6IC1nIGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNpbmcgR0FTIG9uIHRoaXMgcHJvY2Vz c29yLA0KY2MxOiB3YXJuaW5nOiAtZyBvcHRpb24gZGlzYWJsZWQNCkluIGZpbGUgaW5jbHVk ZWQgZnJvbSBjb25maWd1cmU6MjgzNzoNCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg0 OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRmaWxlIg0KL3Vzci9pbmNsdWRlL3N5cy9zb2Nr ZXQuaDo0ODU6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCINCi91c3IvaW5jbHVkZS9z eXMvc29ja2V0Lmg6NDg2OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRwYXRoIg0KL3Vzci9p bmNsdWRlL3N5cy9zb2NrZXQuaDo0ODc6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCIN CmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYG1haW4nOg0KY29uZmlndXJlOjI4NDU6IGNvbmZs aWN0aW5nIHR5cGVzIGZvciBgc2VsZWN0Jw0KL3Vzci9pbmNsdWRlL3N5cy90aW1lLmg6NTA3 OiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0Jw0KY29uZmlndXJlOjI4NDU6IHdh cm5pbmc6IGV4dGVybiBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0JyBkb2Vzbid0IG1hdGNoIGds b2JhbCBvbmUNCmNvbmZpZ3VyZToyODEwOiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOg0KfCAjbGluZSAyNzgxICJjb25maWd1cmUiDQp8IC8qIGNvbmZkZWZzLmgu ICAqLw0KfCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiINCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgIiINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiINCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiDQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0K fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0K fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQ0KfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF VF9IIDENCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAjaW5jbHVkZSA8c3RkaW8uaD4N CnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gNCnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCnwg I2VuZGlmDQp8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5o Pg0KfCAjZW5kaWYNCnwgI2lmIFNURENfSEVBREVSUw0KfCAjIGluY2x1ZGUgPHN0ZGxpYi5o Pg0KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RETElC X0gNCnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8ICNp ZiBIQVZFX1NUUklOR19IDQp8ICMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9I DQp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPg0KfCAjIGVuZGlmDQp8ICMgaW5jbHVkZSA8c3Ry aW5nLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdTX0gNCnwgIyBpbmNsdWRlIDxz dHJpbmdzLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9JTlRUWVBFU19IDQp8ICMgaW5jbHVk ZSA8aW50dHlwZXMuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURElOVF9IDQp8ICMgIGlu Y2x1ZGUgPHN0ZGludC5oPg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9VTklT VERfSA0KfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lT X1NFTEVDVF9IDQp8ICMgaW5jbHVkZSA8c3lzL3NlbGVjdC5oPg0KfCAjZW5kaWYNCnwgI2lm IEhBVkVfU1lTX1NPQ0tFVF9IDQp8ICMgaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KfCAjZW5k aWYNCnwgDQp8IGludA0KfCBtYWluICgpDQp8IHsNCnwgZXh0ZXJuIGludCBzZWxlY3QgKHNp emVfdCwNCnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2 b2lkICosIHZvaWQgKiwgdm9pZCAqLA0KfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCB0aW1ldmFsICopOw0KfCAgIDsNCnwgICByZXR1cm4g MDsNCnwgfQ0KY29uZmlndXJlOjI4MDc6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1 DQpjYzE6IHdhcm5pbmc6IC1nIGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNpbmcgR0FTIG9u IHRoaXMgcHJvY2Vzc29yLA0KY2MxOiB3YXJuaW5nOiAtZyBvcHRpb24gZGlzYWJsZWQNCklu IGZpbGUgaW5jbHVkZWQgZnJvbSBjb25maWd1cmU6MjgzNzoNCi91c3IvaW5jbHVkZS9zeXMv c29ja2V0Lmg6NDg0OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRmaWxlIg0KL3Vzci9pbmNs dWRlL3N5cy9zb2NrZXQuaDo0ODU6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCINCi91 c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg2OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRw YXRoIg0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODc6IHBhcnNlIGVycm9yIGJlZm9y ZSAiYnNpemVfdCINCmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYG1haW4nOg0KY29uZmlndXJl OjI4NDU6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBgc2VsZWN0Jw0KL3Vzci9pbmNsdWRlL3N5 cy90aW1lLmg6NTA3OiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0Jw0KY29uZmln dXJlOjI4NDU6IHdhcm5pbmc6IGV4dGVybiBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0JyBkb2Vz bid0IG1hdGNoIGdsb2JhbCBvbmUNCmNvbmZpZ3VyZToyODEwOiAkPyA9IDENCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAjbGluZSAyNzgxICJjb25maWd1cmUiDQp8IC8q IGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiINCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgIiINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIN CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICIiDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQ0KfCAjZGVmaW5lIEhB VkVfU1lTX1NPQ0tFVF9IIDENCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAjaW5jbHVk ZSA8c3RkaW8uaD4NCnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gNCnwgIyBpbmNsdWRlIDxzeXMv dHlwZXMuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgIyBpbmNsdWRl IDxzeXMvc3RhdC5oPg0KfCAjZW5kaWYNCnwgI2lmIFNURENfSEVBREVSUw0KfCAjIGluY2x1 ZGUgPHN0ZGxpYi5oPg0KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCAjZWxzZQ0KfCAjIGlm IEhBVkVfU1RETElCX0gNCnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+DQp8ICMgZW5kaWYNCnwg I2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR19IDQp8ICMgaWYgIVNURENfSEVBREVSUyAmJiBI QVZFX01FTU9SWV9IDQp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPg0KfCAjIGVuZGlmDQp8ICMg aW5jbHVkZSA8c3RyaW5nLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdTX0gNCnwg IyBpbmNsdWRlIDxzdHJpbmdzLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9JTlRUWVBFU19I DQp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURElO VF9IDQp8ICMgIGluY2x1ZGUgPHN0ZGludC5oPg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAj aWYgSEFWRV9VTklTVERfSA0KfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPg0KfCAjZW5kaWYNCnwg I2lmIEhBVkVfU1lTX1NFTEVDVF9IDQp8ICMgaW5jbHVkZSA8c3lzL3NlbGVjdC5oPg0KfCAj ZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9IDQp8ICMgaW5jbHVkZSA8c3lzL3NvY2tl dC5oPg0KfCAjZW5kaWYNCnwgDQp8IGludA0KfCBtYWluICgpDQp8IHsNCnwgZXh0ZXJuIGlu dCBzZWxlY3QgKHNpemVfdCwNCnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB2b2lkICosIHZvaWQgKiwgdm9pZCAqLA0KfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB0aW1ldmFsICopOw0K fCAgIDsNCnwgICByZXR1cm4gMDsNCnwgfQ0KY29uZmlndXJlOjI4MDc6IGdjYyAtYyAtZyAt TzIgIGNvbmZ0ZXN0LmMgPiY1DQpjYzE6IHdhcm5pbmc6IC1nIGlzIG9ubHkgc3VwcG9ydGVk IHdoZW4gdXNpbmcgR0FTIG9uIHRoaXMgcHJvY2Vzc29yLA0KY2MxOiB3YXJuaW5nOiAtZyBv cHRpb24gZGlzYWJsZWQNCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25maWd1cmU6MjgzNzoN Ci91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg0OiBwYXJzZSBlcnJvciBiZWZvcmUgInNl bmRmaWxlIg0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODU6IHBhcnNlIGVycm9yIGJl Zm9yZSAiYnNpemVfdCINCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg2OiBwYXJzZSBl cnJvciBiZWZvcmUgInNlbmRwYXRoIg0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODc6 IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCINCmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24g YG1haW4nOg0KY29uZmlndXJlOjI4NDU6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBgc2VsZWN0 Jw0KL3Vzci9pbmNsdWRlL3N5cy90aW1lLmg6NTA3OiBwcmV2aW91cyBkZWNsYXJhdGlvbiBv ZiBgc2VsZWN0Jw0KY29uZmlndXJlOjI4NDU6IHdhcm5pbmc6IGV4dGVybiBkZWNsYXJhdGlv biBvZiBgc2VsZWN0JyBkb2Vzbid0IG1hdGNoIGdsb2JhbCBvbmUNCmNvbmZpZ3VyZToyODEw OiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAjbGluZSAyNzgx ICJjb25maWd1cmUiDQp8IC8qIGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgIiINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiINCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIiINCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIg0KfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQ0KfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQ0KfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDENCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDENCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLw0KfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gN CnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NZU19T VEFUX0gNCnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCAjZW5kaWYNCnwgI2lmIFNURENf SEVBREVSUw0KfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGluY2x1ZGUgPHN0ZGRlZi5o Pg0KfCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RETElCX0gNCnwgIyAgaW5jbHVkZSA8c3RkbGli Lmg+DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR19IDQp8ICMgaWYg IVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8ICMgIGluY2x1ZGUgPG1lbW9yeS5o Pg0KfCAjIGVuZGlmDQp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8ICNlbmRpZg0KfCAjaWYg SEFWRV9TVFJJTkdTX0gNCnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+DQp8ICNlbmRpZg0KfCAj aWYgSEFWRV9JTlRUWVBFU19IDQp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4NCnwgI2Vsc2UN CnwgIyBpZiBIQVZFX1NURElOVF9IDQp8ICMgIGluY2x1ZGUgPHN0ZGludC5oPg0KfCAjIGVu ZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9VTklTVERfSA0KfCAjIGluY2x1ZGUgPHVuaXN0 ZC5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NFTEVDVF9IDQp8ICMgaW5jbHVkZSA8 c3lzL3NlbGVjdC5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9IDQp8ICMg aW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KfCAjZW5kaWYNCnwgDQp8IGludA0KfCBtYWluICgp DQp8IHsNCnwgZXh0ZXJuIGludCBzZWxlY3QgKHVuc2lnbmVkIGxvbmcsDQp8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqLCB2b2lkICosIHZv aWQgKiwNCnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHJ1Y3QgdGltZXZhbCAqKTsNCnwgICA7DQp8ICAgcmV0dXJuIDA7DQp8IH0NCmNvbmZpZ3Vy ZToyODA3OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQ0KY2MxOiB3YXJuaW5nOiAt ZyBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlzIHByb2Nlc3NvciwN CmNjMTogd2FybmluZzogLWcgb3B0aW9uIGRpc2FibGVkDQpJbiBmaWxlIGluY2x1ZGVkIGZy b20gY29uZmlndXJlOjI4Mzc6DQovdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4NDogcGFy c2UgZXJyb3IgYmVmb3JlICJzZW5kZmlsZSINCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6 NDg1OiBwYXJzZSBlcnJvciBiZWZvcmUgImJzaXplX3QiDQovdXNyL2luY2x1ZGUvc3lzL3Nv Y2tldC5oOjQ4NjogcGFyc2UgZXJyb3IgYmVmb3JlICJzZW5kcGF0aCINCi91c3IvaW5jbHVk ZS9zeXMvc29ja2V0Lmg6NDg3OiBwYXJzZSBlcnJvciBiZWZvcmUgImJzaXplX3QiDQpjb25m aWd1cmU6IEluIGZ1bmN0aW9uIGBtYWluJzoNCmNvbmZpZ3VyZToyODQ1OiBjb25mbGljdGlu ZyB0eXBlcyBmb3IgYHNlbGVjdCcNCi91c3IvaW5jbHVkZS9zeXMvdGltZS5oOjUwNzogcHJl dmlvdXMgZGVjbGFyYXRpb24gb2YgYHNlbGVjdCcNCmNvbmZpZ3VyZToyODQ1OiB3YXJuaW5n OiBleHRlcm4gZGVjbGFyYXRpb24gb2YgYHNlbGVjdCcgZG9lc24ndCBtYXRjaCBnbG9iYWwg b25lDQpjb25maWd1cmU6MjgxMDogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoNCnwgI2xpbmUgMjc4MSAiY29uZmlndXJlIg0KfCAvKiBjb25mZGVmcy5oLiAgKi8N CnwgDQp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiDQp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICIiDQp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiDQp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgIiINCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIg0KfCAjZGVmaW5l IFNURENfSEVBREVSUyAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxDQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDENCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDENCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxDQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx DQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8NCnwgI2luY2x1ZGUgPHN0ZGlvLmg+DQp8ICNp ZiBIQVZFX1NZU19UWVBFU19IDQp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQp8ICNlbmRp Zg0KfCAjaWYgSEFWRV9TWVNfU1RBVF9IDQp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4NCnwg I2VuZGlmDQp8ICNpZiBTVERDX0hFQURFUlMNCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4NCnwg IyBpbmNsdWRlIDxzdGRkZWYuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURExJQl9IDQp8 ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFW RV9TVFJJTkdfSA0KfCAjIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSA0KfCAj ICBpbmNsdWRlIDxtZW1vcnkuaD4NCnwgIyBlbmRpZg0KfCAjIGluY2x1ZGUgPHN0cmluZy5o Pg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1RSSU5HU19IDQp8ICMgaW5jbHVkZSA8c3RyaW5n cy5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfSU5UVFlQRVNfSA0KfCAjIGluY2x1ZGUgPGlu dHR5cGVzLmg+DQp8ICNlbHNlDQp8ICMgaWYgSEFWRV9TVERJTlRfSA0KfCAjICBpbmNsdWRl IDxzdGRpbnQuaD4NCnwgIyBlbmRpZg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfVU5JU1REX0gN CnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NZU19TRUxF Q1RfSA0KfCAjIGluY2x1ZGUgPHN5cy9zZWxlY3QuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZF X1NZU19TT0NLRVRfSA0KfCAjIGluY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCnwgI2VuZGlmDQp8 IA0KfCBpbnQNCnwgbWFpbiAoKQ0KfCB7DQp8IGV4dGVybiBpbnQgc2VsZWN0ICh1bnNpZ25l ZCBsb25nLA0KfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHZvaWQgKiwgdm9pZCAqLCB2b2lkICosDQp8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHRpbWV2YWwgKik7DQp8ICAgOw0KfCAg IHJldHVybiAwOw0KfCB9DQpjb25maWd1cmU6MjgwNzogZ2NjIC1jIC1nIC1PMiAgY29uZnRl c3QuYyA+JjUNCmNjMTogd2FybmluZzogLWcgaXMgb25seSBzdXBwb3J0ZWQgd2hlbiB1c2lu ZyBHQVMgb24gdGhpcyBwcm9jZXNzb3IsDQpjYzE6IHdhcm5pbmc6IC1nIG9wdGlvbiBkaXNh YmxlZA0KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZpZ3VyZToyODM3Og0KL3Vzci9pbmNs dWRlL3N5cy9zb2NrZXQuaDo0ODQ6IHBhcnNlIGVycm9yIGJlZm9yZSAic2VuZGZpbGUiDQov dXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4NTogcGFyc2UgZXJyb3IgYmVmb3JlICJic2l6 ZV90Ig0KL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODY6IHBhcnNlIGVycm9yIGJlZm9y ZSAic2VuZHBhdGgiDQovdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4NzogcGFyc2UgZXJy b3IgYmVmb3JlICJic2l6ZV90Ig0KY29uZmlndXJlOiBJbiBmdW5jdGlvbiBgbWFpbic6DQpj b25maWd1cmU6Mjg0NTogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGBzZWxlY3QnDQovdXNyL2lu Y2x1ZGUvc3lzL3RpbWUuaDo1MDc6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mIGBzZWxlY3Qn DQpjb25maWd1cmU6Mjg0NTogd2FybmluZzogZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIGBzZWxl Y3QnIGRvZXNuJ3QgbWF0Y2ggZ2xvYmFsIG9uZQ0KY29uZmlndXJlOjI4MTA6ICQ/ID0gMQ0K Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQp8ICNsaW5lIDI3ODEgImNvbmZpZ3Vy ZSINCnwgLyogY29uZmRlZnMuaC4gICovDQp8IA0KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi Ig0KfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiDQp8ICNkZWZpbmUgUEFDS0FH RV9CVUdSRVBPUlQgIiINCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8ICNk ZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQ0KfCAvKiBlbmQgY29uZmRlZnMuaC4gICovDQp8 ICNpbmNsdWRlIDxzdGRpby5oPg0KfCAjaWYgSEFWRV9TWVNfVFlQRVNfSA0KfCAjIGluY2x1 ZGUgPHN5cy90eXBlcy5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NUQVRfSA0KfCAj IGluY2x1ZGUgPHN5cy9zdGF0Lmg+DQp8ICNlbmRpZg0KfCAjaWYgU1REQ19IRUFERVJTDQp8 ICMgaW5jbHVkZSA8c3RkbGliLmg+DQp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+DQp8ICNlbHNl DQp8ICMgaWYgSEFWRV9TVERMSUJfSA0KfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4NCnwgIyBl bmRpZg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1RSSU5HX0gNCnwgIyBpZiAhU1REQ19IRUFE RVJTICYmIEhBVkVfTUVNT1JZX0gNCnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+DQp8ICMgZW5k aWYNCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NUUklO R1NfSA0KfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX0lO VFRZUEVTX0gNCnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPg0KfCAjZWxzZQ0KfCAjIGlmIEhB VkVfU1RESU5UX0gNCnwgIyAgaW5jbHVkZSA8c3RkaW50Lmg+DQp8ICMgZW5kaWYNCnwgI2Vu ZGlmDQp8ICNpZiBIQVZFX1VOSVNURF9IDQp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+DQp8ICNl bmRpZg0KfCAjaWYgSEFWRV9TWVNfU0VMRUNUX0gNCnwgIyBpbmNsdWRlIDxzeXMvc2VsZWN0 Lmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TWVNfU09DS0VUX0gNCnwgIyBpbmNsdWRlIDxz eXMvc29ja2V0Lmg+DQp8ICNlbmRpZg0KfCANCnwgaW50DQp8IG1haW4gKCkNCnwgew0KfCBl eHRlcm4gaW50IHNlbGVjdCAodW5zaWduZWQsDQp8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdm9pZCAqLCB2b2lkICosIHZvaWQgKiwNCnwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdGltZXZhbCAq KTsNCnwgICA7DQp8ICAgcmV0dXJuIDA7DQp8IH0NCmNvbmZpZ3VyZToyODA3OiBnY2MgLWMg LWcgLU8yICBjb25mdGVzdC5jID4mNQ0KY2MxOiB3YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBv cnRlZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlzIHByb2Nlc3NvciwNCmNjMTogd2FybmluZzog LWcgb3B0aW9uIGRpc2FibGVkDQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gY29uZmlndXJlOjI4 Mzc6DQovdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4NDogcGFyc2UgZXJyb3IgYmVmb3Jl ICJzZW5kZmlsZSINCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg1OiBwYXJzZSBlcnJv ciBiZWZvcmUgImJzaXplX3QiDQovdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4NjogcGFy c2UgZXJyb3IgYmVmb3JlICJzZW5kcGF0aCINCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6 NDg3OiBwYXJzZSBlcnJvciBiZWZvcmUgImJzaXplX3QiDQpjb25maWd1cmU6IEluIGZ1bmN0 aW9uIGBtYWluJzoNCmNvbmZpZ3VyZToyODQ1OiBjb25mbGljdGluZyB0eXBlcyBmb3IgYHNl bGVjdCcNCi91c3IvaW5jbHVkZS9zeXMvdGltZS5oOjUwNzogcHJldmlvdXMgZGVjbGFyYXRp b24gb2YgYHNlbGVjdCcNCmNvbmZpZ3VyZToyODQ1OiB3YXJuaW5nOiBleHRlcm4gZGVjbGFy YXRpb24gb2YgYHNlbGVjdCcgZG9lc24ndCBtYXRjaCBnbG9iYWwgb25lDQpjb25maWd1cmU6 MjgxMDogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwgI2xpbmUg Mjc4MSAiY29uZmlndXJlIg0KfCAvKiBjb25mZGVmcy5oLiAgKi8NCnwgDQp8ICNkZWZpbmUg UEFDS0FHRV9OQU1FICIiDQp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiDQp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIiDQp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiINCnwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIg0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAx DQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDENCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDENCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxDQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxDQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8NCnwgI2luY2x1ZGUgPHN0ZGlvLmg+DQp8ICNpZiBIQVZFX1NZU19UWVBF U19IDQp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9T WVNfU1RBVF9IDQp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4NCnwgI2VuZGlmDQp8ICNpZiBT VERDX0hFQURFUlMNCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4NCnwgIyBpbmNsdWRlIDxzdGRk ZWYuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURExJQl9IDQp8ICMgIGluY2x1ZGUgPHN0 ZGxpYi5oPg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdfSA0KfCAj IGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSA0KfCAjICBpbmNsdWRlIDxtZW1v cnkuaD4NCnwgIyBlbmRpZg0KfCAjIGluY2x1ZGUgPHN0cmluZy5oPg0KfCAjZW5kaWYNCnwg I2lmIEhBVkVfU1RSSU5HU19IDQp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPg0KfCAjZW5kaWYN CnwgI2lmIEhBVkVfSU5UVFlQRVNfSA0KfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+DQp8ICNl bHNlDQp8ICMgaWYgSEFWRV9TVERJTlRfSA0KfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4NCnwg IyBlbmRpZg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfVU5JU1REX0gNCnwgIyBpbmNsdWRlIDx1 bmlzdGQuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NZU19TRUxFQ1RfSA0KfCAjIGluY2x1 ZGUgPHN5cy9zZWxlY3QuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NZU19TT0NLRVRfSA0K fCAjIGluY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCnwgI2VuZGlmDQp8IA0KfCBpbnQNCnwgbWFp biAoKQ0KfCB7DQp8IGV4dGVybiBpbnQgc2VsZWN0ICh1bnNpZ25lZCwNCnwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICosIHZvaWQgKiwgdm9p ZCAqLA0KfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnN0IHN0cnVjdCB0aW1ldmFsICopOw0KfCAgIDsNCnwgICByZXR1cm4gMDsNCnwgfQ0KY29u ZmlndXJlOjI4MzI6IHJlc3VsdDogaW50LGludCAqLHN0cnVjdCB0aW1ldmFsICoNCmNvbmZp Z3VyZToyOTUwOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMNCg0KIyMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSAjIw0KIyMgUnVubmluZyBjb25maWcuc3RhdHVzLiAjIw0KIyMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSAjIw0KDQpUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IGNvbmZp Zy5zdGF0dXMsIHdoaWNoIHdhcw0KZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU3LiAg SW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzDQoNCiAgQ09ORklHX0ZJTEVTICAgID0gDQog IENPTkZJR19IRUFERVJTICA9IA0KICBDT05GSUdfTElOS1MgICAgPSANCiAgQ09ORklHX0NP TU1BTkRTID0gDQogICQgLi9jb25maWcuc3RhdHVzIA0KDQpvbiBvZGluDQoNCmNvbmZpZy5z dGF0dXM6NDUzOiBjcmVhdGluZyBjb25maWcuaA0KDQojIyAtLS0tLS0tLS0tLS0tLS0tICMj DQojIyBDYWNoZSB2YXJpYWJsZXMuICMjDQojIyAtLS0tLS0tLS0tLS0tLS0tICMjDQoNCmFj X2N2X2NfY29tcGlsZXJfZ251PXllcw0KYWNfY3ZfZW52X0NDX3NldD0nJw0KYWNfY3ZfZW52 X0NDX3ZhbHVlPScnDQphY19jdl9lbnZfQ0ZMQUdTX3NldD0nJw0KYWNfY3ZfZW52X0NGTEFH U192YWx1ZT0nJw0KYWNfY3ZfZW52X0NQUEZMQUdTX3NldD0nJw0KYWNfY3ZfZW52X0NQUEZM QUdTX3ZhbHVlPScnDQphY19jdl9lbnZfQ1BQX3NldD0nJw0KYWNfY3ZfZW52X0NQUF92YWx1 ZT0nJw0KYWNfY3ZfZW52X0xERkxBR1Nfc2V0PScnDQphY19jdl9lbnZfTERGTEFHU192YWx1 ZT0nJw0KYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3NldD0nJw0KYWNfY3ZfZW52X2J1aWxkX2Fs aWFzX3ZhbHVlPScnDQphY19jdl9lbnZfaG9zdF9hbGlhc19zZXQ9JycNCmFjX2N2X2Vudl9o b3N0X2FsaWFzX3ZhbHVlPScnDQphY19jdl9lbnZfdGFyZ2V0X2FsaWFzX3NldD0nJw0KYWNf Y3ZfZW52X3RhcmdldF9hbGlhc192YWx1ZT0nJw0KYWNfY3ZfZXhlZXh0PScnDQphY19jdl9m dW5jX3NlbGVjdF9hcmdzPSdpbnQsaW50ICosc3RydWN0IHRpbWV2YWwgKicNCmFjX2N2X2hl YWRlcl9pbnR0eXBlc19oPXllcw0KYWNfY3ZfaGVhZGVyX21lbW9yeV9oPXllcw0KYWNfY3Zf aGVhZGVyX3N0ZGM9eWVzDQphY19jdl9oZWFkZXJfc3RkaW50X2g9bm8NCmFjX2N2X2hlYWRl cl9zdGRsaWJfaD15ZXMNCmFjX2N2X2hlYWRlcl9zdHJpbmdfaD15ZXMNCmFjX2N2X2hlYWRl cl9zdHJpbmdzX2g9eWVzDQphY19jdl9oZWFkZXJfc3lzX3NlbGVjdF9oPW5vDQphY19jdl9o ZWFkZXJfc3lzX3NvY2tldF9oPXllcw0KYWNfY3ZfaGVhZGVyX3N5c19zdGF0X2g9eWVzDQph Y19jdl9oZWFkZXJfc3lzX3R5cGVzX2g9eWVzDQphY19jdl9oZWFkZXJfdW5pc3RkX2g9eWVz DQphY19jdl9vYmpleHQ9bw0KYWNfY3ZfcHJvZ19DUFA9J2djYyAtRScNCmFjX2N2X3Byb2df YWNfY3RfQ0M9Z2NjDQphY19jdl9wcm9nX2NjX2c9eWVzDQphY19jdl9wcm9nX2NjX3N0ZGM9 JycNCmFjX2N2X3Byb2dfZWdyZXA9J2dyZXAgLUUnDQoNCiMjIC0tLS0tLS0tLS0tLS0tLS0t ICMjDQojIyBPdXRwdXQgdmFyaWFibGVzLiAjIw0KIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMN Cg0KQ0M9J2djYycNCkNGTEFHUz0nLWcgLU8yJw0KQ1BQPSdnY2MgLUUnDQpDUFBGTEFHUz0n Jw0KREVGUz0nLURIQVZFX0NPTkZJR19IJw0KRUNIT19DPSdFQ0hPX049JycNCkVDSE9fVD0n Jw0KRUdSRVA9J2dyZXAgLUUnDQpFWEVFWFQ9JycNCkxERkxBR1M9JycNCkxJQk9CSlM9JycN CkxJQlM9JycNCkxUTElCT0JKUz0nJw0KT0JKRVhUPSdvJw0KUEFDS0FHRV9CVUdSRVBPUlQ9 JycNClBBQ0tBR0VfTkFNRT0nJw0KUEFDS0FHRV9TVFJJTkc9JycNClBBQ0tBR0VfVEFSTkFN RT0nJw0KUEFDS0FHRV9WRVJTSU9OPScnDQpQQVRIX1NFUEFSQVRPUj0nOicNClNIRUxMPScv YmluL3NoJw0KYWNfY3RfQ0M9J2djYycNCmJpbmRpcj0nJHtleGVjX3ByZWZpeH0vYmluJw0K YnVpbGRfYWxpYXM9JycNCmRhdGFkaXI9JyR7cHJlZml4fS9zaGFyZScNCmV4ZWNfcHJlZml4 PScke3ByZWZpeH0nDQpob3N0X2FsaWFzPScnDQppbmNsdWRlZGlyPScke3ByZWZpeH0vaW5j bHVkZScNCmluZm9kaXI9JyR7cHJlZml4fS9pbmZvJw0KbGliZGlyPScke2V4ZWNfcHJlZml4 fS9saWInDQpsaWJleGVjZGlyPScke2V4ZWNfcHJlZml4fS9saWJleGVjJw0KbG9jYWxzdGF0 ZWRpcj0nJHtwcmVmaXh9L3ZhcicNCm1hbmRpcj0nJHtwcmVmaXh9L21hbicNCm9sZGluY2x1 ZGVkaXI9Jy91c3IvaW5jbHVkZScNCnByZWZpeD0nL3Vzci9sb2NhbCcNCnByb2dyYW1fdHJh bnNmb3JtX25hbWU9J3MseCx4LCcNCnNiaW5kaXI9JyR7ZXhlY19wcmVmaXh9L3NiaW4nDQpz aGFyZWRzdGF0ZWRpcj0nJHtwcmVmaXh9L2NvbScNCnN5c2NvbmZkaXI9JyR7cHJlZml4fS9l dGMnDQp0YXJnZXRfYWxpYXM9JycNCg0KIyMgLS0tLS0tLS0tLS0gIyMNCiMjIGNvbmZkZWZz LmguICMjDQojIyAtLS0tLS0tLS0tLSAjIw0KDQojZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx DQojZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KI2RlZmluZSBIQVZFX1NURExJQl9IIDENCiNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KI2RlZmluZSBIQVZFX1NUUklOR19IIDENCiNkZWZp bmUgSEFWRV9TWVNfU09DS0VUX0ggMQ0KI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDENCiNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQojZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiDQojZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIg0KI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiIg0KI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiINCiNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiDQojZGVmaW5lIFNFTEVDVF9UWVBFX0FSRzEgaW50 DQojZGVmaW5lIFNFTEVDVF9UWVBFX0FSRzIzNCAoaW50ICopDQojZGVmaW5lIFNFTEVDVF9U WVBFX0FSRzUgKHN0cnVjdCB0aW1ldmFsICopDQojZGVmaW5lIFNURENfSEVBREVSUyAxDQoN CmNvbmZpZ3VyZTogZXhpdCAwDQoxNjIuIGFjZnVuY3Rpb25zLmF0OjIzOiBGQUlMRUQgbmVh ciBgYWNmdW5jdGlvbnMuYXQ6MjMnDQoNCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0gIyMNCiMj IENvbmZpZ3VyYXRpb24gbG9ncy4gIyMNCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0gIyMNCg0K dGVzdHN1aXRlOiAuLi90ZXN0cy90ZXN0c3VpdGUuZGlyLzE2Mi9jb25maWcubG9nOg0KfCBU aGlzIGZpbGUgY29udGFpbnMgYW55IG1lc3NhZ2VzIHByb2R1Y2VkIGJ5IGNvbXBpbGVycyB3 aGlsZQ0KfCBydW5uaW5nIGNvbmZpZ3VyZSwgdG8gYWlkIGRlYnVnZ2luZyBpZiBjb25maWd1 cmUgbWFrZXMgYSBtaXN0YWtlLg0KfCANCnwgSXQgd2FzIGNyZWF0ZWQgYnkgY29uZmlndXJl LCB3aGljaCB3YXMNCnwgZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU3LiAgSW52b2Nh dGlvbiBjb21tYW5kIGxpbmUgd2FzDQp8IA0KfCAgICQgLi9jb25maWd1cmUgDQp8IA0KfCAj IyAtLS0tLS0tLS0gIyMNCnwgIyMgUGxhdGZvcm0uICMjDQp8ICMjIC0tLS0tLS0tLSAjIw0K fCANCnwgaG9zdG5hbWUgPSBvZGluDQp8IHVuYW1lIC1tID0gOTAwMC84MDANCnwgdW5hbWUg LXIgPSBCLjExLjExDQp8IHVuYW1lIC1zID0gSFAtVVgNCnwgdW5hbWUgLXYgPSBVDQp8IA0K fCAvdXNyL2Jpbi91bmFtZSAtcCA9IHVua25vd24NCnwgL2Jpbi91bmFtZSAtWCAgICAgPSB1 bmtub3duDQp8IA0KfCAvYmluL2FyY2ggICAgICAgICAgICAgID0gdW5rbm93bg0KfCAvdXNy L2Jpbi9hcmNoIC1rICAgICAgID0gdW5rbm93bg0KfCAvdXNyL2NvbnZleC9nZXRzeXNpbmZv ID0gdW5rbm93bg0KfCBob3N0aW5mbyAgICAgICAgICAgICAgID0gdW5rbm93bg0KfCAvYmlu L21hY2hpbmUgICAgICAgICAgID0gdW5rbm93bg0KfCAvdXNyL2Jpbi9vc2xldmVsICAgICAg ID0gdW5rbm93bg0KfCAvYmluL3VuaXZlcnNlICAgICAgICAgID0gdW5rbm93bg0KfCANCnwg UEFUSDogL2hvbWUvYm9iaC9jZmlsZXMvYXV0b2NvbmYtMi41Ny90ZXN0cw0KfCBQQVRIOiAv c2Jpbg0KfCBQQVRIOiAvYmluDQp8IFBBVEg6IC91c3Ivc2Jpbg0KfCBQQVRIOiAvdXNyL2Jp bg0KfCBQQVRIOiAvdXNyL2xvY2FsL2Jpbg0KfCBQQVRIOiAvdXNyL2NvbnRyaWIvYmluDQp8 IFBBVEg6IC92YXIvYWRtaW4vbG9jYWwvb2Rpbi9iaW4NCnwgUEFUSDogL29wdC9vbW5pL2Jp bg0KfCANCnwgDQp8ICMjIC0tLS0tLS0tLS0tICMjDQp8ICMjIENvcmUgdGVzdHMuICMjDQp8 ICMjIC0tLS0tLS0tLS0tICMjDQp8IA0KfCBjb25maWd1cmU6MTMzNDogY2hlY2tpbmcgZm9y IGdjYw0KfCBjb25maWd1cmU6MTM1MDogZm91bmQgL3Vzci9sb2NhbC9iaW4vZ2NjDQp8IGNv bmZpZ3VyZToxMzYwOiByZXN1bHQ6IGdjYw0KfCBjb25maWd1cmU6MTYwNDogY2hlY2tpbmcg Zm9yIEMgY29tcGlsZXIgdmVyc2lvbg0KfCBjb25maWd1cmU6MTYwNzogZ2NjIC0tdmVyc2lv biA8L2Rldi9udWxsID4mNQ0KfCBnY2MgKEdDQykgMy4xDQp8IENvcHlyaWdodCAoQykgMjAw MiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCnwgVGhpcyBpcyBmcmVlIHNvZnR3 YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMg Tk8NCnwgd2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuDQp8IA0KfCBjb25maWd1cmU6MTYxMDogJD8g PSAwDQp8IGNvbmZpZ3VyZToxNjEyOiBnY2MgLXYgPC9kZXYvbnVsbCA+JjUNCnwgUmVhZGlu ZyBzcGVjcyBmcm9tIC91c3IvbG9jYWwvbGliL2djYy1saWIvaHBwYTIuMHctaHAtaHB1eDEx LjAwLzMuMS9zcGVjcw0KfCBDb25maWd1cmVkIHdpdGg6IC4vY29uZmlndXJlIC0tcHJlZml4 PS91c3IvbG9jYWwgOiAocmVjb25maWd1cmVkKSAuL2NvbmZpZ3VyZSAtLXByZWZpeD0vdXNy L2xvY2FsIDogKHJlY29uZmlndXJlZCkgLi9jb25maWd1cmUgLS1wcmVmaXg9L3Vzci9sb2Nh bA0KfCBUaHJlYWQgbW9kZWw6IHNpbmdsZQ0KfCBnY2MgdmVyc2lvbiAzLjENCnwgY29uZmln dXJlOjE2MTU6ICQ/ID0gMA0KfCBjb25maWd1cmU6MTYxNzogZ2NjIC1WIDwvZGV2L251bGwg PiY1DQp8IGdjYzogYXJndW1lbnQgdG8gYC1WJyBpcyBtaXNzaW5nDQp8IGNvbmZpZ3VyZTox NjIwOiAkPyA9IDENCnwgY29uZmlndXJlOjE2NDQ6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVy IGRlZmF1bHQgb3V0cHV0DQp8IGNvbmZpZ3VyZToxNjQ3OiBnY2MgICAgY29uZnRlc3QuYyAg PiY1DQp8IGNvbmZpZ3VyZToxNjUwOiAkPyA9IDANCnwgY29uZmlndXJlOjE2OTY6IHJlc3Vs dDogYS5vdXQNCnwgY29uZmlndXJlOjE3MDE6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29t cGlsZXIgd29ya3MNCnwgY29uZmlndXJlOjE3MDc6IC4vYS5vdXQNCnwgY29uZmlndXJlOjE3 MTA6ICQ/ID0gMA0KfCBjb25maWd1cmU6MTcyNzogcmVzdWx0OiB5ZXMNCnwgY29uZmlndXJl OjE3MzQ6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZw0KfCBjb25m aWd1cmU6MTczNjogcmVzdWx0OiBubw0KfCBjb25maWd1cmU6MTczOTogY2hlY2tpbmcgZm9y IHN1ZmZpeCBvZiBleGVjdXRhYmxlcw0KfCBjb25maWd1cmU6MTc0MTogZ2NjIC1vIGNvbmZ0 ZXN0ICAgIGNvbmZ0ZXN0LmMgID4mNQ0KfCBjb25maWd1cmU6MTc0NDogJD8gPSAwDQp8IGNv bmZpZ3VyZToxNzY5OiByZXN1bHQ6IA0KfCBjb25maWd1cmU6MTc3NTogY2hlY2tpbmcgZm9y IHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMNCnwgY29uZmlndXJlOjE3OTc6IGdjYyAtYyAgIGNv bmZ0ZXN0LmMgPiY1DQp8IGNvbmZpZ3VyZToxODAwOiAkPyA9IDANCnwgY29uZmlndXJlOjE4 MjI6IHJlc3VsdDogbw0KfCBjb25maWd1cmU6MTgyNjogY2hlY2tpbmcgd2hldGhlciB3ZSBh cmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyDQp8IGNvbmZpZ3VyZToxODUxOiBnY2MgLWMg ICBjb25mdGVzdC5jID4mNQ0KfCBjb25maWd1cmU6MTg1NDogJD8gPSAwDQp8IGNvbmZpZ3Vy ZToxODU3OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCnwgY29uZmlndXJlOjE4NjA6ICQ/ID0gMA0K fCBjb25maWd1cmU6MTg3MzogcmVzdWx0OiB5ZXMNCnwgY29uZmlndXJlOjE4Nzk6IGNoZWNr aW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcNCnwgY29uZmlndXJlOjE5MDE6IGdjYyAtYyAt ZyAgY29uZnRlc3QuYyA+JjUNCnwgY2MxOiB3YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBvcnRl ZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlzIHByb2Nlc3NvciwNCnwgY2MxOiB3YXJuaW5nOiAt ZyBvcHRpb24gZGlzYWJsZWQNCnwgY29uZmlndXJlOjE5MDQ6ICQ/ID0gMA0KfCBjb25maWd1 cmU6MTkwNzogdGVzdCAtcyBjb25mdGVzdC5vDQp8IGNvbmZpZ3VyZToxOTEwOiAkPyA9IDAN CnwgY29uZmlndXJlOjE5MjE6IHJlc3VsdDogeWVzDQp8IGNvbmZpZ3VyZToxOTM4OiBjaGVj a2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgQU5TSSBDDQp8IGNvbmZpZ3VyZToxOTk5 OiBnY2MgIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUNCnwgY2MxOiB3YXJuaW5nOiAtZyBp cyBvbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlzIHByb2Nlc3NvciwNCnwg Y2MxOiB3YXJuaW5nOiAtZyBvcHRpb24gZGlzYWJsZWQNCnwgY29uZmlndXJlOjIwMDI6ICQ/ ID0gMA0KfCBjb25maWd1cmU6MjAwNTogdGVzdCAtcyBjb25mdGVzdC5vDQp8IGNvbmZpZ3Vy ZToyMDA4OiAkPyA9IDANCnwgY29uZmlndXJlOjIwMjY6IHJlc3VsdDogbm9uZSBuZWVkZWQN CnwgY29uZmlndXJlOjIwNDQ6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1DQp8IGNj MTogd2FybmluZzogLWcgaXMgb25seSBzdXBwb3J0ZWQgd2hlbiB1c2luZyBHQVMgb24gdGhp cyBwcm9jZXNzb3IsDQp8IGNjMTogd2FybmluZzogLWcgb3B0aW9uIGRpc2FibGVkDQp8IGNv bmZ0ZXN0LmM6MjogcGFyc2UgZXJyb3IgYmVmb3JlICJtZSINCnwgY29uZmlndXJlOjIwNDc6 ICQ/ID0gMQ0KfCBjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwgfCAjaWZuZGVm IF9fY3BsdXNwbHVzDQp8IHwgICBjaG9rZSBtZQ0KfCB8ICNlbmRpZg0KfCBjb25maWd1cmU6 MjE2MjogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3INCnwgY29uZmln dXJlOjIxOTg6IGdjYyAtRSAgY29uZnRlc3QuYw0KfCBjb25maWd1cmU6MjIwNDogJD8gPSAw DQp8IGNvbmZpZ3VyZToyMjM2OiBnY2MgLUUgIGNvbmZ0ZXN0LmMNCnwgY29uZmlndXJlOjIy MzU6Mjg6IGFjX25vbmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkNCnwg Y29uZmlndXJlOjIyNDI6ICQ/ID0gMQ0KfCBjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoNCnwgfCAjbGluZSAyMjI3ICJjb25maWd1cmUiDQp8IHwgLyogY29uZmRlZnMuaC4gICov DQp8IHwgDQp8IHwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiINCnwgfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiDQp8IHwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg IiINCnwgfCAvKiBlbmQgY29uZmRlZnMuaC4gICovDQp8IHwgI2luY2x1ZGUgPGFjX25vbmV4 aXN0ZW50Lmg+DQp8IGNvbmZpZ3VyZToyMjgwOiByZXN1bHQ6IGdjYyAtRQ0KfCBjb25maWd1 cmU6MjMwNTogZ2NjIC1FICBjb25mdGVzdC5jDQp8IGNvbmZpZ3VyZToyMzExOiAkPyA9IDAN CnwgY29uZmlndXJlOjIzNDM6IGdjYyAtRSAgY29uZnRlc3QuYw0KfCBjb25maWd1cmU6MjM0 MjoyODogYWNfbm9uZXhpc3RlbnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQ0KfCBj b25maWd1cmU6MjM0OTogJD8gPSAxDQp8IGNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Og0KfCB8ICNsaW5lIDIzMzQgImNvbmZpZ3VyZSINCnwgfCAvKiBjb25mZGVmcy5oLiAgKi8N CnwgfCANCnwgfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIg0KfCB8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICIiDQp8IHwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiINCnwgfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICIiDQp8IHwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi Ig0KfCB8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8NCnwgfCAjaW5jbHVkZSA8YWNfbm9uZXhp c3RlbnQuaD4NCnwgY29uZmlndXJlOjIzOTI6IGNoZWNraW5nIGZvciBlZ3JlcA0KfCBjb25m aWd1cmU6MjQwMjogcmVzdWx0OiBncmVwIC1FDQp8IGNvbmZpZ3VyZToyNDA3OiBjaGVja2lu ZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcw0KfCBjb25maWd1cmU6MjQzMzogZ2NjIC1jIC1n IC1PMiAgY29uZnRlc3QuYyA+JjUNCnwgY2MxOiB3YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBv cnRlZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlzIHByb2Nlc3NvciwNCnwgY2MxOiB3YXJuaW5n OiAtZyBvcHRpb24gZGlzYWJsZWQNCnwgY29uZmlndXJlOjI0MzY6ICQ/ID0gMA0KfCBjb25m aWd1cmU6MjQzOTogdGVzdCAtcyBjb25mdGVzdC5vDQp8IGNvbmZpZ3VyZToyNDQyOiAkPyA9 IDANCnwgY29uZmlndXJlOjI1MzQ6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVz dC5jICA+JjUNCnwgY2MxOiB3YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHVz aW5nIEdBUyBvbiB0aGlzIHByb2Nlc3NvciwNCnwgY2MxOiB3YXJuaW5nOiAtZyBvcHRpb24g ZGlzYWJsZWQNCnwgY29uZmlndXJlOjI1Mzc6ICQ/ID0gMA0KfCBjb25maWd1cmU6MjUzOTog Li9jb25mdGVzdA0KfCBjb25maWd1cmU6MjU0MjogJD8gPSAwDQp8IGNvbmZpZ3VyZToyNTU3 OiByZXN1bHQ6IHllcw0KfCBjb25maWd1cmU6MjU4MTogY2hlY2tpbmcgZm9yIHN5cy90eXBl cy5oDQp8IGNvbmZpZ3VyZToyNTk4OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQ0K fCBjYzE6IHdhcm5pbmc6IC1nIGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNpbmcgR0FTIG9u IHRoaXMgcHJvY2Vzc29yLA0KfCBjYzE6IHdhcm5pbmc6IC1nIG9wdGlvbiBkaXNhYmxlZA0K fCBjb25maWd1cmU6MjYwMTogJD8gPSAwDQp8IGNvbmZpZ3VyZToyNjA0OiB0ZXN0IC1zIGNv bmZ0ZXN0Lm8NCnwgY29uZmlndXJlOjI2MDc6ICQ/ID0gMA0KfCBjb25maWd1cmU6MjYxODog cmVzdWx0OiB5ZXMNCnwgY29uZmlndXJlOjI1ODE6IGNoZWNraW5nIGZvciBzeXMvc3RhdC5o DQp8IGNvbmZpZ3VyZToyNTk4OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQ0KfCBj YzE6IHdhcm5pbmc6IC1nIGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNpbmcgR0FTIG9uIHRo aXMgcHJvY2Vzc29yLA0KfCBjYzE6IHdhcm5pbmc6IC1nIG9wdGlvbiBkaXNhYmxlZA0KfCBj b25maWd1cmU6MjYwMTogJD8gPSAwDQp8IGNvbmZpZ3VyZToyNjA0OiB0ZXN0IC1zIGNvbmZ0 ZXN0Lm8NCnwgY29uZmlndXJlOjI2MDc6ICQ/ID0gMA0KfCBjb25maWd1cmU6MjYxODogcmVz dWx0OiB5ZXMNCnwgY29uZmlndXJlOjI1ODE6IGNoZWNraW5nIGZvciBzdGRsaWIuaA0KfCBj b25maWd1cmU6MjU5ODogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUNCnwgY2MxOiB3 YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlzIHBy b2Nlc3NvciwNCnwgY2MxOiB3YXJuaW5nOiAtZyBvcHRpb24gZGlzYWJsZWQNCnwgY29uZmln dXJlOjI2MDE6ICQ/ID0gMA0KfCBjb25maWd1cmU6MjYwNDogdGVzdCAtcyBjb25mdGVzdC5v DQp8IGNvbmZpZ3VyZToyNjA3OiAkPyA9IDANCnwgY29uZmlndXJlOjI2MTg6IHJlc3VsdDog eWVzDQp8IGNvbmZpZ3VyZToyNTgxOiBjaGVja2luZyBmb3Igc3RyaW5nLmgNCnwgY29uZmln dXJlOjI1OTg6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1DQp8IGNjMTogd2Fybmlu ZzogLWcgaXMgb25seSBzdXBwb3J0ZWQgd2hlbiB1c2luZyBHQVMgb24gdGhpcyBwcm9jZXNz b3IsDQp8IGNjMTogd2FybmluZzogLWcgb3B0aW9uIGRpc2FibGVkDQp8IGNvbmZpZ3VyZToy NjAxOiAkPyA9IDANCnwgY29uZmlndXJlOjI2MDQ6IHRlc3QgLXMgY29uZnRlc3Qubw0KfCBj b25maWd1cmU6MjYwNzogJD8gPSAwDQp8IGNvbmZpZ3VyZToyNjE4OiByZXN1bHQ6IHllcw0K fCBjb25maWd1cmU6MjU4MTogY2hlY2tpbmcgZm9yIG1lbW9yeS5oDQp8IGNvbmZpZ3VyZToy NTk4OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQ0KfCBjYzE6IHdhcm5pbmc6IC1n IGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNpbmcgR0FTIG9uIHRoaXMgcHJvY2Vzc29yLA0K fCBjYzE6IHdhcm5pbmc6IC1nIG9wdGlvbiBkaXNhYmxlZA0KfCBjb25maWd1cmU6MjYwMTog JD8gPSAwDQp8IGNvbmZpZ3VyZToyNjA0OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCnwgY29uZmln dXJlOjI2MDc6ICQ/ID0gMA0KfCBjb25maWd1cmU6MjYxODogcmVzdWx0OiB5ZXMNCnwgY29u ZmlndXJlOjI1ODE6IGNoZWNraW5nIGZvciBzdHJpbmdzLmgNCnwgY29uZmlndXJlOjI1OTg6 IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1DQp8IGNjMTogd2FybmluZzogLWcgaXMg b25seSBzdXBwb3J0ZWQgd2hlbiB1c2luZyBHQVMgb24gdGhpcyBwcm9jZXNzb3IsDQp8IGNj MTogd2FybmluZzogLWcgb3B0aW9uIGRpc2FibGVkDQp8IGNvbmZpZ3VyZToyNjAxOiAkPyA9 IDANCnwgY29uZmlndXJlOjI2MDQ6IHRlc3QgLXMgY29uZnRlc3Qubw0KfCBjb25maWd1cmU6 MjYwNzogJD8gPSAwDQp8IGNvbmZpZ3VyZToyNjE4OiByZXN1bHQ6IHllcw0KfCBjb25maWd1 cmU6MjU4MTogY2hlY2tpbmcgZm9yIGludHR5cGVzLmgNCnwgY29uZmlndXJlOjI1OTg6IGdj YyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1DQp8IGNjMTogd2FybmluZzogLWcgaXMgb25s eSBzdXBwb3J0ZWQgd2hlbiB1c2luZyBHQVMgb24gdGhpcyBwcm9jZXNzb3IsDQp8IGNjMTog d2FybmluZzogLWcgb3B0aW9uIGRpc2FibGVkDQp8IGNvbmZpZ3VyZToyNjAxOiAkPyA9IDAN CnwgY29uZmlndXJlOjI2MDQ6IHRlc3QgLXMgY29uZnRlc3Qubw0KfCBjb25maWd1cmU6MjYw NzogJD8gPSAwDQp8IGNvbmZpZ3VyZToyNjE4OiByZXN1bHQ6IHllcw0KfCBjb25maWd1cmU6 MjU4MTogY2hlY2tpbmcgZm9yIHN0ZGludC5oDQp8IGNvbmZpZ3VyZToyNTk4OiBnY2MgLWMg LWcgLU8yICBjb25mdGVzdC5jID4mNQ0KfCBjYzE6IHdhcm5pbmc6IC1nIGlzIG9ubHkgc3Vw cG9ydGVkIHdoZW4gdXNpbmcgR0FTIG9uIHRoaXMgcHJvY2Vzc29yLA0KfCBjYzE6IHdhcm5p bmc6IC1nIG9wdGlvbiBkaXNhYmxlZA0KfCBjb25maWd1cmU6MjYzNzoyMDogc3RkaW50Lmg6 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkNCnwgY29uZmlndXJlOjI2MDE6ICQ/ID0gMQ0K fCBjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwgfCAjbGluZSAyNTg2ICJjb25m aWd1cmUiDQp8IHwgLyogY29uZmRlZnMuaC4gICovDQp8IHwgDQp8IHwgI2RlZmluZSBQQUNL QUdFX05BTUUgIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIg0KfCB8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIiDQp8IHwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIg0K fCB8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiINCnwgfCAjZGVmaW5lIFNURENfSEVB REVSUyAxDQp8IHwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NURExJQl9IIDENCnwgfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8IHwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxDQp8IHwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQ0KfCB8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8NCnwgfCAjaW5jbHVkZSA8c3RkaW8uaD4N CnwgfCAjaWYgSEFWRV9TWVNfVFlQRVNfSA0KfCB8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+ DQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfU1lTX1NUQVRfSA0KfCB8ICMgaW5jbHVkZSA8 c3lzL3N0YXQuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgU1REQ19IRUFERVJTDQp8IHwgIyBp bmNsdWRlIDxzdGRsaWIuaD4NCnwgfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCB8ICNlbHNl DQp8IHwgIyBpZiBIQVZFX1NURExJQl9IDQp8IHwgIyAgaW5jbHVkZSA8c3RkbGliLmg+DQp8 IHwgIyBlbmRpZg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NUUklOR19IDQp8IHwgIyBp ZiAhU1REQ19IRUFERVJTICYmIEhBVkVfTUVNT1JZX0gNCnwgfCAjICBpbmNsdWRlIDxtZW1v cnkuaD4NCnwgfCAjIGVuZGlmDQp8IHwgIyBpbmNsdWRlIDxzdHJpbmcuaD4NCnwgfCAjZW5k aWYNCnwgfCAjaWYgSEFWRV9TVFJJTkdTX0gNCnwgfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4N CnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9JTlRUWVBFU19IDQp8IHwgIyBpbmNsdWRlIDxp bnR0eXBlcy5oPg0KfCB8ICNlbHNlDQp8IHwgIyBpZiBIQVZFX1NURElOVF9IDQp8IHwgIyAg aW5jbHVkZSA8c3RkaW50Lmg+DQp8IHwgIyBlbmRpZg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBI QVZFX1VOSVNURF9IDQp8IHwgIyBpbmNsdWRlIDx1bmlzdGQuaD4NCnwgfCAjZW5kaWYNCnwg fCANCnwgfCAjaW5jbHVkZSA8c3RkaW50Lmg+DQp8IGNvbmZpZ3VyZToyNjE4OiByZXN1bHQ6 IG5vDQp8IGNvbmZpZ3VyZToyNTgxOiBjaGVja2luZyBmb3IgdW5pc3RkLmgNCnwgY29uZmln dXJlOjI1OTg6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1DQp8IGNjMTogd2Fybmlu ZzogLWcgaXMgb25seSBzdXBwb3J0ZWQgd2hlbiB1c2luZyBHQVMgb24gdGhpcyBwcm9jZXNz b3IsDQp8IGNjMTogd2FybmluZzogLWcgb3B0aW9uIGRpc2FibGVkDQp8IGNvbmZpZ3VyZToy NjAxOiAkPyA9IDANCnwgY29uZmlndXJlOjI2MDQ6IHRlc3QgLXMgY29uZnRlc3Qubw0KfCBj b25maWd1cmU6MjYwNzogJD8gPSAwDQp8IGNvbmZpZ3VyZToyNjE4OiByZXN1bHQ6IHllcw0K fCBjb25maWd1cmU6MjY0NTogY2hlY2tpbmcgc3lzL3NlbGVjdC5oIHVzYWJpbGl0eQ0KfCBj b25maWd1cmU6MjY1ODogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUNCnwgY2MxOiB3 YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlzIHBy b2Nlc3NvciwNCnwgY2MxOiB3YXJuaW5nOiAtZyBvcHRpb24gZGlzYWJsZWQNCnwgY29uZmln dXJlOjI2OTg6MjQ6IHN5cy9zZWxlY3QuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQ0K fCBjb25maWd1cmU6MjY2MTogJD8gPSAxDQp8IGNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOg0KfCB8ICNsaW5lIDI2NDcgImNvbmZpZ3VyZSINCnwgfCAvKiBjb25mZGVmcy5oLiAg Ki8NCnwgfCANCnwgfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIg0KfCB8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICIiDQp8IHwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiINCnwgfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiDQp8IHwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiIg0KfCB8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDENCnwgfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8IHwgI2Rl ZmluZSBIQVZFX01FTU9SWV9IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwg fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDENCnwgfCAvKiBlbmQgY29uZmRlZnMuaC4gICovDQp8IHwgI2luY2x1ZGUgPHN0ZGlvLmg+ DQp8IHwgI2lmIEhBVkVfU1lTX1RZUEVTX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5o Pg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgfCAjIGluY2x1ZGUg PHN5cy9zdGF0Lmg+DQp8IHwgI2VuZGlmDQp8IHwgI2lmIFNURENfSEVBREVSUw0KfCB8ICMg aW5jbHVkZSA8c3RkbGliLmg+DQp8IHwgIyBpbmNsdWRlIDxzdGRkZWYuaD4NCnwgfCAjZWxz ZQ0KfCB8ICMgaWYgSEFWRV9TVERMSUJfSA0KfCB8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPg0K fCB8ICMgZW5kaWYNCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TVFJJTkdfSA0KfCB8ICMg aWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8IHwgIyAgaW5jbHVkZSA8bWVt b3J5Lmg+DQp8IHwgIyBlbmRpZg0KfCB8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8IHwgI2Vu ZGlmDQp8IHwgI2lmIEhBVkVfU1RSSU5HU19IDQp8IHwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+ DQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfSU5UVFlQRVNfSA0KfCB8ICMgaW5jbHVkZSA8 aW50dHlwZXMuaD4NCnwgfCAjZWxzZQ0KfCB8ICMgaWYgSEFWRV9TVERJTlRfSA0KfCB8ICMg IGluY2x1ZGUgPHN0ZGludC5oPg0KfCB8ICMgZW5kaWYNCnwgfCAjZW5kaWYNCnwgfCAjaWYg SEFWRV9VTklTVERfSA0KfCB8ICMgaW5jbHVkZSA8dW5pc3RkLmg+DQp8IHwgI2VuZGlmDQp8 IHwgI2luY2x1ZGUgPHN5cy9zZWxlY3QuaD4NCnwgY29uZmlndXJlOjI2Nzc6IHJlc3VsdDog bm8NCnwgY29uZmlndXJlOjI2ODE6IGNoZWNraW5nIHN5cy9zZWxlY3QuaCBwcmVzZW5jZQ0K fCBjb25maWd1cmU6MjY5MjogZ2NjIC1FICBjb25mdGVzdC5jDQp8IGNvbmZpZ3VyZToyNzAw OjI0OiBzeXMvc2VsZWN0Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkNCnwgY29uZmln dXJlOjI2OTg6ICQ/ID0gMQ0KfCBjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwg fCAjbGluZSAyNjgzICJjb25maWd1cmUiDQp8IHwgLyogY29uZmRlZnMuaC4gICovDQp8IHwg DQp8IHwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfVEFS TkFNRSAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiDQp8IHwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiINCnwg fCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8IHwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDENCnwgfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCB8ICNkZWZpbmUgSEFW RV9NRU1PUllfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxDQp8IHwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8IHwg LyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCB8ICNpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+DQp8 IGNvbmZpZ3VyZToyNzE3OiByZXN1bHQ6IG5vDQp8IGNvbmZpZ3VyZToyNzUzOiBjaGVja2lu ZyBmb3Igc3lzL3NlbGVjdC5oDQp8IGNvbmZpZ3VyZToyNzYwOiByZXN1bHQ6IG5vDQp8IGNv bmZpZ3VyZToyNjQ1OiBjaGVja2luZyBzeXMvc29ja2V0LmggdXNhYmlsaXR5DQp8IGNvbmZp Z3VyZToyNjU4OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQ0KfCBjYzE6IHdhcm5p bmc6IC1nIGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNpbmcgR0FTIG9uIHRoaXMgcHJvY2Vz c29yLA0KfCBjYzE6IHdhcm5pbmc6IC1nIG9wdGlvbiBkaXNhYmxlZA0KfCBJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gY29uZmlndXJlOjI2OTg6DQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0 Lmg6NDg0OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRmaWxlIg0KfCAvdXNyL2luY2x1ZGUv c3lzL3NvY2tldC5oOjQ4NTogcGFyc2UgZXJyb3IgYmVmb3JlICJic2l6ZV90Ig0KfCAvdXNy L2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4NjogcGFyc2UgZXJyb3IgYmVmb3JlICJzZW5kcGF0 aCINCnwgL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODc6IHBhcnNlIGVycm9yIGJlZm9y ZSAiYnNpemVfdCINCnwgY29uZmlndXJlOjI2NjE6ICQ/ID0gMQ0KfCBjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoNCnwgfCAjbGluZSAyNjQ3ICJjb25maWd1cmUiDQp8IHwgLyog Y29uZmRlZnMuaC4gICovDQp8IHwgDQp8IHwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiINCnwg fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIiDQp8IHwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIg0KfCB8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgIiINCnwgfCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8IHwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx DQp8IHwgI2RlZmluZSBIQVZFX1NURExJQl9IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1RSSU5H X0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxDQp8IHwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCB8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxDQp8IHwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCB8ICNpbmNs dWRlIDxzdGRpby5oPg0KfCB8ICNpZiBIQVZFX1NZU19UWVBFU19IDQp8IHwgIyBpbmNsdWRl IDxzeXMvdHlwZXMuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TWVNfU1RBVF9IDQp8 IHwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBTVERDX0hF QURFUlMNCnwgfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCB8ICMgaW5jbHVkZSA8c3RkZGVm Lmg+DQp8IHwgI2Vsc2UNCnwgfCAjIGlmIEhBVkVfU1RETElCX0gNCnwgfCAjICBpbmNsdWRl IDxzdGRsaWIuaD4NCnwgfCAjIGVuZGlmDQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfU1RS SU5HX0gNCnwgfCAjIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSA0KfCB8ICMg IGluY2x1ZGUgPG1lbW9yeS5oPg0KfCB8ICMgZW5kaWYNCnwgfCAjIGluY2x1ZGUgPHN0cmlu Zy5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NUUklOR1NfSA0KfCB8ICMgaW5jbHVk ZSA8c3RyaW5ncy5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX0lOVFRZUEVTX0gNCnwg fCAjIGluY2x1ZGUgPGludHR5cGVzLmg+DQp8IHwgI2Vsc2UNCnwgfCAjIGlmIEhBVkVfU1RE SU5UX0gNCnwgfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4NCnwgfCAjIGVuZGlmDQp8IHwgI2Vu ZGlmDQp8IHwgI2lmIEhBVkVfVU5JU1REX0gNCnwgfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPg0K fCB8ICNlbmRpZg0KfCB8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+DQp8IGNvbmZpZ3VyZToy Njc3OiByZXN1bHQ6IG5vDQp8IGNvbmZpZ3VyZToyNjgxOiBjaGVja2luZyBzeXMvc29ja2V0 LmggcHJlc2VuY2UNCnwgY29uZmlndXJlOjI2OTI6IGdjYyAtRSAgY29uZnRlc3QuYw0KfCBj b25maWd1cmU6MjY5ODogJD8gPSAwDQp8IGNvbmZpZ3VyZToyNzE3OiByZXN1bHQ6IHllcw0K fCBjb25maWd1cmU6MjczNzogV0FSTklORzogc3lzL3NvY2tldC5oOiBwcmVzZW50IGJ1dCBj YW5ub3QgYmUgY29tcGlsZWQNCnwgY29uZmlndXJlOjI3Mzk6IFdBUk5JTkc6IHN5cy9zb2Nr ZXQuaDogY2hlY2sgZm9yIG1pc3NpbmcgcHJlcmVxdWlzaXRlIGhlYWRlcnM/DQp8IGNvbmZp Z3VyZToyNzQxOiBXQVJOSU5HOiBzeXMvc29ja2V0Lmg6IHByb2NlZWRpbmcgd2l0aCB0aGUg cHJlcHJvY2Vzc29yJ3MgcmVzdWx0DQp8IGNvbmZpZ3VyZToyNzUzOiBjaGVja2luZyBmb3Ig c3lzL3NvY2tldC5oDQp8IGNvbmZpZ3VyZToyNzYwOiByZXN1bHQ6IHllcw0KfCBjb25maWd1 cmU6Mjc3MzogY2hlY2tpbmcgdHlwZXMgb2YgYXJndW1lbnRzIGZvciBzZWxlY3QNCnwgY29u ZmlndXJlOjI4MDc6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1DQp8IGNjMTogd2Fy bmluZzogLWcgaXMgb25seSBzdXBwb3J0ZWQgd2hlbiB1c2luZyBHQVMgb24gdGhpcyBwcm9j ZXNzb3IsDQp8IGNjMTogd2FybmluZzogLWcgb3B0aW9uIGRpc2FibGVkDQp8IEluIGZpbGUg aW5jbHVkZWQgZnJvbSBjb25maWd1cmU6MjgzNzoNCnwgL3Vzci9pbmNsdWRlL3N5cy9zb2Nr ZXQuaDo0ODQ6IHBhcnNlIGVycm9yIGJlZm9yZSAic2VuZGZpbGUiDQp8IC91c3IvaW5jbHVk ZS9zeXMvc29ja2V0Lmg6NDg1OiBwYXJzZSBlcnJvciBiZWZvcmUgImJzaXplX3QiDQp8IC91 c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg2OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRw YXRoIg0KfCAvdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4NzogcGFyc2UgZXJyb3IgYmVm b3JlICJic2l6ZV90Ig0KfCBjb25maWd1cmU6MjgxMDogJD8gPSAxDQp8IGNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOg0KfCB8ICNsaW5lIDI3ODEgImNvbmZpZ3VyZSINCnwgfCAv KiBjb25mZGVmcy5oLiAgKi8NCnwgfCANCnwgfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIg0K fCB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiDQp8IHwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiDQp8IHwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiIg0KfCB8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDENCnwgfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxDQp8IHwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwgfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDENCnwgfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8IHwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDENCnwg fCAvKiBlbmQgY29uZmRlZnMuaC4gICovDQp8IHwgI2luY2x1ZGUgPHN0ZGlvLmg+DQp8IHwg I2lmIEhBVkVfU1lTX1RZUEVTX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPg0KfCB8 ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy9z dGF0Lmg+DQp8IHwgI2VuZGlmDQp8IHwgI2lmIFNURENfSEVBREVSUw0KfCB8ICMgaW5jbHVk ZSA8c3RkbGliLmg+DQp8IHwgIyBpbmNsdWRlIDxzdGRkZWYuaD4NCnwgfCAjZWxzZQ0KfCB8 ICMgaWYgSEFWRV9TVERMSUJfSA0KfCB8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCB8ICMg ZW5kaWYNCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TVFJJTkdfSA0KfCB8ICMgaWYgIVNU RENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8IHwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+ DQp8IHwgIyBlbmRpZg0KfCB8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8IHwgI2VuZGlmDQp8 IHwgI2lmIEhBVkVfU1RSSU5HU19IDQp8IHwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+DQp8IHwg I2VuZGlmDQp8IHwgI2lmIEhBVkVfSU5UVFlQRVNfSA0KfCB8ICMgaW5jbHVkZSA8aW50dHlw ZXMuaD4NCnwgfCAjZWxzZQ0KfCB8ICMgaWYgSEFWRV9TVERJTlRfSA0KfCB8ICMgIGluY2x1 ZGUgPHN0ZGludC5oPg0KfCB8ICMgZW5kaWYNCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9V TklTVERfSA0KfCB8ICMgaW5jbHVkZSA8dW5pc3RkLmg+DQp8IHwgI2VuZGlmDQp8IHwgI2lm IEhBVkVfU1lTX1NFTEVDVF9IDQp8IHwgIyBpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+DQp8IHwg I2VuZGlmDQp8IHwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9IDQp8IHwgIyBpbmNsdWRlIDxzeXMv c29ja2V0Lmg+DQp8IHwgI2VuZGlmDQp8IHwgDQp8IHwgaW50DQp8IHwgbWFpbiAoKQ0KfCB8 IHsNCnwgfCBleHRlcm4gaW50IHNlbGVjdCAoaW50LA0KfCB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmRfc2V0ICosIGZkX3NldCAqLCBmZF9zZXQg KiwNCnwgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCB0aW1ldmFsICopOw0KfCB8ICAgOw0KfCB8ICAgcmV0dXJuIDA7DQp8IHwgfQ0KfCBj b25maWd1cmU6MjgwNzogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUNCnwgY2MxOiB3 YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlzIHBy b2Nlc3NvciwNCnwgY2MxOiB3YXJuaW5nOiAtZyBvcHRpb24gZGlzYWJsZWQNCnwgSW4gZmls ZSBpbmNsdWRlZCBmcm9tIGNvbmZpZ3VyZToyODM3Og0KfCAvdXNyL2luY2x1ZGUvc3lzL3Nv Y2tldC5oOjQ4NDogcGFyc2UgZXJyb3IgYmVmb3JlICJzZW5kZmlsZSINCnwgL3Vzci9pbmNs dWRlL3N5cy9zb2NrZXQuaDo0ODU6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCINCnwg L3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODY6IHBhcnNlIGVycm9yIGJlZm9yZSAic2Vu ZHBhdGgiDQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg3OiBwYXJzZSBlcnJvciBi ZWZvcmUgImJzaXplX3QiDQp8IGNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYG1haW4nOg0KfCBj b25maWd1cmU6Mjg0NTogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGBzZWxlY3QnDQp8IC91c3Iv aW5jbHVkZS9zeXMvdGltZS5oOjUwNzogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgYHNlbGVj dCcNCnwgY29uZmlndXJlOjI4NDU6IHdhcm5pbmc6IGV4dGVybiBkZWNsYXJhdGlvbiBvZiBg c2VsZWN0JyBkb2Vzbid0IG1hdGNoIGdsb2JhbCBvbmUNCnwgY29uZmlndXJlOjI4MTA6ICQ/ ID0gMQ0KfCBjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwgfCAjbGluZSAyNzgx ICJjb25maWd1cmUiDQp8IHwgLyogY29uZmRlZnMuaC4gICovDQp8IHwgDQp8IHwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIg0KfCB8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiDQp8IHwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiINCnwgfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxDQp8IHwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NURExJQl9IIDENCnwg fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx DQp8IHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxDQp8IHwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8IHwgI2RlZmluZSBIQVZF X1NZU19TT0NLRVRfSCAxDQp8IHwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCB8ICNpbmNs dWRlIDxzdGRpby5oPg0KfCB8ICNpZiBIQVZFX1NZU19UWVBFU19IDQp8IHwgIyBpbmNsdWRl IDxzeXMvdHlwZXMuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TWVNfU1RBVF9IDQp8 IHwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBTVERDX0hF QURFUlMNCnwgfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCB8ICMgaW5jbHVkZSA8c3RkZGVm Lmg+DQp8IHwgI2Vsc2UNCnwgfCAjIGlmIEhBVkVfU1RETElCX0gNCnwgfCAjICBpbmNsdWRl IDxzdGRsaWIuaD4NCnwgfCAjIGVuZGlmDQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfU1RS SU5HX0gNCnwgfCAjIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSA0KfCB8ICMg IGluY2x1ZGUgPG1lbW9yeS5oPg0KfCB8ICMgZW5kaWYNCnwgfCAjIGluY2x1ZGUgPHN0cmlu Zy5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NUUklOR1NfSA0KfCB8ICMgaW5jbHVk ZSA8c3RyaW5ncy5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX0lOVFRZUEVTX0gNCnwg fCAjIGluY2x1ZGUgPGludHR5cGVzLmg+DQp8IHwgI2Vsc2UNCnwgfCAjIGlmIEhBVkVfU1RE SU5UX0gNCnwgfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4NCnwgfCAjIGVuZGlmDQp8IHwgI2Vu ZGlmDQp8IHwgI2lmIEhBVkVfVU5JU1REX0gNCnwgfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPg0K fCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NZU19TRUxFQ1RfSA0KfCB8ICMgaW5jbHVkZSA8 c3lzL3NlbGVjdC5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NZU19TT0NLRVRfSA0K fCB8ICMgaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KfCB8ICNlbmRpZg0KfCB8IA0KfCB8IGlu dA0KfCB8IG1haW4gKCkNCnwgfCB7DQp8IHwgZXh0ZXJuIGludCBzZWxlY3QgKGludCwNCnwg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkX3NldCAq LCBmZF9zZXQgKiwgZmRfc2V0ICosDQp8IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqKTsNCnwgfCAgIDsNCnwg fCAgIHJldHVybiAwOw0KfCB8IH0NCnwgY29uZmlndXJlOjI4MDc6IGdjYyAtYyAtZyAtTzIg IGNvbmZ0ZXN0LmMgPiY1DQp8IGNjMTogd2FybmluZzogLWcgaXMgb25seSBzdXBwb3J0ZWQg d2hlbiB1c2luZyBHQVMgb24gdGhpcyBwcm9jZXNzb3IsDQp8IGNjMTogd2FybmluZzogLWcg b3B0aW9uIGRpc2FibGVkDQp8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25maWd1cmU6Mjgz NzoNCnwgL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODQ6IHBhcnNlIGVycm9yIGJlZm9y ZSAic2VuZGZpbGUiDQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg1OiBwYXJzZSBl cnJvciBiZWZvcmUgImJzaXplX3QiDQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg2 OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRwYXRoIg0KfCAvdXNyL2luY2x1ZGUvc3lzL3Nv Y2tldC5oOjQ4NzogcGFyc2UgZXJyb3IgYmVmb3JlICJic2l6ZV90Ig0KfCBjb25maWd1cmU6 IEluIGZ1bmN0aW9uIGBtYWluJzoNCnwgY29uZmlndXJlOjI4NDU6IGNvbmZsaWN0aW5nIHR5 cGVzIGZvciBgc2VsZWN0Jw0KfCAvdXNyL2luY2x1ZGUvc3lzL3RpbWUuaDo1MDc6IHByZXZp b3VzIGRlY2xhcmF0aW9uIG9mIGBzZWxlY3QnDQp8IGNvbmZpZ3VyZToyODQ1OiB3YXJuaW5n OiBleHRlcm4gZGVjbGFyYXRpb24gb2YgYHNlbGVjdCcgZG9lc24ndCBtYXRjaCBnbG9iYWwg b25lDQp8IGNvbmZpZ3VyZToyODEwOiAkPyA9IDENCnwgY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6DQp8IHwgI2xpbmUgMjc4MSAiY29uZmlndXJlIg0KfCB8IC8qIGNvbmZkZWZz LmguICAqLw0KfCB8IA0KfCB8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiDQp8IHwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIg0K fCB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICIiDQp8IHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCB8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCB8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwg fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQ0KfCB8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCnwgfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQ0KfCB8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8NCnwgfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgfCAjaWYgSEFWRV9T WVNfVFlQRVNfSA0KfCB8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQp8IHwgI2VuZGlmDQp8 IHwgI2lmIEhBVkVfU1lTX1NUQVRfSA0KfCB8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4NCnwg fCAjZW5kaWYNCnwgfCAjaWYgU1REQ19IRUFERVJTDQp8IHwgIyBpbmNsdWRlIDxzdGRsaWIu aD4NCnwgfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCB8ICNlbHNlDQp8IHwgIyBpZiBIQVZF X1NURExJQl9IDQp8IHwgIyAgaW5jbHVkZSA8c3RkbGliLmg+DQp8IHwgIyBlbmRpZg0KfCB8 ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NUUklOR19IDQp8IHwgIyBpZiAhU1REQ19IRUFERVJT ICYmIEhBVkVfTUVNT1JZX0gNCnwgfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4NCnwgfCAjIGVu ZGlmDQp8IHwgIyBpbmNsdWRlIDxzdHJpbmcuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFW RV9TVFJJTkdTX0gNCnwgfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4NCnwgfCAjZW5kaWYNCnwg fCAjaWYgSEFWRV9JTlRUWVBFU19IDQp8IHwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPg0KfCB8 ICNlbHNlDQp8IHwgIyBpZiBIQVZFX1NURElOVF9IDQp8IHwgIyAgaW5jbHVkZSA8c3RkaW50 Lmg+DQp8IHwgIyBlbmRpZg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1VOSVNURF9IDQp8 IHwgIyBpbmNsdWRlIDx1bmlzdGQuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TWVNf U0VMRUNUX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy9zZWxlY3QuaD4NCnwgfCAjZW5kaWYNCnwg fCAjaWYgSEFWRV9TWVNfU09DS0VUX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy9zb2NrZXQuaD4N CnwgfCAjZW5kaWYNCnwgfCANCnwgfCBpbnQNCnwgfCBtYWluICgpDQp8IHwgew0KfCB8IGV4 dGVybiBpbnQgc2VsZWN0IChzaXplX3QsDQp8IHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBmZF9zZXQgKiwgZmRfc2V0ICosIGZkX3NldCAqLA0KfCB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHRp bWV2YWwgKik7DQp8IHwgICA7DQp8IHwgICByZXR1cm4gMDsNCnwgfCB9DQp8IGNvbmZpZ3Vy ZToyODA3OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQ0KfCBjYzE6IHdhcm5pbmc6 IC1nIGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNpbmcgR0FTIG9uIHRoaXMgcHJvY2Vzc29y LA0KfCBjYzE6IHdhcm5pbmc6IC1nIG9wdGlvbiBkaXNhYmxlZA0KfCBJbiBmaWxlIGluY2x1 ZGVkIGZyb20gY29uZmlndXJlOjI4Mzc6DQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6 NDg0OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRmaWxlIg0KfCAvdXNyL2luY2x1ZGUvc3lz L3NvY2tldC5oOjQ4NTogcGFyc2UgZXJyb3IgYmVmb3JlICJic2l6ZV90Ig0KfCAvdXNyL2lu Y2x1ZGUvc3lzL3NvY2tldC5oOjQ4NjogcGFyc2UgZXJyb3IgYmVmb3JlICJzZW5kcGF0aCIN CnwgL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODc6IHBhcnNlIGVycm9yIGJlZm9yZSAi YnNpemVfdCINCnwgY29uZmlndXJlOiBJbiBmdW5jdGlvbiBgbWFpbic6DQp8IGNvbmZpZ3Vy ZToyODQ1OiBjb25mbGljdGluZyB0eXBlcyBmb3IgYHNlbGVjdCcNCnwgL3Vzci9pbmNsdWRl L3N5cy90aW1lLmg6NTA3OiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0Jw0KfCBj b25maWd1cmU6Mjg0NTogd2FybmluZzogZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIGBzZWxlY3Qn IGRvZXNuJ3QgbWF0Y2ggZ2xvYmFsIG9uZQ0KfCBjb25maWd1cmU6MjgxMDogJD8gPSAxDQp8 IGNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCB8ICNsaW5lIDI3ODEgImNvbmZp Z3VyZSINCnwgfCAvKiBjb25mZGVmcy5oLiAgKi8NCnwgfCANCnwgfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiDQp8IHwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiDQp8 IHwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIg0KfCB8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDENCnwgfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCB8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCB8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxDQp8IHwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwgfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwgfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx DQp8IHwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1lTX1NP Q0tFVF9IIDENCnwgfCAvKiBlbmQgY29uZmRlZnMuaC4gICovDQp8IHwgI2luY2x1ZGUgPHN0 ZGlvLmg+DQp8IHwgI2lmIEhBVkVfU1lTX1RZUEVTX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy90 eXBlcy5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgfCAjIGlu Y2x1ZGUgPHN5cy9zdGF0Lmg+DQp8IHwgI2VuZGlmDQp8IHwgI2lmIFNURENfSEVBREVSUw0K fCB8ICMgaW5jbHVkZSA8c3RkbGliLmg+DQp8IHwgIyBpbmNsdWRlIDxzdGRkZWYuaD4NCnwg fCAjZWxzZQ0KfCB8ICMgaWYgSEFWRV9TVERMSUJfSA0KfCB8ICMgIGluY2x1ZGUgPHN0ZGxp Yi5oPg0KfCB8ICMgZW5kaWYNCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TVFJJTkdfSA0K fCB8ICMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8IHwgIyAgaW5jbHVk ZSA8bWVtb3J5Lmg+DQp8IHwgIyBlbmRpZg0KfCB8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8 IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfU1RSSU5HU19IDQp8IHwgIyBpbmNsdWRlIDxzdHJp bmdzLmg+DQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfSU5UVFlQRVNfSA0KfCB8ICMgaW5j bHVkZSA8aW50dHlwZXMuaD4NCnwgfCAjZWxzZQ0KfCB8ICMgaWYgSEFWRV9TVERJTlRfSA0K fCB8ICMgIGluY2x1ZGUgPHN0ZGludC5oPg0KfCB8ICMgZW5kaWYNCnwgfCAjZW5kaWYNCnwg fCAjaWYgSEFWRV9VTklTVERfSA0KfCB8ICMgaW5jbHVkZSA8dW5pc3RkLmg+DQp8IHwgI2Vu ZGlmDQp8IHwgI2lmIEhBVkVfU1lTX1NFTEVDVF9IDQp8IHwgIyBpbmNsdWRlIDxzeXMvc2Vs ZWN0Lmg+DQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9IDQp8IHwgIyBp bmNsdWRlIDxzeXMvc29ja2V0Lmg+DQp8IHwgI2VuZGlmDQp8IHwgDQp8IHwgaW50DQp8IHwg bWFpbiAoKQ0KfCB8IHsNCnwgfCBleHRlcm4gaW50IHNlbGVjdCAoc2l6ZV90LA0KfCB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmRfc2V0ICosIGZk X3NldCAqLCBmZF9zZXQgKiwNCnwgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB0aW1ldmFsICopOw0KfCB8ICAgOw0KfCB8ICAg cmV0dXJuIDA7DQp8IHwgfQ0KfCBjb25maWd1cmU6MjgwNzogZ2NjIC1jIC1nIC1PMiAgY29u ZnRlc3QuYyA+JjUNCnwgY2MxOiB3YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBvcnRlZCB3aGVu IHVzaW5nIEdBUyBvbiB0aGlzIHByb2Nlc3NvciwNCnwgY2MxOiB3YXJuaW5nOiAtZyBvcHRp b24gZGlzYWJsZWQNCnwgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZpZ3VyZToyODM3Og0K fCAvdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4NDogcGFyc2UgZXJyb3IgYmVmb3JlICJz ZW5kZmlsZSINCnwgL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODU6IHBhcnNlIGVycm9y IGJlZm9yZSAiYnNpemVfdCINCnwgL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODY6IHBh cnNlIGVycm9yIGJlZm9yZSAic2VuZHBhdGgiDQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0 Lmg6NDg3OiBwYXJzZSBlcnJvciBiZWZvcmUgImJzaXplX3QiDQp8IGNvbmZpZ3VyZTogSW4g ZnVuY3Rpb24gYG1haW4nOg0KfCBjb25maWd1cmU6Mjg0NTogY29uZmxpY3RpbmcgdHlwZXMg Zm9yIGBzZWxlY3QnDQp8IC91c3IvaW5jbHVkZS9zeXMvdGltZS5oOjUwNzogcHJldmlvdXMg ZGVjbGFyYXRpb24gb2YgYHNlbGVjdCcNCnwgY29uZmlndXJlOjI4NDU6IHdhcm5pbmc6IGV4 dGVybiBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0JyBkb2Vzbid0IG1hdGNoIGdsb2JhbCBvbmUN CnwgY29uZmlndXJlOjI4MTA6ICQ/ID0gMQ0KfCBjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoNCnwgfCAjbGluZSAyNzgxICJjb25maWd1cmUiDQp8IHwgLyogY29uZmRlZnMuaC4g ICovDQp8IHwgDQp8IHwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiINCnwgfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiDQp8IHwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiINCnwgfCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8IHwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8IHwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCB8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxDQp8 IHwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxDQp8IHwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxDQp8IHwgLyogZW5kIGNvbmZk ZWZzLmguICAqLw0KfCB8ICNpbmNsdWRlIDxzdGRpby5oPg0KfCB8ICNpZiBIQVZFX1NZU19U WVBFU19IDQp8IHwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCnwgfCAjZW5kaWYNCnwgfCAj aWYgSEFWRV9TWVNfU1RBVF9IDQp8IHwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCB8ICNl bmRpZg0KfCB8ICNpZiBTVERDX0hFQURFUlMNCnwgfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0K fCB8ICMgaW5jbHVkZSA8c3RkZGVmLmg+DQp8IHwgI2Vsc2UNCnwgfCAjIGlmIEhBVkVfU1RE TElCX0gNCnwgfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4NCnwgfCAjIGVuZGlmDQp8IHwgI2Vu ZGlmDQp8IHwgI2lmIEhBVkVfU1RSSU5HX0gNCnwgfCAjIGlmICFTVERDX0hFQURFUlMgJiYg SEFWRV9NRU1PUllfSA0KfCB8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPg0KfCB8ICMgZW5kaWYN CnwgfCAjIGluY2x1ZGUgPHN0cmluZy5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NU UklOR1NfSA0KfCB8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPg0KfCB8ICNlbmRpZg0KfCB8ICNp ZiBIQVZFX0lOVFRZUEVTX0gNCnwgfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+DQp8IHwgI2Vs c2UNCnwgfCAjIGlmIEhBVkVfU1RESU5UX0gNCnwgfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4N CnwgfCAjIGVuZGlmDQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfVU5JU1REX0gNCnwgfCAj IGluY2x1ZGUgPHVuaXN0ZC5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NZU19TRUxF Q1RfSA0KfCB8ICMgaW5jbHVkZSA8c3lzL3NlbGVjdC5oPg0KfCB8ICNlbmRpZg0KfCB8ICNp ZiBIQVZFX1NZU19TT0NLRVRfSA0KfCB8ICMgaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KfCB8 ICNlbmRpZg0KfCB8IA0KfCB8IGludA0KfCB8IG1haW4gKCkNCnwgfCB7DQp8IHwgZXh0ZXJu IGludCBzZWxlY3QgKHVuc2lnbmVkIGxvbmcsDQp8IHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBmZF9zZXQgKiwgZmRfc2V0ICosIGZkX3NldCAqLA0K fCB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IHRpbWV2YWwgKik7DQp8IHwgICA7DQp8IHwgICByZXR1cm4gMDsNCnwgfCB9DQp8IGNvbmZp Z3VyZToyODA3OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQ0KfCBjYzE6IHdhcm5p bmc6IC1nIGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNpbmcgR0FTIG9uIHRoaXMgcHJvY2Vz c29yLA0KfCBjYzE6IHdhcm5pbmc6IC1nIG9wdGlvbiBkaXNhYmxlZA0KfCBJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gY29uZmlndXJlOjI4Mzc6DQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0 Lmg6NDg0OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRmaWxlIg0KfCAvdXNyL2luY2x1ZGUv c3lzL3NvY2tldC5oOjQ4NTogcGFyc2UgZXJyb3IgYmVmb3JlICJic2l6ZV90Ig0KfCAvdXNy L2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4NjogcGFyc2UgZXJyb3IgYmVmb3JlICJzZW5kcGF0 aCINCnwgL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODc6IHBhcnNlIGVycm9yIGJlZm9y ZSAiYnNpemVfdCINCnwgY29uZmlndXJlOiBJbiBmdW5jdGlvbiBgbWFpbic6DQp8IGNvbmZp Z3VyZToyODQ1OiBjb25mbGljdGluZyB0eXBlcyBmb3IgYHNlbGVjdCcNCnwgL3Vzci9pbmNs dWRlL3N5cy90aW1lLmg6NTA3OiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0Jw0K fCBjb25maWd1cmU6Mjg0NTogd2FybmluZzogZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIGBzZWxl Y3QnIGRvZXNuJ3QgbWF0Y2ggZ2xvYmFsIG9uZQ0KfCBjb25maWd1cmU6MjgxMDogJD8gPSAx DQp8IGNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCB8ICNsaW5lIDI3ODEgImNv bmZpZ3VyZSINCnwgfCAvKiBjb25mZGVmcy5oLiAgKi8NCnwgfCANCnwgfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiDQp8IHwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIi DQp8IHwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIg0KfCB8ICNkZWZpbmUgU1REQ19I RUFERVJTIDENCnwgfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCB8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCB8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8IHwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwg fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwgfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxDQp8IHwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDENCnwgfCAvKiBlbmQgY29uZmRlZnMuaC4gICovDQp8IHwgI2luY2x1ZGUg PHN0ZGlvLmg+DQp8IHwgI2lmIEhBVkVfU1lTX1RZUEVTX0gNCnwgfCAjIGluY2x1ZGUgPHN5 cy90eXBlcy5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgfCAj IGluY2x1ZGUgPHN5cy9zdGF0Lmg+DQp8IHwgI2VuZGlmDQp8IHwgI2lmIFNURENfSEVBREVS Uw0KfCB8ICMgaW5jbHVkZSA8c3RkbGliLmg+DQp8IHwgIyBpbmNsdWRlIDxzdGRkZWYuaD4N CnwgfCAjZWxzZQ0KfCB8ICMgaWYgSEFWRV9TVERMSUJfSA0KfCB8ICMgIGluY2x1ZGUgPHN0 ZGxpYi5oPg0KfCB8ICMgZW5kaWYNCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TVFJJTkdf SA0KfCB8ICMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8IHwgIyAgaW5j bHVkZSA8bWVtb3J5Lmg+DQp8IHwgIyBlbmRpZg0KfCB8ICMgaW5jbHVkZSA8c3RyaW5nLmg+ DQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfU1RSSU5HU19IDQp8IHwgIyBpbmNsdWRlIDxz dHJpbmdzLmg+DQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfSU5UVFlQRVNfSA0KfCB8ICMg aW5jbHVkZSA8aW50dHlwZXMuaD4NCnwgfCAjZWxzZQ0KfCB8ICMgaWYgSEFWRV9TVERJTlRf SA0KfCB8ICMgIGluY2x1ZGUgPHN0ZGludC5oPg0KfCB8ICMgZW5kaWYNCnwgfCAjZW5kaWYN CnwgfCAjaWYgSEFWRV9VTklTVERfSA0KfCB8ICMgaW5jbHVkZSA8dW5pc3RkLmg+DQp8IHwg I2VuZGlmDQp8IHwgI2lmIEhBVkVfU1lTX1NFTEVDVF9IDQp8IHwgIyBpbmNsdWRlIDxzeXMv c2VsZWN0Lmg+DQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9IDQp8IHwg IyBpbmNsdWRlIDxzeXMvc29ja2V0Lmg+DQp8IHwgI2VuZGlmDQp8IHwgDQp8IHwgaW50DQp8 IHwgbWFpbiAoKQ0KfCB8IHsNCnwgfCBleHRlcm4gaW50IHNlbGVjdCAodW5zaWduZWQgbG9u ZywNCnwgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZk X3NldCAqLCBmZF9zZXQgKiwgZmRfc2V0ICosDQp8IHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqKTsNCnwgfCAg IDsNCnwgfCAgIHJldHVybiAwOw0KfCB8IH0NCnwgY29uZmlndXJlOjI4MDc6IGdjYyAtYyAt ZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1DQp8IGNjMTogd2FybmluZzogLWcgaXMgb25seSBzdXBw b3J0ZWQgd2hlbiB1c2luZyBHQVMgb24gdGhpcyBwcm9jZXNzb3IsDQp8IGNjMTogd2Fybmlu ZzogLWcgb3B0aW9uIGRpc2FibGVkDQp8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25maWd1 cmU6MjgzNzoNCnwgL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODQ6IHBhcnNlIGVycm9y IGJlZm9yZSAic2VuZGZpbGUiDQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg1OiBw YXJzZSBlcnJvciBiZWZvcmUgImJzaXplX3QiDQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0 Lmg6NDg2OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRwYXRoIg0KfCAvdXNyL2luY2x1ZGUv c3lzL3NvY2tldC5oOjQ4NzogcGFyc2UgZXJyb3IgYmVmb3JlICJic2l6ZV90Ig0KfCBjb25m aWd1cmU6IEluIGZ1bmN0aW9uIGBtYWluJzoNCnwgY29uZmlndXJlOjI4NDU6IGNvbmZsaWN0 aW5nIHR5cGVzIGZvciBgc2VsZWN0Jw0KfCAvdXNyL2luY2x1ZGUvc3lzL3RpbWUuaDo1MDc6 IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mIGBzZWxlY3QnDQp8IGNvbmZpZ3VyZToyODQ1OiB3 YXJuaW5nOiBleHRlcm4gZGVjbGFyYXRpb24gb2YgYHNlbGVjdCcgZG9lc24ndCBtYXRjaCBn bG9iYWwgb25lDQp8IGNvbmZpZ3VyZToyODEwOiAkPyA9IDENCnwgY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6DQp8IHwgI2xpbmUgMjc4MSAiY29uZmlndXJlIg0KfCB8IC8qIGNv bmZkZWZzLmguICAqLw0KfCB8IA0KfCB8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiDQp8IHwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiINCnwgfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICIiDQp8IHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCB8ICNkZWZp bmUgSEFWRV9TWVNfVFlQRVNfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0K fCB8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NUUklOR19I IDENCnwgfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCnwgfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQ0KfCB8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8NCnwgfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgfCAjaWYg SEFWRV9TWVNfVFlQRVNfSA0KfCB8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQp8IHwgI2Vu ZGlmDQp8IHwgI2lmIEhBVkVfU1lTX1NUQVRfSA0KfCB8ICMgaW5jbHVkZSA8c3lzL3N0YXQu aD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgU1REQ19IRUFERVJTDQp8IHwgIyBpbmNsdWRlIDxz dGRsaWIuaD4NCnwgfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCB8ICNlbHNlDQp8IHwgIyBp ZiBIQVZFX1NURExJQl9IDQp8IHwgIyAgaW5jbHVkZSA8c3RkbGliLmg+DQp8IHwgIyBlbmRp Zg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NUUklOR19IDQp8IHwgIyBpZiAhU1REQ19I RUFERVJTICYmIEhBVkVfTUVNT1JZX0gNCnwgfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4NCnwg fCAjIGVuZGlmDQp8IHwgIyBpbmNsdWRlIDxzdHJpbmcuaD4NCnwgfCAjZW5kaWYNCnwgfCAj aWYgSEFWRV9TVFJJTkdTX0gNCnwgfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4NCnwgfCAjZW5k aWYNCnwgfCAjaWYgSEFWRV9JTlRUWVBFU19IDQp8IHwgIyBpbmNsdWRlIDxpbnR0eXBlcy5o Pg0KfCB8ICNlbHNlDQp8IHwgIyBpZiBIQVZFX1NURElOVF9IDQp8IHwgIyAgaW5jbHVkZSA8 c3RkaW50Lmg+DQp8IHwgIyBlbmRpZg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1VOSVNU RF9IDQp8IHwgIyBpbmNsdWRlIDx1bmlzdGQuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFW RV9TWVNfU0VMRUNUX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy9zZWxlY3QuaD4NCnwgfCAjZW5k aWYNCnwgfCAjaWYgSEFWRV9TWVNfU09DS0VUX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy9zb2Nr ZXQuaD4NCnwgfCAjZW5kaWYNCnwgfCANCnwgfCBpbnQNCnwgfCBtYWluICgpDQp8IHwgew0K fCB8IGV4dGVybiBpbnQgc2VsZWN0ICh1bnNpZ25lZCwNCnwgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkX3NldCAqLCBmZF9zZXQgKiwgZmRfc2V0 ICosDQp8IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHJ1Y3QgdGltZXZhbCAqKTsNCnwgfCAgIDsNCnwgfCAgIHJldHVybiAwOw0KfCB8IH0NCnwg Y29uZmlndXJlOjI4MDc6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1DQp8IGNjMTog d2FybmluZzogLWcgaXMgb25seSBzdXBwb3J0ZWQgd2hlbiB1c2luZyBHQVMgb24gdGhpcyBw cm9jZXNzb3IsDQp8IGNjMTogd2FybmluZzogLWcgb3B0aW9uIGRpc2FibGVkDQp8IEluIGZp bGUgaW5jbHVkZWQgZnJvbSBjb25maWd1cmU6MjgzNzoNCnwgL3Vzci9pbmNsdWRlL3N5cy9z b2NrZXQuaDo0ODQ6IHBhcnNlIGVycm9yIGJlZm9yZSAic2VuZGZpbGUiDQp8IC91c3IvaW5j bHVkZS9zeXMvc29ja2V0Lmg6NDg1OiBwYXJzZSBlcnJvciBiZWZvcmUgImJzaXplX3QiDQp8 IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg2OiBwYXJzZSBlcnJvciBiZWZvcmUgInNl bmRwYXRoIg0KfCAvdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4NzogcGFyc2UgZXJyb3Ig YmVmb3JlICJic2l6ZV90Ig0KfCBjb25maWd1cmU6IEluIGZ1bmN0aW9uIGBtYWluJzoNCnwg Y29uZmlndXJlOjI4NDU6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBgc2VsZWN0Jw0KfCAvdXNy L2luY2x1ZGUvc3lzL3RpbWUuaDo1MDc6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mIGBzZWxl Y3QnDQp8IGNvbmZpZ3VyZToyODQ1OiB3YXJuaW5nOiBleHRlcm4gZGVjbGFyYXRpb24gb2Yg YHNlbGVjdCcgZG9lc24ndCBtYXRjaCBnbG9iYWwgb25lDQp8IGNvbmZpZ3VyZToyODEwOiAk PyA9IDENCnwgY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQp8IHwgI2xpbmUgMjc4 MSAiY29uZmlndXJlIg0KfCB8IC8qIGNvbmZkZWZzLmguICAqLw0KfCB8IA0KfCB8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICIiDQp8IHwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiINCnwg fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiDQp8IHwgI2RlZmluZSBT VERDX0hFQURFUlMgMQ0KfCB8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxDQp8IHwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8 IHwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwgfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQ0KfCB8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDENCnwgfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQ0KfCB8ICNkZWZpbmUgSEFW RV9TWVNfU09DS0VUX0ggMQ0KfCB8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8NCnwgfCAjaW5j bHVkZSA8c3RkaW8uaD4NCnwgfCAjaWYgSEFWRV9TWVNfVFlQRVNfSA0KfCB8ICMgaW5jbHVk ZSA8c3lzL3R5cGVzLmg+DQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfU1lTX1NUQVRfSA0K fCB8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgU1REQ19I RUFERVJTDQp8IHwgIyBpbmNsdWRlIDxzdGRsaWIuaD4NCnwgfCAjIGluY2x1ZGUgPHN0ZGRl Zi5oPg0KfCB8ICNlbHNlDQp8IHwgIyBpZiBIQVZFX1NURExJQl9IDQp8IHwgIyAgaW5jbHVk ZSA8c3RkbGliLmg+DQp8IHwgIyBlbmRpZg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NU UklOR19IDQp8IHwgIyBpZiAhU1REQ19IRUFERVJTICYmIEhBVkVfTUVNT1JZX0gNCnwgfCAj ICBpbmNsdWRlIDxtZW1vcnkuaD4NCnwgfCAjIGVuZGlmDQp8IHwgIyBpbmNsdWRlIDxzdHJp bmcuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TVFJJTkdTX0gNCnwgfCAjIGluY2x1 ZGUgPHN0cmluZ3MuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9JTlRUWVBFU19IDQp8 IHwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPg0KfCB8ICNlbHNlDQp8IHwgIyBpZiBIQVZFX1NU RElOVF9IDQp8IHwgIyAgaW5jbHVkZSA8c3RkaW50Lmg+DQp8IHwgIyBlbmRpZg0KfCB8ICNl bmRpZg0KfCB8ICNpZiBIQVZFX1VOSVNURF9IDQp8IHwgIyBpbmNsdWRlIDx1bmlzdGQuaD4N CnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TWVNfU0VMRUNUX0gNCnwgfCAjIGluY2x1ZGUg PHN5cy9zZWxlY3QuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TWVNfU09DS0VUX0gN CnwgfCAjIGluY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCnwgfCAjZW5kaWYNCnwgfCANCnwgfCBp bnQNCnwgfCBtYWluICgpDQp8IHwgew0KfCB8IGV4dGVybiBpbnQgc2VsZWN0ICh1bnNpZ25l ZCwNCnwgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZk X3NldCAqLCBmZF9zZXQgKiwgZmRfc2V0ICosDQp8IHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqKTsNCnwgfCAg IDsNCnwgfCAgIHJldHVybiAwOw0KfCB8IH0NCnwgY29uZmlndXJlOjI4MDc6IGdjYyAtYyAt ZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1DQp8IGNjMTogd2FybmluZzogLWcgaXMgb25seSBzdXBw b3J0ZWQgd2hlbiB1c2luZyBHQVMgb24gdGhpcyBwcm9jZXNzb3IsDQp8IGNjMTogd2Fybmlu ZzogLWcgb3B0aW9uIGRpc2FibGVkDQp8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25maWd1 cmU6MjgzNzoNCnwgL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODQ6IHBhcnNlIGVycm9y IGJlZm9yZSAic2VuZGZpbGUiDQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg1OiBw YXJzZSBlcnJvciBiZWZvcmUgImJzaXplX3QiDQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0 Lmg6NDg2OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRwYXRoIg0KfCAvdXNyL2luY2x1ZGUv c3lzL3NvY2tldC5oOjQ4NzogcGFyc2UgZXJyb3IgYmVmb3JlICJic2l6ZV90Ig0KfCBjb25m aWd1cmU6IEluIGZ1bmN0aW9uIGBtYWluJzoNCnwgY29uZmlndXJlOjI4NDU6IGNvbmZsaWN0 aW5nIHR5cGVzIGZvciBgc2VsZWN0Jw0KfCAvdXNyL2luY2x1ZGUvc3lzL3RpbWUuaDo1MDc6 IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mIGBzZWxlY3QnDQp8IGNvbmZpZ3VyZToyODQ1OiB3 YXJuaW5nOiBleHRlcm4gZGVjbGFyYXRpb24gb2YgYHNlbGVjdCcgZG9lc24ndCBtYXRjaCBn bG9iYWwgb25lDQp8IGNvbmZpZ3VyZToyODEwOiAkPyA9IDENCnwgY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6DQp8IHwgI2xpbmUgMjc4MSAiY29uZmlndXJlIg0KfCB8IC8qIGNv bmZkZWZzLmguICAqLw0KfCB8IA0KfCB8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiDQp8IHwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiINCnwgfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICIiDQp8IHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCB8ICNkZWZp bmUgSEFWRV9TWVNfVFlQRVNfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0K fCB8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NUUklOR19I IDENCnwgfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCnwgfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQ0KfCB8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8NCnwgfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgfCAjaWYg SEFWRV9TWVNfVFlQRVNfSA0KfCB8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQp8IHwgI2Vu ZGlmDQp8IHwgI2lmIEhBVkVfU1lTX1NUQVRfSA0KfCB8ICMgaW5jbHVkZSA8c3lzL3N0YXQu aD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgU1REQ19IRUFERVJTDQp8IHwgIyBpbmNsdWRlIDxz dGRsaWIuaD4NCnwgfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCB8ICNlbHNlDQp8IHwgIyBp ZiBIQVZFX1NURExJQl9IDQp8IHwgIyAgaW5jbHVkZSA8c3RkbGliLmg+DQp8IHwgIyBlbmRp Zg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NUUklOR19IDQp8IHwgIyBpZiAhU1REQ19I RUFERVJTICYmIEhBVkVfTUVNT1JZX0gNCnwgfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4NCnwg fCAjIGVuZGlmDQp8IHwgIyBpbmNsdWRlIDxzdHJpbmcuaD4NCnwgfCAjZW5kaWYNCnwgfCAj aWYgSEFWRV9TVFJJTkdTX0gNCnwgfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4NCnwgfCAjZW5k aWYNCnwgfCAjaWYgSEFWRV9JTlRUWVBFU19IDQp8IHwgIyBpbmNsdWRlIDxpbnR0eXBlcy5o Pg0KfCB8ICNlbHNlDQp8IHwgIyBpZiBIQVZFX1NURElOVF9IDQp8IHwgIyAgaW5jbHVkZSA8 c3RkaW50Lmg+DQp8IHwgIyBlbmRpZg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1VOSVNU RF9IDQp8IHwgIyBpbmNsdWRlIDx1bmlzdGQuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFW RV9TWVNfU0VMRUNUX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy9zZWxlY3QuaD4NCnwgfCAjZW5k aWYNCnwgfCAjaWYgSEFWRV9TWVNfU09DS0VUX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy9zb2Nr ZXQuaD4NCnwgfCAjZW5kaWYNCnwgfCANCnwgfCBpbnQNCnwgfCBtYWluICgpDQp8IHwgew0K fCB8IGV4dGVybiBpbnQgc2VsZWN0IChpbnQsDQp8IHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnQgKiwgaW50ICosIGludCAqLA0KfCB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHRpbWV2YWwg Kik7DQp8IHwgICA7DQp8IHwgICByZXR1cm4gMDsNCnwgfCB9DQp8IGNvbmZpZ3VyZToyODA3 OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQ0KfCBjYzE6IHdhcm5pbmc6IC1nIGlz IG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNpbmcgR0FTIG9uIHRoaXMgcHJvY2Vzc29yLA0KfCBj YzE6IHdhcm5pbmc6IC1nIG9wdGlvbiBkaXNhYmxlZA0KfCBJbiBmaWxlIGluY2x1ZGVkIGZy b20gY29uZmlndXJlOjI4Mzc6DQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg0OiBw YXJzZSBlcnJvciBiZWZvcmUgInNlbmRmaWxlIg0KfCAvdXNyL2luY2x1ZGUvc3lzL3NvY2tl dC5oOjQ4NTogcGFyc2UgZXJyb3IgYmVmb3JlICJic2l6ZV90Ig0KfCAvdXNyL2luY2x1ZGUv c3lzL3NvY2tldC5oOjQ4NjogcGFyc2UgZXJyb3IgYmVmb3JlICJzZW5kcGF0aCINCnwgL3Vz ci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODc6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVf dCINCnwgY29uZmlndXJlOiBJbiBmdW5jdGlvbiBgbWFpbic6DQp8IGNvbmZpZ3VyZToyODQ1 OiBjb25mbGljdGluZyB0eXBlcyBmb3IgYHNlbGVjdCcNCnwgL3Vzci9pbmNsdWRlL3N5cy90 aW1lLmg6NTA3OiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0Jw0KfCBjb25maWd1 cmU6Mjg0NTogd2FybmluZzogZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIGBzZWxlY3QnIGRvZXNu J3QgbWF0Y2ggZ2xvYmFsIG9uZQ0KfCBjb25maWd1cmU6MjgxMDogJD8gPSAxDQp8IGNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCB8ICNsaW5lIDI3ODEgImNvbmZpZ3VyZSIN CnwgfCAvKiBjb25mZGVmcy5oLiAgKi8NCnwgfCANCnwgfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiDQp8IHwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiDQp8IHwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIg0KfCB8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEN CnwgfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCB8ICNkZWZpbmUgSEFW RV9TVFJJTkdfSCAxDQp8IHwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwgfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDENCnwgfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8IHwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I IDENCnwgfCAvKiBlbmQgY29uZmRlZnMuaC4gICovDQp8IHwgI2luY2x1ZGUgPHN0ZGlvLmg+ DQp8IHwgI2lmIEhBVkVfU1lTX1RZUEVTX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5o Pg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgfCAjIGluY2x1ZGUg PHN5cy9zdGF0Lmg+DQp8IHwgI2VuZGlmDQp8IHwgI2lmIFNURENfSEVBREVSUw0KfCB8ICMg aW5jbHVkZSA8c3RkbGliLmg+DQp8IHwgIyBpbmNsdWRlIDxzdGRkZWYuaD4NCnwgfCAjZWxz ZQ0KfCB8ICMgaWYgSEFWRV9TVERMSUJfSA0KfCB8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPg0K fCB8ICMgZW5kaWYNCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TVFJJTkdfSA0KfCB8ICMg aWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8IHwgIyAgaW5jbHVkZSA8bWVt b3J5Lmg+DQp8IHwgIyBlbmRpZg0KfCB8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8IHwgI2Vu ZGlmDQp8IHwgI2lmIEhBVkVfU1RSSU5HU19IDQp8IHwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+ DQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfSU5UVFlQRVNfSA0KfCB8ICMgaW5jbHVkZSA8 aW50dHlwZXMuaD4NCnwgfCAjZWxzZQ0KfCB8ICMgaWYgSEFWRV9TVERJTlRfSA0KfCB8ICMg IGluY2x1ZGUgPHN0ZGludC5oPg0KfCB8ICMgZW5kaWYNCnwgfCAjZW5kaWYNCnwgfCAjaWYg SEFWRV9VTklTVERfSA0KfCB8ICMgaW5jbHVkZSA8dW5pc3RkLmg+DQp8IHwgI2VuZGlmDQp8 IHwgI2lmIEhBVkVfU1lTX1NFTEVDVF9IDQp8IHwgIyBpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+ DQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9IDQp8IHwgIyBpbmNsdWRl IDxzeXMvc29ja2V0Lmg+DQp8IHwgI2VuZGlmDQp8IHwgDQp8IHwgaW50DQp8IHwgbWFpbiAo KQ0KfCB8IHsNCnwgfCBleHRlcm4gaW50IHNlbGVjdCAoaW50LA0KfCB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICosIGludCAqLCBpbnQgKiwN CnwgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHN0cnVjdCB0aW1ldmFsICopOw0KfCB8ICAgOw0KfCB8ICAgcmV0dXJuIDA7DQp8IHwgfQ0K fCBjb25maWd1cmU6MjgwNzogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUNCnwgY2Mx OiB3YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlz IHByb2Nlc3NvciwNCnwgY2MxOiB3YXJuaW5nOiAtZyBvcHRpb24gZGlzYWJsZWQNCnwgSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZpZ3VyZToyODM3Og0KfCAvdXNyL2luY2x1ZGUvc3lz L3NvY2tldC5oOjQ4NDogcGFyc2UgZXJyb3IgYmVmb3JlICJzZW5kZmlsZSINCnwgL3Vzci9p bmNsdWRlL3N5cy9zb2NrZXQuaDo0ODU6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCIN CnwgL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODY6IHBhcnNlIGVycm9yIGJlZm9yZSAi c2VuZHBhdGgiDQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg3OiBwYXJzZSBlcnJv ciBiZWZvcmUgImJzaXplX3QiDQp8IGNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYG1haW4nOg0K fCBjb25maWd1cmU6Mjg0NTogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGBzZWxlY3QnDQp8IC91 c3IvaW5jbHVkZS9zeXMvdGltZS5oOjUwNzogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgYHNl bGVjdCcNCnwgY29uZmlndXJlOjI4NDU6IHdhcm5pbmc6IGV4dGVybiBkZWNsYXJhdGlvbiBv ZiBgc2VsZWN0JyBkb2Vzbid0IG1hdGNoIGdsb2JhbCBvbmUNCnwgY29uZmlndXJlOjI4MTA6 ICQ/ID0gMQ0KfCBjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwgfCAjbGluZSAy NzgxICJjb25maWd1cmUiDQp8IHwgLyogY29uZmRlZnMuaC4gICovDQp8IHwgDQp8IHwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIg0K fCB8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiDQp8IHwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiINCnwgfCAjZGVmaW5l IFNURENfSEVBREVSUyAxDQp8IHwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEN CnwgfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxDQp8IHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxDQp8IHwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8IHwgI2RlZmluZSBI QVZFX1NZU19TT0NLRVRfSCAxDQp8IHwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCB8ICNp bmNsdWRlIDxzdGRpby5oPg0KfCB8ICNpZiBIQVZFX1NZU19UWVBFU19IDQp8IHwgIyBpbmNs dWRlIDxzeXMvdHlwZXMuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TWVNfU1RBVF9I DQp8IHwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBTVERD X0hFQURFUlMNCnwgfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCB8ICMgaW5jbHVkZSA8c3Rk ZGVmLmg+DQp8IHwgI2Vsc2UNCnwgfCAjIGlmIEhBVkVfU1RETElCX0gNCnwgfCAjICBpbmNs dWRlIDxzdGRsaWIuaD4NCnwgfCAjIGVuZGlmDQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVf U1RSSU5HX0gNCnwgfCAjIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSA0KfCB8 ICMgIGluY2x1ZGUgPG1lbW9yeS5oPg0KfCB8ICMgZW5kaWYNCnwgfCAjIGluY2x1ZGUgPHN0 cmluZy5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NUUklOR1NfSA0KfCB8ICMgaW5j bHVkZSA8c3RyaW5ncy5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX0lOVFRZUEVTX0gN CnwgfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+DQp8IHwgI2Vsc2UNCnwgfCAjIGlmIEhBVkVf U1RESU5UX0gNCnwgfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4NCnwgfCAjIGVuZGlmDQp8IHwg I2VuZGlmDQp8IHwgI2lmIEhBVkVfVU5JU1REX0gNCnwgfCAjIGluY2x1ZGUgPHVuaXN0ZC5o Pg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NZU19TRUxFQ1RfSA0KfCB8ICMgaW5jbHVk ZSA8c3lzL3NlbGVjdC5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NZU19TT0NLRVRf SA0KfCB8ICMgaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KfCB8ICNlbmRpZg0KfCB8IA0KfCB8 IGludA0KfCB8IG1haW4gKCkNCnwgfCB7DQp8IHwgZXh0ZXJuIGludCBzZWxlY3QgKHNpemVf dCwNCnwgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dCAqLCBpbnQgKiwgaW50ICosDQp8IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdHJ1Y3QgdGltZXZhbCAqKTsNCnwgfCAgIDsNCnwgfCAgIHJldHVy biAwOw0KfCB8IH0NCnwgY29uZmlndXJlOjI4MDc6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0 LmMgPiY1DQp8IGNjMTogd2FybmluZzogLWcgaXMgb25seSBzdXBwb3J0ZWQgd2hlbiB1c2lu ZyBHQVMgb24gdGhpcyBwcm9jZXNzb3IsDQp8IGNjMTogd2FybmluZzogLWcgb3B0aW9uIGRp c2FibGVkDQp8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25maWd1cmU6MjgzNzoNCnwgL3Vz ci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODQ6IHBhcnNlIGVycm9yIGJlZm9yZSAic2VuZGZp bGUiDQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg1OiBwYXJzZSBlcnJvciBiZWZv cmUgImJzaXplX3QiDQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg2OiBwYXJzZSBl cnJvciBiZWZvcmUgInNlbmRwYXRoIg0KfCAvdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4 NzogcGFyc2UgZXJyb3IgYmVmb3JlICJic2l6ZV90Ig0KfCBjb25maWd1cmU6IEluIGZ1bmN0 aW9uIGBtYWluJzoNCnwgY29uZmlndXJlOjI4NDU6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBg c2VsZWN0Jw0KfCAvdXNyL2luY2x1ZGUvc3lzL3RpbWUuaDo1MDc6IHByZXZpb3VzIGRlY2xh cmF0aW9uIG9mIGBzZWxlY3QnDQp8IGNvbmZpZ3VyZToyODQ1OiB3YXJuaW5nOiBleHRlcm4g ZGVjbGFyYXRpb24gb2YgYHNlbGVjdCcgZG9lc24ndCBtYXRjaCBnbG9iYWwgb25lDQp8IGNv bmZpZ3VyZToyODEwOiAkPyA9IDENCnwgY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 DQp8IHwgI2xpbmUgMjc4MSAiY29uZmlndXJlIg0KfCB8IC8qIGNvbmZkZWZzLmguICAqLw0K fCB8IA0KfCB8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiDQp8IHwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIg0KfCB8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIi DQp8IHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCB8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCB8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwgfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCB8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCnwgfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQ0K fCB8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQ0KfCB8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8NCnwgfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgfCAjaWYgSEFWRV9TWVNfVFlQRVNf SA0KfCB8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhB VkVfU1lTX1NUQVRfSA0KfCB8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4NCnwgfCAjZW5kaWYN CnwgfCAjaWYgU1REQ19IRUFERVJTDQp8IHwgIyBpbmNsdWRlIDxzdGRsaWIuaD4NCnwgfCAj IGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCB8ICNlbHNlDQp8IHwgIyBpZiBIQVZFX1NURExJQl9I DQp8IHwgIyAgaW5jbHVkZSA8c3RkbGliLmg+DQp8IHwgIyBlbmRpZg0KfCB8ICNlbmRpZg0K fCB8ICNpZiBIQVZFX1NUUklOR19IDQp8IHwgIyBpZiAhU1REQ19IRUFERVJTICYmIEhBVkVf TUVNT1JZX0gNCnwgfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4NCnwgfCAjIGVuZGlmDQp8IHwg IyBpbmNsdWRlIDxzdHJpbmcuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TVFJJTkdT X0gNCnwgfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFW RV9JTlRUWVBFU19IDQp8IHwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPg0KfCB8ICNlbHNlDQp8 IHwgIyBpZiBIQVZFX1NURElOVF9IDQp8IHwgIyAgaW5jbHVkZSA8c3RkaW50Lmg+DQp8IHwg IyBlbmRpZg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1VOSVNURF9IDQp8IHwgIyBpbmNs dWRlIDx1bmlzdGQuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TWVNfU0VMRUNUX0gN CnwgfCAjIGluY2x1ZGUgPHN5cy9zZWxlY3QuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFW RV9TWVNfU09DS0VUX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCnwgfCAjZW5k aWYNCnwgfCANCnwgfCBpbnQNCnwgfCBtYWluICgpDQp8IHwgew0KfCB8IGV4dGVybiBpbnQg c2VsZWN0IChzaXplX3QsDQp8IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbnQgKiwgaW50ICosIGludCAqLA0KfCB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHRpbWV2YWwgKik7DQp8 IHwgICA7DQp8IHwgICByZXR1cm4gMDsNCnwgfCB9DQp8IGNvbmZpZ3VyZToyODA3OiBnY2Mg LWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQ0KfCBjYzE6IHdhcm5pbmc6IC1nIGlzIG9ubHkg c3VwcG9ydGVkIHdoZW4gdXNpbmcgR0FTIG9uIHRoaXMgcHJvY2Vzc29yLA0KfCBjYzE6IHdh cm5pbmc6IC1nIG9wdGlvbiBkaXNhYmxlZA0KfCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gY29u ZmlndXJlOjI4Mzc6DQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg0OiBwYXJzZSBl cnJvciBiZWZvcmUgInNlbmRmaWxlIg0KfCAvdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4 NTogcGFyc2UgZXJyb3IgYmVmb3JlICJic2l6ZV90Ig0KfCAvdXNyL2luY2x1ZGUvc3lzL3Nv Y2tldC5oOjQ4NjogcGFyc2UgZXJyb3IgYmVmb3JlICJzZW5kcGF0aCINCnwgL3Vzci9pbmNs dWRlL3N5cy9zb2NrZXQuaDo0ODc6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCINCnwg Y29uZmlndXJlOiBJbiBmdW5jdGlvbiBgbWFpbic6DQp8IGNvbmZpZ3VyZToyODQ1OiBjb25m bGljdGluZyB0eXBlcyBmb3IgYHNlbGVjdCcNCnwgL3Vzci9pbmNsdWRlL3N5cy90aW1lLmg6 NTA3OiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0Jw0KfCBjb25maWd1cmU6Mjg0 NTogd2FybmluZzogZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIGBzZWxlY3QnIGRvZXNuJ3QgbWF0 Y2ggZ2xvYmFsIG9uZQ0KfCBjb25maWd1cmU6MjgxMDogJD8gPSAxDQp8IGNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOg0KfCB8ICNsaW5lIDI3ODEgImNvbmZpZ3VyZSINCnwgfCAv KiBjb25mZGVmcy5oLiAgKi8NCnwgfCANCnwgfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIg0K fCB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiDQp8IHwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiDQp8IHwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiIg0KfCB8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDENCnwgfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxDQp8IHwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwgfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDENCnwgfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8IHwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDENCnwg fCAvKiBlbmQgY29uZmRlZnMuaC4gICovDQp8IHwgI2luY2x1ZGUgPHN0ZGlvLmg+DQp8IHwg I2lmIEhBVkVfU1lTX1RZUEVTX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPg0KfCB8 ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy9z dGF0Lmg+DQp8IHwgI2VuZGlmDQp8IHwgI2lmIFNURENfSEVBREVSUw0KfCB8ICMgaW5jbHVk ZSA8c3RkbGliLmg+DQp8IHwgIyBpbmNsdWRlIDxzdGRkZWYuaD4NCnwgfCAjZWxzZQ0KfCB8 ICMgaWYgSEFWRV9TVERMSUJfSA0KfCB8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCB8ICMg ZW5kaWYNCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TVFJJTkdfSA0KfCB8ICMgaWYgIVNU RENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8IHwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+ DQp8IHwgIyBlbmRpZg0KfCB8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8IHwgI2VuZGlmDQp8 IHwgI2lmIEhBVkVfU1RSSU5HU19IDQp8IHwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+DQp8IHwg I2VuZGlmDQp8IHwgI2lmIEhBVkVfSU5UVFlQRVNfSA0KfCB8ICMgaW5jbHVkZSA8aW50dHlw ZXMuaD4NCnwgfCAjZWxzZQ0KfCB8ICMgaWYgSEFWRV9TVERJTlRfSA0KfCB8ICMgIGluY2x1 ZGUgPHN0ZGludC5oPg0KfCB8ICMgZW5kaWYNCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9V TklTVERfSA0KfCB8ICMgaW5jbHVkZSA8dW5pc3RkLmg+DQp8IHwgI2VuZGlmDQp8IHwgI2lm IEhBVkVfU1lTX1NFTEVDVF9IDQp8IHwgIyBpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+DQp8IHwg I2VuZGlmDQp8IHwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9IDQp8IHwgIyBpbmNsdWRlIDxzeXMv c29ja2V0Lmg+DQp8IHwgI2VuZGlmDQp8IHwgDQp8IHwgaW50DQp8IHwgbWFpbiAoKQ0KfCB8 IHsNCnwgfCBleHRlcm4gaW50IHNlbGVjdCAodW5zaWduZWQgbG9uZywNCnwgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqLCBpbnQgKiwgaW50 ICosDQp8IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHJ1Y3QgdGltZXZhbCAqKTsNCnwgfCAgIDsNCnwgfCAgIHJldHVybiAwOw0KfCB8IH0NCnwg Y29uZmlndXJlOjI4MDc6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1DQp8IGNjMTog d2FybmluZzogLWcgaXMgb25seSBzdXBwb3J0ZWQgd2hlbiB1c2luZyBHQVMgb24gdGhpcyBw cm9jZXNzb3IsDQp8IGNjMTogd2FybmluZzogLWcgb3B0aW9uIGRpc2FibGVkDQp8IEluIGZp bGUgaW5jbHVkZWQgZnJvbSBjb25maWd1cmU6MjgzNzoNCnwgL3Vzci9pbmNsdWRlL3N5cy9z b2NrZXQuaDo0ODQ6IHBhcnNlIGVycm9yIGJlZm9yZSAic2VuZGZpbGUiDQp8IC91c3IvaW5j bHVkZS9zeXMvc29ja2V0Lmg6NDg1OiBwYXJzZSBlcnJvciBiZWZvcmUgImJzaXplX3QiDQp8 IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg2OiBwYXJzZSBlcnJvciBiZWZvcmUgInNl bmRwYXRoIg0KfCAvdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4NzogcGFyc2UgZXJyb3Ig YmVmb3JlICJic2l6ZV90Ig0KfCBjb25maWd1cmU6IEluIGZ1bmN0aW9uIGBtYWluJzoNCnwg Y29uZmlndXJlOjI4NDU6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBgc2VsZWN0Jw0KfCAvdXNy L2luY2x1ZGUvc3lzL3RpbWUuaDo1MDc6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mIGBzZWxl Y3QnDQp8IGNvbmZpZ3VyZToyODQ1OiB3YXJuaW5nOiBleHRlcm4gZGVjbGFyYXRpb24gb2Yg YHNlbGVjdCcgZG9lc24ndCBtYXRjaCBnbG9iYWwgb25lDQp8IGNvbmZpZ3VyZToyODEwOiAk PyA9IDENCnwgY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQp8IHwgI2xpbmUgMjc4 MSAiY29uZmlndXJlIg0KfCB8IC8qIGNvbmZkZWZzLmguICAqLw0KfCB8IA0KfCB8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICIiDQp8IHwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiINCnwg fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiDQp8IHwgI2RlZmluZSBT VERDX0hFQURFUlMgMQ0KfCB8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxDQp8IHwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8 IHwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwgfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQ0KfCB8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDENCnwgfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQ0KfCB8ICNkZWZpbmUgSEFW RV9TWVNfU09DS0VUX0ggMQ0KfCB8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8NCnwgfCAjaW5j bHVkZSA8c3RkaW8uaD4NCnwgfCAjaWYgSEFWRV9TWVNfVFlQRVNfSA0KfCB8ICMgaW5jbHVk ZSA8c3lzL3R5cGVzLmg+DQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfU1lTX1NUQVRfSA0K fCB8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgU1REQ19I RUFERVJTDQp8IHwgIyBpbmNsdWRlIDxzdGRsaWIuaD4NCnwgfCAjIGluY2x1ZGUgPHN0ZGRl Zi5oPg0KfCB8ICNlbHNlDQp8IHwgIyBpZiBIQVZFX1NURExJQl9IDQp8IHwgIyAgaW5jbHVk ZSA8c3RkbGliLmg+DQp8IHwgIyBlbmRpZg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NU UklOR19IDQp8IHwgIyBpZiAhU1REQ19IRUFERVJTICYmIEhBVkVfTUVNT1JZX0gNCnwgfCAj ICBpbmNsdWRlIDxtZW1vcnkuaD4NCnwgfCAjIGVuZGlmDQp8IHwgIyBpbmNsdWRlIDxzdHJp bmcuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TVFJJTkdTX0gNCnwgfCAjIGluY2x1 ZGUgPHN0cmluZ3MuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9JTlRUWVBFU19IDQp8 IHwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPg0KfCB8ICNlbHNlDQp8IHwgIyBpZiBIQVZFX1NU RElOVF9IDQp8IHwgIyAgaW5jbHVkZSA8c3RkaW50Lmg+DQp8IHwgIyBlbmRpZg0KfCB8ICNl bmRpZg0KfCB8ICNpZiBIQVZFX1VOSVNURF9IDQp8IHwgIyBpbmNsdWRlIDx1bmlzdGQuaD4N CnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TWVNfU0VMRUNUX0gNCnwgfCAjIGluY2x1ZGUg PHN5cy9zZWxlY3QuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TWVNfU09DS0VUX0gN CnwgfCAjIGluY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCnwgfCAjZW5kaWYNCnwgfCANCnwgfCBp bnQNCnwgfCBtYWluICgpDQp8IHwgew0KfCB8IGV4dGVybiBpbnQgc2VsZWN0ICh1bnNpZ25l ZCBsb25nLA0KfCB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50ICosIGludCAqLCBpbnQgKiwNCnwgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB0aW1ldmFsICopOw0KfCB8ICAgOw0K fCB8ICAgcmV0dXJuIDA7DQp8IHwgfQ0KfCBjb25maWd1cmU6MjgwNzogZ2NjIC1jIC1nIC1P MiAgY29uZnRlc3QuYyA+JjUNCnwgY2MxOiB3YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBvcnRl ZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlzIHByb2Nlc3NvciwNCnwgY2MxOiB3YXJuaW5nOiAt ZyBvcHRpb24gZGlzYWJsZWQNCnwgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZpZ3VyZToy ODM3Og0KfCAvdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4NDogcGFyc2UgZXJyb3IgYmVm b3JlICJzZW5kZmlsZSINCnwgL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODU6IHBhcnNl IGVycm9yIGJlZm9yZSAiYnNpemVfdCINCnwgL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0 ODY6IHBhcnNlIGVycm9yIGJlZm9yZSAic2VuZHBhdGgiDQp8IC91c3IvaW5jbHVkZS9zeXMv c29ja2V0Lmg6NDg3OiBwYXJzZSBlcnJvciBiZWZvcmUgImJzaXplX3QiDQp8IGNvbmZpZ3Vy ZTogSW4gZnVuY3Rpb24gYG1haW4nOg0KfCBjb25maWd1cmU6Mjg0NTogY29uZmxpY3Rpbmcg dHlwZXMgZm9yIGBzZWxlY3QnDQp8IC91c3IvaW5jbHVkZS9zeXMvdGltZS5oOjUwNzogcHJl dmlvdXMgZGVjbGFyYXRpb24gb2YgYHNlbGVjdCcNCnwgY29uZmlndXJlOjI4NDU6IHdhcm5p bmc6IGV4dGVybiBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0JyBkb2Vzbid0IG1hdGNoIGdsb2Jh bCBvbmUNCnwgY29uZmlndXJlOjI4MTA6ICQ/ID0gMQ0KfCBjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoNCnwgfCAjbGluZSAyNzgxICJjb25maWd1cmUiDQp8IHwgLyogY29uZmRl ZnMuaC4gICovDQp8IHwgDQp8IHwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiINCnwgfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIi DQp8IHwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgIiINCnwgfCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8IHwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8IHwg I2RlZmluZSBIQVZFX1NURExJQl9IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0K fCB8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxDQp8IHwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxDQp8IHwgLyogZW5k IGNvbmZkZWZzLmguICAqLw0KfCB8ICNpbmNsdWRlIDxzdGRpby5oPg0KfCB8ICNpZiBIQVZF X1NZU19UWVBFU19IDQp8IHwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCnwgfCAjZW5kaWYN CnwgfCAjaWYgSEFWRV9TWVNfU1RBVF9IDQp8IHwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0K fCB8ICNlbmRpZg0KfCB8ICNpZiBTVERDX0hFQURFUlMNCnwgfCAjIGluY2x1ZGUgPHN0ZGxp Yi5oPg0KfCB8ICMgaW5jbHVkZSA8c3RkZGVmLmg+DQp8IHwgI2Vsc2UNCnwgfCAjIGlmIEhB VkVfU1RETElCX0gNCnwgfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4NCnwgfCAjIGVuZGlmDQp8 IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfU1RSSU5HX0gNCnwgfCAjIGlmICFTVERDX0hFQURF UlMgJiYgSEFWRV9NRU1PUllfSA0KfCB8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPg0KfCB8ICMg ZW5kaWYNCnwgfCAjIGluY2x1ZGUgPHN0cmluZy5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBI QVZFX1NUUklOR1NfSA0KfCB8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPg0KfCB8ICNlbmRpZg0K fCB8ICNpZiBIQVZFX0lOVFRZUEVTX0gNCnwgfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+DQp8 IHwgI2Vsc2UNCnwgfCAjIGlmIEhBVkVfU1RESU5UX0gNCnwgfCAjICBpbmNsdWRlIDxzdGRp bnQuaD4NCnwgfCAjIGVuZGlmDQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfVU5JU1REX0gN CnwgfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NZ U19TRUxFQ1RfSA0KfCB8ICMgaW5jbHVkZSA8c3lzL3NlbGVjdC5oPg0KfCB8ICNlbmRpZg0K fCB8ICNpZiBIQVZFX1NZU19TT0NLRVRfSA0KfCB8ICMgaW5jbHVkZSA8c3lzL3NvY2tldC5o Pg0KfCB8ICNlbmRpZg0KfCB8IA0KfCB8IGludA0KfCB8IG1haW4gKCkNCnwgfCB7DQp8IHwg ZXh0ZXJuIGludCBzZWxlY3QgKHVuc2lnbmVkLA0KfCB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW50ICosIGludCAqLCBpbnQgKiwNCnwgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0aW1ldmFs ICopOw0KfCB8ICAgOw0KfCB8ICAgcmV0dXJuIDA7DQp8IHwgfQ0KfCBjb25maWd1cmU6Mjgw NzogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUNCnwgY2MxOiB3YXJuaW5nOiAtZyBp cyBvbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlzIHByb2Nlc3NvciwNCnwg Y2MxOiB3YXJuaW5nOiAtZyBvcHRpb24gZGlzYWJsZWQNCnwgSW4gZmlsZSBpbmNsdWRlZCBm cm9tIGNvbmZpZ3VyZToyODM3Og0KfCAvdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4NDog cGFyc2UgZXJyb3IgYmVmb3JlICJzZW5kZmlsZSINCnwgL3Vzci9pbmNsdWRlL3N5cy9zb2Nr ZXQuaDo0ODU6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCINCnwgL3Vzci9pbmNsdWRl L3N5cy9zb2NrZXQuaDo0ODY6IHBhcnNlIGVycm9yIGJlZm9yZSAic2VuZHBhdGgiDQp8IC91 c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg3OiBwYXJzZSBlcnJvciBiZWZvcmUgImJzaXpl X3QiDQp8IGNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYG1haW4nOg0KfCBjb25maWd1cmU6Mjg0 NTogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGBzZWxlY3QnDQp8IC91c3IvaW5jbHVkZS9zeXMv dGltZS5oOjUwNzogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgYHNlbGVjdCcNCnwgY29uZmln dXJlOjI4NDU6IHdhcm5pbmc6IGV4dGVybiBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0JyBkb2Vz bid0IG1hdGNoIGdsb2JhbCBvbmUNCnwgY29uZmlndXJlOjI4MTA6ICQ/ID0gMQ0KfCBjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwgfCAjbGluZSAyNzgxICJjb25maWd1cmUi DQp8IHwgLyogY29uZmRlZnMuaC4gICovDQp8IHwgDQp8IHwgI2RlZmluZSBQQUNLQUdFX05B TUUgIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIg0KfCB8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIiDQp8IHwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIg0KfCB8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiINCnwgfCAjZGVmaW5lIFNURENfSEVBREVSUyAx DQp8IHwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NURExJQl9IIDENCnwgfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8IHwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxDQp8IHwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCB8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf SCAxDQp8IHwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCB8ICNpbmNsdWRlIDxzdGRpby5o Pg0KfCB8ICNpZiBIQVZFX1NZU19UWVBFU19IDQp8IHwgIyBpbmNsdWRlIDxzeXMvdHlwZXMu aD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TWVNfU1RBVF9IDQp8IHwgIyBpbmNsdWRl IDxzeXMvc3RhdC5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBTVERDX0hFQURFUlMNCnwgfCAj IGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCB8ICMgaW5jbHVkZSA8c3RkZGVmLmg+DQp8IHwgI2Vs c2UNCnwgfCAjIGlmIEhBVkVfU1RETElCX0gNCnwgfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4N CnwgfCAjIGVuZGlmDQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfU1RSSU5HX0gNCnwgfCAj IGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSA0KfCB8ICMgIGluY2x1ZGUgPG1l bW9yeS5oPg0KfCB8ICMgZW5kaWYNCnwgfCAjIGluY2x1ZGUgPHN0cmluZy5oPg0KfCB8ICNl bmRpZg0KfCB8ICNpZiBIQVZFX1NUUklOR1NfSA0KfCB8ICMgaW5jbHVkZSA8c3RyaW5ncy5o Pg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX0lOVFRZUEVTX0gNCnwgfCAjIGluY2x1ZGUg PGludHR5cGVzLmg+DQp8IHwgI2Vsc2UNCnwgfCAjIGlmIEhBVkVfU1RESU5UX0gNCnwgfCAj ICBpbmNsdWRlIDxzdGRpbnQuaD4NCnwgfCAjIGVuZGlmDQp8IHwgI2VuZGlmDQp8IHwgI2lm IEhBVkVfVU5JU1REX0gNCnwgfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPg0KfCB8ICNlbmRpZg0K fCB8ICNpZiBIQVZFX1NZU19TRUxFQ1RfSA0KfCB8ICMgaW5jbHVkZSA8c3lzL3NlbGVjdC5o Pg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NZU19TT0NLRVRfSA0KfCB8ICMgaW5jbHVk ZSA8c3lzL3NvY2tldC5oPg0KfCB8ICNlbmRpZg0KfCB8IA0KfCB8IGludA0KfCB8IG1haW4g KCkNCnwgfCB7DQp8IHwgZXh0ZXJuIGludCBzZWxlY3QgKHVuc2lnbmVkLA0KfCB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICosIGludCAqLCBp bnQgKiwNCnwgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IHN0cnVjdCB0aW1ldmFsICopOw0KfCB8ICAgOw0KfCB8ICAgcmV0dXJuIDA7DQp8 IHwgfQ0KfCBjb25maWd1cmU6MjgwNzogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUN CnwgY2MxOiB3YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIEdBUyBv biB0aGlzIHByb2Nlc3NvciwNCnwgY2MxOiB3YXJuaW5nOiAtZyBvcHRpb24gZGlzYWJsZWQN CnwgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZpZ3VyZToyODM3Og0KfCAvdXNyL2luY2x1 ZGUvc3lzL3NvY2tldC5oOjQ4NDogcGFyc2UgZXJyb3IgYmVmb3JlICJzZW5kZmlsZSINCnwg L3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODU6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNp emVfdCINCnwgL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODY6IHBhcnNlIGVycm9yIGJl Zm9yZSAic2VuZHBhdGgiDQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg3OiBwYXJz ZSBlcnJvciBiZWZvcmUgImJzaXplX3QiDQp8IGNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYG1h aW4nOg0KfCBjb25maWd1cmU6Mjg0NTogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGBzZWxlY3Qn DQp8IC91c3IvaW5jbHVkZS9zeXMvdGltZS5oOjUwNzogcHJldmlvdXMgZGVjbGFyYXRpb24g b2YgYHNlbGVjdCcNCnwgY29uZmlndXJlOjI4NDU6IHdhcm5pbmc6IGV4dGVybiBkZWNsYXJh dGlvbiBvZiBgc2VsZWN0JyBkb2Vzbid0IG1hdGNoIGdsb2JhbCBvbmUNCnwgY29uZmlndXJl OjI4MTA6ICQ/ID0gMQ0KfCBjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwgfCAj bGluZSAyNzgxICJjb25maWd1cmUiDQp8IHwgLyogY29uZmRlZnMuaC4gICovDQp8IHwgDQp8 IHwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiDQp8IHwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiINCnwgfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxDQp8IHwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEN CnwgfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9N RU1PUllfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxDQp8IHwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8IHwgI2Rl ZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxDQp8IHwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0K fCB8ICNpbmNsdWRlIDxzdGRpby5oPg0KfCB8ICNpZiBIQVZFX1NZU19UWVBFU19IDQp8IHwg IyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TWVNf U1RBVF9IDQp8IHwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCB8ICNlbmRpZg0KfCB8ICNp ZiBTVERDX0hFQURFUlMNCnwgfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCB8ICMgaW5jbHVk ZSA8c3RkZGVmLmg+DQp8IHwgI2Vsc2UNCnwgfCAjIGlmIEhBVkVfU1RETElCX0gNCnwgfCAj ICBpbmNsdWRlIDxzdGRsaWIuaD4NCnwgfCAjIGVuZGlmDQp8IHwgI2VuZGlmDQp8IHwgI2lm IEhBVkVfU1RSSU5HX0gNCnwgfCAjIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllf SA0KfCB8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPg0KfCB8ICMgZW5kaWYNCnwgfCAjIGluY2x1 ZGUgPHN0cmluZy5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NUUklOR1NfSA0KfCB8 ICMgaW5jbHVkZSA8c3RyaW5ncy5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX0lOVFRZ UEVTX0gNCnwgfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+DQp8IHwgI2Vsc2UNCnwgfCAjIGlm IEhBVkVfU1RESU5UX0gNCnwgfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4NCnwgfCAjIGVuZGlm DQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfVU5JU1REX0gNCnwgfCAjIGluY2x1ZGUgPHVu aXN0ZC5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NZU19TRUxFQ1RfSA0KfCB8ICMg aW5jbHVkZSA8c3lzL3NlbGVjdC5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NZU19T T0NLRVRfSA0KfCB8ICMgaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KfCB8ICNlbmRpZg0KfCB8 IA0KfCB8IGludA0KfCB8IG1haW4gKCkNCnwgfCB7DQp8IHwgZXh0ZXJuIGludCBzZWxlY3Qg KGludCwNCnwgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHZvaWQgKiwgdm9pZCAqLCB2b2lkICosDQp8IHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdGltZXZhbCAqKTsNCnwgfCAgIDsNCnwgfCAg IHJldHVybiAwOw0KfCB8IH0NCnwgY29uZmlndXJlOjI4MDc6IGdjYyAtYyAtZyAtTzIgIGNv bmZ0ZXN0LmMgPiY1DQp8IGNjMTogd2FybmluZzogLWcgaXMgb25seSBzdXBwb3J0ZWQgd2hl biB1c2luZyBHQVMgb24gdGhpcyBwcm9jZXNzb3IsDQp8IGNjMTogd2FybmluZzogLWcgb3B0 aW9uIGRpc2FibGVkDQp8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25maWd1cmU6MjgzNzoN CnwgL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODQ6IHBhcnNlIGVycm9yIGJlZm9yZSAi c2VuZGZpbGUiDQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg1OiBwYXJzZSBlcnJv ciBiZWZvcmUgImJzaXplX3QiDQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg2OiBw YXJzZSBlcnJvciBiZWZvcmUgInNlbmRwYXRoIg0KfCAvdXNyL2luY2x1ZGUvc3lzL3NvY2tl dC5oOjQ4NzogcGFyc2UgZXJyb3IgYmVmb3JlICJic2l6ZV90Ig0KfCBjb25maWd1cmU6IElu IGZ1bmN0aW9uIGBtYWluJzoNCnwgY29uZmlndXJlOjI4NDU6IGNvbmZsaWN0aW5nIHR5cGVz IGZvciBgc2VsZWN0Jw0KfCAvdXNyL2luY2x1ZGUvc3lzL3RpbWUuaDo1MDc6IHByZXZpb3Vz IGRlY2xhcmF0aW9uIG9mIGBzZWxlY3QnDQp8IGNvbmZpZ3VyZToyODQ1OiB3YXJuaW5nOiBl eHRlcm4gZGVjbGFyYXRpb24gb2YgYHNlbGVjdCcgZG9lc24ndCBtYXRjaCBnbG9iYWwgb25l DQp8IGNvbmZpZ3VyZToyODEwOiAkPyA9IDENCnwgY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6DQp8IHwgI2xpbmUgMjc4MSAiY29uZmlndXJlIg0KfCB8IC8qIGNvbmZkZWZzLmgu ICAqLw0KfCB8IA0KfCB8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiDQp8IHwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIg0KfCB8 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICIiDQp8IHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCB8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCB8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwgfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0K fCB8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCnwgfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQ0KfCB8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8NCnwgfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgfCAjaWYgSEFWRV9TWVNf VFlQRVNfSA0KfCB8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQp8IHwgI2VuZGlmDQp8IHwg I2lmIEhBVkVfU1lTX1NUQVRfSA0KfCB8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4NCnwgfCAj ZW5kaWYNCnwgfCAjaWYgU1REQ19IRUFERVJTDQp8IHwgIyBpbmNsdWRlIDxzdGRsaWIuaD4N CnwgfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCB8ICNlbHNlDQp8IHwgIyBpZiBIQVZFX1NU RExJQl9IDQp8IHwgIyAgaW5jbHVkZSA8c3RkbGliLmg+DQp8IHwgIyBlbmRpZg0KfCB8ICNl bmRpZg0KfCB8ICNpZiBIQVZFX1NUUklOR19IDQp8IHwgIyBpZiAhU1REQ19IRUFERVJTICYm IEhBVkVfTUVNT1JZX0gNCnwgfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4NCnwgfCAjIGVuZGlm DQp8IHwgIyBpbmNsdWRlIDxzdHJpbmcuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9T VFJJTkdTX0gNCnwgfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4NCnwgfCAjZW5kaWYNCnwgfCAj aWYgSEFWRV9JTlRUWVBFU19IDQp8IHwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPg0KfCB8ICNl bHNlDQp8IHwgIyBpZiBIQVZFX1NURElOVF9IDQp8IHwgIyAgaW5jbHVkZSA8c3RkaW50Lmg+ DQp8IHwgIyBlbmRpZg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1VOSVNURF9IDQp8IHwg IyBpbmNsdWRlIDx1bmlzdGQuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TWVNfU0VM RUNUX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy9zZWxlY3QuaD4NCnwgfCAjZW5kaWYNCnwgfCAj aWYgSEFWRV9TWVNfU09DS0VUX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCnwg fCAjZW5kaWYNCnwgfCANCnwgfCBpbnQNCnwgfCBtYWluICgpDQp8IHwgew0KfCB8IGV4dGVy biBpbnQgc2VsZWN0IChpbnQsDQp8IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB2b2lkICosIHZvaWQgKiwgdm9pZCAqLA0KfCB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHRpbWV2YWwg Kik7DQp8IHwgICA7DQp8IHwgICByZXR1cm4gMDsNCnwgfCB9DQp8IGNvbmZpZ3VyZToyODA3 OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQ0KfCBjYzE6IHdhcm5pbmc6IC1nIGlz IG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNpbmcgR0FTIG9uIHRoaXMgcHJvY2Vzc29yLA0KfCBj YzE6IHdhcm5pbmc6IC1nIG9wdGlvbiBkaXNhYmxlZA0KfCBJbiBmaWxlIGluY2x1ZGVkIGZy b20gY29uZmlndXJlOjI4Mzc6DQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg0OiBw YXJzZSBlcnJvciBiZWZvcmUgInNlbmRmaWxlIg0KfCAvdXNyL2luY2x1ZGUvc3lzL3NvY2tl dC5oOjQ4NTogcGFyc2UgZXJyb3IgYmVmb3JlICJic2l6ZV90Ig0KfCAvdXNyL2luY2x1ZGUv c3lzL3NvY2tldC5oOjQ4NjogcGFyc2UgZXJyb3IgYmVmb3JlICJzZW5kcGF0aCINCnwgL3Vz ci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODc6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVf dCINCnwgY29uZmlndXJlOiBJbiBmdW5jdGlvbiBgbWFpbic6DQp8IGNvbmZpZ3VyZToyODQ1 OiBjb25mbGljdGluZyB0eXBlcyBmb3IgYHNlbGVjdCcNCnwgL3Vzci9pbmNsdWRlL3N5cy90 aW1lLmg6NTA3OiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0Jw0KfCBjb25maWd1 cmU6Mjg0NTogd2FybmluZzogZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIGBzZWxlY3QnIGRvZXNu J3QgbWF0Y2ggZ2xvYmFsIG9uZQ0KfCBjb25maWd1cmU6MjgxMDogJD8gPSAxDQp8IGNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCB8ICNsaW5lIDI3ODEgImNvbmZpZ3VyZSIN CnwgfCAvKiBjb25mZGVmcy5oLiAgKi8NCnwgfCANCnwgfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiDQp8IHwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiDQp8IHwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIg0KfCB8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEN CnwgfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCB8ICNkZWZpbmUgSEFW RV9TVFJJTkdfSCAxDQp8IHwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwgfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDENCnwgfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8IHwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I IDENCnwgfCAvKiBlbmQgY29uZmRlZnMuaC4gICovDQp8IHwgI2luY2x1ZGUgPHN0ZGlvLmg+ DQp8IHwgI2lmIEhBVkVfU1lTX1RZUEVTX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5o Pg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgfCAjIGluY2x1ZGUg PHN5cy9zdGF0Lmg+DQp8IHwgI2VuZGlmDQp8IHwgI2lmIFNURENfSEVBREVSUw0KfCB8ICMg aW5jbHVkZSA8c3RkbGliLmg+DQp8IHwgIyBpbmNsdWRlIDxzdGRkZWYuaD4NCnwgfCAjZWxz ZQ0KfCB8ICMgaWYgSEFWRV9TVERMSUJfSA0KfCB8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPg0K fCB8ICMgZW5kaWYNCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TVFJJTkdfSA0KfCB8ICMg aWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8IHwgIyAgaW5jbHVkZSA8bWVt b3J5Lmg+DQp8IHwgIyBlbmRpZg0KfCB8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8IHwgI2Vu ZGlmDQp8IHwgI2lmIEhBVkVfU1RSSU5HU19IDQp8IHwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+ DQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfSU5UVFlQRVNfSA0KfCB8ICMgaW5jbHVkZSA8 aW50dHlwZXMuaD4NCnwgfCAjZWxzZQ0KfCB8ICMgaWYgSEFWRV9TVERJTlRfSA0KfCB8ICMg IGluY2x1ZGUgPHN0ZGludC5oPg0KfCB8ICMgZW5kaWYNCnwgfCAjZW5kaWYNCnwgfCAjaWYg SEFWRV9VTklTVERfSA0KfCB8ICMgaW5jbHVkZSA8dW5pc3RkLmg+DQp8IHwgI2VuZGlmDQp8 IHwgI2lmIEhBVkVfU1lTX1NFTEVDVF9IDQp8IHwgIyBpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+ DQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9IDQp8IHwgIyBpbmNsdWRl IDxzeXMvc29ja2V0Lmg+DQp8IHwgI2VuZGlmDQp8IHwgDQp8IHwgaW50DQp8IHwgbWFpbiAo KQ0KfCB8IHsNCnwgfCBleHRlcm4gaW50IHNlbGVjdCAoc2l6ZV90LA0KfCB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqLCB2b2lkICosIHZv aWQgKiwNCnwgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCB0aW1ldmFsICopOw0KfCB8ICAgOw0KfCB8ICAgcmV0dXJuIDA7DQp8IHwgfQ0K fCBjb25maWd1cmU6MjgwNzogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUNCnwgY2Mx OiB3YXJuaW5nOiAtZyBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlz IHByb2Nlc3NvciwNCnwgY2MxOiB3YXJuaW5nOiAtZyBvcHRpb24gZGlzYWJsZWQNCnwgSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZpZ3VyZToyODM3Og0KfCAvdXNyL2luY2x1ZGUvc3lz L3NvY2tldC5oOjQ4NDogcGFyc2UgZXJyb3IgYmVmb3JlICJzZW5kZmlsZSINCnwgL3Vzci9p bmNsdWRlL3N5cy9zb2NrZXQuaDo0ODU6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCIN CnwgL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODY6IHBhcnNlIGVycm9yIGJlZm9yZSAi c2VuZHBhdGgiDQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg3OiBwYXJzZSBlcnJv ciBiZWZvcmUgImJzaXplX3QiDQp8IGNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYG1haW4nOg0K fCBjb25maWd1cmU6Mjg0NTogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGBzZWxlY3QnDQp8IC91 c3IvaW5jbHVkZS9zeXMvdGltZS5oOjUwNzogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgYHNl bGVjdCcNCnwgY29uZmlndXJlOjI4NDU6IHdhcm5pbmc6IGV4dGVybiBkZWNsYXJhdGlvbiBv ZiBgc2VsZWN0JyBkb2Vzbid0IG1hdGNoIGdsb2JhbCBvbmUNCnwgY29uZmlndXJlOjI4MTA6 ICQ/ID0gMQ0KfCBjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwgfCAjbGluZSAy NzgxICJjb25maWd1cmUiDQp8IHwgLyogY29uZmRlZnMuaC4gICovDQp8IHwgDQp8IHwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIg0K fCB8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiDQp8IHwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiINCnwgfCAjZGVmaW5l IFNURENfSEVBREVSUyAxDQp8IHwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEN CnwgfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxDQp8IHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxDQp8IHwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8IHwgI2RlZmluZSBI QVZFX1NZU19TT0NLRVRfSCAxDQp8IHwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCB8ICNp bmNsdWRlIDxzdGRpby5oPg0KfCB8ICNpZiBIQVZFX1NZU19UWVBFU19IDQp8IHwgIyBpbmNs dWRlIDxzeXMvdHlwZXMuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TWVNfU1RBVF9I DQp8IHwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBTVERD X0hFQURFUlMNCnwgfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCB8ICMgaW5jbHVkZSA8c3Rk ZGVmLmg+DQp8IHwgI2Vsc2UNCnwgfCAjIGlmIEhBVkVfU1RETElCX0gNCnwgfCAjICBpbmNs dWRlIDxzdGRsaWIuaD4NCnwgfCAjIGVuZGlmDQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVf U1RSSU5HX0gNCnwgfCAjIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSA0KfCB8 ICMgIGluY2x1ZGUgPG1lbW9yeS5oPg0KfCB8ICMgZW5kaWYNCnwgfCAjIGluY2x1ZGUgPHN0 cmluZy5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NUUklOR1NfSA0KfCB8ICMgaW5j bHVkZSA8c3RyaW5ncy5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX0lOVFRZUEVTX0gN CnwgfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+DQp8IHwgI2Vsc2UNCnwgfCAjIGlmIEhBVkVf U1RESU5UX0gNCnwgfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4NCnwgfCAjIGVuZGlmDQp8IHwg I2VuZGlmDQp8IHwgI2lmIEhBVkVfVU5JU1REX0gNCnwgfCAjIGluY2x1ZGUgPHVuaXN0ZC5o Pg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NZU19TRUxFQ1RfSA0KfCB8ICMgaW5jbHVk ZSA8c3lzL3NlbGVjdC5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NZU19TT0NLRVRf SA0KfCB8ICMgaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KfCB8ICNlbmRpZg0KfCB8IA0KfCB8 IGludA0KfCB8IG1haW4gKCkNCnwgfCB7DQp8IHwgZXh0ZXJuIGludCBzZWxlY3QgKHNpemVf dCwNCnwgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZv aWQgKiwgdm9pZCAqLCB2b2lkICosDQp8IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqKTsNCnwgfCAgIDsNCnwg fCAgIHJldHVybiAwOw0KfCB8IH0NCnwgY29uZmlndXJlOjI4MDc6IGdjYyAtYyAtZyAtTzIg IGNvbmZ0ZXN0LmMgPiY1DQp8IGNjMTogd2FybmluZzogLWcgaXMgb25seSBzdXBwb3J0ZWQg d2hlbiB1c2luZyBHQVMgb24gdGhpcyBwcm9jZXNzb3IsDQp8IGNjMTogd2FybmluZzogLWcg b3B0aW9uIGRpc2FibGVkDQp8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25maWd1cmU6Mjgz NzoNCnwgL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODQ6IHBhcnNlIGVycm9yIGJlZm9y ZSAic2VuZGZpbGUiDQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg1OiBwYXJzZSBl cnJvciBiZWZvcmUgImJzaXplX3QiDQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg2 OiBwYXJzZSBlcnJvciBiZWZvcmUgInNlbmRwYXRoIg0KfCAvdXNyL2luY2x1ZGUvc3lzL3Nv Y2tldC5oOjQ4NzogcGFyc2UgZXJyb3IgYmVmb3JlICJic2l6ZV90Ig0KfCBjb25maWd1cmU6 IEluIGZ1bmN0aW9uIGBtYWluJzoNCnwgY29uZmlndXJlOjI4NDU6IGNvbmZsaWN0aW5nIHR5 cGVzIGZvciBgc2VsZWN0Jw0KfCAvdXNyL2luY2x1ZGUvc3lzL3RpbWUuaDo1MDc6IHByZXZp b3VzIGRlY2xhcmF0aW9uIG9mIGBzZWxlY3QnDQp8IGNvbmZpZ3VyZToyODQ1OiB3YXJuaW5n OiBleHRlcm4gZGVjbGFyYXRpb24gb2YgYHNlbGVjdCcgZG9lc24ndCBtYXRjaCBnbG9iYWwg b25lDQp8IGNvbmZpZ3VyZToyODEwOiAkPyA9IDENCnwgY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6DQp8IHwgI2xpbmUgMjc4MSAiY29uZmlndXJlIg0KfCB8IC8qIGNvbmZkZWZz LmguICAqLw0KfCB8IA0KfCB8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiDQp8IHwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIg0K fCB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICIiDQp8IHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCB8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCB8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwg fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQ0KfCB8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCnwgfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQ0KfCB8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8NCnwgfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgfCAjaWYgSEFWRV9T WVNfVFlQRVNfSA0KfCB8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQp8IHwgI2VuZGlmDQp8 IHwgI2lmIEhBVkVfU1lTX1NUQVRfSA0KfCB8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4NCnwg fCAjZW5kaWYNCnwgfCAjaWYgU1REQ19IRUFERVJTDQp8IHwgIyBpbmNsdWRlIDxzdGRsaWIu aD4NCnwgfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCB8ICNlbHNlDQp8IHwgIyBpZiBIQVZF X1NURExJQl9IDQp8IHwgIyAgaW5jbHVkZSA8c3RkbGliLmg+DQp8IHwgIyBlbmRpZg0KfCB8 ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NUUklOR19IDQp8IHwgIyBpZiAhU1REQ19IRUFERVJT ICYmIEhBVkVfTUVNT1JZX0gNCnwgfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4NCnwgfCAjIGVu ZGlmDQp8IHwgIyBpbmNsdWRlIDxzdHJpbmcuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFW RV9TVFJJTkdTX0gNCnwgfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4NCnwgfCAjZW5kaWYNCnwg fCAjaWYgSEFWRV9JTlRUWVBFU19IDQp8IHwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPg0KfCB8 ICNlbHNlDQp8IHwgIyBpZiBIQVZFX1NURElOVF9IDQp8IHwgIyAgaW5jbHVkZSA8c3RkaW50 Lmg+DQp8IHwgIyBlbmRpZg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1VOSVNURF9IDQp8 IHwgIyBpbmNsdWRlIDx1bmlzdGQuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TWVNf U0VMRUNUX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy9zZWxlY3QuaD4NCnwgfCAjZW5kaWYNCnwg fCAjaWYgSEFWRV9TWVNfU09DS0VUX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy9zb2NrZXQuaD4N CnwgfCAjZW5kaWYNCnwgfCANCnwgfCBpbnQNCnwgfCBtYWluICgpDQp8IHwgew0KfCB8IGV4 dGVybiBpbnQgc2VsZWN0ICh1bnNpZ25lZCBsb25nLA0KfCB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqLCB2b2lkICosIHZvaWQgKiwNCnwg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0 aW1ldmFsICopOw0KfCB8ICAgOw0KfCB8ICAgcmV0dXJuIDA7DQp8IHwgfQ0KfCBjb25maWd1 cmU6MjgwNzogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUNCnwgY2MxOiB3YXJuaW5n OiAtZyBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIEdBUyBvbiB0aGlzIHByb2Nlc3Nv ciwNCnwgY2MxOiB3YXJuaW5nOiAtZyBvcHRpb24gZGlzYWJsZWQNCnwgSW4gZmlsZSBpbmNs dWRlZCBmcm9tIGNvbmZpZ3VyZToyODM3Og0KfCAvdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5o OjQ4NDogcGFyc2UgZXJyb3IgYmVmb3JlICJzZW5kZmlsZSINCnwgL3Vzci9pbmNsdWRlL3N5 cy9zb2NrZXQuaDo0ODU6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCINCnwgL3Vzci9p bmNsdWRlL3N5cy9zb2NrZXQuaDo0ODY6IHBhcnNlIGVycm9yIGJlZm9yZSAic2VuZHBhdGgi DQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg3OiBwYXJzZSBlcnJvciBiZWZvcmUg ImJzaXplX3QiDQp8IGNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYG1haW4nOg0KfCBjb25maWd1 cmU6Mjg0NTogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGBzZWxlY3QnDQp8IC91c3IvaW5jbHVk ZS9zeXMvdGltZS5oOjUwNzogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgYHNlbGVjdCcNCnwg Y29uZmlndXJlOjI4NDU6IHdhcm5pbmc6IGV4dGVybiBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0 JyBkb2Vzbid0IG1hdGNoIGdsb2JhbCBvbmUNCnwgY29uZmlndXJlOjI4MTA6ICQ/ID0gMQ0K fCBjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwgfCAjbGluZSAyNzgxICJjb25m aWd1cmUiDQp8IHwgLyogY29uZmRlZnMuaC4gICovDQp8IHwgDQp8IHwgI2RlZmluZSBQQUNL QUdFX05BTUUgIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIg0KfCB8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIiDQp8IHwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIg0K fCB8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiINCnwgfCAjZGVmaW5lIFNURENfSEVB REVSUyAxDQp8IHwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NURExJQl9IIDENCnwgfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8IHwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxDQp8IHwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQ0KfCB8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1NZU19T T0NLRVRfSCAxDQp8IHwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCB8ICNpbmNsdWRlIDxz dGRpby5oPg0KfCB8ICNpZiBIQVZFX1NZU19UWVBFU19IDQp8IHwgIyBpbmNsdWRlIDxzeXMv dHlwZXMuaD4NCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TWVNfU1RBVF9IDQp8IHwgIyBp bmNsdWRlIDxzeXMvc3RhdC5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBTVERDX0hFQURFUlMN CnwgfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCB8ICMgaW5jbHVkZSA8c3RkZGVmLmg+DQp8 IHwgI2Vsc2UNCnwgfCAjIGlmIEhBVkVfU1RETElCX0gNCnwgfCAjICBpbmNsdWRlIDxzdGRs aWIuaD4NCnwgfCAjIGVuZGlmDQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfU1RSSU5HX0gN CnwgfCAjIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSA0KfCB8ICMgIGluY2x1 ZGUgPG1lbW9yeS5oPg0KfCB8ICMgZW5kaWYNCnwgfCAjIGluY2x1ZGUgPHN0cmluZy5oPg0K fCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NUUklOR1NfSA0KfCB8ICMgaW5jbHVkZSA8c3Ry aW5ncy5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX0lOVFRZUEVTX0gNCnwgfCAjIGlu Y2x1ZGUgPGludHR5cGVzLmg+DQp8IHwgI2Vsc2UNCnwgfCAjIGlmIEhBVkVfU1RESU5UX0gN CnwgfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4NCnwgfCAjIGVuZGlmDQp8IHwgI2VuZGlmDQp8 IHwgI2lmIEhBVkVfVU5JU1REX0gNCnwgfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPg0KfCB8ICNl bmRpZg0KfCB8ICNpZiBIQVZFX1NZU19TRUxFQ1RfSA0KfCB8ICMgaW5jbHVkZSA8c3lzL3Nl bGVjdC5oPg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NZU19TT0NLRVRfSA0KfCB8ICMg aW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KfCB8ICNlbmRpZg0KfCB8IA0KfCB8IGludA0KfCB8 IG1haW4gKCkNCnwgfCB7DQp8IHwgZXh0ZXJuIGludCBzZWxlY3QgKHVuc2lnbmVkIGxvbmcs DQp8IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lk ICosIHZvaWQgKiwgdm9pZCAqLA0KfCB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHRpbWV2YWwgKik7DQp8IHwgICA7DQp8IHwg ICByZXR1cm4gMDsNCnwgfCB9DQp8IGNvbmZpZ3VyZToyODA3OiBnY2MgLWMgLWcgLU8yICBj b25mdGVzdC5jID4mNQ0KfCBjYzE6IHdhcm5pbmc6IC1nIGlzIG9ubHkgc3VwcG9ydGVkIHdo ZW4gdXNpbmcgR0FTIG9uIHRoaXMgcHJvY2Vzc29yLA0KfCBjYzE6IHdhcm5pbmc6IC1nIG9w dGlvbiBkaXNhYmxlZA0KfCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gY29uZmlndXJlOjI4Mzc6 DQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg0OiBwYXJzZSBlcnJvciBiZWZvcmUg InNlbmRmaWxlIg0KfCAvdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4NTogcGFyc2UgZXJy b3IgYmVmb3JlICJic2l6ZV90Ig0KfCAvdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjQ4Njog cGFyc2UgZXJyb3IgYmVmb3JlICJzZW5kcGF0aCINCnwgL3Vzci9pbmNsdWRlL3N5cy9zb2Nr ZXQuaDo0ODc6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVfdCINCnwgY29uZmlndXJlOiBJ biBmdW5jdGlvbiBgbWFpbic6DQp8IGNvbmZpZ3VyZToyODQ1OiBjb25mbGljdGluZyB0eXBl cyBmb3IgYHNlbGVjdCcNCnwgL3Vzci9pbmNsdWRlL3N5cy90aW1lLmg6NTA3OiBwcmV2aW91 cyBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0Jw0KfCBjb25maWd1cmU6Mjg0NTogd2FybmluZzog ZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIGBzZWxlY3QnIGRvZXNuJ3QgbWF0Y2ggZ2xvYmFsIG9u ZQ0KfCBjb25maWd1cmU6MjgxMDogJD8gPSAxDQp8IGNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOg0KfCB8ICNsaW5lIDI3ODEgImNvbmZpZ3VyZSINCnwgfCAvKiBjb25mZGVmcy5o LiAgKi8NCnwgfCANCnwgfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIg0KfCB8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICIiDQp8IHwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiINCnwg fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiDQp8IHwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAiIg0KfCB8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDENCnwgfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8IHwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEN CnwgfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8IHwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDENCnwgfCAvKiBlbmQgY29u ZmRlZnMuaC4gICovDQp8IHwgI2luY2x1ZGUgPHN0ZGlvLmg+DQp8IHwgI2lmIEhBVkVfU1lT X1RZUEVTX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPg0KfCB8ICNlbmRpZg0KfCB8 ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+DQp8IHwg I2VuZGlmDQp8IHwgI2lmIFNURENfSEVBREVSUw0KfCB8ICMgaW5jbHVkZSA8c3RkbGliLmg+ DQp8IHwgIyBpbmNsdWRlIDxzdGRkZWYuaD4NCnwgfCAjZWxzZQ0KfCB8ICMgaWYgSEFWRV9T VERMSUJfSA0KfCB8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCB8ICMgZW5kaWYNCnwgfCAj ZW5kaWYNCnwgfCAjaWYgSEFWRV9TVFJJTkdfSA0KfCB8ICMgaWYgIVNURENfSEVBREVSUyAm JiBIQVZFX01FTU9SWV9IDQp8IHwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+DQp8IHwgIyBlbmRp Zg0KfCB8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVf U1RSSU5HU19IDQp8IHwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+DQp8IHwgI2VuZGlmDQp8IHwg I2lmIEhBVkVfSU5UVFlQRVNfSA0KfCB8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4NCnwgfCAj ZWxzZQ0KfCB8ICMgaWYgSEFWRV9TVERJTlRfSA0KfCB8ICMgIGluY2x1ZGUgPHN0ZGludC5o Pg0KfCB8ICMgZW5kaWYNCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9VTklTVERfSA0KfCB8 ICMgaW5jbHVkZSA8dW5pc3RkLmg+DQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfU1lTX1NF TEVDVF9IDQp8IHwgIyBpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+DQp8IHwgI2VuZGlmDQp8IHwg I2lmIEhBVkVfU1lTX1NPQ0tFVF9IDQp8IHwgIyBpbmNsdWRlIDxzeXMvc29ja2V0Lmg+DQp8 IHwgI2VuZGlmDQp8IHwgDQp8IHwgaW50DQp8IHwgbWFpbiAoKQ0KfCB8IHsNCnwgfCBleHRl cm4gaW50IHNlbGVjdCAodW5zaWduZWQsDQp8IHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB2b2lkICosIHZvaWQgKiwgdm9pZCAqLA0KfCB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHRpbWV2YWwg Kik7DQp8IHwgICA7DQp8IHwgICByZXR1cm4gMDsNCnwgfCB9DQp8IGNvbmZpZ3VyZToyODA3 OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQ0KfCBjYzE6IHdhcm5pbmc6IC1nIGlz IG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNpbmcgR0FTIG9uIHRoaXMgcHJvY2Vzc29yLA0KfCBj YzE6IHdhcm5pbmc6IC1nIG9wdGlvbiBkaXNhYmxlZA0KfCBJbiBmaWxlIGluY2x1ZGVkIGZy b20gY29uZmlndXJlOjI4Mzc6DQp8IC91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6NDg0OiBw YXJzZSBlcnJvciBiZWZvcmUgInNlbmRmaWxlIg0KfCAvdXNyL2luY2x1ZGUvc3lzL3NvY2tl dC5oOjQ4NTogcGFyc2UgZXJyb3IgYmVmb3JlICJic2l6ZV90Ig0KfCAvdXNyL2luY2x1ZGUv c3lzL3NvY2tldC5oOjQ4NjogcGFyc2UgZXJyb3IgYmVmb3JlICJzZW5kcGF0aCINCnwgL3Vz ci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo0ODc6IHBhcnNlIGVycm9yIGJlZm9yZSAiYnNpemVf dCINCnwgY29uZmlndXJlOiBJbiBmdW5jdGlvbiBgbWFpbic6DQp8IGNvbmZpZ3VyZToyODQ1 OiBjb25mbGljdGluZyB0eXBlcyBmb3IgYHNlbGVjdCcNCnwgL3Vzci9pbmNsdWRlL3N5cy90 aW1lLmg6NTA3OiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiBgc2VsZWN0Jw0KfCBjb25maWd1 cmU6Mjg0NTogd2FybmluZzogZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIGBzZWxlY3QnIGRvZXNu J3QgbWF0Y2ggZ2xvYmFsIG9uZQ0KfCBjb25maWd1cmU6MjgxMDogJD8gPSAxDQp8IGNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCB8ICNsaW5lIDI3ODEgImNvbmZpZ3VyZSIN CnwgfCAvKiBjb25mZGVmcy5oLiAgKi8NCnwgfCANCnwgfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiIg0KfCB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiDQp8IHwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIiINCnwgfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiDQp8IHwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIg0KfCB8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEN CnwgfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCB8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCB8ICNkZWZpbmUgSEFW RV9TVFJJTkdfSCAxDQp8IHwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwgfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDENCnwgfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8IHwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDENCnwgfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I IDENCnwgfCAvKiBlbmQgY29uZmRlZnMuaC4gICovDQp8IHwgI2luY2x1ZGUgPHN0ZGlvLmg+ DQp8IHwgI2lmIEhBVkVfU1lTX1RZUEVTX0gNCnwgfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5o Pg0KfCB8ICNlbmRpZg0KfCB8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgfCAjIGluY2x1ZGUg PHN5cy9zdGF0Lmg+DQp8IHwgI2VuZGlmDQp8IHwgI2lmIFNURENfSEVBREVSUw0KfCB8ICMg aW5jbHVkZSA8c3RkbGliLmg+DQp8IHwgIyBpbmNsdWRlIDxzdGRkZWYuaD4NCnwgfCAjZWxz ZQ0KfCB8ICMgaWYgSEFWRV9TVERMSUJfSA0KfCB8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPg0K fCB8ICMgZW5kaWYNCnwgfCAjZW5kaWYNCnwgfCAjaWYgSEFWRV9TVFJJTkdfSA0KfCB8ICMg aWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8IHwgIyAgaW5jbHVkZSA8bWVt b3J5Lmg+DQp8IHwgIyBlbmRpZg0KfCB8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8IHwgI2Vu ZGlmDQp8IHwgI2lmIEhBVkVfU1RSSU5HU19IDQp8IHwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+ DQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfSU5UVFlQRVNfSA0KfCB8ICMgaW5jbHVkZSA8 aW50dHlwZXMuaD4NCnwgfCAjZWxzZQ0KfCB8ICMgaWYgSEFWRV9TVERJTlRfSA0KfCB8ICMg IGluY2x1ZGUgPHN0ZGludC5oPg0KfCB8ICMgZW5kaWYNCnwgfCAjZW5kaWYNCnwgfCAjaWYg SEFWRV9VTklTVERfSA0KfCB8ICMgaW5jbHVkZSA8dW5pc3RkLmg+DQp8IHwgI2VuZGlmDQp8 IHwgI2lmIEhBVkVfU1lTX1NFTEVDVF9IDQp8IHwgIyBpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+ DQp8IHwgI2VuZGlmDQp8IHwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9IDQp8IHwgIyBpbmNsdWRl IDxzeXMvc29ja2V0Lmg+DQp8IHwgI2VuZGlmDQp8IHwgDQp8IHwgaW50DQp8IHwgbWFpbiAo KQ0KfCB8IHsNCnwgfCBleHRlcm4gaW50IHNlbGVjdCAodW5zaWduZWQsDQp8IHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICosIHZvaWQgKiwg dm9pZCAqLA0KfCB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3Qgc3RydWN0IHRpbWV2YWwgKik7DQp8IHwgICA7DQp8IHwgICByZXR1cm4gMDsN CnwgfCB9DQp8IGNvbmZpZ3VyZToyODMyOiByZXN1bHQ6IGludCxpbnQgKixzdHJ1Y3QgdGlt ZXZhbCAqDQp8IGNvbmZpZ3VyZToyOTUwOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMNCnwg DQp8ICMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMNCnwgIyMgUnVubmluZyBjb25maWcu c3RhdHVzLiAjIw0KfCAjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjDQp8IA0KfCBUaGlz IGZpbGUgd2FzIGV4dGVuZGVkIGJ5IGNvbmZpZy5zdGF0dXMsIHdoaWNoIHdhcw0KfCBnZW5l cmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTcuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3 YXMNCnwgDQp8ICAgQ09ORklHX0ZJTEVTICAgID0gDQp8ICAgQ09ORklHX0hFQURFUlMgID0g DQp8ICAgQ09ORklHX0xJTktTICAgID0gDQp8ICAgQ09ORklHX0NPTU1BTkRTID0gDQp8ICAg JCAuL2NvbmZpZy5zdGF0dXMgDQp8IA0KfCBvbiBvZGluDQp8IA0KfCBjb25maWcuc3RhdHVz OjQ1MzogY3JlYXRpbmcgY29uZmlnLmgNCnwgDQp8ICMjIC0tLS0tLS0tLS0tLS0tLS0gIyMN CnwgIyMgQ2FjaGUgdmFyaWFibGVzLiAjIw0KfCAjIyAtLS0tLS0tLS0tLS0tLS0tICMjDQp8 IA0KfCBhY19jdl9jX2NvbXBpbGVyX2dudT15ZXMNCnwgYWNfY3ZfZW52X0NDX3NldD0nJw0K fCBhY19jdl9lbnZfQ0NfdmFsdWU9JycNCnwgYWNfY3ZfZW52X0NGTEFHU19zZXQ9JycNCnwg YWNfY3ZfZW52X0NGTEFHU192YWx1ZT0nJw0KfCBhY19jdl9lbnZfQ1BQRkxBR1Nfc2V0PScn DQp8IGFjX2N2X2Vudl9DUFBGTEFHU192YWx1ZT0nJw0KfCBhY19jdl9lbnZfQ1BQX3NldD0n Jw0KfCBhY19jdl9lbnZfQ1BQX3ZhbHVlPScnDQp8IGFjX2N2X2Vudl9MREZMQUdTX3NldD0n Jw0KfCBhY19jdl9lbnZfTERGTEFHU192YWx1ZT0nJw0KfCBhY19jdl9lbnZfYnVpbGRfYWxp YXNfc2V0PScnDQp8IGFjX2N2X2Vudl9idWlsZF9hbGlhc192YWx1ZT0nJw0KfCBhY19jdl9l bnZfaG9zdF9hbGlhc19zZXQ9JycNCnwgYWNfY3ZfZW52X2hvc3RfYWxpYXNfdmFsdWU9JycN CnwgYWNfY3ZfZW52X3RhcmdldF9hbGlhc19zZXQ9JycNCnwgYWNfY3ZfZW52X3RhcmdldF9h bGlhc192YWx1ZT0nJw0KfCBhY19jdl9leGVleHQ9JycNCnwgYWNfY3ZfZnVuY19zZWxlY3Rf YXJncz0naW50LGludCAqLHN0cnVjdCB0aW1ldmFsIConDQp8IGFjX2N2X2hlYWRlcl9pbnR0 eXBlc19oPXllcw0KfCBhY19jdl9oZWFkZXJfbWVtb3J5X2g9eWVzDQp8IGFjX2N2X2hlYWRl cl9zdGRjPXllcw0KfCBhY19jdl9oZWFkZXJfc3RkaW50X2g9bm8NCnwgYWNfY3ZfaGVhZGVy X3N0ZGxpYl9oPXllcw0KfCBhY19jdl9oZWFkZXJfc3RyaW5nX2g9eWVzDQp8IGFjX2N2X2hl YWRlcl9zdHJpbmdzX2g9eWVzDQp8IGFjX2N2X2hlYWRlcl9zeXNfc2VsZWN0X2g9bm8NCnwg YWNfY3ZfaGVhZGVyX3N5c19zb2NrZXRfaD15ZXMNCnwgYWNfY3ZfaGVhZGVyX3N5c19zdGF0 X2g9eWVzDQp8IGFjX2N2X2hlYWRlcl9zeXNfdHlwZXNfaD15ZXMNCnwgYWNfY3ZfaGVhZGVy X3VuaXN0ZF9oPXllcw0KfCBhY19jdl9vYmpleHQ9bw0KfCBhY19jdl9wcm9nX0NQUD0nZ2Nj IC1FJw0KfCBhY19jdl9wcm9nX2FjX2N0X0NDPWdjYw0KfCBhY19jdl9wcm9nX2NjX2c9eWVz DQp8IGFjX2N2X3Byb2dfY2Nfc3RkYz0nJw0KfCBhY19jdl9wcm9nX2VncmVwPSdncmVwIC1F Jw0KfCANCnwgIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMNCnwgIyMgT3V0cHV0IHZhcmlhYmxl cy4gIyMNCnwgIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMNCnwgDQp8IENDPSdnY2MnDQp8IENG TEFHUz0nLWcgLU8yJw0KfCBDUFA9J2djYyAtRScNCnwgQ1BQRkxBR1M9JycNCnwgREVGUz0n LURIQVZFX0NPTkZJR19IJw0KfCBFQ0hPX0M9J0VDSE9fTj0nJw0KfCBFQ0hPX1Q9JycNCnwg RUdSRVA9J2dyZXAgLUUnDQp8IEVYRUVYVD0nJw0KfCBMREZMQUdTPScnDQp8IExJQk9CSlM9 JycNCnwgTElCUz0nJw0KfCBMVExJQk9CSlM9JycNCnwgT0JKRVhUPSdvJw0KfCBQQUNLQUdF X0JVR1JFUE9SVD0nJw0KfCBQQUNLQUdFX05BTUU9JycNCnwgUEFDS0FHRV9TVFJJTkc9JycN CnwgUEFDS0FHRV9UQVJOQU1FPScnDQp8IFBBQ0tBR0VfVkVSU0lPTj0nJw0KfCBQQVRIX1NF UEFSQVRPUj0nOicNCnwgU0hFTEw9Jy9iaW4vc2gnDQp8IGFjX2N0X0NDPSdnY2MnDQp8IGJp bmRpcj0nJHtleGVjX3ByZWZpeH0vYmluJw0KfCBidWlsZF9hbGlhcz0nJw0KfCBkYXRhZGly PScke3ByZWZpeH0vc2hhcmUnDQp8IGV4ZWNfcHJlZml4PScke3ByZWZpeH0nDQp8IGhvc3Rf YWxpYXM9JycNCnwgaW5jbHVkZWRpcj0nJHtwcmVmaXh9L2luY2x1ZGUnDQp8IGluZm9kaXI9 JyR7cHJlZml4fS9pbmZvJw0KfCBsaWJkaXI9JyR7ZXhlY19wcmVmaXh9L2xpYicNCnwgbGli ZXhlY2Rpcj0nJHtleGVjX3ByZWZpeH0vbGliZXhlYycNCnwgbG9jYWxzdGF0ZWRpcj0nJHtw cmVmaXh9L3ZhcicNCnwgbWFuZGlyPScke3ByZWZpeH0vbWFuJw0KfCBvbGRpbmNsdWRlZGly PScvdXNyL2luY2x1ZGUnDQp8IHByZWZpeD0nL3Vzci9sb2NhbCcNCnwgcHJvZ3JhbV90cmFu c2Zvcm1fbmFtZT0ncyx4LHgsJw0KfCBzYmluZGlyPScke2V4ZWNfcHJlZml4fS9zYmluJw0K fCBzaGFyZWRzdGF0ZWRpcj0nJHtwcmVmaXh9L2NvbScNCnwgc3lzY29uZmRpcj0nJHtwcmVm aXh9L2V0YycNCnwgdGFyZ2V0X2FsaWFzPScnDQp8IA0KfCAjIyAtLS0tLS0tLS0tLSAjIw0K fCAjIyBjb25mZGVmcy5oLiAjIw0KfCAjIyAtLS0tLS0tLS0tLSAjIw0KfCANCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxDQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDENCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDENCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAiIg0KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIg0KfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICIiDQp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiDQp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIiDQp8ICNkZWZpbmUgU0VMRUNUX1RZUEVfQVJHMSBpbnQNCnwgI2Rl ZmluZSBTRUxFQ1RfVFlQRV9BUkcyMzQgKGludCAqKQ0KfCAjZGVmaW5lIFNFTEVDVF9UWVBF X0FSRzUgKHN0cnVjdCB0aW1ldmFsICopDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwg DQp8IGNvbmZpZ3VyZTogZXhpdCAwDQoNCnRlc3RzdWl0ZTogLi4vY29uZmlnLmxvZzoNCnwg VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMg d2hpbGUNCnwgcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmln dXJlIG1ha2VzIGEgbWlzdGFrZS4NCnwgDQp8IEl0IHdhcyBjcmVhdGVkIGJ5IEdOVSBBdXRv Y29uZiBjb25maWd1cmUgMi41Nywgd2hpY2ggd2FzDQp8IGdlbmVyYXRlZCBieSBHTlUgQXV0 b2NvbmYgMi41Ny4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcw0KfCANCnwgICAkIC4v Y29uZmlndXJlIC0tcHJlZml4PS91c3IvbG9jYWwNCnwgDQp8ICMjIC0tLS0tLS0tLSAjIw0K fCAjIyBQbGF0Zm9ybS4gIyMNCnwgIyMgLS0tLS0tLS0tICMjDQp8IA0KfCBob3N0bmFtZSA9 IG9kaW4NCnwgdW5hbWUgLW0gPSA5MDAwLzgwMA0KfCB1bmFtZSAtciA9IEIuMTEuMTENCnwg dW5hbWUgLXMgPSBIUC1VWA0KfCB1bmFtZSAtdiA9IFUNCnwgDQp8IC91c3IvYmluL3VuYW1l IC1wID0gdW5rbm93bg0KfCAvYmluL3VuYW1lIC1YICAgICA9IHVua25vd24NCnwgDQp8IC9i aW4vYXJjaCAgICAgICAgICAgICAgPSB1bmtub3duDQp8IC91c3IvYmluL2FyY2ggLWsgICAg ICAgPSB1bmtub3duDQp8IC91c3IvY29udmV4L2dldHN5c2luZm8gPSB1bmtub3duDQp8IGhv c3RpbmZvICAgICAgICAgICAgICAgPSB1bmtub3duDQp8IC9iaW4vbWFjaGluZSAgICAgICAg ICAgPSB1bmtub3duDQp8IC91c3IvYmluL29zbGV2ZWwgICAgICAgPSB1bmtub3duDQp8IC9i aW4vdW5pdmVyc2UgICAgICAgICAgPSB1bmtub3duDQp8IA0KfCBQQVRIOiAvaG9tZS9ib2Jo L2Jpbg0KfCBQQVRIOiAvc2Jpbg0KfCBQQVRIOiAvYmluDQp8IFBBVEg6IC91c3Ivc2Jpbg0K fCBQQVRIOiAvdXNyL2Jpbg0KfCBQQVRIOiAvdXNyL2JzZA0KfCBQQVRIOiAvdXNyL2dhbWVz DQp8IFBBVEg6IC91c3IvbG9jYWwvYmluDQp8IFBBVEg6IC91c3IvY29udHJpYi9iaW4NCnwg UEFUSDogL3Vzci9vcGVud2luL2Jpbg0KfCBQQVRIOiAvdmFyL2FkbWluL2xvY2FsL29kaW4v YmluDQp8IFBBVEg6IC9vcHQvb21uaS9iaW4NCnwgDQp8IA0KfCAjIyAtLS0tLS0tLS0tLSAj Iw0KfCAjIyBDb3JlIHRlc3RzLiAjIw0KfCAjIyAtLS0tLS0tLS0tLSAjIw0KfCANCnwgY29u ZmlndXJlOjEyNTM6IGNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwNCnwg Y29uZmlndXJlOjEzMDc6IHJlc3VsdDogY29uZmlnL2luc3RhbGwtc2ggLWMNCnwgY29uZmln dXJlOjEzMTg6IGNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZQ0K fCBjb25maWd1cmU6MTM2MTogcmVzdWx0OiB5ZXMNCnwgY29uZmlndXJlOjEzOTQ6IGNoZWNr aW5nIGZvciBnYXdrDQp8IGNvbmZpZ3VyZToxNDEwOiBmb3VuZCAvdXNyL2xvY2FsL2Jpbi9n YXdrDQp8IGNvbmZpZ3VyZToxNDIwOiByZXN1bHQ6IGdhd2sNCnwgY29uZmlndXJlOjE0MzA6 IGNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkNCnwgY29uZmlndXJlOjE0NTA6 IHJlc3VsdDogeWVzDQp8IGNvbmZpZ3VyZToxNjI4OiBjaGVja2luZyBmb3IgZXhwcg0KfCBj b25maWd1cmU6MTY0NjogZm91bmQgL2Jpbi9leHByDQp8IGNvbmZpZ3VyZToxNjU4OiByZXN1 bHQ6IC9iaW4vZXhwcg0KfCBjb25maWd1cmU6MTY3NTogY2hlY2tpbmcgZm9yIGdtNA0KfCBj b25maWd1cmU6MTcwNTogcmVzdWx0OiAvdXNyL2xvY2FsL2Jpbi9tNA0KfCBjb25maWd1cmU6 MTcxNjogY2hlY2tpbmcgd2hldGhlciBtNCBzdXBwb3J0cyBmcm96ZW4gZmlsZXMNCnwgY29u ZmlndXJlOjE3Mjg6IHJlc3VsdDogeWVzDQp8IGNvbmZpZ3VyZToxNzQ2OiBjaGVja2luZyBm b3IgcGVybA0KfCBjb25maWd1cmU6MTc2NDogZm91bmQgL2Jpbi9wZXJsDQp8IGNvbmZpZ3Vy ZToxNzc3OiByZXN1bHQ6IC9iaW4vcGVybA0KfCBjb25maWd1cmU6MTgwMzogY2hlY2tpbmcg Zm9yIGVtYWNzDQp8IGNvbmZpZ3VyZToxODMyOiByZXN1bHQ6IG5vDQp8IGNvbmZpZ3VyZTox ODAzOiBjaGVja2luZyBmb3IgeGVtYWNzDQp8IGNvbmZpZ3VyZToxODMyOiByZXN1bHQ6IG5v DQp8IGNvbmZpZ3VyZToxODU4OiBjaGVja2luZyBmb3IgZW1hY3MNCnwgY29uZmlndXJlOjE4 ODQ6IHJlc3VsdDogbm8NCnwgY29uZmlndXJlOjIwNjI6IGNyZWF0aW5nIC4vY29uZmlnLnN0 YXR1cw0KfCANCnwgIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIw0KfCAjIyBSdW5uaW5n IGNvbmZpZy5zdGF0dXMuICMjDQp8ICMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMNCnwg DQp8IFRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgR05VIEF1dG9jb25mIGNvbmZpZy5zdGF0 dXMgMi41Nywgd2hpY2ggd2FzDQp8IGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41Ny4g IEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcw0KfCANCnwgICBDT05GSUdfRklMRVMgICAg PSANCnwgICBDT05GSUdfSEVBREVSUyAgPSANCnwgICBDT05GSUdfTElOS1MgICAgPSANCnwg ICBDT05GSUdfQ09NTUFORFMgPSANCnwgICAkIC4vY29uZmlnLnN0YXR1cyANCnwgDQp8IG9u IG9kaW4NCnwgDQp8IGNvbmZpZy5zdGF0dXM6NjQ1OiBjcmVhdGluZyBjb25maWcvTWFrZWZp bGUNCnwgY29uZmlnLnN0YXR1czo2NDU6IGNyZWF0aW5nIHRlc3RzL01ha2VmaWxlDQp8IGNv bmZpZy5zdGF0dXM6NjQ1OiBjcmVhdGluZyB0ZXN0cy9hdGxvY2FsDQp8IGNvbmZpZy5zdGF0 dXM6NjQ1OiBjcmVhdGluZyB0ZXN0cy9hdXRvY29uZg0KfCBjb25maWcuc3RhdHVzOjY0NTog Y3JlYXRpbmcgdGVzdHMvYXV0b2hlYWRlcg0KfCBjb25maWcuc3RhdHVzOjY0NTogY3JlYXRp bmcgdGVzdHMvYXV0b200dGUNCnwgY29uZmlnLnN0YXR1czo2NDU6IGNyZWF0aW5nIHRlc3Rz L2F1dG9yZWNvbmYNCnwgY29uZmlnLnN0YXR1czo2NDU6IGNyZWF0aW5nIHRlc3RzL2F1dG9z Y2FuDQp8IGNvbmZpZy5zdGF0dXM6NjQ1OiBjcmVhdGluZyB0ZXN0cy9hdXRvdXBkYXRlDQp8 IGNvbmZpZy5zdGF0dXM6NjQ1OiBjcmVhdGluZyB0ZXN0cy9pZm5hbWVzDQp8IGNvbmZpZy5z dGF0dXM6NjQ1OiBjcmVhdGluZyBtYW4vTWFrZWZpbGUNCnwgY29uZmlnLnN0YXR1czo2NDU6 IGNyZWF0aW5nIGxpYi9lbWFjcy9NYWtlZmlsZQ0KfCBjb25maWcuc3RhdHVzOjY0NTogY3Jl YXRpbmcgTWFrZWZpbGUNCnwgY29uZmlnLnN0YXR1czo2NDU6IGNyZWF0aW5nIGRvYy9NYWtl ZmlsZQ0KfCBjb25maWcuc3RhdHVzOjY0NTogY3JlYXRpbmcgbGliL01ha2VmaWxlDQp8IGNv bmZpZy5zdGF0dXM6NjQ1OiBjcmVhdGluZyBsaWIvQXV0b200dGUvTWFrZWZpbGUNCnwgY29u ZmlnLnN0YXR1czo2NDU6IGNyZWF0aW5nIGxpYi9hdXRvc2Nhbi9NYWtlZmlsZQ0KfCBjb25m aWcuc3RhdHVzOjY0NTogY3JlYXRpbmcgbGliL200c3VnYXIvTWFrZWZpbGUNCnwgY29uZmln LnN0YXR1czo2NDU6IGNyZWF0aW5nIGxpYi9hdXRvY29uZi9NYWtlZmlsZQ0KfCBjb25maWcu c3RhdHVzOjY0NTogY3JlYXRpbmcgbGliL2F1dG90ZXN0L01ha2VmaWxlDQp8IGNvbmZpZy5z dGF0dXM6NjQ1OiBjcmVhdGluZyBiaW4vTWFrZWZpbGUNCnwgY29uZmlnLnN0YXR1czo3ODA6 IGV4ZWN1dGluZyB0ZXN0cy9hdGNvbmZpZyBjb21tYW5kcw0KfCANCnwgIyMgLS0tLS0tLS0t LS0tLS0tLSAjIw0KfCAjIyBDYWNoZSB2YXJpYWJsZXMuICMjDQp8ICMjIC0tLS0tLS0tLS0t LS0tLS0gIyMNCnwgDQp8IGFjX2N2X2Vudl9idWlsZF9hbGlhc19zZXQ9JycNCnwgYWNfY3Zf ZW52X2J1aWxkX2FsaWFzX3ZhbHVlPScnDQp8IGFjX2N2X2Vudl9ob3N0X2FsaWFzX3NldD0n Jw0KfCBhY19jdl9lbnZfaG9zdF9hbGlhc192YWx1ZT0nJw0KfCBhY19jdl9lbnZfdGFyZ2V0 X2FsaWFzX3NldD0nJw0KfCBhY19jdl9lbnZfdGFyZ2V0X2FsaWFzX3ZhbHVlPScnDQp8IGFj X2N2X3BhdGhfRVhQUj0vYmluL2V4cHINCnwgYWNfY3ZfcGF0aF9NND0vdXNyL2xvY2FsL2Jp bi9tNA0KfCBhY19jdl9wYXRoX1BFUkw9L2Jpbi9wZXJsDQp8IGFjX2N2X3Byb2dfQVdLPWdh d2sNCnwgYWNfY3ZfcHJvZ19FTUFDUz1ubw0KfCBhY19jdl9wcm9nX2dudV9tND15ZXMNCnwg YWNfY3ZfcHJvZ19tYWtlX21ha2Vfc2V0PXllcw0KfCANCnwgIyMgLS0tLS0tLS0tLS0tLS0t LS0gIyMNCnwgIyMgT3V0cHV0IHZhcmlhYmxlcy4gIyMNCnwgIyMgLS0tLS0tLS0tLS0tLS0t LS0gIyMNCnwgDQp8IEFDTE9DQUw9JyR7U0hFTEx9IC9ob21lL2JvYmgvY2ZpbGVzL2F1dG9j b25mLTIuNTcvY29uZmlnL21pc3NpbmcgLS1ydW4gYWNsb2NhbC0xLjcnDQp8IEFNVEFSPSck e1NIRUxMfSAvaG9tZS9ib2JoL2NmaWxlcy9hdXRvY29uZi0yLjU3L2NvbmZpZy9taXNzaW5n IC0tcnVuIHRhcicNCnwgQVVUT0NPTkY9JyR7U0hFTEx9IC9ob21lL2JvYmgvY2ZpbGVzL2F1 dG9jb25mLTIuNTcvY29uZmlnL21pc3NpbmcgLS1ydW4gYXV0b2NvbmYnDQp8IEFVVE9IRUFE RVI9JyR7U0hFTEx9IC9ob21lL2JvYmgvY2ZpbGVzL2F1dG9jb25mLTIuNTcvY29uZmlnL21p c3NpbmcgLS1ydW4gYXV0b2hlYWRlcicNCnwgQVVUT01BS0U9JyR7U0hFTEx9IC9ob21lL2Jv YmgvY2ZpbGVzL2F1dG9jb25mLTIuNTcvY29uZmlnL21pc3NpbmcgLS1ydW4gYXV0b21ha2Ut MS43Jw0KfCBBV0s9J2dhd2snDQp8IENZR1BBVEhfVz0nZWNobycNCnwgREVGUz0nLURQQUNL QUdFX05BTUU9XCJHTlVcIEF1dG9jb25mXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJhdXRvY29u ZlwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMi41N1wiIC1EUEFDS0FHRV9TVFJJTkc9XCJHTlVc IEF1dG9jb25mXCAyLjU3XCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cImJ1Zy1hdXRvY29uZkBn bnUub3JnXCIgLURQQUNLQUdFPVwiYXV0b2NvbmZcIiAtRFZFUlNJT049XCIyLjU3XCIgJw0K fCBFQ0hPX0M9J0VDSE9fTj0nJw0KfCBFQ0hPX1Q9JycNCnwgRU1BQ1M9J25vJw0KfCBFWFBS PScvYmluL2V4cHInDQp8IEhFTFAyTUFOPScke1NIRUxMfSAvaG9tZS9ib2JoL2NmaWxlcy9h dXRvY29uZi0yLjU3L2NvbmZpZy9taXNzaW5nIC0tcnVuIGhlbHAybWFuJw0KfCBJTlNUQUxM X0RBVEE9JyR7SU5TVEFMTH0gLW0gNjQ0Jw0KfCBJTlNUQUxMX1BST0dSQU09JyR7SU5TVEFM TH0nDQp8IElOU1RBTExfU0NSSVBUPScke0lOU1RBTEx9Jw0KfCBJTlNUQUxMX1NUUklQX1BS T0dSQU09JyR7U0hFTEx9ICQoaW5zdGFsbF9zaCkgLWMgLXMnDQp8IExJQk9CSlM9JycNCnwg TElCUz0nJw0KfCBMVExJQk9CSlM9JycNCnwgTTQ9Jy91c3IvbG9jYWwvYmluL200Jw0KfCBN QUtFSU5GTz0nJHtTSEVMTH0gL2hvbWUvYm9iaC9jZmlsZXMvYXV0b2NvbmYtMi41Ny9jb25m aWcvbWlzc2luZyAtLXJ1biBtYWtlaW5mbycNCnwgUEFDS0FHRT0nYXV0b2NvbmYnDQp8IFBB Q0tBR0VfQlVHUkVQT1JUPSdidWctYXV0b2NvbmZAZ251Lm9yZycNCnwgUEFDS0FHRV9OQU1F PSdHTlUgQXV0b2NvbmYnDQp8IFBBQ0tBR0VfU1RSSU5HPSdHTlUgQXV0b2NvbmYgMi41NycN CnwgUEFDS0FHRV9UQVJOQU1FPSdhdXRvY29uZicNCnwgUEFDS0FHRV9WRVJTSU9OPScyLjU3 Jw0KfCBQQVRIX1NFUEFSQVRPUj0nOicNCnwgUEVSTD0nL2Jpbi9wZXJsJw0KfCBTRVRfTUFL RT0nJw0KfCBTSEVMTD0nL2Jpbi9zaCcNCnwgU1RSSVA9JycNCnwgVkVSU0lPTj0nMi41NycN CnwgYWNfY3RfU1RSSVA9JycNCnwgYmluZGlyPScke2V4ZWNfcHJlZml4fS9iaW4nDQp8IGJ1 aWxkX2FsaWFzPScnDQp8IGRhdGFkaXI9JyR7cHJlZml4fS9zaGFyZScNCnwgZXhlY19wcmVm aXg9JyR7cHJlZml4fScNCnwgaG9zdF9hbGlhcz0nJw0KfCBpbmNsdWRlZGlyPScke3ByZWZp eH0vaW5jbHVkZScNCnwgaW5mb2Rpcj0nJHtwcmVmaXh9L2luZm8nDQp8IGluc3RhbGxfc2g9 Jy9ob21lL2JvYmgvY2ZpbGVzL2F1dG9jb25mLTIuNTcvY29uZmlnL2luc3RhbGwtc2gnDQp8 IGxpYmRpcj0nJHtleGVjX3ByZWZpeH0vbGliJw0KfCBsaWJleGVjZGlyPScke2V4ZWNfcHJl Zml4fS9saWJleGVjJw0KfCBsaXNwZGlyPScnDQp8IGxvY2Fsc3RhdGVkaXI9JyR7cHJlZml4 fS92YXInDQp8IG1hbmRpcj0nJHtwcmVmaXh9L21hbicNCnwgb2xkaW5jbHVkZWRpcj0nL3Vz ci9pbmNsdWRlJw0KfCBwcmVmaXg9Jy91c3IvbG9jYWwnDQp8IHByb2dyYW1fdHJhbnNmb3Jt X25hbWU9J3MseCx4LCcNCnwgc2JpbmRpcj0nJHtleGVjX3ByZWZpeH0vc2JpbicNCnwgc2hh cmVkc3RhdGVkaXI9JyR7cHJlZml4fS9jb20nDQp8IHN5c2NvbmZkaXI9JyR7cHJlZml4fS9l dGMnDQp8IHRhcmdldF9hbGlhcz0nJw0KfCANCnwgIyMgLS0tLS0tLS0tLS0gIyMNCnwgIyMg Y29uZmRlZnMuaC4gIyMNCnwgIyMgLS0tLS0tLS0tLS0gIyMNCnwgDQp8ICNkZWZpbmUgUEFD S0FHRSAiYXV0b2NvbmYiDQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1hdXRv Y29uZkBnbnUub3JnIg0KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEF1dG9jb25mIg0K fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgQXV0b2NvbmYgMi41NyINCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImF1dG9jb25mIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMi41NyINCnwgI2RlZmluZSBWRVJTSU9OICIyLjU3Ig0KfCANCnwgY29uZmlndXJlOiBl eGl0IDANCg0K --------------7B6C5CF0F94299CEDCC73F5A--