From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thien-Thi Nguyen Newsgroups: gmane.lisp.guile.devel Subject: Re: pkg-config support Date: Tue, 29 Apr 2008 11:44:29 +0200 Message-ID: <87r6cpf11e.fsf@ambire.localdomain> References: <87lk2xd5qp.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1209546726 10557 80.91.229.12 (30 Apr 2008 09:12:06 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 30 Apr 2008 09:12:06 +0000 (UTC) Cc: guile-devel@gnu.org To: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Apr 30 11:12:41 2008 connect(): Connection refused Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Jr8Mi-0001UO-Vl for guile-devel@m.gmane.org; Wed, 30 Apr 2008 11:12:41 +0200 Original-Received: from localhost ([127.0.0.1]:40941 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jr8M1-0001Bh-NI for guile-devel@m.gmane.org; Wed, 30 Apr 2008 05:11:57 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jr793-0005vi-En for guile-devel@gnu.org; Wed, 30 Apr 2008 03:54:29 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jr790-0005sH-UM for guile-devel@gnu.org; Wed, 30 Apr 2008 03:54:29 -0400 Original-Received: from [199.232.76.173] (port=50058 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jr790-0005s4-Ld for guile-devel@gnu.org; Wed, 30 Apr 2008 03:54:26 -0400 Original-Received: from mx20.gnu.org ([199.232.41.8]) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Jr78Z-0000lq-OF; Wed, 30 Apr 2008 03:54:10 -0400 Original-Received: from [151.61.143.58] (helo=ambire.localdomain) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Jr78N-00050h-6S; Wed, 30 Apr 2008 03:53:48 -0400 Original-Received: from ttn by ambire.localdomain with local (Exim 4.63) (envelope-from ) id 1JqmNy-0001aU-KQ; Tue, 29 Apr 2008 11:44:30 +0200 In-Reply-To: <87lk2xd5qp.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Mon, 28 Apr 2008 23:33:34 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) X-detected-kernel: by mx20.gnu.org: Genre and OS details not recognized. X-Greylist: delayed 79576 seconds by postgrey-1.27 at nadesico; Wed, 30 Apr 2008 03:53:38 EDT X-Greylist: delayed 79585 seconds by postgrey-1.27 at nadesico; Wed, 30 Apr 2008 03:53:47 EDT X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4) X-Mailman-Approved-At: Wed, 30 Apr 2008 05:11:53 -0400 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:7198 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable () ludo@gnu.org (Ludovic Court=C3=A8s) () Mon, 28 Apr 2008 23:33:34 +0200 +# Note: `sitedir' must be kept in sync with `GUILE_SITE_DIR' in `guile.m4'. The 1.4.x guile.m4 (appended) also has GUILE_LIBSITE_DIR. I think this would be a good addition; third parties can install machine- (architecture-) dependent files there. thi __________________________________________________________________ --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=guile.m4 Content-Transfer-Encoding: base64 IyMgU29tZSAtKi1hdXRvY29uZi0qLSBtYWNyb3MgZm9yIHdvcmtpbmcgd2l0aCBHdWlsZS4KIyMK IyMgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA3LCAyMDA4IFRoaWVu LVRoaSBOZ3V5ZW4KIyMgQ29weXJpZ2h0IChDKSAxOTk4LCAyMDAxIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgojIwojIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHVUlMRQojIwojIyBHVUlM RSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5 CiMjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMgcHVibGlzaGVkIGJ5CiMjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2 ZXJzaW9uIDMsIG9yIChhdCB5b3VyIG9wdGlvbikKIyMgYW55IGxhdGVyIHZlcnNpb24uCiMjCiMj IEdVSUxFIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws CiMjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCiMjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKIyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KIyMKIyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyMgYWxvbmcgd2l0aCB0aGlzIHNvZnR3YXJlOyBzZWUg dGhlIGZpbGUgQ09QWUlORy4gIElmIG5vdCwgd3JpdGUgdG8KIyMgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKIyMgQm9z dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCgojIyBJbmRleAojIyAtLS0tLQojIwojIyBHVUlMRV9Q Uk9HUyAtLSBzZXQgcGF0aHMgdG8gR3VpbGUgaW50ZXJwcmV0ZXIsIGNvbmZpZyBhbmQgdG9vbCBw cm9ncmFtcwojIyBHVUlMRV9GTEFHUyAtLSBzZXQgZmxhZ3MgZm9yIGNvbXBpbGluZyBhbmQgbGlu a2luZyB3aXRoIEd1aWxlCiMjIEdVSUxFX1NJVEVfRElSIC0tIGZpbmQgcGF0aCB0byBHdWlsZSAi c2l0ZSIgZGlyZWN0b3J5IChub24tbWQgZmlsZXMpCiMjIEdVSUxFX0xJQlNJVEVfRElSIC0tIGZp bmQgcGF0aCB0byBHdWlsZSAibGlicmFyeSBzaXRlIiBkaXIgKG1kIGZpbGVzKQojIyBHVUlMRV9D SEVDSyAtLSBldmFsdWF0ZSBHdWlsZSBTY2hlbWUgY29kZSBhbmQgY2FwdHVyZSB0aGUgcmV0dXJu IHZhbHVlCiMjIEdVSUxFX1BST1ZJREVEUCAtLSBjaGVjayBpZiBhIGZlYXR1cmUgc3ltYm9sIGlz IHByb3ZpZGVkCiMjIEdVSUxFX01PRFVMRV9DSEVDSyAtLSBjaGVjayBmZWF0dXJlIG9mIGEgR3Vp bGUgU2NoZW1lIG1vZHVsZQojIyBHVUlMRV9NT0RVTEVfQVZBSUxBQkxFIC0tIGNoZWNrIGF2YWls YWJpbGl0eSBvZiBhIEd1aWxlIFNjaGVtZSBtb2R1bGUKIyMgR1VJTEVfTU9EVUxFX1JFUVVJUkVE IC0tIGZhaWwgaWYgYSBHdWlsZSBTY2hlbWUgbW9kdWxlIGlzIHVuYXZhaWxhYmxlCiMjIEdVSUxF X01PRFVMRV9FWFBPUlRTIC0tIGNoZWNrIGlmIGEgbW9kdWxlIGV4cG9ydHMgYSB2YXJpYWJsZQoj IyBHVUlMRV9NT0RVTEVfUkVRVUlSRURfRVhQT1JUIC0tIGZhaWwgaWYgYSBtb2R1bGUgZG9lc24n dCBleHBvcnQgYSB2YXJpYWJsZQojIyBHVUlMRV9DSEVDS19JQ0U5X09QVEFSR1MgLS0gdXNlIChp Y2UtOSBvcHRhcmdzKSBmb3IgKGljZS05IG9wdGFyZ3Mta3cpPwojIyBHVUlMRV9NT0RVTEVfQ0FU QUxPR19QUkVQIC0tIG1hY2hpbmVyeSBmb3IgcHJlLWluc3QgbWVyZ2VkIG1vZHVsZSBjYXRhbG9n CiMjIEdVSUxFX1RPT0xTX1BST0cgLS0gZmluZCBhYnNvbHV0ZSBmaWxlbmFtZSBvZiBhIGd1aWxl LXRvb2xzIHByb2dyYW0KIyMgR1VJTEVfQzJYX01FVEhPRCAtLSBjaG9vc2UgImd1aWxlLXRvb2xz IGMyeCIgb3IgImd1aWxlLXNuYXJmIgojIyBHVUlMRV9NT0RTVVBfSCAtLSBkZWZpbmUgSEFWRV9H VUlMRV9NT0RTVVBfSCBpZiBpdCBpcyBpbmRlZWQgYXZhaWxhYmxlCgojIyBDb2RlCiMjIC0tLS0K CiMjIE5PVEU6IENvbW1lbnRzIHByZWNlZGluZyBhbiBBQ19ERUZVTiAoc3RhcnRpbmcgZnJvbSAi VXNhZ2U6IikgYXJlIG1hc3NhZ2VkCiMjIGludG8gZG9jL3JlZi9hdXRvY29uZi1tYWNyb3MudGV4 aSAoc2VlIE1ha2VmaWxlLmFtIGluIHRoYXQgZGlyZWN0b3J5KS4KCiMge1Byb2dyYW0gRGV0ZWN0 aW9ufQoKIyBHVUlMRV9QUk9HUyAtLSBzZXQgcGF0aHMgdG8gR3VpbGUgaW50ZXJwcmV0ZXIsIGNv bmZpZyBhbmQgdG9vbCBwcm9ncmFtcwojCiMgVXNhZ2U6IEdVSUxFX1BST0dTCiMKIyBMb29rIGZv ciBwcm9ncmFtcyBAY29kZXtndWlsZX0sIEBjb2Rle2d1aWxlLWNvbmZpZ30gYW5kCiMgQGNvZGV7 Z3VpbGUtdG9vbHN9LCBhbmQgc2V0IHZhcmlhYmxlcyBAdmFye0dVSUxFfSwgQHZhcntHVUlMRV9D T05GSUd9IGFuZAojIEB2YXJ7R1VJTEVfVE9PTFN9LCB0byB0aGVpciBwYXRocywgcmVzcGVjdGl2 ZWx5LiAgSWYgZWl0aGVyIG9mIHRoZSBmaXJzdCB0d28KIyBpcyBub3QgZm91bmQsIHNpZ25hbCBl cnJvci4KIwojIE1hcmsgdGhlIHZhcmlhYmxlcyBmb3Igc3Vic3RpdHV0aW9uLCBhcyBieSBAY29k ZXtBQ19TVUJTVH0uCiMKQUNfREVGVU4oW0dVSUxFX1BST0dTXSwKIFtBQ19QQVRIX1BST0coR1VJ TEUsZ3VpbGUpCiAgaWYgdGVzdCAiJEdVSUxFIiA9ICIiIDsgdGhlbgogICAgICBBQ19NU0dfRVJS T1IoW2d1aWxlIHJlcXVpcmVkIGJ1dCBub3QgZm91bmRdKQogIGZpCiAgQUNfU1VCU1QoR1VJTEUp CiAgQUNfUEFUSF9QUk9HKEdVSUxFX0NPTkZJRyxndWlsZS1jb25maWcpCiAgaWYgdGVzdCAiJEdV SUxFX0NPTkZJRyIgPSAiIiA7IHRoZW4KICAgICAgQUNfTVNHX0VSUk9SKFtndWlsZS1jb25maWcg cmVxdWlyZWQgYnV0IG5vdCBmb3VuZF0pCiAgZmkKICBBQ19TVUJTVChHVUlMRV9DT05GSUcpCiAg QUNfUEFUSF9QUk9HKEdVSUxFX1RPT0xTLGd1aWxlLXRvb2xzKQogIEFDX1NVQlNUKEdVSUxFX1RP T0xTKQogXSkKCiMge0NvbXBpbGF0aW9uIEZsYWdzIFJlcG9ydGluZ30KCiMgR1VJTEVfRkxBR1Mg LS0gc2V0IGZsYWdzIGZvciBjb21waWxpbmcgYW5kIGxpbmtpbmcgd2l0aCBHdWlsZQojCiMgVXNh Z2U6IEdVSUxFX0ZMQUdTCiMKIyBSdW4gdGhlIEBjb2Rle2d1aWxlLWNvbmZpZ30gc2NyaXB0LCBp bnN0YWxsZWQgd2l0aCBHdWlsZSwgdG8KIyBmaW5kIG91dCB3aGVyZSBHdWlsZSdzIGhlYWRlciBm aWxlcyBhbmQgbGlicmFyaWVzIGFyZSBpbnN0YWxsZWQuICBTZXQKIyB0d28gdmFyaWFibGVzLCBA dmFye0dVSUxFX0NGTEFHU30gYW5kIEB2YXJ7R1VJTEVfTERGTEFHU30uCiMKIyBAdmFye0dVSUxF X0NGTEFHU306IGZsYWdzIHRvIHBhc3MgdG8gYSBDIG9yIEMrKyBjb21waWxlciB0byBidWlsZCBj b2RlIHRoYXQKIyB1c2VzIEd1aWxlIGhlYWRlciBmaWxlcy4gIFRoaXMgaXMgYWxtb3N0IGFsd2F5 cyBqdXN0IGEgQGNvZGV7LUl9IGZsYWcuCiMKIyBAdmFye0dVSUxFX0xERkxBR1N9OiBmbGFncyB0 byBwYXNzIHRvIHRoZSBsaW5rZXIgdG8gbGluayBhIHByb2dyYW0gYWdhaW5zdAojIEd1aWxlLiAg VGhpcyBpbmNsdWRlcyBAY29kZXstbGd1aWxlfSBmb3IgdGhlIEd1aWxlIGxpYnJhcnkgaXRzZWxm LCBhbnkKIyBsaWJyYXJpZXMgdGhhdCBHdWlsZSBpdHNlbGYgcmVxdWlyZXMgKGxpa2UgLWxxdGhy ZWFkcyksIGFuZCBzbyBvbi4gIEl0IG1heQojIGFsc28gaW5jbHVkZSBhIEBjb2Rley1MfSBmbGFn IHRvIHRlbGwgdGhlIGNvbXBpbGVyIHdoZXJlIHRvIGZpbmQgdGhlCiMgbGlicmFyaWVzLgojCiMg TWFyayB0aGUgdmFyaWFibGVzIGZvciBzdWJzdGl0dXRpb24sIGFzIGJ5IEBjb2Rle0FDX1NVQlNU fS4KIwpBQ19ERUZVTihbR1VJTEVfRkxBR1NdLAogW0FDX1JFUVVJUkUoW0dVSUxFX1BST0dTXSlk bmwKICBBQ19NU0dfQ0hFQ0tJTkcoW2xpYmd1aWxlIGNvbXBpbGUgZmxhZ3NdKQogIEdVSUxFX0NG TEFHUz0iYCRHVUlMRV9DT05GSUcgY29tcGlsZWAiCiAgQUNfTVNHX1JFU1VMVChbJEdVSUxFX0NG TEFHU10pCiAgQUNfTVNHX0NIRUNLSU5HKFtsaWJndWlsZSBsaW5rIGZsYWdzXSkKICBHVUlMRV9M REZMQUdTPSJgJEdVSUxFX0NPTkZJRyBsaW5rYCIKICBBQ19NU0dfUkVTVUxUKFskR1VJTEVfTERG TEFHU10pCiAgQUNfU1VCU1QoR1VJTEVfQ0ZMQUdTKQogIEFDX1NVQlNUKEdVSUxFX0xERkxBR1Mp CiBdKQoKIyB7SW5zdGFsbGF0aW9uIERpcmVjdG9yaWVzfQoKIyBHVUlMRV9TSVRFX0RJUiAtLSBm aW5kIHBhdGggdG8gR3VpbGUgInNpdGUiIGRpcmVjdG9yeQojCiMgVXNhZ2U6IEdVSUxFX1NJVEVf RElSCiMKIyBMb29rIGZvciBHdWlsZSdzICJzaXRlIiBkaXJlY3RvcnksIHVzdWFsbHkgc29tZXRo aW5nIGxpa2UKIyBQUkVGSVgvc2hhcmUvZ3VpbGUvc2l0ZSwgYW5kIHNldCB2YXIgQHZhcntHVUlM RV9TSVRFfSB0byB0aGUgcGF0aC4KIyBOb3RlIHRoYXQgUFJFRklYIGlzIHRoYXQgb2YgR3VpbGUs IHdoaWNoIG1heSBvciBtYXkgbm90IGNvaW5jaWRlCiMgd2l0aCB0aGUgb25lIHNwZWNpZmllZCBi eSBAY29kZXtjb25maWd1cmUgLS1wcmVmaXh9LgojIE5vdGUgYWxzbyB0aGF0IHRoZSB2YXIgbmFt ZSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgbWFjcm8gbmFtZS4KIwojIE1hcmsgdGhlIHZhcmlhYmxl IGZvciBzdWJzdGl0dXRpb24sIGFzIGJ5IEBjb2Rle0FDX1NVQlNUfS4KIwpBQ19ERUZVTihbR1VJ TEVfU0lURV9ESVJdLAogW0FDX1JFUVVJUkUoW0dVSUxFX1BST0dTXSlkbmwKICBBQ19NU0dfQ0hF Q0tJTkcoZm9yIEd1aWxlIHNpdGUgZGlyZWN0b3J5KQogICMgVHJ5IGJ1aWx0LWluIHJlcHJlZml4 aW5nLgogIEdVSUxFX1NJVEU9YFskR1VJTEVfQ09ORklHXSByZS1wcmVmaXgtaW5mbyBzY2hlbWVf c2l0ZV9kaXIgMj4vZGV2L251bGxgCiAgIyBJZiBubyBqb3ksIGRvIGl0ICJtYW51YWxseSIuCiAg aWYgdGVzdCB4IiRHVUlMRV9TSVRFIiA9IHggOyB0aGVuCiAgICBHVUlMRV9TSVRFPWBbJEdVSUxF X0NPTkZJR10gaW5mbyBwcmVmaXhgCiAgICBHVUlMRV9TSVRFPWBbJEdVSUxFX0NPTkZJR10gaW5m byBwa2dkYXRhZGlyIHwgc2VkIHMsJEdVSUxFX1NJVEUsJyR7cHJlZml4fScsYAogICAgR1VJTEVf U0lURT0iJEdVSUxFX1NJVEUvc2l0ZSIKICBmaQogICMgSWYgc3RpbGwgbm8gam95LCBtYWtlIGFu IGVkdWNhdGVkIGd1ZXNzLgogIGlmIHRlc3QgeCIkR1VJTEVfU0lURSIgPSB4L3NpdGUgOyB0aGVu CiAgICBHVUlMRV9TSVRFPScke2RhdGFkaXJ9L2d1aWxlL3NpdGUnCiAgZmkKICBBQ19NU0dfUkVT VUxUKCRHVUlMRV9TSVRFKQogIEFDX1NVQlNUKEdVSUxFX1NJVEUpCiBdKQoKIyBHVUlMRV9MSUJT SVRFX0RJUiAtLSBmaW5kIHBhdGggdG8gR3VpbGUgImxpYnJhcnkgc2l0ZSIgZGlyZWN0b3J5CiMK IyBVc2FnZTogR1VJTEVfTElCU0lURV9ESVIKIwojIExvb2sgZm9yIEd1aWxlJ3MgImxpYnJhcnkg c2l0ZSIgZGlyZWN0b3J5LCB1c3VhbGx5IHNvbWV0aGluZyBsaWtlCiMgUFJFRklYL2xpYi9ndWls ZS9zaXRlLCBhbmQgc2V0IHZhciBAdmFye0dVSUxFX0xJQlNJVEV9IHRvIHRoZSBwYXRoLgojIE5v dGUgdGhhdCBQUkVGSVggaXMgdGhhdCBvZiBHdWlsZSwgd2hpY2ggbWF5IG9yIG1heSBub3QgY29p bmNpZGUKIyB3aXRoIHRoZSBvbmUgc3BlY2lmaWVkIGJ5IEBjb2Rle2NvbmZpZ3VyZSAtLXByZWZp eH0uCiMgTm90ZSBhbHNvIHRoYXQgdGhlIHZhciBuYW1lIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBt YWNybyBuYW1lLgojCiMgTWFyayB0aGUgdmFyaWFibGUgZm9yIHN1YnN0aXR1dGlvbiwgYXMgYnkg QGNvZGV7QUNfU1VCU1R9LgojCkFDX0RFRlVOKFtHVUlMRV9MSUJTSVRFX0RJUl0sCiBbQUNfUkVR VUlSRShbR1VJTEVfUFJPR1NdKWRubAogIEFDX01TR19DSEVDS0lORyhmb3IgR3VpbGUgbGlicmFy eSBzaXRlIGRpcmVjdG9yeSkKICAjIFRyeSBidWlsdC1pbiByZXByZWZpeGluZy4KICBHVUlMRV9M SUJTSVRFPWBbJEdVSUxFX0NPTkZJR10gcmUtcHJlZml4LWluZm8gcGtnbGliZGlyIDI+L2Rldi9u dWxsYAogICMgSWYgbm8gam95LCBkbyBpdCAibWFudWFsbHkiLgogIGlmIHRlc3QgeCIkR1VJTEVf TElCU0lURSIgPSB4IDsgdGhlbgogICAgR1VJTEVfTElCU0lURT1gWyRHVUlMRV9DT05GSUddIGlu Zm8gZXhlY19wcmVmaXhgCiAgICBHVUlMRV9MSUJTSVRFPWBbJEdVSUxFX0NPTkZJR10gaW5mbyBw a2dsaWJkaXIgfCBzZWQgcywkR1VJTEVfTElCU0lURSwnJHtleGVjX3ByZWZpeH0nLGAKICBmaQog IEdVSUxFX0xJQlNJVEU9IiRHVUlMRV9MSUJTSVRFIi9zaXRlCiAgIyBJZiBzdGlsbCBubyBqb3ks IG1ha2UgYW4gZWR1Y2F0ZWQgZ3Vlc3MuCiAgaWYgdGVzdCB4IiRHVUlMRV9MSUJTSVRFIiA9IHgv c2l0ZSA7IHRoZW4KICAgIEdVSUxFX0xJQlNJVEU9JyR7bGliZGlyfS9ndWlsZS9zaXRlJwogIGZp CiAgQUNfTVNHX1JFU1VMVCgkR1VJTEVfTElCU0lURSkKICBBQ19TVUJTVChHVUlMRV9MSUJTSVRF KQogXSkKCiMge0dlbmVyYWwgRmVhdHVyZSBDaGVja3N9CgojIEdVSUxFX0NIRUNLIC0tIGV2YWx1 YXRlIEd1aWxlIFNjaGVtZSBjb2RlIGFuZCBjYXB0dXJlIHRoZSByZXR1cm4gdmFsdWUKIwojIFVz YWdlOiBHVUlMRV9DSEVDSyh2YXIsY2hlY2spCiMKIyBTZXQgQHZhcnt2YXJ9IHRvIHRoZSBudW1l cmljIHJldHVybiB2YWx1ZSBvZiBldmFsdWF0aW5nIEB2YXJ7Y2hlY2t9LgojIEB2YXJ7dmFyfSBp cyBhIHNoZWxsIHZhcmlhYmxlIG5hbWUgdG8gYmUgc2V0IHRvIHRoZSByZXR1cm4gdmFsdWUuCiMK IyBAdmFye2NoZWNrfSBpcyBvbmUgb3IgbW9yZSBHdWlsZSBTY2hlbWUgZXhwcmVzc2lvbiwgZXZh bHVhdGVkIHdpdGgKIyAiJEdVSUxFIC1jIiwgdGhlIGxhc3Qgb2Ygd2hpY2ggc2hvdWxkIHJldHVy biBlaXRoZXIgMCBvciBub24tI2YgdG8KIyBpbmRpY2F0ZSB0aGUgY2hlY2sgcGFzc2VkLiAgTm9u LTAgbnVtYmVyIG9yICNmIGluZGljYXRlcyBmYWlsdXJlLgojIFRoaXMgaXMgY29udmVudGlvbmFs bHkgYWNoaWV2ZWQgYnkgd3JhcHBpbmcgdGhlIGxhc3QgZXhwcmVzc2lvbiBpbgojIEBjb2Rle2V4 aXR9LiAgRm9yIGV4YW1wbGUsIEBjb2Rleyhmb28pIChiYXIpIChleGl0IChiYXopKX0uCiMKIyBB dm9pZCB1c2luZyB0aGUgY2hhcmFjdGVyICIjIiBzaW5jZSB0aGF0IGNvbmZ1c2VzIGF1dG9jb25m LgojCkFDX0RFRlVOKFtHVUlMRV9DSEVDS10sCiBbQUNfUkVRVUlSRShbR1VJTEVfUFJPR1NdKQog ICRHVUlMRSAtYyAiJDIiID4gL2Rldi9udWxsIDI+JjEKICAkMT0kPwogXSkKCiMgR1VJTEVfUFJP VklERURQIC0tIGNoZWNrIGlmIGEgZmVhdHVyZSBzeW1ib2wgaXMgcHJvdmlkZWQKIwojIFVzYWdl OiBHVUlMRV9QUk9WSURFRFAodmFyLGZlYXR1cmUpCiMKIyBTZXQgQHZhcnt2YXJ9IGJhc2VkIG9u IHdoZXRoZXIgb3Igbm90IEB2YXJ7ZmVhdHVyZX0gaXMgQGNvZGV7cHJvdmlkZWQ/fS4KIyBAdmFy e3Zhcn0gaXMgYSBzaGVsbCB2YXJpYWJsZSBuYW1lIHRvIGJlIHNldCB0byAieWVzIiBvciAibm8i LgojIEB2YXJ7ZmVhdHVyZX0gaXMgYSBzeW1ib2wsIGxpa2U6IEBjb2Rle3Bvc2l4fS4KIwpBQ19E RUZVTihbR1VJTEVfUFJPVklERURQXSwKICAgICAgICAgW0FDX01TR19DSEVDS0lORyhbaWYgZ3Vp bGUgcHJvdmlkZXMgZmVhdHVyZSBgJDInXSkKICAgICAgICAgIEdVSUxFX0NIRUNLKCQxLChleGl0 IChwcm92aWRlZD8gKHF1b3RlICQyKSkpKQogICAgICAgICAgaWYgdGVzdCAiJCQxIiA9ICIwIiA7 IHRoZW4gJDE9eWVzIDsgZWxzZSAkMT1ubyA7IGZpCiAgICAgICAgICBBQ19NU0dfUkVTVUxUKCQk MSkKICAgICAgICAgXSkKCiMge1NjaGVtZSBNb2R1bGUgQ2hlY2tzfQoKIyBHVUlMRV9NT0RVTEVf Q0hFQ0sgLS0gY2hlY2sgZmVhdHVyZSBvZiBhIEd1aWxlIFNjaGVtZSBtb2R1bGUKIwojIFVzYWdl OiBHVUlMRV9NT0RVTEVfQ0hFQ0sodmFyLG1vZHVsZSxmZWF0dXJldGVzdCxkZXNjcmlwdGlvbikK IwojIFNldCBAdmFye3Zhcn0gYmFzZWQgb24gd2hldGhlciBvciBub3QgQHZhcnttb2R1bGV9IHN1 cHBvcnRzIEB2YXJ7ZmVhdHVyZXRlc3R9LgojIEB2YXJ7dmFyfSBpcyBhIHNoZWxsIHZhcmlhYmxl IG5hbWUgdG8gYmUgc2V0IHRvICJ5ZXMiIG9yICJubyIuCiMgQHZhcnttb2R1bGV9IGlzIGEgbGlz dCBvZiBzeW1ib2xzLCBsaWtlOiBAY29kZXsoaWNlLTkgY29tbW9uLWxpc3QpfS4KIyBAdmFye2Zl YXR1cmV0ZXN0fSBpcyBhbiBleHByZXNzaW9uIGFjY2VwdGFibGUgdG8gR1VJTEVfQ0hFQ0ssIHEu di4KIyBAdmFye2Rlc2NyaXB0aW9ufSBpcyBhIHByZXNlbnQtdGVuc2UgdmVyYiBwaHJhc2UgKHBh c3NlZCB0byBBQ19NU0dfQ0hFQ0tJTkcpLgojCkFDX0RFRlVOKFtHVUlMRV9NT0RVTEVfQ0hFQ0td LAogICAgICAgICBbQUNfTVNHX0NIRUNLSU5HKFtpZiAkMiAkNF0pCgkgIEdVSUxFX0NIRUNLKCQx LFsodXNlLW1vZHVsZXMgJDIpIChleGl0ICgobGFtYmRhICgpICQzKSkpXSkKCSAgaWYgdGVzdCAi JCQxIiA9ICIwIiA7IHRoZW4gJDE9eWVzIDsgZWxzZSAkMT1ubyA7IGZpCiAgICAgICAgICBBQ19N U0dfUkVTVUxUKCQkMSkKICAgICAgICAgXSkKCiMgR1VJTEVfTU9EVUxFX0FWQUlMQUJMRSAtLSBj aGVjayBhdmFpbGFiaWxpdHkgb2YgYSBHdWlsZSBTY2hlbWUgbW9kdWxlCiMKIyBVc2FnZTogR1VJ TEVfTU9EVUxFX0FWQUlMQUJMRSh2YXIsbW9kdWxlKQojCiMgU2V0IEB2YXJ7dmFyfSBiYXNlZCBv biB3aGV0aGVyIG9yIG5vdCBAdmFye21vZHVsZX0gY2FuIGJlIGZvdW5kLgojIEB2YXJ7dmFyfSBp cyBhIHNoZWxsIHZhcmlhYmxlIG5hbWUgdG8gYmUgc2V0IHRvICJ5ZXMiIG9yICJubyIuCiMgQHZh cnttb2R1bGV9IGlzIGEgbGlzdCBvZiBzeW1ib2xzLCBsaWtlOiBAY29kZXsoaWNlLTkgY29tbW9u LWxpc3QpfS4KIwpBQ19ERUZVTihbR1VJTEVfTU9EVUxFX0FWQUlMQUJMRV0sCiAgICAgICAgIFtH VUlMRV9NT0RVTEVfQ0hFQ0soJDEsJDIsMCxpcyBhdmFpbGFibGUpCiAgICAgICAgIF0pCgojIEdV SUxFX01PRFVMRV9SRVFVSVJFRCAtLSBmYWlsIGlmIGEgR3VpbGUgU2NoZW1lIG1vZHVsZSBpcyB1 bmF2YWlsYWJsZQojCiMgVXNhZ2U6IEdVSUxFX01PRFVMRV9SRVFVSVJFRChzeW1saXN0KQojCiMg Q2hlY2sgdGhhdCB0aGUgbW9kdWxlIG5hbWVkIGJ5IEB2YXJ7c3ltbGlzdH0gaXMgYXZhaWxhYmxl LiAgSWYgbm90LCBmYWlsLgojIEB2YXJ7c3ltbGlzdH0gaXMgYSBsaXN0IG9mIHN5bWJvbHMsIFdJ VEhPVVQgc3Vycm91bmRpbmcgcGFyZW5zLAojIGxpa2U6IEBjb2Rle2ljZS05IGNvbW1vbi1saXN0 fS4KIwpBQ19ERUZVTihbR1VJTEVfTU9EVUxFX1JFUVVJUkVEXSwKICAgICAgICAgW0dVSUxFX01P RFVMRV9BVkFJTEFCTEUoYWNfZ3VpbGVfbW9kdWxlX3JlcXVpcmVkLCAoJDEpKQogICAgICAgICAg aWYgdGVzdCAiJGFjX2d1aWxlX21vZHVsZV9yZXF1aXJlZCIgPSAibm8iIDsgdGhlbgogICAgICAg ICAgICAgIEFDX01TR19FUlJPUihbcmVxdWlyZWQgZ3VpbGUgbW9kdWxlIG5vdCBmb3VuZDogKCQx KV0pCiAgICAgICAgICBmaQogICAgICAgICBdKQoKIyBHVUlMRV9NT0RVTEVfRVhQT1JUUyAtLSBj aGVjayBpZiBhIG1vZHVsZSBleHBvcnRzIGEgdmFyaWFibGUKIwojIFVzYWdlOiBHVUlMRV9NT0RV TEVfRVhQT1JUUyh2YXIsbW9kdWxlLG1vZHZhcikKIwojIFNldCBAdmFye3Zhcn0gYmFzZWQgb24g d2hldGhlciBvciBub3QgQHZhcnttb2R1bGV9IGV4cG9ydHMgQHZhcnttb2R2YXJ9LgojIEB2YXJ7 dmFyfSBpcyBhIHNoZWxsIHZhcmlhYmxlIHRvIGJlIHNldCB0byAieWVzIiBvciAibm8iLgojIEB2 YXJ7bW9kdWxlfSBpcyBhIGxpc3Qgb2Ygc3ltYm9scywgbGlrZTogQGNvZGV7KGljZS05IGNvbW1v bi1saXN0KX0uCiMgQHZhcnttb2R2YXJ9IGlzIHRoZSBHdWlsZSBTY2hlbWUgdmFyaWFibGUgdG8g Y2hlY2suCiMKQUNfREVGVU4oW0dVSUxFX01PRFVMRV9FWFBPUlRTXSwKIFtHVUlMRV9NT0RVTEVf Q0hFQ0soJDEsJDIsJDMsZXhwb3J0cyBgJDMnKQogXSkKCiMgR1VJTEVfTU9EVUxFX1JFUVVJUkVE X0VYUE9SVCAtLSBmYWlsIGlmIGEgbW9kdWxlIGRvZXNuJ3QgZXhwb3J0IGEgdmFyaWFibGUKIwoj IFVzYWdlOiBHVUlMRV9NT0RVTEVfUkVRVUlSRURfRVhQT1JUKG1vZHVsZSxtb2R2YXIpCiMKIyBD aGVjayBpZiBAdmFye21vZHVsZX0gZXhwb3J0cyBAdmFye21vZHZhcn0uICBJZiBub3QsIGZhaWwu CiMgQHZhcnttb2R1bGV9IGlzIGEgbGlzdCBvZiBzeW1ib2xzLCBsaWtlOiBAY29kZXsoaWNlLTkg Y29tbW9uLWxpc3QpfS4KIyBAdmFye21vZHZhcn0gaXMgdGhlIEd1aWxlIFNjaGVtZSB2YXJpYWJs ZSB0byBjaGVjay4KIwpBQ19ERUZVTihbR1VJTEVfTU9EVUxFX1JFUVVJUkVEX0VYUE9SVF0sCiBb R1VJTEVfTU9EVUxFX0VYUE9SVFMoZ3VpbGVfbW9kdWxlX3JlcXVpcmVkX2V4cG9ydCwkMSwkMikK ICBpZiB0ZXN0ICIkZ3VpbGVfbW9kdWxlX3JlcXVpcmVkX2V4cG9ydCIgPSAibm8iIDsgdGhlbgog ICAgICBBQ19NU0dfRVJST1IoW21vZHVsZSAkMSBkb2VzIG5vdCBleHBvcnQgJDI7IHJlcXVpcmVk XSkKICBmaQogXSkKCiMge01pc2NlbGxhbmVvdXN9CgojIEdVSUxFX0NIRUNLX0lDRTlfT1BUQVJH UyAtLSB1c2UgKGljZS05IG9wdGFyZ3MpIGZvciAoaWNlLTkgb3B0YXJncy1rdyk/CiMKIyBVc2Fn ZTogR1VJTEVfQ0hFQ0tfSUNFOV9PUFRBUkdTKHZhcikKIwojIENoZWNrIGlmIG1vZHVsZSBAY29k ZXsoaWNlLTkgb3B0YXJncy1rdyl9IGlzIGF2YWlsYWJsZS4gIElmIHNvLCBzZXQKIyBzaGVsbCB2 YXIgQHZhcnt2YXJ9IHRvICJubyIgKHNlZSB3aHkgYmVsb3cpLiAgT3RoZXJ3aXNlLCBjaGVjayBp ZgojIG1vZHVsZSBAY29kZXsoaWNlLTkgb3B0YXJncyl9IGFjdHMgbGlrZSBAY29kZXsoaWNlLTkg b3B0YXJncy1rdyl9LgojIElmIHNvLCBzZXQgQHZhcnt2YXJ9IHRvICJ5ZXMiLCBvdGhlcndpc2Ug c2V0IGl0IHRvICJubyIuCiMKIyBNYXJrIHRoZSB2YXJpYWJsZSBmb3Igc3Vic3RpdHV0aW9uLCBh cyBieSBAY29kZXtBQ19TVUJTVH0uCiMKIyBTb21lIHZlcnNpb25zIG9mIEd1aWxlIHByb3ZpZGUg YSBtb2R1bGUgQGNvZGV7KGljZS05IG9wdGFyZ3MpfSB0aGF0CiMgYWN0cyBsaWtlIEBjb2Rleyhp Y2UtOSBvcHRhcmdzLWt3KX0gKGFuZCBzdWJzZXF1ZW50bHkgb21pdCB0aGUgbGF0dGVyLAojIGlu c3RlYWQgb2YgcHJvdmlkaW5nIGJvdGgpLiAgQ29kZSB0aGF0IHVzZXMgQGNvZGV7KGljZS05IG9w dGFyZ3Mta3cpfQojIHNvbGVseSBjYW4gYmUgdGV4dHVhbGx5IGtsdWRnZWQgdG8gbG9hZCBAY29k ZXsoaWNlLTkgb3B0YXJncyl9IGluCiMgdGhlc2Ugc2l0dWF0aW9ucyBpZiBAdmFye3Zhcn0gaGFz IHZhbHVlICJ5ZXMiLiAgSGVyZSBpcyBhIE1ha2VmaWxlLmFtCiMgZnJhZ21lbnQgdGhhdCBkZW1v bnN0cmF0ZXMgdGhlIHRlY2huaXF1ZToKIwojIEBleGFtcGxlCiMgaW5zdGFsbC1kYXRhLWhvb2s6 CiMgICAgICAgICBpZiB0ZXN0ICIkKG5lZWRfb3B0YXJnc19rbHVkZ2UpIiA9IHllcyA7IHRoZW4g XAojICAgICAgICAgICAgc2VkIHMvb3B0YXJncy1rdy9vcHRhcmdzLyBmb28uc2NtID4gVE1QIDsg XAojICAgICAgICAgICAgbXYgVE1QIGZvby5zY20gOyBcCiMgICAgICAgICBmaQojIEBlbmQgZXhh bXBsZQojCiMgSW4gdGhpcyBleGFtcGxlLCBAdmFye3Zhcn0gaXMgQGNvZGV7bmVlZF9vcHRhcmdz X2tsdWRnZX0uICBJZiBpdCB0dXJucwojIG91dCBAY29kZXsoaWNlLTkgb3B0YXJncy1rdyl9IGlz IGF2YWlsYWJsZSwgQGNvZGV7bmVlZF9vcHRhcmdzX2tsdWRnZX0KIyB3b3VsZCBoYXZlIHZhbHVl ICJubyIsIGFuZCB0aGUga2x1ZGdlIHdvdWxkIG5laXRoZXIgYmUgcmVxdWlyZWQgbm9yCiMgYXBw bGllZC4KIwpBQ19ERUZVTihbR1VJTEVfQ0hFQ0tfSUNFOV9PUFRBUkdTXSxbCiAgR1VJTEVfTU9E VUxFX0FWQUlMQUJMRSgkMSwgKGljZS05IG9wdGFyZ3Mta3cpKQogIGlmIHRlc3QgIiQkMSIgPSB5 ZXMgOyB0aGVuCiAgICAkMT1ubwogIGVsc2UKICAgIEdVSUxFX01PRFVMRV9DSEVDSygkMSwgKGlj ZS05IG9wdGFyZ3MpLAogICAgICBbKD0gMiAoKGxhbWJkYSogKGEgIzpvcHRpb25hbCBiKSBiKSA0 IDIpKV0sCiAgICAgIFthY3RzIGxpa2UgKGljZS05IG9wdGFyZ3Mta3cpXSkKICBmaQogIEFDX1NV QlNUKCQxKQpdKQoKIyBHVUlMRV9NT0RVTEVfQ0FUQUxPR19QUkVQIC0tIG1hY2hpbmVyeSBmb3Ig cHJlLWluc3QgbWVyZ2VkIG1vZHVsZSBjYXRhbG9nCiMKIyBVc2FnZTogR1VJTEVfTU9EVUxFX0NB VEFMT0dfUFJFUChbZnJhZ25hbWVdKQojCiMgRGVmaW5lIHR3byBBQ19DT05GSUdfQ09NTUFORCBj b21tYW5kcyB0byBtYW5hZ2UgdGhlIGxvY2FsIG1vZHVsZSBjYXRhbG9nLgojCiMgQHRhYmxlIEBj b2RlCiMgQGl0ZW0gbW9kdWxlLWNhdGFsb2ctcHJlcAojIFRoaXMgY29tbWFuZCBydW5zIHRvd2Fy ZHMgdGhlIHRhaWwgZW5kIG9mIGEgQGNvZGV7Y29uZmlndXJlfSBpbnZvY2F0aW9uLgojIEl0IGRv ZXMgdGhlc2UgYWN0aW9uczoKIwojIEBpdGVtaXplCiMgQGl0ZW0gQ3JlYXRlIGEgZGVwZW5kZW5j aWVzIHN1YmRpcmVjdG9yeSBuYW1lZCBieSB0aGUKIyBzaGVsbCB2YXIgQGNvZGV7REVQRElSfSwg b3IgIi5kZXBzIiBpZiBub3QgdGhhdCB2YXIgaXMgbm90IGRlZmluZWQuCiMgVGhpcyBzdGVwIGlz IHNraXBwZWQgaWYgdGhlIGRpcmVjdG9yeSBhbHJlYWR5IGV4aXN0cy4KIwojIEBpdGVtIENyZWF0 ZSBhIGR1bW15IG1ha2VmaWxlIGZyYWdtZW50IGZpbGUgaW4gdGhlIGRlcGVuZGVuY2llcwojIGRp cmVjdG9yeSBuYW1lZCBAZmlsZXsuUG1vZHVsZS1jYXRhbG9nfS4KIyBUaGlzIHN0ZXAgaXMgc2tp cHBlZCBpZiB0aGUgZmlsZSBhbHJlYWR5IGV4aXN0cy4gIE9wdGlvbmFsCiMgYXJnIEZSQUdOQU1F IHNwZWNpZmllcyBhbm90aGVyIGZpbGVuYW1lIGZvciB0aGUgbWFrZWZpbGUgZnJhZ21lbnQuCiMK IyBAaXRlbSBBcHBlbmQgYW4gQGNvZGV7aW5jbHVkZX0gZGlyZWN0aXZlIHRvIEBmaWxley4vTWFr ZWZpbGV9LgojIFRoaXMgc3RlcCBpcyBza2lwcGVkIGlmIHRoZSBkaXJlY3RpdmUgaGFzIGFscmVh ZHkgYmVlbiBhcHBlbmRlZC4KIyBAZW5kIGl0ZW1pemUKIwojIEBpdGVtIG1vZHVsZS1jYXRhbG9n LWNsZWFuLWxvY2FsCiMgVGhpcyBjb21tYW5kIGlzIGludGVuZGVkIHRvIGJlIHJ1biBhcyBhbiBh Y3Rpb24gaW4gdGhlIE1ha2VmaWxlLmFtCiMgdGFyZ2V0IEBjb2Rle2NsZWFuLWxvY2FsfS4gIEl0 IHJlLWluaXRpYWxpemVzIHRoZSBkZXBlbmRlbmNpZXMgZmlsZQojIChpZSwgQHZhcntGUkFHTkFN RX0gb3IgQGZpbGV7LlBtb2R1bGUtY2F0YWxvZ30gaW4gdGhlIGRlcHMgZGlyKS4KIyBZb3Ugc3Rp bGwgbmVlZCB0byBhZGQgdGhlIG1vZHVsZSBjYXRhbG9nJ3MgbmFtZSB0byB0aGUgTWFrZWZpbGUu YW0KIyB2YXIgQGNvZGV7Q0xFQU5GSUxFU30uICBGb3IgZXhhbXBsZToKIwojIEBleGFtcGxlCiMg IyBmcmFnbWVudCBvZiB0b3AtbGV2ZWwgTWFrZWZpbGUuYW0KIyBDTEVBTkZJTEVTID0gLm1vZHVs ZS1jYXRhbG9nCiMgY2xlYW4tbG9jYWw6CiMgICAgICAgICAuL2NvbmZpZy5zdGF0dXMgbW9kdWxl LWNhdGFsb2ctY2xlYW4tbG9jYWwKIyBAZW5kIGV4YW1wbGUKIyBAZW5kIHRhYmxlCiMKQUNfREVG VU4oW0dVSUxFX01PRFVMRV9DQVRBTE9HX1BSRVBdLFsKICBBQ19DT05GSUdfQ09NTUFORFMoW21v ZHVsZS1jYXRhbG9nLXByZXBdLFsKICAgIHRlc3QgeCIkREVQRElSIiA9IHggJiYgREVQRElSPSIu ZGVwcyIKICAgIHRlc3QgLWQgIiRERVBESVIiIHx8IG1rZGlyICIkREVQRElSIgogICAgcHJlcmVx PSIkREVQRElSL200X2Nhc2UoWyQxXSxbXSxbLlBtb2R1bGUtY2F0YWxvZ10sWyQxXSkiCiAgICB0 ZXN0IC1mICIkcHJlcmVxIiB8fCBlY2hvICcjIGR1bW15JyA+ICIkcHJlcmVxIgogICAgZ3JlcCAt cSAiaW5jbHVkZSAkcHJlcmVxIiBNYWtlZmlsZSB8fCBlY2hvICJpbmNsdWRlICRwcmVyZXEiID4+ IE1ha2VmaWxlCiAgXSkKICBBQ19DT05GSUdfQ09NTUFORFMoW21vZHVsZS1jYXRhbG9nLWNsZWFu LWxvY2FsXSxbCiAgICBwcmVyZXE9IiRERVBESVIvbTRfY2FzZShbJDFdLFtdLFsuUG1vZHVsZS1j YXRhbG9nXSxbJDFdKSIKICAgIHRlc3QgLWYgIiRwcmVyZXEiICYmIGVjaG8gJyMgZHVtbXknID4g IiRwcmVyZXEiCiAgXSkKXSkKCiMgR1VJTEVfVE9PTFNfUFJPRyAtLSBmaW5kIGFic29sdXRlIGZp bGVuYW1lIG9mIGEgZ3VpbGUtdG9vbHMgcHJvZ3JhbQojCiMgVXNhZ2U6IEdVSUxFX1RPT0xTX1BS T0codmFyLHByb2dyYW0sW25vdGZvdW5kXSkKIwojIFNldCBzaGVsbCB2YXJpYWJsZSBAdmFye3Zh cn0gdG8gYmUgdGhlIGFic29sdXRlIGZpbGVuYW1lIG9mIHRoZQojIGd1aWxlLXRvb2xzIEB2YXJ7 cHJvZ3JhbX0gaWYgaXQgZXhpc3RzLCBvciB0byAiOiIgb3RoZXJ3aXNlLgojIE9wdGlvbmFsIHRo aXJkIGFyZyBAdmFye25vdGZvdW5kfSBpcyB0aGUgdmFsdWUgdG8gdXNlIGluc3RlYWQgb2YgIjoi LgojCiMgTWFyayB0aGUgdmFyaWFibGUgZm9yIHN1YnN0aXR1dGlvbiwgYXMgYnkgQGNvZGV7QUNf U1VCU1R9LgojCkFDX0RFRlVOKFtHVUlMRV9UT09MU19QUk9HXSxbCiAgQUNfUkVRVUlSRShbR1VJ TEVfUFJPR1NdKWRubAogIEFDX01TR19DSEVDS0lORyhbZm9yICJndWlsZS10b29scyAkMiJdKQog ICQxPW5vCiAgaWYgJEdVSUxFX1RPT0xTIC1wIFBST0dSQU0gPi9kZXYvbnVsbCAyPiYxIDsgdGhl bgogICAgJDE9YCRHVUlMRV9UT09MUyAtcCAkMmAKICBlbGlmICRHVUlMRV9UT09MUyB8IGdyZXAg LXEgJDIgOyB0aGVuCiAgICAkMT1gJEdVSUxFX1RPT0xTIC0taGVscCB8ICRTRUQgJy8uKmNyaXB0 cyBkaXI6IC8hZDtzLy8vJ2AvJDIKICBmaQogIEFDX01TR19SRVNVTFQoWyQkMV0pCiAgdGVzdCAi JCQxIiA9IG5vICYmICQxPW00X2Nhc2UoWyQzXSxbXSxbOl0sWyQzXSkKICBBQ19TVUJTVCgkMSkK XSkKCiMgR1VJTEVfQzJYX01FVEhPRCAtLSBjaG9vc2UgImd1aWxlLXRvb2xzIGMyeCIgb3IgImd1 aWxlLXNuYXJmIgojCiMgVXNhZ2U6IEdVSUxFX0MyWF9NRVRIT0QodmFyKQojCiMgU2V0IHNoZWxs IHZhcmlhYmxlIEB2YXJ7dmFyfSB0byBiZSBlaXRoZXIgdGhlCiMgYWJzb2x1dGUgZmlsZW5hbWUg b2YgdGhlICJndWlsZS10b29scyBjMngiIHByb2dyYW0sCiMgb3IgImd1aWxlLXNuYXJmIiwgcHJl ZmVycmluZyB0aGUgZm9ybWVyIGlmIGl0IGlzIGF2YWlsYWJsZS4KIwojIE1hcmsgdGhlIHZhcmlh YmxlIGZvciBzdWJzdGl0dXRpb24sIGFzIGJ5IEBjb2Rle0FDX1NVQlNUfS4KIwpBQ19ERUZVTihb R1VJTEVfQzJYX01FVEhPRF0sWwogIEdVSUxFX1RPT0xTX1BST0coWyQxXSxbYzJ4XSxbZ3VpbGUt c25hcmZdKQpdKQoKIyBHVUlMRV9NT0RTVVBfSCAtLSBkZWZpbmUgSEFWRV9HVUlMRV9NT0RTVVBf SCBpZiBpdCBpcyBpbmRlZWQgYXZhaWxhYmxlCiMKIyBVc2FnZTogR1VJTEVfTU9EU1VQX0gKIwoj IENoZWNrIGZvciBoZWFkZXIgPGd1aWxlL21vZHN1cC5oPiB1c2luZyBBQ19DSEVDS19IRUFERVJT LgojIElmIGZvdW5kLCBkZWZpbmUgdGhlIGNwcCBzeW1ib2wgSEFWRV9HVUlMRV9NT0RTVVBfSCBp biBjb25maWcuaC4KIwpBQ19ERUZVTihbR1VJTEVfTU9EU1VQX0hdLFsKICBBQ19DSEVDS19IRUFE RVJTKFtndWlsZS9tb2RzdXAuaF0pCl0pCgojIyBndWlsZS5tNCBlbmRzIGhlcmUK --=-=-=--