From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 2C23F48914 for ; Thu, 21 Dec 2023 12:06:24 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5055A68D114; Thu, 21 Dec 2023 14:06:22 +0200 (EET) Received: from 6.mo561.mail-out.ovh.net (6.mo561.mail-out.ovh.net [188.165.43.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 68DE668D0F4 for ; Thu, 21 Dec 2023 14:06:15 +0200 (EET) Received: from director3.ghost.mail-out.ovh.net (unknown [10.109.176.32]) by mo561.mail-out.ovh.net (Postfix) with ESMTP id 59C5A2CFE6 for ; Thu, 21 Dec 2023 12:06:14 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-ckf7q (unknown [10.109.148.227]) by director3.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 064291FEA4 for ; Thu, 21 Dec 2023 12:06:13 +0000 (UTC) Received: from courmont.net ([37.59.142.96]) by ghost-submission-6684bf9d7b-ckf7q with ESMTPSA id NNrGNjUqhGVRnAAAUvvQ7A (envelope-from ) for ; Thu, 21 Dec 2023 12:06:13 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-96R001d61e251c-fcc6-4276-ae19-cdfc8185e58b, E5683A6F49BF55E9BFED5F0E3FDD2DD047B4073C) smtp.auth=postmaster@courmont.net X-OVh-ClientIp: 176.93.137.134 Date: Thu, 21 Dec 2023 14:06:12 +0200 From: =?ISO-8859-1?Q?R=E9mi_Denis-Courmont?= To: FFmpeg development discussions and patches User-Agent: K-9 Mail for Android In-Reply-To: <20231219120200.24003-1-martin@martin.st> References: <20231219120200.24003-1-martin@martin.st> Message-ID: MIME-Version: 1.0 X-Ovh-Tracer-Id: 3041618601340508665 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: -100 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrvdduhedguddtucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhepfffhvffufggjfhfkgggtgfesthhqmhdttderjeenucfhrhhomheptformhhiucffvghnihhsqdevohhurhhmohhnthcuoehrvghmihesrhgvmhhlrggsrdhnvghtqeenucggtffrrghtthgvrhhnpeefvdelgeevhfelffelieefieeugeeffeelteehvedtvedvkefffefggfegtedvgeenucffohhmrghinheptghhvggtkhgrshhmrdhssgdpthhlshdrihgvnecukfhppeduvdejrddtrddtrddupddujeeirdelfedrudefjedrudefgedpfeejrdehledrudegvddrleeinecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeorhgvmhhisehrvghmlhgrsgdrnhgvtheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepfhhfmhhpvghgqdguvghvvghlsehffhhmphgvghdrohhrghdpoffvtefjohhsthepmhhoheeiuddpmhhouggvpehsmhhtphhouhht Subject: Re: [FFmpeg-devel] [PATCH] checkasm: Generalize crash handling X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: CgpMZSAxOSBkw6ljZW1icmUgMjAyMyAxNDowMjowMCBHTVQrMDI6MDAsICJNYXJ0aW4gU3RvcnNq w7YiIDxtYXJ0aW5AbWFydGluLnN0PiBhIMOpY3JpdMKgOgo+VGhpcyByZXBsYWNlcyB0aGUgcmlz Y3Ygc3BlY2lmaWMgaGFuZGxpbmcgZnJvbQo+NzIxMjQ2NmU3MzVhYTE4N2Q4MmY1MWRhZGJjZTk1 N2ZlM2RhNzdmMCAod2hpY2ggZXNzZW50aWFsbHkgaXMKPnJldmVydGVkLCB0b2dldGhlciB3aXRo IDI4NmQ2NzQyMjE4YmEwMjM1YzMyODc2YjUwYmY1OTNjYjE5ODYzNTMpCj53aXRoIGEgZGlmZmVy ZW50IGltcGxlbWVudGF0aW9uIG9mIHRoZSBzYW1lIChwbHVzIGEgYml0IG1vcmUpLCBiYXNlZAo+ b24gdGhlIGNvcnJlc3BvbmRpbmcgZmVhdHVyZSBpbiBkYXYxZCdzIGNoZWNrYXNtLCBzdXBwb3J0 aW5nIGJvdGggVW5peAo+YW5kIFdpbmRvd3MuCj4KPlNlZSBpbiBwYXJ0aWN1bGFyIGRhdjFkIGNv bW1pdHMKPjBiNmVlMzBlYWIyNDAwZTRmODViNzM1YWQyOWE2OGE4NDJjMzRlMjEgYW5kCj4wNDIx Zjc4N2VhNTkyZmQyY2M3NGM4ODdmMjBiOGRjMzEzOTM3ODhiLCBhdXRob3JlZCBieQo+SGVucmlr IEdyYW1uZXIuCj4KPlRoZSBvdmVyYWxsIGFwcHJvYWNoIGlzIHRoZSBzYW1lOyBzZXQgdXAgYSBz aWduYWwgaGFuZGxlciwKPnN0b3JlIHRoZSBzdGF0ZSB3aXRoIHNldGptcC9zaWdzZXRqbXAsIGp1 bXAgb3V0IG9mIHRoZSBjcmFzaGluZwo+ZnVuY3Rpb24gd2l0aCBsb25nam1wL3NpZ2xvbmdqbXAu Cj4KPlRoZSBtYWluIGRpZmZlcmVuY2UgaXMgaW4gd2hhdCBoYXBwZW5zIHdoZW4gdGhlIHNpZ25h bCBoYW5kbGVyCj5pcyBpbnZva2VkLiBJbiB0aGUgcHJldmlvdXMgaW1wbGVtZW50YXRpb24sIGl0 IHdvdWxkIHJlc3VtZSBmcm9tCj5yaWdodCBiZWZvcmUgY2FsbGluZyB0aGUgY3Jhc2hpbmcgZnVu Y3Rpb24sIGFuZCB0aGVuIHNraXAgdGhhdCBjYWxsCj5iYXNlZCBvbiB0aGUgc2V0am1wIHJldHVy biB2YWx1ZS4KPgo+SW4gdGhlIGltcG9ydGVkIGltcGxlbWVudGF0aW9uIGZyb20gZGF2MWQsIHdl IHJldHVybiB0byByaWdodCBiZWZvcmUKPnRoZSBjaGVja19mdW5jKCkgY2FsbCwgd2hpY2ggd2ls bCBza2lwIHRlc3RpbmcgdGhlIGN1cnJlbnQgZnVuY3Rpb24KPihhcyB0aGUgcG9pbnRlciBpcyB0 aGUgc2FtZSBhcyBpdCB3YXMgYmVmb3JlKS4KPgo+T3RoZXIgZGlmZmVyZW5jZXMgYXJlOgo+LSBT dXBwb3J0IGZvciBvdGhlciBzaWduYWwgaGFuZGxpbmcgbWVjaGFuaXNtcyAoV2luZG93cwo+ICBB ZGRWZWN0b3JlZEV4Y2VwdGlvbkhhbmRsZXIpCj4tIFVzaW5nIFJ0bENhcHR1cmVDb250ZXh0L1J0 bFJlc3RvcmVDb250ZXh0IGluc3RlYWQgb2Ygc2V0am1wL2xvbmdqbXAKPiAgb24gV2luZG93cyB3 aXRoIFNFSCAod2hpY2ggYWRkcyB0aGUgZGVzaWduIGxpbWl0YXRpb24gdGhhdCBpdCBkb2Vzbid0 Cj4gIHJldHVybiBhIHZhbHVlIGxpa2Ugc2V0am1wIGRvZXMpCj4tIE9ubHkgY2F0Y2hpbmcgc2ln bmFscyBvbmNlIHBlciBmdW5jdGlvbiAtIGlmIG1vcmUgdGhhbiBvbmUKPiAgc2lnbmFsIGlzIGRl bGl2ZXJlZCBiZWZvcmUgc2lnbmFsIGhhbmRsaW5nIGlzIHJlZW5hYmxlZCwgYW55Cj4gIHNpZ25h bCBpcyBoYW5kbGVkIGFzIGl0IHdvdWxkIHdpdGhvdXQgb3VyIGhhbmRsZXIKPi0gTm90IHVzaW5n IGFuIGFyY2ggc3BlY2lmaWMgc2lnbmFsIGhhbmRsZXIgd3JpdHRlbiBpbiBhc3NlbWJseQo+LS0t Cj4gdGVzdHMvY2hlY2thc20vY2hlY2thc20uYyAgICAgICB8IDEwMCArKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLQo+IHRlc3RzL2NoZWNrYXNtL2NoZWNrYXNtLmggICAgICAgfCAgNzkg KysrKysrKysrKysrKysrKysrLS0tLS0tLQo+IHRlc3RzL2NoZWNrYXNtL3Jpc2N2L2NoZWNrYXNt LlMgfCAgMTIgLS0tLQo+IDMgZmlsZXMgY2hhbmdlZCwgMTQwIGluc2VydGlvbnMoKyksIDUxIGRl bGV0aW9ucygtKQo+Cj5kaWZmIC0tZ2l0IGEvdGVzdHMvY2hlY2thc20vY2hlY2thc20uYyBiL3Rl c3RzL2NoZWNrYXNtL2NoZWNrYXNtLmMKPmluZGV4IDYzMThkOTI5NmIuLjY2ODAzNGM2N2YgMTAw NjQ0Cj4tLS0gYS90ZXN0cy9jaGVja2FzbS9jaGVja2FzbS5jCj4rKysgYi90ZXN0cy9jaGVja2Fz bS9jaGVja2FzbS5jCj5AQCAtMjMsOCArMjMsMTAgQEAKPiAjaW5jbHVkZSAiY29uZmlnLmgiCj4g I2luY2x1ZGUgImNvbmZpZ19jb21wb25lbnRzLmgiCj4gCj4tI2lmbmRlZiBfR05VX1NPVVJDRQo+ LSMgZGVmaW5lIF9HTlVfU09VUkNFIC8vIGZvciBzeXNjYWxsIChwZXJmb3JtYW5jZSBtb25pdG9y aW5nIEFQSSksIHN0cnNpZ25hbCgpCj4rI2lmIENPTkZJR19MSU5VWF9QRVJGCj4rIyBpZm5kZWYg X0dOVV9TT1VSQ0UKPisjICBkZWZpbmUgX0dOVV9TT1VSQ0UgLy8gZm9yIHN5c2NhbGwgKHBlcmZv cm1hbmNlIG1vbml0b3JpbmcgQVBJKQo+KyMgZW5kaWYKPiAjZW5kaWYKPiAKPiAjaW5jbHVkZSA8 c2lnbmFsLmg+Cj5AQCAtMzI2LDYgKzMyOCw3IEBAIHN0YXRpYyBzdHJ1Y3Qgewo+ICAgICBjb25z dCBjaGFyICpjcHVfZmxhZ19uYW1lOwo+ICAgICBjb25zdCBjaGFyICp0ZXN0X25hbWU7Cj4gICAg IGludCB2ZXJib3NlOwo+KyAgICBpbnQgY2F0Y2hfc2lnbmFsczsKPiB9IHN0YXRlOwo+IAo+IC8q IFBSTkcgc3RhdGUgKi8KPkBAIC02MjcsNiArNjMwLDY0IEBAIHN0YXRpYyBDaGVja2FzbUZ1bmMg KmdldF9mdW5jKENoZWNrYXNtRnVuYyAqKnJvb3QsIGNvbnN0IGNoYXIgKm5hbWUpCj4gICAgIHJl dHVybiBmOwo+IH0KPiAKPitjaGVja2FzbV9jb250ZXh0IGNoZWNrYXNtX2NvbnRleHRfYnVmOwo+ Kwo+Ky8qIENyYXNoIGhhbmRsaW5nOiBhdHRlbXB0IHRvIGNhdGNoIGNyYXNoZXMgYW5kIGhhbmRs ZSB0aGVtCj4rICogZ3JhY2VmdWxseSBpbnN0ZWFkIG9mIGp1c3QgYWJvcnRpbmcgYWJydXB0bHku ICovCj4rI2lmZGVmIF9XSU4zMgo+KyNpZiBXSU5BUElfRkFNSUxZX1BBUlRJVElPTihXSU5BUElf UEFSVElUSU9OX0RFU0tUT1ApCj4rc3RhdGljIExPTkcgTlRBUEkgc2lnbmFsX2hhbmRsZXIoRVhD RVBUSU9OX1BPSU5URVJTICpjb25zdCBlKSB7Cj4rICAgIGNvbnN0IGNoYXIgKmVycjsKPisKPisg ICAgaWYgKCFzdGF0ZS5jYXRjaF9zaWduYWxzKQo+KyAgICAgICAgcmV0dXJuIEVYQ0VQVElPTl9D T05USU5VRV9TRUFSQ0g7Cj4rCj4rICAgIHN3aXRjaCAoZS0+RXhjZXB0aW9uUmVjb3JkLT5FeGNl cHRpb25Db2RlKSB7Cj4rICAgIGNhc2UgRVhDRVBUSU9OX0ZMVF9ESVZJREVfQllfWkVSTzoKPisg ICAgY2FzZSBFWENFUFRJT05fSU5UX0RJVklERV9CWV9aRVJPOgo+KyAgICAgICAgZXJyID0gImZh dGFsIGFyaXRobWV0aWMgZXJyb3IiOwo+KyAgICAgICAgYnJlYWs7Cj4rICAgIGNhc2UgRVhDRVBU SU9OX0lMTEVHQUxfSU5TVFJVQ1RJT046Cj4rICAgIGNhc2UgRVhDRVBUSU9OX1BSSVZfSU5TVFJV Q1RJT046Cj4rICAgICAgICBlcnIgPSAiaWxsZWdhbCBpbnN0cnVjdGlvbiI7Cj4rICAgICAgICBi cmVhazsKPisgICAgY2FzZSBFWENFUFRJT05fQUNDRVNTX1ZJT0xBVElPTjoKPisgICAgY2FzZSBF WENFUFRJT05fQVJSQVlfQk9VTkRTX0VYQ0VFREVEOgo+KyAgICBjYXNlIEVYQ0VQVElPTl9EQVRB VFlQRV9NSVNBTElHTk1FTlQ6Cj4rICAgIGNhc2UgRVhDRVBUSU9OX1NUQUNLX09WRVJGTE9XOgo+ KyAgICAgICAgZXJyID0gInNlZ21lbnRhdGlvbiBmYXVsdCI7Cj4rICAgICAgICBicmVhazsKPisg ICAgY2FzZSBFWENFUFRJT05fSU5fUEFHRV9FUlJPUjoKPisgICAgICAgIGVyciA9ICJidXMgZXJy b3IiOwo+KyAgICAgICAgYnJlYWs7Cj4rICAgIGRlZmF1bHQ6Cj4rICAgICAgICByZXR1cm4gRVhD RVBUSU9OX0NPTlRJTlVFX1NFQVJDSDsKPisgICAgfQo+KyAgICBzdGF0ZS5jYXRjaF9zaWduYWxz ID0gMDsKPisgICAgY2hlY2thc21fZmFpbF9mdW5jKCIlcyIsIGVycik7Cj4rICAgIGNoZWNrYXNt X2xvYWRfY29udGV4dCgpOwo+KyAgICByZXR1cm4gRVhDRVBUSU9OX0NPTlRJTlVFX0VYRUNVVElP TjsgLyogbmV2ZXIgcmVhY2hlZCwgYnV0IHNodXRzIHVwIGdjYyAqLwo+K30KPisjZW5kaWYKPisj ZWxzZQo+K3N0YXRpYyB2b2lkIHNpZ25hbF9oYW5kbGVyKGNvbnN0IGludCBzKSB7Cj4rICAgIGlm IChzdGF0ZS5jYXRjaF9zaWduYWxzKSB7Cj4rICAgICAgICBzdGF0ZS5jYXRjaF9zaWduYWxzID0g MDsKPisgICAgICAgIGNoZWNrYXNtX2ZhaWxfZnVuYygiJXMiLAo+KyAgICAgICAgICAgICAgICAg ICAgICAgICAgIHMgPT0gU0lHRlBFID8gImZhdGFsIGFyaXRobWV0aWMgZXJyb3IiIDoKPisgICAg ICAgICAgICAgICAgICAgICAgICAgICBzID09IFNJR0lMTCA/ICJpbGxlZ2FsIGluc3RydWN0aW9u IiA6Cj4rICAgICAgICAgICAgICAgICAgICAgICAgICAgcyA9PSBTSUdCVVMgPyAiYnVzIGVycm9y IiA6Cj4rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VnbWVudGF0 aW9uIGZhdWx0Iik7Cj4rICAgICAgICBjaGVja2FzbV9sb2FkX2NvbnRleHQoKTsKClVzZSBvZiBm b3JtYXQgc3RyaW5nIGlzIHByb2JhYmx5IG5vdCBhc3luYy1zaWduYWwtc2FmZS4gSSB3b3VsZCBh bHNvIGJlIHN1cnByaXNlZCBpZiB0aGUgbG9hZF9jb250ZXh0KCkgZnVuY3Rpb24gd2FzIHNhZmUg aW4gc2lnbmFsIGNvbnRleHQuIFRoYXQncyB3aHkgdGhlIGN1cnJlbnQgY29kZSBkb2VzIHByZXR0 eSBtdWNoIG5vdGhpbmcgb3RoZXIgdGhhbiBhIGxvbmcganVtcC4KCj4rICAgIH0gZWxzZSB7Cj4r ICAgICAgICAvKiBmYWxsIGJhY2sgdG8gdGhlIGRlZmF1bHQgc2lnbmFsIGhhbmRsZXIgKi8KPisg ICAgICAgIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc2lnYWN0aW9uIGRlZmF1bHRfc2EgPSB7IC5zYV9o YW5kbGVyID0gU0lHX0RGTCB9Owo+KyAgICAgICAgc2lnYWN0aW9uKHMsICZkZWZhdWx0X3NhLCBO VUxMKTsKPisgICAgICAgIHJhaXNlKHMpOwo+KyAgICB9Cj4rfQo+KyNlbmRpZgo+Kwo+IC8qIFBl cmZvcm0gdGVzdHMgYW5kIGJlbmNobWFya3MgZm9yIHRoZSBzcGVjaWZpZWQgY3B1IGZsYWcgaWYg c3VwcG9ydGVkIGJ5IHRoZSBob3N0ICovCj4gc3RhdGljIHZvaWQgY2hlY2tfY3B1X2ZsYWcoY29u c3QgY2hhciAqbmFtZSwgaW50IGZsYWcpCj4gewo+QEAgLTczNywxOCArNzk4LDI0IEBAIGludCBt YWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCj4gICAgIHVuc2lnbmVkIGludCBzZWVkID0gYXZf Z2V0X3JhbmRvbV9zZWVkKCk7Cj4gICAgIGludCBpLCByZXQgPSAwOwo+IAo+KyNpZmRlZiBfV0lO MzIKPisjaWYgV0lOQVBJX0ZBTUlMWV9QQVJUSVRJT04oV0lOQVBJX1BBUlRJVElPTl9ERVNLVE9Q KQo+KyAgICBBZGRWZWN0b3JlZEV4Y2VwdGlvbkhhbmRsZXIoMCwgc2lnbmFsX2hhbmRsZXIpOwo+ KyNlbmRpZgo+KyNlbHNlCj4rICAgIGNvbnN0IHN0cnVjdCBzaWdhY3Rpb24gc2EgPSB7Cj4rICAg ICAgICAuc2FfaGFuZGxlciA9IHNpZ25hbF9oYW5kbGVyLAo+KyAgICAgICAgLnNhX2ZsYWdzID0g U0FfTk9ERUZFUiwKPisgICAgfTsKPisgICAgc2lnYWN0aW9uKFNJR0JVUywgICZzYSwgTlVMTCk7 Cj4rICAgIHNpZ2FjdGlvbihTSUdGUEUsICAmc2EsIE5VTEwpOwo+KyAgICBzaWdhY3Rpb24oU0lH SUxMLCAgJnNhLCBOVUxMKTsKPisgICAgc2lnYWN0aW9uKFNJR1NFR1YsICZzYSwgTlVMTCk7Cj4r I2VuZGlmCj4gI2lmIEFSQ0hfQVJNICYmIEhBVkVfQVJNVjVURV9FWFRFUk5BTAo+ICAgICBpZiAo aGF2ZV92ZnAoYXZfZ2V0X2NwdV9mbGFncygpKSB8fCBoYXZlX25lb24oYXZfZ2V0X2NwdV9mbGFn cygpKSkKPiAgICAgICAgIGNoZWNrYXNtX2NoZWNrZWRfY2FsbCA9IGNoZWNrYXNtX2NoZWNrZWRf Y2FsbF92ZnA7Cj4gI2VuZGlmCj4tI2lmIEFSQ0hfUklTQ1YgJiYgSEFWRV9SVgo+LSAgICBzdHJ1 Y3Qgc2lnYWN0aW9uIGFjdCA9IHsKPi0gICAgICAgIC5zYV9oYW5kbGVyID0gY2hlY2thc21faGFu ZGxlX3NpZ25hbCwKPi0gICAgICAgIC5zYV9mbGFncyA9IDAsCj4tICAgIH07Cj4tCj4tICAgIHNp Z2FjdGlvbihTSUdJTEwsICZhY3QsIE5VTEwpOwo+LSNlbmRpZgo+IAo+ICAgICBpZiAoIXRlc3Rz WzBdLmZ1bmMgfHwgIWNwdXNbMF0uZmxhZykgewo+ICAgICAgICAgZnByaW50ZihzdGRlcnIsICJj aGVja2FzbTogbm8gdGVzdHMgdG8gcGVyZm9ybVxuIik7Cj5AQCAtODc2LDE1ICs5NDMsNiBAQCB2 b2lkIGNoZWNrYXNtX2ZhaWxfZnVuYyhjb25zdCBjaGFyICptc2csIC4uLikKPiAgICAgfQo+IH0K PiAKPi12b2lkIGNoZWNrYXNtX2ZhaWxfc2lnbmFsKGludCBzaWdudW0pCj4tewo+LSNpZmRlZiBf X0dMSUJDX18KPi0gICAgY2hlY2thc21fZmFpbF9mdW5jKCJmYXRhbCBzaWduYWwgJWQ6ICVzIiwg c2lnbnVtLCBzdHJzaWduYWwoc2lnbnVtKSk7Cj4tI2Vsc2UKPi0gICAgY2hlY2thc21fZmFpbF9m dW5jKCJmYXRhbCBzaWduYWwgJWQiLCBzaWdudW0pOwo+LSNlbmRpZgo+LX0KPi0KPiAvKiBHZXQg dGhlIGJlbmNobWFyayBjb250ZXh0IG9mIHRoZSBjdXJyZW50IGZ1bmN0aW9uICovCj4gQ2hlY2th c21QZXJmICpjaGVja2FzbV9nZXRfcGVyZl9jb250ZXh0KHZvaWQpCj4gewo+QEAgLTkzMiw2ICs5 OTAsMTAgQEAgdm9pZCBjaGVja2FzbV9yZXBvcnQoY29uc3QgY2hhciAqbmFtZSwgLi4uKQo+ICAg ICB9Cj4gfQo+IAo+K3ZvaWQgY2hlY2thc21fc2V0X3NpZ25hbF9oYW5kbGVyX3N0YXRlKGNvbnN0 IGludCBlbmFibGVkKSB7Cj4rICAgIHN0YXRlLmNhdGNoX3NpZ25hbHMgPSBlbmFibGVkOwo+K30K PisKPiAjZGVmaW5lIERFRl9DSEVDS0FTTV9DSEVDS19GVU5DKHR5cGUsIGZtdCkgXAo+IGludCBj aGVja2FzbV9jaGVja18jI3R5cGUoY29uc3QgY2hhciAqY29uc3QgZmlsZSwgY29uc3QgaW50IGxp bmUsIFwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHR5cGUgKmJ1ZjEsIHB0cmRp ZmZfdCBzdHJpZGUxLCBcCj5kaWZmIC0tZ2l0IGEvdGVzdHMvY2hlY2thc20vY2hlY2thc20uaCBi L3Rlc3RzL2NoZWNrYXNtL2NoZWNrYXNtLmgKPmluZGV4IGUzYzE5NTEwZmEuLjNkMWQxNmQ1YmIg MTAwNjQ0Cj4tLS0gYS90ZXN0cy9jaGVja2FzbS9jaGVja2FzbS5oCj4rKysgYi90ZXN0cy9jaGVj a2FzbS9jaGVja2FzbS5oCj5AQCAtMjMsNyArMjMsNiBAQAo+ICNpZm5kZWYgVEVTVFNfQ0hFQ0tB U01fQ0hFQ0tBU01fSAo+ICNkZWZpbmUgVEVTVFNfQ0hFQ0tBU01fQ0hFQ0tBU01fSAo+IAo+LSNp bmNsdWRlIDxzZXRqbXAuaD4KPiAjaW5jbHVkZSA8c3RkaW50Lmg+Cj4gI2luY2x1ZGUgImNvbmZp Zy5oIgo+IAo+QEAgLTQzLDYgKzQyLDI3IEBACj4gI2luY2x1ZGUgImxpYmF2dXRpbC9sZmcuaCIK PiAjaW5jbHVkZSAibGliYXZ1dGlsL3RpbWVyLmgiCj4gCj4rI2lmICFBUkNIX1g4Nl8zMiAmJiBk ZWZpbmVkKF9XSU4zMikKPisvKiBzZXRqbXAvbG9uZ2ptcCBvbiBXaW5kb3dzIG9uIGFyY2hpdGVj dHVyZXMgdXNpbmcgU0VIIChhbGwgZXhjZXB0IHg4Nl8zMikKPisgKiB3aWxsIHRyeSB0byB1c2Ug U0VIIHRvIHVud2luZCB0aGUgc3RhY2ssIHdoaWNoIGRvZXNuJ3Qgd29yayBmb3IgYXNzZW1ibHkK PisgKiBmdW5jdGlvbnMgd2l0aG91dCB1bndpbmQgaW5mb3JtYXRpb24uICovCj4rI2luY2x1ZGUg PHdpbmRvd3MuaD4KPisjaWYgV0lOQVBJX0ZBTUlMWV9QQVJUSVRJT04oV0lOQVBJX1BBUlRJVElP Tl9ERVNLVE9QKQo+KyNkZWZpbmUgY2hlY2thc21fY29udGV4dCBDT05URVhUCj4rI2RlZmluZSBj aGVja2FzbV9zYXZlX2NvbnRleHQoKSBSdGxDYXB0dXJlQ29udGV4dCgmY2hlY2thc21fY29udGV4 dF9idWYpCj4rI2RlZmluZSBjaGVja2FzbV9sb2FkX2NvbnRleHQoKSBSdGxSZXN0b3JlQ29udGV4 dCgmY2hlY2thc21fY29udGV4dF9idWYsIE5VTEwpCj4rI2Vsc2UKPisjZGVmaW5lIGNoZWNrYXNt X2NvbnRleHQgdm9pZCoKPisjZGVmaW5lIGNoZWNrYXNtX3NhdmVfY29udGV4dCgpIGRvIHt9IHdo aWxlICgwKQo+KyNkZWZpbmUgY2hlY2thc21fbG9hZF9jb250ZXh0KCkgZG8ge30gd2hpbGUgKDAp Cj4rI2VuZGlmCj4rI2Vsc2UKPisjaW5jbHVkZSA8c2V0am1wLmg+Cj4rI2RlZmluZSBjaGVja2Fz bV9jb250ZXh0IGptcF9idWYKPisjZGVmaW5lIGNoZWNrYXNtX3NhdmVfY29udGV4dCgpIHNldGpt cChjaGVja2FzbV9jb250ZXh0X2J1ZikKPisjZGVmaW5lIGNoZWNrYXNtX2xvYWRfY29udGV4dCgp IGxvbmdqbXAoY2hlY2thc21fY29udGV4dF9idWYsIDEpCj4rI2VuZGlmCj4rCj4gdm9pZCBjaGVj a2FzbV9jaGVja19hYWNlbmNkc3Aodm9pZCk7Cj4gdm9pZCBjaGVja2FzbV9jaGVja19hYWNwc2Rz cCh2b2lkKTsKPiB2b2lkIGNoZWNrYXNtX2NoZWNrX2FjM2RzcCh2b2lkKTsKPkBAIC0xMDUsOSAr MTI1LDEwIEBAIHN0cnVjdCBDaGVja2FzbVBlcmY7Cj4gdm9pZCAqY2hlY2thc21fY2hlY2tfZnVu Yyh2b2lkICpmdW5jLCBjb25zdCBjaGFyICpuYW1lLCAuLi4pIGF2X3ByaW50Zl9mb3JtYXQoMiwg Myk7Cj4gaW50IGNoZWNrYXNtX2JlbmNoX2Z1bmModm9pZCk7Cj4gdm9pZCBjaGVja2FzbV9mYWls X2Z1bmMoY29uc3QgY2hhciAqbXNnLCAuLi4pIGF2X3ByaW50Zl9mb3JtYXQoMSwgMik7Cj4tdm9p ZCBjaGVja2FzbV9mYWlsX3NpZ25hbChpbnQgc2lnbnVtKTsKPiBzdHJ1Y3QgQ2hlY2thc21QZXJm ICpjaGVja2FzbV9nZXRfcGVyZl9jb250ZXh0KHZvaWQpOwo+IHZvaWQgY2hlY2thc21fcmVwb3J0 KGNvbnN0IGNoYXIgKm5hbWUsIC4uLikgYXZfcHJpbnRmX2Zvcm1hdCgxLCAyKTsKPit2b2lkIGNo ZWNrYXNtX3NldF9zaWduYWxfaGFuZGxlcl9zdGF0ZShpbnQgZW5hYmxlZCk7Cj4rZXh0ZXJuIGNo ZWNrYXNtX2NvbnRleHQgY2hlY2thc21fY29udGV4dF9idWY7Cj4gCj4gLyogZmxvYXQgY29tcGFy ZSB1dGlsaXRpZXMgKi8KPiBpbnQgZmxvYXRfbmVhcl91bHAoZmxvYXQgYSwgZmxvYXQgYiwgdW5z aWduZWQgbWF4X3VscCk7Cj5AQCAtMTMxLDcgKzE1Miw3IEBAIHN0YXRpYyBhdl91bnVzZWQgdm9p ZCAqZnVuY19yZWYsICpmdW5jX25ldzsKPiAjZGVmaW5lIEJFTkNIX1JVTlMgMTAwMCAvKiBUcmFk ZS1vZmYgYmV0d2VlbiBhY2N1cmFjeSBhbmQgc3BlZWQgKi8KPiAKPiAvKiBEZWNpZGUgd2hldGhl ciBvciBub3QgdGhlIHNwZWNpZmllZCBmdW5jdGlvbiBuZWVkcyB0byBiZSB0ZXN0ZWQgKi8KPi0j ZGVmaW5lIGNoZWNrX2Z1bmMoZnVuYywgLi4uKSAoZnVuY19yZWYgPSBjaGVja2FzbV9jaGVja19m dW5jKChmdW5jX25ldyA9IGZ1bmMpLCBfX1ZBX0FSR1NfXykpCj4rI2RlZmluZSBjaGVja19mdW5j KGZ1bmMsIC4uLikgKGNoZWNrYXNtX3NhdmVfY29udGV4dCgpLCBmdW5jX3JlZiA9IGNoZWNrYXNt X2NoZWNrX2Z1bmMoKGZ1bmNfbmV3ID0gZnVuYyksIF9fVkFfQVJHU19fKSkKPiAKPiAvKiBEZWNs YXJlIHRoZSBmdW5jdGlvbiBwcm90b3R5cGUuIFRoZSBmaXJzdCBhcmd1bWVudCBpcyB0aGUgcmV0 dXJuIHZhbHVlLCB0aGUgcmVtYWluaW5nCj4gICogYXJndW1lbnRzIGFyZSB0aGUgZnVuY3Rpb24g cGFyYW1ldGVycy4gTmFtaW5nIHBhcmFtZXRlcnMgaXMgb3B0aW9uYWwuICovCj5AQCAtMTQ2LDcg KzE2NywxMCBAQCBzdGF0aWMgYXZfdW51c2VkIHZvaWQgKmZ1bmNfcmVmLCAqZnVuY19uZXc7Cj4g I2RlZmluZSByZXBvcnQgY2hlY2thc21fcmVwb3J0Cj4gCj4gLyogQ2FsbCB0aGUgcmVmZXJlbmNl IGZ1bmN0aW9uICovCj4tI2RlZmluZSBjYWxsX3JlZiguLi4pICgoZnVuY190eXBlICopZnVuY19y ZWYpKF9fVkFfQVJHU19fKQo+KyNkZWZpbmUgY2FsbF9yZWYoLi4uKVwKPisgICAgKGNoZWNrYXNt X3NldF9zaWduYWxfaGFuZGxlcl9zdGF0ZSgxKSxcCj4rICAgICAoKGZ1bmNfdHlwZSAqKWZ1bmNf cmVmKShfX1ZBX0FSR1NfXykpO1wKPisgICAgY2hlY2thc21fc2V0X3NpZ25hbF9oYW5kbGVyX3N0 YXRlKDApCj4gCj4gI2lmIEFSQ0hfWDg2ICYmIEhBVkVfWDg2QVNNCj4gLyogVmVyaWZpZXMgdGhh dCBjbG9iYmVyZWQgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycyBhcmUgcHJvcGVybHkgc2F2ZWQgYW5k IHJlc3RvcmVkCj5AQCAtMTc5LDE2ICsyMDMsMjIgQEAgdm9pZCBjaGVja2FzbV9zdGFja19jbG9i YmVyKHVpbnQ2NF90IGNsb2JiZXIsIC4uLik7Cj4gICAgICAgICAoKGNwdV9mbGFncykgJiBhdl9n ZXRfY3B1X2ZsYWdzKCkpID8gKHZvaWQgKiljaGVja2FzbV9jaGVja2VkX2NhbGxfZW1tcyA6IFwK PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodm9pZCAqKWNo ZWNrYXNtX2NoZWNrZWRfY2FsbDsKPiAjZGVmaW5lIENMT0IgKFVJTlQ2NF9DKDB4ZGVhZGJlZWZk ZWFkYmVlZikpCj4tI2RlZmluZSBjYWxsX25ldyguLi4pIChjaGVja2FzbV9zdGFja19jbG9iYmVy KENMT0IsQ0xPQixDTE9CLENMT0IsQ0xPQixDTE9CLENMT0IsQ0xPQixDTE9CLENMT0IsQ0xPQixc Cj4rI2RlZmluZSBjYWxsX25ldyguLi4pIChjaGVja2FzbV9zZXRfc2lnbmFsX2hhbmRsZXJfc3Rh dGUoMSksXAo+KyAgICAgICAgICAgICAgICAgICAgICAgY2hlY2thc21fc3RhY2tfY2xvYmJlcihD TE9CLENMT0IsQ0xPQixDTE9CLENMT0IsQ0xPQixDTE9CLENMT0IsQ0xPQixDTE9CLENMT0IsXAo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTE9CLENMT0Is Q0xPQixDTE9CLENMT0IsQ0xPQixDTE9CLENMT0IsQ0xPQixDTE9CKSxcCj4tICAgICAgICAgICAg ICAgICAgICAgIGNoZWNrZWRfY2FsbChmdW5jX25ldywgMCwgMCwgMCwgMCwgMCwgX19WQV9BUkdT X18pKQo+KyAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZF9jYWxsKGZ1bmNfbmV3LCAwLCAw LCAwLCAwLCAwLCBfX1ZBX0FSR1NfXykpO1wKPisgICAgICAgICAgICAgICAgICAgICAgY2hlY2th c21fc2V0X3NpZ25hbF9oYW5kbGVyX3N0YXRlKDApCj4gI2VsaWYgQVJDSF9YODZfMzIKPiAjZGVm aW5lIGRlY2xhcmVfbmV3KHJldCwgLi4uKSByZXQgKCpjaGVja2VkX2NhbGwpKHZvaWQgKiwgX19W QV9BUkdTX18pID0gKHZvaWQgKiljaGVja2FzbV9jaGVja2VkX2NhbGw7Cj4gI2RlZmluZSBkZWNs YXJlX25ld19mbG9hdChyZXQsIC4uLikgcmV0ICgqY2hlY2tlZF9jYWxsKSh2b2lkICosIF9fVkFf QVJHU19fKSA9ICh2b2lkICopY2hlY2thc21fY2hlY2tlZF9jYWxsX2Zsb2F0Owo+ICNkZWZpbmUg ZGVjbGFyZV9uZXdfZW1tcyhjcHVfZmxhZ3MsIHJldCwgLi4uKSByZXQgKCpjaGVja2VkX2NhbGwp KHZvaWQgKiwgX19WQV9BUkdTX18pID0gXAo+ICAgICAgICAgKChjcHVfZmxhZ3MpICYgYXZfZ2V0 X2NwdV9mbGFncygpKSA/ICh2b2lkICopY2hlY2thc21fY2hlY2tlZF9jYWxsX2VtbXMgOiAgICAg ICAgXAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lk ICopY2hlY2thc21fY2hlY2tlZF9jYWxsOwo+LSNkZWZpbmUgY2FsbF9uZXcoLi4uKSBjaGVja2Vk X2NhbGwoZnVuY19uZXcsIF9fVkFfQVJHU19fKQo+KyNkZWZpbmUgY2FsbF9uZXcoLi4uKVwKPisg ICAgKGNoZWNrYXNtX3NldF9zaWduYWxfaGFuZGxlcl9zdGF0ZSgxKSxcCj4rICAgICBjaGVja2Vk X2NhbGwoZnVuY19uZXcsIF9fVkFfQVJHU19fLCAxNSwgMTQsIDEzLCAxMixcCj4rICAgICAgICAg ICAgICAgICAgMTEsIDEwLCA5LCA4LCA3LCA2LCA1LCA0LCAzLCAyLCAxKSk7XAo+KyAgICBjaGVj a2FzbV9zZXRfc2lnbmFsX2hhbmRsZXJfc3RhdGUoMCkKPiAjZW5kaWYKPiAjZWxpZiBBUkNIX0FS TSAmJiBIQVZFX0FSTVY1VEVfRVhURVJOQUwKPiAvKiBVc2UgYSBkdW1teSBhcmd1bWVudCwgdG8g b2Zmc2V0IHRoZSByZWFsIHBhcmFtZXRlcnMgYnkgMiwgbm90IG9ubHkgMS4KPkBAIC0yMDAsNyAr MjMwLDEwIEBAIGV4dGVybiB2b2lkICgqY2hlY2thc21fY2hlY2tlZF9jYWxsKSh2b2lkICpmdW5j LCBpbnQgZHVtbXksIC4uLik7Cj4gI2RlZmluZSBkZWNsYXJlX25ldyhyZXQsIC4uLikgcmV0ICgq Y2hlY2tlZF9jYWxsKSh2b2lkICosIGludCBkdW1teSwgX19WQV9BUkdTX18sIFwKPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCwgaW50LCBpbnQs IGludCwgaW50LCBpbnQsIGludCwgaW50LCBcCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnQsIGludCwgaW50LCBpbnQsIGludCwgaW50LCBpbnQp ID0gKHZvaWQgKiljaGVja2FzbV9jaGVja2VkX2NhbGw7Cj4tI2RlZmluZSBjYWxsX25ldyguLi4p IGNoZWNrZWRfY2FsbChmdW5jX25ldywgMCwgX19WQV9BUkdTX18sIDExLCAxMCwgOSwgOCwgNywg NiwgNSwgNCwgMywgMiwgMSwgMCwgMCwgMCwgMCkKPisjZGVmaW5lIGNhbGxfbmV3KC4uLikgXAo+ KyAgICAoY2hlY2thc21fc2V0X3NpZ25hbF9oYW5kbGVyX3N0YXRlKDEpLFwKPisgICAgIGNoZWNr ZWRfY2FsbChmdW5jX25ldywgMCwgX19WQV9BUkdTX18sIDExLCAxMCwgOSwgOCwgNywgNiwgNSwg NCwgMywgMiwgMSwgMCwgMCwgMCwgMCkpO1wKPisgICAgY2hlY2thc21fc2V0X3NpZ25hbF9oYW5k bGVyX3N0YXRlKDApCj4gI2VsaWYgQVJDSF9BQVJDSDY0ICYmICFkZWZpbmVkKF9fQVBQTEVfXykK PiB2b2lkIGNoZWNrYXNtX3N0YWNrX2Nsb2JiZXIodWludDY0X3QgY2xvYmJlciwgLi4uKTsKPiB2 b2lkIGNoZWNrYXNtX2NoZWNrZWRfY2FsbCh2b2lkICpmdW5jLCAuLi4pOwo+QEAgLTIwOSwzNSAr MjQyLDM5IEBAIHZvaWQgY2hlY2thc21fY2hlY2tlZF9jYWxsKHZvaWQgKmZ1bmMsIC4uLik7Cj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQsIGlu dCwgaW50LCBpbnQsIGludCwgaW50LCBpbnQpXAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgID0gKHZvaWQgKiljaGVja2FzbV9jaGVja2VkX2NhbGw7Cj4gI2RlZmluZSBDTE9CIChVSU5U NjRfQygweGRlYWRiZWVmZGVhZGJlZWYpKQo+LSNkZWZpbmUgY2FsbF9uZXcoLi4uKSAoY2hlY2th c21fc3RhY2tfY2xvYmJlcihDTE9CLENMT0IsQ0xPQixDTE9CLENMT0IsQ0xPQixDTE9CLENMT0Is Q0xPQixDTE9CLENMT0IsQ0xPQixcCj4rI2RlZmluZSBjYWxsX25ldyguLi4pIChjaGVja2FzbV9z ZXRfc2lnbmFsX2hhbmRsZXJfc3RhdGUoMSksXAo+KyAgICAgICAgICAgICAgICAgICAgICAgY2hl Y2thc21fc3RhY2tfY2xvYmJlcihDTE9CLENMT0IsQ0xPQixDTE9CLENMT0IsQ0xPQixDTE9CLENM T0IsQ0xPQixDTE9CLENMT0IsQ0xPQixcCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIENMT0IsQ0xPQixDTE9CLENMT0IsQ0xPQixDTE9CLENMT0IsQ0xPQixD TE9CLENMT0IsQ0xPQiksXAo+ICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkX2NhbGwoZnVu Y19uZXcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIF9fVkFfQVJHU19fLFwKPi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDcsIDYsIDUsIDQsIDMsIDIsIDEsIDAsIDAsIDAsIDAsIDAs IDAsIDAsIDApKQo+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNywgNiwgNSwg NCwgMywgMiwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCkpO1wKPisgICAgICAgICAgICAgICAg ICAgICBjaGVja2FzbV9zZXRfc2lnbmFsX2hhbmRsZXJfc3RhdGUoMCkKPiAjZWxpZiBBUkNIX1JJ U0NWCj4tdm9pZCBjaGVja2FzbV9zZXRfZnVuY3Rpb24odm9pZCAqLCBzaWdqbXBfYnVmKTsKPit2 b2lkIGNoZWNrYXNtX3NldF9mdW5jdGlvbih2b2lkICopOwo+IHZvaWQgKmNoZWNrYXNtX2dldF93 cmFwcGVyKHZvaWQpOwo+LXZvaWQgY2hlY2thc21faGFuZGxlX3NpZ25hbChpbnQgc2lnbnVtKTsK PiAKPiAjaWYgSEFWRV9SViAmJiAoX19yaXNjdl94bGVuID09IDY0KSAmJiBkZWZpbmVkIChfX3Jp c2N2X2QpCj4gI2RlZmluZSBkZWNsYXJlX25ldyhyZXQsIC4uLikgXAo+LSAgICBpbnQgY2hlY2tl ZF9jYWxsX3NpZ251bSA9IDA7IFwKPi0gICAgc2lnam1wX2J1ZiBjaGVja2VkX2NhbGxfamI7IFwK PiAgICAgcmV0ICgqY2hlY2tlZF9jYWxsKShfX1ZBX0FSR1NfXykgPSBjaGVja2FzbV9nZXRfd3Jh cHBlcigpOwo+ICNkZWZpbmUgY2FsbF9uZXcoLi4uKSBcCj4tICAgIChjaGVja2FzbV9zZXRfZnVu Y3Rpb24oZnVuY19uZXcsIGNoZWNrZWRfY2FsbF9qYiksIFwKPi0gICAgIChjaGVja2VkX2NhbGxf c2lnbnVtID0gc2lnc2V0am1wKGNoZWNrZWRfY2FsbF9qYiwgMSkpID09IDAgXAo+LSAgICAgICAg PyBjaGVja2VkX2NhbGwoX19WQV9BUkdTX18pIFwKPi0gICAgICAgIDogKGNoZWNrYXNtX2ZhaWxf c2lnbmFsKGNoZWNrZWRfY2FsbF9zaWdudW0pLCAwKSkKPisgICAgKGNoZWNrYXNtX3NldF9zaWdu YWxfaGFuZGxlcl9zdGF0ZSgxKSxcCj4rICAgICBjaGVja2FzbV9zZXRfZnVuY3Rpb24oZnVuY19u ZXcpLCBjaGVja2VkX2NhbGwoX19WQV9BUkdTX18pKTtcCj4rICAgIGNoZWNrYXNtX3NldF9zaWdu YWxfaGFuZGxlcl9zdGF0ZSgwKQo+ICNlbHNlCj4gI2RlZmluZSBkZWNsYXJlX25ldyhyZXQsIC4u LikKPi0jZGVmaW5lIGNhbGxfbmV3KC4uLikgKChmdW5jX3R5cGUgKilmdW5jX25ldykoX19WQV9B UkdTX18pCj4rI2RlZmluZSBjYWxsX25ldyguLi4pXAo+KyAgICAoY2hlY2thc21fc2V0X3NpZ25h bF9oYW5kbGVyX3N0YXRlKDEpLFwKPisgICAgICgoZnVuY190eXBlICopZnVuY19uZXcpKF9fVkFf QVJHU19fKSk7XAo+KyAgICBjaGVja2FzbV9zZXRfc2lnbmFsX2hhbmRsZXJfc3RhdGUoMCkKPiAj ZW5kaWYKPiAjZWxzZQo+ICNkZWZpbmUgZGVjbGFyZV9uZXcocmV0LCAuLi4pCj4gI2RlZmluZSBk ZWNsYXJlX25ld19mbG9hdChyZXQsIC4uLikKPiAjZGVmaW5lIGRlY2xhcmVfbmV3X2VtbXMoY3B1 X2ZsYWdzLCByZXQsIC4uLikKPiAvKiBDYWxsIHRoZSBmdW5jdGlvbiAqLwo+LSNkZWZpbmUgY2Fs bF9uZXcoLi4uKSAoKGZ1bmNfdHlwZSAqKWZ1bmNfbmV3KShfX1ZBX0FSR1NfXykKPisjZGVmaW5l IGNhbGxfbmV3KC4uLilcCj4rICAgIChjaGVja2FzbV9zZXRfc2lnbmFsX2hhbmRsZXJfc3RhdGUo MSksXAo+KyAgICAgKChmdW5jX3R5cGUgKilmdW5jX25ldykoX19WQV9BUkdTX18pKTtcCj4rICAg IGNoZWNrYXNtX3NldF9zaWduYWxfaGFuZGxlcl9zdGF0ZSgwKQo+ICNlbmRpZgo+IAo+ICNpZm5k ZWYgZGVjbGFyZV9uZXdfZW1tcwo+QEAgLTI4NCw2ICszMjEsNyBAQCB0eXBlZGVmIHN0cnVjdCBD aGVja2FzbVBlcmYgewo+ICAgICAgICAgICAgIHVpbnQ2NF90IHRzdW0gPSAwO1wKPiAgICAgICAg ICAgICBpbnQgdGksIHRjb3VudCA9IDA7XAo+ICAgICAgICAgICAgIHVpbnQ2NF90IHQgPSAwOyBc Cj4rICAgICAgICAgICAgY2hlY2thc21fc2V0X3NpZ25hbF9oYW5kbGVyX3N0YXRlKDEpO1wKPiAg ICAgICAgICAgICBmb3IgKHRpID0gMDsgdGkgPCBCRU5DSF9SVU5TOyB0aSsrKSB7XAo+ICAgICAg ICAgICAgICAgICBQRVJGX1NUQVJUKHQpO1wKPiAgICAgICAgICAgICAgICAgdGZ1bmMoX19WQV9B UkdTX18pO1wKPkBAIC0yOTksNiArMzM3LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgQ2hlY2thc21QZXJm IHsKPiAgICAgICAgICAgICBlbW1zX2MoKTtcCj4gICAgICAgICAgICAgcGVyZi0+Y3ljbGVzICs9 IHQ7XAo+ICAgICAgICAgICAgIHBlcmYtPml0ZXJhdGlvbnMrKztcCj4rICAgICAgICAgICAgY2hl Y2thc21fc2V0X3NpZ25hbF9oYW5kbGVyX3N0YXRlKDApO1wKPiAgICAgICAgIH1cCj4gICAgIH0g d2hpbGUgKDApCj4gI2Vsc2UKPmRpZmYgLS1naXQgYS90ZXN0cy9jaGVja2FzbS9yaXNjdi9jaGVj a2FzbS5TIGIvdGVzdHMvY2hlY2thc20vcmlzY3YvY2hlY2thc20uUwo+aW5kZXggOTcxZDg4MTE1 Ny4uNzNjYTg1ZjM0NCAxMDA2NDQKPi0tLSBhL3Rlc3RzL2NoZWNrYXNtL3Jpc2N2L2NoZWNrYXNt LlMKPisrKyBiL3Rlc3RzL2NoZWNrYXNtL3Jpc2N2L2NoZWNrYXNtLlMKPkBAIC00MSw3ICs0MSw2 IEBAIGVuZGNvbnN0Cj4gCj4gY2hlY2tlZF9mdW5jOgo+ICAgICAgICAgLnF1YWQgICAwCj4tICAg ICAgICAucXVhZCAgIDAKPiAKPiBzYXZlZF9yZWdzOgo+ICAgICAgICAgLyogU3BhY2UgdG8gc3Bp bGwgUkEsIFNQLCBHUCwgVFAsIFMwLVMxMSBhbmQgRlMwLUZTMTEgKi8KPkBAIC01Myw3ICs1Miw2 IEBAIGZ1bmMgY2hlY2thc21fc2V0X2Z1bmN0aW9uCj4gICAgICAgICBsYS50bHMuaWUgdDAsIGNo ZWNrZWRfZnVuYwo+ICAgICAgICAgYWRkICAgICB0MCwgdHAsIHQwCj4gICAgICAgICBzZCAgICAg IGEwLCAodDApCj4tICAgICAgICBzZCAgICAgIGExLCA4KHQwKQo+ICAgICAgICAgcmV0Cj4gZW5k ZnVuYwo+IAo+QEAgLTE3NywxNCArMTc1LDQgQEAgZnVuYyBjaGVja2FzbV9nZXRfd3JhcHBlciwg dgo+ICAgICAgICAgY2FsbCAgICBjaGVja2FzbV9mYWlsX2Z1bmMKPiAgICAgICAgIGogICAgICAg NGIKPiBlbmRmdW5jCj4tCj4tZnVuYyBjaGVja2FzbV9oYW5kbGVfc2lnbmFsCj4tICAgICAgICBt diAgICAgIGExLCBhMAo+LSAgICAgICAgbGEudGxzLmllIGEwLCBjaGVja2VkX2Z1bmMKPi0gICAg ICAgIGFkZCAgICAgYTAsIHRwLCBhMAo+LSAgICAgICAgbGQgICAgICBhMCwgOChhMCkKPi0gICAg ICAgIGJlcXogICAgYTAsIDhmCj4tICAgICAgICB0YWlsICAgIHNpZ2xvbmdqbXAKPi04OiAgICAg IHRhaWwgICAgYWJvcnQgLyogTm8ganVtcCBidWZmZXIgdG8gZ28gdG8gKi8KPi1lbmRmdW5jCj4g I2VuZGlmCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZm bXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9m Zm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwg dmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9y ZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K