From owner-freebsd-ports Sat Apr 7 7:15:51 2001 Delivered-To: freebsd-ports@freebsd.org Received: from epsilon.lucida.ca (epsilon.lucida.ca [209.47.215.67]) by hub.freebsd.org (Postfix) with SMTP id 1D87337B422 for ; Sat, 7 Apr 2001 07:15:14 -0700 (PDT) (envelope-from matt@LUCIDA.CA) Received: (qmail 25267 invoked by uid 1000); 7 Apr 2001 14:15:12 -0000 Received: from localhost (sendmail-bs@127.0.0.1) by localhost with SMTP; 7 Apr 2001 14:15:12 -0000 Date: Sat, 7 Apr 2001 10:15:11 -0400 (EDT) From: Matt Heckaman To: FreeBSD-PORTS Subject: problem with kdelibs-2.1.1 Message-ID: <20010407100905.F25218-200000@epsilon.lucida.ca> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-2142458674-986652911=:25218" X-Spam-Rating: localhost 1.6.2 0/1000/N Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-2142458674-986652911=:25218 Content-Type: TEXT/PLAIN; charset=US-ASCII -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi all, Has anyone had any problems with this port? I'm on a 4.2-STABLE machine with QT 2.3.0 installed from ports and it refuses to get through the configuration, looks like it's not finding QT. QT IS there though: matt[epsilon]:~> ldconfig -r | grep qt2 111:-lqt2.4 => /usr/X11R6/lib/libqt2.so.4 112:-lqt2-mt.4 => /usr/X11R6/lib/libqt2-mt.so.4 No problems with out applications using QT2 (licq, kdelibs 2.1, etc) ... I've attached the output from the configure which highlights the errors: checking for Qt... configure: error: Qt (>= Qt 2.2.2) (libraries) not found. Please check your installation! ... conftest.C: In function `int main()': conftest.C:20: warning: unused variable `int magnolia' conftest.C:15: warning: unused variable `class QStringList * t' /usr/lib/libgcc.a(_eh.o): In function `__empty': _eh.o(.text+0xe8): undefined reference to `pthread_setspecific' /usr/lib/libgcc.a(_eh.o): In function `__get_eh_info': _eh.o(.text+0x169): undefined reference to `pthread_key_create' _eh.o(.text+0x26a): undefined reference to `pthread_getspecific' _eh.o(.text+0x289): undefined reference to `pthread_setspecific' configure: failed program was: #include "confdefs.h" #include #include #include #include #include #include #include #include #if ! (QT_VERSION >= 222) #error 1 #endif int main() { QStringList *t = new QStringList(); QIconView iv(0); iv.setWordWrapIconText(false); QString s; s.setLatin1("Elvis is alive", 14); int magnolia = QEvent::Speech; /* new in 2.2 beta2 */ return 0; } (end of "config.log") *** Error code 1 Stop in /usr/ports/x11/kdelibs2. I'm a bit confused by the pthread(?) error stated, not sure. TIA. Matt * Matt Heckaman - mailto:matt@LUCIDA.CA http://www.lucida.ca/pgp * * GPG fingerprint - 53CA 8320 C8F6 32ED 9DDF 036E 3171 C093 4AD3 1364 * UNPRECEDENTED PERFORMANCE: nothing we had before ever worked this way. - Simon Travaglia -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (FreeBSD) Comment: http://www.lucida.ca/pgp iD8DBQE6zyDwMXHAk0rTE2QRAunkAKCSpIycThWIj5C4+ihIY/ct6kOnIgCeNpga aOZpuzCsViOTmT/fcqmXmz8= =ae6h -----END PGP SIGNATURE----- --0-2142458674-986652911=:25218 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="errors.log" Content-Transfer-Encoding: BASE64 Content-ID: <20010407101511.T25218@epsilon.lucida.ca> Content-Description: errors.log Content-Disposition: attachment; filename="errors.log" PT09PiAgRXh0cmFjdGluZyBmb3Iga2RlbGlicy0yLjEuMQ0KPj4gQ2hlY2tz dW0gT0sgZm9yIGtkZWxpYnMtMi4xLjEudGFyLmJ6Mi4NCj09PT4gICBrZGVs aWJzLTIuMS4xIGRlcGVuZHMgb24gZXhlY3V0YWJsZTogYnppcDIgLSBmb3Vu ZA0KPT09PiAgIGtkZWxpYnMtMi4xLjEgZGVwZW5kcyBvbiBleGVjdXRhYmxl OiBnbWFrZSAtIGZvdW5kDQo9PT0+ICAga2RlbGlicy0yLjEuMSBkZXBlbmRz IG9uIHNoYXJlZCBsaWJyYXJ5OiB0aWZmLjQgLSBmb3VuZA0KPT09PiAgIGtk ZWxpYnMtMi4xLjEgZGVwZW5kcyBvbiBzaGFyZWQgbGlicmFyeTogYXVkaW9m aWxlLjAgLSBmb3VuZA0KPT09PiAgIGtkZWxpYnMtMi4xLjEgZGVwZW5kcyBv biBzaGFyZWQgbGlicmFyeTogbWltZWxpYi4zIC0gZm91bmQNCj09PT4gICBr ZGVsaWJzLTIuMS4xIGRlcGVuZHMgb24gc2hhcmVkIGxpYnJhcnk6IHF0Mi40 IC0gZm91bmQNCj09PT4gIFBhdGNoaW5nIGZvciBrZGVsaWJzLTIuMS4xDQo9 PT0+ICBBcHBseWluZyBGcmVlQlNEIHBhdGNoZXMgZm9yIGtkZWxpYnMtMi4x LjENCj09PT4gIENvbmZpZ3VyaW5nIGZvciBrZGVsaWJzLTIuMS4xDQovdXNy L2Jpbi9wZXJsIC1waSAtZSAic0AtTzJALU8wQGciIC91c3IvcG9ydHMveDEx L2tkZWxpYnMyL3dvcmsva2RlbGlicy0yLjEuMS9jb25maWd1cmUNCihmaW5k IC91c3IvcG9ydHMveDExL2tkZWxpYnMyL3dvcmsva2RlbGlicy0yLjEuMSAt bmFtZSBNYWtlZmlsZS5pbiB8IHhhcmdzIC91c3IvYmluL3BlcmwgLXBpLm9y aWcgLWUgICJzQHZlcnNpb24taW5mbyAxOjBAdmVyc2lvbi1pbmZvIDQ6MEBn OyAgc0B2ZXJzaW9uLWluZm8gMzowQHZlcnNpb24taW5mbyA0OjBAZyIpDQpj cmVhdGluZyBjYWNoZSAuL2NvbmZpZy5jYWNoZQ0KY2hlY2tpbmcgaG9zdCBz eXN0ZW0gdHlwZS4uLiBpMzg2LS1mcmVlYnNkNC4yDQpjaGVja2luZyB0YXJn ZXQgc3lzdGVtIHR5cGUuLi4gaTM4Ni0tZnJlZWJzZDQuMg0KY2hlY2tpbmcg YnVpbGQgc3lzdGVtIHR5cGUuLi4gaTM4Ni0tZnJlZWJzZDQuMg0KY2hlY2tp bmcgZm9yIGEgQlNEIGNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC1vIHJvb3QgLWcgd2hlZWwNCmNoZWNraW5nIHdoZXRoZXIg YnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMNCmNoZWNraW5nIHdo ZXRoZXIgZ21ha2Ugc2V0cyAke01BS0V9Li4uIHllcw0KY2hlY2tpbmcgZm9y IHdvcmtpbmcgYWNsb2NhbC4uLiBmb3VuZA0KY2hlY2tpbmcgZm9yIHdvcmtp bmcgYXV0b2NvbmYuLi4gZm91bmQNCmNoZWNraW5nIGZvciB3b3JraW5nIGF1 dG9tYWtlLi4uIGZvdW5kDQpjaGVja2luZyBmb3Igd29ya2luZyBhdXRvaGVh ZGVyLi4uIGZvdW5kDQpjaGVja2luZyBmb3Igd29ya2luZyBtYWtlaW5mby4u LiBmb3VuZA0KY2hlY2tpbmcgZm9yIGEgQlNEIGNvbXBhdGlibGUgaW5zdGFs bC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1vIHJvb3QgLWcgd2hlZWwNCmNo ZWNraW5nIGZvciBhIEMtQ29tcGlsZXIuLi4gY2MNCmNoZWNraW5nIHdoZXRo ZXIgdGhlIEMgY29tcGlsZXIgKGNjIC1PIC1waXBlICkgd29ya3MuLi4geWVz DQpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIChjYyAtTyAtcGlw ZSApIGlzIGEgY3Jvc3MtY29tcGlsZXIuLi4gbm8NCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIHVzaW5nIEdOVSBDLi4uIHllcw0KY2hlY2tpbmcgaG93IHRv IHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IuLi4gY2MgLUUNCmNoZWNraW5nIGZv ciBhIEMrKy1Db21waWxlci4uLiBjKysNCmNoZWNraW5nIHdoZXRoZXIgdGhl IEMrKyBjb21waWxlciAoYysrICAtTyAtcGlwZSApIHdvcmtzLi4uIHllcw0K Y2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIChjKysgIC1PIC1w aXBlICkgaXMgYSBjcm9zcy1jb21waWxlci4uLiBubw0KY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgdXNpbmcgR05VIEMrKy4uLiB5ZXMNCmNoZWNraW5nIHdo ZXRoZXIgYysrIHN1cHBvcnRzIC1mbm8tZXhjZXB0aW9ucy4uLiB5ZXMNCmNo ZWNraW5nIHdoZXRoZXIgYysrIHN1cHBvcnRzIC1mbm8tY2hlY2stbmV3Li4u IHllcw0KY2hlY2tpbmcgd2hldGhlciBjKysgc3VwcG9ydHMgLVduby1sb25n LWxvbmcuLi4geWVzDQpjaGVja2luZyB3aGV0aGVyIGMrKyBzdXBwb3J0cyAt V25vbi12aXJ0dWFsLWR0b3IuLi4geWVzDQpjaGVja2luZyB3aGV0aGVyIGMr KyBzdXBwb3J0cyAtZm5vLWJ1aWx0aW4uLi4geWVzDQpjaGVja2luZyB3aGV0 aGVyIGMrKyBzdXBwb3J0cyAtZmV4Y2VwdGlvbnMuLi4geWVzDQpjaGVja2lu ZyB3aGV0aGVyIGMrKyBzdXBwb3J0cyAtZnJ0dGkuLi4geWVzDQpjaGVja2lu ZyBob3cgdG8gcnVuIHRoZSBDKysgcHJlcHJvY2Vzc29yLi4uIGMrKyAtRQ0K Y2hlY2tpbmcgd2hldGhlciBjKysgc3VwcG9ydHMgLWZyZXBvLi4uIHllcw0K Y2hlY2tpbmcgZm9yIGxkIHVzZWQgYnkgR0NDLi4uIC91c3IvbGliZXhlYy9l bGYvbGQNCmNoZWNraW5nIGlmIHRoZSBsaW5rZXIgKC91c3IvbGliZXhlYy9l bGYvbGQpIGlzIEdOVSBsZC4uLiB5ZXMNCmNoZWNraW5nIGZvciAvdXNyL2xp YmV4ZWMvZWxmL2xkIG9wdGlvbiB0byByZWxvYWQgb2JqZWN0IGZpbGVzLi4u IC1yDQpjaGVja2luZyBmb3IgQlNELWNvbXBhdGlibGUgbm0uLi4gL3Vzci9i aW4vbm0gLUINCmNoZWNraW5nIHdoZXRoZXIgbG4gLXMgd29ya3MuLi4geWVz DQpjaGVja2luZyBob3cgdG8gcmVjb2duaXNlIGRlcGVuZGFudCBsaWJyYXJp ZXMuLi4gcGFzc19hbGwNCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGli DQpjaGVja2luZyBmb3Igc3RyaXAuLi4gc3RyaXANCmNoZWNraW5nIGZvciBD eWd3aW4gZW52aXJvbm1lbnQuLi4gbm8NCmNoZWNraW5nIGZvciBtaW5ndzMy IGVudmlyb25tZW50Li4uIG5vDQp1cGRhdGluZyBjYWNoZSAuL2NvbmZpZy5j YWNoZQ0KbG9hZGluZyBjYWNoZSAuL2NvbmZpZy5jYWNoZSB3aXRoaW4gbHRj b25maWcNCmNoZWNraW5nIHdoZXRoZXIgLWxjIHNob3VsZCBiZSBleHBsaWNp dGx5IGxpbmtlZCBpbi4uLiAoc2tpcHBpbmcsIHVzaW5nIG5vKSBubw0KY2hl Y2tpbmcgZm9yIG9iamRpci4uLiAubGlicw0KY2hlY2tpbmcgZm9yIGNjIG9w dGlvbiB0byBwcm9kdWNlIFBJQy4uLiAtZlBJQyAtRFBJQw0KY2hlY2tpbmcg aWYgY2MgUElDIGZsYWcgLWZQSUMgLURQSUMgd29ya3MuLi4geWVzDQpjaGVj a2luZyBpZiBjYyBzdGF0aWMgZmxhZyAtc3RhdGljIHdvcmtzLi4uIHllcw0K Y2hlY2tpbmcgaWYgY2Mgc3VwcG9ydHMgLWMgLW8gZmlsZS5vLi4uIHllcw0K Y2hlY2tpbmcgaWYgY2Mgc3VwcG9ydHMgLWZuby1ydHRpIC1mbm8tZXhjZXB0 aW9ucyAuLi4geWVzDQpjaGVja2luZyB3aGV0aGVyIHRoZSBsaW5rZXIgKC91 c3IvbGliZXhlYy9lbGYvbGQpIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMu Li4geWVzDQpjaGVja2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRo cyBpbnRvIHByb2dyYW1zLi4uIGltbWVkaWF0ZQ0KY2hlY2tpbmcgd2hldGhl ciBzdHJpcHBpbmcgbGlicmFyaWVzIGlzIHBvc3NpYmxlLi4uIHllcw0KY2hl Y2tpbmcgZHluYW1pYyBsaW5rZXIgY2hhcmFjdGVyaXN0aWNzLi4uIGZyZWVi c2Q0LjIgbGQuc28NCmNoZWNraW5nIGNvbW1hbmQgdG8gcGFyc2UgL3Vzci9i aW4vbm0gLUIgb3V0cHV0Li4uIG9rDQpjaGVja2luZyBpZiBsaWJ0b29sIHN1 cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMuLi4geWVzDQpjaGVja2luZyB3aGV0 aGVyIHRvIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMuLi4geWVzDQpjaGVja2lu ZyB3aGV0aGVyIHRvIGJ1aWxkIHN0YXRpYyBsaWJyYXJpZXMuLi4gbm8NCmNo ZWNraW5nIGZvciBkbG9wZW4gaW4gLWxkbC4uLiBubw0KY2hlY2tpbmcgZm9y IGRsb3Blbi4uLiB5ZXMNCmNoZWNraW5nIGZvciBkbGZjbi5oLi4uIHllcw0K Y2hlY2tpbmcgd2hldGhlciBhIHByb2dyYW0gY2FuIGRsb3BlbiBpdHNlbGYu Li4geWVzDQpjaGVja2luZyB3aGV0aGVyIGEgc3RhdGljYWxseSBsaW5rZWQg cHJvZ3JhbSBjYW4gZGxvcGVuIGl0c2VsZi4uLiBubw0KY3JlYXRpbmcgbGli dG9vbA0KdXBkYXRpbmcgY2FjaGUgLi9jb25maWcuY2FjaGUNCmxvYWRpbmcg Y2FjaGUgLi9jb25maWcuY2FjaGUNCmxvYWRpbmcgY2FjaGUgLi9jb25maWcu Y2FjaGUgd2l0aGluIGx0Y29uZmlnDQpjaGVja2luZyBob3N0IHN5c3RlbSB0 eXBlLi4uIGkzODYtLWZyZWVic2Q0LjINCmNoZWNraW5nIGJ1aWxkIHN5c3Rl bSB0eXBlLi4uIGkzODYtLWZyZWVic2Q0LjINCmx0Y2YtY3h4OiB3aXRoX2dj Yz15ZXMgOyB3aXRoX2dudV9sZD15ZXMNCmNoZWNraW5nIGZvciBvYmpkaXIu Li4gLmxpYnMNCmNoZWNraW5nIGZvciBjKysgb3B0aW9uIHRvIHByb2R1Y2Ug UElDLi4uIC1mUElDIC1EUElDDQpjaGVja2luZyBpZiBjKysgUElDIGZsYWcg LWZQSUMgLURQSUMgd29ya3MuLi4geWVzDQpjaGVja2luZyBpZiBjKysgc3Rh dGljIGZsYWcgLXN0YXRpYyB3b3Jrcy4uLiB5ZXMNCmNoZWNraW5nIGlmIGMr KyBzdXBwb3J0cyAtYyAtbyBmaWxlLm8uLi4geWVzDQpjaGVja2luZyBpZiBj Kysgc3VwcG9ydHMgLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucyAuLi4geWVz DQpjaGVja2luZyB3aGV0aGVyIHRoZSBsaW5rZXIgKGMrKykgc3VwcG9ydHMg c2hhcmVkIGxpYnJhcmllcy4uLiB5ZXMNCmNoZWNraW5nIGhvdyB0byBoYXJk Y29kZSBsaWJyYXJ5IHBhdGhzIGludG8gcHJvZ3JhbXMuLi4gaW1tZWRpYXRl DQpjaGVja2luZyB3aGV0aGVyIHN0cmlwcGluZyBsaWJyYXJpZXMgaXMgcG9z c2libGUuLi4geWVzDQpjaGVja2luZyBkeW5hbWljIGxpbmtlciBjaGFyYWN0 ZXJpc3RpY3MuLi4gZnJlZWJzZDQuMiBsZC5zbw0KY2hlY2tpbmcgY29tbWFu ZCB0byBwYXJzZSAvdXNyL2Jpbi9ubSAtQiBvdXRwdXQuLi4gb2sNCmNoZWNr aW5nIGlmIGxpYnRvb2wgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcy4uLiB5 ZXMNCmNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgc2hhcmVkIGxpYnJhcmll cy4uLiB5ZXMNCmNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgc3RhdGljIGxp YnJhcmllcy4uLiBubw0KY2hlY2tpbmcgZm9yIGRsZmNuLmguLi4gKGNhY2hl ZCkgeWVzDQpjaGVja2luZyB3aGV0aGVyIGEgcHJvZ3JhbSBjYW4gZGxvcGVu IGl0c2VsZi4uLiAoY2FjaGVkKSB5ZXMNCmNoZWNraW5nIHdoZXRoZXIgYSBz dGF0aWNhbGx5IGxpbmtlZCBwcm9ncmFtIGNhbiBkbG9wZW4gaXRzZWxmLi4u IChjYWNoZWQpIG5vDQphcHBlbmRpbmcgY29uZmlndXJhdGlvbiB0YWcgIkNY WCIgdG8gbGlidG9vbA0KY2hlY2tpbmcgZm9yIG9iamVjdCBzdWZmaXguLi4g bw0KY2hlY2tpbmcgZm9yIGV4ZWN1dGFibGUgc3VmZml4Li4uIG5vDQpjaGVj a2luZyBmb3IgbXNnZm10Li4uIC91c3IvbG9jYWwvYmluL21zZ2ZtdA0KY2hl Y2tpbmcgZm9yIGdtc2dmbXQuLi4gL3Vzci9sb2NhbC9iaW4vbXNnZm10DQpj aGVja2luZyBmb3IgeGdldHRleHQuLi4gL3Vzci9sb2NhbC9iaW4veGdldHRl eHQNCmNoZWNraW5nIGZvciByYW5saWIuLi4gKGNhY2hlZCkgcmFubGliDQpj aGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcy4uLiB5ZXMNCmNoZWNr aW5nIGZvciBvZmZfdC4uLiB5ZXMNCmNoZWNraW5nIGZvciBzaXplX3QuLi4g eWVzDQpjaGVja2luZyBmb3Igd29ya2luZyBhbGxvY2EuaC4uLiBubw0KY2hl Y2tpbmcgZm9yIGFsbG9jYS4uLiB5ZXMNCmNoZWNraW5nIGZvciB1bmlzdGQu aC4uLiB5ZXMNCmNoZWNraW5nIGZvciBnZXRwYWdlc2l6ZS4uLiB5ZXMNCmNo ZWNraW5nIGZvciB3b3JraW5nIG1tYXAuLi4geWVzDQpjaGVja2luZyBmb3Ig YXJnei5oLi4uIG5vDQpjaGVja2luZyBmb3IgbGltaXRzLmguLi4geWVzDQpj aGVja2luZyBmb3IgbG9jYWxlLmguLi4geWVzDQpjaGVja2luZyBmb3Igbmxf dHlwZXMuaC4uLiB5ZXMNCmNoZWNraW5nIGZvciBzdHJpbmcuaC4uLiB5ZXMN CmNoZWNraW5nIGZvciB2YWx1ZXMuaC4uLiBubw0KY2hlY2tpbmcgZm9yIGFs bG9jYS5oLi4uIChjYWNoZWQpIG5vDQpjaGVja2luZyBmb3IgZ2V0Y3dkLi4u IHllcw0KY2hlY2tpbmcgZm9yIG11bm1hcC4uLiB5ZXMNCmNoZWNraW5nIGZv ciBwdXRlbnYuLi4geWVzDQpjaGVja2luZyBmb3Igc2V0ZW52Li4uIHllcw0K Y2hlY2tpbmcgZm9yIHNldGxvY2FsZS4uLiB5ZXMNCmNoZWNraW5nIGZvciBz dHJjaHIuLi4geWVzDQpjaGVja2luZyBmb3Igc3RyY2FzZWNtcC4uLiB5ZXMN CmNoZWNraW5nIGZvciBfX2FyZ3pfY291bnQuLi4gbm8NCmNoZWNraW5nIGZv ciBfX2FyZ3pfc3RyaW5naWZ5Li4uIG5vDQpjaGVja2luZyBmb3IgX19hcmd6 X25leHQuLi4gbm8NCmNoZWNraW5nIGZvciBzdHBjcHkuLi4gbm8NCmNoZWNr aW5nIGZvciBMQ19NRVNTQUdFUy4uLiB5ZXMNCmNoZWNraW5nIGlmIFNUTCBp bXBsZW1lbnRhdGlvbiBpcyBTR0kgbGlrZS4uLiB5ZXMNCmNoZWNraW5nIGZv ciBkaXJlbnQuaCB0aGF0IGRlZmluZXMgRElSLi4uIHllcw0KY2hlY2tpbmcg Zm9yIG9wZW5kaXIgaW4gLWxkaXIuLi4gbm8NCmNoZWNraW5nIGZvciBBTlNJ IEMgaGVhZGVyIGZpbGVzLi4uIChjYWNoZWQpIHllcw0KY2hlY2tpbmcgZm9y IHN5cy9wYXJhbS5oLi4uIHllcw0KY2hlY2tpbmcgZm9yIHN5cy9tbWFuLmgu Li4geWVzDQpjaGVja2luZyBmb3Igc3lzL3RpbWUuaC4uLiB5ZXMNCmNoZWNr aW5nIGZvciBzeXMvY2RlZnMuaC4uLiB5ZXMNCmNoZWNraW5nIGZvciBmbm1h dGNoLmguLi4geWVzDQpjaGVja2luZyBmb3Igc3lzZW50LmguLi4gbm8NCmNo ZWNraW5nIGZvciBzdHJpbmdzLmguLi4geWVzDQpjaGVja2luZyBmb3Igc3lz L3N0YXQuaC4uLiB5ZXMNCmNoZWNraW5nIGZvciBzeXMvc2VsZWN0LmguLi4g eWVzDQpjaGVja2luZyBmb3Igc3lzL3NvY2tldC5oLi4uIHllcw0KY2hlY2tp bmcgZm9yIGxpbnV4L3NvY2tldC5oLi4uIG5vDQpjaGVja2luZyBmb3Igc29j a2V0Yml0cy5oLi4uIG5vDQpjaGVja2luZyBmb3Igc2lnYWN0aW9uLmguLi4g bm8NCmNoZWNraW5nIGZvciBwYXRocy5oLi4uIHllcw0KY2hlY2tpbmcgZm9y IG1hbGxvYy5oLi4uIG5vDQpjaGVja2luZyBmb3IgbW9uZXRhcnkuaC4uLiBu bw0KY2hlY2tpbmcgZm9yIGxpbWl0cy5oLi4uIChjYWNoZWQpIHllcw0KY2hl Y2tpbmcgZm9yIHN5cy9zb3VuZGNhcmQuaC4uLiB5ZXMNCmNoZWNraW5nIGZv ciBkbGZjbi5oLi4uIChjYWNoZWQpIHllcw0KY2hlY2tpbmcgZm9yIG1haW4g aW4gLWxjb21wYXQuLi4geWVzDQpjaGVja2luZyBmb3IgY3J5cHQgaW4gLWxj cnlwdC4uLiB5ZXMNCmNoZWNraW5nIGZvciB0aGUgdGhpcmQgYXJndW1lbnQg b2YgZ2V0c29ja25hbWUuLi4gc29ja2xlbl90DQpjaGVja2luZyBmb3IgZG5l dF9udG9hIGluIC1sZG5ldC4uLiBubw0KY2hlY2tpbmcgZm9yIGRuZXRfbnRv YSBpbiAtbGRuZXRfc3R1Yi4uLiBubw0KY2hlY2tpbmcgZm9yIGluZXRfbnRv YS4uLiB5ZXMNCmNoZWNraW5nIGZvciBjb25uZWN0Li4uIHllcw0KY2hlY2tp bmcgZm9yIHJlbW92ZS4uLiB5ZXMNCmNoZWNraW5nIGZvciBzaG1hdC4uLiB5 ZXMNCmNoZWNraW5nIGZvciByZXNfaW5pdC4uLiB5ZXMNCmNoZWNraW5nIGZv ciBraWxscGcgaW4gLWx1Y2IuLi4gbm8NCmNoZWNraW5nIHNpemUgb2YgaW50 Li4uIDQNCmNoZWNraW5nIHNpemUgb2YgbG9uZy4uLiA0DQpjaGVja2luZyBz aXplIG9mIGNoYXIgKi4uLiA0DQpjaGVja2luZyBmb3IgZGxvcGVuIGluIC1s ZGwuLi4gKGNhY2hlZCkgbm8NCmNoZWNraW5nIGZvciBzaGxfdW5sb2FkIGlu IC1sZGxkLi4uIG5vDQpjaGVja2luZyBmb3IgZXh0cmEgaW5jbHVkZXMuLi4g bm8NCmNoZWNraW5nIGZvciBleHRyYSBsaWJzLi4uIGFkZGVkDQpjaGVja2lu ZyBmb3IgbGliei4uLiAtbHoNCmNoZWNraW5nIGZvciBYLi4uIGxpYnJhcmll cyAvdXNyL1gxMVI2L2xpYiwgaGVhZGVycyAvdXNyL1gxMVI2L2luY2x1ZGUN CmNoZWNraW5nIGZvciBJY2VDb25uZWN0aW9uTnVtYmVyIGluIC1sSUNFLi4u IHllcw0KY2hlY2tpbmcgZm9yIGxpYlhleHQuLi4geWVzDQpjaGVja2luZyBm b3IgbGlicG5nLi4uIC1scG5nIC1seiAtbG0NCmNoZWNraW5nIGZvciBsaWJq cGVnNmIuLi4gbm8NCmNoZWNraW5nIGZvciBsaWJqcGVnLi4uIC1sanBlZw0K Y2hlY2tpbmcgZm9yIFF0Li4uIGNvbmZpZ3VyZTogZXJyb3I6IFF0ICg+PSBR dCAyLjIuMikgKGxpYnJhcmllcykgbm90IGZvdW5kLiBQbGVhc2UgY2hlY2sg eW91ciBpbnN0YWxsYXRpb24hDQpGb3IgbW9yZSBkZXRhaWxzIGFib3V0IHRo aXMgcHJvYmxlbSwgbG9vayBhdCB0aGUgZW5kIG9mIGNvbmZpZy5sb2cuDQo9 PT0+ICBTY3JpcHQgImNvbmZpZ3VyZSIgZmFpbGVkOiBoZXJlIGFyZSB0aGUg Y29udGVudHMgb2YgImNvbmZpZy5sb2ciDQpUaGlzIGZpbGUgY29udGFpbnMg YW55IG1lc3NhZ2VzIHByb2R1Y2VkIGJ5IGNvbXBpbGVycyB3aGlsZQ0KcnVu bmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJl IG1ha2VzIGEgbWlzdGFrZS4NCg0KY29uZmlndXJlOjY4OTogY2hlY2tpbmcg aG9zdCBzeXN0ZW0gdHlwZQ0KY29uZmlndXJlOjcxMDogY2hlY2tpbmcgdGFy Z2V0IHN5c3RlbSB0eXBlDQpjb25maWd1cmU6NzI4OiBjaGVja2luZyBidWls ZCBzeXN0ZW0gdHlwZQ0KY29uZmlndXJlOjc4NzogY2hlY2tpbmcgZm9yIGEg QlNEIGNvbXBhdGlibGUgaW5zdGFsbA0KY29uZmlndXJlOjg2NzogY2hlY2tp bmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lDQpjb25maWd1 cmU6OTA1OiBjaGVja2luZyB3aGV0aGVyIGdtYWtlIHNldHMgJHtNQUtFfQ0K Y29uZmlndXJlOjk1MTogY2hlY2tpbmcgZm9yIHdvcmtpbmcgYWNsb2NhbA0K Y29uZmlndXJlOjk2NDogY2hlY2tpbmcgZm9yIHdvcmtpbmcgYXV0b2NvbmYN CmNvbmZpZ3VyZTo5Nzc6IGNoZWNraW5nIGZvciB3b3JraW5nIGF1dG9tYWtl DQpjb25maWd1cmU6OTkwOiBjaGVja2luZyBmb3Igd29ya2luZyBhdXRvaGVh ZGVyDQpjb25maWd1cmU6MTAwMzogY2hlY2tpbmcgZm9yIHdvcmtpbmcgbWFr ZWluZm8NCmNvbmZpZ3VyZToxMDI4OiBjaGVja2luZyBmb3IgYSBCU0QgY29t cGF0aWJsZSBpbnN0YWxsDQpjb25maWd1cmU6MTE0MTogY2hlY2tpbmcgZm9y IGEgQy1Db21waWxlcg0KY29uZmlndXJlOjEyNTM6IGNoZWNraW5nIHdoZXRo ZXIgdGhlIEMgY29tcGlsZXIgKGNjIC1PIC1waXBlICkgd29ya3MNCmNvbmZp Z3VyZToxMjY5OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAgLUkvdXNyL2lu Y2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BUSF9QVEhSRUFEX0hf ICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAt SS91c3IvWDExUjYvaW5jbHVkZS9xdDIgIGNvbmZ0ZXN0LmMgLVdsLC1leHBv cnQtZHluYW1pYyAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9YMTFSNi9saWIg LWxqcGVnIC1sZ2NjIC1sc3RkYysrIDE+JjUNCmNvbmZpZ3VyZToxMjk1OiBj aGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIChjYyAtTyAtcGlwZSAp IGlzIGEgY3Jvc3MtY29tcGlsZXINCmNvbmZpZ3VyZToxMzAwOiBjaGVja2lu ZyB3aGV0aGVyIHdlIGFyZSB1c2luZyBHTlUgQw0KY29uZmlndXJlOjEzMDk6 IGNjIC1FIGNvbmZ0ZXN0LmMNCmNvbmZpZ3VyZToxNDEyOiBjaGVja2luZyBo b3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nvcg0KY29uZmlndXJlOjE0MzM6 IGNjIC1FICAtSS91c3IvaW5jbHVkZSAtRF9HRVRPUFRfSCAtRF9QVEhfSF8g LURfUFRIX1BUSFJFQURfSF8gIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlL3F0MiBjb25m dGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQNCmNvbmZpZ3VyZTox NDc0OiBjaGVja2luZyBmb3IgYSBDKystQ29tcGlsZXINCmNvbmZpZ3VyZTox NTk2OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgKGMrKyAg LU8gLXBpcGUgKSB3b3Jrcw0KY29uZmlndXJlOjE2MTc6IHJtIC1yZiBTdW5X U19jYWNoZTsgYysrIC1vIGNvbmZ0ZXN0ICAtTyAtcGlwZSAgLUkvdXNyL2lu Y2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BUSF9QVEhSRUFEX0hf ICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAt SS91c3IvWDExUjYvaW5jbHVkZS9xdDIgIGNvbmZ0ZXN0LkMgLVdsLC1leHBv cnQtZHluYW1pYyAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9YMTFSNi9saWIg LWxqcGVnIC1sZ2NjIC1sc3RkYysrIDE+JjUNCmNvbmZpZ3VyZToxNjQzOiBj aGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgKGMrKyAgLU8gLXBp cGUgKSBpcyBhIGNyb3NzLWNvbXBpbGVyDQpjb25maWd1cmU6MTY0ODogY2hl Y2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgR05VIEMrKw0KY29uZmlndXJl OjE2NTc6IGMrKyAtRSBjb25mdGVzdC5DDQpjb25maWd1cmU6MTczMjogY2hl Y2tpbmcgd2hldGhlciBjKysgc3VwcG9ydHMgLWZuby1leGNlcHRpb25zDQpj b25maWd1cmU6MTc2NjogY2hlY2tpbmcgd2hldGhlciBjKysgc3VwcG9ydHMg LWZuby1jaGVjay1uZXcNCmNvbmZpZ3VyZToxODA1OiBjaGVja2luZyB3aGV0 aGVyIGMrKyBzdXBwb3J0cyAtV25vLWxvbmctbG9uZw0KY29uZmlndXJlOjE4 Mzc6IGNoZWNraW5nIHdoZXRoZXIgYysrIHN1cHBvcnRzIC1Xbm9uLXZpcnR1 YWwtZHRvcg0KY29uZmlndXJlOjE4Njk6IGNoZWNraW5nIHdoZXRoZXIgYysr IHN1cHBvcnRzIC1mbm8tYnVpbHRpbg0KY29uZmlndXJlOjE5MTQ6IGNoZWNr aW5nIHdoZXRoZXIgYysrIHN1cHBvcnRzIC1mZXhjZXB0aW9ucw0KY29uZmln dXJlOjE5NDk6IGNoZWNraW5nIHdoZXRoZXIgYysrIHN1cHBvcnRzIC1mcnR0 aQ0KY29uZmlndXJlOjIwMzg6IGNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMr KyBwcmVwcm9jZXNzb3INCmNvbmZpZ3VyZToyMDYwOiBjKysgLUUgIC1JL3Vz ci9pbmNsdWRlIC1EX0dFVE9QVF9IIC1EX1BUSF9IXyAtRF9QVEhfUFRIUkVB RF9IXyAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUvcXQyIGNvbmZ0ZXN0LkMgPi9kZXYv bnVsbCAyPmNvbmZ0ZXN0Lm91dA0KY29uZmlndXJlOjIxMjE6IGNoZWNraW5n IHdoZXRoZXIgYysrIHN1cHBvcnRzIC1mcmVwbw0KY29uZmlndXJlOjIzMjU6 IGNoZWNraW5nIGZvciBsZCB1c2VkIGJ5IEdDQw0KY29uZmlndXJlOjIzOTM6 IGNoZWNraW5nIGlmIHRoZSBsaW5rZXIgKC91c3IvbGliZXhlYy9lbGYvbGQp IGlzIEdOVSBsZA0KR05VIGxkIHZlcnNpb24gMi4xMC4xICh3aXRoIEJGRCAy LjEwLjEpDQpjb25maWd1cmU6MjQxMDogY2hlY2tpbmcgZm9yIC91c3IvbGli ZXhlYy9lbGYvbGQgb3B0aW9uIHRvIHJlbG9hZCBvYmplY3QgZmlsZXMNCmNv bmZpZ3VyZToyNDIyOiBjaGVja2luZyBmb3IgQlNELWNvbXBhdGlibGUgbm0N CmNvbmZpZ3VyZToyNDYwOiBjaGVja2luZyB3aGV0aGVyIGxuIC1zIHdvcmtz DQpjb25maWd1cmU6MjQ4MTogY2hlY2tpbmcgaG93IHRvIHJlY29nbmlzZSBk ZXBlbmRhbnQgbGlicmFyaWVzDQpjb25maWd1cmU6Mjc5NjogY2hlY2tpbmcg Zm9yIHJhbmxpYg0KY29uZmlndXJlOjI4NjM6IGNoZWNraW5nIGZvciBzdHJp cA0KY29uZmlndXJlOjMwMzU6IGNoZWNraW5nIGZvciBDeWd3aW4gZW52aXJv bm1lbnQNCmNvbmZpZ3VyZTozMDUxOiBjYyAtYyAtTzAgLU8gLXBpcGUgIC1J L3Vzci9pbmNsdWRlIC1EX0dFVE9QVF9IIC1EX1BUSF9IXyAtRF9QVEhfUFRI UkVBRF9IXyAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUvcXQyIGNvbmZ0ZXN0LmMgMT4m NQ0KY29uZmlndXJlOiBJbiBmdW5jdGlvbiBgbWFpbic6DQpjb25maWd1cmU6 MzA0NzogYF9fQ1lHV0lOMzJfXycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pDQpjb25maWd1cmU6MzA0NzogKEVhY2ggdW5kZWNs YXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZQ0KY29uZmln dXJlOjMwNDc6IGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4uKQ0K Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAzMDQwICJj b25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCg0KaW50IG1haW4o KSB7DQoNCiNpZm5kZWYgX19DWUdXSU5fXw0KI2RlZmluZSBfX0NZR1dJTl9f IF9fQ1lHV0lOMzJfXw0KI2VuZGlmDQpyZXR1cm4gX19DWUdXSU5fXzsNCjsg cmV0dXJuIDA7IH0NCmNvbmZpZ3VyZTozMDY4OiBjaGVja2luZyBmb3IgbWlu Z3czMiBlbnZpcm9ubWVudA0KY29uZmlndXJlOjMwODA6IGNjIC1jIC1PMCAt TyAtcGlwZSAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hf IC1EX1BUSF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgY29u ZnRlc3QuYyAxPiY1DQpjb25maWd1cmU6IEluIGZ1bmN0aW9uIGBtYWluJzoN CmNvbmZpZ3VyZTozMDc2OiBgX19NSU5HVzMyX18nIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQ0KY29uZmlndXJlOjMwNzY6IChF YWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9u Y2UNCmNvbmZpZ3VyZTozMDc2OiBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBl YXJzIGluLikNCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xp bmUgMzA3MyAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQoN CmludCBtYWluKCkgew0KcmV0dXJuIF9fTUlOR1czMl9fOw0KOyByZXR1cm4g MDsgfQ0KbHRjb25maWc6Njc2OmNoZWNraW5nIGZvciBjYyBvcHRpb24gdG8g cHJvZHVjZSBQSUMNCmx0Y29uZmlnOjY4NTpjaGVja2luZyB0aGF0IGNjIFBJ QyBmbGFnIC1mUElDIC1EUElDIHdvcmtzLg0KbHRjb25maWc6Njk1OiBjYyAt YyAtTzAgLU8gLXBpcGUgLWZQSUMgLURQSUMgLURQSUMgIC1JL3Vzci9pbmNs dWRlIC1EX0dFVE9QVF9IIC1EX1BUSF9IXyAtRF9QVEhfUFRIUkVBRF9IXyAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkv dXNyL1gxMVI2L2luY2x1ZGUvcXQyIGNvbmZ0ZXN0LmMgMT4mNQ0KbHRjb25m aWc6NzQ3OiBjaGVja2luZyBpZiBjYyBzdGF0aWMgZmxhZyAtc3RhdGljIHdv cmtzDQpsdGNvbmZpZzo3NTY6IGNjIC1vIGNvbmZ0ZXN0IC1PMCAtTyAtcGlw ZSAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BU SF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9j YWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgIC1zdGF0aWMg Y29uZnRlc3QuYyAtV2wsLWV4cG9ydC1keW5hbWljIC1ML3Vzci9sb2NhbC9s aWIgLUwvdXNyL1gxMVI2L2xpYiAtbGpwZWcgLWxnY2MgLWxzdGRjKysgMT4m NQ0KbHRjb25maWc6NzkzOiBjaGVja2luZyBpZiBjYyBzdXBwb3J0cyAtYyAt byBmaWxlLm8NCmx0Y29uZmlnOjc5NDogY2MgLWMgLU8wIC1PIC1waXBlIC1v IG91dC9jb25mdGVzdDIubyAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0gg LURfUFRIX0hfIC1EX1BUSF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5j bHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVk ZS9xdDIgY29uZnRlc3QuYyAxPiY1DQpsdGNvbmZpZzo4NDc6IGNoZWNraW5n IGlmIGNjIHN1cHBvcnRzIC1mbm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMNCmx0 Y29uZmlnOjg0ODogY2MgLWMgLU8wIC1PIC1waXBlIC1mbm8tcnR0aSAtZm5v LWV4Y2VwdGlvbnMgLWMgY29uZnRlc3QuYyAgLUkvdXNyL2luY2x1ZGUgLURf R0VUT1BUX0ggLURfUFRIX0hfIC1EX1BUSF9QVEhSRUFEX0hfICAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDEx UjYvaW5jbHVkZS9xdDIgY29uZnRlc3QuYyAxPiY1DQpsdGNvbmZpZzoxMzI2 OiBjaGVja2luZyBpZiBnbG9iYWxfc3ltYm9sX3BpcGUgd29ya3MNCmx0Y29u ZmlnOjEzMjc6IGNjIC1jIC1PMCAtTyAtcGlwZSAgLUkvdXNyL2luY2x1ZGUg LURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BUSF9QVEhSRUFEX0hfICAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3Iv WDExUjYvaW5jbHVkZS9xdDIgY29uZnRlc3QuYyAxPiY1DQpsdGNvbmZpZzox MzMwOiBldmFsICIvdXNyL2Jpbi9ubSAtQiBjb25mdGVzdC5vIHwgc2VkIC1u IC1lICdzL14uKlsgCV1cKFtBQkNER0lTVFddXClbIAldWyAJXSpcKFwpXChb X0EtWmEtel1bX0EtWmEtejAtOV0qXCkkL1wxIFwyXDMgXDMvcCcgPiBjb25m dGVzdC5ubSINCmx0Y29uZmlnOjE0MDQ6IGNjIC1vIGNvbmZ0ZXN0IC1PMCAt TyAtcGlwZSAtZm5vLWJ1aWx0aW4gLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9u cyAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BU SF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9j YWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgIGNvbmZ0ZXN0 LmMgY29uZnRzdG0ubyAxPiY1DQpsdGNvbmZpZzoxNTA4OiBjaGVja2luZyBm b3IgZGxvcGVuIGluIC1sZGwNCmx0Y29uZmlnOjE1Mjg6IGNjIC1vIGNvbmZ0 ZXN0IC1PMCAtTyAtcGlwZSAtZm5vLWJ1aWx0aW4gLWZuby1ydHRpIC1mbm8t ZXhjZXB0aW9ucyAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRI X0hfIC1EX1BUSF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAt SS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIg IGNvbmZ0ZXN0LmMgLWxkbCAgLVdsLC1leHBvcnQtZHluYW1pYyAtTC91c3Iv bG9jYWwvbGliIC1ML3Vzci9YMTFSNi9saWIgLWxqcGVnIC1sZ2NjIC1sc3Rk YysrIDE+JjUNCi91c3IvbGliZXhlYy9lbGYvbGQ6IGNhbm5vdCBmaW5kIC1s ZGwNCmx0Y29uZmlnOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQovKiNsaW5lIDE1 MTUgImx0Y29uZmlnIiovDQovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5h bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0KLyogV2UgdXNl IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl IG9mIGEgZ2NjMg0KICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50 IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovDQojaWZkZWYgX19j cGx1c3BsdXMNCmV4dGVybiAiQyINCiNlbmRpZg0KY2hhciBkbG9wZW4oKTsN Cg0KaW50IG1haW4oKSB7DQpkbG9wZW4oKQ0KOyByZXR1cm4gMDsgfQ0KbHRj b25maWc6MTU0NzogY2hlY2tpbmcgZm9yIGRsb3Blbg0KbHRjb25maWc6MTU3 NzogY2MgLW8gY29uZnRlc3QgLU8wIC1PIC1waXBlIC1mbm8tYnVpbHRpbiAt Zm5vLXJ0dGkgLWZuby1leGNlcHRpb25zICAtSS91c3IvaW5jbHVkZSAtRF9H RVRPUFRfSCAtRF9QVEhfSF8gLURfUFRIX1BUSFJFQURfSF8gIC1JL3Vzci9s b2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFS Ni9pbmNsdWRlL3F0MiAgY29uZnRlc3QuYyAtV2wsLWV4cG9ydC1keW5hbWlj IC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL1gxMVI2L2xpYiAtbGpwZWcgLWxn Y2MgLWxzdGRjKysgMT4mNQ0KbHRjb25maWc6MTc4ODogY2hlY2tpbmcgZm9y IGRsZmNuLmgNCmx0Y29uZmlnOjE3OTk6IGNjIC1jIC1PMCAtTyAtcGlwZSAt Zm5vLWJ1aWx0aW4gLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucyAgLUkvdXNy L2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BUSF9QVEhSRUFE X0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgY29uZnRlc3QuYyAxPiY1ID4v ZGV2L251bGwgMj5jb25mdGVzdC5vdXQNCmx0Y29uZmlnOjE4Mjc6IGNoZWNr aW5nIHdoZXRoZXIgYSBwcm9ncmFtIGNhbiBkbG9wZW4gaXRzZWxmDQpsdGNv bmZpZzoxODgxOiBjYyAtbyBjb25mdGVzdCAtTzAgLU8gLXBpcGUgLWZuby1i dWlsdGluIC1mbm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMgIC1JL3Vzci9pbmNs dWRlIC1EX0dFVE9QVF9IIC1EX1BUSF9IXyAtRF9QVEhfUFRIUkVBRF9IXyAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkv dXNyL1gxMVI2L2luY2x1ZGUvcXQyIC1ESEFWRV9ETEZDTl9IICAtV2wsLS1l eHBvcnQtZHluYW1pYyBjb25mdGVzdC5jICAtV2wsLWV4cG9ydC1keW5hbWlj IC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL1gxMVI2L2xpYiAtbGpwZWcgLWxn Y2MgLWxzdGRjKysgMT4mNQ0KbHRjb25maWc6MTkwMDogY2hlY2tpbmcgd2hl dGhlciBhIHN0YXRpY2FsbHkgbGlua2VkIHByb2dyYW0gY2FuIGRsb3BlbiBp dHNlbGYNCmx0Y29uZmlnOjE5NTQ6IGNjIC1vIGNvbmZ0ZXN0IC1PMCAtTyAt cGlwZSAtZm5vLWJ1aWx0aW4gLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucyAg LUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BUSF9Q VEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwv aW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgLURIQVZFX0RMRkNO X0ggIC1XbCwtLWV4cG9ydC1keW5hbWljIC1zdGF0aWMgY29uZnRlc3QuYyAg LVdsLC1leHBvcnQtZHluYW1pYyAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9Y MTFSNi9saWIgLWxqcGVnIC1sZ2NjIC1sc3RkYysrIDE+JjUNCmx0Y29uZmln OiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQovKiAjbGluZSAxOTA4ICJsdGNvbmZp ZyIgKi8NCg0KI2lmIEhBVkVfRExGQ05fSA0KI2luY2x1ZGUgPGRsZmNuLmg+ DQojZW5kaWYNCg0KI2luY2x1ZGUgPHN0ZGlvLmg+DQoNCiNpZmRlZiBSVExE X0dMT0JBTA0KIyBkZWZpbmUgTFRETF9HTE9CQUwJUlRMRF9HTE9CQUwNCiNl bHNlDQojIGlmZGVmIERMX0dMT0JBTA0KIyAgZGVmaW5lIExURExfR0xPQkFM CURMX0dMT0JBTA0KIyBlbHNlDQojICBkZWZpbmUgTFRETF9HTE9CQUwJMA0K IyBlbmRpZg0KI2VuZGlmDQoNCi8qIFdlIG1heSBoYXZlIHRvIGRlZmluZSBM VERMX0xBWllfT1JfTk9XIGluIHRoZSBjb21tYW5kIGxpbmUgaWYgd2UNCiAg IGZpbmQgb3V0IGl0IGRvZXMgbm90IHdvcmsgaW4gc29tZSBwbGF0Zm9ybS4g Ki8NCiNpZm5kZWYgTFRETF9MQVpZX09SX05PVw0KIyBpZmRlZiBSVExEX0xB WlkNCiMgIGRlZmluZSBMVERMX0xBWllfT1JfTk9XCVJUTERfTEFaWQ0KIyBl bHNlDQojICBpZmRlZiBETF9MQVpZDQojICAgZGVmaW5lIExURExfTEFaWV9P Ul9OT1cJRExfTEFaWQ0KIyAgZWxzZQ0KIyAgIGlmZGVmIFJUTERfTk9XDQoj ICAgIGRlZmluZSBMVERMX0xBWllfT1JfTk9XCVJUTERfTk9XDQojICAgZWxz ZQ0KIyAgICBpZmRlZiBETF9OT1cNCiMgICAgIGRlZmluZSBMVERMX0xBWllf T1JfTk9XCURMX05PVw0KIyAgICBlbHNlDQojICAgICBkZWZpbmUgTFRETF9M QVpZX09SX05PVwkwDQojICAgIGVuZGlmDQojICAgZW5kaWYNCiMgIGVuZGlm DQojIGVuZGlmDQojZW5kaWYNCg0Kdm9pZCBmbm9yZCgpIHsgaW50IGk9NDI7 fQ0KaW50IG1haW4oKSB7IHZvaWQgKnNlbGYsICpwdHIxLCAqcHRyMjsgc2Vs Zj1kbG9wZW4oMCxMVERMX0dMT0JBTHxMVERMX0xBWllfT1JfTk9XKTsNCiAg ICBpZihzZWxmKSB7IHB0cjE9ZGxzeW0oc2VsZiwiZm5vcmQiKTsgcHRyMj1k bHN5bShzZWxmLCJfZm5vcmQiKTsNCiAgICBpZihwdHIxIHx8IHB0cjIpIHsg ZGxjbG9zZShzZWxmKTsgZXhpdCgwKTsgfSB9IGV4aXQoMSk7IHJldHVybiAx OyB9DQoNCmMrKyAtRSBjb25mdGVzdC5jYw0KbHRjb25maWc6Njc2OmNoZWNr aW5nIGZvciBjKysgb3B0aW9uIHRvIHByb2R1Y2UgUElDDQpsdGNvbmZpZzo2 ODU6Y2hlY2tpbmcgdGhhdCBjKysgUElDIGZsYWcgLWZQSUMgLURQSUMgd29y a3MuDQpsdGNvbmZpZzo2OTU6IGMrKyAtYyAtTzAgLWZuby1leGNlcHRpb25z IC1mbm8tY2hlY2stbmV3IC1XYWxsIC1wZWRhbnRpYyAtVyAtV3BvaW50ZXIt YXJpdGggLVdtaXNzaW5nLXByb3RvdHlwZXMgLVd3cml0ZS1zdHJpbmdzIC1X bm8tbG9uZy1sb25nIC1Xbm9uLXZpcnR1YWwtZHRvciAtZm5vLWJ1aWx0aW4g LU8gLXBpcGUgLWZQSUMgLURQSUMgLURQSUMgIC1JL3Vzci9pbmNsdWRlIC1E X0dFVE9QVF9IIC1EX1BUSF9IXyAtRF9QVEhfUFRIUkVBRF9IXyAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gx MVI2L2luY2x1ZGUvcXQyIGNvbmZ0ZXN0LmNjIDE+JjUNCmx0Y29uZmlnOjc0 NzogY2hlY2tpbmcgaWYgYysrIHN0YXRpYyBmbGFnIC1zdGF0aWMgd29ya3MN Cmx0Y29uZmlnOjc1NjogYysrIC1vIGNvbmZ0ZXN0IC1PMCAtZm5vLWV4Y2Vw dGlvbnMgLWZuby1jaGVjay1uZXcgLVdhbGwgLXBlZGFudGljIC1XIC1XcG9p bnRlci1hcml0aCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3dyaXRlLXN0cmlu Z3MgLVduby1sb25nLWxvbmcgLVdub24tdmlydHVhbC1kdG9yIC1mbm8tYnVp bHRpbiAtTyAtcGlwZSAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURf UFRIX0hfIC1EX1BUSF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9x dDIgIC1zdGF0aWMgY29uZnRlc3QuY2MgLVdsLC1leHBvcnQtZHluYW1pYyAt TC91c3IvbG9jYWwvbGliIC1ML3Vzci9YMTFSNi9saWIgLWxqcGVnIC1sZ2Nj IC1sc3RkYysrIDE+JjUNCmx0Y29uZmlnOjc5MzogY2hlY2tpbmcgaWYgYysr IHN1cHBvcnRzIC1jIC1vIGZpbGUubw0KbHRjb25maWc6Nzk0OiBjKysgLWMg LU8wIC1mbm8tZXhjZXB0aW9ucyAtZm5vLWNoZWNrLW5ldyAtV2FsbCAtcGVk YW50aWMgLVcgLVdwb2ludGVyLWFyaXRoIC1XbWlzc2luZy1wcm90b3R5cGVz IC1Xd3JpdGUtc3RyaW5ncyAtV25vLWxvbmctbG9uZyAtV25vbi12aXJ0dWFs LWR0b3IgLWZuby1idWlsdGluIC1PIC1waXBlIC1vIG91dC9jb25mdGVzdDIu byAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BU SF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9j YWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgY29uZnRlc3Qu Y2MgMT4mNQ0KbHRjb25maWc6ODQ3OiBjaGVja2luZyBpZiBjKysgc3VwcG9y dHMgLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucw0KbHRjb25maWc6ODQ4OiBj KysgLWMgLU8wIC1mbm8tZXhjZXB0aW9ucyAtZm5vLWNoZWNrLW5ldyAtV2Fs bCAtcGVkYW50aWMgLVcgLVdwb2ludGVyLWFyaXRoIC1XbWlzc2luZy1wcm90 b3R5cGVzIC1Xd3JpdGUtc3RyaW5ncyAtV25vLWxvbmctbG9uZyAtV25vbi12 aXJ0dWFsLWR0b3IgLWZuby1idWlsdGluIC1PIC1waXBlIC1mbm8tcnR0aSAt Zm5vLWV4Y2VwdGlvbnMgLWMgY29uZnRlc3QuY2MgIC1JL3Vzci9pbmNsdWRl IC1EX0dFVE9QVF9IIC1EX1BUSF9IXyAtRF9QVEhfUFRIUkVBRF9IXyAgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNy L1gxMVI2L2luY2x1ZGUvcXQyIGNvbmZ0ZXN0LmNjIDE+JjUNCmx0Y29uZmln OjEzMjY6IGNoZWNraW5nIGlmIGdsb2JhbF9zeW1ib2xfcGlwZSB3b3Jrcw0K bHRjb25maWc6MTMyNzogYysrIC1jIC1PMCAtZm5vLWV4Y2VwdGlvbnMgLWZu by1jaGVjay1uZXcgLVdhbGwgLXBlZGFudGljIC1XIC1XcG9pbnRlci1hcml0 aCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3dyaXRlLXN0cmluZ3MgLVduby1s b25nLWxvbmcgLVdub24tdmlydHVhbC1kdG9yIC1mbm8tYnVpbHRpbiAtTyAt cGlwZSAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1E X1BUSF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgY29uZnRl c3QuY2MgMT4mNQ0KbHRjb25maWc6MTMzMDogZXZhbCAiL3Vzci9iaW4vbm0g LUIgY29uZnRlc3QubyB8IHNlZCAtbiAtZSAncy9eLipbIAldXChbQUJDREdJ U1RXXVwpWyAJXVsgCV0qXChcKVwoW19BLVphLXpdW19BLVphLXowLTldKlwp JC9cMSBcMlwzIFwzL3AnID4gY29uZnRlc3Qubm0iDQpsdGNvbmZpZzoxNDA0 OiBjKysgLW8gY29uZnRlc3QgLU8wIC1mbm8tZXhjZXB0aW9ucyAtZm5vLWNo ZWNrLW5ldyAtV2FsbCAtcGVkYW50aWMgLVcgLVdwb2ludGVyLWFyaXRoIC1X bWlzc2luZy1wcm90b3R5cGVzIC1Xd3JpdGUtc3RyaW5ncyAtV25vLWxvbmct bG9uZyAtV25vbi12aXJ0dWFsLWR0b3IgLWZuby1idWlsdGluIC1PIC1waXBl IC1mbm8tYnVpbHRpbiAtZm5vLXJ0dGkgLWZuby1leGNlcHRpb25zICAtSS91 c3IvaW5jbHVkZSAtRF9HRVRPUFRfSCAtRF9QVEhfSF8gLURfUFRIX1BUSFJF QURfSF8gIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlL3F0MiAgY29uZnRlc3QuY2MgY29u ZnRzdG0ubyAxPiY1DQpsdGNvbmZpZzoxNzg4OiBjaGVja2luZyBmb3IgZGxm Y24uaA0KbHRjb25maWc6MTgyNzogY2hlY2tpbmcgd2hldGhlciBhIHByb2dy YW0gY2FuIGRsb3BlbiBpdHNlbGYNCmx0Y29uZmlnOjE5MDA6IGNoZWNraW5n IHdoZXRoZXIgYSBzdGF0aWNhbGx5IGxpbmtlZCBwcm9ncmFtIGNhbiBkbG9w ZW4gaXRzZWxmDQpjb25maWd1cmU6MzIxNTogY2hlY2tpbmcgZm9yIG9iamVj dCBzdWZmaXgNCmNvbmZpZ3VyZTozMjIxOiBjYyAtYyAtTzAgLU8gLXBpcGUg IC1JL3Vzci9pbmNsdWRlIC1EX0dFVE9QVF9IIC1EX1BUSF9IXyAtRF9QVEhf UFRIUkVBRF9IXyAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUvcXQyIGNvbmZ0ZXN0LmMg MT4mNQ0KY29uZmlndXJlOjMyNDE6IGNoZWNraW5nIGZvciBleGVjdXRhYmxl IHN1ZmZpeA0KY29uZmlndXJlOjMyNTE6IGNjIC1vIGNvbmZ0ZXN0IC1PMCAt TyAtcGlwZSAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hf IC1EX1BUSF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgIGNv bmZ0ZXN0LmMgLVdsLC1leHBvcnQtZHluYW1pYyAtTC91c3IvbG9jYWwvbGli IC1ML3Vzci9YMTFSNi9saWIgLWxqcGVnIC1sZ2NjIC1sc3RkYysrIDE+JjUN CmNvbmZpZ3VyZTozMjk3OiBjaGVja2luZyBmb3IgbXNnZm10DQpjb25maWd1 cmU6MzMzMTogY2hlY2tpbmcgZm9yIGdtc2dmbXQNCmNvbmZpZ3VyZTozMzc2 OiBjaGVja2luZyBmb3IgeGdldHRleHQNCmNvbmZpZ3VyZTozNDIyOiBjaGVj a2luZyBmb3IgcmFubGliDQpjb25maWd1cmU6MzQ1MDogY2hlY2tpbmcgZm9y IEFOU0kgQyBoZWFkZXIgZmlsZXMNCmNvbmZpZ3VyZTozNDYzOiBjYyAtRSAg LUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BUSF9Q VEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwv aW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgY29uZnRlc3QuYyA+ L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0DQpjb25maWd1cmU6MzUzMDogY2Mg LW8gY29uZnRlc3QgLU8wIC1PIC1waXBlICAtSS91c3IvaW5jbHVkZSAtRF9H RVRPUFRfSCAtRF9QVEhfSF8gLURfUFRIX1BUSFJFQURfSF8gIC1JL3Vzci9s b2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFS Ni9pbmNsdWRlL3F0MiAgY29uZnRlc3QuYyAtV2wsLWV4cG9ydC1keW5hbWlj IC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL1gxMVI2L2xpYiAtbGpwZWcgLWxn Y2MgLWxzdGRjKysgMT4mNQ0KY29uZmlndXJlOjM1NTQ6IGNoZWNraW5nIGZv ciBvZmZfdA0KY29uZmlndXJlOjM1ODc6IGNoZWNraW5nIGZvciBzaXplX3QN CmNvbmZpZ3VyZTozNjIyOiBjaGVja2luZyBmb3Igd29ya2luZyBhbGxvY2Eu aA0KY29uZmlndXJlOjM2MzQ6IGNjIC1vIGNvbmZ0ZXN0IC1PMCAtTyAtcGlw ZSAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BU SF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9j YWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgIGNvbmZ0ZXN0 LmMgLVdsLC1leHBvcnQtZHluYW1pYyAtTC91c3IvbG9jYWwvbGliIC1ML3Vz ci9YMTFSNi9saWIgLWxqcGVnIC1sZ2NjIC1sc3RkYysrIDE+JjUNCmNvbmZp Z3VyZTozNjI4OiBhbGxvY2EuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y eQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAzNjI3 ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCiNpbmNsdWRl IDxhbGxvY2EuaD4NCmludCBtYWluKCkgew0KY2hhciAqcCA9IGFsbG9jYSgy ICogc2l6ZW9mKGludCkpOw0KOyByZXR1cm4gMDsgfQ0KY29uZmlndXJlOjM2 NTU6IGNoZWNraW5nIGZvciBhbGxvY2ENCmNvbmZpZ3VyZTozNjg4OiBjYyAt byBjb25mdGVzdCAtTzAgLU8gLXBpcGUgIC1JL3Vzci9pbmNsdWRlIC1EX0dF VE9QVF9IIC1EX1BUSF9IXyAtRF9QVEhfUFRIUkVBRF9IXyAgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2 L2luY2x1ZGUvcXQyICBjb25mdGVzdC5jIC1XbCwtZXhwb3J0LWR5bmFtaWMg LUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvWDExUjYvbGliIC1sanBlZyAtbGdj YyAtbHN0ZGMrKyAxPiY1DQpjb25maWd1cmU6Mzg1NzogY2hlY2tpbmcgZm9y IHVuaXN0ZC5oDQpjb25maWd1cmU6Mzg2NzogY2MgLUUgIC1JL3Vzci9pbmNs dWRlIC1EX0dFVE9QVF9IIC1EX1BUSF9IXyAtRF9QVEhfUFRIUkVBRF9IXyAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkv dXNyL1gxMVI2L2luY2x1ZGUvcXQyIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAy PmNvbmZ0ZXN0Lm91dA0KY29uZmlndXJlOjM4OTY6IGNoZWNraW5nIGZvciBn ZXRwYWdlc2l6ZQ0KY29uZmlndXJlOjM5MjQ6IGNjIC1vIGNvbmZ0ZXN0IC1P MCAtTyAtcGlwZSAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRI X0hfIC1EX1BUSF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAt SS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIg IGNvbmZ0ZXN0LmMgLVdsLC1leHBvcnQtZHluYW1pYyAtTC91c3IvbG9jYWwv bGliIC1ML3Vzci9YMTFSNi9saWIgLWxqcGVnIC1sZ2NjIC1sc3RkYysrIDE+ JjUNCmNvbmZpZ3VyZTozOTQ5OiBjaGVja2luZyBmb3Igd29ya2luZyBtbWFw DQpjb25maWd1cmU6NDA5NzogY2MgLW8gY29uZnRlc3QgLU8wIC1PIC1waXBl ICAtSS91c3IvaW5jbHVkZSAtRF9HRVRPUFRfSCAtRF9QVEhfSF8gLURfUFRI X1BUSFJFQURfSF8gIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlL3F0MiAgY29uZnRlc3Qu YyAtV2wsLWV4cG9ydC1keW5hbWljIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNy L1gxMVI2L2xpYiAtbGpwZWcgLWxnY2MgLWxzdGRjKysgMT4mNQ0KY29uZmln dXJlOjQxMjM6IGNoZWNraW5nIGZvciBhcmd6LmgNCmNvbmZpZ3VyZTo0MTMz OiBjYyAtRSAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hf IC1EX1BUSF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgY29u ZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0DQpjb25maWd1cmU6 NDEyOTogYXJnei5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDQxMjggImNvbmZp Z3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0KI2luY2x1ZGUgPGFyZ3ou aD4NCmNvbmZpZ3VyZTo0MTIzOiBjaGVja2luZyBmb3IgbGltaXRzLmgNCmNv bmZpZ3VyZTo0MTMzOiBjYyAtRSAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BU X0ggLURfUFRIX0hfIC1EX1BUSF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwv aW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5j bHVkZS9xdDIgY29uZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0 DQpjb25maWd1cmU6NDEyMzogY2hlY2tpbmcgZm9yIGxvY2FsZS5oDQpjb25m aWd1cmU6NDEzMzogY2MgLUUgIC1JL3Vzci9pbmNsdWRlIC1EX0dFVE9QVF9I IC1EX1BUSF9IXyAtRF9QVEhfUFRIUkVBRF9IXyAgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1 ZGUvcXQyIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dA0K Y29uZmlndXJlOjQxMjM6IGNoZWNraW5nIGZvciBubF90eXBlcy5oDQpjb25m aWd1cmU6NDEzMzogY2MgLUUgIC1JL3Vzci9pbmNsdWRlIC1EX0dFVE9QVF9I IC1EX1BUSF9IXyAtRF9QVEhfUFRIUkVBRF9IXyAgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1 ZGUvcXQyIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dA0K Y29uZmlndXJlOjQxMjM6IGNoZWNraW5nIGZvciBzdHJpbmcuaA0KY29uZmln dXJlOjQxMzM6IGNjIC1FICAtSS91c3IvaW5jbHVkZSAtRF9HRVRPUFRfSCAt RF9QVEhfSF8gLURfUFRIX1BUSFJFQURfSF8gIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRl L3F0MiBjb25mdGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQNCmNv bmZpZ3VyZTo0MTIzOiBjaGVja2luZyBmb3IgdmFsdWVzLmgNCmNvbmZpZ3Vy ZTo0MTMzOiBjYyAtRSAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURf UFRIX0hfIC1EX1BUSF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9x dDIgY29uZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0DQpJbiBm aWxlIGluY2x1ZGVkIGZyb20gY29uZmlndXJlOjQxMjk6DQovdXNyL2luY2x1 ZGUvdmFsdWVzLmg6Mjogd2FybmluZzogI3dhcm5pbmcgInRoaXMgZmlsZSBp bmNsdWRlcyA8dmFsdWVzLmg+IHdoaWNoIGlzIG9ic29sZXRlZCwgdXNlIDxs aW1pdHMuaD4gb3IgPGZsb2F0Lmg+IGluc3RlYWQiDQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDQxMjggImNvbmZpZ3VyZSINCiNp bmNsdWRlICJjb25mZGVmcy5oIg0KI2luY2x1ZGUgPHZhbHVlcy5oPg0KY29u ZmlndXJlOjQxMjM6IGNoZWNraW5nIGZvciBhbGxvY2EuaA0KY29uZmlndXJl OjQxNjM6IGNoZWNraW5nIGZvciBnZXRjd2QNCmNvbmZpZ3VyZTo0MTkxOiBj YyAtbyBjb25mdGVzdCAtTzAgLU8gLXBpcGUgIC1JL3Vzci9pbmNsdWRlIC1E X0dFVE9QVF9IIC1EX1BUSF9IXyAtRF9QVEhfUFRIUkVBRF9IXyAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gx MVI2L2luY2x1ZGUvcXQyICBjb25mdGVzdC5jIC1XbCwtZXhwb3J0LWR5bmFt aWMgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvWDExUjYvbGliIC1sanBlZyAt bGdjYyAtbHN0ZGMrKyAxPiY1DQpjb25maWd1cmU6NDE2MzogY2hlY2tpbmcg Zm9yIG11bm1hcA0KY29uZmlndXJlOjQxOTE6IGNjIC1vIGNvbmZ0ZXN0IC1P MCAtTyAtcGlwZSAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRI X0hfIC1EX1BUSF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAt SS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIg IGNvbmZ0ZXN0LmMgLVdsLC1leHBvcnQtZHluYW1pYyAtTC91c3IvbG9jYWwv bGliIC1ML3Vzci9YMTFSNi9saWIgLWxqcGVnIC1sZ2NjIC1sc3RkYysrIDE+ JjUNCmNvbmZpZ3VyZTo0MTYzOiBjaGVja2luZyBmb3IgcHV0ZW52DQpjb25m aWd1cmU6NDE5MTogY2MgLW8gY29uZnRlc3QgLU8wIC1PIC1waXBlICAtSS91 c3IvaW5jbHVkZSAtRF9HRVRPUFRfSCAtRF9QVEhfSF8gLURfUFRIX1BUSFJF QURfSF8gIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlL3F0MiAgY29uZnRlc3QuYyAtV2ws LWV4cG9ydC1keW5hbWljIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL1gxMVI2 L2xpYiAtbGpwZWcgLWxnY2MgLWxzdGRjKysgMT4mNQ0KY29uZmlndXJlOjQx NjM6IGNoZWNraW5nIGZvciBzZXRlbnYNCmNvbmZpZ3VyZTo0MTkxOiBjYyAt byBjb25mdGVzdCAtTzAgLU8gLXBpcGUgIC1JL3Vzci9pbmNsdWRlIC1EX0dF VE9QVF9IIC1EX1BUSF9IXyAtRF9QVEhfUFRIUkVBRF9IXyAgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2 L2luY2x1ZGUvcXQyICBjb25mdGVzdC5jIC1XbCwtZXhwb3J0LWR5bmFtaWMg LUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvWDExUjYvbGliIC1sanBlZyAtbGdj YyAtbHN0ZGMrKyAxPiY1DQpjb25maWd1cmU6NDE2MzogY2hlY2tpbmcgZm9y IHNldGxvY2FsZQ0KY29uZmlndXJlOjQxOTE6IGNjIC1vIGNvbmZ0ZXN0IC1P MCAtTyAtcGlwZSAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRI X0hfIC1EX1BUSF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAt SS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIg IGNvbmZ0ZXN0LmMgLVdsLC1leHBvcnQtZHluYW1pYyAtTC91c3IvbG9jYWwv bGliIC1ML3Vzci9YMTFSNi9saWIgLWxqcGVnIC1sZ2NjIC1sc3RkYysrIDE+ JjUNCmNvbmZpZ3VyZTo0MTYzOiBjaGVja2luZyBmb3Igc3RyY2hyDQpjb25m aWd1cmU6NDE5MTogY2MgLW8gY29uZnRlc3QgLU8wIC1PIC1waXBlICAtSS91 c3IvaW5jbHVkZSAtRF9HRVRPUFRfSCAtRF9QVEhfSF8gLURfUFRIX1BUSFJF QURfSF8gIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlL3F0MiAgY29uZnRlc3QuYyAtV2ws LWV4cG9ydC1keW5hbWljIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL1gxMVI2 L2xpYiAtbGpwZWcgLWxnY2MgLWxzdGRjKysgMT4mNQ0KY29uZmlndXJlOjQx NjM6IGNoZWNraW5nIGZvciBzdHJjYXNlY21wDQpjb25maWd1cmU6NDE5MTog Y2MgLW8gY29uZnRlc3QgLU8wIC1PIC1waXBlICAtSS91c3IvaW5jbHVkZSAt RF9HRVRPUFRfSCAtRF9QVEhfSF8gLURfUFRIX1BUSFJFQURfSF8gIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9Y MTFSNi9pbmNsdWRlL3F0MiAgY29uZnRlc3QuYyAtV2wsLWV4cG9ydC1keW5h bWljIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL1gxMVI2L2xpYiAtbGpwZWcg LWxnY2MgLWxzdGRjKysgMT4mNQ0KY29uZmlndXJlOjQxNjM6IGNoZWNraW5n IGZvciBfX2FyZ3pfY291bnQNCmNvbmZpZ3VyZTo0MTkxOiBjYyAtbyBjb25m dGVzdCAtTzAgLU8gLXBpcGUgIC1JL3Vzci9pbmNsdWRlIC1EX0dFVE9QVF9I IC1EX1BUSF9IXyAtRF9QVEhfUFRIUkVBRF9IXyAgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1 ZGUvcXQyICBjb25mdGVzdC5jIC1XbCwtZXhwb3J0LWR5bmFtaWMgLUwvdXNy L2xvY2FsL2xpYiAtTC91c3IvWDExUjYvbGliIC1sanBlZyAtbGdjYyAtbHN0 ZGMrKyAxPiY1DQovdG1wL2NjT3Z4SXg4Lm86IEluIGZ1bmN0aW9uIGBtYWlu JzoNCi90bXAvY2NPdnhJeDgubygudGV4dCsweDcpOiB1bmRlZmluZWQgcmVm ZXJlbmNlIHRvIGBfX2FyZ3pfY291bnQnDQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoNCiNsaW5lIDQxNjggImNvbmZpZ3VyZSINCiNpbmNsdWRl ICJjb25mZGVmcy5oIg0KLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19z dHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLA0KICAg IHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgX19hcmd6X2NvdW50KCk7 IGJlbG93LiAgKi8NCiNpbmNsdWRlIDxhc3NlcnQuaD4NCi8qIE92ZXJyaWRl IGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv ci4gICovDQovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRj aCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyDQogICAgYnVpbHRpbiBhbmQg dGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5 LiAgKi8NCmNoYXIgX19hcmd6X2NvdW50KCk7DQoNCmludCBtYWluKCkgew0K DQovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0 aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzDQogICAgdG8gYWx3YXlzIGZhaWwg d2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFt ZWQNCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5v cm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8NCiNpZiBkZWZpbmVkIChfX3N0 dWJfX19hcmd6X2NvdW50KSB8fCBkZWZpbmVkIChfX3N0dWJfX19fX2FyZ3pf Y291bnQpDQpjaG9rZSBtZQ0KI2Vsc2UNCl9fYXJnel9jb3VudCgpOw0KI2Vu ZGlmDQoNCjsgcmV0dXJuIDA7IH0NCmNvbmZpZ3VyZTo0MTYzOiBjaGVja2lu ZyBmb3IgX19hcmd6X3N0cmluZ2lmeQ0KY29uZmlndXJlOjQxOTE6IGNjIC1v IGNvbmZ0ZXN0IC1PMCAtTyAtcGlwZSAgLUkvdXNyL2luY2x1ZGUgLURfR0VU T1BUX0ggLURfUFRIX0hfIC1EX1BUSF9QVEhSRUFEX0hfICAtSS91c3IvbG9j YWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYv aW5jbHVkZS9xdDIgIGNvbmZ0ZXN0LmMgLVdsLC1leHBvcnQtZHluYW1pYyAt TC91c3IvbG9jYWwvbGliIC1ML3Vzci9YMTFSNi9saWIgLWxqcGVnIC1sZ2Nj IC1sc3RkYysrIDE+JjUNCi90bXAvY2MyS1ZmaVQubzogSW4gZnVuY3Rpb24g YG1haW4nOg0KL3RtcC9jYzJLVmZpVC5vKC50ZXh0KzB4Nyk6IHVuZGVmaW5l ZCByZWZlcmVuY2UgdG8gYF9fYXJnel9zdHJpbmdpZnknDQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDQxNjggImNvbmZpZ3VyZSIN CiNpbmNsdWRlICJjb25mZGVmcy5oIg0KLyogU3lzdGVtIGhlYWRlciB0byBk ZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5 cGVzLA0KICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgX19hcmd6 X3N0cmluZ2lmeSgpOyBiZWxvdy4gICovDQojaW5jbHVkZSA8YXNzZXJ0Lmg+ DQovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8g YXZvaWQgYW4gZXJyb3IuICAqLw0KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBp bnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMg0KICAg IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3Vs ZCBzdGlsbCBhcHBseS4gICovDQpjaGFyIF9fYXJnel9zdHJpbmdpZnkoKTsN Cg0KaW50IG1haW4oKSB7DQoNCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmlu ZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMNCiAg ICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25z IGFyZSBhY3R1YWxseSBuYW1lZA0KICAgIHNvbWV0aGluZyBzdGFydGluZyB3 aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLw0K I2lmIGRlZmluZWQgKF9fc3R1Yl9fX2FyZ3pfc3RyaW5naWZ5KSB8fCBkZWZp bmVkIChfX3N0dWJfX19fX2FyZ3pfc3RyaW5naWZ5KQ0KY2hva2UgbWUNCiNl bHNlDQpfX2FyZ3pfc3RyaW5naWZ5KCk7DQojZW5kaWYNCg0KOyByZXR1cm4g MDsgfQ0KY29uZmlndXJlOjQxNjM6IGNoZWNraW5nIGZvciBfX2FyZ3pfbmV4 dA0KY29uZmlndXJlOjQxOTE6IGNjIC1vIGNvbmZ0ZXN0IC1PMCAtTyAtcGlw ZSAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BU SF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9j YWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgIGNvbmZ0ZXN0 LmMgLVdsLC1leHBvcnQtZHluYW1pYyAtTC91c3IvbG9jYWwvbGliIC1ML3Vz ci9YMTFSNi9saWIgLWxqcGVnIC1sZ2NjIC1sc3RkYysrIDE+JjUNCi90bXAv Y2NBRnFXcWoubzogSW4gZnVuY3Rpb24gYG1haW4nOg0KL3RtcC9jY0FGcVdx ai5vKC50ZXh0KzB4Nyk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fYXJn el9uZXh0Jw0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGlu ZSA0MTY4ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCi8q IFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhv cGVmdWxseSBmZXcgcHJvdG90eXBlcywNCiAgICB3aGljaCBjYW4gY29uZmxp Y3Qgd2l0aCBjaGFyIF9fYXJnel9uZXh0KCk7IGJlbG93LiAgKi8NCiNpbmNs dWRlIDxhc3NlcnQuaD4NCi8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFs IHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQovKiBXZSB1c2Ug Y2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg b2YgYSBnY2MyDQogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQg cHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8NCmNoYXIgX19hcmd6 X25leHQoKTsNCg0KaW50IG1haW4oKSB7DQoNCi8qIFRoZSBHTlUgQyBsaWJy YXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxl bWVudHMNCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUg ZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZA0KICAgIHNvbWV0aGluZyBz dGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxp YXMuICAqLw0KI2lmIGRlZmluZWQgKF9fc3R1Yl9fX2FyZ3pfbmV4dCkgfHwg ZGVmaW5lZCAoX19zdHViX19fX19hcmd6X25leHQpDQpjaG9rZSBtZQ0KI2Vs c2UNCl9fYXJnel9uZXh0KCk7DQojZW5kaWYNCg0KOyByZXR1cm4gMDsgfQ0K Y29uZmlndXJlOjQyMTc6IGNoZWNraW5nIGZvciBzdHBjcHkNCmNvbmZpZ3Vy ZTo0MjQ4OiBjKysgLWMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdlcnJvciAg LUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BUSF9Q VEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwv aW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgY29uZnRlc3QuQyAx PiY1DQpjb25maWd1cmU6IEluIGZ1bmN0aW9uIGBpbnQgbWFpbigpJzoNCmNv bmZpZ3VyZTo0MjQzOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlv biBgaW50IHN0cGNweSguLi4pJw0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6DQojbGluZSA0MjM2ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29u ZmRlZnMuaCINCg0KICAgI2luY2x1ZGUgPHN0cmluZy5oPg0KICAgDQppbnQg bWFpbigpIHsNCg0KICAgY2hhciBidWZmZXJbMjAwXTsNCiAgIHN0cGNweShi dWZmZXIsIGJ1ZmZlcik7DQogICANCjsgcmV0dXJuIDA7IH0NCmNvbmZpZ3Vy ZTo0Mjc5OiBjaGVja2luZyBmb3IgTENfTUVTU0FHRVMNCmNvbmZpZ3VyZTo0 MjkxOiBjYyAtbyBjb25mdGVzdCAtTzAgLU8gLXBpcGUgIC1JL3Vzci9pbmNs dWRlIC1EX0dFVE9QVF9IIC1EX1BUSF9IXyAtRF9QVEhfUFRIUkVBRF9IXyAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkv dXNyL1gxMVI2L2luY2x1ZGUvcXQyICBjb25mdGVzdC5jIC1XbCwtZXhwb3J0 LWR5bmFtaWMgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvWDExUjYvbGliIC1s anBlZyAtbGdjYyAtbHN0ZGMrKyAxPiY1DQpjb25maWd1cmU6NDM1MTogY2hl Y2tpbmcgaWYgU1RMIGltcGxlbWVudGF0aW9uIGlzIFNHSSBsaWtlDQpjb25m aWd1cmU6NDM3MTogYysrIC1jIC1PMCAgLWZuby1jaGVjay1uZXcgLVdhbGwg LXBlZGFudGljIC1XIC1XcG9pbnRlci1hcml0aCAtV21pc3NpbmctcHJvdG90 eXBlcyAtV3dyaXRlLXN0cmluZ3MgLVduby1sb25nLWxvbmcgLVdub24tdmly dHVhbC1kdG9yIC1mbm8tYnVpbHRpbiAtTyAtcGlwZSAgLUkvdXNyL2luY2x1 ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BUSF9QVEhSRUFEX0hfICAt SS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91 c3IvWDExUjYvaW5jbHVkZS9xdDIgY29uZnRlc3QuQyAxPiY1DQpjb25maWd1 cmU6NDQ2MDogY2hlY2tpbmcgZm9yIGRpcmVudC5oIHRoYXQgZGVmaW5lcyBE SVINCmNvbmZpZ3VyZTo0NDczOiBjYyAtYyAtTzAgLU8gLXBpcGUgIC1JL3Vz ci9pbmNsdWRlIC1EX0dFVE9QVF9IIC1EX1BUSF9IXyAtRF9QVEhfUFRIUkVB RF9IXyAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUvcXQyIGNvbmZ0ZXN0LmMgMT4mNQ0K Y29uZmlndXJlOjQ0OTg6IGNoZWNraW5nIGZvciBvcGVuZGlyIGluIC1sZGly DQpjb25maWd1cmU6NDUxNzogY2MgLW8gY29uZnRlc3QgLU8wIC1PIC1waXBl ICAtSS91c3IvaW5jbHVkZSAtRF9HRVRPUFRfSCAtRF9QVEhfSF8gLURfUFRI X1BUSFJFQURfSF8gIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlL3F0MiAgY29uZnRlc3Qu YyAtbGRpciAgLVdsLC1leHBvcnQtZHluYW1pYyAtTC91c3IvbG9jYWwvbGli IC1ML3Vzci9YMTFSNi9saWIgLWxqcGVnIC1sZ2NjIC1sc3RkYysrIDE+JjUN Ci91c3IvbGliZXhlYy9lbGYvbGQ6IGNhbm5vdCBmaW5kIC1sZGlyDQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDQ1MDYgImNvbmZp Z3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0KLyogT3ZlcnJpZGUgYW55 IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAg Ki8NCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo ZSByZXR1cm4gdHlwZSBvZiBhIGdjYzINCiAgICBidWlsdGluIGFuZCB0aGVu IGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAq Lw0KY2hhciBvcGVuZGlyKCk7DQoNCmludCBtYWluKCkgew0Kb3BlbmRpcigp DQo7IHJldHVybiAwOyB9DQpjb25maWd1cmU6NDU4MTogY2hlY2tpbmcgZm9y IEFOU0kgQyBoZWFkZXIgZmlsZXMNCmNvbmZpZ3VyZTo0Njg4OiBjaGVja2lu ZyBmb3Igc3lzL3BhcmFtLmgNCmNvbmZpZ3VyZTo0Njk4OiBjYyAtRSAgLUkv dXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BUSF9QVEhS RUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5j bHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgY29uZnRlc3QuYyA+L2Rl di9udWxsIDI+Y29uZnRlc3Qub3V0DQpjb25maWd1cmU6NDY4ODogY2hlY2tp bmcgZm9yIHN5cy9tbWFuLmgNCmNvbmZpZ3VyZTo0Njk4OiBjYyAtRSAgLUkv dXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BUSF9QVEhS RUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5j bHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgY29uZnRlc3QuYyA+L2Rl di9udWxsIDI+Y29uZnRlc3Qub3V0DQpjb25maWd1cmU6NDY4ODogY2hlY2tp bmcgZm9yIHN5cy90aW1lLmgNCmNvbmZpZ3VyZTo0Njk4OiBjYyAtRSAgLUkv dXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BUSF9QVEhS RUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5j bHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgY29uZnRlc3QuYyA+L2Rl di9udWxsIDI+Y29uZnRlc3Qub3V0DQpjb25maWd1cmU6NDY4ODogY2hlY2tp bmcgZm9yIHN5cy9jZGVmcy5oDQpjb25maWd1cmU6NDY5ODogY2MgLUUgIC1J L3Vzci9pbmNsdWRlIC1EX0dFVE9QVF9IIC1EX1BUSF9IXyAtRF9QVEhfUFRI UkVBRF9IXyAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUvcXQyIGNvbmZ0ZXN0LmMgPi9k ZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dA0KY29uZmlndXJlOjQ2ODg6IGNoZWNr aW5nIGZvciBmbm1hdGNoLmgNCmNvbmZpZ3VyZTo0Njk4OiBjYyAtRSAgLUkv dXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BUSF9QVEhS RUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5j bHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgY29uZnRlc3QuYyA+L2Rl di9udWxsIDI+Y29uZnRlc3Qub3V0DQpjb25maWd1cmU6NDY4ODogY2hlY2tp bmcgZm9yIHN5c2VudC5oDQpjb25maWd1cmU6NDY5ODogY2MgLUUgIC1JL3Vz ci9pbmNsdWRlIC1EX0dFVE9QVF9IIC1EX1BUSF9IXyAtRF9QVEhfUFRIUkVB RF9IXyAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUvcXQyIGNvbmZ0ZXN0LmMgPi9kZXYv bnVsbCAyPmNvbmZ0ZXN0Lm91dA0KY29uZmlndXJlOjQ2OTQ6IHN5c2VudC5o OiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoNCiNsaW5lIDQ2OTMgImNvbmZpZ3VyZSINCiNpbmNs dWRlICJjb25mZGVmcy5oIg0KI2luY2x1ZGUgPHN5c2VudC5oPg0KY29uZmln dXJlOjQ2ODg6IGNoZWNraW5nIGZvciBzdHJpbmdzLmgNCmNvbmZpZ3VyZTo0 Njk4OiBjYyAtRSAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRI X0hfIC1EX1BUSF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAt SS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIg Y29uZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0DQpjb25maWd1 cmU6NDY4ODogY2hlY2tpbmcgZm9yIHN5cy9zdGF0LmgNCmNvbmZpZ3VyZTo0 Njk4OiBjYyAtRSAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRI X0hfIC1EX1BUSF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAt SS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIg Y29uZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0DQpjb25maWd1 cmU6NDY4ODogY2hlY2tpbmcgZm9yIHN5cy9zZWxlY3QuaA0KY29uZmlndXJl OjQ2OTg6IGNjIC1FICAtSS91c3IvaW5jbHVkZSAtRF9HRVRPUFRfSCAtRF9Q VEhfSF8gLURfUFRIX1BUSFJFQURfSF8gIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlL3F0 MiBjb25mdGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQNCmNvbmZp Z3VyZTo0Njg4OiBjaGVja2luZyBmb3Igc3lzL3NvY2tldC5oDQpjb25maWd1 cmU6NDY5ODogY2MgLUUgIC1JL3Vzci9pbmNsdWRlIC1EX0dFVE9QVF9IIC1E X1BUSF9IXyAtRF9QVEhfUFRIUkVBRF9IXyAgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUv cXQyIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dA0KY29u ZmlndXJlOjQ2ODg6IGNoZWNraW5nIGZvciBsaW51eC9zb2NrZXQuaA0KY29u ZmlndXJlOjQ2OTg6IGNjIC1FICAtSS91c3IvaW5jbHVkZSAtRF9HRVRPUFRf SCAtRF9QVEhfSF8gLURfUFRIX1BUSFJFQURfSF8gIC1JL3Vzci9sb2NhbC9p bmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNs dWRlL3F0MiBjb25mdGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQN CmNvbmZpZ3VyZTo0Njk0OiBsaW51eC9zb2NrZXQuaDogTm8gc3VjaCBmaWxl IG9yIGRpcmVjdG9yeQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 DQojbGluZSA0NjkzICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMu aCINCiNpbmNsdWRlIDxsaW51eC9zb2NrZXQuaD4NCmNvbmZpZ3VyZTo0Njg4 OiBjaGVja2luZyBmb3Igc29ja2V0Yml0cy5oDQpjb25maWd1cmU6NDY5ODog Y2MgLUUgIC1JL3Vzci9pbmNsdWRlIC1EX0dFVE9QVF9IIC1EX1BUSF9IXyAt RF9QVEhfUFRIUkVBRF9IXyAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUvcXQyIGNvbmZ0 ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dA0KY29uZmlndXJlOjQ2 OTQ6IHNvY2tldGJpdHMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQ0K Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSA0NjkzICJj b25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCiNpbmNsdWRlIDxz b2NrZXRiaXRzLmg+DQpjb25maWd1cmU6NDY4ODogY2hlY2tpbmcgZm9yIHNp Z2FjdGlvbi5oDQpjb25maWd1cmU6NDY5ODogY2MgLUUgIC1JL3Vzci9pbmNs dWRlIC1EX0dFVE9QVF9IIC1EX1BUSF9IXyAtRF9QVEhfUFRIUkVBRF9IXyAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkv dXNyL1gxMVI2L2luY2x1ZGUvcXQyIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAy PmNvbmZ0ZXN0Lm91dA0KY29uZmlndXJlOjQ2OTQ6IHNpZ2FjdGlvbi5oOiBO byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoNCiNsaW5lIDQ2OTMgImNvbmZpZ3VyZSINCiNpbmNsdWRl ICJjb25mZGVmcy5oIg0KI2luY2x1ZGUgPHNpZ2FjdGlvbi5oPg0KY29uZmln dXJlOjQ2ODg6IGNoZWNraW5nIGZvciBwYXRocy5oDQpjb25maWd1cmU6NDY5 ODogY2MgLUUgIC1JL3Vzci9pbmNsdWRlIC1EX0dFVE9QVF9IIC1EX1BUSF9I XyAtRF9QVEhfUFRIUkVBRF9IXyAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUvcXQyIGNv bmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dA0KY29uZmlndXJl OjQ2ODg6IGNoZWNraW5nIGZvciBtYWxsb2MuaA0KY29uZmlndXJlOjQ2OTg6 IGNjIC1FICAtSS91c3IvaW5jbHVkZSAtRF9HRVRPUFRfSCAtRF9QVEhfSF8g LURfUFRIX1BUSFJFQURfSF8gIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlL3F0MiBjb25m dGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQNCkluIGZpbGUgaW5j bHVkZWQgZnJvbSBjb25maWd1cmU6NDY5NDoNCi91c3IvaW5jbHVkZS9tYWxs b2MuaDoyOiB3YXJuaW5nOiAjd2FybmluZyAidGhpcyBmaWxlIGluY2x1ZGVz IDxtYWxsb2MuaD4gd2hpY2ggaXMgZGVwcmVjYXRlZCwgdXNlIDxzdGRsaWIu aD4gaW5zdGVhZCINCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0K I2xpbmUgNDY5MyAiY29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgi DQojaW5jbHVkZSA8bWFsbG9jLmg+DQpjb25maWd1cmU6NDY4ODogY2hlY2tp bmcgZm9yIG1vbmV0YXJ5LmgNCmNvbmZpZ3VyZTo0Njk4OiBjYyAtRSAgLUkv dXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BUSF9QVEhS RUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5j bHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgY29uZnRlc3QuYyA+L2Rl di9udWxsIDI+Y29uZnRlc3Qub3V0DQpjb25maWd1cmU6NDY5NDogbW9uZXRh cnkuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQ0KY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSA0NjkzICJjb25maWd1cmUiDQoj aW5jbHVkZSAiY29uZmRlZnMuaCINCiNpbmNsdWRlIDxtb25ldGFyeS5oPg0K Y29uZmlndXJlOjQ2ODg6IGNoZWNraW5nIGZvciBsaW1pdHMuaA0KY29uZmln dXJlOjQ2ODg6IGNoZWNraW5nIGZvciBzeXMvc291bmRjYXJkLmgNCmNvbmZp Z3VyZTo0Njk4OiBjYyAtRSAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0gg LURfUFRIX0hfIC1EX1BUSF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5j bHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVk ZS9xdDIgY29uZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0DQpj b25maWd1cmU6NDY4ODogY2hlY2tpbmcgZm9yIGRsZmNuLmgNCmNvbmZpZ3Vy ZTo0NzQxOiBjaGVja2luZyBmb3IgbWFpbiBpbiAtbGNvbXBhdA0KY29uZmln dXJlOjQ3NTY6IGNjIC1vIGNvbmZ0ZXN0IC1PMCAtTyAtcGlwZSAgLUkvdXNy L2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BUSF9QVEhSRUFE X0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgIGNvbmZ0ZXN0LmMgLWxjb21w YXQgIC1XbCwtZXhwb3J0LWR5bmFtaWMgLUwvdXNyL2xvY2FsL2xpYiAtTC91 c3IvWDExUjYvbGliIC1sanBlZyAtbGdjYyAtbHN0ZGMrKyAxPiY1DQpjb25m aWd1cmU6NDc3ODogY2hlY2tpbmcgZm9yIGNyeXB0IGluIC1sY3J5cHQNCmNv bmZpZ3VyZTo0Nzk3OiBjYyAtbyBjb25mdGVzdCAtTzAgLU8gLXBpcGUgIC1J L3Vzci9pbmNsdWRlIC1EX0dFVE9QVF9IIC1EX1BUSF9IXyAtRF9QVEhfUFRI UkVBRF9IXyAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUvcXQyICBjb25mdGVzdC5jIC1s Y3J5cHQgIC1XbCwtZXhwb3J0LWR5bmFtaWMgLUwvdXNyL2xvY2FsL2xpYiAt TC91c3IvWDExUjYvbGliIC1sanBlZyAtbGdjYyAtbHN0ZGMrKyAxPiY1DQpj b25maWd1cmU6NDg3MTogY2hlY2tpbmcgZm9yIHRoZSB0aGlyZCBhcmd1bWVu dCBvZiBnZXRzb2NrbmFtZQ0KY29uZmlndXJlOjQ5MDA6IGMrKyAtYyAtTzAg LWZuby1leGNlcHRpb25zIC1mbm8tY2hlY2stbmV3IC1XYWxsIC1wZWRhbnRp YyAtVyAtV3BvaW50ZXItYXJpdGggLVdtaXNzaW5nLXByb3RvdHlwZXMgLVd3 cml0ZS1zdHJpbmdzIC1Xbm8tbG9uZy1sb25nIC1Xbm9uLXZpcnR1YWwtZHRv ciAtZm5vLWJ1aWx0aW4gLU8gLXBpcGUgIC1JL3Vzci9pbmNsdWRlIC1EX0dF VE9QVF9IIC1EX1BUSF9IXyAtRF9QVEhfUFRIUkVBRF9IXyAgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2 L2luY2x1ZGUvcXQyIGNvbmZ0ZXN0LkMgMT4mNQ0KY29uZmlndXJlOjQ5NzE6 IGNoZWNraW5nIGZvciBkbmV0X250b2EgaW4gLWxkbmV0DQpjb25maWd1cmU6 NDk5MDogY2MgLW8gY29uZnRlc3QgLU8wIC1PIC1waXBlICAtSS91c3IvaW5j bHVkZSAtRF9HRVRPUFRfSCAtRF9QVEhfSF8gLURfUFRIX1BUSFJFQURfSF8g IC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1J L3Vzci9YMTFSNi9pbmNsdWRlL3F0MiAgY29uZnRlc3QuYyAtbGRuZXQgIC1X bCwtZXhwb3J0LWR5bmFtaWMgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvWDEx UjYvbGliIC1sanBlZyAtbGdjYyAtbHN0ZGMrKyAxPiY1DQovdXNyL2xpYmV4 ZWMvZWxmL2xkOiBjYW5ub3QgZmluZCAtbGRuZXQNCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgNDk3OSAiY29uZmlndXJlIg0KI2lu Y2x1ZGUgImNvbmZkZWZzLmgiDQovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRl cm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0KLyogV2Ug dXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0 eXBlIG9mIGEgZ2NjMg0KICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3Vt ZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovDQpjaGFyIGRu ZXRfbnRvYSgpOw0KDQppbnQgbWFpbigpIHsNCmRuZXRfbnRvYSgpDQo7IHJl dHVybiAwOyB9DQpjb25maWd1cmU6NTAxMjogY2hlY2tpbmcgZm9yIGRuZXRf bnRvYSBpbiAtbGRuZXRfc3R1Yg0KY29uZmlndXJlOjUwMzE6IGNjIC1vIGNv bmZ0ZXN0IC1PMCAtTyAtcGlwZSAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BU X0ggLURfUFRIX0hfIC1EX1BUSF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwv aW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5j bHVkZS9xdDIgIGNvbmZ0ZXN0LmMgLWxkbmV0X3N0dWIgIC1XbCwtZXhwb3J0 LWR5bmFtaWMgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvWDExUjYvbGliIC1s anBlZyAtbGdjYyAtbHN0ZGMrKyAxPiY1DQovdXNyL2xpYmV4ZWMvZWxmL2xk OiBjYW5ub3QgZmluZCAtbGRuZXRfc3R1Yg0KY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6DQojbGluZSA1MDIwICJjb25maWd1cmUiDQojaW5jbHVk ZSAiY29uZmRlZnMuaCINCi8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFs IHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQovKiBXZSB1c2Ug Y2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg b2YgYSBnY2MyDQogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQg cHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8NCmNoYXIgZG5ldF9u dG9hKCk7DQoNCmludCBtYWluKCkgew0KZG5ldF9udG9hKCkNCjsgcmV0dXJu IDA7IH0NCmNvbmZpZ3VyZTo1MDUzOiBjaGVja2luZyBmb3IgaW5ldF9udG9h DQpjb25maWd1cmU6NTA4MTogY2MgLW8gY29uZnRlc3QgLU8wIC1PIC1waXBl ICAtSS91c3IvaW5jbHVkZSAtRF9HRVRPUFRfSCAtRF9QVEhfSF8gLURfUFRI X1BUSFJFQURfSF8gIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlL3F0MiAgY29uZnRlc3Qu YyAtV2wsLWV4cG9ydC1keW5hbWljIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNy L1gxMVI2L2xpYiAtbGpwZWcgLWxnY2MgLWxzdGRjKysgMT4mNQ0KY29uZmln dXJlOjUxNDM6IGNoZWNraW5nIGZvciBjb25uZWN0DQpjb25maWd1cmU6NTE3 MTogY2MgLW8gY29uZnRlc3QgLU8wIC1PIC1waXBlICAtSS91c3IvaW5jbHVk ZSAtRF9HRVRPUFRfSCAtRF9QVEhfSF8gLURfUFRIX1BUSFJFQURfSF8gIC1J L3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vz ci9YMTFSNi9pbmNsdWRlL3F0MiAgY29uZnRlc3QuYyAtV2wsLWV4cG9ydC1k eW5hbWljIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL1gxMVI2L2xpYiAtbGpw ZWcgLWxnY2MgLWxzdGRjKysgMT4mNQ0KY29uZmlndXJlOjUyMzQ6IGNoZWNr aW5nIGZvciByZW1vdmUNCmNvbmZpZ3VyZTo1MjYyOiBjYyAtbyBjb25mdGVz dCAtTzAgLU8gLXBpcGUgIC1JL3Vzci9pbmNsdWRlIC1EX0dFVE9QVF9IIC1E X1BUSF9IXyAtRF9QVEhfUFRIUkVBRF9IXyAgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUv cXQyICBjb25mdGVzdC5jIC1XbCwtZXhwb3J0LWR5bmFtaWMgLUwvdXNyL2xv Y2FsL2xpYiAtTC91c3IvWDExUjYvbGliIC1sanBlZyAtbGdjYyAtbHN0ZGMr KyAxPiY1DQpjb25maWd1cmU6NTMyNjogY2hlY2tpbmcgZm9yIHNobWF0DQpj b25maWd1cmU6NTM1NDogY2MgLW8gY29uZnRlc3QgLU8wIC1PIC1waXBlICAt SS91c3IvaW5jbHVkZSAtRF9HRVRPUFRfSCAtRF9QVEhfSF8gLURfUFRIX1BU SFJFQURfSF8gIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9p bmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlL3F0MiAgY29uZnRlc3QuYyAt V2wsLWV4cG9ydC1keW5hbWljIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL1gx MVI2L2xpYiAtbGpwZWcgLWxnY2MgLWxzdGRjKysgMT4mNQ0KY29uZmlndXJl OjU0MTY6IGNoZWNraW5nIGZvciByZXNfaW5pdA0KY29uZmlndXJlOjU0NDQ6 IGNjIC1vIGNvbmZ0ZXN0IC1PMCAtTyAtcGlwZSAgLUkvdXNyL2luY2x1ZGUg LURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BUSF9QVEhSRUFEX0hfICAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3Iv WDExUjYvaW5jbHVkZS9xdDIgIGNvbmZ0ZXN0LmMgLVdsLC1leHBvcnQtZHlu YW1pYyAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9YMTFSNi9saWIgLWxqcGVn IC1sZ2NjIC1sc3RkYysrIDE+JjUNCmNvbmZpZ3VyZTo1NTA4OiBjaGVja2lu ZyBmb3Iga2lsbHBnIGluIC1sdWNiDQpjb25maWd1cmU6NTUyNzogY2MgLW8g Y29uZnRlc3QgLU8wIC1PIC1waXBlICAtSS91c3IvaW5jbHVkZSAtRF9HRVRP UFRfSCAtRF9QVEhfSF8gLURfUFRIX1BUSFJFQURfSF8gIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9p bmNsdWRlL3F0MiAgY29uZnRlc3QuYyAtbHVjYiAgLVdsLC1leHBvcnQtZHlu YW1pYyAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9YMTFSNi9saWIgLWxqcGVn IC1sZ2NjIC1sc3RkYysrIDE+JjUNCi91c3IvbGliZXhlYy9lbGYvbGQ6IGNh bm5vdCBmaW5kIC1sdWNiDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoNCiNsaW5lIDU1MTYgImNvbmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVm cy5oIg0KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBl IHRvIGF2b2lkIGFuIGVycm9yLiAgKi8NCi8qIFdlIHVzZSBjaGFyIGJlY2F1 c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIN CiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUg d291bGQgc3RpbGwgYXBwbHkuICAqLw0KY2hhciBraWxscGcoKTsNCg0KaW50 IG1haW4oKSB7DQpraWxscGcoKQ0KOyByZXR1cm4gMDsgfQ0KY29uZmlndXJl OjU1OTY6IGNoZWNraW5nIHNpemUgb2YgaW50DQpjb25maWd1cmU6NTYxNTog Y2MgLW8gY29uZnRlc3QgLU8wIC1PIC1waXBlICAtSS91c3IvaW5jbHVkZSAt RF9HRVRPUFRfSCAtRF9QVEhfSF8gLURfUFRIX1BUSFJFQURfSF8gIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9Y MTFSNi9pbmNsdWRlL3F0MiAgY29uZnRlc3QuYyAtV2wsLWV4cG9ydC1keW5h bWljIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL1gxMVI2L2xpYiAtbGpwZWcg LWxnY2MgLWxzdGRjKysgMT4mNQ0KY29uZmlndXJlOjU2MzQ6IGNoZWNraW5n IHNpemUgb2YgbG9uZw0KY29uZmlndXJlOjU2NTM6IGNjIC1vIGNvbmZ0ZXN0 IC1PMCAtTyAtcGlwZSAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURf UFRIX0hfIC1EX1BUSF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9x dDIgIGNvbmZ0ZXN0LmMgLVdsLC1leHBvcnQtZHluYW1pYyAtTC91c3IvbG9j YWwvbGliIC1ML3Vzci9YMTFSNi9saWIgLWxqcGVnIC1sZ2NjIC1sc3RkYysr IDE+JjUNCmNvbmZpZ3VyZTo1NjcyOiBjaGVja2luZyBzaXplIG9mIGNoYXIg Kg0KY29uZmlndXJlOjU2OTE6IGNjIC1vIGNvbmZ0ZXN0IC1PMCAtTyAtcGlw ZSAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BU SF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9j YWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgIGNvbmZ0ZXN0 LmMgLVdsLC1leHBvcnQtZHluYW1pYyAtTC91c3IvbG9jYWwvbGliIC1ML3Vz ci9YMTFSNi9saWIgLWxqcGVnIC1sZ2NjIC1sc3RkYysrIDE+JjUNCmNvbmZp Z3VyZTo1NzEyOiBjaGVja2luZyBmb3IgZGxvcGVuIGluIC1sZGwNCmNvbmZp Z3VyZTo1NzU2OiBjaGVja2luZyBmb3Igc2hsX3VubG9hZCBpbiAtbGRsZA0K Y29uZmlndXJlOjU3NzU6IGNjIC1vIGNvbmZ0ZXN0IC1PMCAtTyAtcGlwZSAg LUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BUSF9Q VEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwv aW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgIGNvbmZ0ZXN0LmMg LWxkbGQgIC1XbCwtZXhwb3J0LWR5bmFtaWMgLUwvdXNyL2xvY2FsL2xpYiAt TC91c3IvWDExUjYvbGliIC1sanBlZyAtbGdjYyAtbHN0ZGMrKyAxPiY1DQov dXNyL2xpYmV4ZWMvZWxmL2xkOiBjYW5ub3QgZmluZCAtbGRsZA0KY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSA1NzY0ICJjb25maWd1 cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCi8qIE92ZXJyaWRlIGFueSBn Y2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICov DQovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg cmV0dXJuIHR5cGUgb2YgYSBnY2MyDQogICAgYnVpbHRpbiBhbmQgdGhlbiBp dHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8N CmNoYXIgc2hsX3VubG9hZCgpOw0KDQppbnQgbWFpbigpIHsNCnNobF91bmxv YWQoKQ0KOyByZXR1cm4gMDsgfQ0KY29uZmlndXJlOjU4MDQ6IGNoZWNraW5n IGZvciBleHRyYSBpbmNsdWRlcw0KY29uZmlndXJlOjU4MzU6IGNoZWNraW5n IGZvciBleHRyYSBsaWJzDQpjb25maWd1cmU6NTg2OTogY2hlY2tpbmcgZm9y IGxpYnoNCmNvbmZpZ3VyZTo1ODk1OiBjYyAtbyBjb25mdGVzdCAtTzAgLU8g LXBpcGUgICAgLUkvdXNyL2luY2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hf IC1EX1BUSF9QVEhSRUFEX0hfICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZS9xdDIgIGNv bmZ0ZXN0LmMgICAtTC91c3IvbG9jYWwvbGliIC1seiAgMT4mNQ0KY29uZmln dXJlOjU5MjU6IGNoZWNraW5nIGZvciBYDQpjb25maWd1cmU6NTk2NDogY2Mg LUUgIC1JL3Vzci9pbmNsdWRlIC1EX0dFVE9QVF9IIC1EX1BUSF9IXyAtRF9Q VEhfUFRIUkVBRF9IXyAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUvcXQyIGNvbmZ0ZXN0 LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dA0KY29uZmlndXJlOjU5NjA6 IFgxMS9JbnRyaW5zaWMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQ0K Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSA1OTU5ICJj b25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCiNpbmNsdWRlIDxY MTEvSW50cmluc2ljLmg+DQpjb25maWd1cmU6NjA0MDogY2MgLW8gY29uZnRl c3QgLU8wIC1PIC1waXBlICAtSS91c3IvaW5jbHVkZSAtRF9HRVRPUFRfSCAt RF9QVEhfSF8gLURfUFRIX1BUSFJFQURfSF8gIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRl L3F0MiAgY29uZnRlc3QuYyAtbFh0IC1XbCwtZXhwb3J0LWR5bmFtaWMgLUwv dXNyL2xvY2FsL2xpYiAtTC91c3IvWDExUjYvbGliIC1sanBlZyAtbGdjYyAt bHN0ZGMrKyAxPiY1DQpjb25maWd1cmU6NjIxMTogY2hlY2tpbmcgZm9yIElj ZUNvbm5lY3Rpb25OdW1iZXIgaW4gLWxJQ0UNCmNvbmZpZ3VyZTo2MjMwOiBj YyAtbyBjb25mdGVzdCAtTzAgLU8gLXBpcGUgIC1JL3Vzci9pbmNsdWRlIC1E X0dFVE9QVF9IIC1EX1BUSF9IXyAtRF9QVEhfUFRIUkVBRF9IXyAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gx MVI2L2luY2x1ZGUvcXQyICAtTC91c3IvWDExUjYvbGliIGNvbmZ0ZXN0LmMg LWxJQ0UgIC1XbCwtZXhwb3J0LWR5bmFtaWMgLUwvdXNyL2xvY2FsL2xpYiAt TC91c3IvWDExUjYvbGliIC1sanBlZyAtbGdjYyAtbHN0ZGMrKyAxPiY1DQpj b25maWd1cmU6NjI1OTogY2hlY2tpbmcgZm9yIGxpYlhleHQNCmNvbmZpZ3Vy ZTo2MjgyOiBjYyAtbyBjb25mdGVzdCAtTzAgLU8gLXBpcGUgIC1JL3Vzci9p bmNsdWRlIC1EX0dFVE9QVF9IIC1EX1BUSF9IXyAtRF9QVEhfUFRIUkVBRF9I XyAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUg LUkvdXNyL1gxMVI2L2luY2x1ZGUvcXQyICAtTC91c3IvWDExUjYvbGliICAt TC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgLWxYZXh0IC1sWDExICAxPiY1 DQpjb25maWd1cmU6NjM3MDogY2hlY2tpbmcgZm9yIGxpYnBuZw0KY29uZmln dXJlOjY0MDA6IGNjIC1vIGNvbmZ0ZXN0IC1PMCAtTyAtcGlwZSAtSS91c3Iv WDExUjYvaW5jbHVkZSAgIC1JL3Vzci9pbmNsdWRlIC1EX0dFVE9QVF9IIC1E X1BUSF9IXyAtRF9QVEhfUFRIUkVBRF9IXyAgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUv cXQyICBjb25mdGVzdC5jIC1XbCwtZXhwb3J0LWR5bmFtaWMgLUwvdXNyL2xv Y2FsL2xpYiAtTC91c3IvWDExUjYvbGliIC1sanBlZyAtbGdjYyAtbHN0ZGMr KyAtTC91c3IvWDExUjYvbGliICAtTC91c3IvbG9jYWwvbGliIC1scG5nIC1s eiAtbG0gLWxYMTEgIDE+JjUNCmNvbmZpZ3VyZTo2NDMyOiBjaGVja2luZyBm b3IgbGlianBlZzZiDQpjb25maWd1cmU6NjQ3MDogY2MgLW8gY29uZnRlc3Qg LU8wIC1PIC1waXBlIC1JL3Vzci9YMTFSNi9pbmNsdWRlICAgLUkvdXNyL2lu Y2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BUSF9QVEhSRUFEX0hf ICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAt SS91c3IvWDExUjYvaW5jbHVkZS9xdDIgIGNvbmZ0ZXN0LmMgLUwvdXNyL1gx MVI2L2xpYiAgLUwvdXNyL2xvY2FsL2xpYiAtbGpwZWc2YiAtbG0gMT4mNQ0K L3Vzci9saWJleGVjL2VsZi9sZDogY2Fubm90IGZpbmQgLWxqcGVnNmINCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgNjQ0OSAiY29u ZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQovKiBPdmVycmlkZSBh bnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu ICAqLw0Kc3RydWN0IGpwZWdfZGVjb21wcmVzc19zdHJ1Y3Q7DQp0eXBlZGVm IHN0cnVjdCBqcGVnX2RlY29tcHJlc3Nfc3RydWN0ICogal9kZWNvbXByZXNz X3B0cjsNCnR5cGVkZWYgaW50IHNpemVfdDsNCiNpZmRlZiBfX2NwbHVzcGx1 cw0KZXh0ZXJuICJDIiB7DQojZW5kaWYNCiAgICB2b2lkIGpwZWdfQ3JlYXRl RGVjb21wcmVzcyhqX2RlY29tcHJlc3NfcHRyIGNpbmZvLA0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHZlcnNpb24sIHNpemVf dCBzdHJ1Y3RzaXplKTsNCiNpZmRlZiBfX2NwbHVzcGx1cw0KfQ0KI2VuZGlm DQovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg cmV0dXJuIHR5cGUgb2YgYSBnY2MyDQogICAgYnVpbHRpbiBhbmQgdGhlbiBp dHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8N Cg0KaW50IG1haW4oKSB7DQpqcGVnX0NyZWF0ZURlY29tcHJlc3MoMEwsIDAs IDApOw0KOyByZXR1cm4gMDsgfQ0KY29uZmlndXJlOjY0OTM6IGNoZWNraW5n IGZvciBsaWJqcGVnDQpjb25maWd1cmU6NjUzMTogY2MgLW8gY29uZnRlc3Qg LU8wIC1PIC1waXBlIC1JL3Vzci9YMTFSNi9pbmNsdWRlICAgLUkvdXNyL2lu Y2x1ZGUgLURfR0VUT1BUX0ggLURfUFRIX0hfIC1EX1BUSF9QVEhSRUFEX0hf ICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAt SS91c3IvWDExUjYvaW5jbHVkZS9xdDIgIGNvbmZ0ZXN0LmMgLUwvdXNyL1gx MVI2L2xpYiAgLUwvdXNyL2xvY2FsL2xpYiAtbGpwZWcgLWxtIDE+JjUNCmNv bmZpZ3VyZTo2Njk2OiBjaGVja2luZyBmb3IgUXQNCmNvbmZpZ3VyZTo2ODU3 OiBybSAtcmYgU3VuV1NfY2FjaGU7IGMrKyAtbyBjb25mdGVzdCAtTzAgLWZu by1leGNlcHRpb25zIC1mbm8tY2hlY2stbmV3IC1XYWxsIC1wZWRhbnRpYyAt VyAtV3BvaW50ZXItYXJpdGggLVdtaXNzaW5nLXByb3RvdHlwZXMgLVd3cml0 ZS1zdHJpbmdzIC1Xbm8tbG9uZy1sb25nIC1Xbm9uLXZpcnR1YWwtZHRvciAt Zm5vLWJ1aWx0aW4gLU8gLXBpcGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUvcXQy IC1JL3Vzci9YMTFSNi9pbmNsdWRlICAtSS91c3IvaW5jbHVkZSAtRF9HRVRP UFRfSCAtRF9QVEhfSF8gLURfUFRIX1BUSFJFQURfSF8gIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9p bmNsdWRlL3F0MiAgLUwvdXNyL1gxMVI2L2xpYiAtTC91c3IvWDExUjYvbGli ICAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LkMgLVdsLC1leHBvcnQtZHlu YW1pYyAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9YMTFSNi9saWIgLWxqcGVn IC1sZ2NjIC1sc3RkYysrIC1scXQyIC1scG5nIC1seiAtbG0gLWxqcGVnICAt bFhleHQgLWxYMTEgLWxTTSAtbElDRSAgMT4mNQ0KY29uZnRlc3QuQzogSW4g ZnVuY3Rpb24gYGludCBtYWluKCknOg0KY29uZnRlc3QuQzoyMDogd2Fybmlu ZzogdW51c2VkIHZhcmlhYmxlIGBpbnQgbWFnbm9saWEnDQpjb25mdGVzdC5D OjE1OiB3YXJuaW5nOiB1bnVzZWQgdmFyaWFibGUgYGNsYXNzIFFTdHJpbmdM aXN0ICogdCcNCi91c3IvbGliL2xpYmdjYy5hKF9laC5vKTogSW4gZnVuY3Rp b24gYF9fZW1wdHknOg0KX2VoLm8oLnRleHQrMHhlOCk6IHVuZGVmaW5lZCBy ZWZlcmVuY2UgdG8gYHB0aHJlYWRfc2V0c3BlY2lmaWMnDQovdXNyL2xpYi9s aWJnY2MuYShfZWgubyk6IEluIGZ1bmN0aW9uIGBfX2dldF9laF9pbmZvJzoN Cl9laC5vKC50ZXh0KzB4MTY5KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBg cHRocmVhZF9rZXlfY3JlYXRlJw0KX2VoLm8oLnRleHQrMHgyNmEpOiB1bmRl ZmluZWQgcmVmZXJlbmNlIHRvIGBwdGhyZWFkX2dldHNwZWNpZmljJw0KX2Vo Lm8oLnRleHQrMHgyODkpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBwdGhy ZWFkX3NldHNwZWNpZmljJw0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6DQojaW5jbHVkZSAiY29uZmRlZnMuaCINCiNpbmNsdWRlIDxxZ2xvYmFs Lmg+DQojaW5jbHVkZSA8cWFwcGxpY2F0aW9uLmg+DQojaW5jbHVkZSA8cWFw cC5oPg0KI2luY2x1ZGUgPHFvYmpjb2xsLmg+DQojaW5jbHVkZSA8cWV2ZW50 Lmg+DQojaW5jbHVkZSA8cXN0cmluZy5oPg0KI2luY2x1ZGUgPHFzdHlsZS5o Pg0KI2luY2x1ZGUgPHFpY29udmlldy5oPg0KI2lmICEgKFFUX1ZFUlNJT04g Pj0gMjIyKQ0KI2Vycm9yIDENCiNlbmRpZg0KDQppbnQgbWFpbigpIHsNCiAg ICBRU3RyaW5nTGlzdCAqdCA9IG5ldyBRU3RyaW5nTGlzdCgpOw0KICAgIFFJ Y29uVmlldyBpdigwKTsNCiAgICBpdi5zZXRXb3JkV3JhcEljb25UZXh0KGZh bHNlKTsNCiAgICBRU3RyaW5nIHM7DQogICAgcy5zZXRMYXRpbjEoIkVsdmlz IGlzIGFsaXZlIiwgMTQpOw0KICAgIGludCBtYWdub2xpYSA9IFFFdmVudDo6 U3BlZWNoOyAvKiBuZXcgaW4gMi4yIGJldGEyICovDQogICAgcmV0dXJuIDA7 DQp9DQooZW5kIG9mICJjb25maWcubG9nIikNCioqKiBFcnJvciBjb2RlIDEN Cg0KU3RvcCBpbiAvdXNyL3BvcnRzL3gxMS9rZGVsaWJzMi4NCioqKiBFcnJv ciBjb2RlIDENCg0KU3RvcCBpbiAvdXNyL3BvcnRzL3gxMS9rZGVsaWJzMi4N CioqKiBFcnJvciBjb2RlIDENCg0KU3RvcCBpbiAvdXNyL3BvcnRzL3gxMS9r ZGVsaWJzMi4NCg== --0-2142458674-986652911=:25218-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message