From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=ALL_TRUSTED,DKIM_ADSP_NXDOMAIN, NO_DNS_FOR_FROM autolearn=no autolearn_force=no version=3.4.4 Received: from inbox.vuxu.org (inbox.vuxu.org [IPv6:::1]) by inbox.vuxu.org (Postfix) with ESMTP id 444EA271EE for ; Sun, 13 Oct 2024 13:03:10 +0200 (CEST) Content-Type: multipart/mixed; boundary="===============3287854807903699461==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_Exit_with_a_non-zero_exit_status_if_a_given_mail_does_not_exist?= To: ml@inbox.vuxu.org From: nmeum Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 13 Oct 2024 13:03:10 +0200 List-Id: Message-Id: <20241013110310.444EA271EE@inbox.vuxu.org> GitHub notification mails are now in MIME to allow UTF8. --===============3287854807903699461== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgbm1ldW0gYWdhaW5zdCBtYXN0ZXIg b24gdGhlIG1ibGF6ZSByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vbm1ldW0vbWJsYXpl IG1ibGF6ZS1lcnJvci1oYW5kbGluZwpodHRwczovL2dpdGh1Yi5jb20vbGVhaG5ldWtpcmNoZW4v bWJsYXplL3B1bGwvMjY1CgpFeGl0IHdpdGggYSBub24temVybyBleGl0IHN0YXR1cyBpZiBhIGdp dmVuIG1haWwgZG9lcyBub3QgZXhpc3QKU2FkbHksIHRoZSBkaWZmIGlzIHF1aXRlIGxhcmdlIGFz IHdlIHdpbGwgaGF2ZSB0byBjaGFuZ2UgdGhlIEFQSSBvZiBgYmxhemU4MjJfbG9vcGAgdG8gZGlm ZmVyZW50aWF0ZSB0aGUgbnVtYmVyIG9mIHByb2Nlc3NlZCBtZXNzYWdlcyBhbmQgYSBzdGF0dXMg Y29kZSBpbmRpY2F0aW5nIGEgbWlzc2luZyBtYWlsLiBOb3RlIHRoYXQgY3VycmVudGx5IGV4ZWN1 dGlvbiBpcyBub3QgYWJvcnRlZCB1cG9uIGVuY291bnRlcmluZyB0aGUgZmlyc3Qgbm9uLWV4aXN0 ZW50IG1haWw7IGhlbmNlLCB3ZSBjYW4ndCBkbyBib3RoIHZpYSB0aGUgcmV0dXJuIHZhbHVlLg0K DQpTdXJwcmlzaW5nbHksIHZlcnkgZmV3IHV0aWxpdGllcyBhY3R1YWxseSB1c2UgdGhlIG51bWJl ciBvZiBwcm9jZXNzZWQgbWVzc2FnZXMgYXMgcmV0dXJuZWQgYnkgYGJsYXplODIyX2xvb3BgLiBU aGVyZWZvcmUsIHdlIGNvdWxkIHJlZHVjZSB0aGUgZGlmZiBxdWl0ZSBhIGJpdCBieSBkaWZmZXJl bnRpYXRpbmcgdGhlIHR3byB1c2UgY2FzZXMgdGhyb3VnaCBzZXBhcmF0ZSBmdW5jdGlvbnMgKGUu Zy4gYGJsYXplODIyX2xvb3BgIGFuZCBgYmxhemU4MjJfbG9vcF9udW1gKSwgd2hpY2ggd291bGQg YWxsb3cgdGhlIEFQSSBvZiBibGF6ZTgyMl9sb29wIHRvIHJlbWFpbiBsYXJnZWx5IHVuY2hhbmdl ZC4NCg0KVGhlIG5ldyBgYmxhemU4MjJfbG9vcGAgQVBJIHdvdWxkIGFsc28gYWxsb3cgdXMgdG8g aW1wcm92ZSBlcnJvciBoYW5kbGluZyBmb3IgYGJsYXplODIyX3NlcV9uZXh0YCBidXQgSSBoYXZl bid0IGRvbmUgdGhpcyBzbyBmYXLigKYNCg0KVGhlcmUgYXJlIGFsc28gc29tZSB0ZXN0cywgYnV0 IHRoZXNlIHNob3VsZCBiZSBleHBhbmRlZC4NCg0KRml4ZXMgIzI2NAoKQSBwYXRjaCBmaWxlIGZy b20gaHR0cHM6Ly9naXRodWIuY29tL2xlYWhuZXVraXJjaGVuL21ibGF6ZS9wdWxsLzI2NS5wYXRj aCBpcyBhdHRhY2hlZA== --===============3287854807903699461== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-mblaze-error-handling-265.patch" RnJvbSA1MzExNTJkMWY3Mjk1NzY4OTIyMTQwYWE0YWQ2MjBkYmQ2NjRjY2I5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Uz1DMz1CNnJlbj0yMFRlbXBlbD89IDxzb2Vy ZW4rZ2l0QHNvZXJlbi10ZW1wZWwubmV0PgpEYXRlOiBTdW4sIDEzIE9jdCAyMDI0IDE3OjMwOjEw ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxLzNdIG1waWNrL21zY2FuOiBjb3VudCBzZWVuIG1haWxz IGluIHRoZSBjYWxsYmFjayBmdW5jdGlvbgoKLS0tCiBtcGljay5jIHwgMTAgKysrKysrLS0tLQog bXNjYW4uYyB8ICA5ICsrKysrLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCsp LCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL21waWNrLmMgYi9tcGljay5jCmluZGV4IDY2 MWU0NzIuLjg4NjQwOTQgMTAwNjQ0Ci0tLSBhL21waWNrLmMKKysrIGIvbXBpY2suYwpAQCAtMTkw LDYgKzE5MCw3IEBAIHN0YXRpYyBpbnQgbmVlZF90aHI7CiAKIHN0YXRpYyBsb25nIGtlcHQ7CiBz dGF0aWMgbG9uZyBudW07CitzdGF0aWMgbG9uZyBzZWVuOwogCiBzdGF0aWMgc3RydWN0IGV4cHIg KmV4cHI7CiBzdGF0aWMgbG9uZyBjdXJfaWR4OwpAQCAtMTM2Myw2ICsxMzY0LDcgQEAgY29sbGVj dChjaGFyICpmaWxlKQogCXN0cnVjdCBtbGlzdCAqbWw7CiAJY2hhciAqZjsKIAorCXNlZW4rKzsK IAlmID0geHN0cmR1cChmaWxlKTsKIAltID0geGNhbGxvYygxLCBzaXplb2YgKm0pOwogCW0gPSBt YWlsZmlsZShtLCBmKTsKQEAgLTE0MDksNiArMTQxMSw3IEBAIHZvaWQKIG9uZWxpbmUoY2hhciAq ZmlsZSkKIHsKIAlzdHJ1Y3QgbWFpbGluZm8gbSA9IHsgMCB9OworCXNlZW4rKzsKIAltLmluZGV4 ID0gbnVtKys7CiAJKHZvaWQpIG1haWxmaWxlKCZtLCBmaWxlKTsKIAlpZiAoZXhwciAmJiAhZXZh bChleHByLCAmbSkpCkBAIC0xNDI5LDcgKzE0MzIsNiBAQCBvbmVsaW5lKGNoYXIgKmZpbGUpCiBp bnQKIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIHsKLQlsb25nIGk7CiAJaW50IGM7CiAJ aW50IHZmbGFnOwogCkBAIC0xNDY2LDkgKzE0NjgsOSBAQCBtYWluKGludCBhcmdjLCBjaGFyICph cmd2W10pCiAKIAl2b2lkICgqY2IpKGNoYXIgKikgPSBuZWVkX3RociA/IGNvbGxlY3QgOiBvbmVs aW5lOwogCWlmIChhcmdjID09IG9wdGluZCAmJiBpc2F0dHkoMCkpCi0JCWkgPSBibGF6ZTgyMl9s b29wMSgiOiIsIGNiKTsKKwkJYmxhemU4MjJfbG9vcDEoIjoiLCBjYik7CiAJZWxzZQotCQlpID0g YmxhemU4MjJfbG9vcChhcmdjLW9wdGluZCwgYXJnditvcHRpbmQsIGNiKTsKKwkJYmxhemU4MjJf bG9vcChhcmdjLW9wdGluZCwgYXJnditvcHRpbmQsIGNiKTsKIAogCS8qIHByaW50IGFuZCBmcmVl IGxhc3QgdGhyZWFkICovCiAJaWYgKFRmbGFnICYmIHRocikKQEAgLTE0NzcsNyArMTQ3OSw3IEBA IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAlmcmVlZXhwcihleHByKTsKIAogCWlmICh2 ZmxhZykKLQkJZnByaW50ZihzdGRlcnIsICIlbGQgbWFpbHMgdGVzdGVkLCAlbGQgcGlja2VkLlxu IiwgaSwga2VwdCk7CisJCWZwcmludGYoc3RkZXJyLCAiJWxkIG1haWxzIHRlc3RlZCwgJWxkIHBp Y2tlZC5cbiIsIHNlZW4sIGtlcHQpOwogCiAJZm9yICg7IGZpbGVzOyBmaWxlcyA9IGZpbGVxKSB7 CiAJCWZpbGVxID0gZmlsZXMtPm5leHQ7CmRpZmYgLS1naXQgYS9tc2Nhbi5jIGIvbXNjYW4uYwpp bmRleCBiYjZjZDllLi4zZjViYzcxIDEwMDY0NAotLS0gYS9tc2Nhbi5jCisrKyBiL21zY2FuLmMK QEAgLTMwLDYgKzMwLDcgQEAKIHN0YXRpYyBpbnQgY29sczsKIHN0YXRpYyB3Y2hhcl90IHJlcGxh Y2VtZW50ID0gTCc/JzsKIHN0YXRpYyBjaGFyICpjdXI7CitzdGF0aWMgbG9uZyBzZWVuOwogCiBz dGF0aWMgY2hhciAqYWxpYXNlc1szMl07CiBzdGF0aWMgaW50IGFsaWFzX2lkeDsKQEAgLTMwNiw2 ICszMDcsNyBAQCBwcmludF9odW1hbihpbnRtYXhfdCBpLCBpbnQgdykKIHZvaWQKIG9uZWxpbmUo Y2hhciAqZmlsZSkKIHsKKwlzZWVuKys7CiAJaWYgKCFpbml0KSB7CiAJCS8vIGRlbGF5IGxvYWRp bmcgb2YgdGhlIHNlcSB1bnRpbCB3ZSBuZWVkIHRvIHNjYW4gdGhlIGZpcnN0CiAJCS8vIGZpbGUs IGluIGNhc2Ugc29tZW9uZSBpbiB0aGUgcGlwZSB1cGRhdGVkIHRoZSBtYXAgYmVmb3JlCkBAIC02 MjIsMTcgKzYyNCwxNiBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAJCQkJZmZsYWcg PSB2OwogCX0KIAotCWxvbmcgaTsKIAlpZiAoYXJnYyA9PSBvcHRpbmQgJiYgaXNhdHR5KDApKQot CQlpID0gYmxhemU4MjJfbG9vcDEoIjoiLCBvbmVsaW5lKTsKKwkJYmxhemU4MjJfbG9vcDEoIjoi LCBvbmVsaW5lKTsKIAllbHNlCi0JCWkgPSBibGF6ZTgyMl9sb29wKGFyZ2Mtb3B0aW5kLCBhcmd2 K29wdGluZCwgb25lbGluZSk7CisJCWJsYXplODIyX2xvb3AoYXJnYy1vcHRpbmQsIGFyZ3Yrb3B0 aW5kLCBvbmVsaW5lKTsKIAogCWlmIChwYWdlcl9waWQgPiAwKQogCQlwaXBlY2xvc2UocGFnZXJf cGlkKTsKIAogCWlmICh2ZmxhZykKLQkJZnByaW50ZihzdGRlcnIsICIlbGQgbWFpbHMgc2Nhbm5l ZFxuIiwgaSk7CisJCWZwcmludGYoc3RkZXJyLCAiJWxkIG1haWxzIHNjYW5uZWRcbiIsIHNlZW4p OwogCiAJcmV0dXJuIDA7CiB9CgpGcm9tIGRjNTYzNmM3ZmY0YTc4ZjVkNWM5MzU5YjYyMzIyN2Vk ODM1MmI3ZjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT9TPUMzPUI2 cmVuPTIwVGVtcGVsPz0gPHNvZXJlbitnaXRAc29lcmVuLXRlbXBlbC5uZXQ+CkRhdGU6IFN1biwg MTMgT2N0IDIwMjQgMTQ6MzE6MzEgKzAyMDAKU3ViamVjdDogW1BBVENIIDIvM10gYmxhemU4MjI6 IFVzZSByZXR1cm4gdmFsdWUgb2YgbG9vcCBmdW5jdGlvbnMgZm9yIGVycm9yCiBoYW5kbGluZwoK Q2FsbGVycyB3aGljaCBuZWVkIHRoZSBudW1iZXIgb2YgbWVzc2FnZXMgcHJvY2Vzc2VkIG5lZWQg dG8gY291bnQKaW4gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIG5vdywgc2VlIHRoZSBwcmV2aW91cyBj b21taXQuCi0tLQogYmxhemU4MjIuaCB8ICA0ICsrLS0KIHNlcS5jICAgICAgfCAzMiArKysrKysr KysrKysrKysrKystLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25z KCspLCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9ibGF6ZTgyMi5oIGIvYmxhemU4MjIu aAppbmRleCAxMzQ2MzQ1Li5hYmEyM2UyIDEwMDY0NAotLS0gYS9ibGF6ZTgyMi5oCisrKyBiL2Js YXplODIyLmgKQEAgLTg1LDggKzg1LDggQEAgc3RydWN0IGJsYXplODIyX3NlcV9pdGVyIHsKIH07 CiAKIGNoYXIgKmJsYXplODIyX3NlcV9uZXh0KGNoYXIgKm1hcCwgY2hhciAqcmFuZ2UsIHN0cnVj dCBibGF6ZTgyMl9zZXFfaXRlciAqaXRlcik7Ci1sb25nIGJsYXplODIyX2xvb3AoaW50LCBjaGFy ICoqLCB2b2lkICgqKShjaGFyICopKTsKLWxvbmcgYmxhemU4MjJfbG9vcDEoY2hhciAqYXJnLCB2 b2lkICgqY2IpKGNoYXIgKikpOworaW50IGJsYXplODIyX2xvb3AoaW50LCBjaGFyICoqLCB2b2lk ICgqKShjaGFyICopKTsKK2ludCBibGF6ZTgyMl9sb29wMShjaGFyICphcmcsIHZvaWQgKCpjYiko Y2hhciAqKSk7CiBjaGFyICpibGF6ZTgyMl9ob21lX2ZpbGUoY2hhciAqYmFzZW5hbWUpOwogCiAv LyBmaWx0ZXIuYwpkaWZmIC0tZ2l0IGEvc2VxLmMgYi9zZXEuYwppbmRleCA1ZDk4Mjg0Li4wNzNh NThjIDEwMDY0NAotLS0gYS9zZXEuYworKysgYi9zZXEuYwpAQCAtNDkzLDExICs0OTMsMTMgQEAg aXRlcmRpcihjaGFyICpkaXIsIHZvaWQgKCpjYikoY2hhciAqKSkKIAkJbSA9ICIiOwogCQluID0g c2NhbmRpcihkaXIsICZuYW1lbGlzdCwgMCwgbWFpbHNvcnQpOwogCX0KLQkJCi0JaWYgKG4gPT0g LTEpIHsJCi0JCWlmIChlcnJubyA9PSBFTk9URElSKQorCisJaWYgKG4gPT0gLTEpIHsKKwkJaWYg KGVycm5vID09IEVOT1RESVIpIHsKIAkJCWNiKGRpcik7Ci0JCXJldHVybiAxOworCQkJcmV0dXJu IDE7CisJCX0KKwkJcmV0dXJuIDA7CiAJfQogCiAJbG9uZyBpID0gMDsKQEAgLTUxNSwzMSArNTE3 LDM0IEBAIGl0ZXJkaXIoY2hhciAqZGlyLCB2b2lkICgqY2IpKGNoYXIgKikpCiAJcmV0dXJuIGk7 CiB9CiAKLWxvbmcKK2ludAogYmxhemU4MjJfbG9vcChpbnQgYXJnYywgY2hhciAqYXJndltdLCB2 b2lkICgqY2IpKGNoYXIgKikpCiB7CiAJY2hhciAqbGluZSA9IDA7CiAJc2l6ZV90IGxpbmVsZW4g PSAwOwogCXNzaXplX3QgcmQ7Ci0JbG9uZyBpID0gMDsKIAogCWlmIChhcmdjID09IDApIHsKIAkJ d2hpbGUgKChyZCA9IGdldGRlbGltKCZsaW5lLCAmbGluZWxlbiwgJ1xuJywgc3RkaW4pKSAhPSAt MSkgewogCQkJaWYgKGxpbmVbcmQtMV0gPT0gJ1xuJykKIAkJCQlsaW5lW3JkLTFdID0gMDsKIAkJ CWNiKGxpbmUpOwotCQkJaSsrOwogCQl9CiAJCWZyZWUobGluZSk7Ci0JCXJldHVybiBpOworCisJ CXJldHVybiAwOwogCX0KIAogCWNoYXIgKm1hcCA9IDA7CisJaW50IHN0YXR1cyA9IDA7CiAJaW50 IG1hcF9vcGVuZWQgPSAwOwotCWludCBqID0gMDsKKwlsb25nIGk7CiAJZm9yIChpID0gMDsgaSA8 IGFyZ2M7IGkrKykgewogCQlpZiAoc3RyY2hyKGFyZ3ZbaV0sICcvJykpIHsgIC8vIGEgZmlsZSBu YW1lCi0JCQlqICs9IGl0ZXJkaXIoYXJndltpXSwgY2IpOworCQkJaWYgKCFpdGVyZGlyKGFyZ3Zb aV0sIGNiKSkgeworCQkJCWZwcmludGYoc3RkZXJyLCAibWJsYXplOiB3YXJuaW5nOiBmaWxlICcl cycgZG9lcyBub3QgZXhpc3RcbiIsIGFyZ3ZbaV0pOworCQkJCXN0YXR1cyA9IDE7CisJCQl9CiAJ CX0gZWxzZSBpZiAoc3RyY21wKGFyZ3ZbaV0sICItIikgPT0gMCkgewogCQkJaWYgKGlzYXR0eSgw KSkgewogCQkJCWZwcmludGYoc3RkZXJyLCAibWJsYXplOiB3YXJuaW5nOiAtIG5vdyBtZWFucyAi CkBAIC01NDcsNyArNTUyLDYgQEAgYmxhemU4MjJfbG9vcChpbnQgYXJnYywgY2hhciAqYXJndltd LCB2b2lkICgqY2IpKGNoYXIgKikpCiAJCQkJICAgICJ1c2UgLi0gdG8gcmVmZXIgdG8gcHJldmlv dXMgbWFpbFxuIik7CiAJCQl9CiAJCQljYigiL2Rldi9zdGRpbiIpOwotCQkJaisrOwogCQl9IGVs c2UgewogCQkJaWYgKCFtYXBfb3BlbmVkKSB7CiAJCQkJbWFwID0gYmxhemU4MjJfc2VxX29wZW4o MCk7CkBAIC01NTcsMTUgKzU2MSwxNSBAQCBibGF6ZTgyMl9sb29wKGludCBhcmdjLCBjaGFyICph cmd2W10sIHZvaWQgKCpjYikoY2hhciAqKSkKIAkJCXdoaWxlICgobGluZSA9IGJsYXplODIyX3Nl cV9uZXh0KG1hcCwgYXJndltpXSwgJml0ZXIpKSkgewogCQkJCWNiKGxpbmUpOwogCQkJCWZyZWUo bGluZSk7Ci0JCQkJaisrOwogCQkJfQogCQl9CiAJfQogCWZyZWUobWFwKTsKLQlyZXR1cm4gajsK KworCXJldHVybiBzdGF0dXM7CiB9CiAKLWxvbmcKK2ludAogYmxhemU4MjJfbG9vcDEoY2hhciAq YXJnLCB2b2lkICgqY2IpKGNoYXIgKikpCiB7CiAJY2hhciAqYXJnc1tdID0geyBhcmcgfTsKCkZy b20gODllN2QwNWUxNDY3YjhhNGIyNTk3ZGQ3MzA0YTY5NDk1YmFkMDkyYSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP1M9QzM9QjZyZW49MjBUZW1wZWw/PSA8c29lcmVu K2dpdEBzb2VyZW4tdGVtcGVsLm5ldD4KRGF0ZTogU3VuLCAxMyBPY3QgMjAyNCAxOToyMTozMyAr MDIwMApTdWJqZWN0OiBbUEFUQ0ggMy8zXSBBZGQgZXJyb3IgaGFuZGxpbmcgZm9yIGJsYXplODIy X2xvb3AgdG8gYWxsIGNhbGxlcnMKCi0tLQogbWFkZHIuYyAgICAgICAgICB8ICA2ICsrLS0tLQog bWFncmVwLmMgICAgICAgICB8ICA3ICsrKysrLS0KIG1kZWxpdmVyLmMgICAgICAgfCAgNCArLS0t CiBtZXhwb3J0LmMgICAgICAgIHwgIDQgKystLQogbWZsYWcuYyAgICAgICAgICB8IDIwICsrKysr KysrKy0tLS0tLS0tLS0tCiBtaGRyLmMgICAgICAgICAgIHwgIDcgKysrKystLQogbWluYy5jICAg ICAgICAgICB8ICAzICsrLQogbWxpc3QuYyAgICAgICAgICB8ICA1ICsrKy0tCiBtcGljay5jICAg ICAgICAgIHwgIDcgKysrKy0tLQogbXNjYW4uYyAgICAgICAgICB8IDEyICsrKysrKy0tLS0tLQog bXNlZC5jICAgICAgICAgICB8ICA2ICsrLS0tLQogbXNlcS5jICAgICAgICAgICB8IDEwICsrKyst LS0tLS0KIG1zaG93LmMgICAgICAgICAgfCAyMSArKysrKysrKysrKy0tLS0tLS0tLS0KIG1zb3J0 LmMgICAgICAgICAgfCAgNyArKysrLS0tCiBtdGhyZWFkLmMgICAgICAgIHwgMTIgKysrKysrKyst LS0tCiB0LzExMDAtbWhkci50ICAgIHwgIDQgKysrLQogdC8xNTAwLW1hZGRyLnQgICB8ICA0ICsr Ky0KIHQvMTcwMC1tc2hvdy50ICAgfCAgMyArKy0KIHQvMTgwMC1tZXhwb3J0LnQgfCAgMyArKy0K IHQvMzAwMC1tYWdyZXAudCAgfCAgNSArKysrLQogdC82MDAwLW1zb3J0LnQgICB8ICA0ICsrKy0K IHQvODAwMC1tZmxhZy50ICAgfCAgNCArKystCiAyMiBmaWxlcyBjaGFuZ2VkLCA4OCBpbnNlcnRp b25zKCspLCA3MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9tYWRkci5jIGIvbWFkZHIuYwpp bmRleCA0OTgyYThjLi5mZTk3NTFlIDEwMDY0NAotLS0gYS9tYWRkci5jCisrKyBiL21hZGRyLmMK QEAgLTExNCw5ICsxMTQsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAJeHBsZWRn ZSgic3RkaW8gcnBhdGgiLCAiIik7CiAKIAlpZiAoYXJnYyA9PSBvcHRpbmQgJiYgaXNhdHR5KDAp KQotCQlibGF6ZTgyMl9sb29wMSgiOiIsIGFkZHIpOworCQlyZXR1cm4gYmxhemU4MjJfbG9vcDEo IjoiLCBhZGRyKTsKIAllbHNlCi0JCWJsYXplODIyX2xvb3AoYXJnYy1vcHRpbmQsIGFyZ3Yrb3B0 aW5kLCBhZGRyKTsKLQotCXJldHVybiAwOworCQlyZXR1cm4gYmxhemU4MjJfbG9vcChhcmdjLW9w dGluZCwgYXJnditvcHRpbmQsIGFkZHIpOwogfQpkaWZmIC0tZ2l0IGEvbWFncmVwLmMgYi9tYWdy ZXAuYwppbmRleCA2MDgwNDhhLi4yZjBiODQ1IDEwMDY0NAotLS0gYS9tYWdyZXAuYworKysgYi9t YWdyZXAuYwpAQCAtMjMxLDEwICsyMzEsMTMgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltd KQogCQlleGl0KDIpOwogCX0KIAorCWludCByZXQ7CiAJaWYgKGFyZ2MgPT0gb3B0aW5kICYmIGlz YXR0eSgwKSkKLQkJYmxhemU4MjJfbG9vcDEoIjoiLCBtYWdyZXApOworCQlyZXQgPSBibGF6ZTgy Ml9sb29wMSgiOiIsIG1hZ3JlcCk7CiAJZWxzZQotCQlibGF6ZTgyMl9sb29wKGFyZ2Mtb3B0aW5k LCBhcmd2K29wdGluZCwgbWFncmVwKTsKKwkJcmV0ID0gYmxhemU4MjJfbG9vcChhcmdjLW9wdGlu ZCwgYXJnditvcHRpbmQsIG1hZ3JlcCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIDI7CiAKIAlpZiAo Y2ZsYWcgJiYgIXFmbGFnICYmICFtZmxhZykKIAkJcHJpbnRmKCIlbGRcbiIsIG1hdGNoZXMpOwpk aWZmIC0tZ2l0IGEvbWRlbGl2ZXIuYyBiL21kZWxpdmVyLmMKaW5kZXggNzNmYWM0YS4uZDJjYzIy MiAxMDA2NDQKLS0tIGEvbWRlbGl2ZXIuYworKysgYi9tZGVsaXZlci5jCkBAIC0zMzEsOSArMzMx LDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogCQlpZiAoYXJnYyA9PSBvcHRpbmQg KyAxICYmIGlzYXR0eSgwKSkKIAkJCWdvdG8gdXNhZ2U7CiAJCWVsc2UKLQkJCWJsYXplODIyX2xv b3AoYXJnYyAtIDEgLSBvcHRpbmQsIGFyZ3YgKyBvcHRpbmQsIHJlZmlsZSk7Ci0KLQkJcmV0dXJu IDA7CisJCQlyZXR1cm4gYmxhemU4MjJfbG9vcChhcmdjIC0gMSAtIG9wdGluZCwgYXJndiArIG9w dGluZCwgcmVmaWxlKTsKIAl9CiAKIAlpbnQgYzsKZGlmZiAtLWdpdCBhL21leHBvcnQuYyBiL21l eHBvcnQuYwppbmRleCAwYWM0OTBkLi40YWQwNmEzIDEwMDY0NAotLS0gYS9tZXhwb3J0LmMKKysr IGIvbWV4cG9ydC5jCkBAIC0xNDgsOSArMTQ4LDkgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJn dltdKQogCXhwbGVkZ2UoInN0ZGlvIHJwYXRoIiwgIiIpOwogCiAJaWYgKGFyZ2MgPT0gb3B0aW5k ICYmIGlzYXR0eSgwKSkKLQkJYmxhemU4MjJfbG9vcDEoIjoiLCBleHBvcnQpOworCQlzdGF0dXMg fD0gYmxhemU4MjJfbG9vcDEoIjoiLCBleHBvcnQpOwogCWVsc2UKLQkJYmxhemU4MjJfbG9vcChh cmdjLW9wdGluZCwgYXJnditvcHRpbmQsIGV4cG9ydCk7CisJCXN0YXR1cyB8PSBibGF6ZTgyMl9s b29wKGFyZ2Mtb3B0aW5kLCBhcmd2K29wdGluZCwgZXhwb3J0KTsKIAogCXJldHVybiBzdGF0dXM7 CiB9CmRpZmYgLS1naXQgYS9tZmxhZy5jIGIvbWZsYWcuYwppbmRleCBhZTlhOWYyLi5hMDVlMjdm IDEwMDY0NAotLS0gYS9tZmxhZy5jCisrKyBiL21mbGFnLmMKQEAgLTE0MSwzMSArMTQxLDI5IEBA IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAogCWlmICh2ZmxhZykgewogCQlpZiAoYXJn YyA9PSBvcHRpbmQgJiYgIWlzYXR0eSgwKSkgewotCQkJYmxhemU4MjJfbG9vcCgwLCAwLCBmbGFn KTsgIC8vIHJlYWQgZnJvbSBzdGRpbgotCQkJcmV0dXJuIDA7CisJCQlyZXR1cm4gYmxhemU4MjJf bG9vcCgwLCAwLCBmbGFnKTsgIC8vIHJlYWQgZnJvbSBzdGRpbgogCQl9CiAKIAkJYXJncyA9IGNh bGxvYyhhcmdzYWxsb2MsIHNpemVvZiAoY2hhciAqKSk7CiAJCWlmICghYXJncykKIAkJCWV4aXQo LTEpOwogCisJCWludCBzdGF0dXM7CiAJCWlmIChhcmdjID09IG9wdGluZCkKLQkJCWJsYXplODIy X2xvb3AxKCIuIiwgYWRkKTsKKwkJCXN0YXR1cyA9IGJsYXplODIyX2xvb3AxKCIuIiwgYWRkKTsK IAkJZWxzZQotCQkJYmxhemU4MjJfbG9vcChhcmdjLW9wdGluZCwgYXJnditvcHRpbmQsIGFkZCk7 CisJCQlzdGF0dXMgPSBibGF6ZTgyMl9sb29wKGFyZ2Mtb3B0aW5kLCBhcmd2K29wdGluZCwgYWRk KTsKIAogCQlpZiAoaXNhdHR5KDApKQotCQkJYmxhemU4MjJfbG9vcDEoIjoiLCBmbGFnKTsKKwkJ CXN0YXR1cyB8PSBibGF6ZTgyMl9sb29wMSgiOiIsIGZsYWcpOwogCQllbHNlCi0JCQlibGF6ZTgy Ml9sb29wKDAsIDAsIGZsYWcpOworCQkJc3RhdHVzIHw9IGJsYXplODIyX2xvb3AoMCwgMCwgZmxh Zyk7CiAKLQkJcmV0dXJuIDA7CisJCXJldHVybiBzdGF0dXM7CiAJfQogCiAJaWYgKGFyZ2MgPT0g b3B0aW5kICYmIGlzYXR0eSgwKSkKLQkJYmxhemU4MjJfbG9vcDEoIi4iLCBmbGFnKTsKKwkJcmV0 dXJuIGJsYXplODIyX2xvb3AxKCIuIiwgZmxhZyk7CiAJZWxzZQotCQlibGF6ZTgyMl9sb29wKGFy Z2Mtb3B0aW5kLCBhcmd2K29wdGluZCwgZmxhZyk7Ci0KLQlyZXR1cm4gMDsKKwkJcmV0dXJuIGJs YXplODIyX2xvb3AoYXJnYy1vcHRpbmQsIGFyZ3Yrb3B0aW5kLCBmbGFnKTsKIH0KZGlmZiAtLWdp dCBhL21oZHIuYyBiL21oZHIuYwppbmRleCBiNmU5ZmEwLi4yNjc3YWExIDEwMDY0NAotLS0gYS9t aGRyLmMKKysrIGIvbWhkci5jCkBAIC0yNDksMTAgKzI0OSwxMyBAQCBtYWluKGludCBhcmdjLCBj aGFyICphcmd2W10pCiAKIAl4cGxlZGdlKCJzdGRpbyBycGF0aCIsICIiKTsKIAorCWludCByZXQ7 CiAJaWYgKGFyZ2MgPT0gb3B0aW5kICYmIGlzYXR0eSgwKSkKLQkJYmxhemU4MjJfbG9vcDEoIi4i LCBoZWFkZXIpOworCQlyZXQgPSBibGF6ZTgyMl9sb29wMSgiLiIsIGhlYWRlcik7CiAJZWxzZQot CQlibGF6ZTgyMl9sb29wKGFyZ2Mtb3B0aW5kLCBhcmd2K29wdGluZCwgaGVhZGVyKTsKKwkJcmV0 ID0gYmxhemU4MjJfbG9vcChhcmdjLW9wdGluZCwgYXJnditvcHRpbmQsIGhlYWRlcik7CisJaWYg KHJldCkKKwkJcmV0dXJuIDI7CiAKIAlyZXR1cm4gc3RhdHVzOwogfQpkaWZmIC0tZ2l0IGEvbWlu Yy5jIGIvbWluYy5jCmluZGV4IDc1N2M2NWIuLjNhZTQ0NGUgMTAwNjQ0Ci0tLSBhL21pbmMuYwor KysgYi9taW5jLmMKQEAgLTgxLDcgKzgxLDggQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltd KQogCWlmIChvcHRpbmQgPT0gYXJnYykgewogCQlpZiAoaXNhdHR5KDApKQogCQkJZ290byB1c2Fn ZTsKLQkJYmxhemU4MjJfbG9vcCgwLCAwLCBpbmMpOworCQlpZiAoYmxhemU4MjJfbG9vcCgwLCAw LCBpbmMpKQorCQkJcmV0dXJuIDE7CiAJfSBlbHNlIHsKIAkJZm9yIChpID0gb3B0aW5kOyBpIDwg YXJnYzsgaSsrKQogCQkJaW5jKGFyZ3ZbaV0pOwpkaWZmIC0tZ2l0IGEvbWxpc3QuYyBiL21saXN0 LmMKaW5kZXggZTBlYzQyYy4uMDBhMTRlYyAxMDA2NDQKLS0tIGEvbWxpc3QuYworKysgYi9tbGlz dC5jCkBAIC0yODIsMTAgKzI4MiwxMSBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAJ CQlmbGFnc3VtKys7CiAJfQogCisJaW50IHN0YXR1cyA9IDA7CiAJaWYgKG9wdGluZCA9PSBhcmdj KSB7CiAJCWlmIChpc2F0dHkoMCkpCiAJCQlnb3RvIHVzYWdlOwotCQlibGF6ZTgyMl9sb29wKDAs IDAsIGxpc3RhcmcpOworCQlzdGF0dXMgPSBibGF6ZTgyMl9sb29wKDAsIDAsIGxpc3RhcmcpOwog CX0gZWxzZSB7CiAJCWZvciAoaSA9IG9wdGluZDsgaSA8IGFyZ2M7IGkrKykKIAkJCWxpc3Rhcmco YXJndltpXSk7CkBAIC0zMDAsNSArMzAxLDUgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltd KQogCQkJICAgIHR1bnNlZW4sIHRmbGFnZ2VkLCB0Y291bnQpOwogCX0KIAotCXJldHVybiAwOwor CXJldHVybiBzdGF0dXM7CiB9CmRpZmYgLS1naXQgYS9tcGljay5jIGIvbXBpY2suYwppbmRleCA4 ODY0MDk0Li5mZTIxYjVhIDEwMDY0NAotLS0gYS9tcGljay5jCisrKyBiL21waWNrLmMKQEAgLTE0 NjYsMTEgKzE0NjYsMTIgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogCiAJeHBsZWRn ZSgic3RkaW8gcnBhdGggd3BhdGggY3BhdGggcHJvYyBleGVjIiwgMCk7CiAKKwlpbnQgc3RhdHVz OwogCXZvaWQgKCpjYikoY2hhciAqKSA9IG5lZWRfdGhyID8gY29sbGVjdCA6IG9uZWxpbmU7CiAJ aWYgKGFyZ2MgPT0gb3B0aW5kICYmIGlzYXR0eSgwKSkKLQkJYmxhemU4MjJfbG9vcDEoIjoiLCBj Yik7CisJCXN0YXR1cyA9IGJsYXplODIyX2xvb3AxKCI6IiwgY2IpOwogCWVsc2UKLQkJYmxhemU4 MjJfbG9vcChhcmdjLW9wdGluZCwgYXJnditvcHRpbmQsIGNiKTsKKwkJc3RhdHVzID0gYmxhemU4 MjJfbG9vcChhcmdjLW9wdGluZCwgYXJnditvcHRpbmQsIGNiKTsKIAogCS8qIHByaW50IGFuZCBm cmVlIGxhc3QgdGhyZWFkICovCiAJaWYgKFRmbGFnICYmIHRocikKQEAgLTE0OTAsNSArMTQ5MSw1 IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAkJZnJlZShmaWxlcyk7CiAJfQogCi0J cmV0dXJuIDA7CisJcmV0dXJuIHN0YXR1czsKIH0KZGlmZiAtLWdpdCBhL21zY2FuLmMgYi9tc2Nh bi5jCmluZGV4IDNmNWJjNzEuLjViZjgyMzggMTAwNjQ0Ci0tLSBhL21zY2FuLmMKKysrIGIvbXNj YW4uYwpAQCAtNTYxLDEwICs1NjEsOSBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAK IAlpZiAobmZsYWcpIHsKIAkJaWYgKGFyZ2MgPT0gb3B0aW5kICYmIGlzYXR0eSgwKSkKLQkJCWJs YXplODIyX2xvb3AxKCI6IiwgbnVtbGluZSk7CisJCQlyZXR1cm4gYmxhemU4MjJfbG9vcDEoIjoi LCBudW1saW5lKTsKIAkJZWxzZQotCQkJYmxhemU4MjJfbG9vcChhcmdjLW9wdGluZCwgYXJnditv cHRpbmQsIG51bWxpbmUpOwotCQlyZXR1cm4gMDsKKwkJCXJldHVybiBibGF6ZTgyMl9sb29wKGFy Z2Mtb3B0aW5kLCBhcmd2K29wdGluZCwgbnVtbGluZSk7CiAJfQogCiAJbm93ID0gdGltZSgwKTsK QEAgLTYyNCwxMCArNjIzLDExIEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAkJCQlm ZmxhZyA9IHY7CiAJfQogCisJaW50IHN0YXR1czsKIAlpZiAoYXJnYyA9PSBvcHRpbmQgJiYgaXNh dHR5KDApKQotCQlibGF6ZTgyMl9sb29wMSgiOiIsIG9uZWxpbmUpOworCQlzdGF0dXMgPSBibGF6 ZTgyMl9sb29wMSgiOiIsIG9uZWxpbmUpOwogCWVsc2UKLQkJYmxhemU4MjJfbG9vcChhcmdjLW9w dGluZCwgYXJnditvcHRpbmQsIG9uZWxpbmUpOworCQlzdGF0dXMgPSBibGF6ZTgyMl9sb29wKGFy Z2Mtb3B0aW5kLCBhcmd2K29wdGluZCwgb25lbGluZSk7CiAKIAlpZiAocGFnZXJfcGlkID4gMCkK IAkJcGlwZWNsb3NlKHBhZ2VyX3BpZCk7CkBAIC02MzUsNSArNjM1LDUgQEAgbWFpbihpbnQgYXJn YywgY2hhciAqYXJndltdKQogCWlmICh2ZmxhZykKIAkJZnByaW50ZihzdGRlcnIsICIlbGQgbWFp bHMgc2Nhbm5lZFxuIiwgc2Vlbik7CiAKLQlyZXR1cm4gMDsKKwlyZXR1cm4gc3RhdHVzOwogfQpk aWZmIC0tZ2l0IGEvbXNlZC5jIGIvbXNlZC5jCmluZGV4IGM1NDUyNzguLjMwYTFmNjAgMTAwNjQ0 Ci0tLSBhL21zZWQuYworKysgYi9tc2VkLmMKQEAgLTMzMCw5ICszMzAsNyBAQCBtYWluKGludCBh cmdjLCBjaGFyICphcmd2W10pCiAJb3B0aW5kKys7CiAKIAlpZiAoYXJnYyA9PSBvcHRpbmQgJiYg aXNhdHR5KDApKQotCQlibGF6ZTgyMl9sb29wMSgiLiIsIHNlZCk7CisJCXJldHVybiBibGF6ZTgy Ml9sb29wMSgiLiIsIHNlZCk7CiAJZWxzZQotCQlibGF6ZTgyMl9sb29wKGFyZ2Mtb3B0aW5kLCBh cmd2K29wdGluZCwgc2VkKTsKLQotCXJldHVybiAwOworCQlyZXR1cm4gYmxhemU4MjJfbG9vcChh cmdjLW9wdGluZCwgYXJnditvcHRpbmQsIHNlZCk7CiB9CmRpZmYgLS1naXQgYS9tc2VxLmMgYi9t c2VxLmMKaW5kZXggYWMzYWExOS4uOGEyMWMyYyAxMDA2NDQKLS0tIGEvbXNlcS5jCisrKyBiL21z ZXEuYwpAQCAtMzAxLDEzICszMDEsMTEgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQog CiAJeHBsZWRnZSgic3RkaW8gcnBhdGggd3BhdGggY3BhdGgiLCAiIik7CiAKLQlpZiAoY2ZsYWcp Ci0JCWJsYXplODIyX2xvb3AxKGNmbGFnLCBvdmVycmlkZWN1cik7CisJaWYgKGNmbGFnICYmIGJs YXplODIyX2xvb3AxKGNmbGFnLCBvdmVycmlkZWN1cikpCisJCXJldHVybiAxOwogCi0JaWYgKENm bGFnKSB7Ci0JCWJsYXplODIyX2xvb3AxKENmbGFnLCBzZXRjdXIpOwotCQlyZXR1cm4gMDsKLQl9 CisJaWYgKENmbGFnKQorCQlyZXR1cm4gYmxhemU4MjJfbG9vcDEoQ2ZsYWcsIHNldGN1cik7CiAK IAlpZiAoU2ZsYWcgJiYgb3B0aW5kICE9IGFyZ2MpIHsKIAkJZnByaW50ZihzdGRlcnIsICJlcnJv cjogLVMvLUEgZG9lc24ndCB0YWtlIGFyZ3VtZW50cy5cbiIpOwpkaWZmIC0tZ2l0IGEvbXNob3cu YyBiL21zaG93LmMKaW5kZXggZDA4NzFmMi4uYWViN2I0MCAxMDA2NDQKLS0tIGEvbXNob3cuYwor KysgYi9tc2hvdy5jCkBAIC01ODcsMTMgKzU4NywxMyBAQCBleHRyYWN0X2NiKGNoYXIgKmZpbGUp CiAJYmxhemU4MjJfd2Fsa19taW1lKG1zZywgMCwgZXh0cmFjdF9taW1lKTsKIH0KIAotdm9pZAor aW50CiBleHRyYWN0KGNoYXIgKmZpbGUsIGludCBhcmdjLCBjaGFyICoqYXJndiwgaW50IHVzZV9z dGRvdXQpCiB7CiAJZXh0cmFjdF9hcmdjID0gYXJnYzsKIAlleHRyYWN0X2FyZ3YgPSBhcmd2Owog CWV4dHJhY3Rfc3Rkb3V0ID0gdXNlX3N0ZG91dDsKLQlibGF6ZTgyMl9sb29wMShmaWxlLCBleHRy YWN0X2NiKTsKKwlyZXR1cm4gYmxhemU4MjJfbG9vcDEoZmlsZSwgZXh0cmFjdF9jYik7CiB9CiAK IHN0YXRpYyBjaGFyICpuZXdjdXI7CkBAIC04MzIsMjEgKzgzMiwyMiBAQCBtYWluKGludCBhcmdj LCBjaGFyICphcmd2W10pCiAJCX0KIAl9CiAKKwlpbnQgc3RhdHVzID0gMDsKIAlpZiAoeGZsYWcp IHsgLy8gZXh0cmFjdAogCQl4cGxlZGdlKCJzdGRpbyBycGF0aCB3cGF0aCBjcGF0aCIsIE5VTEwp OwotCQlleHRyYWN0KHhmbGFnLCBhcmdjLW9wdGluZCwgYXJnditvcHRpbmQsIDApOworCQlzdGF0 dXMgPSBleHRyYWN0KHhmbGFnLCBhcmdjLW9wdGluZCwgYXJnditvcHRpbmQsIDApOwogCX0gZWxz ZSBpZiAoT2ZsYWcpIHsgLy8gZXh0cmFjdCB0byBzdGRvdXQKIAkJeHBsZWRnZSgic3RkaW8gcnBh dGgiLCBOVUxMKTsKLQkJZXh0cmFjdChPZmxhZywgYXJnYy1vcHRpbmQsIGFyZ3Yrb3B0aW5kLCAx KTsKKwkJc3RhdHVzID0gZXh0cmFjdChPZmxhZywgYXJnYy1vcHRpbmQsIGFyZ3Yrb3B0aW5kLCAx KTsKIAl9IGVsc2UgaWYgKHRmbGFnKSB7IC8vIGxpc3QKIAkJeHBsZWRnZSgic3RkaW8gcnBhdGgi LCBOVUxMKTsKIAkJaWYgKGFyZ2MgPT0gb3B0aW5kICYmIGlzYXR0eSgwKSkKLQkJCWJsYXplODIy X2xvb3AxKCIuIiwgbGlzdCk7CisJCQlzdGF0dXMgPSBibGF6ZTgyMl9sb29wMSgiLiIsIGxpc3Qp OwogCQllbHNlCi0JCQlibGF6ZTgyMl9sb29wKGFyZ2Mtb3B0aW5kLCBhcmd2K29wdGluZCwgbGlz dCk7CisJCQlzdGF0dXMgPSBibGF6ZTgyMl9sb29wKGFyZ2Mtb3B0aW5kLCBhcmd2K29wdGluZCwg bGlzdCk7CiAJfSBlbHNlIGlmIChSZmxhZykgeyAvLyByZW5kZXIgZm9yIHJlcGx5CiAJCXhwbGVk Z2UoInN0ZGlvIHJwYXRoIiwgTlVMTCk7Ci0JCWJsYXplODIyX2xvb3AoYXJnYy1vcHRpbmQsIGFy Z3Yrb3B0aW5kLCByZXBseSk7CisJCXN0YXR1cyA9IGJsYXplODIyX2xvb3AoYXJnYy1vcHRpbmQs IGFyZ3Yrb3B0aW5kLCByZXBseSk7CiAJfSBlbHNlIHsgLy8gc2hvdwogCQkvKiBYWFggcGxlZGdl OiBzdGlsbCByL3cgb24gdGhlIHdob2xlIGZpbGUtc3lzdGVtICsgZm9yay9leGVjICovCiAJCWlm ICghKHFmbGFnIHx8IHJmbGFnIHx8IEZmbGFnKSkgewpAQCAtODU3LDkgKzg1OCw5IEBAIG1haW4o aW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAkJCQlmaWx0ZXJzID0gYmxhemU4MjIoZik7CiAJCX0K IAkJaWYgKGFyZ2MgPT0gb3B0aW5kICYmIGlzYXR0eSgwKSkKLQkJCWJsYXplODIyX2xvb3AxKCIu Iiwgc2hvdyk7CisJCQlzdGF0dXMgPSBibGF6ZTgyMl9sb29wMSgiLiIsIHNob3cpOwogCQllbHNl Ci0JCQlibGF6ZTgyMl9sb29wKGFyZ2Mtb3B0aW5kLCBhcmd2K29wdGluZCwgc2hvdyk7CisJCQlz dGF0dXMgPSBibGF6ZTgyMl9sb29wKGFyZ2Mtb3B0aW5kLCBhcmd2K29wdGluZCwgc2hvdyk7CiAJ CWlmICghbmZsYWcpIC8vIGRvbid0IHNldCBjdXIKIAkJCWlmIChuZXdjdXIpCiAJCQkJYmxhemU4 MjJfc2VxX3NldGN1cihuZXdjdXIpOwpAQCAtODc1LDUgKzg3Niw1IEBAIG1haW4oaW50IGFyZ2Ms IGNoYXIgKmFyZ3ZbXSkKIAkJcmV0dXJuIDE7CiAJfQogCi0JcmV0dXJuIDA7CisJcmV0dXJuIHN0 YXR1czsKIH0KZGlmZiAtLWdpdCBhL21zb3J0LmMgYi9tc29ydC5jCmluZGV4IDU1ZWM2YWEuLjI0 MGYyNTAgMTAwNjQ0Ci0tLSBhL21zb3J0LmMKKysrIGIvbXNvcnQuYwpAQCAtMzIzLDEwICszMjMs MTEgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogCWlmICghbWFpbHMpCiAJCWV4aXQo LTEpOwogCisJaW50IHN0YXR1czsKIAlpZiAoYXJnYyA9PSBvcHRpbmQgJiYgaXNhdHR5KDApKQot CQlibGF6ZTgyMl9sb29wMSgiOiIsIGFkZCk7CisJCXN0YXR1cyA9IGJsYXplODIyX2xvb3AxKCI6 IiwgYWRkKTsKIAllbHNlCi0JCWJsYXplODIyX2xvb3AoYXJnYy1vcHRpbmQsIGFyZ3Yrb3B0aW5k LCBhZGQpOworCQlzdGF0dXMgPSBibGF6ZTgyMl9sb29wKGFyZ2Mtb3B0aW5kLCBhcmd2K29wdGlu ZCwgYWRkKTsKIAogCXFzb3J0KG1haWxzLCBpZHgsIHNpemVvZiAoc3RydWN0IG1haWwpLCBvcmRl cik7CiAKQEAgLTMzNyw1ICszMzgsNSBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAJ CWZvciAoaSA9IDA7IGkgPCBpZHg7IGkrKykKIAkJCXByaW50ZigiJXNcbiIsIG1haWxzW2ldLmZp bGUpOwogCi0JcmV0dXJuIDA7CisJcmV0dXJuIHN0YXR1czsKIH0KZGlmZiAtLWdpdCBhL210aHJl YWQuYyBiL210aHJlYWQuYwppbmRleCA3N2ZiMjFlLi44N2JmMjY5IDEwMDY0NAotLS0gYS9tdGhy ZWFkLmMKKysrIGIvbXRocmVhZC5jCkBAIC00MjEsNyArNDIxLDEwIEBAIG1haW4oaW50IGFyZ2Ms IGNoYXIgKmFyZ3ZbXSkKIAogCXdoaWxlICgoYyA9IGdldG9wdChhcmdjLCBhcmd2LCAiUzpwcnYi KSkgIT0gLTEpCiAJCXN3aXRjaCAoYykgewotCQljYXNlICdTJzogYmxhemU4MjJfbG9vcDEob3B0 YXJnLCB0aHJlYWQpOyBicmVhazsKKwkJY2FzZSAnUyc6CisJCQlpZiAoYmxhemU4MjJfbG9vcDEo b3B0YXJnLCB0aHJlYWQpKQorCQkJCXJldHVybiAxOworCQkJYnJlYWs7CiAJCWNhc2UgJ3YnOiB2 ZmxhZyA9IDE7IGJyZWFrOwogCQljYXNlICdwJzogcGZsYWcgPSAxOyBicmVhazsKIAkJY2FzZSAn cic6IHJmbGFnID0gMTsgYnJlYWs7CkBAIC00MzIsMTAgKzQzNSwxMSBAQCBtYWluKGludCBhcmdj LCBjaGFyICphcmd2W10pCiAKIAlvcHRpb25hbCA9IDA7CiAKKwlpbnQgc3RhdHVzOwogCWlmIChh cmdjID09IG9wdGluZCAmJiBpc2F0dHkoMCkpCi0JCWJsYXplODIyX2xvb3AxKCI6IiwgdGhyZWFk KTsKKwkJc3RhdHVzID0gYmxhemU4MjJfbG9vcDEoIjoiLCB0aHJlYWQpOwogCWVsc2UKLQkJYmxh emU4MjJfbG9vcChhcmdjLW9wdGluZCwgYXJnditvcHRpbmQsIHRocmVhZCk7CisJCXN0YXR1cyA9 IGJsYXplODIyX2xvb3AoYXJnYy1vcHRpbmQsIGFyZ3Yrb3B0aW5kLCB0aHJlYWQpOwogCiAJLy8g dGhlIHRyZWUgb2YgYWxsIHRvcGxldmVsIHRocmVhZHMgaGFzIGRlcHRoIC0xLAogCS8vIHNvIHRv cGxldmVsIHRocmVhZHMgaGF2ZSBkZXB0aCAwLgpAQCAtNDQ2LDUgKzQ1MCw1IEBAIG1haW4oaW50 IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAlzb3J0X3RyZWUodG9wLCAtMSk7CiAJcHJpbnRfdHJlZSh0 b3AsIC0xKTsKIAotCXJldHVybiAwOworCXJldHVybiBzdGF0dXM7CiB9CmRpZmYgLS1naXQgYS90 LzExMDAtbWhkci50IGIvdC8xMTAwLW1oZHIudAppbmRleCA5OTM3MDQxLi5mOTI0NDE5IDEwMDc1 NQotLS0gYS90LzExMDAtbWhkci50CisrKyBiL3QvMTEwMC1taGRyLnQKQEAgLTIsNyArMiw3IEBA CiBjZCAkezAlLyp9CiAuIC4vbGliLnNoCiAKLXBsYW4gOQorcGxhbiAxMAogCiBjYXQgPDxFT0Yg PnRtcAogSGVhZGVyOiBmb28KQEAgLTI0LDMgKzI0LDUgQEAgY2hlY2tfc2FtZSAnaGVhZGVyLVRo cmVlJyAnbWhkciAtaCBoZWFkZXItVGhyZWUgLi90bXAnICdlY2hvIHF1dXgnCiBjaGVja19zYW1l ICdoZWFkZXJfRm91cicgJ21oZHIgLWggaGVhZGVyX0ZvdXIgLi90bXAnICdlY2hvIGRpbmcnCiAK IGNoZWNrICdpc3N1ZSAyMzUnICdtaGRyIC4vdG1wIHxncmVwIC1pIGhlYWRlcl9mb3VyJworY2hl Y2sgJ25vbi1leGlzdGVudCBtYWlsJyAnbWhkciAuL2RvZXMtbm90LWV4aXN0IDsgWyAkPyAtZXEg MiBdJworCmRpZmYgLS1naXQgYS90LzE1MDAtbWFkZHIudCBiL3QvMTUwMC1tYWRkci50CmluZGV4 IGNmY2EzZTcuLmJkODg2YTMgMTAwNzU1Ci0tLSBhL3QvMTUwMC1tYWRkci50CisrKyBiL3QvMTUw MC1tYWRkci50CkBAIC0xLDcgKzEsNyBAQAogIyEvYmluL3NoIC1lCiBjZCAkezAlLyp9CiAuIC4v bGliLnNoCi1wbGFuIDExCitwbGFuIDEzCiAKIHJtIC1yZiB0ZXN0LmRpcgogbWtkaXIgdGVzdC5k aXIKQEAgLTgyLDUgKzgyLDcgQEAgY2hlY2tfc2FtZSAnbG9uZyBhZGRyJyAnbWFkZHIgLWggbG9u ZyA0JyAnZWNobyAiaGVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWUKIGNoZWNrX3NhbWUg J2RlY29kZSBpc284ODU5JyAnbWFkZHIgLWggRGVjb2RlSVNPODg1OSA1JyAnZWNobyAiS2VsZCBK w7hybiBTaW1vbnNlbiA8a2VsZEBka3V1Zy5kaz4iJwogY2hlY2tfc2FtZSAnZGVjb2RlIGxvbmcg aXNvODg1OScgJ21hZGRyIC1oIERlY29kZUxvbmdJU084ODU5IDUnICdlY2hvICJcIklmIHlvdSBj YW4gcmVhZCB0aGlzIHlvdSB1bmRlcnN0YW5kIHRoZSBleGFtcGxlLiB6IGEgYlwiIDxmb29AZXhh bXBsZS5jb20+IicKIGNoZWNrX3NhbWUgJ2RlY29kZSB1dGY4JyAnbWFkZHIgLWggRGVjb2RlVVRG OCA1JyAnZWNobyAieuKAmXogPGJhckBleGFtcGxlLmNvbT4iJworY2hlY2sgJ25vbi1leGlzdGVu dCBtYWlsJyAnbWFkZHIgLVMgL2RvZXMvbm90L2V4aXN0IDsgWyAkPyAtZXEgMSBdJworY2hlY2tf c2FtZSAna2VlcCBnb2luZyBvbiBub24tZXhpc3RlbnQgbWFpbCcgJ21hZGRyIC9kb2VzL25vdC9l eGlzdCAzIC9kb2VzL25vdC9leGlzdCB8fCB0cnVlJyAnZWNobyAicmFqd2luZGVyQGV4YW1wbGUu Y29tIicKIAogKQpkaWZmIC0tZ2l0IGEvdC8xNzAwLW1zaG93LnQgYi90LzE3MDAtbXNob3cudApp bmRleCBmOTc0MDI2Li4zMTc5MWZhIDEwMDc1NQotLS0gYS90LzE3MDAtbXNob3cudAorKysgYi90 LzE3MDAtbXNob3cudApAQCAtMSw3ICsxLDcgQEAKICMhL2Jpbi9zaCAtZQogY2QgJHswJS8qfQog LiAuL2xpYi5zaAotcGxhbiAyCitwbGFuIDMKIAogIyBOZXN0ZWQgTUlNRSB3aGVyZSB0aGUgb3V0 ZXIgYm91bmRhcnkgaXMgYSBwcmVmaXggb2YgdGhlIGlubmVyIGJvdW5kYXJ5CiBjYXQgPDxFT0Yg PnRtcApAQCAtMzksMyArMzksNCBAQCBFT0YKIAogY2hlY2sgJ25lc3RlZCBtYWlsIGhhcyA1IGF0 dGFjaG1lbnRzJyAnbXNob3cgLXQgLi90bXAgfCB3YyAtbCB8IGdyZXAgNicKIGNoZWNrICduZXN0 ZWQgbWFpbCBoYXMgdGV4dC9odG1sIGF0dGFjaG1lbnQnICdtc2hvdyAtdCAuL3RtcCB8IGdyZXAg dGV4dC9odG1sJworY2hlY2sgJ25vbi1leGlzdGVudCBtYWlsJyAnbXNob3cgLi9kb2VzLW5vdC1l eGlzdCA7IFsgJD8gLWVxIDEgXScKZGlmZiAtLWdpdCBhL3QvMTgwMC1tZXhwb3J0LnQgYi90LzE4 MDAtbWV4cG9ydC50CmluZGV4IGMwZWFkYmQuLjllZTk0NWMgMTAwNzU1Ci0tLSBhL3QvMTgwMC1t ZXhwb3J0LnQKKysrIGIvdC8xODAwLW1leHBvcnQudApAQCAtMSw3ICsxLDcgQEAKICMhL2Jpbi9z aCAtZQogY2QgJHswJS8qfQogLiAuL2xpYi5zaAotcGxhbiAyCitwbGFuIDMKIAogY2F0IDw8RU9G ID50bXAuMQogU3ViamVjdDogbWVzc2FnZSAxCkBAIC0yNCwzICsyNCw0IEBAIG1leHBvcnQgLi90 bXAuMSAuL3RtcC4yIC4vdG1wLjMgPi4vdG1wLm1ib3gKIAogY2hlY2sgJ2dlbmVyYXRlZCBtYm94 IGhhcyAxNiBsaW5lcycgJ2NhdCAuL3RtcC5tYm94IHwgd2MgLWwgfCBncmVwIDE2JwogY2hlY2sg J2dlbmVyYXRlZCBtYm94IGhhcyA3IGVtcHR5IGxpbmVzJyAnZ3JlcCAtYyAiXiQiIC4vdG1wLm1i b3ggfCBncmVwIDcnCitjaGVjayAnbm9uLWV4aXN0ZW50IG1haWwnICdtZXhwb3J0IC4vZm9vLWJh ciA7IFsgJD8gLWVxIDEgXScKZGlmZiAtLWdpdCBhL3QvMzAwMC1tYWdyZXAudCBiL3QvMzAwMC1t YWdyZXAudAppbmRleCBmMjBjYmI2Li40Y2Y0ZmJkIDEwMDY0NAotLS0gYS90LzMwMDAtbWFncmVw LnQKKysrIGIvdC8zMDAwLW1hZ3JlcC50CkBAIC0xLDcgKzEsNyBAQAogIyEvYmluL3NoIC1lCiBj ZCAkezAlLyp9CiAuIC4vbGliLnNoCi1wbGFuIDEwCitwbGFuIDEyCiAKIHJtIC1yZiB0ZXN0LmRp cgogbWtkaXIgdGVzdC5kaXIKQEAgLTE5MSw0ICsxOTEsNyBAQCBjaGVja19zYW1lICdwcmludCBt YXRjaCBvbmx5JyAnbWFncmVwIC1vIHN1YmplY3Q6bmljZSA6JyAnY2F0IGV4cGVjdCcKIGVjaG8g J2luYm94L2N1ci8zOjIsJyA+ZXhwZWN0CiBjaGVja19zYW1lICdtdWx0aXBsZSBzdWJqZWN0cycg J21hZ3JlcCBzdWJqZWN0Om11bHRpIDonICdjYXQgZXhwZWN0JwogCitjaGVjayAnbm9uLWV4aXN0 ZW50IG1haWwnICdtYWdyZXAgc3ViamVjdDpuaWNlIC9kb2VzL25vdC9leGlzdCA7IFsgJD8gLWVx IDIgXScKK2NoZWNrICdlcnJvciB0YWtlIHByZWNlZGVuY2Ugb3ZlciBtYXRjaCcgJ21hZ3JlcCBz dWJqZWN0Om5vbWF0Y2ggOiAvZG9lcy9ub3QvZXhpc3QgOyBbICQ/IC1lcSAyIF0nCisKICkKZGlm ZiAtLWdpdCBhL3QvNjAwMC1tc29ydC50IGIvdC82MDAwLW1zb3J0LnQKaW5kZXggZTRmYzYwOS4u Y2I5ZTE1ZCAxMDA2NDQKLS0tIGEvdC82MDAwLW1zb3J0LnQKKysrIGIvdC82MDAwLW1zb3J0LnQK QEAgLTEsNyArMSw3IEBACiAjIS9iaW4vc2ggLWUKIGNkICR7MCUvKn0KIC4gLi9saWIuc2gKLXBs YW4gNQorcGxhbiA2CiAKIHJtIC1yZiB0ZXN0LmRpcgogbWtkaXIgdGVzdC5kaXIKQEAgLTg1LDQg Kzg1LDYgQEAgaW5ib3gvY3VyLzE6MiwKICEKIGNoZWNrX3NhbWUgJ3N1YmplY3QnICdtc29ydCAt cyA6JyAnY2F0IGV4cGVjdCcKIAorY2hlY2sgJ25vbi1leGlzdGVudCBtYWlsJyAnbXNvcnQgLXMg L2RvZXMvbm90L2V4aXN0IDsgWyAkPyAtZXEgMSBdJworCiApCmRpZmYgLS1naXQgYS90LzgwMDAt bWZsYWcudCBiL3QvODAwMC1tZmxhZy50CmluZGV4IDY1NTYyZjYuLjc5MTg5MDYgMTAwNjQ0Ci0t LSBhL3QvODAwMC1tZmxhZy50CisrKyBiL3QvODAwMC1tZmxhZy50CkBAIC0xLDcgKzEsNyBAQAog IyEvYmluL3NoIC1lCiBjZCAkezAlLyp9CiAuIC4vbGliLnNoCi1wbGFuIDE2CitwbGFuIDE4CiAK IHJtIC1yZiB0ZXN0LmRpcgogbWtkaXIgdGVzdC5kaXIKQEAgLTM1LDUgKzM1LDcgQEAgY2hlY2sg J21hcmsgdHJhc2hlZCcgJ21mbGFnIC1UIDEgJiYgWyAtZSAiaW5ib3gvY3VyLzE6MixUIiBdJwog Y2hlY2tfdGVzdCAnZml4IHNlcScgLWVxIDIgJ21zZXEgLWYgOiB8IG1zZXEgLVMgfCB3YyAtbCcK IGNoZWNrICd1bm1hcmsgdHJhc2hlZCcgJ21mbGFnIC10IDEgJiYgWyAtZSAiaW5ib3gvY3VyLzE6 MiwiIF0nCiBjaGVja190ZXN0ICdmaXggc2VxJyAtZXEgMiAnbXNlcSAtZiA6IHwgbXNlcSAtUyB8 IHdjIC1sJworY2hlY2sgJ25vbi1leGlzdGVudCBtYWlsJyAnbWZsYWcgLVMgL2RvZXMvbm90L2V4 aXN0IDsgWyAkPyAtZXEgMSBdJworY2hlY2sgJ2tlZXAgZ29pbmcgb24gbm9uLWV4aXN0ZW50IG1h aWwnICdtZmxhZyAtdCAvZG9lcy9ub3QvZXhpc3QgMSA7IFsgLWUgImluYm94L2N1ci8xOjIsIiBd JwogCiApCg== --===============3287854807903699461==--