From owner-freebsd-gnome@FreeBSD.ORG Tue Oct 7 15:38:13 2003 Return-Path: Delivered-To: freebsd-gnome@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F396116A4B3 for ; Tue, 7 Oct 2003 15:38:12 -0700 (PDT) Received: from sherryl.salk.edu (sherryl.snl.salk.edu [198.202.70.151]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8C4D043F93 for ; Tue, 7 Oct 2003 15:38:11 -0700 (PDT) (envelope-from jorge@salk.edu) Received: from merckx.snl.salk.edu (merckx.snl.salk.edu [198.202.70.90]) by sherryl.salk.edu (8.12.10/8.12.10) with ESMTP id h97Mc9gc076048 for ; Tue, 7 Oct 2003 15:38:09 -0700 (PDT) Date: Tue, 7 Oct 2003 15:38:08 -0700 (PDT) From: Jorge Aldana X-X-Sender: jorge@merckx.snl.salk.edu To: gnome@FreeBSD.org Message-ID: <20031007153221.S35242@merckx.snl.salk.edu> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-1645437099-1065566288=:35242" Subject: Port Error X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Oct 2003 22:38:13 -0000 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-1645437099-1065566288=:35242 Content-Type: TEXT/PLAIN; charset=US-ASCII On attempting to make the openoffice port I get the following error (attached listed files as well), this is on a FreeBSD machine with FreeBSD-4.9 RC#3 and I was executing "make WITH_BSD_JDK=TRUE": ------------------------------------------- *** Could not run GTK test program, checking why... *** The test program compiled, but did not run. This usually means *** that the run-time linker is not finding GTK or finding the wrong *** version of GTK. If it is not finding GTK, you'll need to set your *** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point *** to the installed location Also, make sure you have run ldconfig if that *** is required on your system *** *** If you have an old version installed, it is best to remove it, although *** you may also be able to get things to work by modifying LD_LIBRARY_PATH *** *** If you have a RedHat 5.0 system, you should remove the GTK package that *** came with the system with the command *** *** rpm --erase --nodeps gtk gtk-devel configure: error: Test for GTK failed. ===> Script "configure" failed unexpectedly. Please report the problem to gnome@FreeBSD.org [maintainer] and attach the "/usr/ports/editors/openoffice/work/mozilla/work/mozilla/config.log" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. an `ls /var/db/pkg`). *** Error code 1 Stop in /usr/ports/editors/openoffice/work/mozilla. *** Error code 1 ------------------------------------------- Thanks and let me know if you need anyother info. Jorge --0-1645437099-1065566288=:35242 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=vardbpkg Content-Transfer-Encoding: BASE64 Content-ID: <20031007153808.L35242@merckx.snl.salk.edu> Content-Description: Content-Disposition: attachment; filename=vardbpkg SGVybWVzLTEuMy4yDQpNZXNhLTMuNC4yXzINCk9SQml0LTAuNS4xNw0KT1JC aXQyLTIuNi4wDQpYRnJlZTg2LTQuMy4wLDENClhGcmVlODYtRm9udFNlcnZl ci00LjMuMA0KWEZyZWU4Ni1TZXJ2ZXItNC4zLjBfMg0KWEZyZWU4Ni1jbGll bnRzLTQuMy4wXzENClhGcmVlODYtZG9jdW1lbnRzLTQuMy4wDQpYRnJlZTg2 LWZvbnQxMDBkcGktNC4zLjANClhGcmVlODYtZm9udDc1ZHBpLTQuMy4wDQpY RnJlZTg2LWZvbnRDeXJpbGxpYy00LjMuMA0KWEZyZWU4Ni1mb250RGVmYXVs dEJpdG1hcHMtNC4zLjANClhGcmVlODYtZm9udEVuY29kaW5ncy00LjMuMA0K WEZyZWU4Ni1mb250U2NhbGFibGUtNC4zLjANClhGcmVlODYtbGlicmFyaWVz LTQuMy4wXzENClhGcmVlODYtbWFudWFscy00LjMuMA0KWGF3M2QtMS41DQpY ZnQtMi4xXzMNCmEycHMtbGV0dGVyLTQuMTNfMQ0KYWNtZS0yLjAuMg0KYWNy b3JlYWQtNS4wNl8xDQphZnRlcnN0ZXAtMS4wXzENCmFwYWNoZS1hbnQtMS41 LjRfMQ0KYXBzZmlsdGVyLTcuMi41XzENCmFydHMtMS4xLDENCmFzY2xvY2st MS4wDQphc3BlbGwtMC41MC4zXzENCmF0LXNwaS0xLjEuOA0KYXRrLTEuMi4y DQphdXRvY29uZi0yLjUzXzENCmJhc2gtMi4wNWIuMDA0DQpiaXNvbi0xLjc1 XzENCmJvbm9iby1hY3RpdmF0aW9uLTIuMi4xLDENCmJ1Z2J1ZGR5Mi0yLjIu MTAyXzENCmNzY29wZS0xNS40DQpjdXBzLWJhc2UtMS4xLjE4LjBfNA0KY3Zz dXAtMTYuMWcNCmRiMy0zLjMuMTEsMQ0KZGlhYmxvLWpkay0xLjMuMS4wDQpk b2Nib29rLXNrLTQuMS4yDQpkb2Nib29rLXhtbC00LjINCmRvY2Jvb2steHNs LTEuNTkuMQ0KZWVsMi0yLjIuMQ0KZW1hY3MtMjEuMl8yDQplbmxpZ2h0ZW5t ZW50LTAuMTYuNV82DQplb2cyLTIuMi4wDQplc291bmQtMC4yLjI5DQpleHBh dC0xLjk1LjZfMQ0KZmFtLTIuNi45XzINCmZpbGVyb2xsZXItMi4yLjFfMSwx DQpmbmxpYi0wLjUNCmZvbnRjb25maWctMi4xXzYNCmZyZWV0eXBlLTEuMy4x XzINCmZyZWV0eXBlMi0yLjEuM18xDQpmdndtLTIuNC4xNQ0KZ2FpbC0xLjIu MA0KZ2NjLTMuMi4zDQpnY29uZi0xLjAuOV8yDQpnY29uZi1lZGl0b3ItMC40 LjANCmdjb25mMi0yLjIuMA0KZ2RrLXBpeGJ1Zi0wLjIyLjANCmdkbTItMi40 LjEuMw0KZ2VkaXQyLTIuMi4wLjENCmdldHRleHQtMC4xMi4xDQpnZ3YyLTEu OTkuOTgNCmdob3N0c2NyaXB0LWdudS03LjA1XzQNCmdsZS0zLjAuMw0KZ2xp Yi0xLjIuMTBfOA0KZ2xpYi0yLjIuMQ0KZ21ha2UtMy44MF8xDQpnbm9tZS1p Y29uLXRoZW1lLTEuMC4wDQpnbm9tZS1wa2d2aWV3LTAuMC44DQpnbm9tZS10 aGVtZXMtMi4yXzENCmdub21lMi0yLjIuMA0KZ25vbWVhcHBsZXRzMi0yLjIu MF8xDQpnbm9tZWF1ZGlvLTEuNC4wDQpnbm9tZWNhbnZhcy0wLjIyLjANCmdu b21lY29udHJvbGNlbnRlcjItMi4yLjAuMQ0KZ25vbWVkZXNrdG9wLTIuMi4w LjENCmdub21lZ2FtZXMyLTIuMi4wDQpnbm9tZWhpZXItMS4wXzgNCmdub21l bGlicy0xLjQuMl8xDQpnbm9tZW1lZGlhMi0yLjIuMS4xXzENCmdub21lbWlt ZWRhdGEtMi4yLjBfMQ0KZ25vbWVwYW5lbC0yLjIuMC4xXzENCmdub21lcHJp bnQtMC4zNw0KZ25vbWVzZXNzaW9uLTIuMi4wLjINCmdub21lc3lzdGVtbW9u aXRvci0yLjAuNF8xDQpnbm9tZXRlcm1pbmFsLTIuMi4xDQpnbm9tZXVzZXJk b2NzMi0yLjAuNQ0KZ25vbWV1dGlsczItMi4yLjAuMywxDQpnbm9tZXZmczIt Mi4yLjINCmdzdHJlYW1lci0wLjYuMA0KZ3N0cmVhbWVyLXBsdWdpbnMtMC42 LjBfMQ0KZ3RrLTEuMi4xMF85DQpndGstMi4yLjENCmd0ay1lbmdpbmVzMi0y LjIuMA0KZ3RrLXRoaW5pY2UtZW5naW5lLTIuMC4yDQpndWlsZS0xLjQuMV8z DQpndi0zLjUuOF8yDQpoZWxwMm1hbi0xLjI5DQpocGlqcy0xLjMuMQ0KaW1h a2UtNC4zLjANCmltbGliLTEuOS4xNF8xDQppbnRsdG9vbC0wLjI1DQppc3Bl bGwtMy4yLjA2XzMNCmphdmF2bXdyYXBwZXItMS40DQpqZGstMS4zLjFwOF8y DQpqcGVnLTZiXzENCmtkZS0zLjENCmtkZWJhc2UtMy4xXzENCmtkZWdhbWVz LTMuMQ0Ka2RlZ3JhcGhpY3MtMy4xDQprZGVsaWJzLTMuMQ0Ka2RlbXVsdGlt ZWRpYS0zLjENCmtkZW5ldHdvcmstMy4xDQprZGV1dGlscy0zLjENCmtvZmZp Y2UtMS4yLjEsMQ0KbGNtcy0xLjA5DQpsaGEtMS4xNGkNCmxpYklETC0wLjgu MF8xDQpsaWJhcnRfbGdwbDItMi4zLjExDQpsaWJhdWRpb2ZpbGUtMC4yLjMN CmxpYmJvbm9iby0yLjIuMA0KbGliYm9ub2JvdWktMi4yLjAuMQ0KbGliY2Fw cGxldC0xLjQuMC41DQpsaWJnYWlsLWdub21lLTEuMC4yXzENCmxpYmdodHRw LTEuMC45DQpsaWJnbGFkZTItMi4wLjFfMQ0KbGliZ25vbWUtMi4yLjAuMQ0K bGliZ25vbWVjYW52YXMtMi4yLjAuMg0KbGliZ25vbWVwcmludC0yLjIuMS4x DQpsaWJnbm9tZXByaW50dWktMi4yLjEuMQ0KbGliZ25vbWV1aS0yLjIuMC4x DQpsaWJnbnVnZXRvcHQtMS4yDQpsaWJnc2YtMS43LjINCmxpYmd0a2h0bWwt Mi4yLjENCmxpYmd0b3AyLTIuMC4xXzMNCmxpYmljb252LTEuOF8yDQpsaWJp anMtMC4zNA0KbGlibW5nLTEuMC40DQpsaWJvZ2ctMS4wXzEsMw0KbGlicnN2 ZzItMi4yLjNfMQ0KbGlic2xhbmctMS40LjgNCmxpYnRvb2wtMS4zLjRfNA0K bGlidW5naWYtNC4xLjBiMQ0KbGlidm9yYmlzLTEuMF8xLDMNCmxpYnduY2st Mi4yLjENCmxpYnhtbC0xLjguMTdfMQ0KbGlieG1sMi0yLjUuNA0KbGlieHNs dC0xLjAuMjcNCmxpYnp2dC0yLjAuMV82DQpsaW5jLTEuMC4xDQpsaW51eF9i YXNlLTcuMV8yDQpseW54LTIuOC40LjFjDQpsem8tMS4wOF8xDQpsem9wLTEu MDANCm00LTEuNF8xDQptZXRhY2l0eS0yLjQuMzQNCm1ldGFjaXR5LXNldHVw LTAuNy4xXzINCm1rY2F0YWxvZy0xLjENCm1vemlsbGEtMS4yLjFfMSwyDQpt dG9vbHMtMy45LjhfMQ0KbXV0dC0xLjQuMQ0KbmF1dGlsdXMtbWVkaWEtMC4y LjENCm5hdXRpbHVzMi0yLjIuMQ0KbnNwci00LjNfMg0Kb2FmLTAuNi4xMF8x DQpvcGVuLW1vdGlmLTIuMi4yXzENCm9wZXJhLTYuMTIuMjAwMzAzMDUNCnBh bmdvLTEuMi4xXzINCnBjcmUtMy45DQpwaW5lLTQuNTNfMQ0KcGtnY29uZmln LTAuMTUuMA0KcGtnZGIuZGINCnBuZy0xLjIuNV8yDQpwb3B0LTEuNi40DQpw b3J0dXBncmFkZS0yMDAzMDIyOA0KcHN1dGlscy1sZXR0ZXItMS4xN18xDQpw eTIyLWV4cGF0LTIuMi4yXzINCnB5dGhvbi0yLjIuMl8yDQpxdC0zLjEuMV80 DQpyc3luYy0yLjUuNl8xDQpydWJ5LTEuNi44LjIwMDMuMDEuMTkNCnJ1Ynkt YmRiMS0wLjEuOA0KcnVieS1zaGltLXJ1YnkxOC0xLjguMC5wMg0Kc2Nyb2xs a2VlcGVyLTAuMy4xMV84LDENCnNkb2Nib29rLXhtbC00LjEuMi41DQpzb3gt MTIuMTcuM18xDQpzdGFydHVwLW5vdGlmaWNhdGlvbi0wLjVfMQ0Kc3Vkby0x LjYuNl8xDQp0MWxpYi0xLjMuMQ0KdGNsLTguMy41DQp0aWZmLTMuNS43DQp1 bnppcC01LjUwDQp1cmx2aWV3LTAuOV8xDQp1cndmb250cy0xLjANCnV1bGli LTAuNS4xOA0KdmltLTYuMS4zNjUNCnZ0ZS0wLjEwLjI2DQp3cmFwcGVyLTEu MF8yDQp4YW5pbS0yLjkyLjANCnhjaGF0LTEuOC4xMQ0KeHBkZi0yLjAxXzEN CnhzY3JlZW5zYXZlci1nbm9tZS00LjA4DQp4di0zLjEwYV8zDQp5ZWxwLTIu Mi4wDQp6aXAtMi4zXzENCg== --0-1645437099-1065566288=:35242 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="config.log" Content-Transfer-Encoding: BASE64 Content-ID: <20031007153808.P35242@merckx.snl.salk.edu> Content-Description: Content-Disposition: attachment; filename="config.log" VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBj b21waWxlcnMgd2hpbGUNCnJ1bm5pbmcgY29uZmlndXJlLCB0byBhaWQgZGVi dWdnaW5nIGlmIGNvbmZpZ3VyZSBtYWtlcyBhIG1pc3Rha2UuDQoNCmNvbmZp Z3VyZTo4MzM6IGNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUNCmNvbmZpZ3Vy ZTo4NTQ6IGNoZWNraW5nIHRhcmdldCBzeXN0ZW0gdHlwZQ0KY29uZmlndXJl Ojg3MjogY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5cGUNCmNvbmZpZ3VyZTox OTgwOiBjaGVja2luZyBmb3IgZ2NjDQpjb25maWd1cmU6MjA5MzogY2hlY2tp bmcgd2hldGhlciB0aGUgQyBjb21waWxlciAoZ2NjMzIgLU8gLXBpcGUgICkg d29ya3MNCmNvbmZpZ3VyZToyMTA5OiBnY2MzMiAtbyBjb25mdGVzdCAtTyAt cGlwZSAgICBjb25mdGVzdC5jICAxPiY1DQpjb25maWd1cmU6MjEzNTogY2hl Y2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciAoZ2NjMzIgLU8gLXBpcGUg ICkgaXMgYSBjcm9zcy1jb21waWxlcg0KY29uZmlndXJlOjIxNDA6IGNoZWNr aW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIEdOVSBDDQpjb25maWd1cmU6MjE0 OTogZ2NjMzIgLUUgY29uZnRlc3QuYw0KY29uZmlndXJlOjIxNjg6IGNoZWNr aW5nIHdoZXRoZXIgZ2NjMzIgYWNjZXB0cyAtZw0KY29uZmlndXJlOjIyMDQ6 IGNoZWNraW5nIGZvciBjKysNCmNvbmZpZ3VyZToyMjM2OiBjaGVja2luZyB3 aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgKGcrKzMyICAtTyAtcGlwZSAgKSB3 b3Jrcw0KY29uZmlndXJlOjIyNTI6IGcrKzMyIC1vIGNvbmZ0ZXN0ICAtTyAt cGlwZSAgICBjb25mdGVzdC5DICAxPiY1DQpjb25maWd1cmU6MjI3ODogY2hl Y2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIChnKyszMiAgLU8gLXBp cGUgICkgaXMgYSBjcm9zcy1jb21waWxlcg0KY29uZmlndXJlOjIyODM6IGNo ZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIEdOVSBDKysNCmNvbmZpZ3Vy ZToyMjkyOiBnKyszMiAtRSBjb25mdGVzdC5DDQpjb25maWd1cmU6MjMxMTog Y2hlY2tpbmcgd2hldGhlciBnKyszMiBhY2NlcHRzIC1nDQpjb25maWd1cmU6 MjM2MDogZ2NjMzIgLWMgLU8gLXBpcGUgICBjb25mdGVzdC5jIDE+JjUNCmNv bmZpZ3VyZToyMzc3OiBnY2MzMiAtYyAtTyAtcGlwZSAgIGNvbmZ0ZXN0LmMg MT4mNQ0KY29uZmlndXJlOjIzOTY6IGNoZWNraW5nIGZvciByYW5saWINCmNv bmZpZ3VyZToyNDI4OiBjaGVja2luZyBmb3IgYXMNCmNvbmZpZ3VyZToyNDY5 OiBjaGVja2luZyBmb3IgYXINCmNvbmZpZ3VyZToyNTEwOiBjaGVja2luZyBm b3IgbGQNCmNvbmZpZ3VyZToyNTUxOiBjaGVja2luZyBmb3Igc3RyaXANCmNv bmZpZ3VyZToyNTkyOiBjaGVja2luZyBmb3IgZGxsdG9vbA0KY29uZmlndXJl OjI2NTQ6IGNoZWNraW5nIHdoZXRoZXIgZ2NjMzIgYW5kIGNjIHVuZGVyc3Rh bmQgLWMgYW5kIC1vIHRvZ2V0aGVyDQpjb25maWd1cmU6MjY2OTogZ2NjMzIg LWMgY29uZnRlc3QuYyAtbyBjb25mdGVzdC5vIDE+JjUNCmNvbmZpZ3VyZToy NjcwOiBnY2MzMiAtYyBjb25mdGVzdC5jIC1vIGNvbmZ0ZXN0Lm8gMT4mNQ0K Y29uZmlndXJlOjI2NzU6IGNjIC1jIGNvbmZ0ZXN0LmMgMT4mNQ0KY29uZmln dXJlOjI2Nzc6IGNjIC1jIGNvbmZ0ZXN0LmMgLW8gY29uZnRlc3QubyAxPiY1 DQpjb25maWd1cmU6MjY3ODogY2MgLWMgY29uZnRlc3QuYyAtbyBjb25mdGVz dC5vIDE+JjUNCmNvbmZpZ3VyZToyNzM5OiBjaGVja2luZyBob3cgdG8gcnVu IHRoZSBDIHByZXByb2Nlc3Nvcg0KY29uZmlndXJlOjI3NjA6IGdjYzMyIC1F ICBjb25mdGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQNCmNvbmZp Z3VyZToyODE5OiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDKysgcHJlcHJv Y2Vzc29yDQpjb25maWd1cmU6MjgzNzogZysrMzIgLUUgIGNvbmZ0ZXN0LkMg Pi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dA0KY29uZmlndXJlOjI4NzM6IGNo ZWNraW5nIGZvciBhIEJTRCBjb21wYXRpYmxlIGluc3RhbGwNCmNvbmZpZ3Vy ZToyOTI2OiBjaGVja2luZyB3aGV0aGVyIGxuIC1zIHdvcmtzDQpjb25maWd1 cmU6Mjk1MTogY2hlY2tpbmcgZm9yIGdhd2sNCmNvbmZpZ3VyZToyOTUxOiBj aGVja2luZyBmb3IgbWF3aw0KY29uZmlndXJlOjI5NTE6IGNoZWNraW5nIGZv ciBuYXdrDQpjb25maWd1cmU6Mjk4NTogY2hlY2tpbmcgZm9yIHhlbWFjcw0K Y29uZmlndXJlOjI5ODU6IGNoZWNraW5nIGZvciBsZW1hY3MNCmNvbmZpZ3Vy ZToyOTg1OiBjaGVja2luZyBmb3IgZW1hY3MNCmNvbmZpZ3VyZTozMDI2OiBj aGVja2luZyBmb3IgcGVybDUNCmNvbmZpZ3VyZTozMDY2OiBjaGVja2luZyBm b3IgbWluaW11bSByZXF1aXJlZCBwZXJsIHZlcnNpb24gPj0gNS4wMDQNCmNv bmZpZ3VyZTozMDc2OiBjaGVja2luZyBmb3IgZnVsbCBwZXJsIGluc3RhbGxh dGlvbg0KY29uZmlndXJlOjMwODk6IGNoZWNraW5nIGZvciB3aG9hbWkNCmNv bmZpZ3VyZTozMTI1OiBjaGVja2luZyBmb3IgYXV0b2NvbmYNCmNvbmZpZ3Vy ZTozMTYxOiBjaGVja2luZyBmb3IgdW56aXANCmNvbmZpZ3VyZTozMTk5OiBj aGVja2luZyBmb3IgemlwDQpjb25maWd1cmU6MzI0MDogY2hlY2tpbmcgZm9y IG1ha2VkZXBlbmQNCmNvbmZpZ3VyZTozMjc1OiBjaGVja2luZyBmb3IgeGFy Z3MNCmNvbmZpZ3VyZTozMzE2OiBjaGVja2luZyBmb3IgZ21ha2UNCmNvbmZp Z3VyZTozMzcyOiBjaGVja2luZyB3aGV0aGVyIC91c3IvbG9jYWwvYmluL2dt YWtlIHNldHMgJHtNQUtFfQ0KY29uZmlndXJlOjM0MDQ6IGNoZWNraW5nIGZv ciBYDQpjb25maWd1cmU6MzcxODogY2hlY2tpbmcgZm9yIGRuZXRfbnRvYSBp biAtbGRuZXQNCmNvbmZpZ3VyZTozNzM3OiBnY2MzMiAtbyBjb25mdGVzdCAt TyAtcGlwZSAgICBjb25mdGVzdC5jIC1sZG5ldCAgIDE+JjUNCi91c3IvbGli ZXhlYy9lbGYvbGQ6IGNhbm5vdCBmaW5kIC1sZG5ldA0KY29sbGVjdDI6IGxk IHJldHVybmVkIDEgZXhpdCBzdGF0dXMNCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOg0KI2xpbmUgMzcyNiAiY29uZmlndXJlIg0KI2luY2x1ZGUg ImNvbmZkZWZzLmgiDQovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBw cm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0KLyogV2UgdXNlIGNo YXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9m IGEgZ2NjMg0KICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovDQpjaGFyIGRuZXRfbnRv YSgpOw0KDQppbnQgbWFpbigpIHsNCmRuZXRfbnRvYSgpDQo7IHJldHVybiAw OyB9DQpjb25maWd1cmU6Mzc1OTogY2hlY2tpbmcgZm9yIGRuZXRfbnRvYSBp biAtbGRuZXRfc3R1Yg0KY29uZmlndXJlOjM3Nzg6IGdjYzMyIC1vIGNvbmZ0 ZXN0IC1PIC1waXBlICAgIGNvbmZ0ZXN0LmMgLWxkbmV0X3N0dWIgICAxPiY1 DQovdXNyL2xpYmV4ZWMvZWxmL2xkOiBjYW5ub3QgZmluZCAtbGRuZXRfc3R1 Yg0KY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMNCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgMzc2NyAiY29uZmln dXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQovKiBPdmVycmlkZSBhbnkg Z2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAq Lw0KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhl IHJldHVybiB0eXBlIG9mIGEgZ2NjMg0KICAgIGJ1aWx0aW4gYW5kIHRoZW4g aXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICov DQpjaGFyIGRuZXRfbnRvYSgpOw0KDQppbnQgbWFpbigpIHsNCmRuZXRfbnRv YSgpDQo7IHJldHVybiAwOyB9DQpjb25maWd1cmU6MzgwNzogY2hlY2tpbmcg Zm9yIGdldGhvc3RieW5hbWUNCmNvbmZpZ3VyZTozODM1OiBnY2MzMiAtbyBj b25mdGVzdCAtTyAtcGlwZSAgICBjb25mdGVzdC5jICAxPiY1DQpjb25maWd1 cmU6MzkwNTogY2hlY2tpbmcgZm9yIGNvbm5lY3QNCmNvbmZpZ3VyZTozOTMz OiBnY2MzMiAtbyBjb25mdGVzdCAtTyAtcGlwZSAgICBjb25mdGVzdC5jICAx PiY1DQpjb25maWd1cmU6Mzk5NzogY2hlY2tpbmcgZm9yIHJlbW92ZQ0KY29u ZmlndXJlOjQwMjU6IGdjYzMyIC1vIGNvbmZ0ZXN0IC1PIC1waXBlICAgIGNv bmZ0ZXN0LmMgIDE+JjUNCmNvbmZpZ3VyZTo0MDg5OiBjaGVja2luZyBmb3Ig c2htYXQNCmNvbmZpZ3VyZTo0MTE3OiBnY2MzMiAtbyBjb25mdGVzdCAtTyAt cGlwZSAgICBjb25mdGVzdC5jICAxPiY1DQpjb25maWd1cmU6NDE5MDogY2hl Y2tpbmcgZm9yIEljZUNvbm5lY3Rpb25OdW1iZXIgaW4gLWxJQ0UNCmNvbmZp Z3VyZTo0MjA5OiBnY2MzMiAtbyBjb25mdGVzdCAtTyAtcGlwZSAgICAtTC91 c3IvWDExUjYvbGliIGNvbmZ0ZXN0LmMgLWxJQ0UgICAxPiY1DQpjb25maWd1 cmU6NDQ3NDogY2hlY2tpbmcgd2hldGhlciBsZCBoYXMgYXJjaGl2ZSBleHRy YWN0aW9uIGZsYWdzDQpjb25maWd1cmU6NDQ5ODogZ2NjMzIgLW8gY29uZnRl c3QgLU8gLXBpcGUgICAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgLVdsLC0td2hv bGUtYXJjaGl2ZSBjb25mdGVzdC5jIC1XbCwtLW5vLXdob2xlLWFyY2hpdmUg MT4mNQ0KY29uZmlndXJlOjUzNzQ6IGNoZWNraW5nIGZvciBBTlNJIEMgaGVh ZGVyIGZpbGVzDQpjb25maWd1cmU6NTM4NzogZ2NjMzIgLUUgICAtSS91c3Iv WDExUjYvaW5jbHVkZSBjb25mdGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVz dC5vdXQNCmNvbmZpZ3VyZTo1NDU0OiBnY2MzMiAtbyBjb25mdGVzdCAtTyAt cGlwZSAgICAtSS91c3IvWDExUjYvaW5jbHVkZSAgY29uZnRlc3QuYyAgMT4m NQ0KY29uZmlndXJlOjU0Nzg6IGNoZWNraW5nIGZvciB3b3JraW5nIGNvbnN0 DQpjb25maWd1cmU6NTUzMjogZ2NjMzIgLWMgLU8gLXBpcGUgICAgLUkvdXNy L1gxMVI2L2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1DQpjb25maWd1cmU6NTU1 MzogY2hlY2tpbmcgZm9yIG1vZGVfdA0KY29uZmlndXJlOjU1ODY6IGNoZWNr aW5nIGZvciBvZmZfdA0KY29uZmlndXJlOjU2MTk6IGNoZWNraW5nIGZvciBw aWRfdA0KY29uZmlndXJlOjU2NTI6IGNoZWNraW5nIGZvciBzaXplX3QNCmNv bmZpZ3VyZTo1Njg1OiBjaGVja2luZyBmb3IgdWlkX3QgaW4gc3lzL3R5cGVz LmgNCmNvbmZpZ3VyZTo1NzE5OiBjaGVja2luZyBmb3Igc3RfYmxrc2l6ZSBp biBzdHJ1Y3Qgc3RhdA0KY29uZmlndXJlOjU3MzI6IGdjYzMyIC1jIC1PIC1w aXBlICAgIC1JL3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQ0K Y29uZmlndXJlOjU3NjU6IGNoZWNraW5nIGZvciBpbnQxNl90DQpjb25maWd1 cmU6NTc3ODogZ2NjMzIgLWMgLU8gLXBpcGUgICAgLUkvdXNyL1gxMVI2L2lu Y2x1ZGUgY29uZnRlc3QuYyAxPiY1DQpjb25maWd1cmU6NTgwMDogY2hlY2tp bmcgZm9yIGludDMyX3QNCmNvbmZpZ3VyZTo1ODEzOiBnY2MzMiAtYyAtTyAt cGlwZSAgICAtSS91c3IvWDExUjYvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUN CmNvbmZpZ3VyZTo1ODM1OiBjaGVja2luZyBmb3IgaW50NjRfdA0KY29uZmln dXJlOjU4NDg6IGdjYzMyIC1jIC1PIC1waXBlICAgIC1JL3Vzci9YMTFSNi9p bmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQ0KY29uZmlndXJlOjU4NzA6IGNoZWNr aW5nIGZvciBpbnQ2NA0KY29uZmlndXJlOjU4ODM6IGdjYzMyIC1jIC1PIC1w aXBlICAgIC1JL3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQ0K Y29uZmlndXJlOiBJbiBmdW5jdGlvbiBgbWFpbic6DQpjb25maWd1cmU6NTg3 OTogYGludDY0JyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbikNCmNvbmZpZ3VyZTo1ODc5OiAoRWFjaCB1bmRlY2xhcmVkIGlkZW50 aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlDQpjb25maWd1cmU6NTg3OTog Zm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbi4pDQpjb25maWd1cmU6 NTg3OTogcGFyc2UgZXJyb3IgYmVmb3JlICJmb28iDQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDU4NzUgImNvbmZpZ3VyZSINCiNp bmNsdWRlICJjb25mZGVmcy5oIg0KI2luY2x1ZGUgPHN0ZGlvLmg+DQogICAg ICAgICAgICAgICAgICAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQppbnQgbWFp bigpIHsNCmludDY0IGZvbyA9IDA7DQo7IHJldHVybiAwOyB9DQpjb25maWd1 cmU6NTkwNTogY2hlY2tpbmcgZm9yIHVpbnQNCmNvbmZpZ3VyZTo1OTE4OiBn Y2MzMiAtYyAtTyAtcGlwZSAgICAtSS91c3IvWDExUjYvaW5jbHVkZSBjb25m dGVzdC5jIDE+JjUNCmNvbmZpZ3VyZTo1OTQwOiBjaGVja2luZyBmb3IgdWlu dF90DQpjb25maWd1cmU6NTk1MzogZ2NjMzIgLWMgLU8gLXBpcGUgICAgLUkv dXNyL1gxMVI2L2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1DQpjb25maWd1cmU6 IEluIGZ1bmN0aW9uIGBtYWluJzoNCmNvbmZpZ3VyZTo1OTQ5OiBgdWludF90 JyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikNCmNv bmZpZ3VyZTo1OTQ5OiAoRWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMg cmVwb3J0ZWQgb25seSBvbmNlDQpjb25maWd1cmU6NTk0OTogZm9yIGVhY2gg ZnVuY3Rpb24gaXQgYXBwZWFycyBpbi4pDQpjb25maWd1cmU6NTk0OTogcGFy c2UgZXJyb3IgYmVmb3JlICJmb28iDQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoNCiNsaW5lIDU5NDUgImNvbmZpZ3VyZSINCiNpbmNsdWRlICJj b25mZGVmcy5oIg0KI2luY2x1ZGUgPHN0ZGlvLmg+DQogICAgICAgICAgICAg ICAgICAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQppbnQgbWFpbigpIHsNCnVp bnRfdCBmb28gPSAwOw0KOyByZXR1cm4gMDsgfQ0KY29uZmlndXJlOjU5NzU6 IGNoZWNraW5nIGZvciB1aW50MTZfdA0KY29uZmlndXJlOjU5ODg6IGdjYzMy IC1jIC1PIC1waXBlICAgIC1JL3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0 LmMgMT4mNQ0KY29uZmlndXJlOjYwMTk6IGNoZWNraW5nIGZvciB1bmFtZS5k b21haW5uYW1lDQpjb25maWd1cmU6NjAzMjogZysrMzIgLWMgIC1PIC1waXBl ICAgIC1JL3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQ0KY29u ZmlndXJlOiBJbiBmdW5jdGlvbiBgaW50IG1haW4oKSc6DQpjb25maWd1cmU6 NjAyODogYHN0cnVjdCB1dHNuYW1lJyBoYXMgbm8gbWVtYmVyIG5hbWVkIGBk b21haW5uYW1lJw0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQoj bGluZSA2MDI0ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCIN CiNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPg0KaW50IG1haW4oKSB7DQogc3Ry dWN0IHV0c25hbWUgKnJlczsgY2hhciAqZG9tYWluOyANCiAgICAgICAgICAg ICh2b2lkKXVuYW1lKHJlcyk7ICBpZiAocmVzICE9IDApIHsgZG9tYWluID0g cmVzLT5kb21haW5uYW1lOyB9IA0KOyByZXR1cm4gMDsgfQ0KY29uZmlndXJl OjYwNTY6IGNoZWNraW5nIGZvciB1bmFtZS5fX2RvbWFpbm5hbWUNCmNvbmZp Z3VyZTo2MDY5OiBnKyszMiAtYyAgLU8gLXBpcGUgICAgLUkvdXNyL1gxMVI2 L2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1DQpjb25maWd1cmU6IEluIGZ1bmN0 aW9uIGBpbnQgbWFpbigpJzoNCmNvbmZpZ3VyZTo2MDY1OiBgc3RydWN0IHV0 c25hbWUnIGhhcyBubyBtZW1iZXIgbmFtZWQgYF9fZG9tYWlubmFtZScNCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgNjA2MSAiY29u ZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQojaW5jbHVkZSA8c3lz L3V0c25hbWUuaD4NCmludCBtYWluKCkgew0KIHN0cnVjdCB1dHNuYW1lICpy ZXM7IGNoYXIgKmRvbWFpbjsgDQogICAgICAgICAgICAodm9pZCl1bmFtZShy ZXMpOyAgaWYgKHJlcyAhPSAwKSB7IGRvbWFpbiA9IHJlcy0+X19kb21haW5u YW1lOyB9IA0KOyByZXR1cm4gMDsgfQ0KY29uZmlndXJlOjYxMDE6IGNoZWNr aW5nIGZvciA2NC1iaXQgT1MNCmNvbmZpZ3VyZTo2MTExOiBnY2MzMiAtbyBj b25mdGVzdCAtTyAtcGlwZSAgICAtSS91c3IvWDExUjYvaW5jbHVkZSAgY29u ZnRlc3QuYyAgMT4mNQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 DQojbGluZSA2MTA2ICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMu aCINCiBpbnQgbWFpbiAoKSB7DQogICAgaWYgKHNpemVvZihsb25nKSA9PSA4 KSB7IHJldHVybiAwOyB9IHJldHVybiAxOyB9IA0KY29uZmlndXJlOjYxNDE6 IGNoZWNraW5nIGZvciB1c2FibGUgd2NoYXJfdCAoMiBieXRlcywgdW5zaWdu ZWQpDQpjb25maWd1cmU6NjE1NjogZ2NjMzIgLW8gY29uZnRlc3QgLU8gLXBp cGUgICAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgIDE+JjUN CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgNjE0OSAi Y29uZmlndXJlIg0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQojaW5jbHVkZSA8 c3RkZGVmLmg+DQogICAgICAgICAgICAgICAgIGludCBtYWluICgpIHsNCiAg ICAgICAgICAgICAgICAgICByZXR1cm4gKHNpemVvZih3Y2hhcl90KSAhPSAy KSB8fA0KICAgICAgICAgICAgICAgICAgICAgICAgICAod2NoYXJfdCktMSA8 ICh3Y2hhcl90KSAwIDsgfSANCmNvbmZpZ3VyZTo2MTkxOiBjaGVja2luZyBm b3IgY29tcGlsZXIgLWZzaG9ydC13Y2hhciBvcHRpb24NCmNvbmZpZ3VyZTo2 MjA2OiBnKyszMiAtbyBjb25mdGVzdCAgLU8gLXBpcGUgIC1mc2hvcnQtd2No YXIgICAtSS91c3IvWDExUjYvaW5jbHVkZSAgY29uZnRlc3QuQyAgMT4mNQ0K Y29uZmlndXJlOjYyNDk6IGNoZWNraW5nIGZvciB3Y3J0b21iDQpjb25maWd1 cmU6NjI2MTogZysrMzIgLW8gY29uZnRlc3QgIC1PIC1waXBlICAtZnNob3J0 LXdjaGFyICAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LkMgIDE+ JjUNCmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYGludCBtYWluKCknOg0KY29u ZmlndXJlOjYyNTc6IGB3Y3J0b21iJyB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug dGhpcyBmdW5jdGlvbikNCmNvbmZpZ3VyZTo2MjU3OiAoRWFjaCB1bmRlY2xh cmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNo IA0KICAgZnVuY3Rpb24gaXQgYXBwZWFycyBpbi4pDQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDYyNTQgImNvbmZpZ3VyZSINCiNp bmNsdWRlICJjb25mZGVmcy5oIg0KI2luY2x1ZGUgPHdjaGFyLmg+DQppbnQg bWFpbigpIHsNCm1ic3RhdGVfdCBwcz17MH07d2NydG9tYigwLCdmJywmcHMp Ow0KOyByZXR1cm4gMDsgfQ0KY29uZmlndXJlOjYyODE6IGNoZWNraW5nIGZv ciBtYnJ0b3djDQpjb25maWd1cmU6NjI5MzogZysrMzIgLW8gY29uZnRlc3Qg IC1PIC1waXBlICAtZnNob3J0LXdjaGFyICAgLUkvdXNyL1gxMVI2L2luY2x1 ZGUgIGNvbmZ0ZXN0LkMgIDE+JjUNCmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24g YGludCBtYWluKCknOg0KY29uZmlndXJlOjYyODk6IGBtYnJ0b3djJyB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgdGhpcyBmdW5jdGlvbikNCmNvbmZpZ3VyZTo2 Mjg5OiAoRWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQg b25seSBvbmNlIGZvciBlYWNoIA0KICAgZnVuY3Rpb24gaXQgYXBwZWFycyBp bi4pDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDYy ODYgImNvbmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0KI2luY2x1 ZGUgPHdjaGFyLmg+DQppbnQgbWFpbigpIHsNCm1ic3RhdGVfdCBwcz17MH07 bWJydG93YygwLDAsMCwmcHMpOw0KOyByZXR1cm4gMDsgfQ0KY29uZmlndXJl OjYzMjU6IGNoZWNraW5nIGZvciBkaXJlbnQuaCB0aGF0IGRlZmluZXMgRElS DQpjb25maWd1cmU6NjMzODogZ2NjMzIgLWMgLU8gLXBpcGUgICAgLUkvdXNy L1gxMVI2L2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1DQpjb25maWd1cmU6NjM2 MzogY2hlY2tpbmcgZm9yIG9wZW5kaXIgaW4gLWxkaXINCmNvbmZpZ3VyZTo2 MzgyOiBnY2MzMiAtbyBjb25mdGVzdCAtTyAtcGlwZSAgICAtSS91c3IvWDEx UjYvaW5jbHVkZSAgY29uZnRlc3QuYyAtbGRpciAgIDE+JjUNCi91c3IvbGli ZXhlYy9lbGYvbGQ6IGNhbm5vdCBmaW5kIC1sZGlyDQpjb2xsZWN0MjogbGQg cmV0dXJuZWQgMSBleGl0IHN0YXR1cw0KY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6DQojbGluZSA2MzcxICJjb25maWd1cmUiDQojaW5jbHVkZSAi Y29uZmRlZnMuaCINCi8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHBy b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQovKiBXZSB1c2UgY2hh ciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg YSBnY2MyDQogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJv dG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8NCmNoYXIgb3BlbmRpcigp Ow0KDQppbnQgbWFpbigpIHsNCm9wZW5kaXIoKQ0KOyByZXR1cm4gMDsgfQ0K Y29uZmlndXJlOjY0NTg6IGNoZWNraW5nIGZvciBzeXMvYnl0ZW9yZGVyLmgN CmNvbmZpZ3VyZTo2NDY4OiBnY2MzMiAtRSAgIC1JL3Vzci9YMTFSNi9pbmNs dWRlICAtSS91c3IvWDExUjYvaW5jbHVkZSBjb25mdGVzdC5jID4vZGV2L251 bGwgMj5jb25mdGVzdC5vdXQNCmNvbmZpZ3VyZTo2NDY0OjI3OiBzeXMvYnl0 ZW9yZGVyLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkNCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgNjQ2MyAiY29uZmlndXJl Ig0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQojaW5jbHVkZSA8c3lzL2J5dGVv cmRlci5oPg0KY29uZmlndXJlOjY0NTg6IGNoZWNraW5nIGZvciBjb21wYXQu aA0KY29uZmlndXJlOjY0Njg6IGdjYzMyIC1FICAgLUkvdXNyL1gxMVI2L2lu Y2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LmMgPi9kZXYv bnVsbCAyPmNvbmZ0ZXN0Lm91dA0KY29uZmlndXJlOjY0NjQ6MjA6IGNvbXBh dC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDY0NjMgImNvbmZpZ3VyZSINCiNp bmNsdWRlICJjb25mZGVmcy5oIg0KI2luY2x1ZGUgPGNvbXBhdC5oPg0KY29u ZmlndXJlOjY0NTg6IGNoZWNraW5nIGZvciBnZXRvcHQuaA0KY29uZmlndXJl OjY0Njg6IGdjYzMyIC1FICAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIC1JL3Vz ci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0 ZXN0Lm91dA0KY29uZmlndXJlOjY0OTg6IGNoZWNraW5nIGZvciBzeXMvYml0 dHlwZXMuaA0KY29uZmlndXJlOjY1MDg6IGdjYzMyIC1FICAgLUkvdXNyL1gx MVI2L2luY2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LmMg Pi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dA0KY29uZmlndXJlOjY1MDQ6MjY6 IHN5cy9iaXR0eXBlcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDY1MDMgImNv bmZpZ3VyZSINCiNpbmNsdWRlICJjb25mZGVmcy5oIg0KI2luY2x1ZGUgPHN5 cy9iaXR0eXBlcy5oPg0KY29uZmlndXJlOjY0OTg6IGNoZWNraW5nIGZvciBt ZW1vcnkuaA0KY29uZmlndXJlOjY1MDg6IGdjYzMyIC1FICAgLUkvdXNyL1gx MVI2L2luY2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LmMg Pi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dA0KY29uZmlndXJlOjY0OTg6IGNo ZWNraW5nIGZvciB1bmlzdGQuaA0KY29uZmlndXJlOjY1MDg6IGdjYzMyIC1F ICAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNsdWRl IGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dA0KY29uZmln dXJlOjY1Mzg6IGNoZWNraW5nIGZvciBnbnUvbGliYy12ZXJzaW9uLmgNCmNv bmZpZ3VyZTo2NTQ4OiBnY2MzMiAtRSAgIC1JL3Vzci9YMTFSNi9pbmNsdWRl ICAtSS91c3IvWDExUjYvaW5jbHVkZSBjb25mdGVzdC5jID4vZGV2L251bGwg Mj5jb25mdGVzdC5vdXQNCmNvbmZpZ3VyZTo2NTQ0OjMwOiBnbnUvbGliYy12 ZXJzaW9uLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkNCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgNjU0MyAiY29uZmlndXJl Ig0KI2luY2x1ZGUgImNvbmZkZWZzLmgiDQojaW5jbHVkZSA8Z251L2xpYmMt dmVyc2lvbi5oPg0KY29uZmlndXJlOjY1Mzg6IGNoZWNraW5nIGZvciBubF90 eXBlcy5oDQpjb25maWd1cmU6NjU0ODogZ2NjMzIgLUUgICAtSS91c3IvWDEx UjYvaW5jbHVkZSAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgY29uZnRlc3QuYyA+ L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0DQpjb25maWd1cmU6NjU3ODogY2hl Y2tpbmcgZm9yIFgxMS9YS0JsaWIuaA0KY29uZmlndXJlOjY1ODg6IGdjYzMy IC1FICAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNs dWRlIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dA0KY29u ZmlndXJlOjY2MTk6IGNoZWNraW5nIGZvciBzeXMvc3RhdHZmcy5oDQpjb25m aWd1cmU6NjYyOTogZ2NjMzIgLUUgICAtSS91c3IvWDExUjYvaW5jbHVkZSAg LUkvdXNyL1gxMVI2L2luY2x1ZGUgY29uZnRlc3QuYyA+L2Rldi9udWxsIDI+ Y29uZnRlc3Qub3V0DQpjb25maWd1cmU6NjYyNToyNTogc3lzL3N0YXR2ZnMu aDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQ0KY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6DQojbGluZSA2NjI0ICJjb25maWd1cmUiDQojaW5j bHVkZSAiY29uZmRlZnMuaCINCiNpbmNsdWRlIDxzeXMvc3RhdHZmcy5oPg0K Y29uZmlndXJlOjY2MTk6IGNoZWNraW5nIGZvciBzeXMvc3RhdGZzLmgNCmNv bmZpZ3VyZTo2NjI5OiBnY2MzMiAtRSAgIC1JL3Vzci9YMTFSNi9pbmNsdWRl ICAtSS91c3IvWDExUjYvaW5jbHVkZSBjb25mdGVzdC5jID4vZGV2L251bGwg Mj5jb25mdGVzdC5vdXQNCmNvbmZpZ3VyZTo2NjI1OjI0OiBzeXMvc3RhdGZz Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkNCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgNjYyNCAiY29uZmlndXJlIg0KI2lu Y2x1ZGUgImNvbmZkZWZzLmgiDQojaW5jbHVkZSA8c3lzL3N0YXRmcy5oPg0K Y29uZmlndXJlOjY2MTk6IGNoZWNraW5nIGZvciBzeXMvdmZzLmgNCmNvbmZp Z3VyZTo2NjI5OiBnY2MzMiAtRSAgIC1JL3Vzci9YMTFSNi9pbmNsdWRlICAt SS91c3IvWDExUjYvaW5jbHVkZSBjb25mdGVzdC5jID4vZGV2L251bGwgMj5j b25mdGVzdC5vdXQNCmNvbmZpZ3VyZTo2NjI1OjIxOiBzeXMvdmZzLmg6IE5v IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkNCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOg0KI2xpbmUgNjYyNCAiY29uZmlndXJlIg0KI2luY2x1ZGUg ImNvbmZkZWZzLmgiDQojaW5jbHVkZSA8c3lzL3Zmcy5oPg0KY29uZmlndXJl OjY2MTk6IGNoZWNraW5nIGZvciBzeXMvbW91bnQuaA0KY29uZmlndXJlOjY2 Mjk6IGdjYzMyIC1FICAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIC1JL3Vzci9Y MTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0 Lm91dA0KY29uZmlndXJlOjY2NjQ6IGNoZWNraW5nIGZvciBzeXMvY2RlZnMu aA0KY29uZmlndXJlOjY2NzQ6IGdjYzMyIC1FICAgLUkvdXNyL1gxMVI2L2lu Y2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LmMgPi9kZXYv bnVsbCAyPmNvbmZ0ZXN0Lm91dA0KY29uZmlndXJlOjY3MDg6IGNoZWNraW5n IGZvciBnZXRob3N0YnluYW1lX3IgaW4gLWxjX3INCmNvbmZpZ3VyZTo2NzI3 OiBnY2MzMiAtbyBjb25mdGVzdCAtTyAtcGlwZSAgICAtSS91c3IvWDExUjYv aW5jbHVkZSAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgLWxj X3IgICAxPiY1DQovdXNyL2xpYi9saWJjLnNvOiBXQVJOSU5HISAgc2V0a2V5 KDMpIG5vdCBwcmVzZW50IGluIHRoZSBzeXN0ZW0hDQovdXNyL2xpYi9saWJj LnNvOiB3YXJuaW5nOiB0aGlzIHByb2dyYW0gdXNlcyBnZXRzKCksIHdoaWNo IGlzIHVuc2FmZS4NCi91c3IvbGliL2xpYmMuc286IHdhcm5pbmc6IG1rdGVt cCgpIHBvc3NpYmx5IHVzZWQgdW5zYWZlbHk7IGNvbnNpZGVyIHVzaW5nIG1r c3RlbXAoKQ0KL3Vzci9saWIvbGliYy5zbzogV0FSTklORyEgIGRlc19zZXRr ZXkoMykgbm90IHByZXNlbnQgaW4gdGhlIHN5c3RlbSENCi91c3IvbGliL2xp YmMuc286IFdBUk5JTkchICBlbmNyeXB0KDMpIG5vdCBwcmVzZW50IGluIHRo ZSBzeXN0ZW0hDQovdXNyL2xpYi9saWJjLnNvOiB3YXJuaW5nOiB0bXBuYW0o KSBwb3NzaWJseSB1c2VkIHVuc2FmZWx5OyBjb25zaWRlciB1c2luZyBta3N0 ZW1wKCkNCi91c3IvbGliL2xpYmMuc286IHdhcm5pbmc6IHRoaXMgcHJvZ3Jh bSB1c2VzIGZfcHJlYWxsb2MoKSwgd2hpY2ggaXMgbm90IHJlY29tbWVuZGVk Lg0KL3Vzci9saWIvbGliYy5zbzogV0FSTklORyEgIGRlc19jaXBoZXIoMykg bm90IHByZXNlbnQgaW4gdGhlIHN5c3RlbSENCi91c3IvbGliL2xpYmMuc286 IHdhcm5pbmc6IHRlbXBuYW0oKSBwb3NzaWJseSB1c2VkIHVuc2FmZWx5OyBj b25zaWRlciB1c2luZyBta3N0ZW1wKCkNCi92YXIvdG1wLy9jY0xUNHRyRi5v OiBJbiBmdW5jdGlvbiBgbWFpbic6DQovdmFyL3RtcC8vY2NMVDR0ckYubygu dGV4dCsweGEpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBnZXRob3N0Ynlu YW1lX3InDQpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cw0K Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSA2NzE2ICJj b25maWd1cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCi8qIE92ZXJyaWRl IGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv ci4gICovDQovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRj aCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyDQogICAgYnVpbHRpbiBhbmQg dGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5 LiAgKi8NCmNoYXIgZ2V0aG9zdGJ5bmFtZV9yKCk7DQoNCmludCBtYWluKCkg ew0KZ2V0aG9zdGJ5bmFtZV9yKCkNCjsgcmV0dXJuIDA7IH0NCmNvbmZpZ3Vy ZTo2NzU3OiBjaGVja2luZyBmb3IgYXRhbiBpbiAtbG0NCmNvbmZpZ3VyZTo2 Nzc2OiBnY2MzMiAtbyBjb25mdGVzdCAtTyAtcGlwZSAgICAtSS91c3IvWDEx UjYvaW5jbHVkZSAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LmMg LWxtICAgMT4mNQ0KY29uZmlndXJlOjY4MDQ6IGNoZWNraW5nIGZvciBkbG9w ZW4gaW4gLWxkbA0KY29uZmlndXJlOjY4MjM6IGdjYzMyIC1vIGNvbmZ0ZXN0 IC1PIC1waXBlICAgIC1JL3Vzci9YMTFSNi9pbmNsdWRlICAtSS91c3IvWDEx UjYvaW5jbHVkZSAgY29uZnRlc3QuYyAtbGRsICAtbG0gIDE+JjUNCi91c3Iv bGliZXhlYy9lbGYvbGQ6IGNhbm5vdCBmaW5kIC1sZGwNCmNvbGxlY3QyOiBs ZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzDQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoNCiNsaW5lIDY4MTIgImNvbmZpZ3VyZSINCiNpbmNsdWRl ICJjb25mZGVmcy5oIg0KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwg cHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8NCi8qIFdlIHVzZSBj aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv ZiBhIGdjYzINCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLw0KY2hhciBkbG9wZW4o KTsNCg0KaW50IG1haW4oKSB7DQpkbG9wZW4oKQ0KOyByZXR1cm4gMDsgfQ0K Y29uZmlndXJlOjY5NTQ6IGNoZWNraW5nIGZvciBzb2NrZXQgaW4gLWxzb2Nr ZXQNCmNvbmZpZ3VyZTo2OTczOiBnY2MzMiAtbyBjb25mdGVzdCAtTyAtcGlw ZSAgICAtSS91c3IvWDExUjYvaW5jbHVkZSAgLUkvdXNyL1gxMVI2L2luY2x1 ZGUgIGNvbmZ0ZXN0LmMgLWxzb2NrZXQgIC1sbSAgMT4mNQ0KL3Vzci9saWJl eGVjL2VsZi9sZDogY2Fubm90IGZpbmQgLWxzb2NrZXQNCmNvbGxlY3QyOiBs ZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzDQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoNCiNsaW5lIDY5NjIgImNvbmZpZ3VyZSINCiNpbmNsdWRl ICJjb25mZGVmcy5oIg0KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwg cHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8NCi8qIFdlIHVzZSBj aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv ZiBhIGdjYzINCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLw0KY2hhciBzb2NrZXQo KTsNCg0KaW50IG1haW4oKSB7DQpzb2NrZXQoKQ0KOyByZXR1cm4gMDsgfQ0K Y29uZmlndXJlOjcwMTg6IGNoZWNraW5nIGZvciBYRHJhd0xpbmVzIGluIC1s WDExDQpjb25maWd1cmU6NzAzNzogZ2NjMzIgLW8gY29uZnRlc3QgLU8gLXBp cGUgICAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNs dWRlICAtTC91c3IvWDExUjYvbGliICBjb25mdGVzdC5jIC1sWDExIC1sWDEx ICAtbG0gIDE+JjUNCmNvbmZpZ3VyZTo3MDU5OiBjaGVja2luZyBmb3IgWGV4 dEFkZERpc3BsYXkgaW4gLWxYZXh0DQpjb25maWd1cmU6NzA3ODogZ2NjMzIg LW8gY29uZnRlc3QgLU8gLXBpcGUgICAgLUkvdXNyL1gxMVI2L2luY2x1ZGUg IC1JL3Vzci9YMTFSNi9pbmNsdWRlICAtTC91c3IvWDExUjYvbGliICBjb25m dGVzdC5jIC1sWGV4dCAtbFgxMSAgLWxtICAxPiY1DQpjb25maWd1cmU6NzEw MjogY2hlY2tpbmcgZm9yIFh0RnJlZSBpbiAtbFh0DQpjb25maWd1cmU6NzEy MTogZ2NjMzIgLW8gY29uZnRlc3QgLU8gLXBpcGUgICAgLUkvdXNyL1gxMVI2 L2luY2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNsdWRlICAtTC91c3IvWDExUjYv bGliICBjb25mdGVzdC5jIC1sWHQgIC1sbSAgMT4mNQ0KY29uZmlndXJlOjcy Njg6IGNoZWNraW5nIGZvciBYaW5lcmFtYUlzQWN0aXZlIGluIC1sWGluZXJh bWENCmNvbmZpZ3VyZTo3Mjg3OiBnY2MzMiAtbyBjb25mdGVzdCAtTyAtcGlw ZSAgICAtSS91c3IvWDExUjYvaW5jbHVkZSAgLUkvdXNyL1gxMVI2L2luY2x1 ZGUgIC1ML3Vzci9YMTFSNi9saWIgIGNvbmZ0ZXN0LmMgLWxYaW5lcmFtYSAt bFgxMSAgLWxYZXh0IC1sbSAgMT4mNQ0KY29uZmlndXJlOjczMDk6IGNoZWNr aW5nIGZvciBYMTEvZXh0ZW5zaW9ucy9YaW5lcmFtYS5oDQpjb25maWd1cmU6 NzMxOTogZ2NjMzIgLUUgICAtSS91c3IvWDExUjYvaW5jbHVkZSAgLUkvdXNy L1gxMVI2L2luY2x1ZGUgY29uZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRl c3Qub3V0DQpjb25maWd1cmU6NzM0MjogY2hlY2tpbmcgZm9yIFhTaG1DcmVh dGVJbWFnZSBpbiAtbFhleHQNCmNvbmZpZ3VyZTo3MzYxOiBnY2MzMiAtbyBj b25mdGVzdCAtTyAtcGlwZSAgICAtSS91c3IvWDExUjYvaW5jbHVkZSAgLUkv dXNyL1gxMVI2L2luY2x1ZGUgIC1ML3Vzci9YMTFSNi9saWIgIGNvbmZ0ZXN0 LmMgLWxYZXh0IC1sWDExICAtbFhleHQgLWxtICAxPiY1DQpjb25maWd1cmU6 NzM4MzogY2hlY2tpbmcgZm9yIFgxMS9leHRlbnNpb25zL1hTaG0uaA0KY29u ZmlndXJlOjczOTM6IGdjYzMyIC1FICAgLUkvdXNyL1gxMVI2L2luY2x1ZGUg IC1JL3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAy PmNvbmZ0ZXN0Lm91dA0KY29uZmlndXJlOjc0MjM6IGNoZWNraW5nIGZvciBY aWVGbG9HZW9tZXRyeSBpbiAtbFhJRQ0KY29uZmlndXJlOjc0NDI6IGdjYzMy IC1vIGNvbmZ0ZXN0IC1PIC1waXBlICAgIC1JL3Vzci9YMTFSNi9pbmNsdWRl ICAtSS91c3IvWDExUjYvaW5jbHVkZSAgLUwvdXNyL1gxMVI2L2xpYiAgY29u ZnRlc3QuYyAtbFhJRSAtbFgxMSAgLWxYZXh0IC1sbSAgMT4mNQ0KL3Vzci9s aWJleGVjL2VsZi9sZDogY2Fubm90IGZpbmQgLWxYSUUNCmNvbGxlY3QyOiBs ZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzDQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoNCiNsaW5lIDc0MzEgImNvbmZpZ3VyZSINCiNpbmNsdWRl ICJjb25mZGVmcy5oIg0KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwg cHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8NCi8qIFdlIHVzZSBj aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv ZiBhIGdjYzINCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLw0KY2hhciBYaWVGbG9H ZW9tZXRyeSgpOw0KDQppbnQgbWFpbigpIHsNClhpZUZsb0dlb21ldHJ5KCkN CjsgcmV0dXJuIDA7IH0NCmNvbmZpZ3VyZTo3NDY0OiBjaGVja2luZyBmb3Ig WDExL2V4dGVuc2lvbnMvWElFbGliLmgNCmNvbmZpZ3VyZTo3NDc0OiBnY2Mz MiAtRSAgIC1JL3Vzci9YMTFSNi9pbmNsdWRlICAtSS91c3IvWDExUjYvaW5j bHVkZSBjb25mdGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQNCmNv bmZpZ3VyZTo3NDcwOjM1OiBYMTEvZXh0ZW5zaW9ucy9YSUVsaWIuaDogTm8g c3VjaCBmaWxlIG9yIGRpcmVjdG9yeQ0KY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6DQojbGluZSA3NDY5ICJjb25maWd1cmUiDQojaW5jbHVkZSAi Y29uZmRlZnMuaCINCiNpbmNsdWRlIDxYMTEvZXh0ZW5zaW9ucy9YSUVsaWIu aD4NCmNvbmZpZ3VyZTo3NTI3OiBnY2MzMiAtYyAtTyAtcGlwZSAgIC1JL3Vz ci9YMTFSNi9pbmNsdWRlICAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIC1JL3Vz ci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQ0KY29uZmlndXJlOjc1 NDY6IGNoZWNraW5nIGZvciBwdGhyZWFkX2NyZWF0ZSBpbiAtbHB0aHJlYWRz DQpnY2MzMiAtbyBkdW1teSBkdW1teS5jIC1PIC1waXBlICAgIC1JL3Vzci9Y MTFSNi9pbmNsdWRlICAtSS91c3IvWDExUjYvaW5jbHVkZSAtbHB0aHJlYWRz ICAtbG0gDQovdXNyL2xpYmV4ZWMvZWxmL2xkOiBjYW5ub3QgZmluZCAtbHB0 aHJlYWRzDQpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cw0K Y29uZmlndXJlOjc1Njg6IGNoZWNraW5nIGZvciBwdGhyZWFkX2NyZWF0ZSBp biAtbHB0aHJlYWQNCmdjYzMyIC1vIGR1bW15IGR1bW15LmMgLU8gLXBpcGUg ICAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNsdWRl IC1scHRocmVhZCAgLWxtIA0KL3Vzci9saWJleGVjL2VsZi9sZDogY2Fubm90 IGZpbmQgLWxwdGhyZWFkDQpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0 IHN0YXR1cw0KY29uZmlndXJlOjc1OTA6IGNoZWNraW5nIGZvciBwdGhyZWFk X2NyZWF0ZSBpbiAtbGNfcg0KZ2NjMzIgLW8gZHVtbXkgZHVtbXkuYyAtTyAt cGlwZSAgICAtSS91c3IvWDExUjYvaW5jbHVkZSAgLUkvdXNyL1gxMVI2L2lu Y2x1ZGUgLWxjX3IgIC1sbSANCi91c3IvbGliL2xpYmMuc286IFdBUk5JTkch ICBzZXRrZXkoMykgbm90IHByZXNlbnQgaW4gdGhlIHN5c3RlbSENCi91c3Iv bGliL2xpYmMuc286IHdhcm5pbmc6IHRoaXMgcHJvZ3JhbSB1c2VzIGdldHMo KSwgd2hpY2ggaXMgdW5zYWZlLg0KL3Vzci9saWIvbGliYy5zbzogd2Fybmlu ZzogbWt0ZW1wKCkgcG9zc2libHkgdXNlZCB1bnNhZmVseTsgY29uc2lkZXIg dXNpbmcgbWtzdGVtcCgpDQovdXNyL2xpYi9saWJjLnNvOiBXQVJOSU5HISAg ZGVzX3NldGtleSgzKSBub3QgcHJlc2VudCBpbiB0aGUgc3lzdGVtIQ0KL3Vz ci9saWIvbGliYy5zbzogV0FSTklORyEgIGVuY3J5cHQoMykgbm90IHByZXNl bnQgaW4gdGhlIHN5c3RlbSENCi91c3IvbGliL2xpYmMuc286IHdhcm5pbmc6 IHRtcG5hbSgpIHBvc3NpYmx5IHVzZWQgdW5zYWZlbHk7IGNvbnNpZGVyIHVz aW5nIG1rc3RlbXAoKQ0KL3Vzci9saWIvbGliYy5zbzogd2FybmluZzogdGhp cyBwcm9ncmFtIHVzZXMgZl9wcmVhbGxvYygpLCB3aGljaCBpcyBub3QgcmVj b21tZW5kZWQuDQovdXNyL2xpYi9saWJjLnNvOiBXQVJOSU5HISAgZGVzX2Np cGhlcigzKSBub3QgcHJlc2VudCBpbiB0aGUgc3lzdGVtIQ0KL3Vzci9saWIv bGliYy5zbzogd2FybmluZzogdGVtcG5hbSgpIHBvc3NpYmx5IHVzZWQgdW5z YWZlbHk7IGNvbnNpZGVyIHVzaW5nIG1rc3RlbXAoKQ0KY29uZmlndXJlOjc2 Njg6IGNoZWNraW5nIHdoZXRoZXIgZ2NjMzIgYWNjZXB0cyAtcHRocmVhZA0K Y29uZmlndXJlOjc3OTU6IGNoZWNraW5nIHdoZXRoZXIgbW1hcCgpIHNlZXMg d3JpdGUoKXMNCmNvbmZpZ3VyZTo3ODM4OiBnY2MzMiAtbyBjb25mdGVzdCAt TyAtcGlwZSAgICAtSS91c3IvWDExUjYvaW5jbHVkZSAgLUkvdXNyL1gxMVI2 L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgLWxtICAxPiY1DQpjb25maWd1cmU6Nzg2 MzogY2hlY2tpbmcgd2hldGhlciBnY2MzMiBuZWVkcyAtdHJhZGl0aW9uYWwN CmNvbmZpZ3VyZTo3ODg4OjIwOiB0ZXJtaW8uaDogTm8gc3VjaCBmaWxlIG9y IGRpcmVjdG9yeQ0KY29uZmlndXJlOjc5MDk6IGNoZWNraW5nIGZvciA4LWJp dCBjbGVhbiBtZW1jbXANCmNvbmZpZ3VyZTo3OTI3OiBnY2MzMiAtbyBjb25m dGVzdCAtTyAtcGlwZSAgICAtSS91c3IvWDExUjYvaW5jbHVkZSAgLUkvdXNy L1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgLWxtICAxPiY1DQpjb25maWd1 cmU6Nzk0NzogY2hlY2tpbmcgZm9yIHJhbmRvbQ0KY29uZmlndXJlOjc5NzU6 IGdjYzMyIC1vIGNvbmZ0ZXN0IC1PIC1waXBlICAgIC1JL3Vzci9YMTFSNi9p bmNsdWRlICAtSS91c3IvWDExUjYvaW5jbHVkZSAgY29uZnRlc3QuYyAtbG0g IDE+JjUNCmNvbmZpZ3VyZTo3OTQ3OiBjaGVja2luZyBmb3Igc3RyZXJyb3IN CmNvbmZpZ3VyZTo3OTc1OiBnY2MzMiAtbyBjb25mdGVzdCAtTyAtcGlwZSAg ICAtSS91c3IvWDExUjYvaW5jbHVkZSAgLUkvdXNyL1gxMVI2L2luY2x1ZGUg IGNvbmZ0ZXN0LmMgLWxtICAxPiY1DQpjb25maWd1cmU6Nzk0NzogY2hlY2tp bmcgZm9yIGxjaG93bg0KY29uZmlndXJlOjc5NzU6IGdjYzMyIC1vIGNvbmZ0 ZXN0IC1PIC1waXBlICAgIC1JL3Vzci9YMTFSNi9pbmNsdWRlICAtSS91c3Iv WDExUjYvaW5jbHVkZSAgY29uZnRlc3QuYyAtbG0gIDE+JjUNCmNvbmZpZ3Vy ZTo3OTQ3OiBjaGVja2luZyBmb3IgZmNobW9kDQpjb25maWd1cmU6Nzk3NTog Z2NjMzIgLW8gY29uZnRlc3QgLU8gLXBpcGUgICAgLUkvdXNyL1gxMVI2L2lu Y2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNsdWRlICBjb25mdGVzdC5jIC1sbSAg MT4mNQ0KY29uZmlndXJlOjc5NDc6IGNoZWNraW5nIGZvciBzbnByaW50Zg0K Y29uZmlndXJlOjc5NzU6IGdjYzMyIC1vIGNvbmZ0ZXN0IC1PIC1waXBlICAg IC1JL3Vzci9YMTFSNi9pbmNsdWRlICAtSS91c3IvWDExUjYvaW5jbHVkZSAg Y29uZnRlc3QuYyAtbG0gIDE+JjUNCmNvbmZpZ3VyZTo3OTQ3OiBjaGVja2lu ZyBmb3IgbG9jYWx0aW1lX3INCmNvbmZpZ3VyZTo3OTc1OiBnY2MzMiAtbyBj b25mdGVzdCAtTyAtcGlwZSAgICAtSS91c3IvWDExUjYvaW5jbHVkZSAgLUkv dXNyL1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgLWxtICAxPiY1DQpjb25m aWd1cmU6Nzk0NzogY2hlY2tpbmcgZm9yIHN0YXR2ZnMNCmNvbmZpZ3VyZTo3 OTc1OiBnY2MzMiAtbyBjb25mdGVzdCAtTyAtcGlwZSAgICAtSS91c3IvWDEx UjYvaW5jbHVkZSAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LmMg LWxtICAxPiY1DQovdmFyL3RtcC8vY2M0Q2FnNEoubzogSW4gZnVuY3Rpb24g YG1haW4nOg0KL3Zhci90bXAvL2NjNENhZzRKLm8oLnRleHQrMHhhKTogdW5k ZWZpbmVkIHJlZmVyZW5jZSB0byBgc3RhdHZmcycNCmNvbGxlY3QyOiBsZCBy ZXR1cm5lZCAxIGV4aXQgc3RhdHVzDQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoNCiNsaW5lIDc5NTIgImNvbmZpZ3VyZSINCiNpbmNsdWRlICJj b25mZGVmcy5oIg0KLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHVi IG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLA0KICAgIHdo aWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc3RhdHZmcygpOyBiZWxvdy4g ICovDQojaW5jbHVkZSA8YXNzZXJ0Lmg+DQovKiBPdmVycmlkZSBhbnkgZ2Nj MiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0K LyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJl dHVybiB0eXBlIG9mIGEgZ2NjMg0KICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRz IGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovDQpj aGFyIHN0YXR2ZnMoKTsNCg0KaW50IG1haW4oKSB7DQoNCi8qIFRoZSBHTlUg QyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0 IGltcGxlbWVudHMNCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4g IFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZA0KICAgIHNvbWV0 aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMg YW4gYWxpYXMuICAqLw0KI2lmIGRlZmluZWQgKF9fc3R1Yl9zdGF0dmZzKSB8 fCBkZWZpbmVkIChfX3N0dWJfX19zdGF0dmZzKQ0KY2hva2UgbWUNCiNlbHNl DQpzdGF0dmZzKCk7DQojZW5kaWYNCg0KOyByZXR1cm4gMDsgfQ0KY29uZmln dXJlOjc5NDc6IGNoZWNraW5nIGZvciBtZW1tb3ZlDQpjb25maWd1cmU6Nzk3 NTogZ2NjMzIgLW8gY29uZnRlc3QgLU8gLXBpcGUgICAgLUkvdXNyL1gxMVI2 L2luY2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNsdWRlICBjb25mdGVzdC5jIC1s bSAgMT4mNQ0KY29uZmlndXJlOjc5NDc6IGNoZWNraW5nIGZvciByaW50DQpj b25maWd1cmU6Nzk3NTogZ2NjMzIgLW8gY29uZnRlc3QgLU8gLXBpcGUgICAg LUkvdXNyL1gxMVI2L2luY2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNsdWRlICBj b25mdGVzdC5jIC1sbSAgMT4mNQ0KY29uZmlndXJlOjgwMDI6IGNoZWNraW5n IGZvciBubF9sYW5naW5mbw0KY29uZmlndXJlOjgwMzA6IGdjYzMyIC1vIGNv bmZ0ZXN0IC1PIC1waXBlICAgIC1JL3Vzci9YMTFSNi9pbmNsdWRlICAtSS91 c3IvWDExUjYvaW5jbHVkZSAgY29uZnRlc3QuYyAtbG0gIDE+JjUNCmNvbmZp Z3VyZTo4MDAyOiBjaGVja2luZyBmb3Igc3RydG9rX3INCmNvbmZpZ3VyZTo4 MDMwOiBnY2MzMiAtbyBjb25mdGVzdCAtTyAtcGlwZSAgICAtSS91c3IvWDEx UjYvaW5jbHVkZSAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LmMg LWxtICAxPiY1DQpjb25maWd1cmU6ODAwMjogY2hlY2tpbmcgZm9yIGZsb2Nr ZmlsZQ0KY29uZmlndXJlOjgwMzA6IGdjYzMyIC1vIGNvbmZ0ZXN0IC1PIC1w aXBlICAgIC1JL3Vzci9YMTFSNi9pbmNsdWRlICAtSS91c3IvWDExUjYvaW5j bHVkZSAgY29uZnRlc3QuYyAtbG0gIDE+JjUNCmNvbmZpZ3VyZTo4MDU2OiBj aGVja2luZyBmb3IgcmVzX25pbml0KCkNCmNvbmZpZ3VyZTo4MDczOiBnY2Mz MiAtbyBjb25mdGVzdCAtTyAtcGlwZSAgICAtSS91c3IvWDExUjYvaW5jbHVk ZSAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgLWxtICAxPiY1 DQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gY29uZmlndXJlOjgwNjY6DQovdXNy L2luY2x1ZGUvcmVzb2x2Lmg6MTA0OiBmaWVsZCBgbnNhZGRyX2xpc3QnIGhh cyBpbmNvbXBsZXRlIHR5cGUNCi91c3IvaW5jbHVkZS9yZXNvbHYuaDoxMTQ6 IGZpZWxkIGBhZGRyJyBoYXMgaW5jb21wbGV0ZSB0eXBlDQovdXNyL2luY2x1 ZGUvcmVzb2x2Lmg6MTI5OiBmaWVsZCBgaW5hJyBoYXMgaW5jb21wbGV0ZSB0 eXBlDQovdXNyL2luY2x1ZGUvcmVzb2x2Lmg6MTMwOiBmaWVsZCBgaW42YScg aGFzIGluY29tcGxldGUgdHlwZQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6DQojbGluZSA4MDYxICJjb25maWd1cmUiDQojaW5jbHVkZSAiY29u ZmRlZnMuaCINCg0KICAgICAgICAjaWZkZWYgbGludXgNCiAgICAgICAgI2Rl ZmluZSBfQlNEX1NPVVJDRSAxDQogICAgICAgICNlbmRpZg0KICAgICAgICAj aW5jbHVkZSA8cmVzb2x2Lmg+DQogICAgICAgIA0KaW50IG1haW4oKSB7DQpp bnQgZm9vID0gcmVzX25pbml0KCZfcmVzKTsNCjsgcmV0dXJuIDA7IH0NCmNv bmZpZ3VyZTo4MTAzOiBjaGVja2luZyBmb3IgZ251X2dldF9saWJjX3ZlcnNp b24oKQ0KY29uZmlndXJlOjgxMTk6IGcrKzMyIC1vIGNvbmZ0ZXN0ICAtTyAt cGlwZSAgLWZzaG9ydC13Y2hhciAgIC1JL3Vzci9YMTFSNi9pbmNsdWRlICAt SS91c3IvWDExUjYvaW5jbHVkZSAgY29uZnRlc3QuQyAtbG0gIDE+JjUNCmNv bmZpZ3VyZTogSW4gZnVuY3Rpb24gYGludCBtYWluKCknOg0KY29uZmlndXJl OjgxMTU6IGBnbnVfZ2V0X2xpYmNfdmVyc2lvbicgdW5kZWNsYXJlZCAoZmly c3QgdXNlIHRoaXMgZnVuY3Rpb24pDQpjb25maWd1cmU6ODExNTogKEVhY2gg dW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBm b3IgZWFjaCANCiAgIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4uKQ0KY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSA4MTA4ICJjb25maWd1 cmUiDQojaW5jbHVkZSAiY29uZmRlZnMuaCINCg0KICAgICAgICAjaWZkZWYg SEFWRV9HTlVfTElCQ19WRVJTSU9OX0gNCiAgICAgICAgI2luY2x1ZGUgPGdu dS9saWJjLXZlcnNpb24uaD4NCiAgICAgICAgI2VuZGlmDQogICAgICAgIA0K aW50IG1haW4oKSB7DQpjb25zdCBjaGFyICpnbGliY192ZXJzaW9uID0gZ251 X2dldF9saWJjX3ZlcnNpb24oKTsNCjsgcmV0dXJuIDA7IH0NCmNvbmZpZ3Vy ZTo4MTQ4OiBjaGVja2luZyBmb3IgaWNvbnYgaW4gLWxpY29udg0KY29uZmln dXJlOjgxNzA6IGcrKzMyIC1vIGNvbmZ0ZXN0ICAtTyAtcGlwZSAgLWZzaG9y dC13Y2hhciAgIC1JL3Vzci9YMTFSNi9pbmNsdWRlICAtSS91c3IvWDExUjYv aW5jbHVkZSAgY29uZnRlc3QuQyAtbGljb252ICAtbG0gIDE+JjUNCmNvbmZp Z3VyZTo4MjM2OiBjaGVja2luZyBmb3IgaWNvbnYoKQ0KY29uZmlndXJlOjgy NTU6IGcrKzMyIC1vIGNvbmZ0ZXN0ICAtTyAtcGlwZSAgLWZzaG9ydC13Y2hh ciAgIC1JL3Vzci9YMTFSNi9pbmNsdWRlICAtSS91c3IvWDExUjYvaW5jbHVk ZSAgY29uZnRlc3QuQyAtbG0gICAtbGljb252IDE+JjUNCmNvbmZpZ3VyZTo4 Mjc4OiBjaGVja2luZyBmb3IgaWNvbnYoKSB3aXRoIGNvbnN0IGlucHV0DQpj b25maWd1cmU6ODI5NzogZysrMzIgLWMgIC1PIC1waXBlICAtZnNob3J0LXdj aGFyICAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNs dWRlIGNvbmZ0ZXN0LkMgMT4mNQ0KY29uZmlndXJlOjgzMzM6IGNoZWNraW5n IHdoZXRoZXIgdmFfbGlzdCBhc3NpZ25tZW50cyBuZWVkIGFycmF5IG5vdGF0 aW9uDQpjb25maWd1cmU6ODM1NDogZ2NjMzIgLW8gY29uZnRlc3QgLU8gLXBp cGUgICAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNs dWRlICBjb25mdGVzdC5jIC1sbSAgMT4mNQ0KY29uZmlndXJlOjg0MzQ6IGNo ZWNraW5nIGZvciBDKysgZXhjZXB0aW9ucyBmbGFnDQpjb25maWd1cmU6ODQ3 MTogY2hlY2tpbmcgZm9yIGdjYyAzLjAgQUJJDQpjb25maWd1cmU6ODQ4OTog ZysrMzIgLWMgIC1PIC1waXBlICAtZnNob3J0LXdjaGFyICAgLUkvdXNyL1gx MVI2L2luY2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LkMg MT4mNQ0KY29uZmlndXJlOjg1MTA6IGNoZWNraW5nIGZvciBpb3M6OmJpbmFy eQ0KY29uZmlndXJlOjg1MjQ6IGcrKzMyIC1jICAtTyAtcGlwZSAgLWZzaG9y dC13Y2hhciAgIC1JL3Vzci9YMTFSNi9pbmNsdWRlICAtSS91c3IvWDExUjYv aW5jbHVkZSBjb25mdGVzdC5DIDE+JjUNCkluIGZpbGUgaW5jbHVkZWQgZnJv bSAvdXNyL2xvY2FsL2xpYi9nY2MtbGliL2kzODYtcG9ydGJsZC1mcmVlYnNk NC43LzMuMi4xL2luY2x1ZGUvZysrLXYzL2JhY2t3YXJkL2lvc3RyZWFtLmg6 MzEsDQogICAgICAgICAgICAgICAgIGZyb20gY29uZmlndXJlOjg1MTY6DQov dXNyL2xvY2FsL2xpYi9nY2MtbGliL2kzODYtcG9ydGJsZC1mcmVlYnNkNC43 LzMuMi4xL2luY2x1ZGUvZysrLXYzL2JhY2t3YXJkL2JhY2t3YXJkX3dhcm5p bmcuaDozMjoyOiB3YXJuaW5nOiAjd2FybmluZyBUaGlzIGZpbGUgaW5jbHVk ZXMgYXQgbGVhc3Qgb25lIGRlcHJlY2F0ZWQgb3IgYW50aXF1YXRlZCBoZWFk ZXIuIFBsZWFzZSBjb25zaWRlciB1c2luZyBvbmUgb2YgdGhlIDMyIGhlYWRl cnMgZm91bmQgaW4gc2VjdGlvbiAxNy40LjEuMiBvZiB0aGUgQysrIHN0YW5k YXJkLiBFeGFtcGxlcyBpbmNsdWRlIHN1YnN0aXR1dGluZyB0aGUgPFg+IGhl YWRlciBmb3IgdGhlIDxYLmg+IGhlYWRlciBmb3IgQysrIGluY2x1ZGVzLCBv ciA8c3N0cmVhbT4gaW5zdGVhZCBvZiB0aGUgZGVwcmVjYXRlZCBoZWFkZXIg PHN0cnN0cmVhbS5oPi4gVG8gZGlzYWJsZSB0aGlzIHdhcm5pbmcgdXNlIC1X bm8tZGVwcmVjYXRlZC4NCmNvbmZpZ3VyZTo4NTQ4OiBjaGVja2luZyBmb3Ig aW9zOjpiaW4NCmNvbmZpZ3VyZTo4NTYyOiBnKyszMiAtYyAgLU8gLXBpcGUg IC1mc2hvcnQtd2NoYXIgICAtSS91c3IvWDExUjYvaW5jbHVkZSAgLUkvdXNy L1gxMVI2L2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1DQpJbiBmaWxlIGluY2x1 ZGVkIGZyb20gL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9pMzg2LXBvcnRibGQt ZnJlZWJzZDQuNy8zLjIuMS9pbmNsdWRlL2crKy12My9iYWNrd2FyZC9pb3N0 cmVhbS5oOjMxLA0KICAgICAgICAgICAgICAgICBmcm9tIGNvbmZpZ3VyZTo4 NTU0Og0KL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9pMzg2LXBvcnRibGQtZnJl ZWJzZDQuNy8zLjIuMS9pbmNsdWRlL2crKy12My9iYWNrd2FyZC9iYWNrd2Fy ZF93YXJuaW5nLmg6MzI6Mjogd2FybmluZzogI3dhcm5pbmcgVGhpcyBmaWxl IGluY2x1ZGVzIGF0IGxlYXN0IG9uZSBkZXByZWNhdGVkIG9yIGFudGlxdWF0 ZWQgaGVhZGVyLiBQbGVhc2UgY29uc2lkZXIgdXNpbmcgb25lIG9mIHRoZSAz MiBoZWFkZXJzIGZvdW5kIGluIHNlY3Rpb24gMTcuNC4xLjIgb2YgdGhlIEMr KyBzdGFuZGFyZC4gRXhhbXBsZXMgaW5jbHVkZSBzdWJzdGl0dXRpbmcgdGhl IDxYPiBoZWFkZXIgZm9yIHRoZSA8WC5oPiBoZWFkZXIgZm9yIEMrKyBpbmNs dWRlcywgb3IgPHNzdHJlYW0+IGluc3RlYWQgb2YgdGhlIGRlcHJlY2F0ZWQg aGVhZGVyIDxzdHJzdHJlYW0uaD4uIFRvIGRpc2FibGUgdGhpcyB3YXJuaW5n IHVzZSAtV25vLWRlcHJlY2F0ZWQuDQpjb25maWd1cmU6IEluIGZ1bmN0aW9u IGBpbnQgbWFpbigpJzoNCmNvbmZpZ3VyZTo4NTU4OiBgYmluJyBpcyBub3Qg YSBtZW1iZXIgb2YgdHlwZSBgc3RkOjpiYXNpY19pb3M8Y2hhciwgDQogICBz dGQ6OmNoYXJfdHJhaXRzPGNoYXI+ID4nDQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoNCiNsaW5lIDg1NTMgImNvbmZpZ3VyZSINCiNpbmNsdWRl ICJjb25mZGVmcy5oIg0KI2luY2x1ZGUgPGlvc3RyZWFtLmg+DQogICAgICAg ICAgICAgICAjaW5jbHVkZSA8ZnN0cmVhbS5oPg0KaW50IG1haW4oKSB7DQpj aGFyICpidWZmZXIgPSAiY29uZmlnLmxvZyI7DQogICAgICAgICAgICAgICAg ZnN0cmVhbSAqbUZpbGVTdHJlYW09bmV3IGZzdHJlYW0oYnVmZmVyLCBpb3M6 OmJpbik7DQo7IHJldHVybiAwOyB9DQpjb25maWd1cmU6ODU4NTogY2hlY2tp bmcgZm9yIEMrKyAiZXhwbGljaXQiIGtleXdvcmQNCmNvbmZpZ3VyZTo4NjAw OiBnKyszMiAtYyAgLU8gLXBpcGUgIC1mc2hvcnQtd2NoYXIgICAtSS91c3Iv WDExUjYvaW5jbHVkZSAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgY29uZnRlc3Qu QyAxPiY1DQpjb25maWd1cmU6ODYyMTogY2hlY2tpbmcgZm9yIEMrKyB0ZW1w bGF0ZSBzcGVjaWFsaXphdGlvbiBzdXBwb3J0DQpjb25maWd1cmU6ODYzNjog ZysrMzIgLWMgIC1PIC1waXBlICAtZnNob3J0LXdjaGFyICAgLUkvdXNyL1gx MVI2L2luY2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LkMg MT4mNQ0KY29uZmlndXJlOjg2NjY6IGNoZWNraW5nIGZvciBtb2Rlcm4gQysr IHRlbXBsYXRlIHNwZWNpYWxpemF0aW9uIHN5bnRheCBzdXBwb3J0DQpjb25m aWd1cmU6ODY4MTogZysrMzIgLWMgIC1PIC1waXBlICAtZnNob3J0LXdjaGFy ICAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNsdWRl IGNvbmZ0ZXN0LkMgMT4mNQ0KY29uZmlndXJlOjg3MDM6IGNoZWNraW5nIHdo ZXRoZXIgcGFydGlhbCB0ZW1wbGF0ZSBzcGVjaWFsaXphdGlvbiB3b3Jrcw0K Y29uZmlndXJlOjg3MTY6IGcrKzMyIC1jICAtTyAtcGlwZSAgLWZzaG9ydC13 Y2hhciAgIC1JL3Vzci9YMTFSNi9pbmNsdWRlICAtSS91c3IvWDExUjYvaW5j bHVkZSBjb25mdGVzdC5DIDE+JjUNCmNvbmZpZ3VyZTo4NzM4OiBjaGVja2lu ZyB3aGV0aGVyIG9wZXJhdG9ycyBtdXN0IGJlIHJlLWRlZmluZWQgZm9yIHRl bXBsYXRlcyBkZXJpdmVkIGZyb20gdGVtcGxhdGVzDQpjb25maWd1cmU6ODc1 NTogZysrMzIgLWMgIC1PIC1waXBlICAtZnNob3J0LXdjaGFyICAgLUkvdXNy L1gxMVI2L2luY2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0 LkMgMT4mNQ0KY29uZmlndXJlOjg3Nzc6IGNoZWNraW5nIHdoZXRoZXIgd2Ug bmVlZCB0byBjYXN0IGEgZGVyaXZlZCB0ZW1wbGF0ZSB0byBwYXNzIGFzIGl0 cyBiYXNlIGNsYXNzDQpjb25maWd1cmU6ODc5MTogZysrMzIgLWMgIC1PIC1w aXBlICAtZnNob3J0LXdjaGFyICAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIC1J L3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQ0KY29uZmlndXJl Ojg4MTI6IGNoZWNraW5nIHdoZXRoZXIgdGhlIGNvbXBpbGVyIGNhbiByZXNv bHZlIGNvbnN0IGFtYmlndWl0aWVzIGZvciB0ZW1wbGF0ZXMNCmNvbmZpZ3Vy ZTo4ODM4OiBnKyszMiAtYyAgLU8gLXBpcGUgIC1mc2hvcnQtd2NoYXIgICAt SS91c3IvWDExUjYvaW5jbHVkZSAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgY29u ZnRlc3QuQyAxPiY1DQpjb25maWd1cmU6ODg2MDogY2hlY2tpbmcgd2hldGhl ciB0aGUgQysrICJ1c2luZyIga2V5d29yZCBjYW4gY2hhbmdlIGFjY2Vzcw0K Y29uZmlndXJlOjg4NzY6IGcrKzMyIC1jICAtTyAtcGlwZSAgLWZzaG9ydC13 Y2hhciAgIC1JL3Vzci9YMTFSNi9pbmNsdWRlICAtSS91c3IvWDExUjYvaW5j bHVkZSBjb25mdGVzdC5DIDE+JjUNCmNvbmZpZ3VyZTo4ODk3OiBjaGVja2lu ZyB3aGV0aGVyIHRoZSBDKysgInVzaW5nIiBrZXl3b3JkIHJlc29sdmVzIGFt YmlndWl0eQ0KY29uZmlndXJlOjg5MTg6IGcrKzMyIC1jICAtTyAtcGlwZSAg LWZzaG9ydC13Y2hhciAgIC1JL3Vzci9YMTFSNi9pbmNsdWRlICAtSS91c3Iv WDExUjYvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUNCmNvbmZpZ3VyZTo4OTM5 OiBjaGVja2luZyBmb3IgInN0ZDo6IiBuYW1lc3BhY2UNCmNvbmZpZ3VyZTo4 OTUxOiBnKyszMiAtYyAgLU8gLXBpcGUgIC1mc2hvcnQtd2NoYXIgICAtSS91 c3IvWDExUjYvaW5jbHVkZSAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgY29uZnRl c3QuQyAxPiY1DQpjb25maWd1cmU6ODk3MjogY2hlY2tpbmcgd2hldGhlciBz dGFuZGFyZCB0ZW1wbGF0ZSBvcGVyYXRvciE9KCkgaXMgYW1iaWd1b3VzDQpj b25maWd1cmU6ODk4NzogZysrMzIgLWMgIC1PIC1waXBlICAtZnNob3J0LXdj aGFyICAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNs dWRlIGNvbmZ0ZXN0LkMgMT4mNQ0KY29uZmlndXJlOjkwMDk6IGNoZWNraW5n IGZvciBDKysgcmVpbnRlcnByZXRfY2FzdA0KY29uZmlndXJlOjkwMjI6IGcr KzMyIC1jICAtTyAtcGlwZSAgLWZzaG9ydC13Y2hhciAgIC1JL3Vzci9YMTFS Ni9pbmNsdWRlICAtSS91c3IvWDExUjYvaW5jbHVkZSBjb25mdGVzdC5DIDE+ JjUNCmNvbmZpZ3VyZTo5MDQzOiBjaGVja2luZyBmb3IgQysrIGR5bmFtaWNf Y2FzdCB0byB2b2lkKg0KY29uZmlndXJlOjkwNjc6IGcrKzMyIC1vIGNvbmZ0 ZXN0ICAtTyAtcGlwZSAgLWZzaG9ydC13Y2hhciAgIC1JL3Vzci9YMTFSNi9p bmNsdWRlICAtSS91c3IvWDExUjYvaW5jbHVkZSAgY29uZnRlc3QuQyAtbG0g IDE+JjUNCmNvbmZpZ3VyZTo5MDkxOiBjaGVja2luZyB3aGV0aGVyIEMrKyBy ZXF1aXJlcyBpbXBsZW1lbnRhdGlvbiBvZiB1bnVzZWQgdmlydHVhbCBtZXRo b2RzDQpjb25maWd1cmU6OTEwMzogZysrMzIgLW8gY29uZnRlc3QgIC1PIC1w aXBlICAtZnNob3J0LXdjaGFyICAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIC1J L3Vzci9YMTFSNi9pbmNsdWRlICBjb25mdGVzdC5DIC1sbSAgMT4mNQ0KY29u ZmlndXJlOjkwOTc6IHdhcm5pbmc6IGFsbCBtZW1iZXIgZnVuY3Rpb25zIGlu IGNsYXNzIGBYJyBhcmUgcHJpdmF0ZQ0KY29uZmlndXJlOjkxMjY6IGNoZWNr aW5nIGZvciB0cm91YmxlIGNvbXBhcmluZyB0byB6ZXJvIG5lYXIgc3RkOjpv cGVyYXRvciE9KCkNCmNvbmZpZ3VyZTo5MTQyOiBnKyszMiAtYyAgLU8gLXBp cGUgIC1mc2hvcnQtd2NoYXIgICAtSS91c3IvWDExUjYvaW5jbHVkZSAgLUkv dXNyL1gxMVI2L2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1DQpjb25maWd1cmU6 OTE3NDogY2hlY2tpbmcgZm9yIExDX01FU1NBR0VTDQpjb25maWd1cmU6OTE4 NjogZ2NjMzIgLWMgLU8gLXBpcGUgICAgLUkvdXNyL1gxMVI2L2luY2x1ZGUg IC1JL3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQ0KY29uZmln dXJlOjkzNjA6IGNoZWNraW5nIGZvciBqcGVnX2Rlc3Ryb3lfY29tcHJlc3Mg aW4gLWxqcGVnDQpjb25maWd1cmU6OTM3OTogZ2NjMzIgLW8gY29uZnRlc3Qg LUkvdXNyL2xvY2FsL2luY2x1ZGUgLU8gLXBpcGUgICAgLUkvdXNyL1gxMVI2 L2luY2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNsdWRlIC1ML3Vzci9sb2NhbC9s aWIgIGNvbmZ0ZXN0LmMgLWxqcGVnICAtbG0gIDE+JjUNCmNjMTogd2Fybmlu ZzogY2hhbmdpbmcgc2VhcmNoIG9yZGVyIGZvciBzeXN0ZW0gZGlyZWN0b3J5 ICIvdXNyL2xvY2FsL2luY2x1ZGUiDQpjYzE6IHdhcm5pbmc6ICAgYXMgaXQg aGFzIGFscmVhZHkgYmVlbiBzcGVjaWZpZWQgYXMgYSBub24tc3lzdGVtIGRp cmVjdG9yeQ0KY29uZmlndXJlOjk0MjI6IGdjYzMyIC1vIGNvbmZ0ZXN0IC1J L3Vzci9sb2NhbC9pbmNsdWRlIC1PIC1waXBlICAgIC1JL3Vzci9YMTFSNi9p bmNsdWRlICAtSS91c3IvWDExUjYvaW5jbHVkZSAtTC91c3IvbG9jYWwvbGli ICBjb25mdGVzdC5jIC1sanBlZyAgLWxtICAxPiY1DQpjYzE6IHdhcm5pbmc6 IGNoYW5naW5nIHNlYXJjaCBvcmRlciBmb3Igc3lzdGVtIGRpcmVjdG9yeSAi L3Vzci9sb2NhbC9pbmNsdWRlIg0KY2MxOiB3YXJuaW5nOiAgIGFzIGl0IGhh cyBhbHJlYWR5IGJlZW4gc3BlY2lmaWVkIGFzIGEgbm9uLXN5c3RlbSBkaXJl Y3RvcnkNCmNvbmZpZ3VyZTo5NTU0OiBjaGVja2luZyBmb3IgcG5nX2dldF92 YWxpZCBpbiAtbHBuZw0KY29uZmlndXJlOjk1NzM6IGdjYzMyIC1vIGNvbmZ0 ZXN0IC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtTyAtcGlwZSAgICAtSS91c3Iv WDExUjYvaW5jbHVkZSAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgLUwvdXNyL2xv Y2FsL2xpYiAgLWx6ICBjb25mdGVzdC5jIC1scG5nICAtbG0gIDE+JjUNCmNj MTogd2FybmluZzogY2hhbmdpbmcgc2VhcmNoIG9yZGVyIGZvciBzeXN0ZW0g ZGlyZWN0b3J5ICIvdXNyL2xvY2FsL2luY2x1ZGUiDQpjYzE6IHdhcm5pbmc6 ICAgYXMgaXQgaGFzIGFscmVhZHkgYmVlbiBzcGVjaWZpZWQgYXMgYSBub24t c3lzdGVtIGRpcmVjdG9yeQ0KY29uZmlndXJlOjk2MTU6IGdjYzMyIC1vIGNv bmZ0ZXN0IC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtTyAtcGlwZSAgICAtSS91 c3IvWDExUjYvaW5jbHVkZSAgLUkvdXNyL1gxMVI2L2luY2x1ZGUgLUwvdXNy L2xvY2FsL2xpYiAgLWx6ICBjb25mdGVzdC5jIC1scG5nICAtbG0gIDE+JjUN CmNjMTogd2FybmluZzogY2hhbmdpbmcgc2VhcmNoIG9yZGVyIGZvciBzeXN0 ZW0gZGlyZWN0b3J5ICIvdXNyL2xvY2FsL2luY2x1ZGUiDQpjYzE6IHdhcm5p bmc6ICAgYXMgaXQgaGFzIGFscmVhZHkgYmVlbiBzcGVjaWZpZWQgYXMgYSBu b24tc3lzdGVtIGRpcmVjdG9yeQ0KY29uZmlndXJlOjk2NTg6IGNoZWNraW5n IGZvciBtbmdfaW5pdGlhbGl6ZSBpbiAtbG1uZw0KY29uZmlndXJlOjk2Nzc6 IGdjYzMyIC1vIGNvbmZ0ZXN0IC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtTyAt cGlwZSAgICAtSS91c3IvWDExUjYvaW5jbHVkZSAgLUkvdXNyL1gxMVI2L2lu Y2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiAgLWx6ICBjb25mdGVzdC5jIC1sbW5n ICAtbG0gIDE+JjUNCmNjMTogd2FybmluZzogY2hhbmdpbmcgc2VhcmNoIG9y ZGVyIGZvciBzeXN0ZW0gZGlyZWN0b3J5ICIvdXNyL2xvY2FsL2luY2x1ZGUi DQpjYzE6IHdhcm5pbmc6ICAgYXMgaXQgaGFzIGFscmVhZHkgYmVlbiBzcGVj aWZpZWQgYXMgYSBub24tc3lzdGVtIGRpcmVjdG9yeQ0KY29uZmlndXJlOjk3 MTk6IGdjYzMyIC1vIGNvbmZ0ZXN0IC1JL3Vzci9sb2NhbC9pbmNsdWRlICAt TyAtcGlwZSAgICAtSS91c3IvWDExUjYvaW5jbHVkZSAgLUkvdXNyL1gxMVI2 L2luY2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiAgLWx6ICBjb25mdGVzdC5jIC1s bW5nICAtbG0gIDE+JjUNCmNjMTogd2FybmluZzogY2hhbmdpbmcgc2VhcmNo IG9yZGVyIGZvciBzeXN0ZW0gZGlyZWN0b3J5ICIvdXNyL2xvY2FsL2luY2x1 ZGUiDQpjYzE6IHdhcm5pbmc6ICAgYXMgaXQgaGFzIGFscmVhZHkgYmVlbiBz cGVjaWZpZWQgYXMgYSBub24tc3lzdGVtIGRpcmVjdG9yeQ0KY29uZmlndXJl Ojk5MzY6IGNoZWNraW5nIGZvciBndGstY29uZmlnDQpjb25maWd1cmU6OTk3 MTogY2hlY2tpbmcgZm9yIEdUSyAtIHZlcnNpb24gPj0gMS4yLjANCmNvbmZp Z3VyZToxMDA3MjogZ2NjMzIgLW8gY29uZnRlc3QgLU8gLXBpcGUgIC1JL3Vz ci9YMTFSNi9pbmNsdWRlL2d0azEyIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2ds aWIxMiAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVk ZSAgIC1JL3Vzci9YMTFSNi9pbmNsdWRlICAtSS91c3IvWDExUjYvaW5jbHVk ZSAgY29uZnRlc3QuYyAtbG0gIC1ML3Vzci9YMTFSNi9saWIgLUwvdXNyL1gx MVI2L2xpYiAtbGd0azEyIC1sZ2RrMTIgLUwvdXNyL2xvY2FsL2xpYiAtV2ws LUUgLWxnbW9kdWxlMTIgLWxnbGliMTIgLWxpbnRsIC1sWGkgLWxYZXh0IC1s WDExIC1sbSAxPiY1DQpjYzE6IHdhcm5pbmc6IGNoYW5naW5nIHNlYXJjaCBv cmRlciBmb3Igc3lzdGVtIGRpcmVjdG9yeSAiL3Vzci9sb2NhbC9pbmNsdWRl Ig0KY2MxOiB3YXJuaW5nOiAgIGFzIGl0IGhhcyBhbHJlYWR5IGJlZW4gc3Bl Y2lmaWVkIGFzIGEgbm9uLXN5c3RlbSBkaXJlY3RvcnkNCi91c3IvbGliZXhl Yy9lbGYvbGQ6IHdhcm5pbmc6IGxpYmludGwuc28uNCwgbmVlZGVkIGJ5IC91 c3IvWDExUjYvbGliL2xpYmd0azEyLnNvLCBub3QgZm91bmQgKHRyeSB1c2lu ZyAtcnBhdGggb3IgLXJwYXRoLWxpbmspDQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoNCiNsaW5lIDk5OTQgImNvbmZpZ3VyZSINCiNpbmNsdWRl ICJjb25mZGVmcy5oIg0KDQojaW5jbHVkZSA8Z3RrL2d0ay5oPg0KI2luY2x1 ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RkbGliLmg+DQoNCmludCANCm1h aW4gKCkNCnsNCiAgaW50IG1ham9yLCBtaW5vciwgbWljcm87DQogIGNoYXIg KnRtcF92ZXJzaW9uOw0KDQogIHN5c3RlbSAoInRvdWNoIGNvbmYuZ3RrdGVz dCIpOw0KDQogIC8qIEhQL1VYIDkgKCVAIyEpIHdyaXRlcyB0byBzc2NhbmYg c3RyaW5ncyAqLw0KICB0bXBfdmVyc2lvbiA9IGdfc3RyZHVwKCIxLjIuMCIp Ow0KICBpZiAoc3NjYW5mKHRtcF92ZXJzaW9uLCAiJWQuJWQuJWQiLCAmbWFq b3IsICZtaW5vciwgJm1pY3JvKSAhPSAzKSB7DQogICAgIHByaW50ZigiJXMs IGJhZCB2ZXJzaW9uIHN0cmluZ1xuIiwgIjEuMi4wIik7DQogICAgIGV4aXQo MSk7DQogICB9DQoNCiAgaWYgKChndGtfbWFqb3JfdmVyc2lvbiAhPSAxKSB8 fA0KICAgICAgKGd0a19taW5vcl92ZXJzaW9uICE9IDIpIHx8DQogICAgICAo Z3RrX21pY3JvX3ZlcnNpb24gIT0gMTApKQ0KICAgIHsNCiAgICAgIHByaW50 ZigiXG4qKiogJ2d0ay1jb25maWcgLS12ZXJzaW9uJyByZXR1cm5lZCAlZC4l ZC4lZCwgYnV0IEdUSysgKCVkLiVkLiVkKVxuIiwgDQogICAgICAgICAgICAg MSwgMiwgMTAsDQogICAgICAgICAgICAgZ3RrX21ham9yX3ZlcnNpb24sIGd0 a19taW5vcl92ZXJzaW9uLCBndGtfbWljcm9fdmVyc2lvbik7DQogICAgICBw cmludGYgKCIqKiogd2FzIGZvdW5kISBJZiBndGstY29uZmlnIHdhcyBjb3Jy ZWN0LCB0aGVuIGl0IGlzIGJlc3RcbiIpOw0KICAgICAgcHJpbnRmICgiKioq IHRvIHJlbW92ZSB0aGUgb2xkIHZlcnNpb24gb2YgR1RLKy4gWW91IG1heSBh bHNvIGJlIGFibGUgdG8gZml4IHRoZSBlcnJvclxuIik7DQogICAgICBwcmlu dGYoIioqKiBieSBtb2RpZnlpbmcgeW91ciBMRF9MSUJSQVJZX1BBVEggZW52 aXJvbm1lbnQgdmFyaWFibGUsIG9yIGJ5IGVkaXRpbmdcbiIpOw0KICAgICAg cHJpbnRmKCIqKiogL2V0Yy9sZC5zby5jb25mLiBNYWtlIHN1cmUgeW91IGhh dmUgcnVuIGxkY29uZmlnIGlmIHRoYXQgaXNcbiIpOw0KICAgICAgcHJpbnRm KCIqKiogcmVxdWlyZWQgb24geW91ciBzeXN0ZW0uXG4iKTsNCiAgICAgIHBy aW50ZigiKioqIElmIGd0ay1jb25maWcgd2FzIHdyb25nLCBzZXQgdGhlIGVu dmlyb25tZW50IHZhcmlhYmxlIEdUS19DT05GSUdcbiIpOw0KICAgICAgcHJp bnRmKCIqKiogdG8gcG9pbnQgdG8gdGhlIGNvcnJlY3QgY29weSBvZiBndGst Y29uZmlnLCBhbmQgcmVtb3ZlIHRoZSBmaWxlIGNvbmZpZy5jYWNoZVxuIik7 DQogICAgICBwcmludGYoIioqKiBiZWZvcmUgcmUtcnVubmluZyBjb25maWd1 cmVcbiIpOw0KICAgIH0gDQojaWYgZGVmaW5lZCAoR1RLX01BSk9SX1ZFUlNJ T04pICYmIGRlZmluZWQgKEdUS19NSU5PUl9WRVJTSU9OKSAmJiBkZWZpbmVk IChHVEtfTUlDUk9fVkVSU0lPTikNCiAgZWxzZSBpZiAoKGd0a19tYWpvcl92 ZXJzaW9uICE9IEdUS19NQUpPUl9WRVJTSU9OKSB8fA0KCSAgIChndGtfbWlu b3JfdmVyc2lvbiAhPSBHVEtfTUlOT1JfVkVSU0lPTikgfHwNCiAgICAgICAg ICAgKGd0a19taWNyb192ZXJzaW9uICE9IEdUS19NSUNST19WRVJTSU9OKSkN CiAgICB7DQogICAgICBwcmludGYoIioqKiBHVEsrIGhlYWRlciBmaWxlcyAo dmVyc2lvbiAlZC4lZC4lZCkgZG8gbm90IG1hdGNoXG4iLA0KCSAgICAgR1RL X01BSk9SX1ZFUlNJT04sIEdUS19NSU5PUl9WRVJTSU9OLCBHVEtfTUlDUk9f VkVSU0lPTik7DQogICAgICBwcmludGYoIioqKiBsaWJyYXJ5ICh2ZXJzaW9u ICVkLiVkLiVkKVxuIiwNCgkgICAgIGd0a19tYWpvcl92ZXJzaW9uLCBndGtf bWlub3JfdmVyc2lvbiwgZ3RrX21pY3JvX3ZlcnNpb24pOw0KICAgIH0NCiNl bmRpZiAvKiBkZWZpbmVkIChHVEtfTUFKT1JfVkVSU0lPTikgLi4uICovDQog IGVsc2UNCiAgICB7DQogICAgICBpZiAoKGd0a19tYWpvcl92ZXJzaW9uID4g bWFqb3IpIHx8DQogICAgICAgICgoZ3RrX21ham9yX3ZlcnNpb24gPT0gbWFq b3IpICYmIChndGtfbWlub3JfdmVyc2lvbiA+IG1pbm9yKSkgfHwNCiAgICAg ICAgKChndGtfbWFqb3JfdmVyc2lvbiA9PSBtYWpvcikgJiYgKGd0a19taW5v cl92ZXJzaW9uID09IG1pbm9yKSAmJiAoZ3RrX21pY3JvX3ZlcnNpb24gPj0g bWljcm8pKSkNCiAgICAgIHsNCiAgICAgICAgcmV0dXJuIDA7DQogICAgICAg fQ0KICAgICBlbHNlDQogICAgICB7DQogICAgICAgIHByaW50ZigiXG4qKiog QW4gb2xkIHZlcnNpb24gb2YgR1RLKyAoJWQuJWQuJWQpIHdhcyBmb3VuZC5c biIsDQogICAgICAgICAgICAgICBndGtfbWFqb3JfdmVyc2lvbiwgZ3RrX21p bm9yX3ZlcnNpb24sIGd0a19taWNyb192ZXJzaW9uKTsNCiAgICAgICAgcHJp bnRmKCIqKiogWW91IG5lZWQgYSB2ZXJzaW9uIG9mIEdUSysgbmV3ZXIgdGhh biAlZC4lZC4lZC4gVGhlIGxhdGVzdCB2ZXJzaW9uIG9mXG4iLA0KCSAgICAg ICBtYWpvciwgbWlub3IsIG1pY3JvKTsNCiAgICAgICAgcHJpbnRmKCIqKiog R1RLKyBpcyBhbHdheXMgYXZhaWxhYmxlIGZyb20gZnRwOi8vZnRwLmd0ay5v cmcuXG4iKTsNCiAgICAgICAgcHJpbnRmKCIqKipcbiIpOw0KICAgICAgICBw cmludGYoIioqKiBJZiB5b3UgaGF2ZSBhbHJlYWR5IGluc3RhbGxlZCBhIHN1 ZmZpY2llbnRseSBuZXcgdmVyc2lvbiwgdGhpcyBlcnJvclxuIik7DQogICAg ICAgIHByaW50ZigiKioqIHByb2JhYmx5IG1lYW5zIHRoYXQgdGhlIHdyb25n IGNvcHkgb2YgdGhlIGd0ay1jb25maWcgc2hlbGwgc2NyaXB0IGlzXG4iKTsN CiAgICAgICAgcHJpbnRmKCIqKiogYmVpbmcgZm91bmQuIFRoZSBlYXNpZXN0 IHdheSB0byBmaXggdGhpcyBpcyB0byByZW1vdmUgdGhlIG9sZCB2ZXJzaW9u XG4iKTsNCiAgICAgICAgcHJpbnRmKCIqKiogb2YgR1RLKywgYnV0IHlvdSBj YW4gYWxzbyBzZXQgdGhlIEdUS19DT05GSUcgZW52aXJvbm1lbnQgdG8gcG9p bnQgdG8gdGhlXG4iKTsNCiAgICAgICAgcHJpbnRmKCIqKiogY29ycmVjdCBj b3B5IG9mIGd0ay1jb25maWcuIChJbiB0aGlzIGNhc2UsIHlvdSB3aWxsIGhh dmUgdG9cbiIpOw0KICAgICAgICBwcmludGYoIioqKiBtb2RpZnkgeW91ciBM RF9MSUJSQVJZX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGUsIG9yIGVkaXQg L2V0Yy9sZC5zby5jb25mXG4iKTsNCiAgICAgICAgcHJpbnRmKCIqKiogc28g dGhhdCB0aGUgY29ycmVjdCBsaWJyYXJpZXMgYXJlIGZvdW5kIGF0IHJ1bi10 aW1lKSlcbiIpOw0KICAgICAgfQ0KICAgIH0NCiAgcmV0dXJuIDE7DQp9DQoN CmNvbmZpZ3VyZToxMDExNzogZ2NjMzIgLW8gY29uZnRlc3QgLU8gLXBpcGUg IC1JL3Vzci9YMTFSNi9pbmNsdWRlL2d0azEyIC1JL3Vzci9sb2NhbC9pbmNs dWRlL2dsaWIxMiAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYv aW5jbHVkZSAgIC1JL3Vzci9YMTFSNi9pbmNsdWRlICAtSS91c3IvWDExUjYv aW5jbHVkZSAgY29uZnRlc3QuYyAtbG0gIC1ML3Vzci9YMTFSNi9saWIgLUwv dXNyL1gxMVI2L2xpYiAtbGd0azEyIC1sZ2RrMTIgLUwvdXNyL2xvY2FsL2xp YiAtV2wsLUUgLWxnbW9kdWxlMTIgLWxnbGliMTIgLWxpbnRsIC1sWGkgLWxY ZXh0IC1sWDExIC1sbSAxPiY1DQpjYzE6IHdhcm5pbmc6IGNoYW5naW5nIHNl YXJjaCBvcmRlciBmb3Igc3lzdGVtIGRpcmVjdG9yeSAiL3Vzci9sb2NhbC9p bmNsdWRlIg0KY2MxOiB3YXJuaW5nOiAgIGFzIGl0IGhhcyBhbHJlYWR5IGJl ZW4gc3BlY2lmaWVkIGFzIGEgbm9uLXN5c3RlbSBkaXJlY3RvcnkNCi91c3Iv bGliZXhlYy9lbGYvbGQ6IHdhcm5pbmc6IGxpYmludGwuc28uNCwgbmVlZGVk IGJ5IC91c3IvWDExUjYvbGliL2xpYmd0azEyLnNvLCBub3QgZm91bmQgKHRy eSB1c2luZyAtcnBhdGggb3IgLXJwYXRoLWxpbmspDQo= --0-1645437099-1065566288=:35242--