From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shards.monkeyblade.net ([184.105.139.130]:37576 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752268AbeFHCSp (ORCPT ); Thu, 7 Jun 2018 22:18:45 -0400 Received: from localhost (unknown [50.234.174.228]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id 24919133E8163 for ; Thu, 7 Jun 2018 19:18:43 -0700 (PDT) Date: Thu, 07 Jun 2018 22:18:39 -0400 (EDT) Message-Id: <20180607.221839.1320553197605756682.davem@davemloft.net> To: stable@vger.kernel.org Subject: [PATCHES] Networking From: David Miller Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Thu_Jun__7_22_18_39_2018_648)--" Content-Transfer-Encoding: 7bit Sender: stable-owner@vger.kernel.org List-ID: ----Next_Part(Thu_Jun__7_22_18_39_2018_648)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following netwokring bug fixes for v4.16 and v4.17 -stable, respectively. Thank you. ----Next_Part(Thu_Jun__7_22_18_39_2018_648)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_416.mbox" RnJvbSAxYWUwMGU4ODQ0MjA4Y2I1OTIzNmQ1YTZjY2M0Nzk5YmYxNGNmYTRmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdXJlc2ggUmVkZHkgPHN1cmVzaC5yZWRkeUBicm9hZGNvbS5j b20+CkRhdGU6IE1vbiwgMjggTWF5IDIwMTggMDE6MjY6MDYgLTA0MDAKU3ViamVjdDogW1BBVENI IDAxLzQzXSBiZTJuZXQ6IEZpeCBlcnJvciBkZXRlY3Rpb24gbG9naWMgZm9yIEJFMwoKWyBVcHN0 cmVhbSBjb21taXQgZDJjMjcyNWMyY2RiY2MxMDhhMTkxZjUwOTUzZDMxYzdiNjU1Njc2MSBdCgpD aGVjayBmb3IgMHhFMDAgKFJFQ09WRVJBQkxFX0VSUikgYWxvbmcgd2l0aCBBUk1GVyBVRSAoMHgw KQppbiBiZV9kZXRlY3RfZXJyb3IoKSB0byBrbm93IHdoZXRoZXIgdGhlIGVycm9yIGlzIHZhbGlk IGVycm9yIG9yIG5vdAoKRml4ZXM6IDY3M2M5NmU1YSAoImJlMm5ldDogRml4IFVFIGRldGVjdGlv biBsb2dpYyBmb3IgQkUzIikKU2lnbmVkLW9mZi1ieTogU3VyZXNoIFJlZGR5IDxzdXJlc2gucmVk ZHlAYnJvYWRjb20uY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRh dmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvZW11bGV4L2JlbmV0L2JlX21h aW4uYyB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2VtdWxleC9iZW5ldC9iZV9t YWluLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9lbXVsZXgvYmVuZXQvYmVfbWFpbi5jCmluZGV4 IDU3NzRmYjZmOGFhMC4uNGQ3NjRjM2VlMTU1IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhl cm5ldC9lbXVsZXgvYmVuZXQvYmVfbWFpbi5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Vt dWxleC9iZW5ldC9iZV9tYWluLmMKQEAgLTMzMDksNyArMzMwOSw5IEBAIHZvaWQgYmVfZGV0ZWN0 X2Vycm9yKHN0cnVjdCBiZV9hZGFwdGVyICphZGFwdGVyKQogCQkJCWlmICgodmFsICYgUE9TVF9T VEFHRV9GQVRfTE9HX1NUQVJUKQogCQkJCSAgICAgIT0gUE9TVF9TVEFHRV9GQVRfTE9HX1NUQVJU ICYmCiAJCQkJICAgICh2YWwgJiBQT1NUX1NUQUdFX0FSTUZXX1VFKQotCQkJCSAgICAgIT0gUE9T VF9TVEFHRV9BUk1GV19VRSkKKwkJCQkgICAgICE9IFBPU1RfU1RBR0VfQVJNRldfVUUgJiYKKwkJ CQkgICAgKHZhbCAmIFBPU1RfU1RBR0VfUkVDT1ZFUkFCTEVfRVJSKQorCQkJCSAgICAgIT0gUE9T VF9TVEFHRV9SRUNPVkVSQUJMRV9FUlIpCiAJCQkJCXJldHVybjsKIAkJCX0KIAotLSAKMi4xNy4x CgoKRnJvbSA5ZDNjNGY0YzBhMDAxZmJmMmQ4OGExZjM2OWY2YmYyNDJjYTliMWUyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpYSBMYXdhbGwgPEp1bGlhLkxhd2FsbEBsaXA2LmZy PgpEYXRlOiBXZWQsIDYgSnVuIDIwMTggMTU6MDM6MjIgKzAyMDAKU3ViamVjdDogW1BBVENIIDAy LzQzXSBibngyeDogdXNlIHRoZSByaWdodCBjb25zdGFudAoKWyBVcHN0cmVhbSBjb21taXQgZGQ2 MTJmMThhNDliNjNhZjhiM2E1ZjU3MmQ5OTliZGIxOTczODViYyBdCgpOZWFyYnkgY29kZSB0aGF0 IGFsc28gdGVzdHMgcG9ydCBzdWdnZXN0cyB0aGF0IHRoZSBQMCBjb25zdGFudCBzaG91bGQgYmUK dXNlZCB3aGVuIHBvcnQgaXMgemVyby4KClRoZSBzZW1hbnRpYyBtYXRjaCB0aGF0IGZpbmRzIHRo aXMgcHJvYmxlbSBpcyBhcyBmb2xsb3dzOgooaHR0cDovL2NvY2NpbmVsbGUubGlwNi5mci8pCgov LyA8c21wbD4KQEAKZXhwcmVzc2lvbiBlLGUxOwpAQAoKKiBlID8gZTEgOiBlMQovLyA8L3NtcGw+ CgpGaXhlczogNmMzMjE4YzZmN2U1ICgiYm54Mng6IEFkanVzdCBFVFMgdG8gNTc4eHgiKQpTaWdu ZWQtb2ZmLWJ5OiBKdWxpYSBMYXdhbGwgPEp1bGlhLkxhd2FsbEBsaXA2LmZyPgpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9u ZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbGluay5jIHwgMiArLQogMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbGluay5jIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbGluay5jCmluZGV4IDdkZDgzZDBlZjBhMC4u MjIyNDNjNDgwYTA1IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9i bngyeC9ibngyeF9saW5rLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54 MngvYm54MnhfbGluay5jCkBAIC01ODgsNyArNTg4LDcgQEAgc3RhdGljIHZvaWQgYm54MnhfZXRz X2UzYjBfbmlnX2Rpc2FibGVkKGNvbnN0IHN0cnVjdCBsaW5rX3BhcmFtcyAqcGFyYW1zLAogCSAq IHNsb3RzIGZvciB0aGUgaGlnaGVzdCBwcmlvcml0eS4KIAkgKi8KIAlSRUdfV1IoYnAsIChwb3J0 KSA/IE5JR19SRUdfUDFfVFhfQVJCX05VTV9TVFJJQ1RfQVJCX1NMT1RTIDoKLQkJICAgTklHX1JF R19QMV9UWF9BUkJfTlVNX1NUUklDVF9BUkJfU0xPVFMsIDB4MTAwKTsKKwkJICAgTklHX1JFR19Q MF9UWF9BUkJfTlVNX1NUUklDVF9BUkJfU0xPVFMsIDB4MTAwKTsKIAkvKiBNYXBwaW5nIGJldHdl ZW4gdGhlIENSRURJVF9XRUlHSFQgcmVnaXN0ZXJzIGFuZCBhY3R1YWwgY2xpZW50CiAJICogbnVt YmVycwogCSAqLwotLSAKMi4xNy4xCgoKRnJvbSBhZjliNjk1MWYyYjg0NzIxYTFiOWI0ODk0MmJj ZGRiZjYxZTkwMDIyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEJsYWtleSA8 cGF1bGJAbWVsbGFub3guY29tPgpEYXRlOiBXZWQsIDMwIE1heSAyMDE4IDExOjI5OjE1ICswMzAw ClN1YmplY3Q6IFtQQVRDSCAwMy80M10gY2xzX2Zsb3dlcjogRml4IGluY29ycmVjdCBpZHIgcmVs ZWFzZSB3aGVuIGZhaWxpbmcgdG8KIG1vZGlmeSBydWxlCgpbIFVwc3RyZWFtIGNvbW1pdCA4MjU4 ZDJkYTlmOWY1MjFkY2U3MDE5ZTAxODM2MGMyOGQxMTYzNTRlIF0KCldoZW4gd2UgZmFpbCB0byBt b2RpZnkgYSBydWxlLCB3ZSBpbmNvcnJlY3RseSByZWxlYXNlIHRoZSBpZHIgaGFuZGxlCm9mIHRo ZSB1bm1vZGlmaWVkIG9sZCBydWxlLgoKRml4IHRoYXQgYnkgY2hlY2tpbmcgaWYgd2UgbmVlZCB0 byByZWxlYXNlIGl0LgoKRml4ZXM6IGZlMjUwMmU0OWI1OCAoIm5ldF9zY2hlZDogcmVtb3ZlIGNs c19mbG93ZXIgaWRyIG9uIGZhaWx1cmUiKQpSZXBvcnRlZC1ieTogVmxhZCBCdXNsb3YgPHZsYWRi dUBtZWxsYW5veC5jb20+ClJldmlld2VkLWJ5OiBSb2kgRGF5YW4gPHJvaWRAbWVsbGFub3guY29t PgpBY2tlZC1ieTogSmlyaSBQaXJrbyA8amlyaUBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6 IFBhdWwgQmxha2V5IDxwYXVsYkBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMu IE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQvY2xzX2Zsb3dlci5j IHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvbmV0L3NjaGVkL2Nsc19mbG93ZXIuYyBiL25ldC9zY2hlZC9jbHNfZmxvd2Vy LmMKaW5kZXggN2QwY2UyYzQwZjkzLi4yYzBjNTU3YzAwMDcgMTAwNjQ0Ci0tLSBhL25ldC9zY2hl ZC9jbHNfZmxvd2VyLmMKKysrIGIvbmV0L3NjaGVkL2Nsc19mbG93ZXIuYwpAQCAtOTc0LDcgKzk3 NCw3IEBAIHN0YXRpYyBpbnQgZmxfY2hhbmdlKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHNrX2J1 ZmYgKmluX3NrYiwKIAlyZXR1cm4gMDsKIAogZXJyb3V0X2lkcjoKLQlpZiAoZm5ldy0+aGFuZGxl KQorCWlmICghZm9sZCkKIAkJaWRyX3JlbW92ZSgmaGVhZC0+aGFuZGxlX2lkciwgZm5ldy0+aGFu ZGxlKTsKIGVycm91dDoKIAl0Y2ZfZXh0c19kZXN0cm95KCZmbmV3LT5leHRzKTsKLS0gCjIuMTcu MQoKCkZyb20gZmYzMjI2YzI3NjM4YzJmMzFjYmZhNzkyZDc2MTg2MTBiMmIzMDViOSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQWxleGV5IEtvZGFuZXYgPGFsZXhleS5rb2RhbmV2QG9y YWNsZS5jb20+CkRhdGU6IE1vbiwgMjEgTWF5IDIwMTggMTk6Mjg6NDQgKzAzMDAKU3ViamVjdDog W1BBVENIIDA0LzQzXSBkY2NwOiBkb24ndCBmcmVlIGNjaWQyX2hjX3R4X3NvY2sgc3RydWN0IGlu CiBkY2NwX2Rpc2Nvbm5lY3QoKQoKWyBVcHN0cmVhbSBjb21taXQgMjY3N2QyMDY3NzMxNDEwMTI5 M2U2ZGEwMDk0ZWRlN2I1NTI2ZDJiMSBdCgpTeXpib3QgcmVwb3J0ZWQgdGhlIHVzZS1hZnRlci1m cmVlIGluIHRpbWVyX2lzX3N0YXRpY19vYmplY3QoKSBbMV0uCgpUaGlzIGNhbiBoYXBwZW4gYmVj YXVzZSB0aGUgc3RydWN0dXJlIGZvciB0aGUgcnRvIHRpbWVyIChjY2lkMl9oY190eF9zb2NrKQpp cyByZW1vdmVkIGluIGRjY3BfZGlzY29ubmVjdCgpLCBhbmQgY2NpZDJfaGNfdHhfcnRvX2V4cGly ZSgpIGNhbiBiZQpjYWxsZWQgYWZ0ZXIgdGhhdC4KClRoZSByZXBvcnQgWzFdIGlzIHNpbWlsYXIg dG8gdGhlIG9uZSBpbiBjb21taXQgMTIwZTlkYWJhZjU1ICgiZGNjcDoKZGVmZXIgY2NpZF9oY190 eF9kZWxldGUoKSBhdCBkaXNtYW50bGUgdGltZSIpLiBBbmQgdGhlIGZpeCBpcyB0aGUgc2FtZSwK ZGVsYXkgZnJlZWluZyBjY2lkMl9oY190eF9zb2NrIHN0cnVjdHVyZSwgc28gdGhhdCBpdCBpcyBm cmVlZCBpbgpkY2NwX3NrX2Rlc3RydWN0KCkuCgpbMV0KCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpCVUc6IEtBU0FOOiB1 c2UtYWZ0ZXItZnJlZSBpbiB0aW1lcl9pc19zdGF0aWNfb2JqZWN0KzB4ODAvMHg5MAprZXJuZWwv dGltZS90aW1lci5jOjYwNwpSZWFkIG9mIHNpemUgOCBhdCBhZGRyIGZmZmY4ODAxYmViYjUxMTgg YnkgdGFzayBzeXotZXhlY3V0b3IyLzI1Mjk5CgpDUFU6IDEgUElEOiAyNTI5OSBDb21tOiBzeXot ZXhlY3V0b3IyIE5vdCB0YWludGVkIDQuMTcuMC1yYzUrICM1NApIYXJkd2FyZSBuYW1lOiBHb29n bGUgR29vZ2xlIENvbXB1dGUgRW5naW5lL0dvb2dsZSBDb21wdXRlIEVuZ2luZSwgQklPUwpHb29n bGUgMDEvMDEvMjAxMQpDYWxsIFRyYWNlOgogIDxJUlE+CiAgX19kdW1wX3N0YWNrIGxpYi9kdW1w X3N0YWNrLmM6NzcgW2lubGluZV0KICBkdW1wX3N0YWNrKzB4MWI5LzB4Mjk0IGxpYi9kdW1wX3N0 YWNrLmM6MTEzCiAgcHJpbnRfYWRkcmVzc19kZXNjcmlwdGlvbisweDZjLzB4MjBiIG1tL2thc2Fu L3JlcG9ydC5jOjI1NgogIGthc2FuX3JlcG9ydF9lcnJvciBtbS9rYXNhbi9yZXBvcnQuYzozNTQg W2lubGluZV0KICBrYXNhbl9yZXBvcnQuY29sZC43KzB4MjQyLzB4MmZlIG1tL2thc2FuL3JlcG9y dC5jOjQxMgogIF9fYXNhbl9yZXBvcnRfbG9hZDhfbm9hYm9ydCsweDE0LzB4MjAgbW0va2FzYW4v cmVwb3J0LmM6NDMzCiAgdGltZXJfaXNfc3RhdGljX29iamVjdCsweDgwLzB4OTAga2VybmVsL3Rp bWUvdGltZXIuYzo2MDcKICBkZWJ1Z19vYmplY3RfYWN0aXZhdGUrMHgyZDkvMHg2NzAgbGliL2Rl YnVnb2JqZWN0cy5jOjUwOAogIGRlYnVnX3RpbWVyX2FjdGl2YXRlIGtlcm5lbC90aW1lL3RpbWVy LmM6NzA5IFtpbmxpbmVdCiAgZGVidWdfYWN0aXZhdGUga2VybmVsL3RpbWUvdGltZXIuYzo3NjQg W2lubGluZV0KICBfX21vZF90aW1lciBrZXJuZWwvdGltZS90aW1lci5jOjEwNDEgW2lubGluZV0K ICBtb2RfdGltZXIrMHg0ZDMvMHgxM2IwIGtlcm5lbC90aW1lL3RpbWVyLmM6MTEwMgogIHNrX3Jl c2V0X3RpbWVyKzB4MjIvMHg2MCBuZXQvY29yZS9zb2NrLmM6Mjc0MgogIGNjaWQyX2hjX3R4X3J0 b19leHBpcmUrMHg1ODcvMHg2ODAgbmV0L2RjY3AvY2NpZHMvY2NpZDIuYzoxNDcKICBjYWxsX3Rp bWVyX2ZuKzB4MjMwLzB4OTQwIGtlcm5lbC90aW1lL3RpbWVyLmM6MTMyNgogIGV4cGlyZV90aW1l cnMga2VybmVsL3RpbWUvdGltZXIuYzoxMzYzIFtpbmxpbmVdCiAgX19ydW5fdGltZXJzKzB4Nzll LzB4YzUwIGtlcm5lbC90aW1lL3RpbWVyLmM6MTY2NgogIHJ1bl90aW1lcl9zb2Z0aXJxKzB4NGMv MHg3MCBrZXJuZWwvdGltZS90aW1lci5jOjE2OTIKICBfX2RvX3NvZnRpcnErMHgyZTAvMHhhZjUg a2VybmVsL3NvZnRpcnEuYzoyODUKICBpbnZva2Vfc29mdGlycSBrZXJuZWwvc29mdGlycS5jOjM2 NSBbaW5saW5lXQogIGlycV9leGl0KzB4MWQxLzB4MjAwIGtlcm5lbC9zb2Z0aXJxLmM6NDA1CiAg ZXhpdGluZ19pcnEgYXJjaC94ODYvaW5jbHVkZS9hc20vYXBpYy5oOjUyNSBbaW5saW5lXQogIHNt cF9hcGljX3RpbWVyX2ludGVycnVwdCsweDE3ZS8weDcxMCBhcmNoL3g4Ni9rZXJuZWwvYXBpYy9h cGljLmM6MTA1MgogIGFwaWNfdGltZXJfaW50ZXJydXB0KzB4Zi8weDIwIGFyY2gveDg2L2VudHJ5 L2VudHJ5XzY0LlM6ODYzCiAgPC9JUlE+Ci4uLgpBbGxvY2F0ZWQgYnkgdGFzayAyNTM3NDoKICBz YXZlX3N0YWNrKzB4NDMvMHhkMCBtbS9rYXNhbi9rYXNhbi5jOjQ0OAogIHNldF90cmFjayBtbS9r YXNhbi9rYXNhbi5jOjQ2MCBbaW5saW5lXQogIGthc2FuX2ttYWxsb2MrMHhjNC8weGUwIG1tL2th c2FuL2thc2FuLmM6NTUzCiAga2FzYW5fc2xhYl9hbGxvYysweDEyLzB4MjAgbW0va2FzYW4va2Fz YW4uYzo0OTAKICBrbWVtX2NhY2hlX2FsbG9jKzB4MTJlLzB4NzYwIG1tL3NsYWIuYzozNTU0CiAg Y2NpZF9uZXcrMHgyNWIvMHgzZTAgbmV0L2RjY3AvY2NpZC5jOjE1MQogIGRjY3BfaGRscl9jY2lk KzB4MjcvMHgxNTAgbmV0L2RjY3AvZmVhdC5jOjQ0CiAgX19kY2NwX2ZlYXRfYWN0aXZhdGUrMHgx ODQvMHgyNzAgbmV0L2RjY3AvZmVhdC5jOjM0NAogIGRjY3BfZmVhdF9hY3RpdmF0ZV92YWx1ZXMr MHgzYTcvMHg4MTkgbmV0L2RjY3AvZmVhdC5jOjE1MzgKICBkY2NwX2NyZWF0ZV9vcGVucmVxX2No aWxkKzB4NDcyLzB4NjEwIG5ldC9kY2NwL21pbmlzb2Nrcy5jOjEyOAogIGRjY3BfdjRfcmVxdWVz dF9yZWN2X3NvY2srMHgxMmMvMHhjYTAgbmV0L2RjY3AvaXB2NC5jOjQwOAogIGRjY3BfdjZfcmVx dWVzdF9yZWN2X3NvY2srMHgxMjVkLzB4MWYxMCBuZXQvZGNjcC9pcHY2LmM6NDE1CiAgZGNjcF9j aGVja19yZXErMHg0NTUvMHg2YTAgbmV0L2RjY3AvbWluaXNvY2tzLmM6MTk3CiAgZGNjcF92NF9y Y3YrMHg3YjgvMHgxZjNmIG5ldC9kY2NwL2lwdjQuYzo4NDEKICBpcF9sb2NhbF9kZWxpdmVyX2Zp bmlzaCsweDJlMy8weGQ4MCBuZXQvaXB2NC9pcF9pbnB1dC5jOjIxNQogIE5GX0hPT0sgaW5jbHVk ZS9saW51eC9uZXRmaWx0ZXIuaDoyODggW2lubGluZV0KICBpcF9sb2NhbF9kZWxpdmVyKzB4MWUx LzB4NzIwIG5ldC9pcHY0L2lwX2lucHV0LmM6MjU2CiAgZHN0X2lucHV0IGluY2x1ZGUvbmV0L2Rz dC5oOjQ1MCBbaW5saW5lXQogIGlwX3Jjdl9maW5pc2grMHg4MWIvMHgyMjAwIG5ldC9pcHY0L2lw X2lucHV0LmM6Mzk2CiAgTkZfSE9PSyBpbmNsdWRlL2xpbnV4L25ldGZpbHRlci5oOjI4OCBbaW5s aW5lXQogIGlwX3JjdisweGI3MC8weDE0M2QgbmV0L2lwdjQvaXBfaW5wdXQuYzo0OTIKICBfX25l dGlmX3JlY2VpdmVfc2tiX2NvcmUrMHgyNmY1LzB4MzYzMCBuZXQvY29yZS9kZXYuYzo0NTkyCiAg X19uZXRpZl9yZWNlaXZlX3NrYisweDJjLzB4MWUwIG5ldC9jb3JlL2Rldi5jOjQ2NTcKICBwcm9j ZXNzX2JhY2tsb2crMHgyMTkvMHg3NjAgbmV0L2NvcmUvZGV2LmM6NTMzNwogIG5hcGlfcG9sbCBu ZXQvY29yZS9kZXYuYzo1NzM1IFtpbmxpbmVdCiAgbmV0X3J4X2FjdGlvbisweDdiNy8weDE5MzAg bmV0L2NvcmUvZGV2LmM6NTgwMQogIF9fZG9fc29mdGlycSsweDJlMC8weGFmNSBrZXJuZWwvc29m dGlycS5jOjI4NQoKRnJlZWQgYnkgdGFzayAyNTM3NDoKICBzYXZlX3N0YWNrKzB4NDMvMHhkMCBt bS9rYXNhbi9rYXNhbi5jOjQ0OAogIHNldF90cmFjayBtbS9rYXNhbi9rYXNhbi5jOjQ2MCBbaW5s aW5lXQogIF9fa2FzYW5fc2xhYl9mcmVlKzB4MTFhLzB4MTcwIG1tL2thc2FuL2thc2FuLmM6NTIx CiAga2FzYW5fc2xhYl9mcmVlKzB4ZS8weDEwIG1tL2thc2FuL2thc2FuLmM6NTI4CiAgX19jYWNo ZV9mcmVlIG1tL3NsYWIuYzozNDk4IFtpbmxpbmVdCiAga21lbV9jYWNoZV9mcmVlKzB4ODYvMHgy ZDAgbW0vc2xhYi5jOjM3NTYKICBjY2lkX2hjX3R4X2RlbGV0ZSsweGMzLzB4MTAwIG5ldC9kY2Nw L2NjaWQuYzoxOTAKICBkY2NwX2Rpc2Nvbm5lY3QrMHgxMzAvMHhjNjYgbmV0L2RjY3AvcHJvdG8u YzoyODYKICBkY2NwX2Nsb3NlKzB4M2JjLzB4ZTYwIG5ldC9kY2NwL3Byb3RvLmM6MTA0NQogIGlu ZXRfcmVsZWFzZSsweDEwNC8weDFmMCBuZXQvaXB2NC9hZl9pbmV0LmM6NDI3CiAgaW5ldDZfcmVs ZWFzZSsweDUwLzB4NzAgbmV0L2lwdjYvYWZfaW5ldDYuYzo0NjAKICBzb2NrX3JlbGVhc2UrMHg5 Ni8weDFiMCBuZXQvc29ja2V0LmM6NTk0CiAgc29ja19jbG9zZSsweDE2LzB4MjAgbmV0L3NvY2tl dC5jOjExNDkKICBfX2ZwdXQrMHgzNGQvMHg4OTAgZnMvZmlsZV90YWJsZS5jOjIwOQogIF9fX19m cHV0KzB4MTUvMHgyMCBmcy9maWxlX3RhYmxlLmM6MjQzCiAgdGFza193b3JrX3J1bisweDFlNC8w eDI5MCBrZXJuZWwvdGFza193b3JrLmM6MTEzCiAgdHJhY2Vob29rX25vdGlmeV9yZXN1bWUgaW5j bHVkZS9saW51eC90cmFjZWhvb2suaDoxOTEgW2lubGluZV0KICBleGl0X3RvX3VzZXJtb2RlX2xv b3ArMHgyYmQvMHgzMTAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6MTY2CiAgcHJlcGFyZV9leGl0 X3RvX3VzZXJtb2RlIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjE5NiBbaW5saW5lXQogIHN5c2Nh bGxfcmV0dXJuX3Nsb3dwYXRoIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI2NSBbaW5saW5lXQog IGRvX3N5c2NhbGxfNjQrMHg2YWMvMHg4MDAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6MjkwCiAg ZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDkvMHhiZQoKVGhlIGJ1Z2d5IGFkZHJl c3MgYmVsb25ncyB0byB0aGUgb2JqZWN0IGF0IGZmZmY4ODAxYmViYjRjYzAKICB3aGljaCBiZWxv bmdzIHRvIHRoZSBjYWNoZSBjY2lkMl9oY190eF9zb2NrIG9mIHNpemUgMTI0MApUaGUgYnVnZ3kg YWRkcmVzcyBpcyBsb2NhdGVkIDExMTIgYnl0ZXMgaW5zaWRlIG9mCiAgMTI0MC1ieXRlIHJlZ2lv biBbZmZmZjg4MDFiZWJiNGNjMCwgZmZmZjg4MDFiZWJiNTE5OCkKVGhlIGJ1Z2d5IGFkZHJlc3Mg YmVsb25ncyB0byB0aGUgcGFnZToKcGFnZTpmZmZmZWEwMDA2ZmFlZDAwIGNvdW50OjEgbWFwY291 bnQ6MCBtYXBwaW5nOmZmZmY4ODAxYmViYjQxYzAKaW5kZXg6MHhmZmZmODgwMWJlYmI1MjQwIGNv bXBvdW5kX21hcGNvdW50OiAwCmZsYWdzOiAweDJmZmZjMDAwMDAwODEwMChzbGFifGhlYWQpCnJh dzogMDJmZmZjMDAwMDAwODEwMCBmZmZmODgwMWJlYmI0MWMwIGZmZmY4ODAxYmViYjUyNDAgMDAw MDAwMDEwMDAwMDAwMwpyYXc6IGZmZmY4ODAxY2RiYTMxMzggZmZmZmVhMDAwNzYzNDEyMCBmZmZm ODgwMWNkYmFhYjQwIDAwMDAwMDAwMDAwMDAwMDAKcGFnZSBkdW1wZWQgYmVjYXVzZToga2FzYW46 IGJhZCBhY2Nlc3MgZGV0ZWN0ZWQKLi4uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKUmVwb3J0ZWQtYnk6IHN5emJvdCs1 ZDQ3ZTllYzkxYTZmMTVkYmQ2ZkBzeXprYWxsZXIuYXBwc3BvdG1haWwuY29tClNpZ25lZC1vZmYt Ynk6IEFsZXhleSBLb2RhbmV2IDxhbGV4ZXkua29kYW5ldkBvcmFjbGUuY29tPgpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2RjY3Av cHJvdG8uYyB8IDIgLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL25ldC9kY2NwL3Byb3RvLmMgYi9uZXQvZGNjcC9wcm90by5jCmluZGV4IDg0Y2Q0ZTNmZDAx Yi4uMGQ1NmUzNmE2ZGI3IDEwMDY0NAotLS0gYS9uZXQvZGNjcC9wcm90by5jCisrKyBiL25ldC9k Y2NwL3Byb3RvLmMKQEAgLTI4Myw5ICsyODMsNyBAQCBpbnQgZGNjcF9kaXNjb25uZWN0KHN0cnVj dCBzb2NrICpzaywgaW50IGZsYWdzKQogCiAJZGNjcF9jbGVhcl94bWl0X3RpbWVycyhzayk7CiAJ Y2NpZF9oY19yeF9kZWxldGUoZHAtPmRjY3BzX2hjX3J4X2NjaWQsIHNrKTsKLQljY2lkX2hjX3R4 X2RlbGV0ZShkcC0+ZGNjcHNfaGNfdHhfY2NpZCwgc2spOwogCWRwLT5kY2Nwc19oY19yeF9jY2lk ID0gTlVMTDsKLQlkcC0+ZGNjcHNfaGNfdHhfY2NpZCA9IE5VTEw7CiAKIAlfX3NrYl9xdWV1ZV9w dXJnZSgmc2stPnNrX3JlY2VpdmVfcXVldWUpOwogCV9fc2tiX3F1ZXVlX3B1cmdlKCZzay0+c2tf d3JpdGVfcXVldWUpOwotLSAKMi4xNy4xCgoKRnJvbSAwNzNmZmJiZjQyZDUxZTQ0YTJmYTIzYjMy OTJhYTQxMzE3OGZkYzQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHb3ZpbmRhcmFq dWx1IFZhcmFkYXJhamFuIDxndmFyYWRhckBjaXNjby5jb20+CkRhdGU6IFdlZCwgMjMgTWF5IDIw MTggMTE6MTc6MzkgLTA3MDAKU3ViamVjdDogW1BBVENIIDA1LzQzXSBlbmljOiBzZXQgRE1BIG1h c2sgdG8gNDcgYml0CgpbIFVwc3RyZWFtIGNvbW1pdCAzMjJlYWEwNmQ1NWViYzE0MDJhNGE4ZDE0 MDk0NWNmZjUzNjYzOGI0IF0KCkluIGNvbW1pdCA2MjRkYmY1NWEzNTliICgiZHJpdmVyL25ldDog ZW5pYzogVHJ5IERNQSA2NCBmaXJzdCwgdGhlbgpmYWlsb3ZlciB0byBETUEiKSBETUEgbWFzayB3 YXMgY2hhbmdlZCBmcm9tIDQwIGJpdHMgdG8gNjQgYml0cy4KSGFyZHdhcmUgYWN0dWFsbHkgc3Vw cG9ydHMgb25seSA0NyBiaXRzLgoKRml4ZXM6IDYyNGRiZjU1YTM1OWIgKCJkcml2ZXIvbmV0OiBl bmljOiBUcnkgRE1BIDY0IGZpcnN0LCB0aGVuIGZhaWxvdmVyIHRvIERNQSIpClNpZ25lZC1vZmYt Ynk6IEdvdmluZGFyYWp1bHUgVmFyYWRhcmFqYW4gPGd2YXJhZGFyQGNpc2NvLmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZl cnMvbmV0L2V0aGVybmV0L2Npc2NvL2VuaWMvZW5pY19tYWluLmMgfCA4ICsrKystLS0tCiAxIGZp bGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L2V0aGVybmV0L2Npc2NvL2VuaWMvZW5pY19tYWluLmMgYi9kcml2ZXJzL25l dC9ldGhlcm5ldC9jaXNjby9lbmljL2VuaWNfbWFpbi5jCmluZGV4IGI5MTEwOWQ5NjdmYS4uMzE3 OTU5OWRkNzk3IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9jaXNjby9lbmljL2Vu aWNfbWFpbi5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Npc2NvL2VuaWMvZW5pY19tYWlu LmMKQEAgLTI3MDQsMTEgKzI3MDQsMTEgQEAgc3RhdGljIGludCBlbmljX3Byb2JlKHN0cnVjdCBw Y2lfZGV2ICpwZGV2LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqZW50KQogCXBjaV9zZXRf bWFzdGVyKHBkZXYpOwogCiAJLyogUXVlcnkgUENJIGNvbnRyb2xsZXIgb24gc3lzdGVtIGZvciBE TUEgYWRkcmVzc2luZwotCSAqIGxpbWl0YXRpb24gZm9yIHRoZSBkZXZpY2UuICBUcnkgNjQtYml0 IGZpcnN0LCBhbmQKKwkgKiBsaW1pdGF0aW9uIGZvciB0aGUgZGV2aWNlLiAgVHJ5IDQ3LWJpdCBm aXJzdCwgYW5kCiAJICogZmFpbCB0byAzMi1iaXQuCiAJICovCiAKLQllcnIgPSBwY2lfc2V0X2Rt YV9tYXNrKHBkZXYsIERNQV9CSVRfTUFTSyg2NCkpOworCWVyciA9IHBjaV9zZXRfZG1hX21hc2so cGRldiwgRE1BX0JJVF9NQVNLKDQ3KSk7CiAJaWYgKGVycikgewogCQllcnIgPSBwY2lfc2V0X2Rt YV9tYXNrKHBkZXYsIERNQV9CSVRfTUFTSygzMikpOwogCQlpZiAoZXJyKSB7CkBAIC0yNzIyLDEw ICsyNzIyLDEwIEBAIHN0YXRpYyBpbnQgZW5pY19wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwg Y29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmVudCkKIAkJCWdvdG8gZXJyX291dF9yZWxlYXNl X3JlZ2lvbnM7CiAJCX0KIAl9IGVsc2UgewotCQllcnIgPSBwY2lfc2V0X2NvbnNpc3RlbnRfZG1h X21hc2socGRldiwgRE1BX0JJVF9NQVNLKDY0KSk7CisJCWVyciA9IHBjaV9zZXRfY29uc2lzdGVu dF9kbWFfbWFzayhwZGV2LCBETUFfQklUX01BU0soNDcpKTsKIAkJaWYgKGVycikgewogCQkJZGV2 X2VycihkZXYsICJVbmFibGUgdG8gb2J0YWluICV1LWJpdCBETUEgIgotCQkJCSJmb3IgY29uc2lz dGVudCBhbGxvY2F0aW9ucywgYWJvcnRpbmdcbiIsIDY0KTsKKwkJCQkiZm9yIGNvbnNpc3RlbnQg YWxsb2NhdGlvbnMsIGFib3J0aW5nXG4iLCA0Nyk7CiAJCQlnb3RvIGVycl9vdXRfcmVsZWFzZV9y ZWdpb25zOwogCQl9CiAJCXVzaW5nX2RhYyA9IDE7Ci0tIAoyLjE3LjEKCgpGcm9tIDdjMWE4NTgx NzcwY2RjNTUxMjFhMDBmMWFjNzk5MGY5NTA0MGY3NDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IFNhYnJpbmEgRHVicm9jYSA8c2RAcXVlYXN5c25haWwubmV0PgpEYXRlOiBUdWUsIDUg SnVuIDIwMTggMTU6MDE6NTkgKzAyMDAKU3ViamVjdDogW1BBVENIIDA2LzQzXSBpcDZtcjogb25s eSBzZXQgaXA2bXJfdGFibGUgZnJvbSBzZXRzb2Nrb3B0IHdoZW4KIGlwNm1yX25ld190YWJsZSBz dWNjZWVkcwoKWyBVcHN0cmVhbSBjb21taXQgODQ4MjM1ZWRiNWM5M2VkMDg2NzAwNTg0YzhmZjY0 ZjZkN2ZjNzc4ZCBdCgpDdXJyZW50bHksIHJhdzZfc2soc2spLT5pcDZtcl90YWJsZSBpcyBzZXQg dW5jb25kaXRpb25hbGx5IGR1cmluZwppcDZfbXJvdXRlX3NldHNvY2tvcHQoTVJUNl9UQUJMRSku IEEgc3Vic2VxdWVudCBhdHRlbXB0IGF0IHRoZSBzYW1lCnNldHNvY2tvcHQgd2lsbCBmYWlsIHdp dGggLUVOT0VOVCwgc2luY2Ugd2UgaGF2ZW4ndCBhY3R1YWxseSBjcmVhdGVkCnRoYXQgdGFibGUu CgpBIHNpbWlsYXIgZml4IGZvciBpcHY0IHdhcyBpbmNsdWRlZCBpbiBjb21taXQgNWUxODU5ZmJj YzNjICgiaXB2NDogaXBtcjoKdmFyaW91cyBmaXhlcyBhbmQgY2xlYW51cHMiKS4KCkZpeGVzOiBk MWRiMjc1ZGQzZjYgKCJpcHY2OiBpcDZtcjogc3VwcG9ydCBtdWx0aXBsZSB0YWJsZXMiKQpTaWdu ZWQtb2ZmLWJ5OiBTYWJyaW5hIER1YnJvY2EgPHNkQHF1ZWFzeXNuYWlsLm5ldD4KU2lnbmVkLW9m Zi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY2 L2lwNm1yLmMgfCAzICsrLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY2L2lwNm1yLmMgYi9uZXQvaXB2Ni9pcDZtci5j CmluZGV4IDlmNmNhY2U5YzgxNy4uYmFiMTY2YTZmYmIzIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9p cDZtci5jCisrKyBiL25ldC9pcHY2L2lwNm1yLmMKQEAgLTE4MDAsNyArMTgwMCw4IEBAIGludCBp cDZfbXJvdXRlX3NldHNvY2tvcHQoc3RydWN0IHNvY2sgKnNrLCBpbnQgb3B0bmFtZSwgY2hhciBf X3VzZXIgKm9wdHZhbCwgdW5zCiAJCXJldCA9IDA7CiAJCWlmICghaXA2bXJfbmV3X3RhYmxlKG5l dCwgdikpCiAJCQlyZXQgPSAtRU5PTUVNOwotCQlyYXc2X3NrKHNrKS0+aXA2bXJfdGFibGUgPSB2 OworCQllbHNlCisJCQlyYXc2X3NrKHNrKS0+aXA2bXJfdGFibGUgPSB2OwogCQlydG5sX3VubG9j aygpOwogCQlyZXR1cm4gcmV0OwogCX0KLS0gCjIuMTcuMQoKCkZyb20gNGQ0NDUxZWEyZThmZTg0 MDdlZDk1NzcyY2YwMjFiOWMwYjE2NzljYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog Tmljb2xhcyBEaWNodGVsIDxuaWNvbGFzLmRpY2h0ZWxANndpbmQuY29tPgpEYXRlOiBUaHUsIDMx IE1heSAyMDE4IDEwOjU5OjMzICswMjAwClN1YmplY3Q6IFtQQVRDSCAwNy80M10gaXA2X3R1bm5l bDogcmVtb3ZlIG1hZ2ljIG10dSB2YWx1ZSAweEZGRjgKClsgVXBzdHJlYW0gY29tbWl0IGY3ZmYx ZmRlOTQ0MWI0ZmNjOGZmYjZlNjZlNmU1YTAwZDAwODkzN2UgXQoKSSBkb24ndCBrbm93IHdoZXJl IHRoaXMgdmFsdWUgY29tZXMgZnJvbSAocHJvYmFibHkgYSBjb3B5IGFuZCBwYXN0ZSBhbmQKcGFz dGUgYW5kIHBhc3RlIC4uLikuCkxldCdzIHVzZSBzdGFuZGFyZCB2YWx1ZXMgd2hpY2ggYXJlIGEg Yml0IGdyZWF0ZXIuCgpMaW5rOiBodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgv a2VybmVsL2dpdC9kYXZlbS9uZXRkZXYtdmdlci1jdnMuZ2l0L2NvbW1pdC8/aWQ9ZTVhZmQzNTZh NDExYQpTaWduZWQtb2ZmLWJ5OiBOaWNvbGFzIERpY2h0ZWwgPG5pY29sYXMuZGljaHRlbEA2d2lu ZC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5l dD4KLS0tCiBuZXQvaXB2Ni9pcDZfdHVubmVsLmMgfCAxMSArKysrKysrKy0tLQogbmV0L2lwdjYv c2l0LmMgICAgICAgIHwgIDUgKysrLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygr KSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9pcDZfdHVubmVsLmMgYi9u ZXQvaXB2Ni9pcDZfdHVubmVsLmMKaW5kZXggMTc5MzEzYjA5MjZjLi41OGI0ZmZkNzE2OGUgMTAw NjQ0Ci0tLSBhL25ldC9pcHY2L2lwNl90dW5uZWwuYworKysgYi9uZXQvaXB2Ni9pcDZfdHVubmVs LmMKQEAgLTE2ODgsOCArMTY4OCwxMyBAQCBpbnQgaXA2X3RubF9jaGFuZ2VfbXR1KHN0cnVjdCBu ZXRfZGV2aWNlICpkZXYsIGludCBuZXdfbXR1KQogCQlpZiAobmV3X210dSA8IEVUSF9NSU5fTVRV KQogCQkJcmV0dXJuIC1FSU5WQUw7CiAJfQotCWlmIChuZXdfbXR1ID4gMHhGRkY4IC0gZGV2LT5o YXJkX2hlYWRlcl9sZW4pCi0JCXJldHVybiAtRUlOVkFMOworCWlmICh0bmwtPnBhcm1zLnByb3Rv ID09IElQUFJPVE9fSVBWNiB8fCB0bmwtPnBhcm1zLnByb3RvID09IDApIHsKKwkJaWYgKG5ld19t dHUgPiBJUDZfTUFYX01UVSAtIGRldi0+aGFyZF9oZWFkZXJfbGVuKQorCQkJcmV0dXJuIC1FSU5W QUw7CisJfSBlbHNlIHsKKwkJaWYgKG5ld19tdHUgPiBJUF9NQVhfTVRVIC0gZGV2LT5oYXJkX2hl YWRlcl9sZW4pCisJCQlyZXR1cm4gLUVJTlZBTDsKKwl9CiAJZGV2LT5tdHUgPSBuZXdfbXR1Owog CXJldHVybiAwOwogfQpAQCAtMTgzNyw3ICsxODQyLDcgQEAgaXA2X3RubF9kZXZfaW5pdF9nZW4o c3RydWN0IG5ldF9kZXZpY2UgKmRldikKIAlpZiAoISh0LT5wYXJtcy5mbGFncyAmIElQNl9UTkxf Rl9JR05fRU5DQVBfTElNSVQpKQogCQlkZXYtPm10dSAtPSA4OwogCWRldi0+bWluX210dSA9IEVU SF9NSU5fTVRVOwotCWRldi0+bWF4X210dSA9IDB4RkZGOCAtIGRldi0+aGFyZF9oZWFkZXJfbGVu OworCWRldi0+bWF4X210dSA9IElQNl9NQVhfTVRVIC0gZGV2LT5oYXJkX2hlYWRlcl9sZW47CiAK IAlyZXR1cm4gMDsKIApkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvc2l0LmMgYi9uZXQvaXB2Ni9zaXQu YwppbmRleCBlODU3OTE4NTRjODcuLjVkMTc2YzUzMmYwYyAxMDA2NDQKLS0tIGEvbmV0L2lwdjYv c2l0LmMKKysrIGIvbmV0L2lwdjYvc2l0LmMKQEAgLTEzNzEsNyArMTM3MSw3IEBAIHN0YXRpYyB2 b2lkIGlwaXA2X3R1bm5lbF9zZXR1cChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogCWRldi0+aGFy ZF9oZWFkZXJfbGVuCT0gTExfTUFYX0hFQURFUiArIHRfaGxlbjsKIAlkZXYtPm10dQkJPSBFVEhf REFUQV9MRU4gLSB0X2hsZW47CiAJZGV2LT5taW5fbXR1CQk9IElQVjZfTUlOX01UVTsKLQlkZXYt Pm1heF9tdHUJCT0gMHhGRkY4IC0gdF9obGVuOworCWRldi0+bWF4X210dQkJPSBJUDZfTUFYX01U VSAtIHRfaGxlbjsKIAlkZXYtPmZsYWdzCQk9IElGRl9OT0FSUDsKIAluZXRpZl9rZWVwX2RzdChk ZXYpOwogCWRldi0+YWRkcl9sZW4JCT0gNDsKQEAgLTE1ODMsNyArMTU4Myw4IEBAIHN0YXRpYyBp bnQgaXBpcDZfbmV3bGluayhzdHJ1Y3QgbmV0ICpzcmNfbmV0LCBzdHJ1Y3QgbmV0X2RldmljZSAq ZGV2LAogCWlmICh0YltJRkxBX01UVV0pIHsKIAkJdTMyIG10dSA9IG5sYV9nZXRfdTMyKHRiW0lG TEFfTVRVXSk7CiAKLQkJaWYgKG10dSA+PSBJUFY2X01JTl9NVFUgJiYgbXR1IDw9IDB4RkZGOCAt IGRldi0+aGFyZF9oZWFkZXJfbGVuKQorCQlpZiAobXR1ID49IElQVjZfTUlOX01UVSAmJgorCQkg ICAgbXR1IDw9IElQNl9NQVhfTVRVIC0gZGV2LT5oYXJkX2hlYWRlcl9sZW4pCiAJCQlkZXYtPm10 dSA9IG10dTsKIAl9CiAKLS0gCjIuMTcuMQoKCkZyb20gM2FlN2NiZDQ0NmM1YTMyZGFjMGFjYTVl NDU3YWYxYzQ0ZGE4MjIwMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1h emV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBNb24sIDIxIE1heSAyMDE4IDEwOjUxOjUz IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwOC80M10gaXBtcjogcHJvcGVybHkgY2hlY2sgcmhsdGFi bGVfaW5pdCgpIHJldHVybiB2YWx1ZQoKWyBVcHN0cmVhbSBjb21taXQgNjZmYjMzMjU0ZjQ1ZGY0 YjA0OWY0ODdhZmYxY2JkZTFlZjkxOTM5MCBdCgpjb21taXQgOGZiNDcyYzA5YjlkICgiaXBtcjog aW1wcm92ZSBoYXNoIHNjYWxhYmlsaXR5IikKYWRkZWQgYSBjYWxsIHRvIHJobHRhYmxlX2luaXQo KSB3aXRob3V0IGNoZWNraW5nIGl0cyByZXR1cm4gdmFsdWUuCgpUaGlzIHByb2JsZW0gd2FzIHRo ZW4gbGF0ZXIgY29waWVkIHRvIElQdjYgYW5kIGZhY3Rvcml6ZWQgaW4gY29tbWl0CjBiYmJmMGU3 ZDBlNyAoImlwbXIsIGlwNm1yOiBVbml0ZSBjcmVhdGlvbiBvZiBuZXcgbXJfdGFibGUiKQoKa2Fz YW46IENPTkZJR19LQVNBTl9JTkxJTkUgZW5hYmxlZAprYXNhbjogR1BGIGNvdWxkIGJlIGNhdXNl ZCBieSBOVUxMLXB0ciBkZXJlZiBvciB1c2VyIG1lbW9yeSBhY2Nlc3MKZ2VuZXJhbCBwcm90ZWN0 aW9uIGZhdWx0OiAwMDAwIFsjMV0gU01QIEtBU0FOCkR1bXBpbmcgZnRyYWNlIGJ1ZmZlcjoKICAg KGZ0cmFjZSBidWZmZXIgZW1wdHkpCk1vZHVsZXMgbGlua2VkIGluOgpDUFU6IDEgUElEOiAzMTU1 MiBDb21tOiBzeXotZXhlY3V0b3I3IE5vdCB0YWludGVkIDQuMTcuMC1yYzUrICM2MApIYXJkd2Fy ZSBuYW1lOiBHb29nbGUgR29vZ2xlIENvbXB1dGUgRW5naW5lL0dvb2dsZSBDb21wdXRlIEVuZ2lu ZSwgQklPUyBHb29nbGUgMDEvMDEvMjAxMQpSSVA6IDAwMTA6cmh0X2tleV9oYXNoZm4gaW5jbHVk ZS9saW51eC9yaGFzaHRhYmxlLmg6Mjc3IFtpbmxpbmVdClJJUDogMDAxMDpfX3JoYXNodGFibGVf bG9va3VwIGluY2x1ZGUvbGludXgvcmhhc2h0YWJsZS5oOjYzMCBbaW5saW5lXQpSSVA6IDAwMTA6 cmhsdGFibGVfbG9va3VwIGluY2x1ZGUvbGludXgvcmhhc2h0YWJsZS5oOjcxNiBbaW5saW5lXQpS SVA6IDAwMTA6bXJfbWZjX2ZpbmRfcGFyZW50KzB4MmFkLzB4YmIwIG5ldC9pcHY0L2lwbXJfYmFz ZS5jOjYzClJTUDogMDAxODpmZmZmODgwMTgyNmFlZjcwIEVGTEFHUzogMDAwMTAyMDMKUkFYOiAw MDAwMDAwMDAwMDAwMDAxIFJCWDogMDAwMDAwMDAwMDAwMDAwMSBSQ1g6IGZmZmZjOTAwMDFlYTAw MDAKUkRYOiAwMDAwMDAwMDAwMDAwMDc5IFJTSTogZmZmZmZmZmY4NjYxZTg1OSBSREk6IDAwMDAw MDAwMDAwMDAwMGMKUkJQOiBmZmZmODgwMTgyNmFmMWMwIFIwODogZmZmZjg4MDFiMjIxMjAwMCBS MDk6IGZmZmZlZDAwM2I1ZTQ2YzIKUjEwOiBmZmZmZWQwMDNiNWU0NmMyIFIxMTogZmZmZjg4MDFk YWYyMzYxMyBSMTI6IGRmZmZmYzAwMDAwMDAwMDAKUjEzOiBmZmZmODgwMTgyNmFmMTk4IFIxNDog ZmZmZjg4MDFjZjgyMjVjMCBSMTU6IGZmZmY4ODAxODI2YWY2NTgKRlM6ICAwMDAwN2ZmN2ZhNzMy NzAwKDAwMDApIEdTOmZmZmY4ODAxZGFmMDAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAw MApDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzCkNSMjog MDAwMDAwMDNmZmZmZmY5YyBDUjM6IDAwMDAwMDAxYjAyMTAwMDAgQ1I0OiAwMDAwMDAwMDAwMTQw NmUwCkRSMDogMDAwMDAwMDAwMDAwMDAwMCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAw MDAwMDAwMDAwMDAwCkRSMzogMDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZmZTBmZjAg RFI3OiAwMDAwMDAwMDAwMDAwNDAwCkNhbGwgVHJhY2U6CiBpcDZtcl9jYWNoZV9maW5kX3BhcmVu dCBuZXQvaXB2Ni9pcDZtci5jOjk4MSBbaW5saW5lXQogaXA2bXJfbWZjX2RlbGV0ZSsweDFmZS8w eDZiMCBuZXQvaXB2Ni9pcDZtci5jOjEyMjEKIGlwNl9tcm91dGVfc2V0c29ja29wdCsweDE1YzYv MHgxZDcwIG5ldC9pcHY2L2lwNm1yLmM6MTY5OAogZG9faXB2Nl9zZXRzb2Nrb3B0LmlzcmEuOSsw eDQyMi8weDQ2NjAgbmV0L2lwdjYvaXB2Nl9zb2NrZ2x1ZS5jOjE2MwogaXB2Nl9zZXRzb2Nrb3B0 KzB4YmQvMHgxNzAgbmV0L2lwdjYvaXB2Nl9zb2NrZ2x1ZS5jOjkyMgogcmF3djZfc2V0c29ja29w dCsweDU5LzB4MTQwIG5ldC9pcHY2L3Jhdy5jOjEwNjAKIHNvY2tfY29tbW9uX3NldHNvY2tvcHQr MHg5YS8weGUwIG5ldC9jb3JlL3NvY2suYzozMDM5CiBfX3N5c19zZXRzb2Nrb3B0KzB4MWJkLzB4 MzkwIG5ldC9zb2NrZXQuYzoxOTAzCiBfX2RvX3N5c19zZXRzb2Nrb3B0IG5ldC9zb2NrZXQuYzox OTE0IFtpbmxpbmVdCiBfX3NlX3N5c19zZXRzb2Nrb3B0IG5ldC9zb2NrZXQuYzoxOTExIFtpbmxp bmVdCiBfX3g2NF9zeXNfc2V0c29ja29wdCsweGJlLzB4MTUwIG5ldC9zb2NrZXQuYzoxOTExCiBk b19zeXNjYWxsXzY0KzB4MWIxLzB4ODAwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI4NwogZW50 cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDkvMHhiZQoKRml4ZXM6IDhmYjQ3MmMwOWI5 ZCAoImlwbXI6IGltcHJvdmUgaGFzaCBzY2FsYWJpbGl0eSIpCkZpeGVzOiAwYmJiZjBlN2QwZTcg KCJpcG1yLCBpcDZtcjogVW5pdGUgY3JlYXRpb24gb2YgbmV3IG1yX3RhYmxlIikKU2lnbmVkLW9m Zi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpDYzogTmlrb2xheSBBbGVr c2FuZHJvdiA8bmlrb2xheUBjdW11bHVzbmV0d29ya3MuY29tPgpDYzogWXV2YWwgTWludHogPHl1 dmFsbUBtZWxsYW5veC5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5emthbGxlckBnb29nbGVn cm91cHMuY29tPgpBY2tlZC1ieTogTmlrb2xheSBBbGVrc2FuZHJvdiA8bmlrb2xheUBjdW11bHVz bmV0d29ya3MuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvaXBtci5jIHwgNyArKysrKystCiAxIGZpbGUgY2hhbmdl ZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQv aXBtci5jIGIvbmV0L2lwdjQvaXBtci5jCmluZGV4IGIwNTY4OWJiYmEzMS4uOTY2OTcyMmY2ZjU3 IDEwMDY0NAotLS0gYS9uZXQvaXB2NC9pcG1yLmMKKysrIGIvbmV0L2lwdjQvaXBtci5jCkBAIC0z NTYsNiArMzU2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCByaGFzaHRhYmxlX3BhcmFtcyBpcG1y X3JodF9wYXJhbXMgPSB7CiBzdGF0aWMgc3RydWN0IG1yX3RhYmxlICppcG1yX25ld190YWJsZShz dHJ1Y3QgbmV0ICpuZXQsIHUzMiBpZCkKIHsKIAlzdHJ1Y3QgbXJfdGFibGUgKm1ydDsKKwlpbnQg ZXJyOwogCiAJLyogInBpbXJlZyV1IiBzaG91bGQgbm90IGV4Y2VlZCAxNiBieXRlcyAoSUZOQU1T SVopICovCiAJaWYgKGlkICE9IFJUX1RBQkxFX0RFRkFVTFQgJiYgaWQgPj0gMTAwMDAwMDAwMCkK QEAgLTM3MSw3ICszNzIsMTEgQEAgc3RhdGljIHN0cnVjdCBtcl90YWJsZSAqaXBtcl9uZXdfdGFi bGUoc3RydWN0IG5ldCAqbmV0LCB1MzIgaWQpCiAJd3JpdGVfcG5ldCgmbXJ0LT5uZXQsIG5ldCk7 CiAJbXJ0LT5pZCA9IGlkOwogCi0JcmhsdGFibGVfaW5pdCgmbXJ0LT5tZmNfaGFzaCwgJmlwbXJf cmh0X3BhcmFtcyk7CisJZXJyID0gcmhsdGFibGVfaW5pdCgmbXJ0LT5tZmNfaGFzaCwgJmlwbXJf cmh0X3BhcmFtcyk7CisJaWYgKGVycikgeworCQlrZnJlZShtcnQpOworCQlyZXR1cm4gRVJSX1BU UihlcnIpOworCX0KIAlJTklUX0xJU1RfSEVBRCgmbXJ0LT5tZmNfY2FjaGVfbGlzdCk7CiAJSU5J VF9MSVNUX0hFQUQoJm1ydC0+bWZjX3VucmVzX3F1ZXVlKTsKIAotLSAKMi4xNy4xCgoKRnJvbSAz YTk0ZDM0MzViNjk3ZTI4NWU5YTljMGYwZjA2ZmM2ZGFmN2ViODVjIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBXaWxsZW0gZGUgQnJ1aWpuIDx3aWxsZW1iQGdvb2dsZS5jb20+CkRhdGU6 IFdlZCwgMjMgTWF5IDIwMTggMTQ6Mjk6NTIgLTA0MDAKU3ViamVjdDogW1BBVENIIDA5LzQzXSBp cHY0OiByZW1vdmUgd2FybmluZyBpbiBpcF9yZWN2X2Vycm9yCgpbIFVwc3RyZWFtIGNvbW1pdCA3 MzBjNTRkNTk0MDM2NThhNjJhZjY1MTczMzhmYThkNDkyMmMxYjI4IF0KCkEgcHJlY29uZGl0aW9u IGNoZWNrIGluIGlwX3JlY3ZfZXJyb3IgdHJpZ2dlcmVkIG9uIGFuIG90aGVyd2lzZSBiZW5pZ24K cmFjZS4gUmVtb3ZlIHRoZSB3YXJuaW5nLgoKVGhlIHdhcm5pbmcgdHJpZ2dlcnMgd2hlbiBwYXNz aW5nIGFuIGlwdjYgc29ja2V0IHRvIHRoaXMgaXB2NCBlcnJvcgpoYW5kbGluZyBmdW5jdGlvbi4g UmFjZUZ1enplciB3YXMgYWJsZSB0byB0cmlnZ2VyIGl0IGR1ZSB0byBhIHJhY2UKaW4gc2V0c29j a29wdCBJUFY2X0FERFJGT1JNLgoKICAtLS0KICBDUFUwCiAgICBkb19pcHY2X3NldHNvY2tvcHQK ICAgICAgc2stPnNrX3NvY2tldC0+b3BzID0gJmluZXRfZGdyYW1fb3BzOwoKICAtLS0KICBDUFUx CiAgICBzay0+c2tfcHJvdC0+cmVjdm1zZwogICAgICB1ZHBfcmVjdm1zZwogICAgICAgIGlwX3Jl Y3ZfZXJyb3IKICAgICAgICAgIFdBUk5fT05fT05DRShzay0+c2tfZmFtaWx5ID09IEFGX0lORVQ2 KTsKCiAgLS0tCiAgQ1BVMAogICAgZG9faXB2Nl9zZXRzb2Nrb3B0CiAgICAgIHNrLT5za19mYW1p bHkgPSBQRl9JTkVUOwoKVGhpcyBzb2NrZXQgb3B0aW9uIGNvbnZlcnRzIGEgdjYgc29ja2V0IHRo YXQgaXMgY29ubmVjdGVkIHRvIGEgdjQgcGVlcgp0byBhbiB2NCBzb2NrZXQuIEl0IHVwZGF0ZXMg dGhlIHNvY2tldCBvbiB0aGUgZmx5LCBjaGFuZ2luZyBmaWVsZHMgaW4Kc2sgYXMgd2VsbCBhcyBv dGhlciBzdHJ1Y3RzLiBUaGlzIGlzIGluaGVyZW50bHkgbm9uLWF0b21pYy4gSXQgcmFjZXMKd2l0 aCB0aGUgbG9ja2xlc3MgdWRwX3JlY3Ztc2cgcGF0aC4KCk5vIG90aGVyIGNvZGUgbWFrZXMgYW4g YXNzdW1wdGlvbiB0aGF0IHRoZXNlIGZpZWxkcyBhcmUgdXBkYXRlZAphdG9taWNhbGx5LiBJdCBp cyBiZW5pZ24gaGVyZSwgdG9vLCBhcyBpcF9yZWN2X2Vycm9yIGNhcmVzIG9ubHkgYWJvdXQKdGhl IHByb3RvY29sIG9mIHRoZSBza2JzIGVucXVldWVkIG9uIHRoZSBlcnJvciBxdWV1ZSwgZm9yIHdo aWNoCnNrX2ZhbWlseSBpcyBub3QgYSBwcmVjaXNlIHByZWRpY3RvciAodGhhbmtzIHRvIGFub3Ro ZXIgaXN1ZSB3aXRoCklQVjZfQUREUkZPUk0pLgoKTGluazogaHR0cDovL2xrbWwua2VybmVsLm9y Zy9yLzIwMTgwNTE4MTIwODI2LkdBMTk1MTVAZHJhZ29uZXQua2Fpc3QuYWMua3IKRml4ZXM6IDdj ZTg3NWU1ZWNiOCAoImlwdjQ6IHdhcm4gb25jZSBvbiBwYXNzaW5nIEFGX0lORVQ2IHNvY2tldCB0 byBpcF9yZWN2X2Vycm9yIikKUmVwb3J0ZWQtYnk6IERhZVJ5b25nIEplb25nIDx0aHJlZWVhcmNh dEBnbWFpbC5jb20+ClN1Z2dlc3RlZC1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUu Y29tPgpTaWduZWQtb2ZmLWJ5OiBXaWxsZW0gZGUgQnJ1aWpuIDx3aWxsZW1iQGdvb2dsZS5jb20+ ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0t CiBuZXQvaXB2NC9pcF9zb2NrZ2x1ZS5jIHwgMiAtLQogMSBmaWxlIGNoYW5nZWQsIDIgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvaXBfc29ja2dsdWUuYyBiL25ldC9pcHY0L2lw X3NvY2tnbHVlLmMKaW5kZXggNzRjOTYyYjliMDljLi5kODlkOGM1OWI1ZWQgMTAwNjQ0Ci0tLSBh L25ldC9pcHY0L2lwX3NvY2tnbHVlLmMKKysrIGIvbmV0L2lwdjQvaXBfc29ja2dsdWUuYwpAQCAt NTExLDggKzUxMSw2IEBAIGludCBpcF9yZWN2X2Vycm9yKHN0cnVjdCBzb2NrICpzaywgc3RydWN0 IG1zZ2hkciAqbXNnLCBpbnQgbGVuLCBpbnQgKmFkZHJfbGVuKQogCWludCBlcnI7CiAJaW50IGNv cGllZDsKIAotCVdBUk5fT05fT05DRShzay0+c2tfZmFtaWx5ID09IEFGX0lORVQ2KTsKLQogCWVy ciA9IC1FQUdBSU47CiAJc2tiID0gc29ja19kZXF1ZXVlX2Vycl9za2Ioc2spOwogCWlmICghc2ti KQotLSAKMi4xNy4xCgoKRnJvbSAxYWI5ZjczNDY3ZDgzODM4YjU0ZDMwZWU2NGNjNjRjY2E0NzVh YjBhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgS3ViZWNlayA8bWt1YmVj ZWtAc3VzZS5jej4KRGF0ZTogTW9uLCA0IEp1biAyMDE4IDExOjM2OjA1ICswMjAwClN1YmplY3Q6 IFtQQVRDSCAxMC80M10gaXB2Njogb21pdCB0cmFmZmljIGNsYXNzIHdoZW4gY2FsY3VsYXRpbmcg ZmxvdyBoYXNoCgpbIFVwc3RyZWFtIGNvbW1pdCBmYTFiZTdlMDFlYTg2M2U5MTEzNDllMzA0NTY3 MDY3NDk1MThlZWFiIF0KClNvbWUgb2YgdGhlIGNvZGUgcGF0aHMgY2FsY3VsYXRpbmcgZmxvdyBo YXNoIGZvciBJUHY2IHVzZSBmbG93bGFiZWwgbWVtYmVyCm9mIHN0cnVjdCBmbG93aTYgd2hpY2gs IGRlc3BpdGUgaXRzIG5hbWUsIGVuY29kZXMgYm90aCBmbG93IGxhYmVsIGFuZAp0cmFmZmljIGNs YXNzLiBJZiB0cmFmZmljIGNsYXNzIGNoYW5nZXMgd2l0aGluIGEgVENQIGNvbm5lY3Rpb24gKGFz IGUuZy4Kc3NoIGRvZXMpLCBFQ01QIHJvdXRlIGNhbiBzd2l0Y2ggYmV0d2VlbiBwYXRoLiBJdCdz IGFsc28gaW5jb25zaXN0ZW50IHdpdGgKb3RoZXIgY29kZSBwYXRocyB3aGVyZSBpcDZfZmxvd2xh YmVsKCkgKHJldHVybmluZyBvbmx5IGZsb3cgbGFiZWwpIGlzIHVzZWQKdG8gZmVlZCB0aGUga2V5 LgoKVXNlIG9ubHkgZmxvdyBsYWJlbCBldmVyeXdoZXJlLCBpbmNsdWRpbmcgb25lIHBsYWNlIHdo ZXJlIGhhc2gga2V5IGlzIHNldAp1c2luZyBpcDZfZmxvd2luZm8oKS4KCkZpeGVzOiA1MWViZDMx ODE1NzIgKCJpcHY2OiBhZGQgc3VwcG9ydCBvZiBlcXVhbCBjb3N0IG11bHRpcGF0aCAoRUNNUCki KQpGaXhlczogZjcwZWEwMThkYTA2ICgibmV0OiBBZGQgZnVuY3Rpb25zIHRvIGdldCBza2ItPmhh c2ggYmFzZWQgb24gZmxvdyBzdHJ1Y3R1cmVzIikKU2lnbmVkLW9mZi1ieTogTWljaGFsIEt1YmVj ZWsgPG1rdWJlY2VrQHN1c2UuY3o+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBpbmNsdWRlL25ldC9pcHY2LmggICAgICAgIHwgNSArKysr KwogbmV0L2NvcmUvZmxvd19kaXNzZWN0b3IuYyB8IDIgKy0KIG5ldC9pcHY2L3JvdXRlLmMgICAg ICAgICAgfCAyICstCiAzIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9pcHY2LmggYi9pbmNsdWRlL25ldC9pcHY2 LmgKaW5kZXggODYwNmM5MTEzZDNmLi5hMzMzOWZmNzMyYTAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUv bmV0L2lwdjYuaAorKysgYi9pbmNsdWRlL25ldC9pcHY2LmgKQEAgLTkxOCw2ICs5MTgsMTEgQEAg c3RhdGljIGlubGluZSBfX2JlMzIgaXA2X21ha2VfZmxvd2luZm8odW5zaWduZWQgaW50IHRjbGFz cywgX19iZTMyIGZsb3dsYWJlbCkKIAlyZXR1cm4gaHRvbmwodGNsYXNzIDw8IElQVjZfVENMQVNT X1NISUZUKSB8IGZsb3dsYWJlbDsKIH0KIAorc3RhdGljIGlubGluZSBfX2JlMzIgZmxvd2k2X2dl dF9mbG93bGFiZWwoY29uc3Qgc3RydWN0IGZsb3dpNiAqZmw2KQoreworCXJldHVybiBmbDYtPmZs b3dsYWJlbCAmIElQVjZfRkxPV0xBQkVMX01BU0s7Cit9CisKIC8qCiAgKglQcm90b3R5cGVzIGV4 cG9ydGVkIGJ5IGlwdjYKICAqLwpkaWZmIC0tZ2l0IGEvbmV0L2NvcmUvZmxvd19kaXNzZWN0b3Iu YyBiL25ldC9jb3JlL2Zsb3dfZGlzc2VjdG9yLmMKaW5kZXggNTU5ZGI5ZWE4ZDg2Li5lYzNkNDdl YmQ5MTkgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL2Zsb3dfZGlzc2VjdG9yLmMKKysrIGIvbmV0L2Nv cmUvZmxvd19kaXNzZWN0b3IuYwpAQCAtMTMzNCw3ICsxMzM0LDcgQEAgX191MzIgX19nZXRfaGFz aF9mcm9tX2Zsb3dpNihjb25zdCBzdHJ1Y3QgZmxvd2k2ICpmbDYsIHN0cnVjdCBmbG93X2tleXMg KmtleXMpCiAJa2V5cy0+cG9ydHMuc3JjID0gZmw2LT5mbDZfc3BvcnQ7CiAJa2V5cy0+cG9ydHMu ZHN0ID0gZmw2LT5mbDZfZHBvcnQ7CiAJa2V5cy0+a2V5aWQua2V5aWQgPSBmbDYtPmZsNl9ncmVf a2V5OwotCWtleXMtPnRhZ3MuZmxvd19sYWJlbCA9IChfX2ZvcmNlIHUzMilmbDYtPmZsb3dsYWJl bDsKKwlrZXlzLT50YWdzLmZsb3dfbGFiZWwgPSAoX19mb3JjZSB1MzIpZmxvd2k2X2dldF9mbG93 bGFiZWwoZmw2KTsKIAlrZXlzLT5iYXNpYy5pcF9wcm90byA9IGZsNi0+Zmxvd2k2X3Byb3RvOwog CiAJcmV0dXJuIGZsb3dfaGFzaF9mcm9tX2tleXMoa2V5cyk7CmRpZmYgLS1naXQgYS9uZXQvaXB2 Ni9yb3V0ZS5jIGIvbmV0L2lwdjYvcm91dGUuYwppbmRleCAxYWVlMWE1MzdjYjEuLjhmNzQ5NzQy ZjExZiAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvcm91dGUuYworKysgYi9uZXQvaXB2Ni9yb3V0ZS5j CkBAIC0xODUwLDcgKzE4NTAsNyBAQCBzdGF0aWMgdm9pZCBpcDZfbXVsdGlwYXRoX2wzX2tleXMo Y29uc3Qgc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAlrZXlzLT5jb250cm9sLmFkZHJfdHlwZSA9IEZM T1dfRElTU0VDVE9SX0tFWV9JUFY2X0FERFJTOwogCWtleXMtPmFkZHJzLnY2YWRkcnMuc3JjID0g a2V5X2lwaC0+c2FkZHI7CiAJa2V5cy0+YWRkcnMudjZhZGRycy5kc3QgPSBrZXlfaXBoLT5kYWRk cjsKLQlrZXlzLT50YWdzLmZsb3dfbGFiZWwgPSBpcDZfZmxvd2luZm8oa2V5X2lwaCk7CisJa2V5 cy0+dGFncy5mbG93X2xhYmVsID0gaXA2X2Zsb3dsYWJlbChrZXlfaXBoKTsKIAlrZXlzLT5iYXNp Yy5pcF9wcm90byA9IGtleV9pcGgtPm5leHRoZHI7CiB9CiAKLS0gCjIuMTcuMQoKCkZyb20gNWQ5 MWNhZDY1ZGJkNTI3Mzk0OTFhMTE2ZjA0ZTNkN2UwNjliNGE4YSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogV2Vud2VuIFdhbmcgPHdhbmc2NDk1QHVtbi5lZHU+CkRhdGU6IE1vbiwgMjEg TWF5IDIwMTggMDE6NTg6MDcgLTA1MDAKU3ViamVjdDogW1BBVENIIDExLzQzXSBpc2RuOiBlaWNv bjogZml4IGEgbWlzc2luZy1jaGVjayBidWcKClsgVXBzdHJlYW0gY29tbWl0IDYwMDlkMWZlNmJh M2JiMmRhYjU1OTIxZGE2MDQ2NTMyOWNjMWNkODkgXQoKSW4gZGl2YXNtYWluLmMsIHRoZSBmdW5j dGlvbiBkaXZhc193cml0ZSgpIGZpcnN0bHkgaW52b2tlcyB0aGUgZnVuY3Rpb24KZGl2YV94ZGlf b3Blbl9hZGFwdGVyKCkgdG8gb3BlbiB0aGUgYWRhcHRlciB0aGF0IG1hdGNoZXMgd2l0aCB0aGUg YWRhcHRlcgpudW1iZXIgcHJvdmlkZWQgYnkgdGhlIHVzZXIsIGFuZCB0aGVuIGludm9rZXMgdGhl IGZ1bmN0aW9uIGRpdmFfeGRpX3dyaXRlKCkKdG8gcGVyZm9ybSB0aGUgd3JpdGUgb3BlcmF0aW9u IHVzaW5nIHRoZSBtYXRjaGVkIGFkYXB0ZXIuIFRoZSB0d28gZnVuY3Rpb25zCmRpdmFfeGRpX29w ZW5fYWRhcHRlcigpIGFuZCBkaXZhX3hkaV93cml0ZSgpIGFyZSBsb2NhdGVkIGluIGRpdmEuYy4K CkluIGRpdmFfeGRpX29wZW5fYWRhcHRlcigpLCB0aGUgdXNlciBjb21tYW5kIGlzIGNvcGllZCB0 byB0aGUgb2JqZWN0ICdtc2cnCmZyb20gdGhlIHVzZXJzcGFjZSBwb2ludGVyICdzcmMnIHRocm91 Z2ggdGhlIGZ1bmN0aW9uIHBvaW50ZXIgJ2NwX2ZuJywKd2hpY2ggZXZlbnR1YWxseSBjYWxscyBj b3B5X2Zyb21fdXNlcigpIHRvIGRvIHRoZSBjb3B5LiBUaGVuLCB0aGUgYWRhcHRlcgpudW1iZXIg J21zZy5hZGFwdGVyJyBpcyB1c2VkIHRvIGZpbmQgb3V0IGEgbWF0Y2hlZCBhZGFwdGVyIGZyb20g dGhlCidhZGFwdGVyX3F1ZXVlJy4gQSBtYXRjaGVkIGFkYXB0ZXIgd2lsbCBiZSByZXR1cm5lZCBp ZiBpdCBpcyBmb3VuZC4KT3RoZXJ3aXNlLCBOVUxMIGlzIHJldHVybmVkIHRvIGluZGljYXRlIHRo ZSBmYWlsdXJlIG9mIHRoZSB2ZXJpZmljYXRpb24gb24KdGhlIGFkYXB0ZXIgbnVtYmVyLgoKQXMg bWVudGlvbmVkIGFib3ZlLCBpZiBhIG1hdGNoZWQgYWRhcHRlciBpcyByZXR1cm5lZCwgdGhlIGZ1 bmN0aW9uCmRpdmFfeGRpX3dyaXRlKCkgaXMgaW52b2tlZCB0byBwZXJmb3JtIHRoZSB3cml0ZSBv cGVyYXRpb24uIEluIHRoaXMKZnVuY3Rpb24sIHRoZSB1c2VyIGNvbW1hbmQgaXMgY29waWVkIG9u Y2UgYWdhaW4gZnJvbSB0aGUgdXNlcnNwYWNlIHBvaW50ZXIKJ3NyYycsIHdoaWNoIGlzIHRoZSBz YW1lIGFzIHRoZSAnc3JjJyBwb2ludGVyIGluIGRpdmFfeGRpX29wZW5fYWRhcHRlcigpIGFzCmJv dGggb2YgdGhlbSBhcmUgZnJvbSB0aGUgJ2J1ZicgcG9pbnRlciBpbiBkaXZhc193cml0ZSgpLiBT aW1pbGFybHksIHRoZQpjb3B5IGlzIGFjaGlldmVkIHRocm91Z2ggdGhlIGZ1bmN0aW9uIHBvaW50 ZXIgJ2NwX2ZuJywgd2hpY2ggZmluYWxseSBjYWxscwpjb3B5X2Zyb21fdXNlcigpLiBBZnRlciB0 aGUgc3VjY2Vzc2Z1bCBjb3B5LCB0aGUgY29ycmVzcG9uZGluZyBjb21tYW5kCnByb2Nlc3Npbmcg aGFuZGxlciBvZiB0aGUgbWF0Y2hlZCBhZGFwdGVyIGlzIGludm9rZWQgdG8gcGVyZm9ybSB0aGUg d3JpdGUKb3BlcmF0aW9uLgoKSXQgaXMgb2J2aW91cyB0aGF0IHRoZXJlIGFyZSB0d28gY29waWVz IGhlcmUgZnJvbSB1c2Vyc3BhY2UsIG9uZSBpcyBpbgpkaXZhX3hkaV9vcGVuX2FkYXB0ZXIoKSwg YW5kIG9uZSBpcyBpbiBkaXZhX3hkaV93cml0ZSgpLiBQbHVzLCBib3RoIG9mCnRoZXNlIHR3byBj b3BpZXMgc2hhcmUgdGhlIHNhbWUgc291cmNlIHVzZXJzcGFjZSBwb2ludGVyLCBpLmUuLCB0aGUg J2J1ZicKcG9pbnRlciBpbiBkaXZhc193cml0ZSgpLiBHaXZlbiB0aGF0IGEgbWFsaWNpb3VzIHVz ZXJzcGFjZSBwcm9jZXNzIGNhbiByYWNlCnRvIGNoYW5nZSB0aGUgY29udGVudCBwb2ludGVkIGJ5 IHRoZSAnYnVmJyBwb2ludGVyLCB0aGlzIGNhbiBwb3NlIHBvdGVudGlhbApzZWN1cml0eSBpc3N1 ZXMuIEZvciBleGFtcGxlLCBpbiB0aGUgZmlyc3QgY29weSwgdGhlIHVzZXIgcHJvdmlkZXMgYSB2 YWxpZAphZGFwdGVyIG51bWJlciB0byBwYXNzIHRoZSB2ZXJpZmljYXRpb24gcHJvY2VzcyBhbmQg YSB2YWxpZCBhZGFwdGVyIGNhbiBiZQpmb3VuZC4gVGhlbiB0aGUgdXNlciBjYW4gbW9kaWZ5IHRo ZSBhZGFwdGVyIG51bWJlciB0byBhbiBpbnZhbGlkIG51bWJlci4KVGhpcyB3YXksIHRoZSB1c2Vy IGNhbiBieXBhc3MgdGhlIHZlcmlmaWNhdGlvbiBwcm9jZXNzIG9mIHRoZSBhZGFwdGVyCm51bWJl ciBhbmQgaW5qZWN0IGluY29uc2lzdGVudCBkYXRhLgoKVGhpcyBwYXRjaCByZXVzZXMgdGhlIGRh dGEgY29waWVkIGluCmRpdmFfeGRpX29wZW5fYWRhcHRlcigpIGFuZCBwYXNzZXMgaXQgdG8gZGl2 YV94ZGlfd3JpdGUoKS4gVGhpcyB3YXksIHRoZQphYm92ZSBpc3N1ZXMgY2FuIGJlIGF2b2lkZWQu CgpTaWduZWQtb2ZmLWJ5OiBXZW53ZW4gV2FuZyA8d2FuZzY0OTVAdW1uLmVkdT4KU2lnbmVkLW9m Zi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMv aXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhLmMgICAgICB8IDIyICsrKysrKysrKysrKysrKy0tLS0t LS0KIGRyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhLmggICAgICB8ICA1ICsrKy0tCiBk cml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YXNtYWluLmMgfCAxOCArKysrKysrKysrKy0t LS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmEuYyBiL2RyaXZl cnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhLmMKaW5kZXggOTQ0YTdmMzM4MDk5Li4xYjI1ZDhi YzE1M2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhLmMKKysr IGIvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmEuYwpAQCAtMzg4LDEwICszODgsMTAg QEAgdm9pZCBkaXZhc2FfeGRpX2RyaXZlcl91bmxvYWQodm9pZCkKICoqICBSZWNlaXZlIGFuZCBw cm9jZXNzIGNvbW1hbmQgZnJvbSB1c2VyIG1vZGUgdXRpbGl0eQogKi8KIHZvaWQgKmRpdmFfeGRp X29wZW5fYWRhcHRlcih2b2lkICpvc19oYW5kbGUsIGNvbnN0IHZvaWQgX191c2VyICpzcmMsCi0J CQkgICAgaW50IGxlbmd0aCwKKwkJCSAgICBpbnQgbGVuZ3RoLCB2b2lkICptcHRyLAogCQkJICAg IGRpdmFzX3hkaV9jb3B5X2Zyb21fdXNlcl9mbl90IGNwX2ZuKQogewotCWRpdmFfeGRpX3VtX2Nm Z19jbWRfdCBtc2c7CisJZGl2YV94ZGlfdW1fY2ZnX2NtZF90ICptc2cgPSAoZGl2YV94ZGlfdW1f Y2ZnX2NtZF90ICopbXB0cjsKIAlkaXZhX29zX3hkaV9hZGFwdGVyX3QgKmEgPSBOVUxMOwogCWRp dmFfb3Nfc3Bpbl9sb2NrX21hZ2ljX3Qgb2xkX2lycWw7CiAJc3RydWN0IGxpc3RfaGVhZCAqdG1w OwpAQCAtNDAxLDIxICs0MDEsMjEgQEAgdm9pZCAqZGl2YV94ZGlfb3Blbl9hZGFwdGVyKHZvaWQg Km9zX2hhbmRsZSwgY29uc3Qgdm9pZCBfX3VzZXIgKnNyYywKIAkJCSBsZW5ndGgsIHNpemVvZihk aXZhX3hkaV91bV9jZmdfY21kX3QpKSkKIAkJCXJldHVybiBOVUxMOwogCX0KLQlpZiAoKCpjcF9m bikgKG9zX2hhbmRsZSwgJm1zZywgc3JjLCBzaXplb2YobXNnKSkgPD0gMCkgeworCWlmICgoKmNw X2ZuKSAob3NfaGFuZGxlLCBtc2csIHNyYywgc2l6ZW9mKCptc2cpKSA8PSAwKSB7CiAJCURCR19F UlIoKCJBOiBBKD8pIG9wZW4sIHdyaXRlIGVycm9yIikpCiAJCQlyZXR1cm4gTlVMTDsKIAl9CiAJ ZGl2YV9vc19lbnRlcl9zcGluX2xvY2soJmFkYXB0ZXJfbG9jaywgJm9sZF9pcnFsLCAib3Blbl9h ZGFwdGVyIik7CiAJbGlzdF9mb3JfZWFjaCh0bXAsICZhZGFwdGVyX3F1ZXVlKSB7CiAJCWEgPSBs aXN0X2VudHJ5KHRtcCwgZGl2YV9vc194ZGlfYWRhcHRlcl90LCBsaW5rKTsKLQkJaWYgKGEtPmNv bnRyb2xsZXIgPT0gKGludCltc2cuYWRhcHRlcikKKwkJaWYgKGEtPmNvbnRyb2xsZXIgPT0gKGlu dCltc2ctPmFkYXB0ZXIpCiAJCQlicmVhazsKIAkJYSA9IE5VTEw7CiAJfQogCWRpdmFfb3NfbGVh dmVfc3Bpbl9sb2NrKCZhZGFwdGVyX2xvY2ssICZvbGRfaXJxbCwgIm9wZW5fYWRhcHRlciIpOwog CiAJaWYgKCFhKSB7Ci0JCURCR19FUlIoKCJBOiBBKCVkKSBvcGVuLCBhZGFwdGVyIG5vdCBmb3Vu ZCIsIG1zZy5hZGFwdGVyKSkKKwkJREJHX0VSUigoIkE6IEEoJWQpIG9wZW4sIGFkYXB0ZXIgbm90 IGZvdW5kIiwgbXNnLT5hZGFwdGVyKSkKIAkJCX0KIAogCXJldHVybiAoYSk7CkBAIC00MzcsOCAr NDM3LDEwIEBAIHZvaWQgZGl2YV94ZGlfY2xvc2VfYWRhcHRlcih2b2lkICphZGFwdGVyLCB2b2lk ICpvc19oYW5kbGUpCiAKIGludAogZGl2YV94ZGlfd3JpdGUodm9pZCAqYWRhcHRlciwgdm9pZCAq b3NfaGFuZGxlLCBjb25zdCB2b2lkIF9fdXNlciAqc3JjLAotCSAgICAgICBpbnQgbGVuZ3RoLCBk aXZhc194ZGlfY29weV9mcm9tX3VzZXJfZm5fdCBjcF9mbikKKwkgICAgICAgaW50IGxlbmd0aCwg dm9pZCAqbXB0ciwKKwkgICAgICAgZGl2YXNfeGRpX2NvcHlfZnJvbV91c2VyX2ZuX3QgY3BfZm4p CiB7CisJZGl2YV94ZGlfdW1fY2ZnX2NtZF90ICptc2cgPSAoZGl2YV94ZGlfdW1fY2ZnX2NtZF90 ICopbXB0cjsKIAlkaXZhX29zX3hkaV9hZGFwdGVyX3QgKmEgPSAoZGl2YV9vc194ZGlfYWRhcHRl cl90ICopIGFkYXB0ZXI7CiAJdm9pZCAqZGF0YTsKIApAQCAtNDU5LDcgKzQ2MSwxMyBAQCBkaXZh X3hkaV93cml0ZSh2b2lkICphZGFwdGVyLCB2b2lkICpvc19oYW5kbGUsIGNvbnN0IHZvaWQgX191 c2VyICpzcmMsCiAJCQlyZXR1cm4gKC0yKTsKIAl9CiAKLQlsZW5ndGggPSAoKmNwX2ZuKSAob3Nf aGFuZGxlLCBkYXRhLCBzcmMsIGxlbmd0aCk7CisJaWYgKG1zZykgeworCQkqKGRpdmFfeGRpX3Vt X2NmZ19jbWRfdCAqKWRhdGEgPSAqbXNnOworCQlsZW5ndGggPSAoKmNwX2ZuKSAob3NfaGFuZGxl LCAoY2hhciAqKWRhdGEgKyBzaXplb2YoKm1zZyksCisJCQkJICAgc3JjICsgc2l6ZW9mKCptc2cp LCBsZW5ndGggLSBzaXplb2YoKm1zZykpOworCX0gZWxzZSB7CisJCWxlbmd0aCA9ICgqY3BfZm4p IChvc19oYW5kbGUsIGRhdGEsIHNyYywgbGVuZ3RoKTsKKwl9CiAJaWYgKGxlbmd0aCA+IDApIHsK IAkJaWYgKCgqKGEtPmludGVyZmFjZS5jbWRfcHJvYykpCiAJCSAgICAoYSwgKGRpdmFfeGRpX3Vt X2NmZ19jbWRfdCAqKSBkYXRhLCBsZW5ndGgpKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lzZG4v aGFyZHdhcmUvZWljb24vZGl2YS5oIGIvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmEu aAppbmRleCBiMDY3MDMyMDkzYTguLjFhZDc2NjUwZmJmOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9p c2RuL2hhcmR3YXJlL2VpY29uL2RpdmEuaAorKysgYi9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWlj b24vZGl2YS5oCkBAIC0yMCwxMCArMjAsMTEgQEAgaW50IGRpdmFfeGRpX3JlYWQodm9pZCAqYWRh cHRlciwgdm9pZCAqb3NfaGFuZGxlLCB2b2lkIF9fdXNlciAqZHN0LAogCQkgIGludCBtYXhfbGVu Z3RoLCBkaXZhc194ZGlfY29weV90b191c2VyX2ZuX3QgY3BfZm4pOwogCiBpbnQgZGl2YV94ZGlf d3JpdGUodm9pZCAqYWRhcHRlciwgdm9pZCAqb3NfaGFuZGxlLCBjb25zdCB2b2lkIF9fdXNlciAq c3JjLAotCQkgICBpbnQgbGVuZ3RoLCBkaXZhc194ZGlfY29weV9mcm9tX3VzZXJfZm5fdCBjcF9m bik7CisJCSAgIGludCBsZW5ndGgsIHZvaWQgKm1zZywKKwkJICAgZGl2YXNfeGRpX2NvcHlfZnJv bV91c2VyX2ZuX3QgY3BfZm4pOwogCiB2b2lkICpkaXZhX3hkaV9vcGVuX2FkYXB0ZXIodm9pZCAq b3NfaGFuZGxlLCBjb25zdCB2b2lkIF9fdXNlciAqc3JjLAotCQkJICAgIGludCBsZW5ndGgsCisJ CQkgICAgaW50IGxlbmd0aCwgdm9pZCAqbXNnLAogCQkJICAgIGRpdmFzX3hkaV9jb3B5X2Zyb21f dXNlcl9mbl90IGNwX2ZuKTsKIAogdm9pZCBkaXZhX3hkaV9jbG9zZV9hZGFwdGVyKHZvaWQgKmFk YXB0ZXIsIHZvaWQgKm9zX2hhbmRsZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lzZG4vaGFyZHdh cmUvZWljb24vZGl2YXNtYWluLmMgYi9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YXNt YWluLmMKaW5kZXggYjk5ODBlODRmOWRiLi5iNmEzOTUwYjI1NjQgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhc21haW4uYworKysgYi9kcml2ZXJzL2lzZG4vaGFy ZHdhcmUvZWljb24vZGl2YXNtYWluLmMKQEAgLTU5MSwxOSArNTkxLDIyIEBAIHN0YXRpYyBpbnQg ZGl2YXNfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHN0 YXRpYyBzc2l6ZV90IGRpdmFzX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9f dXNlciAqYnVmLAogCQkJICAgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnBwb3MpCiB7CisJZGl2YV94 ZGlfdW1fY2ZnX2NtZF90IG1zZzsKIAlpbnQgcmV0ID0gLUVJTlZBTDsKIAogCWlmICghZmlsZS0+ cHJpdmF0ZV9kYXRhKSB7CiAJCWZpbGUtPnByaXZhdGVfZGF0YSA9IGRpdmFfeGRpX29wZW5fYWRh cHRlcihmaWxlLCBidWYsCi0JCQkJCQkJICAgY291bnQsCisJCQkJCQkJICAgY291bnQsICZtc2cs CiAJCQkJCQkJICAgeGRpX2NvcHlfZnJvbV91c2VyKTsKLQl9Ci0JaWYgKCFmaWxlLT5wcml2YXRl X2RhdGEpIHsKLQkJcmV0dXJuICgtRU5PREVWKTsKKwkJaWYgKCFmaWxlLT5wcml2YXRlX2RhdGEp CisJCQlyZXR1cm4gKC1FTk9ERVYpOworCQlyZXQgPSBkaXZhX3hkaV93cml0ZShmaWxlLT5wcml2 YXRlX2RhdGEsIGZpbGUsCisJCQkJICAgICBidWYsIGNvdW50LCAmbXNnLCB4ZGlfY29weV9mcm9t X3VzZXIpOworCX0gZWxzZSB7CisJCXJldCA9IGRpdmFfeGRpX3dyaXRlKGZpbGUtPnByaXZhdGVf ZGF0YSwgZmlsZSwKKwkJCQkgICAgIGJ1ZiwgY291bnQsIE5VTEwsIHhkaV9jb3B5X2Zyb21fdXNl cik7CiAJfQogCi0JcmV0ID0gZGl2YV94ZGlfd3JpdGUoZmlsZS0+cHJpdmF0ZV9kYXRhLCBmaWxl LAotCQkJICAgICBidWYsIGNvdW50LCB4ZGlfY29weV9mcm9tX3VzZXIpOwogCXN3aXRjaCAocmV0 KSB7CiAJY2FzZSAtMToJCS8qIE1lc3NhZ2Ugc2hvdWxkIGJlIHJlbW92ZWQgZnJvbSByeCBtYWls Ym94IGZpcnN0ICovCiAJCXJldCA9IC1FQlVTWTsKQEAgLTYyMiwxMSArNjI1LDEyIEBAIHN0YXRp YyBzc2l6ZV90IGRpdmFzX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNl ciAqYnVmLAogc3RhdGljIHNzaXplX3QgZGl2YXNfcmVhZChzdHJ1Y3QgZmlsZSAqZmlsZSwgY2hh ciBfX3VzZXIgKmJ1ZiwKIAkJCSAgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnBwb3MpCiB7CisJZGl2 YV94ZGlfdW1fY2ZnX2NtZF90IG1zZzsKIAlpbnQgcmV0ID0gLUVJTlZBTDsKIAogCWlmICghZmls ZS0+cHJpdmF0ZV9kYXRhKSB7CiAJCWZpbGUtPnByaXZhdGVfZGF0YSA9IGRpdmFfeGRpX29wZW5f YWRhcHRlcihmaWxlLCBidWYsCi0JCQkJCQkJICAgY291bnQsCisJCQkJCQkJICAgY291bnQsICZt c2csCiAJCQkJCQkJICAgeGRpX2NvcHlfZnJvbV91c2VyKTsKIAl9CiAJaWYgKCFmaWxlLT5wcml2 YXRlX2RhdGEpIHsKLS0gCjIuMTcuMQoKCkZyb20gOGFlYWFmMjI3NGVkNGE5NWZhYTk1ZWM2ODVh OGViN2ViZGQxYjQyYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2lyaWxsIFRraGFp IDxrdGtoYWlAdmlydHVvenpvLmNvbT4KRGF0ZTogRnJpLCAxIEp1biAyMDE4IDE0OjMwOjM4ICsw MzAwClN1YmplY3Q6IFtQQVRDSCAxMi80M10ga2NtOiBGaXggdXNlLWFmdGVyLWZyZWUgY2F1c2Vk IGJ5IGNsb25uZWQgc29ja2V0cwoKWyBVcHN0cmVhbSBjb21taXQgZWI3ZjU0YjkwYmQ4ZjQ2OTgz NGM1ZTg2ZGNmNzJlYmY5YTYyOTgxMSBdCgoocmVzZW5kIGZvciBwcm9wZXJseSBxdWV1ZWluZyBp biBwYXRjaHdvcmspCgprY21fY2xvbmUoKSBjcmVhdGVzIGtlcm5lbCBzb2NrZXQsIHdoaWNoIGRv ZXMgbm90IHRha2UgbmV0IGNvdW50ZXIuClRodXMsIHRoZSBuZXQgbWF5IGRpZSBiZWZvcmUgdGhl IHNvY2tldCBpcyBjb21wbGV0ZWx5IGRlc3RydWN0ZWQsCmkuZS4ga2NtX2V4aXRfbmV0KCkgaXMg ZXhlY3V0ZWQgYmVmb3JlIGtjbV9kb25lKCkuCgpSZXBvcnRlZC1ieTogc3l6Ym90KzVmMWEwNGUz NzRhNjM1ZWZjNDI2QHN5emthbGxlci5hcHBzcG90bWFpbC5jb20KU2lnbmVkLW9mZi1ieTogS2ly aWxsIFRraGFpIDxrdGtoYWlAdmlydHVvenpvLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4g TWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9rY20va2Ntc29jay5jIHwgMiAr LQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEvbmV0L2tjbS9rY21zb2NrLmMgYi9uZXQva2NtL2tjbXNvY2suYwppbmRleCBkYzc2YmMz NDY4MjkuLmQzNjAxZDQyMTU3MSAxMDA2NDQKLS0tIGEvbmV0L2tjbS9rY21zb2NrLmMKKysrIGIv bmV0L2tjbS9rY21zb2NrLmMKQEAgLTE2NzEsNyArMTY3MSw3IEBAIHN0YXRpYyBzdHJ1Y3QgZmls ZSAqa2NtX2Nsb25lKHN0cnVjdCBzb2NrZXQgKm9zb2NrKQogCV9fbW9kdWxlX2dldChuZXdzb2Nr LT5vcHMtPm93bmVyKTsKIAogCW5ld3NrID0gc2tfYWxsb2Moc29ja19uZXQob3NvY2stPnNrKSwg UEZfS0NNLCBHRlBfS0VSTkVMLAotCQkJICZrY21fcHJvdG8sIHRydWUpOworCQkJICZrY21fcHJv dG8sIGZhbHNlKTsKIAlpZiAoIW5ld3NrKSB7CiAJCXNvY2tfcmVsZWFzZShuZXdzb2NrKTsKIAkJ cmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Ci0tIAoyLjE3LjEKCgpGcm9tIDkwNDc3NDEzZDg0MDU4 NjE0MzM4MzE0OTc4MjI5ODU5ZmQ2NDEyMTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IEd1aWxsYXVtZSBOYXVsdCA8Zy5uYXVsdEBhbHBoYWxpbmsuZnI+CkRhdGU6IE1vbiwgNCBKdW4g MjAxOCAxODo1MjoxOSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTMvNDNdIGwydHA6IGZpeCByZWZj b3VudCBsZWFrYWdlIG9uIFBQUG9MMlRQIHNvY2tldHMKClsgVXBzdHJlYW0gY29tbWl0IDNkNjA5 MzQyY2MwNDEyOWZmNzU2OGUxOTMxNmNlM2Q3NDUxYTI3ZTggXQoKQ29tbWl0IGQwMmJhMmE2MTEw YyAoImwydHA6IGZpeCByYWNlIGluIHBwcG9sMnRwX3JlbGVhc2Ugd2l0aCBzZXNzaW9uCm9iamVj dCBkZXN0cm95IikgdHJpZWQgdG8gZml4IGEgcmFjZSBjb25kaXRpb24gd2hlcmUgYSBQUFBvTDJU UCBzb2NrZXQKd291bGQgZGlzYXBwZWFyIHdoaWxlIHRoZSBMMlRQIHNlc3Npb24gd2FzIHN0aWxs IHVzaW5nIGl0LiBIb3dldmVyLCBpdAptaXNzZWQgdGhlIHJvb3QgaXNzdWUgd2hpY2ggaXMgdGhh dCBhbiBMMlRQIHNlc3Npb24gbWF5IGFjY2VwdCB0byBiZQpyZWNvbm5lY3RlZCBpZiBpdHMgYXNz b2NpYXRlZCBzb2NrZXQgaGFzIGVudGVyZWQgdGhlIHJlbGVhc2UgcHJvY2Vzcy4KClRoZSB0ZW50 YXRpdmUgZml4IG1ha2VzIHRoZSBzZXNzaW9uIGhvbGQgdGhlIHNvY2tldCBpdCBpcyBjb25uZWN0 ZWQgdG8uClRoYXQgc2F2ZXMgdGhlIGtlcm5lbCBmcm9tIGNyYXNoaW5nLCBidXQgaW50cm9kdWNl cyByZWZjb3VudCBsZWFrYWdlLApwcmV2ZW50aW5nIHRoZSBzb2NrZXQgZnJvbSBjb21wbGV0aW5n IHRoZSByZWxlYXNlIHByb2Nlc3MuIE9uY2Ugc3RhbGxlZCwKZXZlcnl0aGluZyB0aGUgc29ja2V0 IGRlcGVuZHMgb24gY2FuJ3QgYmUgcmVsZWFzZWQgYW55bW9yZSwgaW5jbHVkaW5nCnRoZSBMMlRQ IHNlc3Npb24gYW5kIHRoZSBsMnRwX3BwcCBtb2R1bGUuCgpUaGUgcm9vdCBpc3N1ZSBpcyB0aGF0 LCB3aGVuIHJlbGVhc2luZyBhIGNvbm5lY3RlZCBQUFBvTDJUUCBzb2NrZXQsIHRoZQpzZXNzaW9u J3MgLT5zayBwb2ludGVyIChSQ1UtcHJvdGVjdGVkKSBpcyByZXNldCB0byBOVUxMIGFuZCB3ZSBo YXZlIHRvCndhaXQgZm9yIGEgZ3JhY2UgcGVyaW9kIGJlZm9yZSBkZXN0cm95aW5nIHRoZSBzb2Nr ZXQuIFRoZSBzb2NrZXQgZHJvcHMKdGhlIHNlc3Npb24gaW4gaXRzIC0+c2tfZGVzdHJ1Y3QgY2Fs bGJhY2sgZnVuY3Rpb24sIHNvIHRoZSBzZXNzaW9uCndpbGwgZXhpc3QgdW50aWwgdGhlIGxhc3Qg cmVmZXJlbmNlIG9uIHRoZSBzb2NrZXQgaXMgZHJvcHBlZC4KVGhlcmVmb3JlLCB0aGVyZSBpcyBh IHRpbWUgZnJhbWUgd2hlcmUgcHBwb2wydHBfY29ubmVjdCgpIG1heSBhY2NlcHQKcmVjb25uZWN0 aW5nIGEgc2Vzc2lvbiwgYXMgaXQgb25seSBjaGVja3MgLT5zayB0byBmaWd1cmUgb3V0IGlmIHRo ZQpzZXNzaW9uIGlzIGNvbm5lY3RlZC4gVGhpcyB0aW1lIGZyYW1lIGlzIHNob3J0ZW5lZCBieSB0 aGUgZmFjdCB0aGF0CnBwcG9sMnRwX3JlbGVhc2UoKSBjYWxscyBsMnRwX3Nlc3Npb25fZGVsZXRl KCksIG1ha2luZyB0aGUgc2Vzc2lvbgp1bnJlYWNoYWJsZSBiZWZvcmUgcmVzZXR0aW5nIC0+c2su IEhvd2V2ZXIsIHBwcG9sMnRwX2Nvbm5lY3QoKSBtYXkKZ3JhYiB0aGUgc2Vzc2lvbiBiZWZvcmUg aXQgZ2V0cyB1bmhhc2hlZCBieSBsMnRwX3Nlc3Npb25fZGVsZXRlKCksIGJ1dAppdCBtYXkgdGVz dCAtPnNrIGFmdGVyIHRoZSBsYXRlciBnb3QgcmVzZXQuIFRoZSByYWNlIGlzIG5vdCBzbyBoYXJk IHRvCnRyaWdnZXIgYW5kIHN5emJvdCBmb3VuZCBhIHByZXR0eSByZWxpYWJsZSByZXByb2R1Y2Vy OgpodHRwczovL3N5emthbGxlci5hcHBzcG90LmNvbS9idWc/aWQ9NDE4NTc4ZDJhNDM4OTA3NDUy NGUwNGQ2NDFlYWNiMDkxOTYxYjJjZgoKQmVmb3JlIGQwMmJhMmE2MTEwYywgYW5vdGhlciByYWNl IGNvdWxkIGxldCBwcHBvbDJ0cF9yZWxlYXNlKCkKb3ZlcndyaXRlIHRoZSAtPl9fc2sgcG9pbnRl ciBvZiBhbiBMMlRQIHNlc3Npb24sIHRodXMgdHJpY2tpbmcKcHBwb2wydHBfcHV0X3NrKCkgaW50 byBjYWxsaW5nIHNvY2tfcHV0KCkgb24gYSBzb2NrZXQgdGhhdCBpcyBkaWZmZXJlbnQKdGhhbiB0 aGUgb25lIGZvciB3aGljaCBwcHBvbDJ0cF9yZWxlYXNlKCkgd2FzIG9yaWdpbmFsbHkgY2FsbGVk LiBUbyBnZXQKdGhlcmUsIHdlIGhhZCB0byB0cmlnZ2VyIHRoZSByYWNlIGRlc2NyaWJlZCBhYm92 ZSwgdGhlcmVmb3JlIGhhdmluZyBvbmUKUFBQb0wyVFAgc29ja2V0IGJlaW5nIHJlbGVhc2VkLCB3 aGlsZSB0aGUgc2Vzc2lvbiBpdCBpcyBjb25uZWN0ZWQgdG8gaXMKcmVjb25uZWN0aW5nIHRvIGEg ZGlmZmVyZW50IFBQUG9MMlRQIHNvY2tldC4gV2hlbiByZWxlYXNpbmcgdGhpcyBuZXcKc29ja2V0 IGZhc3QgZW5vdWdoLCBwcHBvbDJ0cF9yZWxlYXNlKCkgb3ZlcndyaXRlcyB0aGUgc2Vzc2lvbidz Ci0+X19zayBwb2ludGVyIHdpdGggdGhlIGFkZHJlc3Mgb2YgdGhlIG5ldyBzb2NrZXQsIGJlZm9y ZSB0aGUgZmlyc3QKcHBwb2wydHBfcHV0X3NrKCkgY2FsbCBnZXRzIHNjaGVkdWxlZC4gVGhlbiB0 aGUgcHBwb2wydHBfcHV0X3NrKCkgY2FsbAppbnZva2VkIGJ5IHRoZSBvcmlnaW5hbCBzb2NrZXQg d2lsbCBzb2NrX3B1dCgpIHRoZSBuZXcgc29ja2V0LApwb3RlbnRpYWxseSBkcm9wcGluZyBpdHMg bGFzdCByZWZlcmVuY2UuIFdoZW4gdGhlIHNlY29uZApwcHBvbDJ0cF9wdXRfc2soKSBmaW5hbGx5 IHJ1bnMsIGl0cyBzb2NrZXQgaGFzIGFscmVhZHkgYmVlbiBmcmVlZC4KCldpdGggZDAyYmEyYTYx MTBjLCB0aGUgc2Vzc2lvbiB0YWtlcyBhIHJlZmVyZW5jZSBvbiBib3RoIHNvY2tldHMuCkZ1cnRo ZXJtb3JlLCB0aGUgc2Vzc2lvbidzIC0+c2sgcG9pbnRlciBpcyByZXNldCBpbiB0aGUKcHBwb2wy dHBfc2Vzc2lvbl9jbG9zZSgpIGNhbGxiYWNrIGZ1bmN0aW9uIHJhdGhlciB0aGFuIGluCnBwcG9s MnRwX3JlbGVhc2UoKS4gVGhlcmVmb3JlLCAtPl9fc2sgY2FuJ3QgYmUgb3ZlcndyaXR0ZW4gYW5k CnBwcG9sMnRwX3B1dF9zaygpIGlzIGNhbGxlZCBvbmx5IG9uY2UgKGwydHBfc2Vzc2lvbl9kZWxl dGUoKSB3aWxsIG9ubHkKcnVuIHBwcG9sMnRwX3Nlc3Npb25fY2xvc2UoKSBvbmNlLCB0byBwcm90 ZWN0IHRoZSBzZXNzaW9uIGFnYWluc3QKY29uY3VycmVudCBkZWxldGlvbiByZXF1ZXN0cykuIE5v dyBwcHBvbDJ0cF9wdXRfc2soKSB3aWxsIHByb3Blcmx5CnNvY2tfcHV0KCkgdGhlIG9yaWdpbmFs IHNvY2tldCwgYnV0IHRoZSBuZXcgc29ja2V0IHdpbGwgcmVtYWluLCBhcwpsMnRwX3Nlc3Npb25f ZGVsZXRlKCkgcHJldmVudGVkIHRoZSByZWxlYXNlIHByb2Nlc3MgZnJvbSBjb21wbGV0aW5nLgpI ZXJlLCB3ZSBkb24ndCBkZXBlbmQgb24gdGhlIC0+X19zayByYWNlIHRvIHRyaWdnZXIgdGhlIGJ1 Zy4gR2V0dGluZwppbnRvIHRoZSBwcHBvbDJ0cF9jb25uZWN0KCkgcmFjZSBpcyBlbm91Z2ggdG8g bGVhayB0aGUgcmVmZXJlbmNlLCBubwptYXR0ZXIgd2hlbiBuZXcgc29ja2V0IGlzIHJlbGVhc2Vk LgoKU28gaXQgYWxsIGJvaWxzIGRvd24gdG8gcHBwb2wydHBfY29ubmVjdCgpIGZhaWxpbmcgdG8g cmVhbGlzZSB0aGF0IHRoZQpzZXNzaW9uIGhhcyBhbHJlYWR5IGJlZW4gY29ubmVjdGVkLiBUaGlz IHBhdGNoIGRyb3BzIHRoZSB1bm5lZWRlZCBleHRyYQpyZWZlcmVuY2UgY291bnRpbmcgKG1vc3Rs eSByZXZlcnRpbmcgZDAyYmEyYTYxMTBjKSBhbmQgY2hlY2tzIHRoYXQKbmVpdGhlciAtPnNrIG5v ciAtPl9fc2sgaXMgc2V0IGJlZm9yZSBhbGxvd2luZyBhIHNlc3Npb24gdG8gYmUKY29ubmVjdGVk LgoKRml4ZXM6IGQwMmJhMmE2MTEwYyAoImwydHA6IGZpeCByYWNlIGluIHBwcG9sMnRwX3JlbGVh c2Ugd2l0aCBzZXNzaW9uIG9iamVjdCBkZXN0cm95IikKU2lnbmVkLW9mZi1ieTogR3VpbGxhdW1l IE5hdWx0IDxnLm5hdWx0QGFscGhhbGluay5mcj4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9sMnRwL2wydHBfcHBwLmMgfCAzNSAr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE3IGlu c2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9sMnRwL2wydHBf cHBwLmMgYi9uZXQvbDJ0cC9sMnRwX3BwcC5jCmluZGV4IDBjNDUzMGFkNzRiZS4uYjcxODVkNjAw ODQ0IDEwMDY0NAotLS0gYS9uZXQvbDJ0cC9sMnRwX3BwcC5jCisrKyBiL25ldC9sMnRwL2wydHBf cHBwLmMKQEAgLTQyOCwxNiArNDI4LDYgQEAgc3RhdGljIHZvaWQgcHBwb2wydHBfcHV0X3NrKHN0 cnVjdCByY3VfaGVhZCAqaGVhZCkKICAqLwogc3RhdGljIHZvaWQgcHBwb2wydHBfc2Vzc2lvbl9j bG9zZShzdHJ1Y3QgbDJ0cF9zZXNzaW9uICpzZXNzaW9uKQogewotCXN0cnVjdCBwcHBvbDJ0cF9z ZXNzaW9uICpwczsKLQotCXBzID0gbDJ0cF9zZXNzaW9uX3ByaXYoc2Vzc2lvbik7Ci0JbXV0ZXhf bG9jaygmcHMtPnNrX2xvY2spOwotCXBzLT5fX3NrID0gcmN1X2RlcmVmZXJlbmNlX3Byb3RlY3Rl ZChwcy0+c2ssCi0JCQkJCSAgICAgbG9ja2RlcF9pc19oZWxkKCZwcy0+c2tfbG9jaykpOwotCVJD VV9JTklUX1BPSU5URVIocHMtPnNrLCBOVUxMKTsKLQlpZiAocHMtPl9fc2spCi0JCWNhbGxfcmN1 KCZwcy0+cmN1LCBwcHBvbDJ0cF9wdXRfc2spOwotCW11dGV4X3VubG9jaygmcHMtPnNrX2xvY2sp OwogfQogCiAvKiBSZWFsbHkga2lsbCB0aGUgc2Vzc2lvbiBzb2NrZXQuIChDYWxsZWQgZnJvbSBz b2NrX3B1dCgpIGlmCkBAIC00ODAsMTUgKzQ3MCwyNCBAQCBzdGF0aWMgaW50IHBwcG9sMnRwX3Jl bGVhc2Uoc3RydWN0IHNvY2tldCAqc29jaykKIAlzb2NrX29ycGhhbihzayk7CiAJc29jay0+c2sg PSBOVUxMOwogCi0JLyogSWYgdGhlIHNvY2tldCBpcyBhc3NvY2lhdGVkIHdpdGggYSBzZXNzaW9u LAotCSAqIGwydHBfc2Vzc2lvbl9kZWxldGUgd2lsbCBjYWxsIHBwcG9sMnRwX3Nlc3Npb25fY2xv c2Ugd2hpY2gKLQkgKiB3aWxsIGRyb3AgdGhlIHNlc3Npb24ncyByZWYgb24gdGhlIHNvY2tldC4K LQkgKi8KIAlzZXNzaW9uID0gcHBwb2wydHBfc29ja190b19zZXNzaW9uKHNrKTsKIAlpZiAoc2Vz c2lvbikgeworCQlzdHJ1Y3QgcHBwb2wydHBfc2Vzc2lvbiAqcHM7CisKIAkJbDJ0cF9zZXNzaW9u X2RlbGV0ZShzZXNzaW9uKTsKLQkJLyogZHJvcCB0aGUgcmVmIG9idGFpbmVkIGJ5IHBwcG9sMnRw X3NvY2tfdG9fc2Vzc2lvbiAqLwotCQlzb2NrX3B1dChzayk7CisKKwkJcHMgPSBsMnRwX3Nlc3Np b25fcHJpdihzZXNzaW9uKTsKKwkJbXV0ZXhfbG9jaygmcHMtPnNrX2xvY2spOworCQlwcy0+X19z ayA9IHJjdV9kZXJlZmVyZW5jZV9wcm90ZWN0ZWQocHMtPnNrLAorCQkJCQkJICAgICBsb2NrZGVw X2lzX2hlbGQoJnBzLT5za19sb2NrKSk7CisJCVJDVV9JTklUX1BPSU5URVIocHMtPnNrLCBOVUxM KTsKKwkJbXV0ZXhfdW5sb2NrKCZwcy0+c2tfbG9jayk7CisJCWNhbGxfcmN1KCZwcy0+cmN1LCBw cHBvbDJ0cF9wdXRfc2spOworCisJCS8qIFJlbHkgb24gdGhlIHNvY2tfcHV0KCkgY2FsbCBhdCB0 aGUgZW5kIG9mIHRoZSBmdW5jdGlvbiBmb3IKKwkJICogZHJvcHBpbmcgdGhlIHJlZmVyZW5jZSBo ZWxkIGJ5IHBwcG9sMnRwX3NvY2tfdG9fc2Vzc2lvbigpLgorCQkgKiBUaGUgbGFzdCByZWZlcmVu Y2Ugd2lsbCBiZSBkcm9wcGVkIGJ5IHBwcG9sMnRwX3B1dF9zaygpLgorCQkgKi8KIAl9CiAKIAly ZWxlYXNlX3NvY2soc2spOwpAQCAtNzQyLDcgKzc0MSw4IEBAIHN0YXRpYyBpbnQgcHBwb2wydHBf Y29ubmVjdChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2FkZHIgKnVzZXJ2YWRkciwK IAkJICovCiAJCW11dGV4X2xvY2soJnBzLT5za19sb2NrKTsKIAkJaWYgKHJjdV9kZXJlZmVyZW5j ZV9wcm90ZWN0ZWQocHMtPnNrLAotCQkJCQkgICAgICBsb2NrZGVwX2lzX2hlbGQoJnBzLT5za19s b2NrKSkpIHsKKwkJCQkJICAgICAgbG9ja2RlcF9pc19oZWxkKCZwcy0+c2tfbG9jaykpIHx8CisJ CSAgICBwcy0+X19zaykgewogCQkJbXV0ZXhfdW5sb2NrKCZwcy0+c2tfbG9jayk7CiAJCQllcnJv ciA9IC1FRVhJU1Q7CiAJCQlnb3RvIGVuZDsKQEAgLTgwMyw3ICs4MDMsNiBAQCBzdGF0aWMgaW50 IHBwcG9sMnRwX2Nvbm5lY3Qoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2thZGRyICp1 c2VydmFkZHIsCiAKIG91dF9ub19wcHA6CiAJLyogVGhpcyBpcyBob3cgd2UgZ2V0IHRoZSBzZXNz aW9uIGNvbnRleHQgZnJvbSB0aGUgc29ja2V0LiAqLwotCXNvY2tfaG9sZChzayk7CiAJc2stPnNr X3VzZXJfZGF0YSA9IHNlc3Npb247CiAJcmN1X2Fzc2lnbl9wb2ludGVyKHBzLT5zaywgc2spOwog CW11dGV4X3VubG9jaygmcHMtPnNrX2xvY2spOwotLSAKMi4xNy4xCgoKRnJvbSA3M2FkZTcxMzM2 OTJmNTUzYWI2MTk1MDg3M2FjODM3NzliOWYyNmI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBQZXRyIE1hY2hhdGEgPHBldHJtQG1lbGxhbm94LmNvbT4KRGF0ZTogU3VuLCAyNyBNYXkg MjAxOCAwOTo0ODo0MSArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMTQvNDNdIG1seHN3OiBzcGVjdHJ1 bTogRm9yYmlkIGNyZWF0aW9uIG9mIFZMQU4gMSBvdmVyCiBwb3J0L0xBRwoKWyBVcHN0cmVhbSBj b21taXQgNDdiZjlkZjJlODIwMWQwN2M0MDY3MGUwOTM2MjlmOGRmZDFiNWQ5ZiBdCgpWTEFOIDEg aXMgaW50ZXJuYWxseSB1c2VkIGZvciB1bnRhZ2dlZCB0cmFmZmljLiBQcmV2ZW50IGNyZWF0aW9u IG9mCmV4cGxpY2l0IG5ldGRldmljZSBmb3IgdGhhdCBWTEFOLCBiZWNhdXNlIHRoYXQgY3VycmVu dGx5IGlzbid0IHN1cHBvcnRlZAphbmQgbGVhZHMgdG8gdGhlIE5VTEwgcG9pbnRlciBkZXJlZmVy ZW5jZSBjaXRlZCBiZWxvdy4KCkZpeCBieSBwcmV2ZW50aW5nIGNyZWF0aW9uIG9mIFZMQU4gZGV2 aWNlcyB3aXRoIFZJRCBvZiAxIG92ZXIgbWx4c3cKZGV2aWNlcyBvciBMQUcgZGV2aWNlcyB0aGF0 IGludm9sdmUgbWx4c3cgZGV2aWNlcy4KClsgIDMyNy4xNzU4MTZdID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09ClsgIDMyNy4xODQ1NDRdIFVCU0FOOiBVbmRlZmluZWQgYmVoYXZpb3VyIGluIGRyaXZl cnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3L3NwZWN0cnVtX2ZpZC5jOjIwMDoxMgpbICAz MjcuMTkzNjY3XSBtZW1iZXIgYWNjZXNzIHdpdGhpbiBudWxsIHBvaW50ZXIgb2YgdHlwZSAnY29u c3Qgc3RydWN0IG1seHN3X3NwX2ZpZCcKWyAgMzI3LjIwMTIyNl0gQ1BVOiAwIFBJRDogODk4MyBD b21tOiBpcCBOb3QgdGFpbnRlZCA0LjE3LjAtcmM0LXBldHJtX25ldF9pcDZncmVfaGVhZHJvb20t Y3VzdG9tLTE0MCAjMTEKWyAgMzI3LjIxMDQ5Nl0gSGFyZHdhcmUgbmFtZTogTWVsbGFub3ggVGVj aG5vbG9naWVzIEx0ZC4gIk1TTjI0MTAtQ0IyRiIvIlNBMDAwODc0IiwgQklPUyA0LjYuNSAwMy8w OC8yMDE2ClsgIDMyNy4yMTk4NzJdIENhbGwgVHJhY2U6ClsgIDMyNy4yMjIzODRdICBkdW1wX3N0 YWNrKzB4YzMvMHgxMmIKWyAgMzI3LjIzNDAwN10gIHVic2FuX2VwaWxvZ3VlKzB4OS8weDQ5Clsg IDMyNy4yMzc2MzhdICB1YnNhbl90eXBlX21pc21hdGNoX2NvbW1vbisweDFmOS8weDJkMApbICAz MjcuMjU1NzY5XSAgX191YnNhbl9oYW5kbGVfdHlwZV9taXNtYXRjaCsweDkwLzB4YTcKWyAgMzI3 LjI2NDcxNl0gIG1seHN3X3NwX2ZpZF90eXBlKzB4MzUvMHg1MCBbbWx4c3dfc3BlY3RydW1dClsg IDMyNy4yNzAyNTVdICBtbHhzd19zcF9wb3J0X3ZsYW5fcm91dGVyX2xlYXZlKzB4NDYvMHhjMCBb bWx4c3dfc3BlY3RydW1dClsgIDMyNy4yNzcwMTldICBtbHhzd19zcF9pbmV0YWRkcl9wb3J0X3Zs YW5fZXZlbnQrMHhlMS8weDM0MCBbbWx4c3dfc3BlY3RydW1dClsgIDMyNy4zMTUwMzFdICBtbHhz d19zcF9uZXRkZXZpY2VfdnJmX2V2ZW50KzB4YTgvMHgxMDAgW21seHN3X3NwZWN0cnVtXQpbICAz MjcuMzIxNjI2XSAgbWx4c3dfc3BfbmV0ZGV2aWNlX2V2ZW50KzB4Mjc2LzB4NDMwIFttbHhzd19z cGVjdHJ1bV0KWyAgMzI3LjM2Nzg2M10gIG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg0Yy8weDE1MApb ICAzMjcuMzcyMTI4XSAgX19uZXRkZXZfdXBwZXJfZGV2X2xpbmsrMHgxYjMvMHgyNjAKWyAgMzI3 LjM5OTQ1MF0gIHZyZl9hZGRfc2xhdmUrMHhjZS8weDE3MCBbdnJmXQpbICAzMjcuNDAzNzAzXSAg ZG9fc2V0bGluaysweDY1OC8weDFkNzAKWyAgMzI3LjUwODk5OF0gIHJ0bmxfbmV3bGluaysweDkw OC8weGYyMApbICAzMjcuNTU5MTI4XSAgcnRuZXRsaW5rX3Jjdl9tc2crMHg1MGMvMHg3MjAKWyAg MzI3LjU3MTcyMF0gIG5ldGxpbmtfcmN2X3NrYisweDE2YS8weDFmMApbICAzMjcuNTgzNDUwXSAg bmV0bGlua191bmljYXN0KzB4MmNhLzB4M2UwClsgIDMyNy41OTkzMDVdICBuZXRsaW5rX3NlbmRt c2crMHgzZTIvMHg3ZjAKWyAgMzI3LjYxNjY1NV0gIHNvY2tfc2VuZG1zZysweDc2LzB4YzAKWyAg MzI3LjYyMDIwN10gIF9fX3N5c19zZW5kbXNnKzB4NDk0LzB4NWQwClsgIDMyNy42NjYxMTddICBf X3N5c19zZW5kbXNnKzB4YzIvMHgxMzAKWyAgMzI3LjY5MDk1M10gIGRvX3N5c2NhbGxfNjQrMHg2 Ni8weDM3MApbICAzMjcuNjk0Njc3XSAgZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4 NDkvMHhiZQpbICAzMjcuNjk5NzgyXSBSSVA6IDAwMzM6MHg3ZjRjMmYzZjgwMzcKWyAgMzI3Ljcw MzM5M10gUlNQOiAwMDJiOjAwMDA3ZmZlOGMzODk3MDggRUZMQUdTOiAwMDAwMDI0NiBPUklHX1JB WDogMDAwMDAwMDAwMDAwMDAyZQpbICAzMjcuNzExMDM1XSBSQVg6IGZmZmZmZmZmZmZmZmZmZGEg UkJYOiAwMDAwMDAwMDViMDNmNTNlIFJDWDogMDAwMDdmNGMyZjNmODAzNwpbICAzMjcuNzE4MjI5 XSBSRFg6IDAwMDAwMDAwMDAwMDAwMDAgUlNJOiAwMDAwN2ZmZThjMzg5NzYwIFJESTogMDAwMDAw MDAwMDAwMDAwMwpbICAzMjcuNzI1NDMxXSBSQlA6IDAwMDA3ZmZlOGMzODk3NjAgUjA4OiAwMDAw MDAwMDAwMDAwMDAwIFIwOTogMDAwMDdmNGMyZjQ0MzYzMApbICAzMjcuNzMyNjMyXSBSMTA6IDAw MDAwMDAwMDAwMDA1ZWIgUjExOiAwMDAwMDAwMDAwMDAwMjQ2IFIxMjogMDAwMDAwMDAwMDAwMDAw MApbICAzMjcuNzM5ODMzXSBSMTM6IDAwMDAwMDAwMDA2Nzc0ZTAgUjE0OiAwMDAwN2ZmZThjMzg5 N2U4IFIxNTogMDAwMDAwMDAwMDAwMDAwMApbICAzMjcuNzQ3MDk2XSA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQoKRml4ZXM6IDk1ODlhN2I1ZDdkOSAoIm1seHN3OiBzcGVjdHJ1bTogSGFuZGxlIFZM QU4gZGV2aWNlcyBsaW5raW5nIC8gdW5saW5raW5nIikKU3VnZ2VzdGVkLWJ5OiBJZG8gU2NoaW1t ZWwgPGlkb3NjaEBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFBldHIgTWFjaGF0YSA8cGV0 cm1AbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBJZG8gU2NoaW1tZWwgPGlkb3NjaEBtZWxs YW5veC5jb20+CkFja2VkLWJ5OiBKaXJpIFBpcmtvIDxqaXJpQG1lbGxhbm94LmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZl cnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3L3NwZWN0cnVtLmMgfCA1ICsrKysrCiAxIGZp bGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW0uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21l bGxhbm94L21seHN3L3NwZWN0cnVtLmMKaW5kZXggYmY0MDBjNzVmY2M4Li5jNTQ3NjI3MjliZGYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3L3NwZWN0cnVt LmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW0uYwpA QCAtNDg3MCw2ICs0ODcwLDExIEBAIHN0YXRpYyBpbnQgbWx4c3dfc3BfbmV0ZGV2aWNlX3BvcnRf dXBwZXJfZXZlbnQoc3RydWN0IG5ldF9kZXZpY2UgKmxvd2VyX2RldiwKIAkJCQkgICAgICAgInNw ZWN0cnVtOiBDYW4gbm90IHB1dCBhIFZMQU4gb24gYW4gT1ZTIHBvcnQiKTsKIAkJCXJldHVybiAt RUlOVkFMOwogCQl9CisJCWlmIChpc192bGFuX2Rldih1cHBlcl9kZXYpICYmCisJCSAgICB2bGFu X2Rldl92bGFuX2lkKHVwcGVyX2RldikgPT0gMSkgeworCQkJTkxfU0VUX0VSUl9NU0dfTU9EKGV4 dGFjaywgIkNyZWF0aW5nIGEgVkxBTiBkZXZpY2Ugd2l0aCBWSUQgMSBpcyB1bnN1cHBvcnRlZDog VkxBTiAxIGNhcnJpZXMgdW50YWdnZWQgdHJhZmZpYyIpOworCQkJcmV0dXJuIC1FSU5WQUw7CisJ CX0KIAkJYnJlYWs7CiAJY2FzZSBORVRERVZfQ0hBTkdFVVBQRVI6CiAJCXVwcGVyX2RldiA9IGlu Zm8tPnVwcGVyX2RldjsKLS0gCjIuMTcuMQoKCkZyb20gYjg2ZjUyZmE4NTIzNGIyYmU1N2ZiMzQ1 NzAyOTg2M2ZiOTI1NzEwYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQ29uZyBXYW5n IDx4aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+CkRhdGU6IFR1ZSwgNSBKdW4gMjAxOCAwOTo0ODox MyAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTUvNDNdIG5ldGRldi1GQVE6IGNsYXJpZnkgRGF2ZU0n cyBwb3NpdGlvbiBmb3Igc3RhYmxlCiBiYWNrcG9ydHMKClsgVXBzdHJlYW0gY29tbWl0IDc1ZDRl NzA0ZmE4ZDJjZjMzZmYyOTVlNWI0NDEzMTc2MDNkN2Y5ZmQgXQoKUGVyIGRpc2N1c3Npb24gd2l0 aCBEYXZpZCBhdCBuZXRjb25mIDIwMTgsIGxldCdzIGNsYXJpZnkKRGF2ZU0ncyBwb3NpdGlvbiBv ZiBoYW5kbGluZyBzdGFibGUgYmFja3BvcnRzIGluIG5ldGRldi1GQVEuCgpUaGlzIGlzIGltcG9y dGFudCBmb3IgcGVvcGxlIHJlbHlpbmcgb24gdXBzdHJlYW0gLXN0YWJsZQpyZWxlYXNlcy4KCkNj OiBHcmVnIEtyb2FoLUhhcnRtYW4gPGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3JnPgpTaWduZWQt b2ZmLWJ5OiBDb25nIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1i eTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIERvY3VtZW50YXRp b24vbmV0d29ya2luZy9uZXRkZXYtRkFRLnR4dCB8IDkgKysrKysrKysrCiAxIGZpbGUgY2hhbmdl ZCwgOSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5n L25ldGRldi1GQVEudHh0IGIvRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL25ldGRldi1GQVEudHh0 CmluZGV4IDJhMzI3OGQ1Y2YzNS4uZmE5NTFiODIwYjI1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0 aW9uL25ldHdvcmtpbmcvbmV0ZGV2LUZBUS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9uZXR3b3Jr aW5nL25ldGRldi1GQVEudHh0CkBAIC0xNzksNiArMTc5LDE1IEBAIEE6IE5vLiAgU2VlIGFib3Zl IGFuc3dlci4gIEluIHNob3J0LCBpZiB5b3UgdGhpbmsgaXQgcmVhbGx5IGJlbG9uZ3MgaW4KICAg IGRhc2ggbWFya2VyIGxpbmUgYXMgZGVzY3JpYmVkIGluIERvY3VtZW50YXRpb24vcHJvY2Vzcy9z dWJtaXR0aW5nLXBhdGNoZXMucnN0IHRvCiAgICB0ZW1wb3JhcmlseSBlbWJlZCB0aGF0IGluZm9y bWF0aW9uIGludG8gdGhlIHBhdGNoIHRoYXQgeW91IHNlbmQuCiAKK1E6IEFyZSBhbGwgbmV0d29y a2luZyBidWcgZml4ZXMgYmFja3BvcnRlZCB0byBhbGwgc3RhYmxlIHJlbGVhc2VzPworCitBOiBE dWUgdG8gY2FwYWNpdHksIERhdmUgY291bGQgb25seSB0YWtlIGNhcmUgb2YgdGhlIGJhY2twb3J0 cyBmb3IgdGhlIGxhc3QKKyAgIDIgc3RhYmxlIHJlbGVhc2VzLiBGb3IgZWFybGllciBzdGFibGUg cmVsZWFzZXMsIGVhY2ggc3RhYmxlIGJyYW5jaCBtYWludGFpbmVyCisgICBpcyBzdXBwb3NlZCB0 byB0YWtlIGNhcmUgb2YgdGhlbS4gSWYgeW91IGZpbmQgYW55IHBhdGNoIGlzIG1pc3NpbmcgZnJv bSBhbgorICAgZWFybGllciBzdGFibGUgYnJhbmNoLCBwbGVhc2Ugbm90aWZ5IHN0YWJsZUB2Z2Vy Lmtlcm5lbC5vcmcgd2l0aCBlaXRoZXIgYQorICAgY29tbWl0IElEIG9yIGEgZm9ybWFsIHBhdGNo IGJhY2twb3J0ZWQsIGFuZCBDQyBEYXZlIGFuZCBvdGhlciByZWxldmFudAorICAgbmV0d29ya2lu ZyBkZXZlbG9wZXJzLgorCiBROiBTb21lb25lIHNhaWQgdGhhdCB0aGUgY29tbWVudCBzdHlsZSBh bmQgY29kaW5nIGNvbnZlbnRpb24gaXMgZGlmZmVyZW50CiAgICBmb3IgdGhlIG5ldHdvcmtpbmcg Y29udGVudC4gIElzIHRoaXMgdHJ1ZT8KIAotLSAKMi4xNy4xCgoKRnJvbSA0YzA0MzA2Y2EzNjI5 MjcyNjJlNDdmODAzNGZmNWZmYTJjYzZmMzQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBEYW4gQ2FycGVudGVyIDxkYW4uY2FycGVudGVyQG9yYWNsZS5jb20+CkRhdGU6IFRodSwgMzEg TWF5IDIwMTggMDk6NDQ6NDkgKzAzMDAKU3ViamVjdDogW1BBVENIIDE2LzQzXSBuZXQ6IGV0aGVy bmV0OiBkYXZpbmNpX2VtYWM6IGZpeCBlcnJvciBoYW5kbGluZyBpbgogcHJvYmUoKQoKWyBVcHN0 cmVhbSBjb21taXQgODAwNWIwOWQ5OWZhYzc4ZTZmNWZiOWRhMzBiNWFlOTQ4NDBhZjAzYiBdCgpU aGUgY3VycmVudCBlcnJvciBoYW5kbGluZyBjb2RlIGhhcyBhbiBpc3N1ZSB3aGVyZSBpdCBkb2Vz OgoKCWlmIChwcml2LT50eGNoYW4pCgkJY3BkbWFfY2hhbl9kZXN0cm95KHByaXYtPnR4Y2hhbik7 CgpUaGUgcHJvYmxlbSBpcyB0aGF0IC0+dHhjaGFuIGlzIGVpdGhlciB2YWxpZCBvciBhbiBlcnJv ciBwb2ludGVyICh3aGljaAp3b3VsZCBsZWFkIHRvIGFuIE9vcHMpLiAgSSd2ZSBjaGFuZ2VkIGl0 IHRvIHVzZSBtdWx0aXBsZSBlcnJvciBsYWJlbHMgc28KdGhhdCB0aGUgdGVzdCBjYW4gYmUgcmVt b3ZlZC4KCkFsc28gdGhlcmUgd2VyZSBzb21lIG1pc3NpbmcgY2FsbHMgdG8gbmV0aWZfbmFwaV9k ZWwoKS4KCkZpeGVzOiAzZWYwZmRiMjM0MmMgKCJuZXQ6IGRhdmluY2lfZW1hYzogc3dpdGNoIHRv IG5ldyBjcGRtYSBsYXllciIpClNpZ25lZC1vZmYtYnk6IERhbiBDYXJwZW50ZXIgPGRhbi5jYXJw ZW50ZXJAb3JhY2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBk YXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L3RpL2RhdmluY2lfZW1hYy5j IHwgMjIgKysrKysrKysrKysrLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlv bnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0 L3RpL2RhdmluY2lfZW1hYy5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvdGkvZGF2aW5jaV9lbWFj LmMKaW5kZXggYWJjZWVhODAyZWExLi4zODgyOGFiNzdlYjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv bmV0L2V0aGVybmV0L3RpL2RhdmluY2lfZW1hYy5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0 L3RpL2RhdmluY2lfZW1hYy5jCkBAIC0xODczLDcgKzE4NzMsNyBAQCBzdGF0aWMgaW50IGRhdmlu Y2lfZW1hY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCWlmIChJU19FUlIo cHJpdi0+dHhjaGFuKSkgewogCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJlcnJvciBpbml0aWFsaXpp bmcgdHggZG1hIGNoYW5uZWxcbiIpOwogCQlyYyA9IFBUUl9FUlIocHJpdi0+dHhjaGFuKTsKLQkJ Z290byBub19jcGRtYV9jaGFuOworCQlnb3RvIGVycl9mcmVlX2RtYTsKIAl9CiAKIAlwcml2LT5y eGNoYW4gPSBjcGRtYV9jaGFuX2NyZWF0ZShwcml2LT5kbWEsIEVNQUNfREVGX1JYX0NILApAQCAt MTg4MSwxNCArMTg4MSwxNCBAQCBzdGF0aWMgaW50IGRhdmluY2lfZW1hY19wcm9iZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCWlmIChJU19FUlIocHJpdi0+cnhjaGFuKSkgewogCQlk ZXZfZXJyKCZwZGV2LT5kZXYsICJlcnJvciBpbml0aWFsaXppbmcgcnggZG1hIGNoYW5uZWxcbiIp OwogCQlyYyA9IFBUUl9FUlIocHJpdi0+cnhjaGFuKTsKLQkJZ290byBub19jcGRtYV9jaGFuOwor CQlnb3RvIGVycl9mcmVlX3R4Y2hhbjsKIAl9CiAKIAlyZXMgPSBwbGF0Zm9ybV9nZXRfcmVzb3Vy Y2UocGRldiwgSU9SRVNPVVJDRV9JUlEsIDApOwogCWlmICghcmVzKSB7CiAJCWRldl9lcnIoJnBk ZXYtPmRldiwgImVycm9yIGdldHRpbmcgaXJxIHJlc1xuIik7CiAJCXJjID0gLUVOT0VOVDsKLQkJ Z290byBub19jcGRtYV9jaGFuOworCQlnb3RvIGVycl9mcmVlX3J4Y2hhbjsKIAl9CiAJbmRldi0+ aXJxID0gcmVzLT5zdGFydDsKIApAQCAtMTkxNCw3ICsxOTE0LDcgQEAgc3RhdGljIGludCBkYXZp bmNpX2VtYWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAkJcG1fcnVudGlt ZV9wdXRfbm9pZGxlKCZwZGV2LT5kZXYpOwogCQlkZXZfZXJyKCZwZGV2LT5kZXYsICIlczogZmFp bGVkIHRvIGdldF9zeW5jKCVkKVxuIiwKIAkJCV9fZnVuY19fLCByYyk7Ci0JCWdvdG8gbm9fY3Bk bWFfY2hhbjsKKwkJZ290byBlcnJfbmFwaV9kZWw7CiAJfQogCiAJLyogcmVnaXN0ZXIgdGhlIG5l dHdvcmsgZGV2aWNlICovCkBAIC0xOTI0LDcgKzE5MjQsNyBAQCBzdGF0aWMgaW50IGRhdmluY2lf ZW1hY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCQlkZXZfZXJyKCZwZGV2 LT5kZXYsICJlcnJvciBpbiByZWdpc3Rlcl9uZXRkZXZcbiIpOwogCQlyYyA9IC1FTk9ERVY7CiAJ CXBtX3J1bnRpbWVfcHV0KCZwZGV2LT5kZXYpOwotCQlnb3RvIG5vX2NwZG1hX2NoYW47CisJCWdv dG8gZXJyX25hcGlfZGVsOwogCX0KIAogCkBAIC0xOTM3LDExICsxOTM3LDEzIEBAIHN0YXRpYyBp bnQgZGF2aW5jaV9lbWFjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAKIAly ZXR1cm4gMDsKIAotbm9fY3BkbWFfY2hhbjoKLQlpZiAocHJpdi0+dHhjaGFuKQotCQljcGRtYV9j aGFuX2Rlc3Ryb3kocHJpdi0+dHhjaGFuKTsKLQlpZiAocHJpdi0+cnhjaGFuKQotCQljcGRtYV9j aGFuX2Rlc3Ryb3kocHJpdi0+cnhjaGFuKTsKK2Vycl9uYXBpX2RlbDoKKwluZXRpZl9uYXBpX2Rl bCgmcHJpdi0+bmFwaSk7CitlcnJfZnJlZV9yeGNoYW46CisJY3BkbWFfY2hhbl9kZXN0cm95KHBy aXYtPnJ4Y2hhbik7CitlcnJfZnJlZV90eGNoYW46CisJY3BkbWFfY2hhbl9kZXN0cm95KHByaXYt PnR4Y2hhbik7CitlcnJfZnJlZV9kbWE6CiAJY3BkbWFfY3Rscl9kZXN0cm95KHByaXYtPmRtYSk7 CiBub19wZGF0YToKIAlpZiAob2ZfcGh5X2lzX2ZpeGVkX2xpbmsobnApKQotLSAKMi4xNy4xCgoK RnJvbSA1MmI3MDExMTg3MzlmMmVkZjU1N2VjOTAzMTg3OWY1YWZmZjAzMTVlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb29wYSBQcmFiaHUgPHJvb3BhQGN1bXVsdXNuZXR3b3Jrcy5j b20+CkRhdGU6IFR1ZSwgMjIgTWF5IDIwMTggMTM6NDQ6NTEgLTA3MDAKU3ViamVjdDogW1BBVENI IDE3LzQzXSBuZXQ6IGlwdjQ6IGFkZCBtaXNzaW5nIFJUQV9UQUJMRSB0byBydG1faXB2NF9wb2xp Y3kKClsgVXBzdHJlYW0gY29tbWl0IDJlYWJkNzY0Y2I1NTEyZjEzMzhkMDZmZmMwNTRjOGJjOWZi ZTkxMDQgXQoKU2lnbmVkLW9mZi1ieTogUm9vcGEgUHJhYmh1IDxyb29wYUBjdW11bHVzbmV0d29y a3MuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+Ci0tLQogbmV0L2lwdjQvZmliX2Zyb250ZW5kLmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAx IGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L2ZpYl9mcm9udGVuZC5jIGIvbmV0 L2lwdjQvZmliX2Zyb250ZW5kLmMKaW5kZXggZjA1YWZhZjMyMzVjLi5hYTU5N2IyYzE0MjkgMTAw NjQ0Ci0tLSBhL25ldC9pcHY0L2ZpYl9mcm9udGVuZC5jCisrKyBiL25ldC9pcHY0L2ZpYl9mcm9u dGVuZC5jCkBAIC02NDMsNiArNjQzLDcgQEAgY29uc3Qgc3RydWN0IG5sYV9wb2xpY3kgcnRtX2lw djRfcG9saWN5W1JUQV9NQVggKyAxXSA9IHsKIAlbUlRBX0VOQ0FQXQkJPSB7IC50eXBlID0gTkxB X05FU1RFRCB9LAogCVtSVEFfVUlEXQkJPSB7IC50eXBlID0gTkxBX1UzMiB9LAogCVtSVEFfTUFS S10JCT0geyAudHlwZSA9IE5MQV9VMzIgfSwKKwlbUlRBX1RBQkxFXQkJPSB7IC50eXBlID0gTkxB X1UzMiB9LAogfTsKIAogc3RhdGljIGludCBydG1fdG9fZmliX2NvbmZpZyhzdHJ1Y3QgbmV0ICpu ZXQsIHN0cnVjdCBza19idWZmICpza2IsCi0tIAoyLjE3LjEKCgpGcm9tIDAyMGRiM2E2Mzc5YWI1 MTc5ZDAxNDU3N2ZjOTI3ZmQ2ZTg2MDFkNTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogVHVlLCA1IEp1biAyMDE4 IDA2OjA2OjE5IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxOC80M10gbmV0OiBtZXRyaWNzOiBhZGQg cHJvcGVyIG5ldGxpbmsgdmFsaWRhdGlvbgoKWyBVcHN0cmVhbSBjb21taXQgNWI1ZTdhMGRlMmJi ZjJhMWFmY2Q5ZjQ5ZTk0MDAxMGU5ZmI4MGQ1MyBdCgpCZWZvcmUgdXNpbmcgbmxhX2dldF91MzIo KSwgYmV0dGVyIG1ha2Ugc3VyZSB0aGUgYXR0cmlidXRlCmlzIG9mIHRoZSBwcm9wZXIgc2l6ZS4K CkNvZGUgcmVjZW50bHkgd2FzIGNoYW5nZWQsIGJ1dCBidWcgaGFzIGJlZW4gdGhlcmUgZnJvbSBi ZWdpbm5pbmcKb2YgZ2l0LgoKQlVHOiBLTVNBTjogdW5pbml0LXZhbHVlIGluIHJ0bmV0bGlua19w dXRfbWV0cmljcysweDU1My8weDk2MCBuZXQvY29yZS9ydG5ldGxpbmsuYzo3NDYKQ1BVOiAxIFBJ RDogMTQxMzkgQ29tbTogc3l6LWV4ZWN1dG9yNiBOb3QgdGFpbnRlZCA0LjE3LjAtcmM1KyAjMTAz CkhhcmR3YXJlIG5hbWU6IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBFbmdpbmUvR29vZ2xlIENvbXB1 dGUgRW5naW5lLCBCSU9TIEdvb2dsZSAwMS8wMS8yMDExCkNhbGwgVHJhY2U6CiBfX2R1bXBfc3Rh Y2sgbGliL2R1bXBfc3RhY2suYzo3NyBbaW5saW5lXQogZHVtcF9zdGFjaysweDE4NS8weDFkMCBs aWIvZHVtcF9zdGFjay5jOjExMwoga21zYW5fcmVwb3J0KzB4MTQ5LzB4MjYwIG1tL2ttc2FuL2tt c2FuLmM6MTA4NAogX19tc2FuX3dhcm5pbmdfMzIrMHg2ZS8weGMwIG1tL2ttc2FuL2ttc2FuX2lu c3RyLmM6Njg2CiBydG5ldGxpbmtfcHV0X21ldHJpY3MrMHg1NTMvMHg5NjAgbmV0L2NvcmUvcnRu ZXRsaW5rLmM6NzQ2CiBmaWJfZHVtcF9pbmZvKzB4YzQyLzB4MjE5MCBuZXQvaXB2NC9maWJfc2Vt YW50aWNzLmM6MTM2MQogcnRtc2dfZmliKzB4NjVmLzB4OGMwIG5ldC9pcHY0L2ZpYl9zZW1hbnRp Y3MuYzo0MTkKIGZpYl90YWJsZV9pbnNlcnQrMHgyMzE0LzB4MmI1MCBuZXQvaXB2NC9maWJfdHJp ZS5jOjEyODcKIGluZXRfcnRtX25ld3JvdXRlKzB4MjEwLzB4MzQwIG5ldC9pcHY0L2ZpYl9mcm9u dGVuZC5jOjc3OQogcnRuZXRsaW5rX3Jjdl9tc2crMHhhMzIvMHgxNTYwIG5ldC9jb3JlL3J0bmV0 bGluay5jOjQ2NDYKIG5ldGxpbmtfcmN2X3NrYisweDM3OC8weDYwMCBuZXQvbmV0bGluay9hZl9u ZXRsaW5rLmM6MjQ0OAogcnRuZXRsaW5rX3JjdisweDUwLzB4NjAgbmV0L2NvcmUvcnRuZXRsaW5r LmM6NDY2NAogbmV0bGlua191bmljYXN0X2tlcm5lbCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6 MTMxMCBbaW5saW5lXQogbmV0bGlua191bmljYXN0KzB4MTY3OC8weDE3NTAgbmV0L25ldGxpbmsv YWZfbmV0bGluay5jOjEzMzYKIG5ldGxpbmtfc2VuZG1zZysweDEwNGYvMHgxMzUwIG5ldC9uZXRs aW5rL2FmX25ldGxpbmsuYzoxOTAxCiBzb2NrX3NlbmRtc2dfbm9zZWMgbmV0L3NvY2tldC5jOjYy OSBbaW5saW5lXQogc29ja19zZW5kbXNnIG5ldC9zb2NrZXQuYzo2MzkgW2lubGluZV0KIF9fX3N5 c19zZW5kbXNnKzB4ZWMwLzB4MTMxMCBuZXQvc29ja2V0LmM6MjExNwogX19zeXNfc2VuZG1zZyBu ZXQvc29ja2V0LmM6MjE1NSBbaW5saW5lXQogX19kb19zeXNfc2VuZG1zZyBuZXQvc29ja2V0LmM6 MjE2NCBbaW5saW5lXQogX19zZV9zeXNfc2VuZG1zZyBuZXQvc29ja2V0LmM6MjE2MiBbaW5saW5l XQogX194NjRfc3lzX3NlbmRtc2crMHgzMzEvMHg0NjAgbmV0L3NvY2tldC5jOjIxNjIKIGRvX3N5 c2NhbGxfNjQrMHgxNTIvMHgyMzAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6Mjg3CiBlbnRyeV9T WVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0NC8weGE5ClJJUDogMDAzMzoweDQ1NWEwOQpSU1A6 IDAwMmI6MDAwMDdmYWFlNWZkOGM2OCBFRkxBR1M6IDAwMDAwMjQ2IE9SSUdfUkFYOiAwMDAwMDAw MDAwMDAwMDJlClJBWDogZmZmZmZmZmZmZmZmZmZkYSBSQlg6IDAwMDA3ZmFhZTVmZDk2ZDQgUkNY OiAwMDAwMDAwMDAwNDU1YTA5ClJEWDogMDAwMDAwMDAwMDAwMDAwMCBSU0k6IDAwMDAwMDAwMjAw MDAwMDAgUkRJOiAwMDAwMDAwMDAwMDAwMDEzClJCUDogMDAwMDAwMDAwMDcyYmVhMCBSMDg6IDAw MDAwMDAwMDAwMDAwMDAgUjA5OiAwMDAwMDAwMDAwMDAwMDAwClIxMDogMDAwMDAwMDAwMDAwMDAw MCBSMTE6IDAwMDAwMDAwMDAwMDAyNDYgUjEyOiAwMDAwMDAwMGZmZmZmZmZmClIxMzogMDAwMDAw MDAwMDAwMDVkMCBSMTQ6IDAwMDAwMDAwMDA2ZmRjMjAgUjE1OiAwMDAwMDAwMDAwMDAwMDAwCgpV bmluaXQgd2FzIHN0b3JlZCB0byBtZW1vcnkgYXQ6CiBrbXNhbl9zYXZlX3N0YWNrX3dpdGhfZmxh Z3MgbW0va21zYW4va21zYW4uYzoyNzkgW2lubGluZV0KIGttc2FuX3NhdmVfc3RhY2sgbW0va21z YW4va21zYW4uYzoyOTQgW2lubGluZV0KIGttc2FuX2ludGVybmFsX2NoYWluX29yaWdpbisweDEy Yi8weDIxMCBtbS9rbXNhbi9rbXNhbi5jOjY4NQogX19tc2FuX2NoYWluX29yaWdpbisweDY5LzB4 YzAgbW0va21zYW4va21zYW5faW5zdHIuYzo1MjkKIGZpYl9jb252ZXJ0X21ldHJpY3MgbmV0L2lw djQvZmliX3NlbWFudGljcy5jOjEwNTYgW2lubGluZV0KIGZpYl9jcmVhdGVfaW5mbysweDJkNDYv MHg5ZGMwIG5ldC9pcHY0L2ZpYl9zZW1hbnRpY3MuYzoxMTUwCiBmaWJfdGFibGVfaW5zZXJ0KzB4 M2U0LzB4MmI1MCBuZXQvaXB2NC9maWJfdHJpZS5jOjExNDYKIGluZXRfcnRtX25ld3JvdXRlKzB4 MjEwLzB4MzQwIG5ldC9pcHY0L2ZpYl9mcm9udGVuZC5jOjc3OQogcnRuZXRsaW5rX3Jjdl9tc2cr MHhhMzIvMHgxNTYwIG5ldC9jb3JlL3J0bmV0bGluay5jOjQ2NDYKIG5ldGxpbmtfcmN2X3NrYisw eDM3OC8weDYwMCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MjQ0OAogcnRuZXRsaW5rX3Jjdisw eDUwLzB4NjAgbmV0L2NvcmUvcnRuZXRsaW5rLmM6NDY2NAogbmV0bGlua191bmljYXN0X2tlcm5l bCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MTMxMCBbaW5saW5lXQogbmV0bGlua191bmljYXN0 KzB4MTY3OC8weDE3NTAgbmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjEzMzYKIG5ldGxpbmtfc2Vu ZG1zZysweDEwNGYvMHgxMzUwIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsuYzoxOTAxCiBzb2NrX3Nl bmRtc2dfbm9zZWMgbmV0L3NvY2tldC5jOjYyOSBbaW5saW5lXQogc29ja19zZW5kbXNnIG5ldC9z b2NrZXQuYzo2MzkgW2lubGluZV0KIF9fX3N5c19zZW5kbXNnKzB4ZWMwLzB4MTMxMCBuZXQvc29j a2V0LmM6MjExNwogX19zeXNfc2VuZG1zZyBuZXQvc29ja2V0LmM6MjE1NSBbaW5saW5lXQogX19k b19zeXNfc2VuZG1zZyBuZXQvc29ja2V0LmM6MjE2NCBbaW5saW5lXQogX19zZV9zeXNfc2VuZG1z ZyBuZXQvc29ja2V0LmM6MjE2MiBbaW5saW5lXQogX194NjRfc3lzX3NlbmRtc2crMHgzMzEvMHg0 NjAgbmV0L3NvY2tldC5jOjIxNjIKIGRvX3N5c2NhbGxfNjQrMHgxNTIvMHgyMzAgYXJjaC94ODYv ZW50cnkvY29tbW9uLmM6Mjg3CiBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0NC8w eGE5ClVuaW5pdCB3YXMgY3JlYXRlZCBhdDoKIGttc2FuX3NhdmVfc3RhY2tfd2l0aF9mbGFncyBt bS9rbXNhbi9rbXNhbi5jOjI3OSBbaW5saW5lXQoga21zYW5faW50ZXJuYWxfcG9pc29uX3NoYWRv dysweGI4LzB4MWIwIG1tL2ttc2FuL2ttc2FuLmM6MTg5CiBrbXNhbl9rbWFsbG9jKzB4OTQvMHgx MDAgbW0va21zYW4va21zYW4uYzozMTUKIGttc2FuX3NsYWJfYWxsb2MrMHgxMC8weDIwIG1tL2tt c2FuL2ttc2FuLmM6MzIyCiBzbGFiX3Bvc3RfYWxsb2NfaG9vayBtbS9zbGFiLmg6NDQ2IFtpbmxp bmVdCiBzbGFiX2FsbG9jX25vZGUgbW0vc2x1Yi5jOjI3NTMgW2lubGluZV0KIF9fa21hbGxvY19u b2RlX3RyYWNrX2NhbGxlcisweGIzMi8weDExYjAgbW0vc2x1Yi5jOjQzOTUKIF9fa21hbGxvY19y ZXNlcnZlIG5ldC9jb3JlL3NrYnVmZi5jOjEzOCBbaW5saW5lXQogX19hbGxvY19za2IrMHgyY2Iv MHg5ZTAgbmV0L2NvcmUvc2tidWZmLmM6MjA2CiBhbGxvY19za2IgaW5jbHVkZS9saW51eC9za2J1 ZmYuaDo5ODggW2lubGluZV0KIG5ldGxpbmtfYWxsb2NfbGFyZ2Vfc2tiIG5ldC9uZXRsaW5rL2Fm X25ldGxpbmsuYzoxMTgyIFtpbmxpbmVdCiBuZXRsaW5rX3NlbmRtc2crMHg3NmUvMHgxMzUwIG5l dC9uZXRsaW5rL2FmX25ldGxpbmsuYzoxODc2CiBzb2NrX3NlbmRtc2dfbm9zZWMgbmV0L3NvY2tl dC5jOjYyOSBbaW5saW5lXQogc29ja19zZW5kbXNnIG5ldC9zb2NrZXQuYzo2MzkgW2lubGluZV0K IF9fX3N5c19zZW5kbXNnKzB4ZWMwLzB4MTMxMCBuZXQvc29ja2V0LmM6MjExNwogX19zeXNfc2Vu ZG1zZyBuZXQvc29ja2V0LmM6MjE1NSBbaW5saW5lXQogX19kb19zeXNfc2VuZG1zZyBuZXQvc29j a2V0LmM6MjE2NCBbaW5saW5lXQogX19zZV9zeXNfc2VuZG1zZyBuZXQvc29ja2V0LmM6MjE2MiBb aW5saW5lXQogX194NjRfc3lzX3NlbmRtc2crMHgzMzEvMHg0NjAgbmV0L3NvY2tldC5jOjIxNjIK IGRvX3N5c2NhbGxfNjQrMHgxNTIvMHgyMzAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6Mjg3CiBl bnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0NC8weGE5CgpGaXhlczogYTkxOTUyNWFk ODMyICgibmV0OiBNb3ZlIGZpYl9jb252ZXJ0X21ldHJpY3MgdG8gbWV0cmljcyBmaWxlIikKRml4 ZXM6IDFkYTE3N2U0YzNmNCAoIkxpbnV4LTIuNi4xMi1yYzIiKQpTaWduZWQtb2ZmLWJ5OiBFcmlj IER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5emth bGxlckBnb29nbGVncm91cHMuY29tPgpDYzogRGF2aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwuY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogbmV0L2lwdjQvZmliX3NlbWFudGljcy5jIHwgNCArKysrCiAxIGZpbGUgY2hhbmdlZCwgNCBp bnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvZmliX3NlbWFudGljcy5jIGIvbmV0 L2lwdjQvZmliX3NlbWFudGljcy5jCmluZGV4IDdkMzZhOTUwZDk2MS4uMTlmN2Q4Y2Q0ODc1IDEw MDY0NAotLS0gYS9uZXQvaXB2NC9maWJfc2VtYW50aWNzLmMKKysrIGIvbmV0L2lwdjQvZmliX3Nl bWFudGljcy5jCkBAIC03MTcsNiArNzE3LDggQEAgYm9vbCBmaWJfbWV0cmljc19tYXRjaChzdHJ1 Y3QgZmliX2NvbmZpZyAqY2ZnLCBzdHJ1Y3QgZmliX2luZm8gKmZpKQogCQkJbmxhX3N0cmxjcHko dG1wLCBubGEsIHNpemVvZih0bXApKTsKIAkJCXZhbCA9IHRjcF9jYV9nZXRfa2V5X2J5X25hbWUo ZmktPmZpYl9uZXQsIHRtcCwgJmVjbl9jYSk7CiAJCX0gZWxzZSB7CisJCQlpZiAobmxhX2xlbihu bGEpICE9IHNpemVvZih1MzIpKQorCQkJCXJldHVybiBmYWxzZTsKIAkJCXZhbCA9IG5sYV9nZXRf dTMyKG5sYSk7CiAJCX0KIApAQCAtMTA0Myw2ICsxMDQ1LDggQEAgZmliX2NvbnZlcnRfbWV0cmlj cyhzdHJ1Y3QgZmliX2luZm8gKmZpLCBjb25zdCBzdHJ1Y3QgZmliX2NvbmZpZyAqY2ZnKQogCQkJ aWYgKHZhbCA9PSBUQ1BfQ0FfVU5TUEVDKQogCQkJCXJldHVybiAtRUlOVkFMOwogCQl9IGVsc2Ug eworCQkJaWYgKG5sYV9sZW4obmxhKSAhPSBzaXplb2YodTMyKSkKKwkJCQlyZXR1cm4gLUVJTlZB TDsKIAkJCXZhbCA9IG5sYV9nZXRfdTMyKG5sYSk7CiAJCX0KIAkJaWYgKHR5cGUgPT0gUlRBWF9B RFZNU1MgJiYgdmFsID4gNjU1MzUgLSA0MCkKLS0gCjIuMTcuMQoKCkZyb20gM2QxYjhlODczM2Zh ZDM4NjI3ZTU1OWEwMDdjZDhkNDllMGRmNGRjMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBGcmksIDEgSnVuIDIw MTggMDk6MjM6MDIgLTA3MDAKU3ViamVjdDogW1BBVENIIDE5LzQzXSBuZXQvcGFja2V0OiByZWZp bmUgY2hlY2sgZm9yIHByaXYgYXJlYSBzaXplCgpbIFVwc3RyZWFtIGNvbW1pdCBlYjczMTkwZjRm YmVlZGY3NjIzOTRlOTJkNmE0ZWM5YWNlNjg0Yzg4IF0KCnN5emJvdCB3YXMgYWJsZSB0byB0cmlj ayBhZl9wYWNrZXQgYWdhaW4gWzFdCgpWYXJpb3VzIGNvbW1pdHMgdHJpZWQgdG8gYWRkcmVzcyB0 aGUgcHJvYmxlbSBpbiB0aGUgcGFzdCwKYnV0IGZhaWxlZCB0byB0YWtlIGludG8gYWNjb3VudCBW MyBoZWFkZXIgc2l6ZS4KClsxXQoKdHBhY2tldF9yY3Y6IHBhY2tldCB0b28gYmlnLCBjbGFtcGVk IGZyb20gNzIgdG8gNDI5NDk2NzIyNC4gbWFjb2ZmPTk2CkJVRzogS0FTQU46IHVzZS1hZnRlci1m cmVlIGluIHByYl9ydW5fYWxsX2Z0X29wcyBuZXQvcGFja2V0L2FmX3BhY2tldC5jOjEwMTYgW2lu bGluZV0KQlVHOiBLQVNBTjogdXNlLWFmdGVyLWZyZWUgaW4gcHJiX2ZpbGxfY3Vycl9ibG9jay5p c3JhLjU5KzB4NGU1LzB4NWMwIG5ldC9wYWNrZXQvYWZfcGFja2V0LmM6MTAzOQpXcml0ZSBvZiBz aXplIDIgYXQgYWRkciBmZmZmODgwMWNiNjIwMDBlIGJ5IHRhc2sga3dvcmtlci8xOjIvMjEwNgoK Q1BVOiAxIFBJRDogMjEwNiBDb21tOiBrd29ya2VyLzE6MiBOb3QgdGFpbnRlZCA0LjE3LjAtcmM3 KyAjNzcKSGFyZHdhcmUgbmFtZTogR29vZ2xlIEdvb2dsZSBDb21wdXRlIEVuZ2luZS9Hb29nbGUg Q29tcHV0ZSBFbmdpbmUsIEJJT1MgR29vZ2xlIDAxLzAxLzIwMTEKV29ya3F1ZXVlOiBpcHY2X2Fk ZHJjb25mIGFkZHJjb25mX2RhZF93b3JrCkNhbGwgVHJhY2U6CiBfX2R1bXBfc3RhY2sgbGliL2R1 bXBfc3RhY2suYzo3NyBbaW5saW5lXQogZHVtcF9zdGFjaysweDFiOS8weDI5NCBsaWIvZHVtcF9z dGFjay5jOjExMwogcHJpbnRfYWRkcmVzc19kZXNjcmlwdGlvbisweDZjLzB4MjBiIG1tL2thc2Fu L3JlcG9ydC5jOjI1Ngoga2FzYW5fcmVwb3J0X2Vycm9yIG1tL2thc2FuL3JlcG9ydC5jOjM1NCBb aW5saW5lXQoga2FzYW5fcmVwb3J0LmNvbGQuNysweDI0Mi8weDJmZSBtbS9rYXNhbi9yZXBvcnQu Yzo0MTIKIF9fYXNhbl9yZXBvcnRfc3RvcmUyX25vYWJvcnQrMHgxNy8weDIwIG1tL2thc2FuL3Jl cG9ydC5jOjQzNgogcHJiX3J1bl9hbGxfZnRfb3BzIG5ldC9wYWNrZXQvYWZfcGFja2V0LmM6MTAx NiBbaW5saW5lXQogcHJiX2ZpbGxfY3Vycl9ibG9jay5pc3JhLjU5KzB4NGU1LzB4NWMwIG5ldC9w YWNrZXQvYWZfcGFja2V0LmM6MTAzOQogX19wYWNrZXRfbG9va3VwX2ZyYW1lX2luX2Jsb2NrIG5l dC9wYWNrZXQvYWZfcGFja2V0LmM6MTA5NCBbaW5saW5lXQogcGFja2V0X2N1cnJlbnRfcnhfZnJh bWUgbmV0L3BhY2tldC9hZl9wYWNrZXQuYzoxMTE3IFtpbmxpbmVdCiB0cGFja2V0X3JjdisweDE4 NjYvMHgzMzQwIG5ldC9wYWNrZXQvYWZfcGFja2V0LmM6MjI4MgogZGV2X3F1ZXVlX3htaXRfbml0 KzB4ODkxLzB4YjkwIG5ldC9jb3JlL2Rldi5jOjIwMTgKIHhtaXRfb25lIG5ldC9jb3JlL2Rldi5j OjMwNDkgW2lubGluZV0KIGRldl9oYXJkX3N0YXJ0X3htaXQrMHgxNmIvMHhjMTAgbmV0L2NvcmUv ZGV2LmM6MzA2OQogX19kZXZfcXVldWVfeG1pdCsweDI3MjQvMHgzNGMwIG5ldC9jb3JlL2Rldi5j OjM1ODQKIGRldl9xdWV1ZV94bWl0KzB4MTcvMHgyMCBuZXQvY29yZS9kZXYuYzozNjE3CiBuZWln aF9yZXNvbHZlX291dHB1dCsweDY3OS8weGFkMCBuZXQvY29yZS9uZWlnaGJvdXIuYzoxMzU4CiBu ZWlnaF9vdXRwdXQgaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmg6NDgyIFtpbmxpbmVdCiBpcDZfZmlu aXNoX291dHB1dDIrMHhjOWMvMHgyODEwIG5ldC9pcHY2L2lwNl9vdXRwdXQuYzoxMjAKIGlwNl9m aW5pc2hfb3V0cHV0KzB4NWZlLzB4YmMwIG5ldC9pcHY2L2lwNl9vdXRwdXQuYzoxNTQKIE5GX0hP T0tfQ09ORCBpbmNsdWRlL2xpbnV4L25ldGZpbHRlci5oOjI3NyBbaW5saW5lXQogaXA2X291dHB1 dCsweDIyNy8weDliMCBuZXQvaXB2Ni9pcDZfb3V0cHV0LmM6MTcxCiBkc3Rfb3V0cHV0IGluY2x1 ZGUvbmV0L2RzdC5oOjQ0NCBbaW5saW5lXQogTkZfSE9PSyBpbmNsdWRlL2xpbnV4L25ldGZpbHRl ci5oOjI4OCBbaW5saW5lXQogbmRpc2Nfc2VuZF9za2IrMHgxMDBkLzB4MTU3MCBuZXQvaXB2Ni9u ZGlzYy5jOjQ5MQogbmRpc2Nfc2VuZF9ucysweDNjMS8weDhkMCBuZXQvaXB2Ni9uZGlzYy5jOjYz MwogYWRkcmNvbmZfZGFkX3dvcmsrMHhiZWYvMHgxMzQwIG5ldC9pcHY2L2FkZHJjb25mLmM6NDAz MwogcHJvY2Vzc19vbmVfd29yaysweGMxZS8weDFiNTAga2VybmVsL3dvcmtxdWV1ZS5jOjIxNDUK IHdvcmtlcl90aHJlYWQrMHgxY2MvMHgxNDQwIGtlcm5lbC93b3JrcXVldWUuYzoyMjc5CiBrdGhy ZWFkKzB4MzQ1LzB4NDEwIGtlcm5lbC9rdGhyZWFkLmM6MjQwCiByZXRfZnJvbV9mb3JrKzB4M2Ev MHg1MCBhcmNoL3g4Ni9lbnRyeS9lbnRyeV82NC5TOjQxMgoKVGhlIGJ1Z2d5IGFkZHJlc3MgYmVs b25ncyB0byB0aGUgcGFnZToKcGFnZTpmZmZmZWEwMDA3MmQ4ODAwIGNvdW50OjAgbWFwY291bnQ6 LTEyNyBtYXBwaW5nOjAwMDAwMDAwMDAwMDAwMDAgaW5kZXg6MHhmZmZmODgwMWNiNjIwZTgwCmZs YWdzOiAweDJmZmZjMDAwMDAwMDAwMCgpCnJhdzogMDJmZmZjMDAwMDAwMDAwMCAwMDAwMDAwMDAw MDAwMDAwIGZmZmY4ODAxY2I2MjBlODAgMDAwMDAwMDBmZmZmZmY4MApyYXc6IGZmZmZlYTAwMDcy ZTM4MjAgZmZmZmVhMDAwNzEzMmQyMCAwMDAwMDAwMDAwMDAwMDAyIDAwMDAwMDAwMDAwMDAwMDAK cGFnZSBkdW1wZWQgYmVjYXVzZToga2FzYW46IGJhZCBhY2Nlc3MgZGV0ZWN0ZWQKCk1lbW9yeSBz dGF0ZSBhcm91bmQgdGhlIGJ1Z2d5IGFkZHJlc3M6CiBmZmZmODgwMWNiNjFmZjAwOiAwMCAwMCAw MCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAogZmZmZjg4MDFjYjYxZmY4 MDogMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKPmZmZmY4 ODAxY2I2MjAwMDA6IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZm IGZmCiAgICAgICAgICAgICAgICAgICAgICBeCiBmZmZmODgwMWNiNjIwMDgwOiBmZiBmZiBmZiBm ZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZgogZmZmZjg4MDFjYjYyMDEwMDog ZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYKCkZpeGVzOiAy YjY4NjdjMmNlNzYgKCJuZXQvcGFja2V0OiBmaXggb3ZlcmZsb3cgaW4gY2hlY2sgZm9yIHByaXYg YXJlYSBzaXplIikKRml4ZXM6IGRjODA4MTEwYmI2MiAoInBhY2tldDogaGFuZGxlIHRvbyBiaWcg cGFja2V0cyBmb3IgUEFDS0VUX1YzIikKRml4ZXM6IGY2ZmI4ZjEwMGI4MCAoImFmLXBhY2tldDog VFBBQ0tFVF9WMyBmbGV4aWJsZSBidWZmZXIgaW1wbGVtZW50YXRpb24uIikKU2lnbmVkLW9mZi1i eTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90 IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9wYWNrZXQvYWZfcGFja2V0LmMgfCAy ICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9uZXQvcGFja2V0L2FmX3BhY2tldC5jIGIvbmV0L3BhY2tldC9hZl9wYWNrZXQuYwpp bmRleCBjNmEyZGQ4OTBkZTMuLmYyYmEzYjIyYmEyOSAxMDA2NDQKLS0tIGEvbmV0L3BhY2tldC9h Zl9wYWNrZXQuYworKysgYi9uZXQvcGFja2V0L2FmX3BhY2tldC5jCkBAIC00Mjg0LDcgKzQyODQs NyBAQCBzdGF0aWMgaW50IHBhY2tldF9zZXRfcmluZyhzdHJ1Y3Qgc29jayAqc2ssIHVuaW9uIHRw YWNrZXRfcmVxX3UgKnJlcV91LAogCQkJZ290byBvdXQ7CiAJCWlmIChwby0+dHBfdmVyc2lvbiA+ PSBUUEFDS0VUX1YzICYmCiAJCSAgICByZXEtPnRwX2Jsb2NrX3NpemUgPD0KLQkJCSAgQkxLX1BM VVNfUFJJVigodTY0KXJlcV91LT5yZXEzLnRwX3NpemVvZl9wcml2KSkKKwkJICAgIEJMS19QTFVT X1BSSVYoKHU2NClyZXFfdS0+cmVxMy50cF9zaXplb2ZfcHJpdikgKyBzaXplb2Yoc3RydWN0IHRw YWNrZXQzX2hkcikpCiAJCQlnb3RvIG91dDsKIAkJaWYgKHVubGlrZWx5KHJlcS0+dHBfZnJhbWVf c2l6ZSA8IHBvLT50cF9oZHJsZW4gKwogCQkJCQlwby0+dHBfcmVzZXJ2ZSkpCi0tIAoyLjE3LjEK CgpGcm9tIGU0NjQzMmQ3MTBhOTAyOWFiMDlmZDRmMjc3ZWE3MDQxMmRiZDFiZTUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IEZsb3JpYW4gRmFpbmVsbGkgPGYuZmFpbmVsbGlAZ21haWwu Y29tPgpEYXRlOiBUdWUsIDIyIE1heSAyMDE4IDE3OjA0OjQ5IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAyMC80M10gbmV0OiBwaHk6IGJyb2FkY29tOiBGaXggYmNtX3dyaXRlX2V4cCgpCgpbIFVwc3Ry ZWFtIGNvbW1pdCA3OWZiMjE4ZDk3OTgwZDRmZWU5YTY0ZjRjOGZmMDUyODkzNjRiYTI1IF0KCk9u IG5ld2VyIFBIWXMsIHdlIG5lZWQgdG8gc2VsZWN0IHRoZSBleHBhbnNpb24gcmVnaXN0ZXIgdG8g d3JpdGUgd2l0aApzZXR0aW5nIGJpdHMgWzExOjhdIHRvIDB4Zi4gVGhpcyB3YXMgZG9uZSBjb3Jy ZWN0bHkgYnkgYmNtN3h4eC5jIHByaW9yCnRvIGJlaW5nIG1pZ3JhdGVkIHRvIGdlbmVyaWMgY29k ZSB1bmRlciBiY20tcGh5LWxpYi5jIHdoaWNoCnVuZm9ydHVuYXRlbHkgdXNlZCB0aGUgb2xkZXIg aW1wbGVtZW50YXRpb24gZnJvbSB0aGUgQkNNNTR4eCBkYXlzLgoKRml4IHRoaXMgYnkgY3JlYXRp bmcgYW4gaW5saW5lIHN0dWI6IGJjbV93cml0ZV9leHBfc2VsKCkgd2hpY2ggYWRkcyB0aGUKY29y cmVjdCB2YWx1ZSAoTUlJX0JDTTU0WFhfRVhQX1NFTF9FUikgYW5kIHVwZGF0ZSBib3RoIHRoZSBD eWdudXMgUEhZCmFuZCBCQ003eHh4IFBIWSBkcml2ZXJzIHdoaWNoIHJlcXVpcmUgc2V0dGluZyB0 aGVzZSBiaXRzLgoKYnJvYWRjb20uYyBpcyB1bmNoYW5nZWQgYmVjYXVzZSBzb21lIFBIWXMgZXZl biB1c2UgYSBkaWZmZXJlbnQgc2VsZWN0b3IKbWV0aG9kLCBzbyBsZXQgdGhlbSBzcGVjaWZ5IGl0 IGRpcmVjdGx5IChlLmc6IFNlckRlcyBzZWNvbmRhcnkgc2VsZWN0b3IpLgoKRml4ZXM6IGExY2Jh NTYxM2VkZiAoIm5ldDogcGh5OiBBZGQgQnJvYWRjb20gcGh5IGxpYnJhcnkgZm9yIGNvbW1vbiBp bnRlcmZhY2VzIikKU2lnbmVkLW9mZi1ieTogRmxvcmlhbiBGYWluZWxsaSA8Zi5mYWluZWxsaUBn bWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0 Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9waHkvYmNtLWN5Z251cy5jICB8IDYgKysrLS0tCiBkcml2 ZXJzL25ldC9waHkvYmNtLXBoeS1saWIuaCB8IDcgKysrKysrKwogZHJpdmVycy9uZXQvcGh5L2Jj bTd4eHguYyAgICAgfCA0ICsrLS0KIDMgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwg NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9waHkvYmNtLWN5Z251cy5j IGIvZHJpdmVycy9uZXQvcGh5L2JjbS1jeWdudXMuYwppbmRleCA2ODM4MTI5ODM5Y2EuLmU3NTdi MDlmMTg4OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvcGh5L2JjbS1jeWdudXMuYworKysgYi9k cml2ZXJzL25ldC9waHkvYmNtLWN5Z251cy5jCkBAIC02MSwxNyArNjEsMTcgQEAgc3RhdGljIGlu dCBiY21fY3lnbnVzX2FmZV9jb25maWcoc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldikKIAkJcmV0 dXJuIHJjOwogCiAJLyogbWFrZSByY2FsPTEwMCwgc2luY2UgcmRiIGRlZmF1bHQgaXMgMDAwICov Ci0JcmMgPSBiY21fcGh5X3dyaXRlX2V4cChwaHlkZXYsIE1JSV9CUkNNX0NPUkVfRVhQQjEsIDB4 MTApOworCXJjID0gYmNtX3BoeV93cml0ZV9leHBfc2VsKHBoeWRldiwgTUlJX0JSQ01fQ09SRV9F WFBCMSwgMHgxMCk7CiAJaWYgKHJjIDwgMCkKIAkJcmV0dXJuIHJjOwogCiAJLyogQ09SRV9FWFBC MCwgUmVzZXQgUl9DQUwvUkNfQ0FMIEVuZ2luZSAqLwotCXJjID0gYmNtX3BoeV93cml0ZV9leHAo cGh5ZGV2LCBNSUlfQlJDTV9DT1JFX0VYUEIwLCAweDEwKTsKKwlyYyA9IGJjbV9waHlfd3JpdGVf ZXhwX3NlbChwaHlkZXYsIE1JSV9CUkNNX0NPUkVfRVhQQjAsIDB4MTApOwogCWlmIChyYyA8IDAp CiAJCXJldHVybiByYzsKIAogCS8qIENPUkVfRVhQQjAsIERpc2FibGUgUmVzZXQgUl9DQUwvUkNf Q0FMIEVuZ2luZSAqLwotCXJjID0gYmNtX3BoeV93cml0ZV9leHAocGh5ZGV2LCBNSUlfQlJDTV9D T1JFX0VYUEIwLCAweDAwKTsKKwlyYyA9IGJjbV9waHlfd3JpdGVfZXhwX3NlbChwaHlkZXYsIE1J SV9CUkNNX0NPUkVfRVhQQjAsIDB4MDApOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC9waHkvYmNtLXBoeS1saWIuaCBiL2RyaXZlcnMvbmV0L3BoeS9iY20tcGh5LWxp Yi5oCmluZGV4IDdjNzM4MDhjYmJkZS4uODFjY2VhYTQxMmZlIDEwMDY0NAotLS0gYS9kcml2ZXJz L25ldC9waHkvYmNtLXBoeS1saWIuaAorKysgYi9kcml2ZXJzL25ldC9waHkvYmNtLXBoeS1saWIu aApAQCAtMTQsMTEgKzE0LDE4IEBACiAjaWZuZGVmIF9MSU5VWF9CQ01fUEhZX0xJQl9ICiAjZGVm aW5lIF9MSU5VWF9CQ01fUEhZX0xJQl9ICiAKKyNpbmNsdWRlIDxsaW51eC9icmNtcGh5Lmg+CiAj aW5jbHVkZSA8bGludXgvcGh5Lmg+CiAKIGludCBiY21fcGh5X3dyaXRlX2V4cChzdHJ1Y3QgcGh5 X2RldmljZSAqcGh5ZGV2LCB1MTYgcmVnLCB1MTYgdmFsKTsKIGludCBiY21fcGh5X3JlYWRfZXhw KHN0cnVjdCBwaHlfZGV2aWNlICpwaHlkZXYsIHUxNiByZWcpOwogCitzdGF0aWMgaW5saW5lIGlu dCBiY21fcGh5X3dyaXRlX2V4cF9zZWwoc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldiwKKwkJCQkJ dTE2IHJlZywgdTE2IHZhbCkKK3sKKwlyZXR1cm4gYmNtX3BoeV93cml0ZV9leHAocGh5ZGV2LCBy ZWcgfCBNSUlfQkNNNTRYWF9FWFBfU0VMX0VSLCB2YWwpOworfQorCiBpbnQgYmNtNTR4eF9hdXhj dGxfd3JpdGUoc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldiwgdTE2IHJlZ251bSwgdTE2IHZhbCk7 CiBpbnQgYmNtNTR4eF9hdXhjdGxfcmVhZChzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2LCB1MTYg cmVnbnVtKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvcGh5L2JjbTd4eHguYyBiL2RyaXZl cnMvbmV0L3BoeS9iY203eHh4LmMKaW5kZXggNDIxZmViOGY5MmZlLi45MGViM2UxMmE0ZjggMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3BoeS9iY203eHh4LmMKKysrIGIvZHJpdmVycy9uZXQvcGh5 L2JjbTd4eHguYwpAQCAtNjUsMTAgKzY1LDEwIEBAIHN0cnVjdCBiY203eHh4X3BoeV9wcml2IHsK IHN0YXRpYyB2b2lkIHJfcmNfY2FsX3Jlc2V0KHN0cnVjdCBwaHlfZGV2aWNlICpwaHlkZXYpCiB7 CiAJLyogUmVzZXQgUl9DQUwvUkNfQ0FMIEVuZ2luZSAqLwotCWJjbV9waHlfd3JpdGVfZXhwKHBo eWRldiwgMHgwMGIwLCAweDAwMTApOworCWJjbV9waHlfd3JpdGVfZXhwX3NlbChwaHlkZXYsIDB4 MDBiMCwgMHgwMDEwKTsKIAogCS8qIERpc2FibGUgUmVzZXQgUl9BTC9SQ19DQUwgRW5naW5lICov Ci0JYmNtX3BoeV93cml0ZV9leHAocGh5ZGV2LCAweDAwYjAsIDB4MDAwMCk7CisJYmNtX3BoeV93 cml0ZV9leHBfc2VsKHBoeWRldiwgMHgwMGIwLCAweDAwMDApOwogfQogCiBzdGF0aWMgaW50IGJj bTd4eHhfMjhubV9iMF9hZmVfY29uZmlnX2luaXQoc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldikK LS0gCjIuMTcuMQoKCkZyb20gYzQxZThmMzlkZjhjOTFhMWMzNmFkYzVjMTViM2I0YjNjNDY0MmQy ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRGFuaWVsZSBQYWxtYXMgPGRubHBsbUBn bWFpbC5jb20+CkRhdGU6IFRodSwgMzEgTWF5IDIwMTggMTE6MTg6MjkgKzAyMDAKU3ViamVjdDog W1BBVENIIDIxLzQzXSBuZXQ6IHVzYjogY2RjX21iaW06IGFkZCBmbGFnIEZMQUdfU0VORF9aTFAK TUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04 CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClsgVXBzdHJlYW0gY29tbWl0IDlmN2M3 MjgzMzJlODk2NjA4NDI0MmZjZDk1MWFhNDY1ODNiYzMwOGMgXQoKVGVzdGluZyBUZWxpdCBMTTk0 MCB3aXRoIElDTVAgcGFja2V0cyA+IDE0NTUyIGJ5dGVzIHJldmVhbGVkIHRoYXQKdGhlIG1vZGVt IG5lZWRzIEZMQUdfU0VORF9aTFAgdG8gcHJvcGVybHkgd29yaywgb3RoZXJ3aXNlIHRoZSBjZGMK bWJpbSBkYXRhIGludGVyZmFjZSB3b24ndCBiZSBhbnltb3JlIHJlc3BvbnNpdmUuCgpTaWduZWQt b2ZmLWJ5OiBEYW5pZWxlIFBhbG1hcyA8ZG5scGxtQGdtYWlsLmNvbT4KQWNrZWQtYnk6IEJqw7hy biBNb3JrIDxiam9ybkBtb3JrLm5vPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRh dmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvdXNiL2NkY19tYmltLmMgfCAyICst CiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC91c2IvY2RjX21iaW0uYyBiL2RyaXZlcnMvbmV0L3VzYi9jZGNfbWJp bS5jCmluZGV4IDcyMjBjZDYyMDcxNy4uMDM2MmFjZDVjZGNhIDEwMDY0NAotLS0gYS9kcml2ZXJz L25ldC91c2IvY2RjX21iaW0uYworKysgYi9kcml2ZXJzL25ldC91c2IvY2RjX21iaW0uYwpAQCAt NjA5LDcgKzYwOSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJpdmVyX2luZm8gY2RjX21iaW1f aW5mb19uZHBfdG9fZW5kID0gewogICovCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRyaXZlcl9pbmZv IGNkY19tYmltX2luZm9fYXZvaWRfYWx0c2V0dGluZ190b2dnbGUgPSB7CiAJLmRlc2NyaXB0aW9u ID0gIkNEQyBNQklNIiwKLQkuZmxhZ3MgPSBGTEFHX05PX1NFVElOVCB8IEZMQUdfTVVMVElfUEFD S0VUIHwgRkxBR19XV0FOLAorCS5mbGFncyA9IEZMQUdfTk9fU0VUSU5UIHwgRkxBR19NVUxUSV9Q QUNLRVQgfCBGTEFHX1dXQU4gfCBGTEFHX1NFTkRfWkxQLAogCS5iaW5kID0gY2RjX21iaW1fYmlu ZCwKIAkudW5iaW5kID0gY2RjX21iaW1fdW5iaW5kLAogCS5tYW5hZ2VfcG93ZXIgPSBjZGNfbWJp bV9tYW5hZ2VfcG93ZXIsCi0tIAoyLjE3LjEKCgpGcm9tIGUzN2MzMDkxODljMTIzOGM0ODFhMDNj YTRlZjU2ZTg0MzAzYjIzMDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFdpbGxlbSBk ZSBCcnVpam4gPHdpbGxlbWJAZ29vZ2xlLmNvbT4KRGF0ZTogVGh1LCAyNCBNYXkgMjAxOCAxODox MDozMCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMjIvNDNdIHBhY2tldDogZml4IHJlc2VydmUgY2Fs Y3VsYXRpb24KClsgVXBzdHJlYW0gY29tbWl0IDlhYWQxM2IwODdhYjBhNTg4Y2Q2ODI1OWRlNjE4 ZjEwMDA1MzM2MGUgXQoKQ29tbWl0IGI4NGJiYWY3YTZjOCAoInBhY2tldDogaW4gcGFja2V0X3Nu ZCBzdGFydCB3cml0aW5nIGF0IGxpbmsKbGF5ZXIgYWxsb2NhdGlvbiIpIGVuc3VyZXMgdGhhdCBw YWNrZXRfc25kIGFsd2F5cyBzdGFydHMgd3JpdGluZwp0aGUgbGluayBsYXllciBoZWFkZXIgaW4g cmVzZXJ2ZWQgaGVhZHJvb20gYWxsb2NhdGVkIGZvciB0aGlzCnB1cnBvc2UuCgpUaGlzIGlzIG5l ZWRlZCBiZWNhdXNlIHBhY2tldHMgbWF5IGJlIHNob3J0ZXIgdGhhbiBoYXJkX2hlYWRlcl9sZW4s CmluIHdoaWNoIGNhc2UgdGhlIHNwYWNlIHVwIHRvIGhhcmRfaGVhZGVyX2xlbiBtYXkgYmUgemVy b2VkLiBCdXQKdGhhdCBuZWNlc3NhcnkgcGFkZGluZyBpcyBub3QgYWNjb3VudGVkIGZvciBpbiBz a2ItPmxlbi4KClRoZSBmaXgsIGhvd2V2ZXIsIGlzIGJ1Z2d5LiBJdCBjYWxscyBza2JfcHVzaCwg d2hpY2ggZ3Jvd3Mgc2tiLT5sZW4Kd2hlbiBtb3Zpbmcgc2tiLT5kYXRhIGJhY2suIEJ1dCBpbiB0 aGlzIGNhc2UgcGFja2V0IGxlbmd0aCBzaG91bGQgbm90CmNoYW5nZS4KCkluc3RlYWQsIGNhbGwg c2tiX3Jlc2VydmUsIHdoaWNoIG1vdmVzIGJvdGggc2tiLT5kYXRhIGFuZCBza2ItPnRhaWwKYmFj aywgd2l0aG91dCBjaGFuZ2luZyBsZW5ndGguCgpGaXhlczogYjg0YmJhZjdhNmM4ICgicGFja2V0 OiBpbiBwYWNrZXRfc25kIHN0YXJ0IHdyaXRpbmcgYXQgbGluayBsYXllciBhbGxvY2F0aW9uIikK UmVwb3J0ZWQtYnk6IFRhcmlxIFRvdWthbiA8dGFyaXF0QG1lbGxhbm94LmNvbT4KU2lnbmVkLW9m Zi1ieTogV2lsbGVtIGRlIEJydWlqbiA8d2lsbGVtYkBnb29nbGUuY29tPgpBY2tlZC1ieTogU29o ZWlsIEhhc3NhcyBZZWdhbmVoIDxzb2hlaWxAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2 aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9wYWNrZXQvYWZfcGFj a2V0LmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24o LSkKCmRpZmYgLS1naXQgYS9uZXQvcGFja2V0L2FmX3BhY2tldC5jIGIvbmV0L3BhY2tldC9hZl9w YWNrZXQuYwppbmRleCBmMmJhM2IyMmJhMjkuLmM5NDMyYTBjY2Q1NiAxMDA2NDQKLS0tIGEvbmV0 L3BhY2tldC9hZl9wYWNrZXQuYworKysgYi9uZXQvcGFja2V0L2FmX3BhY2tldC5jCkBAIC0yOTEx LDcgKzI5MTEsNyBAQCBzdGF0aWMgaW50IHBhY2tldF9zbmQoc3RydWN0IHNvY2tldCAqc29jaywg c3RydWN0IG1zZ2hkciAqbXNnLCBzaXplX3QgbGVuKQogCQlpZiAodW5saWtlbHkob2Zmc2V0IDwg MCkpCiAJCQlnb3RvIG91dF9mcmVlOwogCX0gZWxzZSBpZiAocmVzZXJ2ZSkgewotCQlza2JfcHVz aChza2IsIHJlc2VydmUpOworCQlza2JfcmVzZXJ2ZShza2IsIC1yZXNlcnZlKTsKIAl9CiAKIAkv KiBSZXR1cm5zIC1FRkFVTFQgb24gZXJyb3IgKi8KLS0gCjIuMTcuMQoKCkZyb20gMTI2Mjk3YTc4 MjVjOGFhNTQxNDZmNDMwNzU2MjE4NGIxNmZiOTA0MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogU2hhaGVkIFNoYWlraCA8c2hhaGVkLnNoYWlraEBjYXZpdW0uY29tPgpEYXRlOiBNb24s IDIxIE1heSAyMDE4IDEyOjMxOjQ3IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAyMy80M10gcWVkOiBG aXggbWFzayBmb3IgcGh5c2ljYWwgYWRkcmVzcyBpbiBJTFQgZW50cnkKClsgVXBzdHJlYW0gY29t bWl0IGZkZDEzZGQzNTBkZGExODI2NTc5ZWI1YzMzM2Q3NmIxNDUxM2I4MTIgXQoKSUxUIGVudHJ5 IHJlcXVpcmVzIDEyIGJpdCByaWdodCBzaGlmdGVkIHBoeXNpY2FsIGFkZHJlc3MuCkV4aXN0aW5n IG1hc2sgZm9yIElMVCBlbnRyeSBvZiBwaHlzaWNhbCBhZGRyZXNzIGkuZS4KSUxUX0VOVFJZX1BI WV9BRERSX01BU0sgaXMgbm90IHN1ZmZpY2llbnQgdG8gaGFuZGxlIDY0Yml0CmFkZHJlc3MgYmVj YXVzZSB1cHBlciA4IGJpdHMgb2YgNjQgYml0IGFkZHJlc3Mgd2VyZSBnZXR0aW5nCm1hc2tlZCB3 aGljaCByZXN1bHRlZCBpbiBjb21wbGV0ZXIgYWJvcnQgZXJyb3Igb24KUENJZSBidXMgZHVlIHRv IGludmFsaWQgYWRkcmVzcy4KCkZpeCB0aGF0IG1hc2sgdG8gaGFuZGxlIDY0Yml0IHBoeXNpY2Fs IGFkZHJlc3MuCgpGaXhlczogZmU1NmI5ZTZhOGQ5ICgicWVkOiBBZGQgbW9kdWxlIHdpdGggYmFz aWMgY29tbW9uIHN1cHBvcnQiKQpTaWduZWQtb2ZmLWJ5OiBTaGFoZWQgU2hhaWtoIDxzaGFoZWQu c2hhaWtoQGNhdml1bS5jb20+ClNpZ25lZC1vZmYtYnk6IEFyaWVsIEVsaW9yIDxhcmllbC5lbGlv ckBjYXZpdW0uY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FlZC9xZWRfY3h0LmMg fCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9xbG9naWMvcWVkL3FlZF9jeHQuYyBiL2Ry aXZlcnMvbmV0L2V0aGVybmV0L3Fsb2dpYy9xZWQvcWVkX2N4dC5jCmluZGV4IDAwZjQxYzE0NWQ0 ZC4uODIwYjIyNmQ2ZmY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9xbG9naWMv cWVkL3FlZF9jeHQuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9xbG9naWMvcWVkL3FlZF9j eHQuYwpAQCAtNzcsNyArNzcsNyBAQAogI2RlZmluZSBJTFRfQ0ZHX1JFRyhjbGksIHJlZykJUFNX UlEyX1JFR18gIyMgY2xpICMjIF8gIyMgcmVnICMjIF9SVF9PRkZTRVQKIAogLyogSUxUIGVudHJ5 IHN0cnVjdHVyZSAqLwotI2RlZmluZSBJTFRfRU5UUllfUEhZX0FERFJfTUFTSwkJMHgwMDBGRkZG RkZGRkZGRlVMTAorI2RlZmluZSBJTFRfRU5UUllfUEhZX0FERFJfTUFTSwkJKH4wVUxMID4+IDEy KQogI2RlZmluZSBJTFRfRU5UUllfUEhZX0FERFJfU0hJRlQJMAogI2RlZmluZSBJTFRfRU5UUllf VkFMSURfTUFTSwkJMHgxVUxMCiAjZGVmaW5lIElMVF9FTlRSWV9WQUxJRF9TSElGVAkJNTIKLS0g CjIuMTcuMQoKCkZyb20gOWFiNmRiNmYwNTIzM2FhN2ZjODIwZjg1MTY0NjVhMWYyNGY5NDg4YiBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29n bGUuY29tPgpEYXRlOiBUdWUsIDUgSnVuIDIwMTggMDk6MjU6MTkgLTA3MDAKU3ViamVjdDogW1BB VENIIDI0LzQzXSBydG5ldGxpbms6IHZhbGlkYXRlIGF0dHJpYnV0ZXMgaW4gZG9fc2V0bGluaygp CgpbIFVwc3RyZWFtIGNvbW1pdCA2NDRjN2VlYmJmZDU5ZTcyOTgyZDExZWM2Y2M3ZDM5YWYxMjQ1 MGFlIF0KCkl0IHNlZW1zIHRoYXQgcnRubF9ncm91cF9jaGFuZ2VsaW5rKCkgY2FuIGNhbGwgZG9f c2V0bGluawp3aGlsZSBhIHByaW9yIGNhbGwgdG8gdmFsaWRhdGVfbGlua21zZyhkZXYgPSBOVUxM LCAuLi4pIGNvdWxkCm5vdCB2YWxpZGF0ZSBJRkxBX0FERFJFU1MgLyBJRkxBX0JST0FEQ0FTVAoK TWFrZSBzdXJlIGRvX3NldGxpbmsoKSBjYWxscyB2YWxpZGF0ZV9saW5rbXNnKCkgaW5zdGVhZApv ZiBsZXR0aW5nIGl0cyBjYWxsZXJzIGhhdmluZyB0aGlzIHJlc3BvbnNpYmlsaXR5LgoKV2l0aCBo ZWxwIGZyb20gRG1pdHJ5IFZ5dWtvdiwgdGhhbmtzIGEgbG90ICEKCkJVRzogS01TQU46IHVuaW5p dC12YWx1ZSBpbiBpc192YWxpZF9ldGhlcl9hZGRyIGluY2x1ZGUvbGludXgvZXRoZXJkZXZpY2Uu aDoxOTkgW2lubGluZV0KQlVHOiBLTVNBTjogdW5pbml0LXZhbHVlIGluIGV0aF9wcmVwYXJlX21h Y19hZGRyX2NoYW5nZSBuZXQvZXRoZXJuZXQvZXRoLmM6Mjc1IFtpbmxpbmVdCkJVRzogS01TQU46 IHVuaW5pdC12YWx1ZSBpbiBldGhfbWFjX2FkZHIrMHgyMDMvMHgyYjAgbmV0L2V0aGVybmV0L2V0 aC5jOjMwOApDUFU6IDEgUElEOiA4Njk1IENvbW06IHN5ei1leGVjdXRvcjMgTm90IHRhaW50ZWQg NC4xNy4wLXJjNSsgIzEwMwpIYXJkd2FyZSBuYW1lOiBHb29nbGUgR29vZ2xlIENvbXB1dGUgRW5n aW5lL0dvb2dsZSBDb21wdXRlIEVuZ2luZSwgQklPUyBHb29nbGUgMDEvMDEvMjAxMQpDYWxsIFRy YWNlOgogX19kdW1wX3N0YWNrIGxpYi9kdW1wX3N0YWNrLmM6NzcgW2lubGluZV0KIGR1bXBfc3Rh Y2srMHgxODUvMHgxZDAgbGliL2R1bXBfc3RhY2suYzoxMTMKIGttc2FuX3JlcG9ydCsweDE0OS8w eDI2MCBtbS9rbXNhbi9rbXNhbi5jOjEwODQKIF9fbXNhbl93YXJuaW5nXzMyKzB4NmUvMHhjMCBt bS9rbXNhbi9rbXNhbl9pbnN0ci5jOjY4NgogaXNfdmFsaWRfZXRoZXJfYWRkciBpbmNsdWRlL2xp bnV4L2V0aGVyZGV2aWNlLmg6MTk5IFtpbmxpbmVdCiBldGhfcHJlcGFyZV9tYWNfYWRkcl9jaGFu Z2UgbmV0L2V0aGVybmV0L2V0aC5jOjI3NSBbaW5saW5lXQogZXRoX21hY19hZGRyKzB4MjAzLzB4 MmIwIG5ldC9ldGhlcm5ldC9ldGguYzozMDgKIGRldl9zZXRfbWFjX2FkZHJlc3MrMHgyNjEvMHg1 MzAgbmV0L2NvcmUvZGV2LmM6NzE1NwogZG9fc2V0bGluaysweGJjMy8weDVmYzAgbmV0L2NvcmUv cnRuZXRsaW5rLmM6MjMxNwogcnRubF9ncm91cF9jaGFuZ2VsaW5rIG5ldC9jb3JlL3J0bmV0bGlu ay5jOjI4MjQgW2lubGluZV0KIHJ0bmxfbmV3bGluaysweDFmZTkvMHgzN2EwIG5ldC9jb3JlL3J0 bmV0bGluay5jOjI5NzYKIHJ0bmV0bGlua19yY3ZfbXNnKzB4YTMyLzB4MTU2MCBuZXQvY29yZS9y dG5ldGxpbmsuYzo0NjQ2CiBuZXRsaW5rX3Jjdl9za2IrMHgzNzgvMHg2MDAgbmV0L25ldGxpbmsv YWZfbmV0bGluay5jOjI0NDgKIHJ0bmV0bGlua19yY3YrMHg1MC8weDYwIG5ldC9jb3JlL3J0bmV0 bGluay5jOjQ2NjQKIG5ldGxpbmtfdW5pY2FzdF9rZXJuZWwgbmV0L25ldGxpbmsvYWZfbmV0bGlu ay5jOjEzMTAgW2lubGluZV0KIG5ldGxpbmtfdW5pY2FzdCsweDE2NzgvMHgxNzUwIG5ldC9uZXRs aW5rL2FmX25ldGxpbmsuYzoxMzM2CiBuZXRsaW5rX3NlbmRtc2crMHgxMDRmLzB4MTM1MCBuZXQv bmV0bGluay9hZl9uZXRsaW5rLmM6MTkwMQogc29ja19zZW5kbXNnX25vc2VjIG5ldC9zb2NrZXQu Yzo2MjkgW2lubGluZV0KIHNvY2tfc2VuZG1zZyBuZXQvc29ja2V0LmM6NjM5IFtpbmxpbmVdCiBf X19zeXNfc2VuZG1zZysweGVjMC8weDEzMTAgbmV0L3NvY2tldC5jOjIxMTcKIF9fc3lzX3NlbmRt c2cgbmV0L3NvY2tldC5jOjIxNTUgW2lubGluZV0KIF9fZG9fc3lzX3NlbmRtc2cgbmV0L3NvY2tl dC5jOjIxNjQgW2lubGluZV0KIF9fc2Vfc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5jOjIxNjIgW2lu bGluZV0KIF9feDY0X3N5c19zZW5kbXNnKzB4MzMxLzB4NDYwIG5ldC9zb2NrZXQuYzoyMTYyCiBk b19zeXNjYWxsXzY0KzB4MTUyLzB4MjMwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI4NwogZW50 cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDQvMHhhOQpSSVA6IDAwMzM6MHg0NTVhMDkK UlNQOiAwMDJiOjAwMDA3ZmMwNzQ4MGVjNjggRUZMQUdTOiAwMDAwMDI0NiBPUklHX1JBWDogMDAw MDAwMDAwMDAwMDAyZQpSQVg6IGZmZmZmZmZmZmZmZmZmZGEgUkJYOiAwMDAwN2ZjMDc0ODBmNmQ0 IFJDWDogMDAwMDAwMDAwMDQ1NWEwOQpSRFg6IDAwMDAwMDAwMDAwMDAwMDAgUlNJOiAwMDAwMDAw MDIwMDAwM2MwIFJESTogMDAwMDAwMDAwMDAwMDAxNApSQlA6IDAwMDAwMDAwMDA3MmJlYTAgUjA4 OiAwMDAwMDAwMDAwMDAwMDAwIFIwOTogMDAwMDAwMDAwMDAwMDAwMApSMTA6IDAwMDAwMDAwMDAw MDAwMDAgUjExOiAwMDAwMDAwMDAwMDAwMjQ2IFIxMjogMDAwMDAwMDBmZmZmZmZmZgpSMTM6IDAw MDAwMDAwMDAwMDA1ZDAgUjE0OiAwMDAwMDAwMDAwNmZkYzIwIFIxNTogMDAwMDAwMDAwMDAwMDAw MAoKVW5pbml0IHdhcyBzdG9yZWQgdG8gbWVtb3J5IGF0Ogoga21zYW5fc2F2ZV9zdGFja193aXRo X2ZsYWdzIG1tL2ttc2FuL2ttc2FuLmM6Mjc5IFtpbmxpbmVdCiBrbXNhbl9zYXZlX3N0YWNrIG1t L2ttc2FuL2ttc2FuLmM6Mjk0IFtpbmxpbmVdCiBrbXNhbl9pbnRlcm5hbF9jaGFpbl9vcmlnaW4r MHgxMmIvMHgyMTAgbW0va21zYW4va21zYW4uYzo2ODUKIGttc2FuX21lbWNweV9vcmlnaW5zKzB4 MTFkLzB4MTcwIG1tL2ttc2FuL2ttc2FuLmM6NTI3CiBfX21zYW5fbWVtY3B5KzB4MTA5LzB4MTYw IG1tL2ttc2FuL2ttc2FuX2luc3RyLmM6NDc4CiBkb19zZXRsaW5rKzB4Yjg0LzB4NWZjMCBuZXQv Y29yZS9ydG5ldGxpbmsuYzoyMzE1CiBydG5sX2dyb3VwX2NoYW5nZWxpbmsgbmV0L2NvcmUvcnRu ZXRsaW5rLmM6MjgyNCBbaW5saW5lXQogcnRubF9uZXdsaW5rKzB4MWZlOS8weDM3YTAgbmV0L2Nv cmUvcnRuZXRsaW5rLmM6Mjk3NgogcnRuZXRsaW5rX3Jjdl9tc2crMHhhMzIvMHgxNTYwIG5ldC9j b3JlL3J0bmV0bGluay5jOjQ2NDYKIG5ldGxpbmtfcmN2X3NrYisweDM3OC8weDYwMCBuZXQvbmV0 bGluay9hZl9uZXRsaW5rLmM6MjQ0OAogcnRuZXRsaW5rX3JjdisweDUwLzB4NjAgbmV0L2NvcmUv cnRuZXRsaW5rLmM6NDY2NAogbmV0bGlua191bmljYXN0X2tlcm5lbCBuZXQvbmV0bGluay9hZl9u ZXRsaW5rLmM6MTMxMCBbaW5saW5lXQogbmV0bGlua191bmljYXN0KzB4MTY3OC8weDE3NTAgbmV0 L25ldGxpbmsvYWZfbmV0bGluay5jOjEzMzYKIG5ldGxpbmtfc2VuZG1zZysweDEwNGYvMHgxMzUw IG5ldC9uZXRsaW5rL2FmX25ldGxpbmsuYzoxOTAxCiBzb2NrX3NlbmRtc2dfbm9zZWMgbmV0L3Nv Y2tldC5jOjYyOSBbaW5saW5lXQogc29ja19zZW5kbXNnIG5ldC9zb2NrZXQuYzo2MzkgW2lubGlu ZV0KIF9fX3N5c19zZW5kbXNnKzB4ZWMwLzB4MTMxMCBuZXQvc29ja2V0LmM6MjExNwogX19zeXNf c2VuZG1zZyBuZXQvc29ja2V0LmM6MjE1NSBbaW5saW5lXQogX19kb19zeXNfc2VuZG1zZyBuZXQv c29ja2V0LmM6MjE2NCBbaW5saW5lXQogX19zZV9zeXNfc2VuZG1zZyBuZXQvc29ja2V0LmM6MjE2 MiBbaW5saW5lXQogX194NjRfc3lzX3NlbmRtc2crMHgzMzEvMHg0NjAgbmV0L3NvY2tldC5jOjIx NjIKIGRvX3N5c2NhbGxfNjQrMHgxNTIvMHgyMzAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6Mjg3 CiBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0NC8weGE5ClVuaW5pdCB3YXMgY3Jl YXRlZCBhdDoKIGttc2FuX3NhdmVfc3RhY2tfd2l0aF9mbGFncyBtbS9rbXNhbi9rbXNhbi5jOjI3 OSBbaW5saW5lXQoga21zYW5faW50ZXJuYWxfcG9pc29uX3NoYWRvdysweGI4LzB4MWIwIG1tL2tt c2FuL2ttc2FuLmM6MTg5CiBrbXNhbl9rbWFsbG9jKzB4OTQvMHgxMDAgbW0va21zYW4va21zYW4u YzozMTUKIGttc2FuX3NsYWJfYWxsb2MrMHgxMC8weDIwIG1tL2ttc2FuL2ttc2FuLmM6MzIyCiBz bGFiX3Bvc3RfYWxsb2NfaG9vayBtbS9zbGFiLmg6NDQ2IFtpbmxpbmVdCiBzbGFiX2FsbG9jX25v ZGUgbW0vc2x1Yi5jOjI3NTMgW2lubGluZV0KIF9fa21hbGxvY19ub2RlX3RyYWNrX2NhbGxlcisw eGIzMi8weDExYjAgbW0vc2x1Yi5jOjQzOTUKIF9fa21hbGxvY19yZXNlcnZlIG5ldC9jb3JlL3Nr YnVmZi5jOjEzOCBbaW5saW5lXQogX19hbGxvY19za2IrMHgyY2IvMHg5ZTAgbmV0L2NvcmUvc2ti dWZmLmM6MjA2CiBhbGxvY19za2IgaW5jbHVkZS9saW51eC9za2J1ZmYuaDo5ODggW2lubGluZV0K IG5ldGxpbmtfYWxsb2NfbGFyZ2Vfc2tiIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsuYzoxMTgyIFtp bmxpbmVdCiBuZXRsaW5rX3NlbmRtc2crMHg3NmUvMHgxMzUwIG5ldC9uZXRsaW5rL2FmX25ldGxp bmsuYzoxODc2CiBzb2NrX3NlbmRtc2dfbm9zZWMgbmV0L3NvY2tldC5jOjYyOSBbaW5saW5lXQog c29ja19zZW5kbXNnIG5ldC9zb2NrZXQuYzo2MzkgW2lubGluZV0KIF9fX3N5c19zZW5kbXNnKzB4 ZWMwLzB4MTMxMCBuZXQvc29ja2V0LmM6MjExNwogX19zeXNfc2VuZG1zZyBuZXQvc29ja2V0LmM6 MjE1NSBbaW5saW5lXQogX19kb19zeXNfc2VuZG1zZyBuZXQvc29ja2V0LmM6MjE2NCBbaW5saW5l XQogX19zZV9zeXNfc2VuZG1zZyBuZXQvc29ja2V0LmM6MjE2MiBbaW5saW5lXQogX194NjRfc3lz X3NlbmRtc2crMHgzMzEvMHg0NjAgbmV0L3NvY2tldC5jOjIxNjIKIGRvX3N5c2NhbGxfNjQrMHgx NTIvMHgyMzAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6Mjg3CiBlbnRyeV9TWVNDQUxMXzY0X2Fm dGVyX2h3ZnJhbWUrMHg0NC8weGE5CgpGaXhlczogZTdlZDgyOGYxMGJkICgibmV0bGluazogc3Vw cG9ydCBzZXR0aW5nIGRldmdyb3VwIHBhcmFtZXRlcnMiKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1 bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5emthbGxl ckBnb29nbGVncm91cHMuY29tPgpDYzogRG1pdHJ5IFZ5dWtvdiA8ZHZ5dWtvdkBnb29nbGUuY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogbmV0L2NvcmUvcnRuZXRsaW5rLmMgfCA4ICsrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgNCBp bnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9jb3JlL3J0bmV0 bGluay5jIGIvbmV0L2NvcmUvcnRuZXRsaW5rLmMKaW5kZXggYmMyOTA0MTNhNDlkLi44MjRiMzI5 MzZlNzUgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL3J0bmV0bGluay5jCisrKyBiL25ldC9jb3JlL3J0 bmV0bGluay5jCkBAIC0yMjQ1LDYgKzIyNDUsMTAgQEAgc3RhdGljIGludCBkb19zZXRsaW5rKGNv bnN0IHN0cnVjdCBza19idWZmICpza2IsCiAJY29uc3Qgc3RydWN0IG5ldF9kZXZpY2Vfb3BzICpv cHMgPSBkZXYtPm5ldGRldl9vcHM7CiAJaW50IGVycjsKIAorCWVyciA9IHZhbGlkYXRlX2xpbmtt c2coZGV2LCB0Yik7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKIAlpZiAodGJbSUZM QV9ORVRfTlNfUElEXSB8fCB0YltJRkxBX05FVF9OU19GRF0gfHwgdGJbSUZMQV9JRl9ORVROU0lE XSkgewogCQlzdHJ1Y3QgbmV0ICpuZXQgPSBydG5sX2xpbmtfZ2V0X25ldF9jYXBhYmxlKHNrYiwg ZGV2X25ldChkZXYpLAogCQkJCQkJCSAgICB0YiwgQ0FQX05FVF9BRE1JTik7CkBAIC0yNjA4LDEw ICsyNjEyLDYgQEAgc3RhdGljIGludCBydG5sX3NldGxpbmsoc3RydWN0IHNrX2J1ZmYgKnNrYiwg c3RydWN0IG5sbXNnaGRyICpubGgsCiAJCWdvdG8gZXJyb3V0OwogCX0KIAotCWVyciA9IHZhbGlk YXRlX2xpbmttc2coZGV2LCB0Yik7Ci0JaWYgKGVyciA8IDApCi0JCWdvdG8gZXJyb3V0OwotCiAJ ZXJyID0gZG9fc2V0bGluayhza2IsIGRldiwgaWZtLCBleHRhY2ssIHRiLCBpZm5hbWUsIDApOwog ZXJyb3V0OgogCXJldHVybiBlcnI7Ci0tIAoyLjE3LjEKCgpGcm9tIGNmMWM2YTI4YzYzY2ZkYWRl MDg1YmRhMzNjZDJmYWUxNWYxZGU5MDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFhp biBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4KRGF0ZTogVHVlLCA1IEp1biAyMDE4IDEyOjE2 OjU4ICswODAwClN1YmplY3Q6IFtQQVRDSCAyNS80M10gc2N0cDogbm90IGFsbG93IHRyYW5zcG9y dCB0aW1lb3V0IHZhbHVlIGxlc3MgdGhhbiBIWi81CiBmb3IgaGJfdGltZXIKClsgVXBzdHJlYW0g Y29tbWl0IDFkODhiYTFlYmIyNzYzYWE4NjE3MmNkN2NhMDVkZWRiZWNjYzBkMzUgXQoKc3l6Ym90 IHJlcG9ydGVkIGEgcmN1X3NjaGVkIHNlbGYtZGV0ZWN0ZWQgc3RhbGwgb24gQ1BVIHdoaWNoIGlz IGNhdXNlZApieSB0b28gc21hbGwgdmFsdWUgc2V0IG9uIHJ0b19taW4gd2l0aCBTQ1RQX1JUT0lO Rk8gc29ja29wdC4gV2l0aCB0aGlzCnZhbHVlLCBoYl90aW1lciB3aWxsIGdldCBzdHVjayB0aGVy ZSwgYXMgaW4gaXRzIHRpbWVyIGhhbmRsZXIgaXQgc3RhcnRzCnRoaXMgdGltZXIgYWdhaW4gd2l0 aCB0aGlzIHZhbHVlLCB0aGVuIGdvZXMgdG8gdGhlIHRpbWVyIGhhbmRsZXIgYWdhaW4uCgpUaGlz IHByb2JsZW0gaXMgdGhlcmUgc2luY2UgdmVyeSBiZWdpbm5pbmcsIGFuZCB0aGFua3MgdG8gRXJp YyBmb3IgdGhlCnJlcHJvZHVjZXIgc2hhcmVkIGZyb20gYSBzeXpib3QgbWFpbC4KClRoaXMgcGF0 Y2ggZml4ZXMgaXQgYnkgbm90IGFsbG93aW5nIHNjdHBfdHJhbnNwb3J0X3RpbWVvdXQgdG8gcmV0 dXJuIGEKc21hbGxlciB2YWx1ZSB0aGFuIEhaLzUgZm9yIGhiX3RpbWVyLCB3aGljaCBpcyBiYXNl ZCBvbiBUQ1AncyBtaW4gcnRvLgoKTm90ZSB0aGF0IGl0IGRvZXNuJ3QgZml4IHRoaXMgaXNzdWUg YnkgbGltaXRpbmcgcnRvX21pbiwgYXMgc29tZSB1c2VycwphcmUgc3RpbGwgdXNpbmcgc21hbGwg cnRvIGFuZCBubyBwcm9wZXIgdmFsdWUgd2FzIGZvdW5kIGZvciBpdCB5ZXQuCgpSZXBvcnRlZC1i eTogc3l6Ym90KzNkY2Q1OWExZjkwNzI0NWY4OTFmQHN5emthbGxlci5hcHBzcG90bWFpbC5jb20K U3VnZ2VzdGVkLWJ5OiBNYXJjZWxvIFJpY2FyZG8gTGVpdG5lciA8bWFyY2Vsby5sZWl0bmVyQGdt YWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogWGluIExvbmcgPGx1Y2llbi54aW5AZ21haWwuY29tPgpB Y2tlZC1ieTogTmVpbCBIb3JtYW4gPG5ob3JtYW5AdHV4ZHJpdmVyLmNvbT4KU2lnbmVkLW9mZi1i eTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9zY3RwL3Ry YW5zcG9ydC5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0 aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3NjdHAvdHJhbnNwb3J0LmMgYi9uZXQvc2N0cC90cmFu c3BvcnQuYwppbmRleCA0N2Y4MmJkNzk0ZDkuLjAzZmMyYzQyN2FjYSAxMDA2NDQKLS0tIGEvbmV0 L3NjdHAvdHJhbnNwb3J0LmMKKysrIGIvbmV0L3NjdHAvdHJhbnNwb3J0LmMKQEAgLTYzNCw3ICs2 MzQsNyBAQCB1bnNpZ25lZCBsb25nIHNjdHBfdHJhbnNwb3J0X3RpbWVvdXQoc3RydWN0IHNjdHBf dHJhbnNwb3J0ICp0cmFucykKIAkgICAgdHJhbnMtPnN0YXRlICE9IFNDVFBfUEYpCiAJCXRpbWVv dXQgKz0gdHJhbnMtPmhiaW50ZXJ2YWw7CiAKLQlyZXR1cm4gdGltZW91dDsKKwlyZXR1cm4gbWF4 X3QodW5zaWduZWQgbG9uZywgdGltZW91dCwgSFogLyA1KTsKIH0KIAogLyogUmVzZXQgdHJhbnNw b3J0IHZhcmlhYmxlcyB0byB0aGVpciBpbml0aWFsIHZhbHVlcyAqLwotLSAKMi4xNy4xCgoKRnJv bSAwYjcxZDkxYWQzNjg4OGI0MTJiN2ZkMGEyZjg2ODRkZGFhZWUyZWJkIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBEYW4gQ2FycGVudGVyIDxkYW4uY2FycGVudGVyQG9yYWNsZS5jb20+ CkRhdGU6IE1vbiwgNCBKdW4gMjAxOCAxNzo0NjowMSArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMjYv NDNdIHRlYW06IHVzZSBuZXRkZXZfZmVhdHVyZXNfdCBpbnN0ZWFkIG9mIHUzMgoKWyBVcHN0cmVh bSBjb21taXQgMjVlYTY2NTQ0YmZkMWQ5ZGYxYjdlMTUwMmY4NzE3ZTg1ZmExZTZlNiBdCgpUaGlz IGNvZGUgd2FzIGludHJvZHVjZWQgaW4gMjAxMSBhcm91bmQgdGhlIHNhbWUgdGltZSB0aGF0IHdl IG1hZGUKbmV0ZGV2X2ZlYXR1cmVzX3QgYSB1NjQgdHlwZS4gIFRoZXNlIGRheXMgYSB1MzIgaXMg bm90IGJpZyBlbm91Z2ggdG8KaG9sZCBhbGwgdGhlIHBvdGVudGlhbCBmZWF0dXJlcy4KClNpZ25l ZC1vZmYtYnk6IERhbiBDYXJwZW50ZXIgPGRhbi5jYXJwZW50ZXJAb3JhY2xlLmNvbT4KQWNrZWQt Ynk6IEppcmkgUGlya28gPGppcmlAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvdGVhbS90ZWFt LmMgfCAzICsrLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3RlYW0vdGVhbS5jIGIvZHJpdmVycy9uZXQvdGVh bS90ZWFtLmMKaW5kZXggMzE3NWY3NDEwYmFmLi44ZjM4NjNjZDAwOTQgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvbmV0L3RlYW0vdGVhbS5jCisrKyBiL2RyaXZlcnMvbmV0L3RlYW0vdGVhbS5jCkBAIC0x MDA0LDcgKzEwMDQsOCBAQCBzdGF0aWMgdm9pZCB0ZWFtX3BvcnRfZGlzYWJsZShzdHJ1Y3QgdGVh bSAqdGVhbSwKIHN0YXRpYyB2b2lkIF9fdGVhbV9jb21wdXRlX2ZlYXR1cmVzKHN0cnVjdCB0ZWFt ICp0ZWFtKQogewogCXN0cnVjdCB0ZWFtX3BvcnQgKnBvcnQ7Ci0JdTMyIHZsYW5fZmVhdHVyZXMg PSBURUFNX1ZMQU5fRkVBVFVSRVMgJiBORVRJRl9GX0FMTF9GT1JfQUxMOworCW5ldGRldl9mZWF0 dXJlc190IHZsYW5fZmVhdHVyZXMgPSBURUFNX1ZMQU5fRkVBVFVSRVMgJgorCQkJCQkgIE5FVElG X0ZfQUxMX0ZPUl9BTEw7CiAJbmV0ZGV2X2ZlYXR1cmVzX3QgZW5jX2ZlYXR1cmVzICA9IFRFQU1f RU5DX0ZFQVRVUkVTOwogCXVuc2lnbmVkIHNob3J0IG1heF9oYXJkX2hlYWRlcl9sZW4gPSBFVEhf SExFTjsKIAl1bnNpZ25lZCBpbnQgZHN0X3JlbGVhc2VfZmxhZyA9IElGRl9YTUlUX0RTVF9SRUxF QVNFIHwKLS0gCjIuMTcuMQoKCkZyb20gNDk0OGU3MzM4MDQxOTg2ZWIzMzdiMDAyMDRlNDU1NzQ4 OTQxMzgyZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFzb24gV2FuZyA8amFzb3dh bmdAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyMiBNYXkgMjAxOCAxOTo1ODo1NyArMDgwMApTdWJq ZWN0OiBbUEFUQ0ggMjcvNDNdIHZob3N0OiBzeW5jaHJvbml6ZSBJT1RMQiBtZXNzYWdlIHdpdGgg ZGV2IGNsZWFudXAKClsgVXBzdHJlYW0gY29tbWl0IDFiMTVhZDY4M2FiNDJhMjAzZjk4YjY3MDQ1 YjQwNzIwZTk5ZDBlOWEgXQoKRGFlUnlvbmcgSmVvbmcgcmVwb3J0cyBhIHJhY2UgYmV0d2VlbiB2 aG9zdF9kZXZfY2xlYW51cCgpIGFuZAp2aG9zdF9wcm9jZXNzX2lvdGxiX21zZygpOgoKVGhyZWFk IGludGVybGVhdmluZzoKQ1BVMCAodmhvc3RfcHJvY2Vzc19pb3RsYl9tc2cpCQkJQ1BVMSAodmhv c3RfZGV2X2NsZWFudXApCihJbiB0aGUgY2FzZSBvZiBib3RoIFZIT1NUX0lPVExCX1VQREFURSBh bmQKVkhPU1RfSU9UTEJfSU5WQUxJREFURSkKCj09PT09CQkJCQkJPT09PT0KCQkJCQkJdmhvc3Rf dW1lbV9jbGVhbihkZXYtPmlvdGxiKTsKaWYgKCFkZXYtPmlvdGxiKSB7CgkgICAgICAgIHJldCA9 IC1FRkFVTFQ7CgkJICAgICAgICBicmVhazsKfQoJCQkJCQlkZXYtPmlvdGxiID0gTlVMTDsKClRo ZSByZWFzb24gaXMgd2UgZG9uJ3Qgc3luY2hyb25pemUgYmV0d2VlbiB0aGVtLCBmaXhpbmcgYnkg cHJvdGVjdGluZwp2aG9zdF9wcm9jZXNzX2lvdGxiX21zZygpIHdpdGggZGV2IG11dGV4LgoKUmVw b3J0ZWQtYnk6IERhZVJ5b25nIEplb25nIDx0aHJlZWVhcmNhdEBnbWFpbC5jb20+CkZpeGVzOiA2 YjFlNmNjNzg1NWIwICgidmhvc3Q6IG5ldyBkZXZpY2UgSU9UTEIgQVBJIikKU2lnbmVkLW9mZi1i eTogSmFzb24gV2FuZyA8amFzb3dhbmdAcmVkaGF0LmNvbT4KQWNrZWQtYnk6IE1pY2hhZWwgUy4g VHNpcmtpbiA8bXN0QHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL3Zob3N0L3Zob3N0LmMgfCAzICsrKwog MSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmhv c3Qvdmhvc3QuYyBiL2RyaXZlcnMvdmhvc3Qvdmhvc3QuYwppbmRleCBiZTZhNGI2YTc2YzYuLjY4 MjQyZjUwYzMwMyAxMDA2NDQKLS0tIGEvZHJpdmVycy92aG9zdC92aG9zdC5jCisrKyBiL2RyaXZl cnMvdmhvc3Qvdmhvc3QuYwpAQCAtOTgxLDYgKzk4MSw3IEBAIHN0YXRpYyBpbnQgdmhvc3RfcHJv Y2Vzc19pb3RsYl9tc2coc3RydWN0IHZob3N0X2RldiAqZGV2LAogewogCWludCByZXQgPSAwOwog CisJbXV0ZXhfbG9jaygmZGV2LT5tdXRleCk7CiAJdmhvc3RfZGV2X2xvY2tfdnFzKGRldik7CiAJ c3dpdGNoIChtc2ctPnR5cGUpIHsKIAljYXNlIFZIT1NUX0lPVExCX1VQREFURToKQEAgLTEwMTYs NiArMTAxNyw4IEBAIHN0YXRpYyBpbnQgdmhvc3RfcHJvY2Vzc19pb3RsYl9tc2coc3RydWN0IHZo b3N0X2RldiAqZGV2LAogCX0KIAogCXZob3N0X2Rldl91bmxvY2tfdnFzKGRldik7CisJbXV0ZXhf dW5sb2NrKCZkZXYtPm11dGV4KTsKKwogCXJldHVybiByZXQ7CiB9CiBzc2l6ZV90IHZob3N0X2No cl93cml0ZV9pdGVyKHN0cnVjdCB2aG9zdF9kZXYgKmRldiwKLS0gCjIuMTcuMQoKCkZyb20gYzkz NTk3ODc3ZmRmMjI2ZTBjMjY3MWVmZmNhM2YyNjdmNzdmYzk4MCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogU3RlcGhlbiBTdXJ5YXB1dHJhIDxzc3VyeWFleHRyQGdtYWlsLmNvbT4KRGF0 ZTogRnJpLCAxIEp1biAyMDE4IDAwOjA1OjIxIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAyOC80M10g dnJmOiBjaGVjayB0aGUgb3JpZ2luYWwgbmV0ZGV2aWNlIGZvciBnZW5lcmF0aW5nCiByZWRpcmVj dAoKWyBVcHN0cmVhbSBjb21taXQgMmYxN2JlY2ZiZWE1ZTlhMDUyOWI1MWRhNzM0NTc4M2U5NmU2 OTUxNiBdCgpVc2UgdGhlIHJpZ2h0IGRldmljZSB0byBkZXRlcm1pbmUgaWYgcmVkaXJlY3Qgc2hv dWxkIGJlIHNlbnQgZXNwZWNpYWxseQp3aGVuIHVzaW5nIHZyZi4gU2FtZSBhcyB3ZWxsIGFzIHdo ZW4gc2VuZGluZyB0aGUgcmVkaXJlY3QuCgpTaWduZWQtb2ZmLWJ5OiBTdGVwaGVuIFN1cnlhcHV0 cmEgPHNzdXJ5YWV4dHJAZ21haWwuY29tPgpBY2tlZC1ieTogRGF2aWQgQWhlcm4gPGRzYWhlcm5A Z21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+Ci0tLQogbmV0L2lwdjYvaXA2X291dHB1dC5jIHwgMyArKy0KIG5ldC9pcHY2L25kaXNj LmMgICAgICB8IDYgKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY2L2lwNl9vdXRwdXQuYyBiL25ldC9pcHY2 L2lwNl9vdXRwdXQuYwppbmRleCAwNzIzMzM3NjBhNTIuLmYzOWVhMDY2OTc3ZCAxMDA2NDQKLS0t IGEvbmV0L2lwdjYvaXA2X291dHB1dC5jCisrKyBiL25ldC9pcHY2L2lwNl9vdXRwdXQuYwpAQCAt NTA3LDcgKzUwNyw4IEBAIGludCBpcDZfZm9yd2FyZChzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogCSAg IHNlbmQgcmVkaXJlY3RzIHRvIHNvdXJjZSByb3V0ZWQgZnJhbWVzLgogCSAgIFdlIGRvbid0IHNl bmQgcmVkaXJlY3RzIHRvIGZyYW1lcyBkZWNhcHN1bGF0ZWQgZnJvbSBJUHNlYy4KIAkgKi8KLQlp ZiAoc2tiLT5kZXYgPT0gZHN0LT5kZXYgJiYgb3B0LT5zcmNydCA9PSAwICYmICFza2Jfc2VjX3Bh dGgoc2tiKSkgeworCWlmIChJUDZDQihza2IpLT5paWYgPT0gZHN0LT5kZXYtPmlmaW5kZXggJiYK KwkgICAgb3B0LT5zcmNydCA9PSAwICYmICFza2Jfc2VjX3BhdGgoc2tiKSkgewogCQlzdHJ1Y3Qg aW42X2FkZHIgKnRhcmdldCA9IE5VTEw7CiAJCXN0cnVjdCBpbmV0X3BlZXIgKnBlZXI7CiAJCXN0 cnVjdCBydDZfaW5mbyAqcnQ7CmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9uZGlzYy5jIGIvbmV0L2lw djYvbmRpc2MuYwppbmRleCBiYTVlMDRjNmFlMTcuLjY1OTU2ZDBmOGExZiAxMDA2NDQKLS0tIGEv bmV0L2lwdjYvbmRpc2MuYworKysgYi9uZXQvaXB2Ni9uZGlzYy5jCkBAIC0xNTc2LDYgKzE1NzYs MTIgQEAgdm9pZCBuZGlzY19zZW5kX3JlZGlyZWN0KHN0cnVjdCBza19idWZmICpza2IsIGNvbnN0 IHN0cnVjdCBpbjZfYWRkciAqdGFyZ2V0KQogCSAgIG9wc19kYXRhX2J1ZltORElTQ19PUFNfUkVE SVJFQ1RfREFUQV9TUEFDRV0sICpvcHNfZGF0YSA9IE5VTEw7CiAJYm9vbCByZXQ7CiAKKwlpZiAo bmV0aWZfaXNfbDNfbWFzdGVyKHNrYi0+ZGV2KSkgeworCQlkZXYgPSBfX2Rldl9nZXRfYnlfaW5k ZXgoZGV2X25ldChza2ItPmRldiksIElQQ0Ioc2tiKS0+aWlmKTsKKwkJaWYgKCFkZXYpCisJCQly ZXR1cm47CisJfQorCiAJaWYgKGlwdjZfZ2V0X2xsYWRkcihkZXYsICZzYWRkcl9idWYsIElGQV9G X1RFTlRBVElWRSkpIHsKIAkJTkRfUFJJTlRLKDIsIHdhcm4sICJSZWRpcmVjdDogbm8gbGluay1s b2NhbCBhZGRyZXNzIG9uICVzXG4iLAogCQkJICBkZXYtPm5hbWUpOwotLSAKMi4xNy4xCgoKRnJv bSBjZDkyYmZlMTdjZTc1NmNmMzRlMDIyNjRkN2RlMjlkYTYzZGVjMjBiIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBNYXRoaWV1IFhob25uZXV4IDxtLnhob25uZXV4QGdtYWlsLmNvbT4K RGF0ZTogRnJpLCAyNSBNYXkgMjAxOCAxMzoyOTo0MSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjkv NDNdIGlwdjY6IHNyOiBmaXggbWVtb3J5IE9PQiBhY2Nlc3MgaW4KIHNlZzZfZG9fc3JoX2VuY2Fw L2lubGluZQoKWyBVcHN0cmVhbSBjb21taXQgYmJiNDBhMGI3NTIwOTczNGZmOTI4NmYzMzI2MTcx NjM4YzlmNjU2OSBdCgpzZWc2X2RvX3NyaF9lbmNhcCBhbmQgc2VnNl9kb19zcmhfaW5saW5lIGNh biBwb3NzaWJseSBkbyBhbgpvdXQtb2YtYm91bmRzIGFjY2VzcyB3aGVuIGFkZGluZyB0aGUgU1JI IHRvIHRoZSBwYWNrZXQuIFRoaXMgbm8gbG9uZ2VyCmhhcHBlbiB3aGVuIGV4cGFuZGluZyB0aGUg c2tiIG5vdCBvbmx5IGJ5IHRoZSBzaXplIG9mIHRoZSBTUkggKCsKb3V0ZXIgSVB2NiBoZWFkZXIp LCBidXQgYWxzbyBieSBza2ItPm1hY19sZW4uCgpbICAgNTMuNzkzMDU2XSBCVUc6IEtBU0FOOiB1 c2UtYWZ0ZXItZnJlZSBpbiBzZWc2X2RvX3NyaF9lbmNhcCsweDI4NC8weDYyMApbICAgNTMuNzk0 NTY0XSBXcml0ZSBvZiBzaXplIDE0IGF0IGFkZHIgZmZmZjg4MDExOTc1ZWNmYSBieSB0YXNrIHBp bmcvNjc0CgpbICAgNTMuNzk2NjY1XSBDUFU6IDAgUElEOiA2NzQgQ29tbTogcGluZyBOb3QgdGFp bnRlZCA0LjE3LjAtcmMzLUFSQ0grICM5MApbICAgNTMuNzk2NjcwXSBIYXJkd2FyZSBuYW1lOiBR RU1VIFN0YW5kYXJkIFBDIChpNDQwRlggKyBQSUlYLCAxOTk2KSwKQklPUyAxLjExLjAtMjAxNzEx MTBfMTAwMDE1LWFuYXRvbCAwNC8wMS8yMDE0ClsgICA1My43OTY2NzNdIENhbGwgVHJhY2U6Clsg ICA1My43OTY2NzldICA8SVJRPgpbICAgNTMuNzk2Njg5XSAgZHVtcF9zdGFjaysweDcxLzB4YWIK WyAgIDUzLjc5NjcwMF0gIHByaW50X2FkZHJlc3NfZGVzY3JpcHRpb24rMHg2YS8weDI3MApbICAg NTMuNzk2NzA3XSAga2FzYW5fcmVwb3J0KzB4MjU4LzB4MzgwClsgICA1My43OTY3MTVdICA/IHNl ZzZfZG9fc3JoX2VuY2FwKzB4Mjg0LzB4NjIwClsgICA1My43OTY3MjJdICBtZW1tb3ZlKzB4MzQv MHg1MApbICAgNTMuNzk2NzMwXSAgc2VnNl9kb19zcmhfZW5jYXArMHgyODQvMHg2MjAKWyAgIDUz Ljc5Njc0MV0gID8gc2VnNl9kb19zcmgrMHgyOWIvMHgzNjAKWyAgIDUzLjc5Njc0N10gIHNlZzZf ZG9fc3JoKzB4MjliLzB4MzYwClsgICA1My43OTY3NTZdICBzZWc2X2lucHV0KzB4MmUvMHgyZTAK WyAgIDUzLjc5Njc2NV0gIGx3dHVubmVsX2lucHV0KzB4OTMvMHhkMApbICAgNTMuNzk2Nzc0XSAg aXB2Nl9yY3YrMHg2OTAvMHg5MjAKWyAgIDUzLjc5Njc4M10gID8gaXA2X2lucHV0KzB4MTcwLzB4 MTcwClsgICA1My43OTY3OTFdICA/IGV0aF9ncm9fcmVjZWl2ZSsweDJkMC8weDJkMApbICAgNTMu Nzk2ODAwXSAgPyBpcDZfaW5wdXQrMHgxNzAvMHgxNzAKWyAgIDUzLjc5NjgwOV0gIF9fbmV0aWZf cmVjZWl2ZV9za2JfY29yZSsweGNjMC8weDEzZjAKWyAgIDUzLjc5NjgyMF0gID8gbmV0ZGV2X2lu Zm8rMHgxMTAvMHgxMTAKWyAgIDUzLjc5NjgyN10gID8gbmFwaV9jb21wbGV0ZV9kb25lKzB4YjYv MHgxNzAKWyAgIDUzLjc5NjgzNF0gID8gZTEwMDBfY2xlYW4rMHg2ZGEvMHhmNzAKWyAgIDUzLjc5 Njg0NV0gID8gcHJvY2Vzc19iYWNrbG9nKzB4MTI5LzB4MmEwClsgICA1My43OTY4NTNdICBwcm9j ZXNzX2JhY2tsb2crMHgxMjkvMHgyYTAKWyAgIDUzLjc5Njg2Ml0gIG5ldF9yeF9hY3Rpb24rMHgy MTEvMHg1YzAKWyAgIDUzLjc5Njg3MF0gID8gbmFwaV9jb21wbGV0ZV9kb25lKzB4MTcwLzB4MTcw ClsgICA1My43OTY4ODddICA/IHJ1bl9yZWJhbGFuY2VfZG9tYWlucysweDExZi8weDE1MApbICAg NTMuNzk2ODkxXSAgX19kb19zb2Z0aXJxKzB4MTBlLzB4MzllClsgICA1My43OTY4OTRdICBkb19z b2Z0aXJxX293bl9zdGFjaysweDJhLzB4NDAKWyAgIDUzLjc5Njg5NV0gIDwvSVJRPgpbICAgNTMu Nzk2ODk4XSAgZG9fc29mdGlycS5wYXJ0LjE2KzB4NTQvMHg2MApbICAgNTMuNzk2OTAwXSAgX19s b2NhbF9iaF9lbmFibGVfaXArMHg1Yi8weDYwClsgICA1My43OTY5MDNdICBpcDZfZmluaXNoX291 dHB1dDIrMHg0MTYvMHg5ZjAKWyAgIDUzLjc5NjkwNl0gID8gaXA2X2RzdF9sb29rdXBfZmxvdysw eDExMC8weDExMApbICAgNTMuNzk2OTA5XSAgPyBpcDZfc2tfZHN0X2xvb2t1cF9mbG93KzB4Mzkw LzB4MzkwClsgICA1My43OTY5MTFdICA/IF9fcmN1X3JlYWRfdW5sb2NrKzB4NjYvMHg4MApbICAg NTMuNzk2OTEzXSAgPyBpcDZfbXR1KzB4NDQvMHhmMApbICAgNTMuNzk2OTE2XSAgPyBpcDZfb3V0 cHV0KzB4ZmMvMHgyMjAKWyAgIDUzLjc5NjkxOF0gIGlwNl9vdXRwdXQrMHhmYy8weDIyMApbICAg NTMuNzk2OTIxXSAgPyBpcDZfZmluaXNoX291dHB1dCsweDJiMC8weDJiMApbICAgNTMuNzk2OTIz XSAgPyBtZW1jcHkrMHgzNC8weDUwClsgICA1My43OTY5MjZdICBpcDZfc2VuZF9za2IrMHg0My8w eGMwClsgICA1My43OTY5MjldICByYXd2Nl9zZW5kbXNnKzB4MTIxNi8weDE1MzAKWyAgIDUzLjc5 NjkzMl0gID8gX19vcmNfZmluZCsweDZiLzB4YzAKWyAgIDUzLjc5NjkzNF0gID8gcmF3djZfcmN2 X3NrYisweDE2MC8weDE2MApbICAgNTMuNzk2OTM3XSAgPyBfX3JjdV9yZWFkX3VubG9jaysweDY2 LzB4ODAKWyAgIDUzLjc5NjkzOV0gID8gX19yY3VfcmVhZF91bmxvY2srMHg2Ni8weDgwClsgICA1 My43OTY5NDJdICA/IGlzX2JwZl90ZXh0X2FkZHJlc3MrMHgxZS8weDMwClsgICA1My43OTY5NDRd ICA/IGtlcm5lbF90ZXh0X2FkZHJlc3MrMHhlYy8weDEwMApbICAgNTMuNzk2OTQ2XSAgPyBfX2tl cm5lbF90ZXh0X2FkZHJlc3MrMHhlLzB4MzAKWyAgIDUzLjc5Njk0OF0gID8gdW53aW5kX2dldF9y ZXR1cm5fYWRkcmVzcysweDJmLzB4NTAKWyAgIDUzLjc5Njk1MF0gID8gX19zYXZlX3N0YWNrX3Ry YWNlKzB4OTIvMHgxMDAKWyAgIDUzLjc5Njk1NF0gID8gc2F2ZV9zdGFjaysweDg5LzB4YjAKWyAg IDUzLjc5Njk1Nl0gID8ga2FzYW5fa21hbGxvYysweGEwLzB4ZDAKWyAgIDUzLjc5Njk1OF0gID8g a21lbV9jYWNoZV9hbGxvYysweGQyLzB4MWYwClsgICA1My43OTY5NjFdICA/IHByZXBhcmVfY3Jl ZHMrMHgyMy8weDE2MApbICAgNTMuNzk2OTYzXSAgPyBfX3g2NF9zeXNfY2Fwc2V0KzB4MjUyLzB4 M2UwClsgICA1My43OTY5NjZdICA/IGRvX3N5c2NhbGxfNjQrMHg2OS8weDE2MApbICAgNTMuNzk2 OTY4XSAgPyBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0NC8weGE5ClsgICA1My43 OTY5NzFdICA/IF9fYWxsb2NfcGFnZXNfbm9kZW1hc2srMHgxNzAvMHgzODAKWyAgIDUzLjc5Njk3 M10gID8gX19hbGxvY19wYWdlc19zbG93cGF0aCsweDEyYzAvMHgxMmMwClsgICA1My43OTY5Nzdd ICA/IHR0eV92aGFuZ3VwKzB4MjAvMHgyMApbICAgNTMuNzk2OTc5XSAgPyBwb2xpY3lfbm9kZW1h c2srMHgxYS8weDkwClsgICA1My43OTY5ODJdICA/IF9fbW9kX25vZGVfcGFnZV9zdGF0ZSsweDhk LzB4YTAKWyAgIDUzLjc5Njk4Nl0gID8gX19jaGVja19vYmplY3Rfc2l6ZSsweGU3LzB4MjQwClsg ICA1My43OTY5ODldICA/IF9fc3lzX3NlbmR0bysweDIyOS8weDI5MApbICAgNTMuNzk2OTkxXSAg PyByYXd2Nl9yY3Zfc2tiKzB4MTYwLzB4MTYwClsgICA1My43OTY5OTNdICBfX3N5c19zZW5kdG8r MHgyMjkvMHgyOTAKWyAgIDUzLjc5Njk5Nl0gID8gX19pYTMyX3N5c19nZXRwZWVybmFtZSsweDUw LzB4NTAKWyAgIDUzLjc5Njk5OV0gID8gY29tbWl0X2NyZWRzKzB4MmRlLzB4NTIwClsgICA1My43 OTcwMDJdICA/IHNlY3VyaXR5X2NhcHNldCsweDU3LzB4NzAKWyAgIDUzLjc5NzAwNF0gID8gX194 NjRfc3lzX2NhcHNldCsweDI5Zi8weDNlMApbICAgNTMuNzk3MDA3XSAgPyBfX3g2NF9zeXNfcnRf c2lnc3VzcGVuZCsweGUwLzB4ZTAKWyAgIDUzLjc5NzAxMV0gID8gX19kb19wYWdlX2ZhdWx0KzB4 NjY0LzB4NzcwClsgICA1My43OTcwMTRdICBfX3g2NF9zeXNfc2VuZHRvKzB4NzQvMHg5MApbICAg NTMuNzk3MDE3XSAgZG9fc3lzY2FsbF82NCsweDY5LzB4MTYwClsgICA1My43OTcwMTldICBlbnRy eV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0NC8weGE5ClsgICA1My43OTcwMjJdIFJJUDog MDAzMzoweDdmNDNiN2E2NzE0YQpbICAgNTMuNzk3MDIzXSBSU1A6IDAwMmI6MDAwMDdmZmQ4OTFi ZDM2OCBFRkxBR1M6IDAwMDAwMjQ2IE9SSUdfUkFYOgowMDAwMDAwMDAwMDAwMDJjClsgICA1My43 OTcwMjZdIFJBWDogZmZmZmZmZmZmZmZmZmZkYSBSQlg6IDAwMDAwMDAwMDA2MTI5YzAgUkNYOiAw MDAwN2Y0M2I3YTY3MTRhClsgICA1My43OTcwMjhdIFJEWDogMDAwMDAwMDAwMDAwMDA0MCBSU0k6 IDAwMDAwMDAwMDA2MTI5YzAgUkRJOiAwMDAwMDAwMDAwMDAwMDA0ClsgICA1My43OTcwMjldIFJC UDogMDAwMDdmZmQ4OTFiZTY0MCBSMDg6IDAwMDAwMDAwMDA2MTA5NDAgUjA5OiAwMDAwMDAwMDAw MDAwMDFjClsgICA1My43OTcwMzBdIFIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6IDAwMDAwMDAw MDAwMDAyNDYgUjEyOiAwMDAwMDAwMDAwMDAwMDQwClsgICA1My43OTcwMzJdIFIxMzogMDAwMDAw MDAwMDYwZTZhMCBSMTQ6IDAwMDAwMDAwMDAwMDgwMDQgUjE1OiAwMDAwMDAwMDAwNDBiNjYxCgpb ICAgNTMuNzk3MTcxXSBBbGxvY2F0ZWQgYnkgdGFzayA2NDI6ClsgICA1My43OTc0NjBdICBrYXNh bl9rbWFsbG9jKzB4YTAvMHhkMApbICAgNTMuNzk3NDYzXSAga21lbV9jYWNoZV9hbGxvYysweGQy LzB4MWYwClsgICA1My43OTc0NjVdICBnZXRuYW1lX2ZsYWdzKzB4NDAvMHgyMTAKWyAgIDUzLjc5 NzQ2N10gIHVzZXJfcGF0aF9hdF9lbXB0eSsweDFkLzB4NDAKWyAgIDUzLjc5NzQ2OV0gIGRvX2Zh Y2Nlc3NhdCsweDEyYS8weDMyMApbICAgNTMuNzk3NDcxXSAgZG9fc3lzY2FsbF82NCsweDY5LzB4 MTYwClsgICA1My43OTc0NzNdICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0NC8w eGE5CgpbICAgNTMuNzk3NjA3XSBGcmVlZCBieSB0YXNrIDY0MjoKWyAgIDUzLjc5Nzg2OV0gIF9f a2FzYW5fc2xhYl9mcmVlKzB4MTMwLzB4MTgwClsgICA1My43OTc4NzFdICBrbWVtX2NhY2hlX2Zy ZWUrMHhhOC8weDIzMApbICAgNTMuNzk3ODcyXSAgZmlsZW5hbWVfbG9va3VwKzB4MTViLzB4MjMw ClsgICA1My43OTc4NzRdICBkb19mYWNjZXNzYXQrMHgxMmEvMHgzMjAKWyAgIDUzLjc5Nzg3Nl0g IGRvX3N5c2NhbGxfNjQrMHg2OS8weDE2MApbICAgNTMuNzk3ODc4XSAgZW50cnlfU1lTQ0FMTF82 NF9hZnRlcl9od2ZyYW1lKzB4NDQvMHhhOQoKWyAgIDUzLjc5ODAxNF0gVGhlIGJ1Z2d5IGFkZHJl c3MgYmVsb25ncyB0byB0aGUgb2JqZWN0IGF0IGZmZmY4ODAxMTk3NWU2MDAKICAgICAgICAgICAg ICAgIHdoaWNoIGJlbG9uZ3MgdG8gdGhlIGNhY2hlIG5hbWVzX2NhY2hlIG9mIHNpemUgNDA5Ngpb ICAgNTMuNzk5MDQzXSBUaGUgYnVnZ3kgYWRkcmVzcyBpcyBsb2NhdGVkIDE3ODYgYnl0ZXMgaW5z aWRlIG9mCiAgICAgICAgICAgICAgICA0MDk2LWJ5dGUgcmVnaW9uIFtmZmZmODgwMTE5NzVlNjAw LCBmZmZmODgwMTE5NzVmNjAwKQpbICAgNTMuODAwMDEzXSBUaGUgYnVnZ3kgYWRkcmVzcyBiZWxv bmdzIHRvIHRoZSBwYWdlOgpbICAgNTMuODAwNDE0XSBwYWdlOmZmZmZlYTAwMDQ2NWQ2MDAgY291 bnQ6MSBtYXBjb3VudDowCm1hcHBpbmc6MDAwMDAwMDAwMDAwMDAwMCBpbmRleDoweDAgY29tcG91 bmRfbWFwY291bnQ6IDAKWyAgIDUzLjgwMTI1OV0gZmxhZ3M6IDB4MTdmZmYwMDAwMDA4MTAwKHNs YWJ8aGVhZCkKWyAgIDUzLjgwMTY0MF0gcmF3OiAwMTdmZmYwMDAwMDA4MTAwIDAwMDAwMDAwMDAw MDAwMDAgMDAwMDAwMDAwMDAwMDAwMAowMDAwMDAwMTAwMDcwMDA3ClsgICA1My44MDMxNDddIHJh dzogZGVhZDAwMDAwMDAwMDEwMCBkZWFkMDAwMDAwMDAwMjAwIGZmZmY4ODAxMWIxODVhNDAKMDAw MDAwMDAwMDAwMDAwMApbICAgNTMuODAzNzg3XSBwYWdlIGR1bXBlZCBiZWNhdXNlOiBrYXNhbjog YmFkIGFjY2VzcyBkZXRlY3RlZAoKWyAgIDUzLjgwNDM4NF0gTWVtb3J5IHN0YXRlIGFyb3VuZCB0 aGUgYnVnZ3kgYWRkcmVzczoKWyAgIDUzLjgwNDc4OF0gIGZmZmY4ODAxMTk3NWViODA6IGZiIGZi IGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiCmZiIGZiIGZiIGZiClsgICA1My44MDUzODRd ICBmZmZmODgwMTE5NzVlYzAwOiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYgpm YiBmYiBmYiBmYgpbICAgNTMuODA1OTc5XSA+ZmZmZjg4MDExOTc1ZWM4MDogZmIgZmIgZmIgZmIg ZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIKZmIgZmIgZmIgZmIKWyAgIDUzLjgwNjU3N10gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KWyAgIDUzLjgwNzE2NV0gIGZmZmY4ODAxMTk3NWVkMDA6IGZiIGZiIGZiIGZiIGZiIGZiIGZi IGZiIGZiIGZiIGZiIGZiCmZiIGZiIGZiIGZiClsgICA1My44MDc3NjJdICBmZmZmODgwMTE5NzVl ZDgwOiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYgpmYiBmYiBmYiBmYgpbICAg NTMuODA4MzU2XSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KWyAgIDUzLjgwODk0OV0gRGlzYWJsaW5nIGxvY2sgZGVidWdn aW5nIGR1ZSB0byBrZXJuZWwgdGFpbnQKCkZpeGVzOiA2Yzg3MDJjNjBiODggKCJpcHY2OiBzcjog YWRkIHN1cHBvcnQgZm9yIFNSSCBlbmNhcHN1bGF0aW9uIGFuZCBpbmplY3Rpb24gd2l0aCBsd3R1 bm5lbHMiKQpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBMZWJydW4gPGRsZWJydW5AZ29vZ2xlLmNvbT4K U2lnbmVkLW9mZi1ieTogTWF0aGlldSBYaG9ubmV1eCA8bS54aG9ubmV1eEBnbWFpbC5jb20+ClNp Z25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBu ZXQvaXB2Ni9zZWc2X2lwdHVubmVsLmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2Vy dGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvc2VnNl9pcHR1 bm5lbC5jIGIvbmV0L2lwdjYvc2VnNl9pcHR1bm5lbC5jCmluZGV4IDVmZTEzOTQ4NDkxOS4uYmY0 NzYzZmQ2OGMyIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9zZWc2X2lwdHVubmVsLmMKKysrIGIvbmV0 L2lwdjYvc2VnNl9pcHR1bm5lbC5jCkBAIC0xMDMsNyArMTAzLDcgQEAgaW50IHNlZzZfZG9fc3Jo X2VuY2FwKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBpcHY2X3NyX2hkciAqb3NyaCwgaW50 IHByb3RvKQogCWhkcmxlbiA9IChvc3JoLT5oZHJsZW4gKyAxKSA8PCAzOwogCXRvdF9sZW4gPSBo ZHJsZW4gKyBzaXplb2YoKmhkcik7CiAKLQllcnIgPSBza2JfY293X2hlYWQoc2tiLCB0b3RfbGVu KTsKKwllcnIgPSBza2JfY293X2hlYWQoc2tiLCB0b3RfbGVuICsgc2tiLT5tYWNfbGVuKTsKIAlp ZiAodW5saWtlbHkoZXJyKSkKIAkJcmV0dXJuIGVycjsKIApAQCAtMTYxLDcgKzE2MSw3IEBAIGlu dCBzZWc2X2RvX3NyaF9pbmxpbmUoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGlwdjZfc3Jf aGRyICpvc3JoKQogCiAJaGRybGVuID0gKG9zcmgtPmhkcmxlbiArIDEpIDw8IDM7CiAKLQllcnIg PSBza2JfY293X2hlYWQoc2tiLCBoZHJsZW4pOworCWVyciA9IHNrYl9jb3dfaGVhZChza2IsIGhk cmxlbiArIHNrYi0+bWFjX2xlbik7CiAJaWYgKHVubGlrZWx5KGVycikpCiAJCXJldHVybiBlcnI7 CiAKLS0gCjIuMTcuMQoKCkZyb20gMzRiZWJlZTgwNDM4MWY3MjJkMWRlMzFlNjM3Yzk0MDE5Yzlk NzZkNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRmxvcmlhbiBGYWluZWxsaSA8Zi5m YWluZWxsaUBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMjIgTWF5IDIwMTggMTY6MjI6MjYgLTA3MDAK U3ViamVjdDogW1BBVENIIDMwLzQzXSBuZXQ6IHBoeTogYnJvYWRjb206IEZpeCBhdXhpbGlhcnkg Y29udHJvbCByZWdpc3RlcgogcmVhZHMKClsgVXBzdHJlYW0gY29tbWl0IDczM2E5NjlhN2VkMTRm YzU3ODZiY2M1OWMxYmRkYTgzYzdkZGI0NmUgXQoKV2UgYXJlIGN1cnJlbnRseSBkb2luZyBhdXhp bGlhcnkgY29udHJvbCByZWdpc3RlciByZWFkcyB3aXRoIHRoZSBzaGFkb3cKcmVnaXN0ZXIgdmFs dWUgMGIxMTEgKDB4Nykgd2hpY2ggaW5jaWRlbnRhbGx5IGlzIGFsc28gdGhlIHNlbGVjdG9yIHZh bHVlCnRoYXQgc2hvdWxkIGJlIHByZXNlbnQgaW4gYml0cyBbMjowXS4gRml4IHRoaXMgYnkgdXNp bmcgdGhlIGFwcHJvcHJpYXRlCnNlbGVjdG9yIG1hc2sgd2hpY2ggaXMgZGVmaW5lZCAoTUlJX0JD TTU0WFhfQVVYQ1RMX1NIRFdTRUxfTUFTSykuCgpUaGlzIGRvZXMgbm90IGhhdmUgYSBmdW5jdGlv bmFsIGltcGFjdCB5ZXQgYmVjYXVzZSB3ZSBhbHdheXMgYWNjZXNzIHRoZQpNSUlfQkNNNTRYWF9B VVhDVExfU0hEV1NFTF9NSVNDICgweDcpIHJlZ2lzdGVyIGluIHRoZSBjdXJyZW50IGNvZGUuClRo aXMgbWlnaHQgY2hhbmdlIGF0IHNvbWUgcG9pbnQgdGhvdWdoLgoKRml4ZXM6IDViNGUyOTAwNTEy MyAoIm5ldDogcGh5OiBicm9hZGNvbTogYWRkIGJjbTU0eHhfYXV4Y3RsX3JlYWQiKQpTaWduZWQt b2ZmLWJ5OiBGbG9yaWFuIEZhaW5lbGxpIDxmLmZhaW5lbGxpQGdtYWlsLmNvbT4KU2lnbmVkLW9m Zi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMv bmV0L3BoeS9iY20tcGh5LWxpYi5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvcGh5L2JjbS1waHkt bGliLmMgYi9kcml2ZXJzL25ldC9waHkvYmNtLXBoeS1saWIuYwppbmRleCA1YWQxMzBjM2RhNDMu LmQ1ZTA4MzNkNjliOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvcGh5L2JjbS1waHktbGliLmMK KysrIGIvZHJpdmVycy9uZXQvcGh5L2JjbS1waHktbGliLmMKQEAgLTU2LDcgKzU2LDcgQEAgaW50 IGJjbTU0eHhfYXV4Y3RsX3JlYWQoc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldiwgdTE2IHJlZ251 bSkKIAkvKiBUaGUgcmVnaXN0ZXIgbXVzdCBiZSB3cml0dGVuIHRvIGJvdGggdGhlIFNoYWRvdyBS ZWdpc3RlciBTZWxlY3QgYW5kCiAJICogdGhlIFNoYWRvdyBSZWFkIFJlZ2lzdGVyIFNlbGVjdG9y CiAJICovCi0JcGh5X3dyaXRlKHBoeWRldiwgTUlJX0JDTTU0WFhfQVVYX0NUTCwgcmVnbnVtIHwK KwlwaHlfd3JpdGUocGh5ZGV2LCBNSUlfQkNNNTRYWF9BVVhfQ1RMLCBNSUlfQkNNNTRYWF9BVVhD VExfU0hEV1NFTF9NQVNLIHwKIAkJICByZWdudW0gPDwgTUlJX0JDTTU0WFhfQVVYQ1RMX1NIRFdT RUxfUkVBRF9TSElGVCk7CiAJcmV0dXJuIHBoeV9yZWFkKHBoeWRldiwgTUlJX0JDTTU0WFhfQVVY X0NUTCk7CiB9Ci0tIAoyLjE3LjEKCgpGcm9tIDFlZjZhYTgxYjJhYWUyNjYxOWExN2JkOGFlNzM4 ZDAyOTc5ZDEwNzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFsZXhhbmRlciBEdXlj ayA8YWxleGFuZGVyLmguZHV5Y2tAaW50ZWwuY29tPgpEYXRlOiBUaHUsIDMxIE1heSAyMDE4IDE1 OjU5OjQ2IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAzMS80M10gbmV0LXN5c2ZzOiBGaXggbWVtb3J5 IGxlYWsgaW4gWFBTIGNvbmZpZ3VyYXRpb24KClsgVXBzdHJlYW0gY29tbWl0IDY2NDA4OGY4ZDY4 MTc4ODA5Yjg0OGNhNDUwZjI3OTdlZmIzNGU4ZTcgXQoKVGhpcyBwYXRjaCByZW9yZGVycyB0aGUg ZXJyb3IgY2FzZXMgaW4gc2hvd2luZyB0aGUgWFBTIGNvbmZpZ3VyYXRpb24gc28KdGhhdCB3ZSBo b2xkIG9mZiBvbiBtZW1vcnkgYWxsb2NhdGlvbiB1bnRpbCBhZnRlciB3ZSBoYXZlIHZlcmlmaWVk IHRoYXQgd2UKY2FuIHN1cHBvcnQgWFBTIG9uIGEgZ2l2ZW4gcmluZy4KCkZpeGVzOiAxODRjNDQ5 ZjkxZmUgKCJuZXQ6IEFkZCBzdXBwb3J0IGZvciBYUFMgd2l0aCBRb1MgdmlhIHRyYWZmaWMgY2xh c3NlcyIpClNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBEdXljayA8YWxleGFuZGVyLmguZHV5Y2tA aW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+Ci0tLQogbmV0L2NvcmUvbmV0LXN5c2ZzLmMgfCA2ICsrKy0tLQogMSBmaWxlIGNoYW5n ZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvY29y ZS9uZXQtc3lzZnMuYyBiL25ldC9jb3JlL25ldC1zeXNmcy5jCmluZGV4IDYwYTVhZDJjMzNlZS4u ODI2OTA3NDVmOTRhIDEwMDY0NAotLS0gYS9uZXQvY29yZS9uZXQtc3lzZnMuYworKysgYi9uZXQv Y29yZS9uZXQtc3lzZnMuYwpAQCAtMTIxNCw5ICsxMjE0LDYgQEAgc3RhdGljIHNzaXplX3QgeHBz X2NwdXNfc2hvdyhzdHJ1Y3QgbmV0ZGV2X3F1ZXVlICpxdWV1ZSwKIAljcHVtYXNrX3Zhcl90IG1h c2s7CiAJdW5zaWduZWQgbG9uZyBpbmRleDsKIAotCWlmICghemFsbG9jX2NwdW1hc2tfdmFyKCZt YXNrLCBHRlBfS0VSTkVMKSkKLQkJcmV0dXJuIC1FTk9NRU07Ci0KIAlpbmRleCA9IGdldF9uZXRk ZXZfcXVldWVfaW5kZXgocXVldWUpOwogCiAJaWYgKGRldi0+bnVtX3RjKSB7CkBAIC0xMjI2LDYg KzEyMjMsOSBAQCBzdGF0aWMgc3NpemVfdCB4cHNfY3B1c19zaG93KHN0cnVjdCBuZXRkZXZfcXVl dWUgKnF1ZXVlLAogCQkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCisJaWYgKCF6YWxsb2NfY3B1bWFz a192YXIoJm1hc2ssIEdGUF9LRVJORUwpKQorCQlyZXR1cm4gLUVOT01FTTsKKwogCXJjdV9yZWFk X2xvY2soKTsKIAlkZXZfbWFwcyA9IHJjdV9kZXJlZmVyZW5jZShkZXYtPnhwc19tYXBzKTsKIAlp ZiAoZGV2X21hcHMpIHsKLS0gCjIuMTcuMQoKCkZyb20gZjFiNDZkOTQyZmEzYzkwZWNjNzNmNThm YjNjYTg1YWZiNWE4MDc5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFzb24gV2Fu ZyA8amFzb3dhbmdAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyMiBNYXkgMjAxOCAxMTo0NDoyOSAr MDgwMApTdWJqZWN0OiBbUEFUQ0ggMzIvNDNdIHZpcnRpby1uZXQ6IGNvcnJlY3RseSB0cmFuc21p dCBYRFAgYnVmZiBhZnRlcgogbGluZWFyaXppbmcKClsgVXBzdHJlYW0gY29tbWl0IDVkNDU4YTEz ZGQ1OWQwNGI0ZDY2NThhNmQ1Yjk0ZDQyNzMyYjE1YWUgXQoKV2Ugc2hvdWxkIG5vdCBnbyBmb3Ig dGhlIGVycm9yIHBhdGggYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHRyYW5zbWl0dGluZyBhClhEUCBidWZm ZXIgYWZ0ZXIgbGluZWFyaXppbmcuIFNpbmNlIHRoZSBlcnJvciBwYXRoIG1heSB0cnkgdG8gcG9w IGFuZApkcm9wIG5leHQgcGFja2V0IGFuZCBpbmNyZWFzZSB0aGUgZHJvcCBjb3VudGVycy4gRml4 aW5nIHRoaXMgYnkgc2ltcGx5CmRyb3AgdGhlIHJlZmNudCBvZiBvcmlnaW5hbCBwYWdlIGFuZCBn byBmb3IgeG1pdCBwYXRoLgoKRml4ZXM6IDcyOTc5YTZjMzU5MCAoInZpcnRpb19uZXQ6IHhkcCwg YWRkIHNsb3dwYXRoIGNhc2UgZm9yIG5vbiBjb250aWd1b3VzIGJ1ZmZlcnMiKQpDYzogSm9obiBG YXN0YWJlbmQgPGpvaG4uZmFzdGFiZW5kQGdtYWlsLmNvbT4KQWNrZWQtYnk6IE1pY2hhZWwgUy4g VHNpcmtpbiA8bXN0QHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IEphc29uIFdhbmcgPGphc293 YW5nQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMgfCAyICstCiAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC92aXJ0aW9fbmV0LmMgYi9kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMKaW5kZXggMTZi MGM3ZGI0MzFiLi44ZGI2ODRjNzAxNjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRpb19u ZXQuYworKysgYi9kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMKQEAgLTc3NSw3ICs3NzUsNyBAQCBz dGF0aWMgc3RydWN0IHNrX2J1ZmYgKnJlY2VpdmVfbWVyZ2VhYmxlKHN0cnVjdCBuZXRfZGV2aWNl ICpkZXYsCiAJCQl9CiAJCQkqeGRwX3htaXQgPSB0cnVlOwogCQkJaWYgKHVubGlrZWx5KHhkcF9w YWdlICE9IHBhZ2UpKQotCQkJCWdvdG8gZXJyX3hkcDsKKwkJCQlwdXRfcGFnZShwYWdlKTsKIAkJ CXJjdV9yZWFkX3VubG9jaygpOwogCQkJZ290byB4ZHBfeG1pdDsKIAkJY2FzZSBYRFBfUkVESVJF Q1Q6Ci0tIAoyLjE3LjEKCgpGcm9tIGIyZGM5OTJmMzY0ZjE0N2E3ZDRkYWExZTJmMWVlMzIwZWZj NzgyNjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEphc29uIFdhbmcgPGphc293YW5n QHJlZGhhdC5jb20+CkRhdGU6IFR1ZSwgMjIgTWF5IDIwMTggMTE6NDQ6MzEgKzA4MDAKU3ViamVj dDogW1BBVENIIDMzLzQzXSB2aXJ0aW8tbmV0OiBmaXggbGVha2luZyBwYWdlIGZvciBnc28gcGFj a2V0IGR1cmluZwogbWVyZ2VhYmxlIFhEUAoKWyBVcHN0cmVhbSBjb21taXQgM2Q2MmIyYTBkYjUw NWJiZjllZDA3NTVmMjU0ZTQ1ZDc3NWY5ODA3ZiBdCgpXZSBuZWVkIHRvIGRyb3AgcmVmY250IHRv IHhkcF9wYWdlIGlmIHdlIHNlZSBhIGdzbyBwYWNrZXQuIE90aGVyd2lzZQppdCB3aWxsIGJlIGxl YWtlZC4gRml4aW5nIHRoaXMgYnkgbW92aW5nIHRoZSBjaGVjayBvZiBnc28gcGFja2V0IGFib3Zl CnRoZSBsaW5lYXJpemluZyBsb2dpYy4gV2hpbGUgYXQgaXQsIHJlbW92ZSB1c2VsZXNzIGNvbW1l bnQgYXMgd2VsbC4KCkNjOiBKb2huIEZhc3RhYmVuZCA8am9obi5mYXN0YWJlbmRAZ21haWwuY29t PgpGaXhlczogNzI5NzlhNmMzNTkwICgidmlydGlvX25ldDogeGRwLCBhZGQgc2xvd3BhdGggY2Fz ZSBmb3Igbm9uIGNvbnRpZ3VvdXMgYnVmZmVycyIpClNpZ25lZC1vZmYtYnk6IEphc29uIFdhbmcg PGphc293YW5nQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMgfCAxNSArKysr KysrLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvX25ldC5jIGIvZHJpdmVycy9uZXQv dmlydGlvX25ldC5jCmluZGV4IDhkYjY4NGM3MDE2Mi4uNjJmMmJlZTM0YTRiIDEwMDY0NAotLS0g YS9kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMKKysrIGIvZHJpdmVycy9uZXQvdmlydGlvX25ldC5j CkBAIC03MDcsNiArNzA3LDEzIEBAIHN0YXRpYyBzdHJ1Y3Qgc2tfYnVmZiAqcmVjZWl2ZV9tZXJn ZWFibGUoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKIAkJdm9pZCAqZGF0YTsKIAkJdTMyIGFjdDsK IAorCQkvKiBUcmFuc2llbnQgZmFpbHVyZSB3aGljaCBpbiB0aGVvcnkgY291bGQgb2NjdXIgaWYK KwkJICogaW4tZmxpZ2h0IHBhY2tldHMgZnJvbSBiZWZvcmUgWERQIHdhcyBlbmFibGVkIHJlYWNo CisJCSAqIHRoZSByZWNlaXZlIHBhdGggYWZ0ZXIgWERQIGlzIGxvYWRlZC4KKwkJICovCisJCWlm ICh1bmxpa2VseShoZHItPmhkci5nc29fdHlwZSkpCisJCQlnb3RvIGVycl94ZHA7CisKIAkJLyog VGhpcyBoYXBwZW5zIHdoZW4gcnggYnVmZmVyIHNpemUgaXMgdW5kZXJlc3RpbWF0ZWQKIAkJICog b3IgaGVhZHJvb20gaXMgbm90IGVub3VnaCBiZWNhdXNlIG9mIHRoZSBidWZmZXIKIAkJICogd2Fz IHJlZmlsbGVkIGJlZm9yZSBYRFAgaXMgc2V0LiBUaGlzIHNob3VsZCBvbmx5CkBAIC03MjcsMTQg KzczNCw2IEBAIHN0YXRpYyBzdHJ1Y3Qgc2tfYnVmZiAqcmVjZWl2ZV9tZXJnZWFibGUoc3RydWN0 IG5ldF9kZXZpY2UgKmRldiwKIAkJCXhkcF9wYWdlID0gcGFnZTsKIAkJfQogCi0JCS8qIFRyYW5z aWVudCBmYWlsdXJlIHdoaWNoIGluIHRoZW9yeSBjb3VsZCBvY2N1ciBpZgotCQkgKiBpbi1mbGln aHQgcGFja2V0cyBmcm9tIGJlZm9yZSBYRFAgd2FzIGVuYWJsZWQgcmVhY2gKLQkJICogdGhlIHJl Y2VpdmUgcGF0aCBhZnRlciBYRFAgaXMgbG9hZGVkLiBJbiBwcmFjdGljZSBJCi0JCSAqIHdhcyBu b3QgYWJsZSB0byBjcmVhdGUgdGhpcyBjb25kaXRpb24uCi0JCSAqLwotCQlpZiAodW5saWtlbHko aGRyLT5oZHIuZ3NvX3R5cGUpKQotCQkJZ290byBlcnJfeGRwOwotCiAJCS8qIEFsbG93IGNvbnN1 bWluZyBoZWFkcm9vbSBidXQgcmVzZXJ2ZSBlbm91Z2ggc3BhY2UgdG8gcHVzaAogCQkgKiB0aGUg ZGVzY3JpcHRvciBvbiBpZiB3ZSBnZXQgYW4gWERQX1RYIHJldHVybiBjb2RlLgogCQkgKi8KLS0g CjIuMTcuMQoKCkZyb20gNGM2YTVhNmNkZDRhNGQ4OGE0YzI0ZWM5YjliMzQxMDNmMTYyMDMzNCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFjayBNb3JnZW5zdGVpbiA8amFja21AZGV2 Lm1lbGxhbm94LmNvLmlsPgpEYXRlOiBXZWQsIDIzIE1heSAyMDE4IDEwOjQxOjU5ICswMzAwClN1 YmplY3Q6IFtQQVRDSCAzNC80M10gbmV0L21seDQ6IEZpeCBpcnEtdW5zYWZlIHNwaW5sb2NrIHVz YWdlCgpbIFVwc3RyZWFtIGNvbW1pdCBkNTQ2YjY3Y2RhMDE1ZmI5MmJmZWU5M2Q1ZGMwY2VhZGI5 MWRlYWVlIF0KCnNwaW5fbG9jay91bmxvY2sgd2FzIHVzZWQgaW5zdGVhZCBvZiBzcGluX3VuL2xv Y2tfaXJxCmluIGEgcHJvY2VkdXJlIHVzZWQgaW4gcHJvY2VzcyBzcGFjZSwgb24gYSBzcGlubG9j awp3aGljaCBjYW4gYmUgZ3JhYmJlZCBpbiBhbiBpbnRlcnJ1cHQuCgpUaGlzIGNhdXNlZCB0aGUg c3RhY2sgdHJhY2UgYmVsb3cgdG8gYmUgZGlzcGxheWVkIChvbiBrZXJuZWwKNC4xNy4wLXJjMSBj b21waWxlZCB3aXRoIExvY2sgRGVidWdnaW5nIGVuYWJsZWQpOgoKWyAgMTU0LjY2MTQ3NF0gV0FS TklORzogU09GVElSUS1zYWZlIC0+IFNPRlRJUlEtdW5zYWZlIGxvY2sgb3JkZXIgZGV0ZWN0ZWQK WyAgMTU0LjY2ODkwOV0gNC4xNy4wLXJjMS1yZG1hX3JjX21seCsgIzMgVGFpbnRlZDogRyAgICAg ICAgICBJClsgIDE1NC42NzU4NTZdIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tClsgIDE1NC42ODI3MDZdIG1vZHByb2JlLzEwMTU5IFtIQzBbMF06 U0MwWzBdOkhFMDpTRTFdIGlzIHRyeWluZyB0byBhY3F1aXJlOgpbICAxNTQuNjkwMjU0XSAwMDAw MDAwMGYzYjBlNDk1ICgmKCZxcF90YWJsZS0+bG9jayktPnJsb2NrKXsrLisufSwgYXQ6IG1seDRf cXBfcmVtb3ZlKzB4MjAvMHg1MCBbbWx4NF9jb3JlXQpbICAxNTQuNzAwOTI3XQphbmQgdGhpcyB0 YXNrIGlzIGFscmVhZHkgaG9sZGluZzoKWyAgMTU0LjcwNzQ2MV0gMDAwMDAwMDA5NDM3M2I1ZCAo JigmY3EtPmxvY2spLT5ybG9jay8xKXsuLi4ufSwgYXQ6IGRlc3Ryb3lfcXBfY29tbW9uKzB4MTEx LzB4NTYwIFttbHg0X2liXQpbICAxNTQuNzE4MDI4XSB3aGljaCB3b3VsZCBjcmVhdGUgYSBuZXcg bG9jayBkZXBlbmRlbmN5OgpbICAxNTQuNzIzNzA1XSAgKCYoJmNxLT5sb2NrKS0+cmxvY2svMSl7 Li4uLn0gLT4gKCYoJnFwX3RhYmxlLT5sb2NrKS0+cmxvY2speysuKy59ClsgIDE1NC43MzE5MjJd CmJ1dCB0aGlzIG5ldyBkZXBlbmRlbmN5IGNvbm5lY3RzIGEgU09GVElSUS1pcnEtc2FmZSBsb2Nr OgpbICAxNTQuNzQwNzk4XSAgKCYoJmNxLT5sb2NrKS0+cmxvY2spey4uLS59ClsgIDE1NC43NDA4 MDBdCi4uLiB3aGljaCBiZWNhbWUgU09GVElSUS1pcnEtc2FmZSBhdDoKWyAgMTU0Ljc1MjE2M10g ICBfcmF3X3NwaW5fbG9ja19pcnFzYXZlKzB4M2UvMHg1MApbICAxNTQuNzU3MTYzXSAgIG1seDRf aWJfcG9sbF9jcSsweDM2LzB4OTAwIFttbHg0X2liXQpbICAxNTQuNzYyNTU0XSAgIGlwb2liX3R4 X3BvbGwrMHg0YS8weGYwIFtpYl9pcG9pYl0KLi4uCnRvIGEgU09GVElSUS1pcnEtdW5zYWZlIGxv Y2s6ClsgIDE1NC44MTU2MDNdICAoJigmcXBfdGFibGUtPmxvY2spLT5ybG9jayl7Ky4rLn0KWyAg MTU0LjgxNTYwNF0KLi4uIHdoaWNoIGJlY2FtZSBTT0ZUSVJRLWlycS11bnNhZmUgYXQ6ClsgIDE1 NC44Mjc3MThdIC4uLgpbICAxNTQuODI3NzIwXSAgIF9yYXdfc3Bpbl9sb2NrKzB4MzUvMHg1MApb ICAxNTQuODMzOTEyXSAgIG1seDRfcXBfbG9va3VwKzB4MWUvMHg1MCBbbWx4NF9jb3JlXQpbICAx NTQuODM5MzAyXSAgIG1seDRfZmxvd19hdHRhY2grMHgzZi8weDNkMCBbbWx4NF9jb3JlXQoKU2lu Y2UgbWx4NF9xcF9sb29rdXAoKSBpcyBjYWxsZWQgb25seSBpbiBwcm9jZXNzIHNwYWNlLCB3ZSBj YW4Kc2ltcGx5IHJlcGxhY2UgdGhlIHNwaW5fdW4vbG9jayBjYWxscyB3aXRoIHNwaW5fdW4vbG9j a19pcnEgY2FsbHMuCgpGaXhlczogNmRjMDZjMDhiZWYxICgibmV0L21seDQ6IEZpeCB0aGUgY2hl Y2sgaW4gYXR0YWNoaW5nIHN0ZWVyaW5nIHJ1bGVzIikKU2lnbmVkLW9mZi1ieTogSmFjayBNb3Jn ZW5zdGVpbiA8amFja21AZGV2Lm1lbGxhbm94LmNvLmlsPgpTaWduZWQtb2ZmLWJ5OiBUYXJpcSBU b3VrYW4gPHRhcmlxdEBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxl ciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg0L3FwLmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gv bWx4NC9xcC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9xcC5jCmluZGV4 IDNhYWY0YmFkNmM1YS4uNDI3ZTdhMzE4NjJjIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhl cm5ldC9tZWxsYW5veC9tbHg0L3FwLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFu b3gvbWx4NC9xcC5jCkBAIC0zOTMsMTEgKzM5MywxMSBAQCBzdHJ1Y3QgbWx4NF9xcCAqbWx4NF9x cF9sb29rdXAoc3RydWN0IG1seDRfZGV2ICpkZXYsIHUzMiBxcG4pCiAJc3RydWN0IG1seDRfcXBf dGFibGUgKnFwX3RhYmxlID0gJm1seDRfcHJpdihkZXYpLT5xcF90YWJsZTsKIAlzdHJ1Y3QgbWx4 NF9xcCAqcXA7CiAKLQlzcGluX2xvY2soJnFwX3RhYmxlLT5sb2NrKTsKKwlzcGluX2xvY2tfaXJx KCZxcF90YWJsZS0+bG9jayk7CiAKIAlxcCA9IF9fbWx4NF9xcF9sb29rdXAoZGV2LCBxcG4pOwog Ci0Jc3Bpbl91bmxvY2soJnFwX3RhYmxlLT5sb2NrKTsKKwlzcGluX3VubG9ja19pcnEoJnFwX3Rh YmxlLT5sb2NrKTsKIAlyZXR1cm4gcXA7CiB9CiAKLS0gCjIuMTcuMQoKCkZyb20gMmY4ZjA3YjNm MjE2ZDE4MmY4Mzk1ZjhlMjIyNjJmMThhYmY2MWMwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogRXJhbiBCZW4gRWxpc2hhIDxlcmFuYmVAbWVsbGFub3guY29tPgpEYXRlOiBUdWUsIDEg TWF5IDIwMTggMTY6MjU6MDcgKzAzMDAKU3ViamVjdDogW1BBVENIIDM1LzQzXSBuZXQvbWx4NWU6 IFdoZW4gUlhGQ1MgaXMgc2V0LCBhZGQgRkNTIGRhdGEgaW50bwogY2hlY2tzdW0gY2FsY3VsYXRp b24KClsgVXBzdHJlYW0gY29tbWl0IDkwMmE1NDU5MDRjNzFkNzE5ZWQxNDQyMzRkNjdkZjc1ZjMx ZGI2M2IgXQoKV2hlbiBSWEZDUyBmZWF0dXJlIGlzIGVuYWJsZWQsIHRoZSBIVyBkbyBub3Qgc3Ry aXAgdGhlIEZDUyBkYXRhLApob3dldmVyIGl0IGlzIG5vdCBwcmVzZW50IGluIHRoZSBjaGVja3N1 bSBjYWxjdWxhdGVkIGJ5IHRoZSBIVy4KCkZpeCB0aGF0IGJ5IG1hbnVhbGx5IGNhbGN1bGF0aW5n IHRoZSBGQ1MgY2hlY2tzdW0gYW5kIGFkZGluZyBpdCB0byB0aGUgU0tCCmNoZWNrc3VtIGZpZWxk LgoKQWRkIGhlbHBlciBmdW5jdGlvbiB0byBmaW5kIHRoZSBGQ1MgZGF0YSBmb3IgYWxsIFNLQiBm b3JtcyAobGluZWFyLApvbmUgZnJhZ21lbnQgb3IgbW9yZSkuCgpGaXhlczogMTAyNzIyZmM2ODMy ICgibmV0L21seDVlOiBBZGQgc3VwcG9ydCBmb3IgUlhGQ1MgZmVhdHVyZSBmbGFnIikKU2lnbmVk LW9mZi1ieTogRXJhbiBCZW4gRWxpc2hhIDxlcmFuYmVAbWVsbGFub3guY29tPgpTaWduZWQtb2Zm LWJ5OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KLS0tCiAuLi4vbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9yeC5jICAgfCA0MiArKysrKysrKysrKysrKysr KysrCiAxIGZpbGUgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9yeC5jIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX3J4LmMKaW5kZXggZTVjM2FiNDZhMjRhLi5m NjNiMzE3ZjdiMzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21s eDUvY29yZS9lbl9yeC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUv Y29yZS9lbl9yeC5jCkBAIC02MzUsNiArNjM1LDQ1IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc19s YXN0X2V0aGVydHlwZV9pcChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBpbnQgKm5ldHdvcmtfZGVwdGgp CiAJcmV0dXJuIChldGhlcnR5cGUgPT0gaHRvbnMoRVRIX1BfSVApIHx8IGV0aGVydHlwZSA9PSBo dG9ucyhFVEhfUF9JUFY2KSk7CiB9CiAKK3N0YXRpYyBfX2JlMzIgbWx4NWVfZ2V0X2ZjcyhzdHJ1 Y3Qgc2tfYnVmZiAqc2tiKQoreworCWludCBsYXN0X2ZyYWdfc3osIGJ5dGVzX2luX3ByZXYsIG5y X2ZyYWdzOworCXU4ICpmY3NfcDEsICpmY3NfcDI7CisJc2tiX2ZyYWdfdCAqbGFzdF9mcmFnOwor CV9fYmUzMiBmY3NfYnl0ZXM7CisKKwlpZiAoIXNrYl9pc19ub25saW5lYXIoc2tiKSkKKwkJcmV0 dXJuICooX19iZTMyICopKHNrYi0+ZGF0YSArIHNrYi0+bGVuIC0gRVRIX0ZDU19MRU4pOworCisJ bnJfZnJhZ3MgPSBza2Jfc2hpbmZvKHNrYiktPm5yX2ZyYWdzOworCWxhc3RfZnJhZyA9ICZza2Jf c2hpbmZvKHNrYiktPmZyYWdzW25yX2ZyYWdzIC0gMV07CisJbGFzdF9mcmFnX3N6ID0gc2tiX2Zy YWdfc2l6ZShsYXN0X2ZyYWcpOworCisJLyogSWYgYWxsIEZDUyBkYXRhIGlzIGluIGxhc3QgZnJh ZyAqLworCWlmIChsYXN0X2ZyYWdfc3ogPj0gRVRIX0ZDU19MRU4pCisJCXJldHVybiAqKF9fYmUz MiAqKShza2JfZnJhZ19hZGRyZXNzKGxhc3RfZnJhZykgKworCQkJCSAgIGxhc3RfZnJhZ19zeiAt IEVUSF9GQ1NfTEVOKTsKKworCWZjc19wMiA9ICh1OCAqKXNrYl9mcmFnX2FkZHJlc3MobGFzdF9m cmFnKTsKKwlieXRlc19pbl9wcmV2ID0gRVRIX0ZDU19MRU4gLSBsYXN0X2ZyYWdfc3o7CisKKwkv KiBGaW5kIHdoZXJlIHRoZSBvdGhlciBwYXJ0IG9mIHRoZSBGQ1MgaXMgLSBMaW5lYXIgb3IgYW5v dGhlciBmcmFnICovCisJaWYgKG5yX2ZyYWdzID09IDEpIHsKKwkJZmNzX3AxID0gc2tiX3RhaWxf cG9pbnRlcihza2IpOworCX0gZWxzZSB7CisJCXNrYl9mcmFnX3QgKnByZXZfZnJhZyA9ICZza2Jf c2hpbmZvKHNrYiktPmZyYWdzW25yX2ZyYWdzIC0gMl07CisKKwkJZmNzX3AxID0gc2tiX2ZyYWdf YWRkcmVzcyhwcmV2X2ZyYWcpICsKKwkJCSAgICBza2JfZnJhZ19zaXplKHByZXZfZnJhZyk7CisJ fQorCWZjc19wMSAtPSBieXRlc19pbl9wcmV2OworCisJbWVtY3B5KCZmY3NfYnl0ZXMsIGZjc19w MSwgYnl0ZXNfaW5fcHJldik7CisJbWVtY3B5KCgodTggKikmZmNzX2J5dGVzKSArIGJ5dGVzX2lu X3ByZXYsIGZjc19wMiwgbGFzdF9mcmFnX3N6KTsKKworCXJldHVybiBmY3NfYnl0ZXM7Cit9CisK IHN0YXRpYyBpbmxpbmUgdm9pZCBtbHg1ZV9oYW5kbGVfY3N1bShzdHJ1Y3QgbmV0X2RldmljZSAq bmV0ZGV2LAogCQkJCSAgICAgc3RydWN0IG1seDVfY3FlNjQgKmNxZSwKIAkJCQkgICAgIHN0cnVj dCBtbHg1ZV9ycSAqcnEsCkBAIC02NjMsNiArNzAyLDkgQEAgc3RhdGljIGlubGluZSB2b2lkIG1s eDVlX2hhbmRsZV9jc3VtKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsCiAJCQlza2ItPmNzdW0g PSBjc3VtX3BhcnRpYWwoc2tiLT5kYXRhICsgRVRIX0hMRU4sCiAJCQkJCQkgbmV0d29ya19kZXB0 aCAtIEVUSF9ITEVOLAogCQkJCQkJIHNrYi0+Y3N1bSk7CisJCWlmICh1bmxpa2VseShuZXRkZXYt PmZlYXR1cmVzICYgTkVUSUZfRl9SWEZDUykpCisJCQlza2ItPmNzdW0gPSBjc3VtX2FkZChza2It PmNzdW0sCisJCQkJCSAgICAgKF9fZm9yY2UgX193c3VtKW1seDVlX2dldF9mY3Moc2tiKSk7CiAJ CXJxLT5zdGF0cy5jc3VtX2NvbXBsZXRlKys7CiAJCXJldHVybjsKIAl9Ci0tIAoyLjE3LjEKCgpG cm9tIDg4Yjc4Y2VmZDQyNWFiZjBlYjczMjRmNGNkMzE0MjAwOWE5YjEzNDYgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IFRvc2hpYWtpIE1ha2l0YSA8bWFraXRhLnRvc2hpYWtpQGxhYi5u dHQuY28uanA+CkRhdGU6IE1vbiwgMjggTWF5IDIwMTggMTk6Mzc6NDkgKzA5MDAKU3ViamVjdDog W1BBVENIIDM2LzQzXSB0dW46IEZpeCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW4gWERQIHJl ZGlyZWN0CgpbIFVwc3RyZWFtIGNvbW1pdCA2NTQ3ZTM4N2Q3ZjUyZjJiYTY4MWEyMjlkZTNjMTNl NWI5ZTAxZWUxIF0KCkNhbGxpbmcgWERQIHJlZGlyZWN0aW9uIHJlcXVpcmVzIGJoIGRpc2FibGVk LiBTb2Z0aXJxIGNhbiBjYWxsIGFub3RoZXIKWERQIGZ1bmN0aW9uIGFuZCByZWRpcmVjdGlvbiBm dW5jdGlvbnMsIHRoZW4gdGhlIHBlcmNwdSBzdGF0aWMgdmFyaWFibGUKcmktPm1hcCBjYW4gYmUg b3ZlcndyaXR0ZW4gdG8gTlVMTC4KClRoaXMgaXMgYSBnZW5lcmljIFhEUCBjYXNlIGNhbGxlZCBm cm9tIHR1bi4KClsgMzUzNS43MzYwNThdIEJVRzogdW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgTlVM TCBwb2ludGVyIGRlcmVmZXJlbmNlIGF0IDAwMDAwMDAwMDAwMDAwMTgKWyAzNTM1Ljc0Mzk3NF0g UEdEIDAgUDREIDAKWyAzNTM1Ljc0NjUzMF0gT29wczogMDAwMCBbIzFdIFNNUCBQVEkKWyAzNTM1 Ljc1MDA0OV0gTW9kdWxlcyBsaW5rZWQgaW46IHZob3N0X25ldCB2aG9zdCB0YXAgdHVuIGJyaWRn ZSBzdHAgbGxjIGVidGFibGVfZmlsdGVyIGVidGFibGVzIGlwNnRhYmxlX2ZpbHRlciBpcDZfdGFi bGVzIGlwdGFibGVfZmlsdGVyIHN1bnJwYyB2ZmF0IGZhdCBleHQ0IG1iY2FjaGUgamJkMiBpbnRl bF9yYXBsIHNreF9lZGFjIG5maXQgbGlibnZkaW1tIHg4Nl9wa2dfdGVtcF90aGVybWFsIGludGVs X3Bvd2VyY2xhbXAgY29yZXRlbXAga3ZtX2ludGVsIGt2bSBpcG1pX3NzaWYgaXJxYnlwYXNzIGNy Y3QxMGRpZl9wY2xtdWwgY3JjMzJfcGNsbXVsIGdoYXNoX2NsbXVsbmlfaW50ZWwgcGNiYyBzZXMg YWVzbmlfaW50ZWwgY3J5cHRvX3NpbWQgY3J5cHRkIGVuY2xvc3VyZSBocHdkdCBocGlsbyBnbHVl X2hlbHBlciBpcG1pX3NpIHBjc3BrciB3bWkgbWVpX21lIGlvYXRkbWEgbWVpIGlwbWlfZGV2aW50 ZiBzaHBjaHAgZGNhIGlwbWlfbXNnaGFuZGxlciBscGNfaWNoIGFjcGlfcG93ZXJfbWV0ZXIgc2No X2ZxX2NvZGVsIGlwX3RhYmxlcyB4ZnMgbGliY3JjMzJjIHNkX21vZCBtZ2FnMjAwIGkyY19hbGdv X2JpdCBkcm1fa21zX2hlbHBlciBzeXNjb3B5YXJlYSBzeXNmaWxscmVjdCBzeXNpbWdibHQgZmJf c3lzX2ZvcHMgdHRtIGRybSBzbWFydHBxaSBpNDBlIGNyYzMyY19pbnRlbCBzY3NpX3RyYW5zcG9y dF9zYXMgdGczIGkyY19jb3JlIHB0cCBwcHNfY29yZQpbIDM1MzUuODEzNDU2XSBDUFU6IDUgUElE OiAxNjMwIENvbW06IHZob3N0LTE2MTQgTm90IHRhaW50ZWQgNC4xNy4wLXJjNCAjMgpbIDM1MzUu ODIwMTI3XSBIYXJkd2FyZSBuYW1lOiBIUEUgUHJvTGlhbnQgREwzNjAgR2VuMTAvUHJvTGlhbnQg REwzNjAgR2VuMTAsIEJJT1MgVTMyIDExLzE0LzIwMTcKWyAzNTM1LjgyODczMl0gUklQOiAwMDEw Ol9feGRwX21hcF9sb29rdXBfZWxlbSsweDUvMHgzMApbIDM1MzUuODMzNzQwXSBSU1A6IDAwMTg6 ZmZmZmI0YmM0N2JmN2M1OCBFRkxBR1M6IDAwMDEwMjQ2ClsgMzUzNS44MzkwMDldIFJBWDogZmZm ZjlmZGZjZmVhMWM0MCBSQlg6IDAwMDAwMDAwMDAwMDAwMDAgUkNYOiBmZmZmOWZkZjI3ZmUzMTAw ClsgMzUzNS44NDYyMDVdIFJEWDogZmZmZjlmZGZjYTc2OTIwMCBSU0k6IDAwMDAwMDAwMDAwMDAw MDAgUkRJOiAwMDAwMDAwMDAwMDAwMDAwClsgMzUzNS44NTM0MDJdIFJCUDogZmZmZmI0YmM0OTFk OTAwMCBSMDg6IDAwMDAwMDAwMDAwMDQ1YWQgUjA5OiAwMDAwMDAwMDAwMDAwZWMwClsgMzUzNS44 NjA1OTddIFIxMDogMDAwMDAwMDAwMDAwMDAwMSBSMTE6IGZmZmY5ZmRmMjZjM2NlNGUgUjEyOiBm ZmZmOWZkZjllNzJjMDAwClsgMzUzNS44Njc3OTRdIFIxMzogMDAwMDAwMDAwMDAwMDAwMCBSMTQ6 IGZmZmZmZmZmZmZmZmZmZjIgUjE1OiBmZmZmOWZkZmM4MmNkZDAwClsgMzUzNS44NzQ5OTBdIEZT OiAgMDAwMDAwMDAwMDAwMDAwMCgwMDAwKSBHUzpmZmZmOWZkZmNmZTgwMDAwKDAwMDApIGtubEdT OjAwMDAwMDAwMDAwMDAwMDAKWyAzNTM1Ljg4MzE1Ml0gQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAw MDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwpbIDM1MzUuODg4OTQ4XSBDUjI6IDAwMDAwMDAwMDAw MDAwMTggQ1IzOiAwMDAwMDAwYmRlNzI0MDA0IENSNDogMDAwMDAwMDAwMDc2MjZlMApbIDM1MzUu ODk2MTQ1XSBEUjA6IDAwMDAwMDAwMDAwMDAwMDAgRFIxOiAwMDAwMDAwMDAwMDAwMDAwIERSMjog MDAwMDAwMDAwMDAwMDAwMApbIDM1MzUuOTAzMzQyXSBEUjM6IDAwMDAwMDAwMDAwMDAwMDAgRFI2 OiAwMDAwMDAwMGZmZmUwZmYwIERSNzogMDAwMDAwMDAwMDAwMDQwMApbIDM1MzUuOTEwNTM4XSBQ S1JVOiA1NTU1NTU1NApbIDM1MzUuOTEzMjY3XSBDYWxsIFRyYWNlOgpbIDM1MzUuOTE1NzM2XSAg eGRwX2RvX2dlbmVyaWNfcmVkaXJlY3QrMHg3YS8weDMxMApbIDM1MzUuOTIwMzEwXSAgZG9feGRw X2dlbmVyaWMucGFydC4xMTcrMHgyODUvMHgzNzAKWyAzNTM1LjkyNDk3MF0gIHR1bl9nZXRfdXNl cisweDViOS8weDEyNjAgW3R1bl0KWyAzNTM1LjkyOTI3OV0gIHR1bl9zZW5kbXNnKzB4NTIvMHg3 MCBbdHVuXQpbIDM1MzUuOTMzMjM3XSAgaGFuZGxlX3R4KzB4MmFkLzB4NWYwIFt2aG9zdF9uZXRd ClsgMzUzNS45Mzc3MjFdICB2aG9zdF93b3JrZXIrMHhhNS8weDEwMCBbdmhvc3RdClsgMzUzNS45 NDIwMzBdICBrdGhyZWFkKzB4ZjUvMHgxMzAKWyAzNTM1Ljk0NTE5OF0gID8gdmhvc3RfZGV2X2lv Y3RsKzB4M2IwLzB4M2IwIFt2aG9zdF0KWyAzNTM1Ljk1MDAzMV0gID8ga3RocmVhZF9iaW5kKzB4 MTAvMHgxMApbIDM1MzUuOTUzNzI3XSAgcmV0X2Zyb21fZm9yaysweDM1LzB4NDAKWyAzNTM1Ljk1 NzMzNF0gQ29kZTogMGUgNzQgMTUgODMgZjggMTAgNzUgMDUgZTkgNDkgYWEgYjMgZmYgZjMgYzMg MGYgMWYgODAgMDAgMDAgMDAgMDAgZjMgYzMgZTkgMjkgOWQgYjMgZmYgNjYgMGYgMWYgODQgMDAg MDAgMDAgMDAgMDAgMGYgMWYgNDQgMDAgMDAgPDhiPiA0NyAxOCA4MyBmOCAwZSA3NCAwZCA4MyBm OCAxMCA3NSAwNSBlOSA0OSBhOSBiMyBmZiAzMSBjMCBjMwpbIDM1MzUuOTc2Mzg3XSBSSVA6IF9f eGRwX21hcF9sb29rdXBfZWxlbSsweDUvMHgzMCBSU1A6IGZmZmZiNGJjNDdiZjdjNTgKWyAzNTM1 Ljk4Mjg4M10gQ1IyOiAwMDAwMDAwMDAwMDAwMDE4ClsgMzUzNS45ODcwOTZdIC0tLVsgZW5kIHRy YWNlIDM4M2IyOTlkZDE0MzAyNDAgXS0tLQpbIDM1MzYuMTMxMzI1XSBLZXJuZWwgcGFuaWMgLSBu b3Qgc3luY2luZzogRmF0YWwgZXhjZXB0aW9uClsgMzUzNi4xMzc0ODRdIEtlcm5lbCBPZmZzZXQ6 IDB4MjZhMDAwMDAgZnJvbSAweGZmZmZmZmZmODEwMDAwMDAgKHJlbG9jYXRpb24gcmFuZ2U6IDB4 ZmZmZmZmZmY4MDAwMDAwMC0weGZmZmZmZmZmYmZmZmZmZmYpClsgMzUzNi4yODE0MDZdIC0tLVsg ZW5kIEtlcm5lbCBwYW5pYyAtIG5vdCBzeW5jaW5nOiBGYXRhbCBleGNlcHRpb24gXS0tLQoKQW5k IGEga2VybmVsIHdpdGggZ2VuZXJpYyBjYXNlIGZpeGVkIHN0aWxsIHBhbmljcyBpbiB0dW4gZHJp dmVyIFhEUApyZWRpcmVjdCwgYmVjYXVzZSBpdCBkaXNhYmxlZCBvbmx5IHByZWVtcHRpb24sIGJ1 dCBub3QgYmguCgpbIDIwNTUuMTI4NzQ2XSBCVUc6IHVuYWJsZSB0byBoYW5kbGUga2VybmVsIE5V TEwgcG9pbnRlciBkZXJlZmVyZW5jZSBhdCAwMDAwMDAwMDAwMDAwMDE4ClsgMjA1NS4xMzY2NjJd IFBHRCAwIFA0RCAwClsgMjA1NS4xMzkyMTldIE9vcHM6IDAwMDAgWyMxXSBTTVAgUFRJClsgMjA1 NS4xNDI3MzZdIE1vZHVsZXMgbGlua2VkIGluOiB2aG9zdF9uZXQgdmhvc3QgdGFwIHR1biBicmlk Z2Ugc3RwIGxsYyBlYnRhYmxlX2ZpbHRlciBlYnRhYmxlcyBpcDZ0YWJsZV9maWx0ZXIgaXA2X3Rh YmxlcyBpcHRhYmxlX2ZpbHRlciBzdW5ycGMgdmZhdCBmYXQgZXh0NCBtYmNhY2hlIGpiZDIgaW50 ZWxfcmFwbCBza3hfZWRhYyBuZml0IGxpYm52ZGltbSB4ODZfcGtnX3RlbXBfdGhlcm1hbCBpbnRl bF9wb3dlcmNsYW1wIGNvcmV0ZW1wIGt2bV9pbnRlbCBrdm0gaXJxYnlwYXNzIGNyY3QxMGRpZl9w Y2xtdWwgY3JjMzJfcGNsbXVsIGdoYXNoX2NsbXVsbmlfaW50ZWwgcGNiYyBzZXMgYWVzbmlfaW50 ZWwgaXBtaV9zc2lmIGNyeXB0b19zaW1kIGVuY2xvc3VyZSBjcnlwdGQgaHB3ZHQgZ2x1ZV9oZWxw ZXIgaW9hdGRtYSBocGlsbyB3bWkgZGNhIHBjc3BrciBpcG1pX3NpIGFjcGlfcG93ZXJfbWV0ZXIg aXBtaV9kZXZpbnRmIHNocGNocCBtZWlfbWUgaXBtaV9tc2doYW5kbGVyIG1laSBscGNfaWNoIHNj aF9mcV9jb2RlbCBpcF90YWJsZXMgeGZzIGxpYmNyYzMyYyBzZF9tb2QgbWdhZzIwMCBpMmNfYWxn b19iaXQgZHJtX2ttc19oZWxwZXIgc3lzY29weWFyZWEgc3lzZmlsbHJlY3Qgc3lzaW1nYmx0IGZi X3N5c19mb3BzIHR0bSBkcm0gaTQwZSBzbWFydHBxaSB0ZzMgc2NzaV90cmFuc3BvcnRfc2FzIGNy YzMyY19pbnRlbCBpMmNfY29yZSBwdHAgcHBzX2NvcmUKWyAyMDU1LjIwNjE0Ml0gQ1BVOiA2IFBJ RDogMTY5MyBDb21tOiB2aG9zdC0xNjgzIFRhaW50ZWQ6IEcgICAgICAgIFcgICAgICAgICA0LjE3 LjAtcmM1LWZpeC10dW4rICMxClsgMjA1NS4yMTUwMTFdIEhhcmR3YXJlIG5hbWU6IEhQRSBQcm9M aWFudCBETDM2MCBHZW4xMC9Qcm9MaWFudCBETDM2MCBHZW4xMCwgQklPUyBVMzIgMTEvMTQvMjAx NwpbIDIwNTUuMjIzNjE3XSBSSVA6IDAwMTA6X194ZHBfbWFwX2xvb2t1cF9lbGVtKzB4NS8weDMw ClsgMjA1NS4yMjg2MjRdIFJTUDogMDAxODpmZmZmOTk4YjA3NjA3Y2MwIEVGTEFHUzogMDAwMTAy NDYKWyAyMDU1LjIzMzg5Ml0gUkFYOiBmZmZmOGRiZDhlMjM1NzAwIFJCWDogZmZmZjhkYmQ4ZmYy MWM0MCBSQ1g6IDAwMDAwMDAwMDAwMDAwMDQKWyAyMDU1LjI0MTA4OV0gUkRYOiBmZmZmOTk4YjA5 N2E5MDAwIFJTSTogMDAwMDAwMDAwMDAwMDAwMCBSREk6IDAwMDAwMDAwMDAwMDAwMDAKWyAyMDU1 LjI0ODI4Nl0gUkJQOiAwMDAwMDAwMDAwMDAwMDAwIFIwODogMDAwMDAwMDAwMDAwNjVhOCBSMDk6 IDAwMDAwMDAwMDAwMDVkODAKWyAyMDU1LjI1NTQ4M10gUjEwOiAwMDAwMDAwMDAwMDAwMDQwIFIx MTogZmZmZjhkYmNmMDEwMDAwMCBSMTI6IGZmZmY5OThiMDk3YTkwMDAKWyAyMDU1LjI2MjY4MV0g UjEzOiBmZmZmOGRiZDhjOThjMDAwIFIxNDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6IGZmZmY5OThi MDc2MDdkNzgKWyAyMDU1LjI2OTg3OV0gRlM6ICAwMDAwMDAwMDAwMDAwMDAwKDAwMDApIEdTOmZm ZmY4ZGJkOGZmMDAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApbIDIwNTUuMjc4MDM5 XSBDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzClsgMjA1 NS4yODM4MzRdIENSMjogMDAwMDAwMDAwMDAwMDAxOCBDUjM6IDAwMDAwMDBjMGM4Y2MwMDUgQ1I0 OiAwMDAwMDAwMDAwNzYyNmUwClsgMjA1NS4yOTEwMzBdIERSMDogMDAwMDAwMDAwMDAwMDAwMCBE UjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAwMDAwMDAwMDAwMDAwClsgMjA1NS4yOTgyMjdd IERSMzogMDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZmZTBmZjAgRFI3OiAwMDAwMDAw MDAwMDAwNDAwClsgMjA1NS4zMDU0MjRdIFBLUlU6IDU1NTU1NTU0ClsgMjA1NS4zMDgxNTNdIENh bGwgVHJhY2U6ClsgMjA1NS4zMTA2MjRdICB4ZHBfZG9fcmVkaXJlY3QrMHg3Yi8weDM4MApbIDIw NTUuMzE0NDk5XSAgdHVuX2dldF91c2VyKzB4MTBmZS8weDEyYTAgW3R1bl0KWyAyMDU1LjMxODg5 NV0gIHR1bl9zZW5kbXNnKzB4NTIvMHg3MCBbdHVuXQpbIDIwNTUuMzIyODUyXSAgaGFuZGxlX3R4 KzB4MmFkLzB4NWYwIFt2aG9zdF9uZXRdClsgMjA1NS4zMjczMzddICB2aG9zdF93b3JrZXIrMHhh NS8weDEwMCBbdmhvc3RdClsgMjA1NS4zMzE2NDZdICBrdGhyZWFkKzB4ZjUvMHgxMzAKWyAyMDU1 LjMzNDgxM10gID8gdmhvc3RfZGV2X2lvY3RsKzB4M2IwLzB4M2IwIFt2aG9zdF0KWyAyMDU1LjMz OTY0Nl0gID8ga3RocmVhZF9iaW5kKzB4MTAvMHgxMApbIDIwNTUuMzQzMzQzXSAgcmV0X2Zyb21f Zm9yaysweDM1LzB4NDAKWyAyMDU1LjM0Njk1MF0gQ29kZTogMGUgNzQgMTUgODMgZjggMTAgNzUg MDUgZTkgZTkgYWEgYjMgZmYgZjMgYzMgMGYgMWYgODAgMDAgMDAgMDAgMDAgZjMgYzMgZTkgYzkg OWQgYjMgZmYgNjYgMGYgMWYgODQgMDAgMDAgMDAgMDAgMDAgMGYgMWYgNDQgMDAgMDAgPDhiPiA0 NyAxOCA4MyBmOCAwZSA3NCAwZCA4MyBmOCAxMCA3NSAwNSBlOSBlOSBhOSBiMyBmZiAzMSBjMCBj MwpbIDIwNTUuMzY2MDA0XSBSSVA6IF9feGRwX21hcF9sb29rdXBfZWxlbSsweDUvMHgzMCBSU1A6 IGZmZmY5OThiMDc2MDdjYzAKWyAyMDU1LjM3MjUwMF0gQ1IyOiAwMDAwMDAwMDAwMDAwMDE4Clsg MjA1NS4zNzU4NTZdIC0tLVsgZW5kIHRyYWNlIDJhMmRjYzVlOWUxNzQyNjggXS0tLQpbIDIwNTUu NTIzNjI2XSBLZXJuZWwgcGFuaWMgLSBub3Qgc3luY2luZzogRmF0YWwgZXhjZXB0aW9uClsgMjA1 NS41Mjk3OTZdIEtlcm5lbCBPZmZzZXQ6IDB4MmUwMDAwMDAgZnJvbSAweGZmZmZmZmZmODEwMDAw MDAgKHJlbG9jYXRpb24gcmFuZ2U6IDB4ZmZmZmZmZmY4MDAwMDAwMC0weGZmZmZmZmZmYmZmZmZm ZmYpClsgMjA1NS42Nzc1MzldIC0tLVsgZW5kIEtlcm5lbCBwYW5pYyAtIG5vdCBzeW5jaW5nOiBG YXRhbCBleGNlcHRpb24gXS0tLQoKdjI6CiAtIFJlbW92ZWQgcHJlZW1wdF9kaXNhYmxlL2VuYWJs ZSBzaW5jZSBsb2NhbF9iaF9kaXNhYmxlIHdpbGwgcHJldmVudAogICBwcmVlbXB0aW9uIGFzIHdl bGwsIGZlZWRiYWNrIGZyb20gSmFzb24gV2FuZy4KCkZpeGVzOiA3NjE4NzZjODU3Y2IgKCJ0YXA6 IFhEUCBzdXBwb3J0IikKU2lnbmVkLW9mZi1ieTogVG9zaGlha2kgTWFraXRhIDxtYWtpdGEudG9z aGlha2lAbGFiLm50dC5jby5qcD4KQWNrZWQtYnk6IEphc29uIFdhbmcgPGphc293YW5nQHJlZGhh dC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5l dD4KLS0tCiBkcml2ZXJzL25ldC90dW4uYyB8IDE1ICsrKysrKysrKy0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC90dW4uYyBiL2RyaXZlcnMvbmV0L3R1bi5jCmluZGV4IGZmYWUxOTcxNGZmZC4uMjRl NjQ1Yzg2YWU3IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC90dW4uYworKysgYi9kcml2ZXJzL25l dC90dW4uYwpAQCAtMTYzMiw3ICsxNjMyLDcgQEAgc3RhdGljIHN0cnVjdCBza19idWZmICp0dW5f YnVpbGRfc2tiKHN0cnVjdCB0dW5fc3RydWN0ICp0dW4sCiAJZWxzZQogCQkqc2tiX3hkcCA9IDA7 CiAKLQlwcmVlbXB0X2Rpc2FibGUoKTsKKwlsb2NhbF9iaF9kaXNhYmxlKCk7CiAJcmN1X3JlYWRf bG9jaygpOwogCXhkcF9wcm9nID0gcmN1X2RlcmVmZXJlbmNlKHR1bi0+eGRwX3Byb2cpOwogCWlm ICh4ZHBfcHJvZyAmJiAhKnNrYl94ZHApIHsKQEAgLTE2NTcsNyArMTY1Nyw3IEBAIHN0YXRpYyBz dHJ1Y3Qgc2tfYnVmZiAqdHVuX2J1aWxkX3NrYihzdHJ1Y3QgdHVuX3N0cnVjdCAqdHVuLAogCQkJ aWYgKGVycikKIAkJCQlnb3RvIGVycl9yZWRpcmVjdDsKIAkJCXJjdV9yZWFkX3VubG9jaygpOwot CQkJcHJlZW1wdF9lbmFibGUoKTsKKwkJCWxvY2FsX2JoX2VuYWJsZSgpOwogCQkJcmV0dXJuIE5V TEw7CiAJCWNhc2UgWERQX1RYOgogCQkJeGRwX3htaXQgPSB0cnVlOwpAQCAtMTY3OSw3ICsxNjc5 LDcgQEAgc3RhdGljIHN0cnVjdCBza19idWZmICp0dW5fYnVpbGRfc2tiKHN0cnVjdCB0dW5fc3Ry dWN0ICp0dW4sCiAJc2tiID0gYnVpbGRfc2tiKGJ1ZiwgYnVmbGVuKTsKIAlpZiAoIXNrYikgewog CQlyY3VfcmVhZF91bmxvY2soKTsKLQkJcHJlZW1wdF9lbmFibGUoKTsKKwkJbG9jYWxfYmhfZW5h YmxlKCk7CiAJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwogCX0KIApAQCAtMTY5MiwxMiArMTY5 MiwxMiBAQCBzdGF0aWMgc3RydWN0IHNrX2J1ZmYgKnR1bl9idWlsZF9za2Ioc3RydWN0IHR1bl9z dHJ1Y3QgKnR1biwKIAkJc2tiLT5kZXYgPSB0dW4tPmRldjsKIAkJZ2VuZXJpY194ZHBfdHgoc2ti LCB4ZHBfcHJvZyk7CiAJCXJjdV9yZWFkX3VubG9jaygpOwotCQlwcmVlbXB0X2VuYWJsZSgpOwor CQlsb2NhbF9iaF9lbmFibGUoKTsKIAkJcmV0dXJuIE5VTEw7CiAJfQogCiAJcmN1X3JlYWRfdW5s b2NrKCk7Ci0JcHJlZW1wdF9lbmFibGUoKTsKKwlsb2NhbF9iaF9lbmFibGUoKTsKIAogCXJldHVy biBza2I7CiAKQEAgLTE3MDUsNyArMTcwNSw3IEBAIHN0YXRpYyBzdHJ1Y3Qgc2tfYnVmZiAqdHVu X2J1aWxkX3NrYihzdHJ1Y3QgdHVuX3N0cnVjdCAqdHVuLAogCXB1dF9wYWdlKGFsbG9jX2ZyYWct PnBhZ2UpOwogZXJyX3hkcDoKIAlyY3VfcmVhZF91bmxvY2soKTsKLQlwcmVlbXB0X2VuYWJsZSgp OworCWxvY2FsX2JoX2VuYWJsZSgpOwogCXRoaXNfY3B1X2luYyh0dW4tPnBjcHVfc3RhdHMtPnJ4 X2Ryb3BwZWQpOwogCXJldHVybiBOVUxMOwogfQpAQCAtMTkwMSwxNiArMTkwMSwxOSBAQCBzdGF0 aWMgc3NpemVfdCB0dW5fZ2V0X3VzZXIoc3RydWN0IHR1bl9zdHJ1Y3QgKnR1biwgc3RydWN0IHR1 bl9maWxlICp0ZmlsZSwKIAkJc3RydWN0IGJwZl9wcm9nICp4ZHBfcHJvZzsKIAkJaW50IHJldDsK IAorCQlsb2NhbF9iaF9kaXNhYmxlKCk7CiAJCXJjdV9yZWFkX2xvY2soKTsKIAkJeGRwX3Byb2cg PSByY3VfZGVyZWZlcmVuY2UodHVuLT54ZHBfcHJvZyk7CiAJCWlmICh4ZHBfcHJvZykgewogCQkJ cmV0ID0gZG9feGRwX2dlbmVyaWMoeGRwX3Byb2csIHNrYik7CiAJCQlpZiAocmV0ICE9IFhEUF9Q QVNTKSB7CiAJCQkJcmN1X3JlYWRfdW5sb2NrKCk7CisJCQkJbG9jYWxfYmhfZW5hYmxlKCk7CiAJ CQkJcmV0dXJuIHRvdGFsX2xlbjsKIAkJCX0KIAkJfQogCQlyY3VfcmVhZF91bmxvY2soKTsKKwkJ bG9jYWxfYmhfZW5hYmxlKCk7CiAJfQogCiAJcmN1X3JlYWRfbG9jaygpOwotLSAKMi4xNy4xCgoK RnJvbSBlYWFiM2E5MDhkYmRkZDRlNjMxZjBiOWVhMTNiODYyMTFkMzA2Y2Q0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYXNvbiBXYW5nIDxqYXNvd2FuZ0ByZWRoYXQuY29tPgpEYXRl OiBUdWUsIDIyIE1heSAyMDE4IDExOjQ0OjMwICswODAwClN1YmplY3Q6IFtQQVRDSCAzNy80M10g dmlydGlvLW5ldDogY29ycmVjdGx5IGNoZWNrIG51bV9idWYgZHVyaW5nIGVyciBwYXRoCgpbIFVw c3RyZWFtIGNvbW1pdCA4NTBlMDg4ZDViYmIzMzMzNDJmZDRkZWYwOGQwYTQwMzVmMmI3MTI2IF0K CklmIHdlIHN1Y2Nlc3NmdWxseSBsaW5lYXJpemUgdGhlIHBhY2tldCwgbnVtX2J1ZiB3aWxsIGJl IHNldCB0byB6ZXJvCndoaWNoIG1heSBjb25mdXNlIGVycm9yIGhhbmRsaW5nIHBhdGggd2hpY2gg YXNzdW1lcyBudW1fYnVmIGlzIGF0CmxlYXN0IDEgYW5kIHRoaXMgY2FuIGxlYWQgdGhlIGNvZGUg dHJpZXMgdG8gcG9wIHRoZSBkZXNjcmlwdG9yIG9mIG5leHQKYnVmZmVyLiBGaXhpbmcgdGhpcyBi eSBjaGVja2luZyBudW1fYnVmIGFnYWluc3QgMSBiZWZvcmUgZGVjcmVhc2luZy4KCkZpeGVzOiA0 OTQxZDQ3MmJmOTUgKCJ2aXJ0aW8tbmV0OiBkbyBub3QgcmVzZXQgZHVyaW5nIFhEUCBzZXQiKQpT aWduZWQtb2ZmLWJ5OiBKYXNvbiBXYW5nIDxqYXNvd2FuZ0ByZWRoYXQuY29tPgpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9u ZXQvdmlydGlvX25ldC5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvX25ldC5jIGIvZHJp dmVycy9uZXQvdmlydGlvX25ldC5jCmluZGV4IDYyZjJiZWUzNGE0Yi4uNjRlN2EzMjA5OGJlIDEw MDY0NAotLS0gYS9kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMKKysrIGIvZHJpdmVycy9uZXQvdmly dGlvX25ldC5jCkBAIC04NzQsNyArODc0LDcgQEAgc3RhdGljIHN0cnVjdCBza19idWZmICpyZWNl aXZlX21lcmdlYWJsZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogCXJjdV9yZWFkX3VubG9jaygp OwogZXJyX3NrYjoKIAlwdXRfcGFnZShwYWdlKTsKLQl3aGlsZSAoLS1udW1fYnVmKSB7CisJd2hp bGUgKG51bV9idWYtLSA+IDEpIHsKIAkJYnVmID0gdmlydHF1ZXVlX2dldF9idWYocnEtPnZxLCAm bGVuKTsKIAkJaWYgKHVubGlrZWx5KCFidWYpKSB7CiAJCQlwcl9kZWJ1ZygiJXM6IHJ4IGVycm9y OiAlZCBidWZmZXJzIG1pc3NpbmdcbiIsCi0tIAoyLjE3LjEKCgpGcm9tIDU0MWMxZTk4NjQ4OTRl MTNjMmM0ZjA0N2EzMWZiY2FmM2RhZjZjMTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IEFydW4gUGFyYW1lc3dhcmFuIDxhcnVuLnBhcmFtZXN3YXJhbkBicm9hZGNvbS5jb20+CkRhdGU6 IFR1ZSwgNSBKdW4gMjAxOCAxMzozODoxMiAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMzgvNDNdIG5l dDogZHNhOiBiNTM6IEZpeCBmb3IgYnJjbSB0YWcgaXNzdWUgaW4gQ3lnbnVzIFNvQwpNSU1FLVZl cnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVu dC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKWyBVcHN0cmVhbSBjb21taXQgNTA0MGNjOTkwY2Jh Yzk4NzMzZGY0ZDU4ZmRlYWM1YmJkYWIxNWI0OSBdCgpJbiB0aGUgQnJvYWRjb20gQ3lnbnVzIFNv QywgdGhlIGJyY20gdGFnIG5lZWRzIHRvIGJlIGluc2VydGVkCmluIGJldHdlZW4gdGhlIG1hYyBh ZGRyZXNzIGFuZCB0aGUgZXRoZXIgdHlwZSAoc2hvdWxkIHVzZQonRFNBX1BST1RPX1RBR19CUkNN JykgZm9yIHRoZSBwYWNrZXRzIHNlbnQgdG8gdGhlIGludGVybmFsCmI1MyBzd2l0Y2guCgpTaW5j ZSB0aGUgQ3lnbnVzIHdhcyBhZGRlZCB3aXRoIHRoZSBCQ001OFhYIGRldmljZSBpZCBhbmQgdGhl CkJDTTU4WFggdXNlcyAnRFNBX1BST1RPX1RBR19CUkNNX1BSRVBFTkQnLCB0aGUgZGF0YSBwYXRo IGlzCmJyb2tlbiwgZHVlIHRvIHRoZSBpbmNvcnJlY3QgYnJjbSB0YWcgbG9jYXRpb24uCgpBZGQg YSBuZXcgYjUzIGRldmljZSBpZCAoQkNNNTgzWFgpIGZvciBDeWdudXMgZmFtaWx5IHRvIGZpeCB0 aGUKaXNzdWUuIEFkZCB0aGUgbmV3IGRldmljZSBpZCB0byB0aGUgQkNNNThYWCBmYW1pbHkgYXMg Q3lnbnVzCmlzIHNpbWlsYXIgdG8gdGhlIEJDTTU4WFggaW4gbW9zdCBvdGhlciBmdW5jdGlvbmFs aXRpZXMuCgpGaXhlczogMTE2MDYwMzk2MDRjICgibmV0OiBkc2E6IGI1MzogU3VwcG9ydCBwcmVw ZW5kZWQgQnJvYWRjb20gdGFncyIpCgpTaWduZWQtb2ZmLWJ5OiBBcnVuIFBhcmFtZXN3YXJhbiA8 YXJ1bi5wYXJhbWVzd2FyYW5AYnJvYWRjb20uY29tPgpBY2tlZC1ieTogU2NvdHQgQnJhbmRlbiA8 c2NvdHQuYnJhbmRlbkBicm9hZGNvbS5jb20+ClJlcG9ydGVkLWJ5OiBDbMOpbWVudCBQw6lyb24g PHBlcm9uLmNsZW1AZ21haWwuY29tPgpSZXZpZXdlZC1ieTogRmxvcmlhbiBGYWluZWxsaSA8Zi5m YWluZWxsaUBnbWFpbC5jb20+ClRlc3RlZC1ieTogQ2zDqW1lbnQgUMOpcm9uIDxwZXJvbi5jbGVt QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2RzYS9iNTMvYjUzX2NvbW1vbi5jIHwgMTUgKysrKysr KysrKysrKystCiBkcml2ZXJzL25ldC9kc2EvYjUzL2I1M19wcml2LmggICB8ICAyICsrCiBkcml2 ZXJzL25ldC9kc2EvYjUzL2I1M19zcmFiLmMgICB8ICA0ICsrLS0KIDMgZmlsZXMgY2hhbmdlZCwg MTggaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9kc2EvYjUzL2I1M19jb21tb24uYyBiL2RyaXZlcnMvbmV0L2RzYS9iNTMvYjUzX2NvbW1vbi5j CmluZGV4IDYzZTAyYTU0ZDUzNy4uMDZlOGU3YTgxOTk0IDEwMDY0NAotLS0gYS9kcml2ZXJzL25l dC9kc2EvYjUzL2I1M19jb21tb24uYworKysgYi9kcml2ZXJzL25ldC9kc2EvYjUzL2I1M19jb21t b24uYwpAQCAtNjg0LDcgKzY4NCw4IEBAIHN0YXRpYyBpbnQgYjUzX3N3aXRjaF9yZXNldChzdHJ1 Y3QgYjUzX2RldmljZSAqZGV2KQogCSAqIHN0aWxsIHVzZSB0aGlzIGRyaXZlciBhcyBhIGxpYnJh cnkgYW5kIG5lZWQgdG8gcGVyZm9ybSB0aGUgcmVzZXQKIAkgKiBlYXJsaWVyLgogCSAqLwotCWlm IChkZXYtPmNoaXBfaWQgPT0gQkNNNThYWF9ERVZJQ0VfSUQpIHsKKwlpZiAoZGV2LT5jaGlwX2lk ID09IEJDTTU4WFhfREVWSUNFX0lEIHx8CisJICAgIGRldi0+Y2hpcF9pZCA9PSBCQ001ODNYWF9E RVZJQ0VfSUQpIHsKIAkJYjUzX3JlYWQ4KGRldiwgQjUzX0NUUkxfUEFHRSwgQjUzX1NPRlRSRVNF VCwgJnJlZyk7CiAJCXJlZyB8PSBTV19SU1QgfCBFTl9TV19SU1QgfCBFTl9DSF9SU1Q7CiAJCWI1 M193cml0ZTgoZGV2LCBCNTNfQ1RSTF9QQUdFLCBCNTNfU09GVFJFU0VULCByZWcpOwpAQCAtMTg2 Nyw2ICsxODY4LDE4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYjUzX2NoaXBfZGF0YSBiNTNfc3dp dGNoX2NoaXBzW10gPSB7CiAJCS5qdW1ib19wbV9yZWcgPSBCNTNfSlVNQk9fUE9SVF9NQVNLLAog CQkuanVtYm9fc2l6ZV9yZWcgPSBCNTNfSlVNQk9fTUFYX1NJWkUsCiAJfSwKKwl7CisJCS5jaGlw X2lkID0gQkNNNTgzWFhfREVWSUNFX0lELAorCQkuZGV2X25hbWUgPSAiQkNNNTgzeHgvMTEzNjAi LAorCQkudmxhbnMgPSA0MDk2LAorCQkuZW5hYmxlZF9wb3J0cyA9IDB4MTAzLAorCQkuYXJsX2Vu dHJpZXMgPSA0LAorCQkuY3B1X3BvcnQgPSBCNTNfQ1BVX1BPUlQsCisJCS52dGFfcmVncyA9IEI1 M19WVEFfUkVHUywKKwkJLmR1cGxleF9yZWcgPSBCNTNfRFVQTEVYX1NUQVRfR0UsCisJCS5qdW1i b19wbV9yZWcgPSBCNTNfSlVNQk9fUE9SVF9NQVNLLAorCQkuanVtYm9fc2l6ZV9yZWcgPSBCNTNf SlVNQk9fTUFYX1NJWkUsCisJfSwKIAl7CiAJCS5jaGlwX2lkID0gQkNNNzQ0NV9ERVZJQ0VfSUQs CiAJCS5kZXZfbmFtZSA9ICJCQ003NDQ1IiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2RzYS9i NTMvYjUzX3ByaXYuaCBiL2RyaXZlcnMvbmV0L2RzYS9iNTMvYjUzX3ByaXYuaAppbmRleCBkOTU0 Y2YzNmVjZDguLmY5MWFjZGEzNzU3MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZHNhL2I1My9i NTNfcHJpdi5oCisrKyBiL2RyaXZlcnMvbmV0L2RzYS9iNTMvYjUzX3ByaXYuaApAQCAtNjEsNiAr NjEsNyBAQCBlbnVtIHsKIAlCQ001MzAxOF9ERVZJQ0VfSUQgPSAweDUzMDE4LAogCUJDTTUzMDE5 X0RFVklDRV9JRCA9IDB4NTMwMTksCiAJQkNNNThYWF9ERVZJQ0VfSUQgPSAweDU4MDAsCisJQkNN NTgzWFhfREVWSUNFX0lEID0gMHg1ODMwMCwKIAlCQ003NDQ1X0RFVklDRV9JRCA9IDB4NzQ0NSwK IAlCQ003Mjc4X0RFVklDRV9JRCA9IDB4NzI3OCwKIH07CkBAIC0xODAsNiArMTgxLDcgQEAgc3Rh dGljIGlubGluZSBpbnQgaXM1MzAxeChzdHJ1Y3QgYjUzX2RldmljZSAqZGV2KQogc3RhdGljIGlu bGluZSBpbnQgaXM1OHh4KHN0cnVjdCBiNTNfZGV2aWNlICpkZXYpCiB7CiAJcmV0dXJuIGRldi0+ Y2hpcF9pZCA9PSBCQ001OFhYX0RFVklDRV9JRCB8fAorCQlkZXYtPmNoaXBfaWQgPT0gQkNNNTgz WFhfREVWSUNFX0lEIHx8CiAJCWRldi0+Y2hpcF9pZCA9PSBCQ003NDQ1X0RFVklDRV9JRCB8fAog CQlkZXYtPmNoaXBfaWQgPT0gQkNNNzI3OF9ERVZJQ0VfSUQ7CiB9CmRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC9kc2EvYjUzL2I1M19zcmFiLmMgYi9kcml2ZXJzL25ldC9kc2EvYjUzL2I1M19zcmFi LmMKaW5kZXggYzM3ZmZkMWI2ODMzLi44MjQ3NDgxZWFhMDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv bmV0L2RzYS9iNTMvYjUzX3NyYWIuYworKysgYi9kcml2ZXJzL25ldC9kc2EvYjUzL2I1M19zcmFi LmMKQEAgLTM2NCw3ICszNjQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBi NTNfc3JhYl9vZl9tYXRjaFtdID0gewogCXsgLmNvbXBhdGlibGUgPSAiYnJjbSxiY201MzAxOC1z cmFiIiB9LAogCXsgLmNvbXBhdGlibGUgPSAiYnJjbSxiY201MzAxOS1zcmFiIiB9LAogCXsgLmNv bXBhdGlibGUgPSAiYnJjbSxiY201MzAxeC1zcmFiIiB9LAotCXsgLmNvbXBhdGlibGUgPSAiYnJj bSxiY20xMTM2MC1zcmFiIiwgLmRhdGEgPSAodm9pZCAqKUJDTTU4WFhfREVWSUNFX0lEIH0sCisJ eyAuY29tcGF0aWJsZSA9ICJicmNtLGJjbTExMzYwLXNyYWIiLCAuZGF0YSA9ICh2b2lkICopQkNN NTgzWFhfREVWSUNFX0lEIH0sCiAJeyAuY29tcGF0aWJsZSA9ICJicmNtLGJjbTU4NTIyLXNyYWIi LCAuZGF0YSA9ICh2b2lkICopQkNNNThYWF9ERVZJQ0VfSUQgfSwKIAl7IC5jb21wYXRpYmxlID0g ImJyY20sYmNtNTg1MjUtc3JhYiIsIC5kYXRhID0gKHZvaWQgKilCQ001OFhYX0RFVklDRV9JRCB9 LAogCXsgLmNvbXBhdGlibGUgPSAiYnJjbSxiY201ODUzNS1zcmFiIiwgLmRhdGEgPSAodm9pZCAq KUJDTTU4WFhfREVWSUNFX0lEIH0sCkBAIC0zNzIsNyArMzcyLDcgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBvZl9kZXZpY2VfaWQgYjUzX3NyYWJfb2ZfbWF0Y2hbXSA9IHsKIAl7IC5jb21wYXRpYmxl ID0gImJyY20sYmNtNTg2MjMtc3JhYiIsIC5kYXRhID0gKHZvaWQgKilCQ001OFhYX0RFVklDRV9J RCB9LAogCXsgLmNvbXBhdGlibGUgPSAiYnJjbSxiY201ODYyNS1zcmFiIiwgLmRhdGEgPSAodm9p ZCAqKUJDTTU4WFhfREVWSUNFX0lEIH0sCiAJeyAuY29tcGF0aWJsZSA9ICJicmNtLGJjbTg4MzEy LXNyYWIiLCAuZGF0YSA9ICh2b2lkICopQkNNNThYWF9ERVZJQ0VfSUQgfSwKLQl7IC5jb21wYXRp YmxlID0gImJyY20sY3lnbnVzLXNyYWIiLCAuZGF0YSA9ICh2b2lkICopQkNNNThYWF9ERVZJQ0Vf SUQgfSwKKwl7IC5jb21wYXRpYmxlID0gImJyY20sY3lnbnVzLXNyYWIiLCAuZGF0YSA9ICh2b2lk ICopQkNNNTgzWFhfREVWSUNFX0lEIH0sCiAJeyAuY29tcGF0aWJsZSA9ICJicmNtLG5zcC1zcmFi IiwgLmRhdGEgPSAodm9pZCAqKUJDTTU4WFhfREVWSUNFX0lEIH0sCiAJeyAvKiBzZW50aW5lbCAq LyB9LAogfTsKLS0gCjIuMTcuMQoKCkZyb20gOWIyNGU5YTVlNTg3YjRkMDk0ZGM3MTQxZTIwZDM4 ZmQ3MzM0NTY0MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogT3IgR2VybGl0eiA8b2dl cmxpdHpAbWVsbGFub3guY29tPgpEYXRlOiBXZWQsIDIzIE1heSAyMDE4IDE5OjI0OjQ4ICswMzAw ClN1YmplY3Q6IFtQQVRDSCAzOS80M10gbmV0IDogc2NoZWQ6IGNsc19hcGk6IGRlYWwgd2l0aCBl Z2RldiBwYXRoIG9ubHkgaWYKIG5lZWRlZAoKWyBVcHN0cmVhbSBjb21taXQgZjhmNGJlZjMyMmU0 NjAwYzU4NTY5MTFjN2E2MzJjMGUzZGE5MjBkNiBdCgpXaGVuIGRlYWxpbmcgd2l0aCBpbmdyZXNz IHJ1bGUgb24gYSBuZXRkZXYsIGlmIHdlIGRpZCBmaW5lIHRocm91Z2ggdGhlCmNvbnZlbnRpb25h bCBwYXRoLCB0aGVyZSdzIG5vIG5lZWQgdG8gY29udGludWUgaW50byB0aGUgZWdkZXYgcm91dGUs CmFuZCB3ZSBjYW4gc3RvcCByaWdodCB0aGVyZS4KCk5vdCBkb2luZyBzbyBtYXkgY2F1c2UgYSAy bmQgcnVsZSB0byBiZSBhZGRlZCBieSB0aGUgY2xzIGFwaSBsYXllcgp3aXRoIHRoZSBpbmdyZXNz IGJlaW5nIHRoZSBlZ2Rldi4KCkZvciBleGFtcGxlLCB1bmRlciBzcmlvdiBzd2l0Y2hkZXYgc2No ZW1lLCBhIHVzZXIgcnVsZSBvZiBWRlIgQSAtLT4gVkZSIEIKd2lsbCBlbmQgdXAgd2l0aCB0d28g SFcgcnVsZXMgKDEpIFZGIEEgLS0+IFZGIEIgYW5kICgyKSB1cGxpbmsgLS0+IFZGIEIKCkZpeGVz OiAyMDhjMGY0YjUyMzcgKCduZXQ6IHNjaGVkOiB1c2UgdGNfc2V0dXBfY2JfY2FsbCB0byBjYWxs IHBlci1ibG9jayBjYWxsYmFja3MnKQpTaWduZWQtb2ZmLWJ5OiBPciBHZXJsaXR6IDxvZ2VybGl0 ekBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQvY2xzX2FwaS5jIHwgMiArLQogMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVk L2Nsc19hcGkuYyBiL25ldC9zY2hlZC9jbHNfYXBpLmMKaW5kZXggYzJjNzMyYWFkODdjLi44NmQy ZDU5NzdmNTYgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9jbHNfYXBpLmMKKysrIGIvbmV0L3NjaGVk L2Nsc19hcGkuYwpAQCAtMTU4Nyw3ICsxNTg3LDcgQEAgaW50IHRjX3NldHVwX2NiX2NhbGwoc3Ry dWN0IHRjZl9ibG9jayAqYmxvY2ssIHN0cnVjdCB0Y2ZfZXh0cyAqZXh0cywKIAkJcmV0dXJuIHJl dDsKIAlva19jb3VudCA9IHJldDsKIAotCWlmICghZXh0cykKKwlpZiAoIWV4dHMgfHwgb2tfY291 bnQpCiAJCXJldHVybiBva19jb3VudDsKIAlyZXQgPSB0Y19leHRzX3NldHVwX2NiX2VnZGV2X2Nh bGwoZXh0cywgdHlwZSwgdHlwZV9kYXRhLCBlcnJfc3RvcCk7CiAJaWYgKHJldCA8IDApCi0tIAoy LjE3LjEKCgpGcm9tIDdkNTM5MmZhMTQ4MzlkZTkzOGFlYmZmYTUxODE5MWRmZmU4NmEzOTIgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEphc29uIFdhbmcgPGphc293YW5nQHJlZGhhdC5j b20+CkRhdGU6IFR1ZSwgMjIgTWF5IDIwMTggMTE6NDQ6MjggKzA4MDAKU3ViamVjdDogW1BBVENI IDQwLzQzXSB2aXJ0aW8tbmV0OiBjb3JyZWN0bHkgcmVkaXJlY3QgbGluZWFyaXplZCBwYWNrZXQK ClsgVXBzdHJlYW0gY29tbWl0IDY4OTA0MThiYmI3ODBmMGVlOWNmMTI0MDU1YWZhNzk3NzdmMWI0 ZjEgXQoKQWZ0ZXIgYSBsaW5lYXJpemVkIHBhY2tldCB3YXMgcmVkaXJlY3RlZCBieSBYRFAsIHdl IHNob3VsZCBub3QgZ28gZm9yCnRoZSBlcnIgcGF0aCB3aGljaCB3aWxsIHRyeSB0byBwb3AgYnVm ZmVycyBmb3IgdGhlIG5leHQgcGFja2V0IGFuZAppbmNyZWFzZSB0aGUgZHJvcCBjb3VudGVyLiBG aXhpbmcgdGhpcyBieSBqdXN0IGRyb3AgdGhlIHBhZ2UgcmVmY250CmZvciB0aGUgb3JpZ2luYWwg cGFnZS4KCkZpeGVzOiAxODZiM2M5OThjNTAgKCJ2aXJ0aW8tbmV0OiBzdXBwb3J0IFhEUF9SRURJ UkVDVCIpClJlcG9ydGVkLWJ5OiBEYXZpZCBBaGVybiA8ZHNhaGVybkBnbWFpbC5jb20+ClRlc3Rl ZC1ieTogRGF2aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwuY29tPgpBY2tlZC1ieTogTWljaGFlbCBT LiBUc2lya2luIDxtc3RAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogSmFzb24gV2FuZyA8amFz b3dhbmdAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBk YXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYyB8IDIgKy0KIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbmV0L3ZpcnRpb19uZXQuYyBiL2RyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYwppbmRleCA2 NGU3YTMyMDk4YmUuLjg5MTFlMzQ2NmU2MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdmlydGlv X25ldC5jCisrKyBiL2RyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYwpAQCAtNzg2LDcgKzc4Niw3IEBA IHN0YXRpYyBzdHJ1Y3Qgc2tfYnVmZiAqcmVjZWl2ZV9tZXJnZWFibGUoc3RydWN0IG5ldF9kZXZp Y2UgKmRldiwKIAkJCX0KIAkJCSp4ZHBfeG1pdCA9IHRydWU7CiAJCQlpZiAodW5saWtlbHkoeGRw X3BhZ2UgIT0gcGFnZSkpCi0JCQkJZ290byBlcnJfeGRwOworCQkJCXB1dF9wYWdlKHBhZ2UpOwog CQkJcmN1X3JlYWRfdW5sb2NrKCk7CiAJCQlnb3RvIHhkcF94bWl0OwogCQlkZWZhdWx0OgotLSAK Mi4xNy4xCgoKRnJvbSBmM2UzYTA5MGZhZDNiYjkzM2M5NWY1MGQwNmNiZjNlZTVhMTU5ZGUwIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOaWNvbGFzIERpY2h0ZWwgPG5pY29sYXMuZGlj aHRlbEA2d2luZC5jb20+CkRhdGU6IFRodSwgMzEgTWF5IDIwMTggMTA6NTk6MzIgKzAyMDAKU3Vi amVjdDogW1BBVENIIDQxLzQzXSBpcF90dW5uZWw6IHJlc3RvcmUgYmluZGluZyB0byBpZmFjZXMg d2l0aCBhIGxhcmdlIG10dQoKWyBVcHN0cmVhbSBjb21taXQgODI2MTJkZTFjOThlNjEwZDE5NGUz NDE3OGJkZTNjY2E3ZGVkY2U0MSBdCgpBZnRlciBjb21taXQgZjZjYzljMDU0ZTc3LCB0aGUgZm9s bG93aW5nIGNvbmYgaXMgYnJva2VuIChub3RlIHRoYXQgdGhlCmRlZmF1bHQgbG9vcGJhY2sgbXR1 IGlzIDY1NTM2LCBpZSBJUF9NQVhfTVRVICsgMSk6CgokIGlwIHR1bm5lbCBhZGQgZ3JlMSBtb2Rl IGdyZSBsb2NhbCAxMC4xMjUuMC4xIHJlbW90ZSAxMC4xMjUuMC4yIGRldiBsbwphZGQgdHVubmVs ICJncmUwIiBmYWlsZWQ6IEludmFsaWQgYXJndW1lbnQKJCBpcCBsIGEgdHlwZSBkdW1teQokIGlw IGwgcyBkdW1teTEgdXAKJCBpcCBsIHMgZHVtbXkxIG10dSA2NTUzNQokIGlwIHR1bm5lbCBhZGQg Z3JlMSBtb2RlIGdyZSBsb2NhbCAxMC4xMjUuMC4xIHJlbW90ZSAxMC4xMjUuMC4yIGRldiBkdW1t eTEKYWRkIHR1bm5lbCAiZ3JlMCIgZmFpbGVkOiBJbnZhbGlkIGFyZ3VtZW50CgpkZXZfc2V0X210 dSgpIGRvZXNuJ3QgYWxsb3cgdG8gc2V0IGEgbXR1IHdoaWNoIGlzIHRvbyBsYXJnZS4KRmlyc3Qs IGxldCdzIGNhcCB0aGUgbXR1IHJldHVybmVkIGJ5IGlwX3R1bm5lbF9iaW5kX2RldigpLiBTZWNv bmQsIHJlbW92ZQp0aGUgbWFnaWMgdmFsdWUgMHhGRkY4IGFuZCB1c2UgSVBfTUFYX01UVSBpbnN0 ZWFkLgoweEZGRjggc2VlbXMgdG8gYmUgdGhlcmUgZm9yIGFnZXMsIEkgZG9uJ3Qga25vdyB3aHkg dGhpcyB2YWx1ZSB3YXMgdXNlZC4KCldpdGggYSByZWNlbnQga2VybmVsLCBpdCdzIGFsc28gcG9z c2libGUgdG8gc2V0IGEgbXR1ID4gSVBfTUFYX01UVToKJCBpcCBsIHMgZHVtbXkxIG10dSA2NjAw MApBZnRlciB0aGF0IHBhdGNoLCBpdCdzIGFsc28gcG9zc2libGUgdG8gYmluZCBhbiBpcCB0dW5u ZWwgb24gdGhhdCBraW5kIG9mCmludGVyZmFjZS4KCkNDOiBQZXRyIE1hY2hhdGEgPHBldHJtQG1l bGxhbm94LmNvbT4KQ0M6IElkbyBTY2hpbW1lbCA8aWRvc2NoQG1lbGxhbm94LmNvbT4KTGluazog aHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvZGF2ZW0vbmV0 ZGV2LXZnZXItY3ZzLmdpdC9jb21taXQvP2lkPWU1YWZkMzU2YTQxMWEKRml4ZXM6IGY2Y2M5YzA1 NGU3NyAoImlwX3R1bm5lbDogRW1pdCBldmVudHMgZm9yIHBvc3QtcmVnaXN0ZXIgTVRVIGNoYW5n ZXMiKQpTaWduZWQtb2ZmLWJ5OiBOaWNvbGFzIERpY2h0ZWwgPG5pY29sYXMuZGljaHRlbEA2d2lu ZC5jb20+ClJldmlld2VkLWJ5OiBJZG8gU2NoaW1tZWwgPGlkb3NjaEBtZWxsYW5veC5jb20+ClNp Z25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBu ZXQvaXB2NC9pcF90dW5uZWwuYyB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2Vy dGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvaXBfdHVubmVs LmMgYi9uZXQvaXB2NC9pcF90dW5uZWwuYwppbmRleCA1NzQ3OGQ2ODI0OGQuLmM0ZTMzZjQxNDFk OCAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvaXBfdHVubmVsLmMKKysrIGIvbmV0L2lwdjQvaXBfdHVu bmVsLmMKQEAgLTM0NCw3ICszNDQsNyBAQCBzdGF0aWMgaW50IGlwX3R1bm5lbF9iaW5kX2Rldihz dHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogCiAJaWYgKHRkZXYpIHsKIAkJaGxlbiA9IHRkZXYtPmhh cmRfaGVhZGVyX2xlbiArIHRkZXYtPm5lZWRlZF9oZWFkcm9vbTsKLQkJbXR1ID0gdGRldi0+bXR1 OworCQltdHUgPSBtaW4odGRldi0+bXR1LCBJUF9NQVhfTVRVKTsKIAl9CiAKIAlkZXYtPm5lZWRl ZF9oZWFkcm9vbSA9IHRfaGxlbiArIGhsZW47CkBAIC0zNzksNyArMzc5LDcgQEAgc3RhdGljIHN0 cnVjdCBpcF90dW5uZWwgKmlwX3R1bm5lbF9jcmVhdGUoc3RydWN0IG5ldCAqbmV0LAogCW50ID0g bmV0ZGV2X3ByaXYoZGV2KTsKIAl0X2hsZW4gPSBudC0+aGxlbiArIHNpemVvZihzdHJ1Y3QgaXBo ZHIpOwogCWRldi0+bWluX210dSA9IEVUSF9NSU5fTVRVOwotCWRldi0+bWF4X210dSA9IDB4RkZG OCAtIGRldi0+aGFyZF9oZWFkZXJfbGVuIC0gdF9obGVuOworCWRldi0+bWF4X210dSA9IElQX01B WF9NVFUgLSBkZXYtPmhhcmRfaGVhZGVyX2xlbiAtIHRfaGxlbjsKIAlpcF90dW5uZWxfYWRkKGl0 biwgbnQpOwogCXJldHVybiBudDsKIApAQCAtOTQ4LDcgKzk0OCw3IEBAIGludCBfX2lwX3R1bm5l bF9jaGFuZ2VfbXR1KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIGludCBuZXdfbXR1LCBib29sIHN0 cmljdCkKIHsKIAlzdHJ1Y3QgaXBfdHVubmVsICp0dW5uZWwgPSBuZXRkZXZfcHJpdihkZXYpOwog CWludCB0X2hsZW4gPSB0dW5uZWwtPmhsZW4gKyBzaXplb2Yoc3RydWN0IGlwaGRyKTsKLQlpbnQg bWF4X210dSA9IDB4RkZGOCAtIGRldi0+aGFyZF9oZWFkZXJfbGVuIC0gdF9obGVuOworCWludCBt YXhfbXR1ID0gSVBfTUFYX01UVSAtIGRldi0+aGFyZF9oZWFkZXJfbGVuIC0gdF9obGVuOwogCiAJ aWYgKG5ld19tdHUgPCBFVEhfTUlOX01UVSkKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC0xMTE5LDcg KzExMTksNyBAQCBpbnQgaXBfdHVubmVsX25ld2xpbmsoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwg c3RydWN0IG5sYXR0ciAqdGJbXSwKIAogCW10dSA9IGlwX3R1bm5lbF9iaW5kX2RldihkZXYpOwog CWlmICh0YltJRkxBX01UVV0pIHsKLQkJdW5zaWduZWQgaW50IG1heCA9IDB4ZmZmOCAtIGRldi0+ aGFyZF9oZWFkZXJfbGVuIC0gbnQtPmhsZW47CisJCXVuc2lnbmVkIGludCBtYXggPSBJUF9NQVhf TVRVIC0gZGV2LT5oYXJkX2hlYWRlcl9sZW4gLSBudC0+aGxlbjsKIAogCQltdHUgPSBjbGFtcChk ZXYtPm10dSwgKHVuc2lnbmVkIGludClFVEhfTUlOX01UVSwKIAkJCSAgICAodW5zaWduZWQgaW50 KShtYXggLSBzaXplb2Yoc3RydWN0IGlwaGRyKSkpOwotLSAKMi4xNy4xCgoKRnJvbSAzNDMxOWQ4 ZmI2MWI4NWFlOGNiOThiM2Y4NjMxNDFlYTIxYzcwMzNlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4KRGF0ZTog RnJpLCAyNSBNYXkgMjAxOCAxNDo1MDozNyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggNDIvNDNdIG5l dDogbmV0c2VjOiByZWR1Y2UgRE1BIG1hc2sgdG8gNDAgYml0cwoKWyBVcHN0cmVhbSBjb21taXQg MzEyNTY0MjY5NTM1ODkyY2MwODJiYzgwNTkyMTUwY2QxZjVlOGVjMyBdCgpUaGUgbmV0c2VjIG5l dHdvcmsgY29udHJvbGxlciBJUCBjYW4gZHJpdmUgNjQgYWRkcmVzcyBiaXRzIGZvciBETUEsIGFu ZAp0aGUgRE1BIG1hc2sgaXMgc2V0IGFjY29yZGluZ2x5IGluIHRoZSBkcml2ZXIuIEhvd2V2ZXIs IHRoZSBTeW5RdWFjZXIKU29DLCB3aGljaCBpcyB0aGUgb25seSBzaWxpY29uIGluY29ycG9yYXRp bmcgdGhpcyBJUCBhdCB0aGUgbW9tZW50LAppbnRlZ3JhdGVzIHRoaXMgSVAgaW4gYSBtYW5uZXIg dGhhdCBsZWF2ZXMgYWRkcmVzcyBiaXRzIFs2Mzo0MF0KdW5jb25uZWN0ZWQuCgpVcCB1bnRpbCBu b3csIHRoaXMgaGFzIG5vdCByZXN1bHRlZCBpbiBhbnkgcHJvYmxlbXMsIGdpdmVuIHRoYXQgdGhl IEREUgpjb250cm9sbGVyIGRvZXNuJ3QgZGVjb2RlIHRob3NlIGJpdHMgdG8gYmVnaW4gd2l0aC4g SG93ZXZlciwgcmVjZW50CmZpcm13YXJlIHVwZGF0ZXMgZm9yIHBsYXRmb3JtcyBpbmNvcnBvcmF0 aW5nIHRoaXMgU29DIGFsbG93IHRoZSBJT01NVQp0byBiZSBlbmFibGVkLCB3aGljaCBkb2VzIGRl Y29kZSBhZGRyZXNzIGJpdHMgWzQ3OjQwXSwgYW5kIGFsbG9jYXRlcwp0b3AgZG93biBmcm9tIHRo ZSBJT1ZBIHNwYWNlLCBwcm9kdWNpbmcgRE1BIGFkZHJlc3NlcyB0aGF0IGhhdmUgYml0cwpzZXQg dGhhdCBoYXZlIGJlZW4gbGVmdCB1bmNvbm5lY3RlZC4KCkJvdGggdGhlIERUIGFuZCBBQ1BJIChJ T1JUKSBkZXNjcmlwdGlvbnMgb2YgdGhlIHBsYXRmb3JtIHRha2UgdGhpcyBpbnRvCmFjY291bnQs IGFuZCBvbmx5IGRlc2NyaWJlIGEgRE1BIGFkZHJlc3Mgc3BhY2Ugb2YgNDAgYml0cyAodXNpbmcg ZWl0aGVyCmRtYS1yYW5nZXMgRFQgcHJvcGVydGllcywgb3IgRE1BIGFkZHJlc3MgbGltaXRzIGlu IElPUlQgbmFtZWQgY29tcG9uZW50Cm5vZGVzKS4gSG93ZXZlciwgZXZlbiB0aG91Z2ggb3VyIElP TU1VIGFuZCBidXMgbGF5ZXJzIG1heSB0YWtlIHN1Y2gKbGltaXRhdGlvbnMgaW50byBhY2NvdW50 IGJ5IHNldHRpbmcgYSBuYXJyb3dlciBETUEgbWFzayB3aGVuIGNyZWF0aW5nCnRoZSBwbGF0Zm9y bSBkZXZpY2UsIHRoZSBuZXRzZWMgcHJvYmUoKSBlbnRyeXBvaW50IGZvbGxvd3MgdGhlIGNvbW1v bgpwcmFjdGljZSBvZiBzZXR0aW5nIHRoZSBETUEgbWFzayB1bmNvbmRpb25hbGx5LCBhY2NvcmRp bmcgdG8gdGhlCmNhcGFiaWxpdGllcyBvZiB0aGUgSVAgYmxvY2sgaXRzZWxmIHJhdGhlciB0aGFu IHRvIGl0cyBpbnRlZ3JhdGlvbiBpbnRvCnRoZSBjaGlwLgoKSXQgaXMgY3VycmVudGx5IHVuY2xl YXIgd2hhdCB0aGUgY29ycmVjdCBmaXggaXMgaGVyZS4gV2UgY291bGQgaGFjayBhcm91bmQKaXQg Ynkgb25seSBzZXR0aW5nIHRoZSBETUEgbWFzayBpZiBpdCBkZXZpYXRlcyBmcm9tIGl0cyBkZWZh dWx0IHZhbHVlIG9mCkRNQV9CSVRfTUFTSygzMikuIEhvd2V2ZXIsIHRoaXMgbWFrZXMgaXQgaW1w b3NzaWJsZSBmb3IgdGhlIGJ1cyBsYXllciB0bwp1c2UgRE1BX0JJVF9NQVNLKDMyKSBhcyB0aGUg YnVzIGxpbWl0LCBhbmQgc28gaXQgYXBwZWFycyB0aGF0IGEgbW9yZQpjb21wcmVoZW5zaXZlIGFw cHJvYWNoIGlzIHJlcXVpcmVkIHRvIHRha2UgRE1BIGxpbWl0cyBpbXBvc2VkIGJ5IHRoZQpTb0Mg YXMgYSB3aG9sZSBpbnRvIGFjY291bnQuCgpJbiB0aGUgbWVhbiB0aW1lLCBsZXQncyBsaW1pdCB0 aGUgRE1BIG1hc2sgdG8gNDAgYml0cy4gR2l2ZW4gdGhhdCB0aGVyZQppcyBjdXJyZW50bHkgb25s eSBvbmUgU29DIHRoYXQgaW5jb3Jwb3JhdGVzIHRoaXMgSVAsIHRoaXMgaXMgYSByZWFzb25hYmxl CmFwcHJvYWNoIHRoYXQgY2FuIGJlIGJhY2twb3J0ZWQgdG8gLXN0YWJsZSBhbmQgYnV5cyB1cyBz b21lIHRpbWUgdG8gY29tZQp1cCB3aXRoIGEgcHJvcGVyIGZpeCBnb2luZyBmb3J3YXJkLgoKRml4 ZXM6IDUzM2RkMTFhMTJmNiAoIm5ldDogc29jaW9uZXh0OiBBZGQgU3lucXVhY2VyIE5ldFNlYyBk cml2ZXIiKQpDYzogUm9iaW4gTXVycGh5IDxyb2Jpbi5tdXJwaHlAYXJtLmNvbT4KQ2M6IEphc3Np IEJyYXIgPGphc3dpbmRlci5zaW5naEBsaW5hcm8ub3JnPgpDYzogTWFzYWhpc2EgS29qaW1hIDxt YXNhaGlzYS5rb2ppbWFAbGluYXJvLm9yZz4KQ2M6IElsaWFzIEFwYWxvZGltYXMgPGlsaWFzLmFw YWxvZGltYXNAbGluYXJvLm9yZz4KU2lnbmVkLW9mZi1ieTogQXJkIEJpZXNoZXV2ZWwgPGFyZC5i aWVzaGV1dmVsQGxpbmFyby5vcmc+ClJldmlld2VkLWJ5OiBSb2JpbiBNdXJwaHkgPHJvYmluLm11 cnBoeUBhcm0uY29tPgpBY2tlZC1ieTogSmFzc2kgQnJhciA8amFzd2luZGVyLnNpbmdoQGxpbmFy by5vcmc+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5l dD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9zb2Npb25leHQvbmV0c2VjLmMgfCA0ICsrLS0K IDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc29jaW9uZXh0L25ldHNlYy5jIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvc29jaW9uZXh0L25ldHNlYy5jCmluZGV4IGY0YzBiMDJkZGFkOC4uNTlmYmY3 NGRjYWRhIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zb2Npb25leHQvbmV0c2Vj LmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc29jaW9uZXh0L25ldHNlYy5jCkBAIC0xNjc0 LDggKzE2NzQsOCBAQCBzdGF0aWMgaW50IG5ldHNlY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2KQogCWlmIChyZXQpCiAJCWdvdG8gdW5yZWdfbmFwaTsKIAotCWlmIChkbWFfc2V0 X21hc2tfYW5kX2NvaGVyZW50KCZwZGV2LT5kZXYsIERNQV9CSVRfTUFTSyg2NCkpKQotCQlkZXZf d2FybigmcGRldi0+ZGV2LCAiRmFpbGVkIHRvIGVuYWJsZSA2NC1iaXQgRE1BXG4iKTsKKwlpZiAo ZG1hX3NldF9tYXNrX2FuZF9jb2hlcmVudCgmcGRldi0+ZGV2LCBETUFfQklUX01BU0soNDApKSkK KwkJZGV2X3dhcm4oJnBkZXYtPmRldiwgIkZhaWxlZCB0byBzZXQgRE1BIG1hc2tcbiIpOwogCiAJ cmV0ID0gcmVnaXN0ZXJfbmV0ZGV2KG5kZXYpOwogCWlmIChyZXQpIHsKLS0gCjIuMTcuMQoKCkZy b20gMjIyZjgwMTViZjU4ODY2OWQ3OGI0ZDU4YjY2ZmI5MDU2Y2FjYTk2MiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogSmFzb24gV2FuZyA8amFzb3dhbmdAcmVkaGF0LmNvbT4KRGF0ZTog VHVlLCAyOSBNYXkgMjAxOCAxNDoxODoxOSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggNDMvNDNdIHZo b3N0X25ldDogZmx1c2ggYmF0Y2hlZCBoZWFkcyBiZWZvcmUgdHJ5aW5nIHRvIGJ1c3kKIHBvbGxp bmcKClsgVXBzdHJlYW0gY29tbWl0IGY1YTQ5NDFhYTZkMTkwZTY3NjA2NWU4ZjRlZDM1OTk5ZjUy YTAxYzMgXQoKQWZ0ZXIgY29tbWl0IGUyYjNiMzVlYjk4OSAoInZob3N0X25ldDogYmF0Y2ggdXNl ZCByaW5nIHVwZGF0ZSBpbiByeCIpLAp3ZSB0ZW5kIHRvIGJhdGNoIHVwZGF0aW5nIHVzZWQgaGVh ZHMuIEJ1dCBpdCBkb2Vzbid0IGZsdXNoIGJhdGNoZWQKaGVhZHMgYmVmb3JlIHRyeWluZyB0byBk byBidXN5IHBvbGxpbmcsIHRoaXMgd2lsbCBjYXVzZSB2aG9zdCB0byB3YWl0CmZvciBndWVzdCBU WCB3aGljaCB3YWl0cyBmb3IgdGhlIHVzZWQgUlguIEZpeGluZyBieSBmbHVzaCBiYXRjaGVkCmhl YWRzIGJlZm9yZSBidXN5IGxvb3AuCgoxIGJ5dGUgVENQX1JSIHBlcmZvcm1hbmNlIHJlY292ZXJz IGZyb20gMTMxMDcuODMgdG8gNTA0MDIuNjUuCgpGaXhlczogZTJiM2IzNWViOTg5ICgidmhvc3Rf bmV0OiBiYXRjaCB1c2VkIHJpbmcgdXBkYXRlIGluIHJ4IikKU2lnbmVkLW9mZi1ieTogSmFzb24g V2FuZyA8amFzb3dhbmdAcmVkaGF0LmNvbT4KQWNrZWQtYnk6IE1pY2hhZWwgUy4gVHNpcmtpbiA8 bXN0QHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL3Zob3N0L25ldC5jIHwgMzcgKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyks IDEzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmhvc3QvbmV0LmMgYi9kcml2 ZXJzL3Zob3N0L25ldC5jCmluZGV4IDEyYmNmYmFjMmNjOS4uZDNjOTBjZTVkNGM0IDEwMDY0NAot LS0gYS9kcml2ZXJzL3Zob3N0L25ldC5jCisrKyBiL2RyaXZlcnMvdmhvc3QvbmV0LmMKQEAgLTEw MSw3ICsxMDEsOSBAQCBzdHJ1Y3Qgdmhvc3RfbmV0X3ZpcnRxdWV1ZSB7CiAJLyogdmhvc3QgemVy b2NvcHkgc3VwcG9ydCBmaWVsZHMgYmVsb3c6ICovCiAJLyogbGFzdCB1c2VkIGlkeCBmb3Igb3V0 c3RhbmRpbmcgRE1BIHplcm9jb3B5IGJ1ZmZlcnMgKi8KIAlpbnQgdXBlbmRfaWR4OwotCS8qIGZp cnN0IHVzZWQgaWR4IGZvciBETUEgZG9uZSB6ZXJvY29weSBidWZmZXJzICovCisJLyogRm9yIFRY LCBmaXJzdCB1c2VkIGlkeCBmb3IgRE1BIGRvbmUgemVyb2NvcHkgYnVmZmVycworCSAqIEZvciBS WCwgbnVtYmVyIG9mIGJhdGNoZWQgaGVhZHMKKwkgKi8KIAlpbnQgZG9uZV9pZHg7CiAJLyogYW4g YXJyYXkgb2YgdXNlcnNwYWNlIGJ1ZmZlcnMgaW5mbyAqLwogCXN0cnVjdCB1YnVmX2luZm8gKnVi dWZfaW5mbzsKQEAgLTYyMCw2ICs2MjIsMTggQEAgc3RhdGljIGludCBza19oYXNfcnhfZGF0YShz dHJ1Y3Qgc29jayAqc2spCiAJcmV0dXJuIHNrYl9xdWV1ZV9lbXB0eSgmc2stPnNrX3JlY2VpdmVf cXVldWUpOwogfQogCitzdGF0aWMgdm9pZCB2aG9zdF9yeF9zaWduYWxfdXNlZChzdHJ1Y3Qgdmhv c3RfbmV0X3ZpcnRxdWV1ZSAqbnZxKQoreworCXN0cnVjdCB2aG9zdF92aXJ0cXVldWUgKnZxID0g Jm52cS0+dnE7CisJc3RydWN0IHZob3N0X2RldiAqZGV2ID0gdnEtPmRldjsKKworCWlmICghbnZx LT5kb25lX2lkeCkKKwkJcmV0dXJuOworCisJdmhvc3RfYWRkX3VzZWRfYW5kX3NpZ25hbF9uKGRl diwgdnEsIHZxLT5oZWFkcywgbnZxLT5kb25lX2lkeCk7CisJbnZxLT5kb25lX2lkeCA9IDA7Cit9 CisKIHN0YXRpYyBpbnQgdmhvc3RfbmV0X3J4X3BlZWtfaGVhZF9sZW4oc3RydWN0IHZob3N0X25l dCAqbmV0LCBzdHJ1Y3Qgc29jayAqc2spCiB7CiAJc3RydWN0IHZob3N0X25ldF92aXJ0cXVldWUg KnJ2cSA9ICZuZXQtPnZxc1tWSE9TVF9ORVRfVlFfUlhdOwpAQCAtNjI5LDYgKzY0Myw4IEBAIHN0 YXRpYyBpbnQgdmhvc3RfbmV0X3J4X3BlZWtfaGVhZF9sZW4oc3RydWN0IHZob3N0X25ldCAqbmV0 LCBzdHJ1Y3Qgc29jayAqc2spCiAJaW50IGxlbiA9IHBlZWtfaGVhZF9sZW4ocnZxLCBzayk7CiAK IAlpZiAoIWxlbiAmJiB2cS0+YnVzeWxvb3BfdGltZW91dCkgeworCQkvKiBGbHVzaCBiYXRjaGVk IGhlYWRzIGZpcnN0ICovCisJCXZob3N0X3J4X3NpZ25hbF91c2VkKHJ2cSk7CiAJCS8qIEJvdGgg dHggdnEgYW5kIHJ4IHNvY2tldCB3ZXJlIHBvbGxlZCBoZXJlICovCiAJCW11dGV4X2xvY2tfbmVz dGVkKCZ2cS0+bXV0ZXgsIDEpOwogCQl2aG9zdF9kaXNhYmxlX25vdGlmeSgmbmV0LT5kZXYsIHZx KTsKQEAgLTc1Niw3ICs3NzIsNyBAQCBzdGF0aWMgdm9pZCBoYW5kbGVfcngoc3RydWN0IHZob3N0 X25ldCAqbmV0KQogCX07CiAJc2l6ZV90IHRvdGFsX2xlbiA9IDA7CiAJaW50IGVyciwgbWVyZ2Vh YmxlOwotCXMxNiBoZWFkY291bnQsIG5oZWFkcyA9IDA7CisJczE2IGhlYWRjb3VudDsKIAlzaXpl X3Qgdmhvc3RfaGxlbiwgc29ja19obGVuOwogCXNpemVfdCB2aG9zdF9sZW4sIHNvY2tfbGVuOwog CXN0cnVjdCBzb2NrZXQgKnNvY2s7CkBAIC03ODQsOCArODAwLDggQEAgc3RhdGljIHZvaWQgaGFu ZGxlX3J4KHN0cnVjdCB2aG9zdF9uZXQgKm5ldCkKIAl3aGlsZSAoKHNvY2tfbGVuID0gdmhvc3Rf bmV0X3J4X3BlZWtfaGVhZF9sZW4obmV0LCBzb2NrLT5zaykpKSB7CiAJCXNvY2tfbGVuICs9IHNv Y2tfaGxlbjsKIAkJdmhvc3RfbGVuID0gc29ja19sZW4gKyB2aG9zdF9obGVuOwotCQloZWFkY291 bnQgPSBnZXRfcnhfYnVmcyh2cSwgdnEtPmhlYWRzICsgbmhlYWRzLCB2aG9zdF9sZW4sCi0JCQkJ CSZpbiwgdnFfbG9nLCAmbG9nLAorCQloZWFkY291bnQgPSBnZXRfcnhfYnVmcyh2cSwgdnEtPmhl YWRzICsgbnZxLT5kb25lX2lkeCwKKwkJCQkJdmhvc3RfbGVuLCAmaW4sIHZxX2xvZywgJmxvZywK IAkJCQkJbGlrZWx5KG1lcmdlYWJsZSkgPyBVSU9fTUFYSU9WIDogMSk7CiAJCS8qIE9uIGVycm9y LCBzdG9wIGhhbmRsaW5nIHVudGlsIHRoZSBuZXh0IGtpY2suICovCiAJCWlmICh1bmxpa2VseSho ZWFkY291bnQgPCAwKSkKQEAgLTg1NiwxMiArODcyLDkgQEAgc3RhdGljIHZvaWQgaGFuZGxlX3J4 KHN0cnVjdCB2aG9zdF9uZXQgKm5ldCkKIAkJCXZob3N0X2Rpc2NhcmRfdnFfZGVzYyh2cSwgaGVh ZGNvdW50KTsKIAkJCWdvdG8gb3V0OwogCQl9Ci0JCW5oZWFkcyArPSBoZWFkY291bnQ7Ci0JCWlm IChuaGVhZHMgPiBWSE9TVF9SWF9CQVRDSCkgewotCQkJdmhvc3RfYWRkX3VzZWRfYW5kX3NpZ25h bF9uKCZuZXQtPmRldiwgdnEsIHZxLT5oZWFkcywKLQkJCQkJCSAgICBuaGVhZHMpOwotCQkJbmhl YWRzID0gMDsKLQkJfQorCQludnEtPmRvbmVfaWR4ICs9IGhlYWRjb3VudDsKKwkJaWYgKG52cS0+ ZG9uZV9pZHggPiBWSE9TVF9SWF9CQVRDSCkKKwkJCXZob3N0X3J4X3NpZ25hbF91c2VkKG52cSk7 CiAJCWlmICh1bmxpa2VseSh2cV9sb2cpKQogCQkJdmhvc3RfbG9nX3dyaXRlKHZxLCB2cV9sb2cs IGxvZywgdmhvc3RfbGVuKTsKIAkJdG90YWxfbGVuICs9IHZob3N0X2xlbjsKQEAgLTg3Miw5ICs4 ODUsNyBAQCBzdGF0aWMgdm9pZCBoYW5kbGVfcngoc3RydWN0IHZob3N0X25ldCAqbmV0KQogCX0K IAl2aG9zdF9uZXRfZW5hYmxlX3ZxKG5ldCwgdnEpOwogb3V0OgotCWlmIChuaGVhZHMpCi0JCXZo b3N0X2FkZF91c2VkX2FuZF9zaWduYWxfbigmbmV0LT5kZXYsIHZxLCB2cS0+aGVhZHMsCi0JCQkJ CSAgICBuaGVhZHMpOworCXZob3N0X3J4X3NpZ25hbF91c2VkKG52cSk7CiAJbXV0ZXhfdW5sb2Nr KCZ2cS0+bXV0ZXgpOwogfQogCi0tIAoyLjE3LjEKCg== ----Next_Part(Thu_Jun__7_22_18_39_2018_648)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_417.mbox" RnJvbSBlOWJmNWY0ZTdhNGY4YjUwZjAwOGFjZGVkM2JlY2FhY2I1NWU0OTAxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpYSBMYXdhbGwgPEp1bGlhLkxhd2FsbEBsaXA2LmZyPgpE YXRlOiBXZWQsIDYgSnVuIDIwMTggMTU6MDM6MjIgKzAyMDAKU3ViamVjdDogW1BBVENIIDAxLzEz XSBibngyeDogdXNlIHRoZSByaWdodCBjb25zdGFudAoKWyBVcHN0cmVhbSBjb21taXQgZGQ2MTJm MThhNDliNjNhZjhiM2E1ZjU3MmQ5OTliZGIxOTczODViYyBdCgpOZWFyYnkgY29kZSB0aGF0IGFs c28gdGVzdHMgcG9ydCBzdWdnZXN0cyB0aGF0IHRoZSBQMCBjb25zdGFudCBzaG91bGQgYmUKdXNl ZCB3aGVuIHBvcnQgaXMgemVyby4KClRoZSBzZW1hbnRpYyBtYXRjaCB0aGF0IGZpbmRzIHRoaXMg cHJvYmxlbSBpcyBhcyBmb2xsb3dzOgooaHR0cDovL2NvY2NpbmVsbGUubGlwNi5mci8pCgovLyA8 c21wbD4KQEAKZXhwcmVzc2lvbiBlLGUxOwpAQAoKKiBlID8gZTEgOiBlMQovLyA8L3NtcGw+CgpG aXhlczogNmMzMjE4YzZmN2U1ICgiYm54Mng6IEFkanVzdCBFVFMgdG8gNTc4eHgiKQpTaWduZWQt b2ZmLWJ5OiBKdWxpYSBMYXdhbGwgPEp1bGlhLkxhd2FsbEBsaXA2LmZyPgpTaWduZWQtb2ZmLWJ5 OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQv ZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbGluay5jIHwgMiArLQogMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbGluay5jIGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbGluay5jCmluZGV4IDdkZDgzZDBlZjBhMC4uMjIy NDNjNDgwYTA1IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngy eC9ibngyeF9saW5rLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54Mngv Ym54MnhfbGluay5jCkBAIC01ODgsNyArNTg4LDcgQEAgc3RhdGljIHZvaWQgYm54MnhfZXRzX2Uz YjBfbmlnX2Rpc2FibGVkKGNvbnN0IHN0cnVjdCBsaW5rX3BhcmFtcyAqcGFyYW1zLAogCSAqIHNs b3RzIGZvciB0aGUgaGlnaGVzdCBwcmlvcml0eS4KIAkgKi8KIAlSRUdfV1IoYnAsIChwb3J0KSA/ IE5JR19SRUdfUDFfVFhfQVJCX05VTV9TVFJJQ1RfQVJCX1NMT1RTIDoKLQkJICAgTklHX1JFR19Q MV9UWF9BUkJfTlVNX1NUUklDVF9BUkJfU0xPVFMsIDB4MTAwKTsKKwkJICAgTklHX1JFR19QMF9U WF9BUkJfTlVNX1NUUklDVF9BUkJfU0xPVFMsIDB4MTAwKTsKIAkvKiBNYXBwaW5nIGJldHdlZW4g dGhlIENSRURJVF9XRUlHSFQgcmVnaXN0ZXJzIGFuZCBhY3R1YWwgY2xpZW50CiAJICogbnVtYmVy cwogCSAqLwotLSAKMi4xNy4xCgoKRnJvbSA1NjMzMzI2YjRjMjgzNmFmZGYwOGYyNWZkMTdlMGNi YWI4YTdjOTFlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTYWJyaW5hIER1YnJvY2Eg PHNkQHF1ZWFzeXNuYWlsLm5ldD4KRGF0ZTogVHVlLCA1IEp1biAyMDE4IDE1OjAxOjU5ICswMjAw ClN1YmplY3Q6IFtQQVRDSCAwMi8xM10gaXA2bXI6IG9ubHkgc2V0IGlwNm1yX3RhYmxlIGZyb20g c2V0c29ja29wdCB3aGVuCiBpcDZtcl9uZXdfdGFibGUgc3VjY2VlZHMKClsgVXBzdHJlYW0gY29t bWl0IDg0ODIzNWVkYjVjOTNlZDA4NjcwMDU4NGM4ZmY2NGY2ZDdmYzc3OGQgXQoKQ3VycmVudGx5 LCByYXc2X3NrKHNrKS0+aXA2bXJfdGFibGUgaXMgc2V0IHVuY29uZGl0aW9uYWxseSBkdXJpbmcK aXA2X21yb3V0ZV9zZXRzb2Nrb3B0KE1SVDZfVEFCTEUpLiBBIHN1YnNlcXVlbnQgYXR0ZW1wdCBh dCB0aGUgc2FtZQpzZXRzb2Nrb3B0IHdpbGwgZmFpbCB3aXRoIC1FTk9FTlQsIHNpbmNlIHdlIGhh dmVuJ3QgYWN0dWFsbHkgY3JlYXRlZAp0aGF0IHRhYmxlLgoKQSBzaW1pbGFyIGZpeCBmb3IgaXB2 NCB3YXMgaW5jbHVkZWQgaW4gY29tbWl0IDVlMTg1OWZiY2MzYyAoImlwdjQ6IGlwbXI6CnZhcmlv dXMgZml4ZXMgYW5kIGNsZWFudXBzIikuCgpGaXhlczogZDFkYjI3NWRkM2Y2ICgiaXB2NjogaXA2 bXI6IHN1cHBvcnQgbXVsdGlwbGUgdGFibGVzIikKU2lnbmVkLW9mZi1ieTogU2FicmluYSBEdWJy b2NhIDxzZEBxdWVhc3lzbmFpbC5uZXQ+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2Ni9pcDZtci5jIHwgMyArKy0KIDEgZmls ZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9u ZXQvaXB2Ni9pcDZtci5jIGIvbmV0L2lwdjYvaXA2bXIuYwppbmRleCAyOThmZDhiNmVkMTcuLjQy ZWNhMjY4OWMzYiAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvaXA2bXIuYworKysgYi9uZXQvaXB2Ni9p cDZtci5jCkBAIC0xNzU5LDcgKzE3NTksOCBAQCBpbnQgaXA2X21yb3V0ZV9zZXRzb2Nrb3B0KHN0 cnVjdCBzb2NrICpzaywgaW50IG9wdG5hbWUsIGNoYXIgX191c2VyICpvcHR2YWwsIHVucwogCQly ZXQgPSAwOwogCQlpZiAoIWlwNm1yX25ld190YWJsZShuZXQsIHYpKQogCQkJcmV0ID0gLUVOT01F TTsKLQkJcmF3Nl9zayhzayktPmlwNm1yX3RhYmxlID0gdjsKKwkJZWxzZQorCQkJcmF3Nl9zayhz ayktPmlwNm1yX3RhYmxlID0gdjsKIAkJcnRubF91bmxvY2soKTsKIAkJcmV0dXJuIHJldDsKIAl9 Ci0tIAoyLjE3LjEKCgpGcm9tIDcwZWNjMjQ4ZWE1Y2I4NmM3OTZmMjI5YjQ4Yjc5NGY1MTIyYjE4 NTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhbCBLdWJlY2VrIDxta3ViZWNl a0BzdXNlLmN6PgpEYXRlOiBNb24sIDQgSnVuIDIwMTggMTE6MzY6MDUgKzAyMDAKU3ViamVjdDog W1BBVENIIDAzLzEzXSBpcHY2OiBvbWl0IHRyYWZmaWMgY2xhc3Mgd2hlbiBjYWxjdWxhdGluZyBm bG93IGhhc2gKClsgVXBzdHJlYW0gY29tbWl0IGZhMWJlN2UwMWVhODYzZTkxMTM0OWUzMDQ1Njcw Njc0OTUxOGVlYWIgXQoKU29tZSBvZiB0aGUgY29kZSBwYXRocyBjYWxjdWxhdGluZyBmbG93IGhh c2ggZm9yIElQdjYgdXNlIGZsb3dsYWJlbCBtZW1iZXIKb2Ygc3RydWN0IGZsb3dpNiB3aGljaCwg ZGVzcGl0ZSBpdHMgbmFtZSwgZW5jb2RlcyBib3RoIGZsb3cgbGFiZWwgYW5kCnRyYWZmaWMgY2xh c3MuIElmIHRyYWZmaWMgY2xhc3MgY2hhbmdlcyB3aXRoaW4gYSBUQ1AgY29ubmVjdGlvbiAoYXMg ZS5nLgpzc2ggZG9lcyksIEVDTVAgcm91dGUgY2FuIHN3aXRjaCBiZXR3ZWVuIHBhdGguIEl0J3Mg YWxzbyBpbmNvbnNpc3RlbnQgd2l0aApvdGhlciBjb2RlIHBhdGhzIHdoZXJlIGlwNl9mbG93bGFi ZWwoKSAocmV0dXJuaW5nIG9ubHkgZmxvdyBsYWJlbCkgaXMgdXNlZAp0byBmZWVkIHRoZSBrZXku CgpVc2Ugb25seSBmbG93IGxhYmVsIGV2ZXJ5d2hlcmUsIGluY2x1ZGluZyBvbmUgcGxhY2Ugd2hl cmUgaGFzaCBrZXkgaXMgc2V0CnVzaW5nIGlwNl9mbG93aW5mbygpLgoKRml4ZXM6IDUxZWJkMzE4 MTU3MiAoImlwdjY6IGFkZCBzdXBwb3J0IG9mIGVxdWFsIGNvc3QgbXVsdGlwYXRoIChFQ01QKSIp CkZpeGVzOiBmNzBlYTAxOGRhMDYgKCJuZXQ6IEFkZCBmdW5jdGlvbnMgdG8gZ2V0IHNrYi0+aGFz aCBiYXNlZCBvbiBmbG93IHN0cnVjdHVyZXMiKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWwgS3ViZWNl ayA8bWt1YmVjZWtAc3VzZS5jej4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZl bUBkYXZlbWxvZnQubmV0PgotLS0KIGluY2x1ZGUvbmV0L2lwdjYuaCAgICAgICAgfCA1ICsrKysr CiBuZXQvY29yZS9mbG93X2Rpc3NlY3Rvci5jIHwgMiArLQogbmV0L2lwdjYvcm91dGUuYyAgICAg ICAgICB8IDQgKystLQogMyBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDMgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvaXB2Ni5oIGIvaW5jbHVkZS9uZXQvaXB2 Ni5oCmluZGV4IDgzNmYzMWFmMTM2OS4uYTQwNmYyZTg2ODBhIDEwMDY0NAotLS0gYS9pbmNsdWRl L25ldC9pcHY2LmgKKysrIGIvaW5jbHVkZS9uZXQvaXB2Ni5oCkBAIC05MDYsNiArOTA2LDExIEBA IHN0YXRpYyBpbmxpbmUgX19iZTMyIGlwNl9tYWtlX2Zsb3dpbmZvKHVuc2lnbmVkIGludCB0Y2xh c3MsIF9fYmUzMiBmbG93bGFiZWwpCiAJcmV0dXJuIGh0b25sKHRjbGFzcyA8PCBJUFY2X1RDTEFT U19TSElGVCkgfCBmbG93bGFiZWw7CiB9CiAKK3N0YXRpYyBpbmxpbmUgX19iZTMyIGZsb3dpNl9n ZXRfZmxvd2xhYmVsKGNvbnN0IHN0cnVjdCBmbG93aTYgKmZsNikKK3sKKwlyZXR1cm4gZmw2LT5m bG93bGFiZWwgJiBJUFY2X0ZMT1dMQUJFTF9NQVNLOworfQorCiAvKgogICoJUHJvdG90eXBlcyBl eHBvcnRlZCBieSBpcHY2CiAgKi8KZGlmZiAtLWdpdCBhL25ldC9jb3JlL2Zsb3dfZGlzc2VjdG9y LmMgYi9uZXQvY29yZS9mbG93X2Rpc3NlY3Rvci5jCmluZGV4IGQyOWYwOWJjNWZmOS4uMDIzNGY4 ZDFmMGFjIDEwMDY0NAotLS0gYS9uZXQvY29yZS9mbG93X2Rpc3NlY3Rvci5jCisrKyBiL25ldC9j b3JlL2Zsb3dfZGlzc2VjdG9yLmMKQEAgLTEzMzQsNyArMTMzNCw3IEBAIF9fdTMyIF9fZ2V0X2hh c2hfZnJvbV9mbG93aTYoY29uc3Qgc3RydWN0IGZsb3dpNiAqZmw2LCBzdHJ1Y3QgZmxvd19rZXlz ICprZXlzKQogCWtleXMtPnBvcnRzLnNyYyA9IGZsNi0+Zmw2X3Nwb3J0OwogCWtleXMtPnBvcnRz LmRzdCA9IGZsNi0+Zmw2X2Rwb3J0OwogCWtleXMtPmtleWlkLmtleWlkID0gZmw2LT5mbDZfZ3Jl X2tleTsKLQlrZXlzLT50YWdzLmZsb3dfbGFiZWwgPSAoX19mb3JjZSB1MzIpZmw2LT5mbG93bGFi ZWw7CisJa2V5cy0+dGFncy5mbG93X2xhYmVsID0gKF9fZm9yY2UgdTMyKWZsb3dpNl9nZXRfZmxv d2xhYmVsKGZsNik7CiAJa2V5cy0+YmFzaWMuaXBfcHJvdG8gPSBmbDYtPmZsb3dpNl9wcm90bzsK IAogCXJldHVybiBmbG93X2hhc2hfZnJvbV9rZXlzKGtleXMpOwpkaWZmIC0tZ2l0IGEvbmV0L2lw djYvcm91dGUuYyBiL25ldC9pcHY2L3JvdXRlLmMKaW5kZXggZjRkNjE3MzZjNDFhLi40NTMwYTgy YWFhMmUgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L3JvdXRlLmMKKysrIGIvbmV0L2lwdjYvcm91dGUu YwpAQCAtMTg2OCw3ICsxODY4LDcgQEAgc3RhdGljIHZvaWQgaXA2X211bHRpcGF0aF9sM19rZXlz KGNvbnN0IHN0cnVjdCBza19idWZmICpza2IsCiAJfSBlbHNlIHsKIAkJa2V5cy0+YWRkcnMudjZh ZGRycy5zcmMgPSBrZXlfaXBoLT5zYWRkcjsKIAkJa2V5cy0+YWRkcnMudjZhZGRycy5kc3QgPSBr ZXlfaXBoLT5kYWRkcjsKLQkJa2V5cy0+dGFncy5mbG93X2xhYmVsID0gaXA2X2Zsb3dpbmZvKGtl eV9pcGgpOworCQlrZXlzLT50YWdzLmZsb3dfbGFiZWwgPSBpcDZfZmxvd2xhYmVsKGtleV9pcGgp OwogCQlrZXlzLT5iYXNpYy5pcF9wcm90byA9IGtleV9pcGgtPm5leHRoZHI7CiAJfQogfQpAQCAt MTg4OSw3ICsxODg5LDcgQEAgdTMyIHJ0Nl9tdWx0aXBhdGhfaGFzaChjb25zdCBzdHJ1Y3QgbmV0 ICpuZXQsIGNvbnN0IHN0cnVjdCBmbG93aTYgKmZsNiwKIAkJfSBlbHNlIHsKIAkJCWhhc2hfa2V5 cy5hZGRycy52NmFkZHJzLnNyYyA9IGZsNi0+c2FkZHI7CiAJCQloYXNoX2tleXMuYWRkcnMudjZh ZGRycy5kc3QgPSBmbDYtPmRhZGRyOwotCQkJaGFzaF9rZXlzLnRhZ3MuZmxvd19sYWJlbCA9IChf X2ZvcmNlIHUzMilmbDYtPmZsb3dsYWJlbDsKKwkJCWhhc2hfa2V5cy50YWdzLmZsb3dfbGFiZWwg PSAoX19mb3JjZSB1MzIpZmxvd2k2X2dldF9mbG93bGFiZWwoZmw2KTsKIAkJCWhhc2hfa2V5cy5i YXNpYy5pcF9wcm90byA9IGZsNi0+Zmxvd2k2X3Byb3RvOwogCQl9CiAJCWJyZWFrOwotLSAKMi4x Ny4xCgoKRnJvbSA0MGVlMjEwMTNiZjE5MWZhZDQ2Y2JmMzg4NzU0ZjdiNmJlMGE1NmYwIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHdWlsbGF1bWUgTmF1bHQgPGcubmF1bHRAYWxwaGFs aW5rLmZyPgpEYXRlOiBNb24sIDQgSnVuIDIwMTggMTg6NTI6MTkgKzAyMDAKU3ViamVjdDogW1BB VENIIDA0LzEzXSBsMnRwOiBmaXggcmVmY291bnQgbGVha2FnZSBvbiBQUFBvTDJUUCBzb2NrZXRz CgpbIFVwc3RyZWFtIGNvbW1pdCAzZDYwOTM0MmNjMDQxMjlmZjc1NjhlMTkzMTZjZTNkNzQ1MWEy N2U4IF0KCkNvbW1pdCBkMDJiYTJhNjExMGMgKCJsMnRwOiBmaXggcmFjZSBpbiBwcHBvbDJ0cF9y ZWxlYXNlIHdpdGggc2Vzc2lvbgpvYmplY3QgZGVzdHJveSIpIHRyaWVkIHRvIGZpeCBhIHJhY2Ug Y29uZGl0aW9uIHdoZXJlIGEgUFBQb0wyVFAgc29ja2V0CndvdWxkIGRpc2FwcGVhciB3aGlsZSB0 aGUgTDJUUCBzZXNzaW9uIHdhcyBzdGlsbCB1c2luZyBpdC4gSG93ZXZlciwgaXQKbWlzc2VkIHRo ZSByb290IGlzc3VlIHdoaWNoIGlzIHRoYXQgYW4gTDJUUCBzZXNzaW9uIG1heSBhY2NlcHQgdG8g YmUKcmVjb25uZWN0ZWQgaWYgaXRzIGFzc29jaWF0ZWQgc29ja2V0IGhhcyBlbnRlcmVkIHRoZSBy ZWxlYXNlIHByb2Nlc3MuCgpUaGUgdGVudGF0aXZlIGZpeCBtYWtlcyB0aGUgc2Vzc2lvbiBob2xk IHRoZSBzb2NrZXQgaXQgaXMgY29ubmVjdGVkIHRvLgpUaGF0IHNhdmVzIHRoZSBrZXJuZWwgZnJv bSBjcmFzaGluZywgYnV0IGludHJvZHVjZXMgcmVmY291bnQgbGVha2FnZSwKcHJldmVudGluZyB0 aGUgc29ja2V0IGZyb20gY29tcGxldGluZyB0aGUgcmVsZWFzZSBwcm9jZXNzLiBPbmNlIHN0YWxs ZWQsCmV2ZXJ5dGhpbmcgdGhlIHNvY2tldCBkZXBlbmRzIG9uIGNhbid0IGJlIHJlbGVhc2VkIGFu eW1vcmUsIGluY2x1ZGluZwp0aGUgTDJUUCBzZXNzaW9uIGFuZCB0aGUgbDJ0cF9wcHAgbW9kdWxl LgoKVGhlIHJvb3QgaXNzdWUgaXMgdGhhdCwgd2hlbiByZWxlYXNpbmcgYSBjb25uZWN0ZWQgUFBQ b0wyVFAgc29ja2V0LCB0aGUKc2Vzc2lvbidzIC0+c2sgcG9pbnRlciAoUkNVLXByb3RlY3RlZCkg aXMgcmVzZXQgdG8gTlVMTCBhbmQgd2UgaGF2ZSB0bwp3YWl0IGZvciBhIGdyYWNlIHBlcmlvZCBi ZWZvcmUgZGVzdHJveWluZyB0aGUgc29ja2V0LiBUaGUgc29ja2V0IGRyb3BzCnRoZSBzZXNzaW9u IGluIGl0cyAtPnNrX2Rlc3RydWN0IGNhbGxiYWNrIGZ1bmN0aW9uLCBzbyB0aGUgc2Vzc2lvbgp3 aWxsIGV4aXN0IHVudGlsIHRoZSBsYXN0IHJlZmVyZW5jZSBvbiB0aGUgc29ja2V0IGlzIGRyb3Bw ZWQuClRoZXJlZm9yZSwgdGhlcmUgaXMgYSB0aW1lIGZyYW1lIHdoZXJlIHBwcG9sMnRwX2Nvbm5l Y3QoKSBtYXkgYWNjZXB0CnJlY29ubmVjdGluZyBhIHNlc3Npb24sIGFzIGl0IG9ubHkgY2hlY2tz IC0+c2sgdG8gZmlndXJlIG91dCBpZiB0aGUKc2Vzc2lvbiBpcyBjb25uZWN0ZWQuIFRoaXMgdGlt ZSBmcmFtZSBpcyBzaG9ydGVuZWQgYnkgdGhlIGZhY3QgdGhhdApwcHBvbDJ0cF9yZWxlYXNlKCkg Y2FsbHMgbDJ0cF9zZXNzaW9uX2RlbGV0ZSgpLCBtYWtpbmcgdGhlIHNlc3Npb24KdW5yZWFjaGFi bGUgYmVmb3JlIHJlc2V0dGluZyAtPnNrLiBIb3dldmVyLCBwcHBvbDJ0cF9jb25uZWN0KCkgbWF5 CmdyYWIgdGhlIHNlc3Npb24gYmVmb3JlIGl0IGdldHMgdW5oYXNoZWQgYnkgbDJ0cF9zZXNzaW9u X2RlbGV0ZSgpLCBidXQKaXQgbWF5IHRlc3QgLT5zayBhZnRlciB0aGUgbGF0ZXIgZ290IHJlc2V0 LiBUaGUgcmFjZSBpcyBub3Qgc28gaGFyZCB0bwp0cmlnZ2VyIGFuZCBzeXpib3QgZm91bmQgYSBw cmV0dHkgcmVsaWFibGUgcmVwcm9kdWNlcjoKaHR0cHM6Ly9zeXprYWxsZXIuYXBwc3BvdC5jb20v YnVnP2lkPTQxODU3OGQyYTQzODkwNzQ1MjRlMDRkNjQxZWFjYjA5MTk2MWIyY2YKCkJlZm9yZSBk MDJiYTJhNjExMGMsIGFub3RoZXIgcmFjZSBjb3VsZCBsZXQgcHBwb2wydHBfcmVsZWFzZSgpCm92 ZXJ3cml0ZSB0aGUgLT5fX3NrIHBvaW50ZXIgb2YgYW4gTDJUUCBzZXNzaW9uLCB0aHVzIHRyaWNr aW5nCnBwcG9sMnRwX3B1dF9zaygpIGludG8gY2FsbGluZyBzb2NrX3B1dCgpIG9uIGEgc29ja2V0 IHRoYXQgaXMgZGlmZmVyZW50CnRoYW4gdGhlIG9uZSBmb3Igd2hpY2ggcHBwb2wydHBfcmVsZWFz ZSgpIHdhcyBvcmlnaW5hbGx5IGNhbGxlZC4gVG8gZ2V0CnRoZXJlLCB3ZSBoYWQgdG8gdHJpZ2dl ciB0aGUgcmFjZSBkZXNjcmliZWQgYWJvdmUsIHRoZXJlZm9yZSBoYXZpbmcgb25lClBQUG9MMlRQ IHNvY2tldCBiZWluZyByZWxlYXNlZCwgd2hpbGUgdGhlIHNlc3Npb24gaXQgaXMgY29ubmVjdGVk IHRvIGlzCnJlY29ubmVjdGluZyB0byBhIGRpZmZlcmVudCBQUFBvTDJUUCBzb2NrZXQuIFdoZW4g cmVsZWFzaW5nIHRoaXMgbmV3CnNvY2tldCBmYXN0IGVub3VnaCwgcHBwb2wydHBfcmVsZWFzZSgp IG92ZXJ3cml0ZXMgdGhlIHNlc3Npb24ncwotPl9fc2sgcG9pbnRlciB3aXRoIHRoZSBhZGRyZXNz IG9mIHRoZSBuZXcgc29ja2V0LCBiZWZvcmUgdGhlIGZpcnN0CnBwcG9sMnRwX3B1dF9zaygpIGNh bGwgZ2V0cyBzY2hlZHVsZWQuIFRoZW4gdGhlIHBwcG9sMnRwX3B1dF9zaygpIGNhbGwKaW52b2tl ZCBieSB0aGUgb3JpZ2luYWwgc29ja2V0IHdpbGwgc29ja19wdXQoKSB0aGUgbmV3IHNvY2tldCwK cG90ZW50aWFsbHkgZHJvcHBpbmcgaXRzIGxhc3QgcmVmZXJlbmNlLiBXaGVuIHRoZSBzZWNvbmQK cHBwb2wydHBfcHV0X3NrKCkgZmluYWxseSBydW5zLCBpdHMgc29ja2V0IGhhcyBhbHJlYWR5IGJl ZW4gZnJlZWQuCgpXaXRoIGQwMmJhMmE2MTEwYywgdGhlIHNlc3Npb24gdGFrZXMgYSByZWZlcmVu Y2Ugb24gYm90aCBzb2NrZXRzLgpGdXJ0aGVybW9yZSwgdGhlIHNlc3Npb24ncyAtPnNrIHBvaW50 ZXIgaXMgcmVzZXQgaW4gdGhlCnBwcG9sMnRwX3Nlc3Npb25fY2xvc2UoKSBjYWxsYmFjayBmdW5j dGlvbiByYXRoZXIgdGhhbiBpbgpwcHBvbDJ0cF9yZWxlYXNlKCkuIFRoZXJlZm9yZSwgLT5fX3Nr IGNhbid0IGJlIG92ZXJ3cml0dGVuIGFuZApwcHBvbDJ0cF9wdXRfc2soKSBpcyBjYWxsZWQgb25s eSBvbmNlIChsMnRwX3Nlc3Npb25fZGVsZXRlKCkgd2lsbCBvbmx5CnJ1biBwcHBvbDJ0cF9zZXNz aW9uX2Nsb3NlKCkgb25jZSwgdG8gcHJvdGVjdCB0aGUgc2Vzc2lvbiBhZ2FpbnN0CmNvbmN1cnJl bnQgZGVsZXRpb24gcmVxdWVzdHMpLiBOb3cgcHBwb2wydHBfcHV0X3NrKCkgd2lsbCBwcm9wZXJs eQpzb2NrX3B1dCgpIHRoZSBvcmlnaW5hbCBzb2NrZXQsIGJ1dCB0aGUgbmV3IHNvY2tldCB3aWxs IHJlbWFpbiwgYXMKbDJ0cF9zZXNzaW9uX2RlbGV0ZSgpIHByZXZlbnRlZCB0aGUgcmVsZWFzZSBw cm9jZXNzIGZyb20gY29tcGxldGluZy4KSGVyZSwgd2UgZG9uJ3QgZGVwZW5kIG9uIHRoZSAtPl9f c2sgcmFjZSB0byB0cmlnZ2VyIHRoZSBidWcuIEdldHRpbmcKaW50byB0aGUgcHBwb2wydHBfY29u bmVjdCgpIHJhY2UgaXMgZW5vdWdoIHRvIGxlYWsgdGhlIHJlZmVyZW5jZSwgbm8KbWF0dGVyIHdo ZW4gbmV3IHNvY2tldCBpcyByZWxlYXNlZC4KClNvIGl0IGFsbCBib2lscyBkb3duIHRvIHBwcG9s MnRwX2Nvbm5lY3QoKSBmYWlsaW5nIHRvIHJlYWxpc2UgdGhhdCB0aGUKc2Vzc2lvbiBoYXMgYWxy ZWFkeSBiZWVuIGNvbm5lY3RlZC4gVGhpcyBwYXRjaCBkcm9wcyB0aGUgdW5uZWVkZWQgZXh0cmEK cmVmZXJlbmNlIGNvdW50aW5nIChtb3N0bHkgcmV2ZXJ0aW5nIGQwMmJhMmE2MTEwYykgYW5kIGNo ZWNrcyB0aGF0Cm5laXRoZXIgLT5zayBub3IgLT5fX3NrIGlzIHNldCBiZWZvcmUgYWxsb3dpbmcg YSBzZXNzaW9uIHRvIGJlCmNvbm5lY3RlZC4KCkZpeGVzOiBkMDJiYTJhNjExMGMgKCJsMnRwOiBm aXggcmFjZSBpbiBwcHBvbDJ0cF9yZWxlYXNlIHdpdGggc2Vzc2lvbiBvYmplY3QgZGVzdHJveSIp ClNpZ25lZC1vZmYtYnk6IEd1aWxsYXVtZSBOYXVsdCA8Zy5uYXVsdEBhbHBoYWxpbmsuZnI+ClNp Z25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBu ZXQvbDJ0cC9sMnRwX3BwcC5jIHwgMzUgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9uZXQvbDJ0cC9sMnRwX3BwcC5jIGIvbmV0L2wydHAvbDJ0cF9wcHAuYwppbmRl eCAxZmQ5ZTE0NTA3NmEuLjQ2NmYxNzY0NjYyNSAxMDA2NDQKLS0tIGEvbmV0L2wydHAvbDJ0cF9w cHAuYworKysgYi9uZXQvbDJ0cC9sMnRwX3BwcC5jCkBAIC00MjgsMTYgKzQyOCw2IEBAIHN0YXRp YyB2b2lkIHBwcG9sMnRwX3B1dF9zayhzdHJ1Y3QgcmN1X2hlYWQgKmhlYWQpCiAgKi8KIHN0YXRp YyB2b2lkIHBwcG9sMnRwX3Nlc3Npb25fY2xvc2Uoc3RydWN0IGwydHBfc2Vzc2lvbiAqc2Vzc2lv bikKIHsKLQlzdHJ1Y3QgcHBwb2wydHBfc2Vzc2lvbiAqcHM7Ci0KLQlwcyA9IGwydHBfc2Vzc2lv bl9wcml2KHNlc3Npb24pOwotCW11dGV4X2xvY2soJnBzLT5za19sb2NrKTsKLQlwcy0+X19zayA9 IHJjdV9kZXJlZmVyZW5jZV9wcm90ZWN0ZWQocHMtPnNrLAotCQkJCQkgICAgIGxvY2tkZXBfaXNf aGVsZCgmcHMtPnNrX2xvY2spKTsKLQlSQ1VfSU5JVF9QT0lOVEVSKHBzLT5zaywgTlVMTCk7Ci0J aWYgKHBzLT5fX3NrKQotCQljYWxsX3JjdSgmcHMtPnJjdSwgcHBwb2wydHBfcHV0X3NrKTsKLQlt dXRleF91bmxvY2soJnBzLT5za19sb2NrKTsKIH0KIAogLyogUmVhbGx5IGtpbGwgdGhlIHNlc3Np b24gc29ja2V0LiAoQ2FsbGVkIGZyb20gc29ja19wdXQoKSBpZgpAQCAtNDgwLDE1ICs0NzAsMjQg QEAgc3RhdGljIGludCBwcHBvbDJ0cF9yZWxlYXNlKHN0cnVjdCBzb2NrZXQgKnNvY2spCiAJc29j a19vcnBoYW4oc2spOwogCXNvY2stPnNrID0gTlVMTDsKIAotCS8qIElmIHRoZSBzb2NrZXQgaXMg YXNzb2NpYXRlZCB3aXRoIGEgc2Vzc2lvbiwKLQkgKiBsMnRwX3Nlc3Npb25fZGVsZXRlIHdpbGwg Y2FsbCBwcHBvbDJ0cF9zZXNzaW9uX2Nsb3NlIHdoaWNoCi0JICogd2lsbCBkcm9wIHRoZSBzZXNz aW9uJ3MgcmVmIG9uIHRoZSBzb2NrZXQuCi0JICovCiAJc2Vzc2lvbiA9IHBwcG9sMnRwX3NvY2tf dG9fc2Vzc2lvbihzayk7CiAJaWYgKHNlc3Npb24pIHsKKwkJc3RydWN0IHBwcG9sMnRwX3Nlc3Np b24gKnBzOworCiAJCWwydHBfc2Vzc2lvbl9kZWxldGUoc2Vzc2lvbik7Ci0JCS8qIGRyb3AgdGhl IHJlZiBvYnRhaW5lZCBieSBwcHBvbDJ0cF9zb2NrX3RvX3Nlc3Npb24gKi8KLQkJc29ja19wdXQo c2spOworCisJCXBzID0gbDJ0cF9zZXNzaW9uX3ByaXYoc2Vzc2lvbik7CisJCW11dGV4X2xvY2so JnBzLT5za19sb2NrKTsKKwkJcHMtPl9fc2sgPSByY3VfZGVyZWZlcmVuY2VfcHJvdGVjdGVkKHBz LT5zaywKKwkJCQkJCSAgICAgbG9ja2RlcF9pc19oZWxkKCZwcy0+c2tfbG9jaykpOworCQlSQ1Vf SU5JVF9QT0lOVEVSKHBzLT5zaywgTlVMTCk7CisJCW11dGV4X3VubG9jaygmcHMtPnNrX2xvY2sp OworCQljYWxsX3JjdSgmcHMtPnJjdSwgcHBwb2wydHBfcHV0X3NrKTsKKworCQkvKiBSZWx5IG9u IHRoZSBzb2NrX3B1dCgpIGNhbGwgYXQgdGhlIGVuZCBvZiB0aGUgZnVuY3Rpb24gZm9yCisJCSAq IGRyb3BwaW5nIHRoZSByZWZlcmVuY2UgaGVsZCBieSBwcHBvbDJ0cF9zb2NrX3RvX3Nlc3Npb24o KS4KKwkJICogVGhlIGxhc3QgcmVmZXJlbmNlIHdpbGwgYmUgZHJvcHBlZCBieSBwcHBvbDJ0cF9w dXRfc2soKS4KKwkJICovCiAJfQogCiAJcmVsZWFzZV9zb2NrKHNrKTsKQEAgLTc0Miw3ICs3NDEs OCBAQCBzdGF0aWMgaW50IHBwcG9sMnRwX2Nvbm5lY3Qoc3RydWN0IHNvY2tldCAqc29jaywgc3Ry dWN0IHNvY2thZGRyICp1c2VydmFkZHIsCiAJCSAqLwogCQltdXRleF9sb2NrKCZwcy0+c2tfbG9j ayk7CiAJCWlmIChyY3VfZGVyZWZlcmVuY2VfcHJvdGVjdGVkKHBzLT5zaywKLQkJCQkJICAgICAg bG9ja2RlcF9pc19oZWxkKCZwcy0+c2tfbG9jaykpKSB7CisJCQkJCSAgICAgIGxvY2tkZXBfaXNf aGVsZCgmcHMtPnNrX2xvY2spKSB8fAorCQkgICAgcHMtPl9fc2spIHsKIAkJCW11dGV4X3VubG9j aygmcHMtPnNrX2xvY2spOwogCQkJZXJyb3IgPSAtRUVYSVNUOwogCQkJZ290byBlbmQ7CkBAIC04 MDMsNyArODAzLDYgQEAgc3RhdGljIGludCBwcHBvbDJ0cF9jb25uZWN0KHN0cnVjdCBzb2NrZXQg KnNvY2ssIHN0cnVjdCBzb2NrYWRkciAqdXNlcnZhZGRyLAogCiBvdXRfbm9fcHBwOgogCS8qIFRo aXMgaXMgaG93IHdlIGdldCB0aGUgc2Vzc2lvbiBjb250ZXh0IGZyb20gdGhlIHNvY2tldC4gKi8K LQlzb2NrX2hvbGQoc2spOwogCXNrLT5za191c2VyX2RhdGEgPSBzZXNzaW9uOwogCXJjdV9hc3Np Z25fcG9pbnRlcihwcy0+c2ssIHNrKTsKIAltdXRleF91bmxvY2soJnBzLT5za19sb2NrKTsKLS0g CjIuMTcuMQoKCkZyb20gNDg2YTE4N2EzZWVmMDM3OTNjMjU2NzBkODg4ZWUyMTUwMmEyOGRlOCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQ29uZyBXYW5nIDx4aXlvdS53YW5nY29uZ0Bn bWFpbC5jb20+CkRhdGU6IFR1ZSwgNSBKdW4gMjAxOCAwOTo0ODoxMyAtMDcwMApTdWJqZWN0OiBb UEFUQ0ggMDUvMTNdIG5ldGRldi1GQVE6IGNsYXJpZnkgRGF2ZU0ncyBwb3NpdGlvbiBmb3Igc3Rh YmxlCiBiYWNrcG9ydHMKClsgVXBzdHJlYW0gY29tbWl0IDc1ZDRlNzA0ZmE4ZDJjZjMzZmYyOTVl NWI0NDEzMTc2MDNkN2Y5ZmQgXQoKUGVyIGRpc2N1c3Npb24gd2l0aCBEYXZpZCBhdCBuZXRjb25m IDIwMTgsIGxldCdzIGNsYXJpZnkKRGF2ZU0ncyBwb3NpdGlvbiBvZiBoYW5kbGluZyBzdGFibGUg YmFja3BvcnRzIGluIG5ldGRldi1GQVEuCgpUaGlzIGlzIGltcG9ydGFudCBmb3IgcGVvcGxlIHJl bHlpbmcgb24gdXBzdHJlYW0gLXN0YWJsZQpyZWxlYXNlcy4KCkNjOiBHcmVnIEtyb2FoLUhhcnRt YW4gPGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3JnPgpTaWduZWQtb2ZmLWJ5OiBDb25nIFdhbmcg PHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVy IDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIERvY3VtZW50YXRpb24vbmV0d29ya2luZy9uZXRk ZXYtRkFRLnR4dCB8IDkgKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCsp CgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL25ldGRldi1GQVEudHh0IGIv RG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL25ldGRldi1GQVEudHh0CmluZGV4IDJhMzI3OGQ1Y2Yz NS4uZmE5NTFiODIwYjI1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvbmV0 ZGV2LUZBUS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL25ldGRldi1GQVEudHh0 CkBAIC0xNzksNiArMTc5LDE1IEBAIEE6IE5vLiAgU2VlIGFib3ZlIGFuc3dlci4gIEluIHNob3J0 LCBpZiB5b3UgdGhpbmsgaXQgcmVhbGx5IGJlbG9uZ3MgaW4KICAgIGRhc2ggbWFya2VyIGxpbmUg YXMgZGVzY3JpYmVkIGluIERvY3VtZW50YXRpb24vcHJvY2Vzcy9zdWJtaXR0aW5nLXBhdGNoZXMu cnN0IHRvCiAgICB0ZW1wb3JhcmlseSBlbWJlZCB0aGF0IGluZm9ybWF0aW9uIGludG8gdGhlIHBh dGNoIHRoYXQgeW91IHNlbmQuCiAKK1E6IEFyZSBhbGwgbmV0d29ya2luZyBidWcgZml4ZXMgYmFj a3BvcnRlZCB0byBhbGwgc3RhYmxlIHJlbGVhc2VzPworCitBOiBEdWUgdG8gY2FwYWNpdHksIERh dmUgY291bGQgb25seSB0YWtlIGNhcmUgb2YgdGhlIGJhY2twb3J0cyBmb3IgdGhlIGxhc3QKKyAg IDIgc3RhYmxlIHJlbGVhc2VzLiBGb3IgZWFybGllciBzdGFibGUgcmVsZWFzZXMsIGVhY2ggc3Rh YmxlIGJyYW5jaCBtYWludGFpbmVyCisgICBpcyBzdXBwb3NlZCB0byB0YWtlIGNhcmUgb2YgdGhl bS4gSWYgeW91IGZpbmQgYW55IHBhdGNoIGlzIG1pc3NpbmcgZnJvbSBhbgorICAgZWFybGllciBz dGFibGUgYnJhbmNoLCBwbGVhc2Ugbm90aWZ5IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcgd2l0aCBl aXRoZXIgYQorICAgY29tbWl0IElEIG9yIGEgZm9ybWFsIHBhdGNoIGJhY2twb3J0ZWQsIGFuZCBD QyBEYXZlIGFuZCBvdGhlciByZWxldmFudAorICAgbmV0d29ya2luZyBkZXZlbG9wZXJzLgorCiBR OiBTb21lb25lIHNhaWQgdGhhdCB0aGUgY29tbWVudCBzdHlsZSBhbmQgY29kaW5nIGNvbnZlbnRp b24gaXMgZGlmZmVyZW50CiAgICBmb3IgdGhlIG5ldHdvcmtpbmcgY29udGVudC4gIElzIHRoaXMg dHJ1ZT8KIAotLSAKMi4xNy4xCgoKRnJvbSBkNDQwMDgxOGRjMzFmMjFkYTIxOTUzOTQ3ZGQ3MGFh N2ZjNjZmZDQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVk dW1hemV0QGdvb2dsZS5jb20+CkRhdGU6IFR1ZSwgNSBKdW4gMjAxOCAwNjowNjoxOSAtMDcwMApT dWJqZWN0OiBbUEFUQ0ggMDYvMTNdIG5ldDogbWV0cmljczogYWRkIHByb3BlciBuZXRsaW5rIHZh bGlkYXRpb24KClsgVXBzdHJlYW0gY29tbWl0IDViNWU3YTBkZTJiYmYyYTFhZmNkOWY0OWU5NDAw MTBlOWZiODBkNTMgXQoKQmVmb3JlIHVzaW5nIG5sYV9nZXRfdTMyKCksIGJldHRlciBtYWtlIHN1 cmUgdGhlIGF0dHJpYnV0ZQppcyBvZiB0aGUgcHJvcGVyIHNpemUuCgpDb2RlIHJlY2VudGx5IHdh cyBjaGFuZ2VkLCBidXQgYnVnIGhhcyBiZWVuIHRoZXJlIGZyb20gYmVnaW5uaW5nCm9mIGdpdC4K CkJVRzogS01TQU46IHVuaW5pdC12YWx1ZSBpbiBydG5ldGxpbmtfcHV0X21ldHJpY3MrMHg1NTMv MHg5NjAgbmV0L2NvcmUvcnRuZXRsaW5rLmM6NzQ2CkNQVTogMSBQSUQ6IDE0MTM5IENvbW06IHN5 ei1leGVjdXRvcjYgTm90IHRhaW50ZWQgNC4xNy4wLXJjNSsgIzEwMwpIYXJkd2FyZSBuYW1lOiBH b29nbGUgR29vZ2xlIENvbXB1dGUgRW5naW5lL0dvb2dsZSBDb21wdXRlIEVuZ2luZSwgQklPUyBH b29nbGUgMDEvMDEvMjAxMQpDYWxsIFRyYWNlOgogX19kdW1wX3N0YWNrIGxpYi9kdW1wX3N0YWNr LmM6NzcgW2lubGluZV0KIGR1bXBfc3RhY2srMHgxODUvMHgxZDAgbGliL2R1bXBfc3RhY2suYzox MTMKIGttc2FuX3JlcG9ydCsweDE0OS8weDI2MCBtbS9rbXNhbi9rbXNhbi5jOjEwODQKIF9fbXNh bl93YXJuaW5nXzMyKzB4NmUvMHhjMCBtbS9rbXNhbi9rbXNhbl9pbnN0ci5jOjY4NgogcnRuZXRs aW5rX3B1dF9tZXRyaWNzKzB4NTUzLzB4OTYwIG5ldC9jb3JlL3J0bmV0bGluay5jOjc0NgogZmli X2R1bXBfaW5mbysweGM0Mi8weDIxOTAgbmV0L2lwdjQvZmliX3NlbWFudGljcy5jOjEzNjEKIHJ0 bXNnX2ZpYisweDY1Zi8weDhjMCBuZXQvaXB2NC9maWJfc2VtYW50aWNzLmM6NDE5CiBmaWJfdGFi bGVfaW5zZXJ0KzB4MjMxNC8weDJiNTAgbmV0L2lwdjQvZmliX3RyaWUuYzoxMjg3CiBpbmV0X3J0 bV9uZXdyb3V0ZSsweDIxMC8weDM0MCBuZXQvaXB2NC9maWJfZnJvbnRlbmQuYzo3NzkKIHJ0bmV0 bGlua19yY3ZfbXNnKzB4YTMyLzB4MTU2MCBuZXQvY29yZS9ydG5ldGxpbmsuYzo0NjQ2CiBuZXRs aW5rX3Jjdl9za2IrMHgzNzgvMHg2MDAgbmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjI0NDgKIHJ0 bmV0bGlua19yY3YrMHg1MC8weDYwIG5ldC9jb3JlL3J0bmV0bGluay5jOjQ2NjQKIG5ldGxpbmtf dW5pY2FzdF9rZXJuZWwgbmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjEzMTAgW2lubGluZV0KIG5l dGxpbmtfdW5pY2FzdCsweDE2NzgvMHgxNzUwIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsuYzoxMzM2 CiBuZXRsaW5rX3NlbmRtc2crMHgxMDRmLzB4MTM1MCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6 MTkwMQogc29ja19zZW5kbXNnX25vc2VjIG5ldC9zb2NrZXQuYzo2MjkgW2lubGluZV0KIHNvY2tf c2VuZG1zZyBuZXQvc29ja2V0LmM6NjM5IFtpbmxpbmVdCiBfX19zeXNfc2VuZG1zZysweGVjMC8w eDEzMTAgbmV0L3NvY2tldC5jOjIxMTcKIF9fc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5jOjIxNTUg W2lubGluZV0KIF9fZG9fc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5jOjIxNjQgW2lubGluZV0KIF9f c2Vfc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5jOjIxNjIgW2lubGluZV0KIF9feDY0X3N5c19zZW5k bXNnKzB4MzMxLzB4NDYwIG5ldC9zb2NrZXQuYzoyMTYyCiBkb19zeXNjYWxsXzY0KzB4MTUyLzB4 MjMwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI4NwogZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9o d2ZyYW1lKzB4NDQvMHhhOQpSSVA6IDAwMzM6MHg0NTVhMDkKUlNQOiAwMDJiOjAwMDA3ZmFhZTVm ZDhjNjggRUZMQUdTOiAwMDAwMDI0NiBPUklHX1JBWDogMDAwMDAwMDAwMDAwMDAyZQpSQVg6IGZm ZmZmZmZmZmZmZmZmZGEgUkJYOiAwMDAwN2ZhYWU1ZmQ5NmQ0IFJDWDogMDAwMDAwMDAwMDQ1NWEw OQpSRFg6IDAwMDAwMDAwMDAwMDAwMDAgUlNJOiAwMDAwMDAwMDIwMDAwMDAwIFJESTogMDAwMDAw MDAwMDAwMDAxMwpSQlA6IDAwMDAwMDAwMDA3MmJlYTAgUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIw OTogMDAwMDAwMDAwMDAwMDAwMApSMTA6IDAwMDAwMDAwMDAwMDAwMDAgUjExOiAwMDAwMDAwMDAw MDAwMjQ2IFIxMjogMDAwMDAwMDBmZmZmZmZmZgpSMTM6IDAwMDAwMDAwMDAwMDA1ZDAgUjE0OiAw MDAwMDAwMDAwNmZkYzIwIFIxNTogMDAwMDAwMDAwMDAwMDAwMAoKVW5pbml0IHdhcyBzdG9yZWQg dG8gbWVtb3J5IGF0Ogoga21zYW5fc2F2ZV9zdGFja193aXRoX2ZsYWdzIG1tL2ttc2FuL2ttc2Fu LmM6Mjc5IFtpbmxpbmVdCiBrbXNhbl9zYXZlX3N0YWNrIG1tL2ttc2FuL2ttc2FuLmM6Mjk0IFtp bmxpbmVdCiBrbXNhbl9pbnRlcm5hbF9jaGFpbl9vcmlnaW4rMHgxMmIvMHgyMTAgbW0va21zYW4v a21zYW4uYzo2ODUKIF9fbXNhbl9jaGFpbl9vcmlnaW4rMHg2OS8weGMwIG1tL2ttc2FuL2ttc2Fu X2luc3RyLmM6NTI5CiBmaWJfY29udmVydF9tZXRyaWNzIG5ldC9pcHY0L2ZpYl9zZW1hbnRpY3Mu YzoxMDU2IFtpbmxpbmVdCiBmaWJfY3JlYXRlX2luZm8rMHgyZDQ2LzB4OWRjMCBuZXQvaXB2NC9m aWJfc2VtYW50aWNzLmM6MTE1MAogZmliX3RhYmxlX2luc2VydCsweDNlNC8weDJiNTAgbmV0L2lw djQvZmliX3RyaWUuYzoxMTQ2CiBpbmV0X3J0bV9uZXdyb3V0ZSsweDIxMC8weDM0MCBuZXQvaXB2 NC9maWJfZnJvbnRlbmQuYzo3NzkKIHJ0bmV0bGlua19yY3ZfbXNnKzB4YTMyLzB4MTU2MCBuZXQv Y29yZS9ydG5ldGxpbmsuYzo0NjQ2CiBuZXRsaW5rX3Jjdl9za2IrMHgzNzgvMHg2MDAgbmV0L25l dGxpbmsvYWZfbmV0bGluay5jOjI0NDgKIHJ0bmV0bGlua19yY3YrMHg1MC8weDYwIG5ldC9jb3Jl L3J0bmV0bGluay5jOjQ2NjQKIG5ldGxpbmtfdW5pY2FzdF9rZXJuZWwgbmV0L25ldGxpbmsvYWZf bmV0bGluay5jOjEzMTAgW2lubGluZV0KIG5ldGxpbmtfdW5pY2FzdCsweDE2NzgvMHgxNzUwIG5l dC9uZXRsaW5rL2FmX25ldGxpbmsuYzoxMzM2CiBuZXRsaW5rX3NlbmRtc2crMHgxMDRmLzB4MTM1 MCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MTkwMQogc29ja19zZW5kbXNnX25vc2VjIG5ldC9z b2NrZXQuYzo2MjkgW2lubGluZV0KIHNvY2tfc2VuZG1zZyBuZXQvc29ja2V0LmM6NjM5IFtpbmxp bmVdCiBfX19zeXNfc2VuZG1zZysweGVjMC8weDEzMTAgbmV0L3NvY2tldC5jOjIxMTcKIF9fc3lz X3NlbmRtc2cgbmV0L3NvY2tldC5jOjIxNTUgW2lubGluZV0KIF9fZG9fc3lzX3NlbmRtc2cgbmV0 L3NvY2tldC5jOjIxNjQgW2lubGluZV0KIF9fc2Vfc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5jOjIx NjIgW2lubGluZV0KIF9feDY0X3N5c19zZW5kbXNnKzB4MzMxLzB4NDYwIG5ldC9zb2NrZXQuYzoy MTYyCiBkb19zeXNjYWxsXzY0KzB4MTUyLzB4MjMwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI4 NwogZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDQvMHhhOQpVbmluaXQgd2FzIGNy ZWF0ZWQgYXQ6CiBrbXNhbl9zYXZlX3N0YWNrX3dpdGhfZmxhZ3MgbW0va21zYW4va21zYW4uYzoy NzkgW2lubGluZV0KIGttc2FuX2ludGVybmFsX3BvaXNvbl9zaGFkb3crMHhiOC8weDFiMCBtbS9r bXNhbi9rbXNhbi5jOjE4OQoga21zYW5fa21hbGxvYysweDk0LzB4MTAwIG1tL2ttc2FuL2ttc2Fu LmM6MzE1CiBrbXNhbl9zbGFiX2FsbG9jKzB4MTAvMHgyMCBtbS9rbXNhbi9rbXNhbi5jOjMyMgog c2xhYl9wb3N0X2FsbG9jX2hvb2sgbW0vc2xhYi5oOjQ0NiBbaW5saW5lXQogc2xhYl9hbGxvY19u b2RlIG1tL3NsdWIuYzoyNzUzIFtpbmxpbmVdCiBfX2ttYWxsb2Nfbm9kZV90cmFja19jYWxsZXIr MHhiMzIvMHgxMWIwIG1tL3NsdWIuYzo0Mzk1CiBfX2ttYWxsb2NfcmVzZXJ2ZSBuZXQvY29yZS9z a2J1ZmYuYzoxMzggW2lubGluZV0KIF9fYWxsb2Nfc2tiKzB4MmNiLzB4OWUwIG5ldC9jb3JlL3Nr YnVmZi5jOjIwNgogYWxsb2Nfc2tiIGluY2x1ZGUvbGludXgvc2tidWZmLmg6OTg4IFtpbmxpbmVd CiBuZXRsaW5rX2FsbG9jX2xhcmdlX3NrYiBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MTE4MiBb aW5saW5lXQogbmV0bGlua19zZW5kbXNnKzB4NzZlLzB4MTM1MCBuZXQvbmV0bGluay9hZl9uZXRs aW5rLmM6MTg3Ngogc29ja19zZW5kbXNnX25vc2VjIG5ldC9zb2NrZXQuYzo2MjkgW2lubGluZV0K IHNvY2tfc2VuZG1zZyBuZXQvc29ja2V0LmM6NjM5IFtpbmxpbmVdCiBfX19zeXNfc2VuZG1zZysw eGVjMC8weDEzMTAgbmV0L3NvY2tldC5jOjIxMTcKIF9fc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5j OjIxNTUgW2lubGluZV0KIF9fZG9fc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5jOjIxNjQgW2lubGlu ZV0KIF9fc2Vfc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5jOjIxNjIgW2lubGluZV0KIF9feDY0X3N5 c19zZW5kbXNnKzB4MzMxLzB4NDYwIG5ldC9zb2NrZXQuYzoyMTYyCiBkb19zeXNjYWxsXzY0KzB4 MTUyLzB4MjMwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI4NwogZW50cnlfU1lTQ0FMTF82NF9h ZnRlcl9od2ZyYW1lKzB4NDQvMHhhOQoKRml4ZXM6IGE5MTk1MjVhZDgzMiAoIm5ldDogTW92ZSBm aWJfY29udmVydF9tZXRyaWNzIHRvIG1ldHJpY3MgZmlsZSIpCkZpeGVzOiAxZGExNzdlNGMzZjQg KCJMaW51eC0yLjYuMTItcmMyIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpl dEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBz LmNvbT4KQ2M6IERhdmlkIEFoZXJuIDxkc2FoZXJuQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY0L2ZpYl9z ZW1hbnRpY3MuYyB8IDQgKysrKwogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQoKZGlm ZiAtLWdpdCBhL25ldC9pcHY0L2ZpYl9zZW1hbnRpY3MuYyBiL25ldC9pcHY0L2ZpYl9zZW1hbnRp Y3MuYwppbmRleCBjMjcxMjJmMDFiODcuLmNmYWUxNzMzNTcwNSAxMDA2NDQKLS0tIGEvbmV0L2lw djQvZmliX3NlbWFudGljcy5jCisrKyBiL25ldC9pcHY0L2ZpYl9zZW1hbnRpY3MuYwpAQCAtNzE3 LDYgKzcxNyw4IEBAIGJvb2wgZmliX21ldHJpY3NfbWF0Y2goc3RydWN0IGZpYl9jb25maWcgKmNm Zywgc3RydWN0IGZpYl9pbmZvICpmaSkKIAkJCW5sYV9zdHJsY3B5KHRtcCwgbmxhLCBzaXplb2Yo dG1wKSk7CiAJCQl2YWwgPSB0Y3BfY2FfZ2V0X2tleV9ieV9uYW1lKGZpLT5maWJfbmV0LCB0bXAs ICZlY25fY2EpOwogCQl9IGVsc2UgeworCQkJaWYgKG5sYV9sZW4obmxhKSAhPSBzaXplb2YodTMy KSkKKwkJCQlyZXR1cm4gZmFsc2U7CiAJCQl2YWwgPSBubGFfZ2V0X3UzMihubGEpOwogCQl9CiAK QEAgLTEwNDMsNiArMTA0NSw4IEBAIGZpYl9jb252ZXJ0X21ldHJpY3Moc3RydWN0IGZpYl9pbmZv ICpmaSwgY29uc3Qgc3RydWN0IGZpYl9jb25maWcgKmNmZykKIAkJCWlmICh2YWwgPT0gVENQX0NB X1VOU1BFQykKIAkJCQlyZXR1cm4gLUVJTlZBTDsKIAkJfSBlbHNlIHsKKwkJCWlmIChubGFfbGVu KG5sYSkgIT0gc2l6ZW9mKHUzMikpCisJCQkJcmV0dXJuIC1FSU5WQUw7CiAJCQl2YWwgPSBubGFf Z2V0X3UzMihubGEpOwogCQl9CiAJCWlmICh0eXBlID09IFJUQVhfQURWTVNTICYmIHZhbCA+IDY1 NTM1IC0gNDApCi0tIAoyLjE3LjEKCgpGcm9tIDE0NzY4YTJiYjk1MjIxMzkwODQ3YzcyOTJmOGRl MjA4NjhkZjQyOTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8 ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogRnJpLCAxIEp1biAyMDE4IDA5OjIzOjAyIC0wNzAw ClN1YmplY3Q6IFtQQVRDSCAwNy8xM10gbmV0L3BhY2tldDogcmVmaW5lIGNoZWNrIGZvciBwcml2 IGFyZWEgc2l6ZQoKWyBVcHN0cmVhbSBjb21taXQgZWI3MzE5MGY0ZmJlZWRmNzYyMzk0ZTkyZDZh NGVjOWFjZTY4NGM4OCBdCgpzeXpib3Qgd2FzIGFibGUgdG8gdHJpY2sgYWZfcGFja2V0IGFnYWlu IFsxXQoKVmFyaW91cyBjb21taXRzIHRyaWVkIHRvIGFkZHJlc3MgdGhlIHByb2JsZW0gaW4gdGhl IHBhc3QsCmJ1dCBmYWlsZWQgdG8gdGFrZSBpbnRvIGFjY291bnQgVjMgaGVhZGVyIHNpemUuCgpb MV0KCnRwYWNrZXRfcmN2OiBwYWNrZXQgdG9vIGJpZywgY2xhbXBlZCBmcm9tIDcyIHRvIDQyOTQ5 NjcyMjQuIG1hY29mZj05NgpCVUc6IEtBU0FOOiB1c2UtYWZ0ZXItZnJlZSBpbiBwcmJfcnVuX2Fs bF9mdF9vcHMgbmV0L3BhY2tldC9hZl9wYWNrZXQuYzoxMDE2IFtpbmxpbmVdCkJVRzogS0FTQU46 IHVzZS1hZnRlci1mcmVlIGluIHByYl9maWxsX2N1cnJfYmxvY2suaXNyYS41OSsweDRlNS8weDVj MCBuZXQvcGFja2V0L2FmX3BhY2tldC5jOjEwMzkKV3JpdGUgb2Ygc2l6ZSAyIGF0IGFkZHIgZmZm Zjg4MDFjYjYyMDAwZSBieSB0YXNrIGt3b3JrZXIvMToyLzIxMDYKCkNQVTogMSBQSUQ6IDIxMDYg Q29tbToga3dvcmtlci8xOjIgTm90IHRhaW50ZWQgNC4xNy4wLXJjNysgIzc3CkhhcmR3YXJlIG5h bWU6IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBFbmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5lLCBC SU9TIEdvb2dsZSAwMS8wMS8yMDExCldvcmtxdWV1ZTogaXB2Nl9hZGRyY29uZiBhZGRyY29uZl9k YWRfd29yawpDYWxsIFRyYWNlOgogX19kdW1wX3N0YWNrIGxpYi9kdW1wX3N0YWNrLmM6NzcgW2lu bGluZV0KIGR1bXBfc3RhY2srMHgxYjkvMHgyOTQgbGliL2R1bXBfc3RhY2suYzoxMTMKIHByaW50 X2FkZHJlc3NfZGVzY3JpcHRpb24rMHg2Yy8weDIwYiBtbS9rYXNhbi9yZXBvcnQuYzoyNTYKIGth c2FuX3JlcG9ydF9lcnJvciBtbS9rYXNhbi9yZXBvcnQuYzozNTQgW2lubGluZV0KIGthc2FuX3Jl cG9ydC5jb2xkLjcrMHgyNDIvMHgyZmUgbW0va2FzYW4vcmVwb3J0LmM6NDEyCiBfX2FzYW5fcmVw b3J0X3N0b3JlMl9ub2Fib3J0KzB4MTcvMHgyMCBtbS9rYXNhbi9yZXBvcnQuYzo0MzYKIHByYl9y dW5fYWxsX2Z0X29wcyBuZXQvcGFja2V0L2FmX3BhY2tldC5jOjEwMTYgW2lubGluZV0KIHByYl9m aWxsX2N1cnJfYmxvY2suaXNyYS41OSsweDRlNS8weDVjMCBuZXQvcGFja2V0L2FmX3BhY2tldC5j OjEwMzkKIF9fcGFja2V0X2xvb2t1cF9mcmFtZV9pbl9ibG9jayBuZXQvcGFja2V0L2FmX3BhY2tl dC5jOjEwOTQgW2lubGluZV0KIHBhY2tldF9jdXJyZW50X3J4X2ZyYW1lIG5ldC9wYWNrZXQvYWZf cGFja2V0LmM6MTExNyBbaW5saW5lXQogdHBhY2tldF9yY3YrMHgxODY2LzB4MzM0MCBuZXQvcGFj a2V0L2FmX3BhY2tldC5jOjIyODIKIGRldl9xdWV1ZV94bWl0X25pdCsweDg5MS8weGI5MCBuZXQv Y29yZS9kZXYuYzoyMDE4CiB4bWl0X29uZSBuZXQvY29yZS9kZXYuYzozMDQ5IFtpbmxpbmVdCiBk ZXZfaGFyZF9zdGFydF94bWl0KzB4MTZiLzB4YzEwIG5ldC9jb3JlL2Rldi5jOjMwNjkKIF9fZGV2 X3F1ZXVlX3htaXQrMHgyNzI0LzB4MzRjMCBuZXQvY29yZS9kZXYuYzozNTg0CiBkZXZfcXVldWVf eG1pdCsweDE3LzB4MjAgbmV0L2NvcmUvZGV2LmM6MzYxNwogbmVpZ2hfcmVzb2x2ZV9vdXRwdXQr MHg2NzkvMHhhZDAgbmV0L2NvcmUvbmVpZ2hib3VyLmM6MTM1OAogbmVpZ2hfb3V0cHV0IGluY2x1 ZGUvbmV0L25laWdoYm91ci5oOjQ4MiBbaW5saW5lXQogaXA2X2ZpbmlzaF9vdXRwdXQyKzB4Yzlj LzB4MjgxMCBuZXQvaXB2Ni9pcDZfb3V0cHV0LmM6MTIwCiBpcDZfZmluaXNoX291dHB1dCsweDVm ZS8weGJjMCBuZXQvaXB2Ni9pcDZfb3V0cHV0LmM6MTU0CiBORl9IT09LX0NPTkQgaW5jbHVkZS9s aW51eC9uZXRmaWx0ZXIuaDoyNzcgW2lubGluZV0KIGlwNl9vdXRwdXQrMHgyMjcvMHg5YjAgbmV0 L2lwdjYvaXA2X291dHB1dC5jOjE3MQogZHN0X291dHB1dCBpbmNsdWRlL25ldC9kc3QuaDo0NDQg W2lubGluZV0KIE5GX0hPT0sgaW5jbHVkZS9saW51eC9uZXRmaWx0ZXIuaDoyODggW2lubGluZV0K IG5kaXNjX3NlbmRfc2tiKzB4MTAwZC8weDE1NzAgbmV0L2lwdjYvbmRpc2MuYzo0OTEKIG5kaXNj X3NlbmRfbnMrMHgzYzEvMHg4ZDAgbmV0L2lwdjYvbmRpc2MuYzo2MzMKIGFkZHJjb25mX2RhZF93 b3JrKzB4YmVmLzB4MTM0MCBuZXQvaXB2Ni9hZGRyY29uZi5jOjQwMzMKIHByb2Nlc3Nfb25lX3dv cmsrMHhjMWUvMHgxYjUwIGtlcm5lbC93b3JrcXVldWUuYzoyMTQ1CiB3b3JrZXJfdGhyZWFkKzB4 MWNjLzB4MTQ0MCBrZXJuZWwvd29ya3F1ZXVlLmM6MjI3OQoga3RocmVhZCsweDM0NS8weDQxMCBr ZXJuZWwva3RocmVhZC5jOjI0MAogcmV0X2Zyb21fZm9yaysweDNhLzB4NTAgYXJjaC94ODYvZW50 cnkvZW50cnlfNjQuUzo0MTIKClRoZSBidWdneSBhZGRyZXNzIGJlbG9uZ3MgdG8gdGhlIHBhZ2U6 CnBhZ2U6ZmZmZmVhMDAwNzJkODgwMCBjb3VudDowIG1hcGNvdW50Oi0xMjcgbWFwcGluZzowMDAw MDAwMDAwMDAwMDAwIGluZGV4OjB4ZmZmZjg4MDFjYjYyMGU4MApmbGFnczogMHgyZmZmYzAwMDAw MDAwMDAoKQpyYXc6IDAyZmZmYzAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMCBmZmZmODgwMWNi NjIwZTgwIDAwMDAwMDAwZmZmZmZmODAKcmF3OiBmZmZmZWEwMDA3MmUzODIwIGZmZmZlYTAwMDcx MzJkMjAgMDAwMDAwMDAwMDAwMDAwMiAwMDAwMDAwMDAwMDAwMDAwCnBhZ2UgZHVtcGVkIGJlY2F1 c2U6IGthc2FuOiBiYWQgYWNjZXNzIGRldGVjdGVkCgpNZW1vcnkgc3RhdGUgYXJvdW5kIHRoZSBi dWdneSBhZGRyZXNzOgogZmZmZjg4MDFjYjYxZmYwMDogMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAg MDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKIGZmZmY4ODAxY2I2MWZmODA6IDAwIDAwIDAwIDAwIDAw IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCj5mZmZmODgwMWNiNjIwMDAwOiBmZiBm ZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZgogICAgICAgICAgICAg ICAgICAgICAgXgogZmZmZjg4MDFjYjYyMDA4MDogZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYg ZmYgZmYgZmYgZmYgZmYgZmYgZmYKIGZmZmY4ODAxY2I2MjAxMDA6IGZmIGZmIGZmIGZmIGZmIGZm IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmCgpGaXhlczogMmI2ODY3YzJjZTc2ICgibmV0 L3BhY2tldDogZml4IG92ZXJmbG93IGluIGNoZWNrIGZvciBwcml2IGFyZWEgc2l6ZSIpCkZpeGVz OiBkYzgwODExMGJiNjIgKCJwYWNrZXQ6IGhhbmRsZSB0b28gYmlnIHBhY2tldHMgZm9yIFBBQ0tF VF9WMyIpCkZpeGVzOiBmNmZiOGYxMDBiODAgKCJhZi1wYWNrZXQ6IFRQQUNLRVRfVjMgZmxleGli bGUgYnVmZmVyIGltcGxlbWVudGF0aW9uLiIpClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8 ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KUmVwb3J0ZWQtYnk6IHN5emJvdCA8c3l6a2FsbGVyQGdvb2ds ZWdyb3Vwcy5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBuZXQvcGFja2V0L2FmX3BhY2tldC5jIHwgMiArLQogMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3BhY2tl dC9hZl9wYWNrZXQuYyBiL25ldC9wYWNrZXQvYWZfcGFja2V0LmMKaW5kZXggYWNiN2I4NjU3NGNk Li42MGMyYTI1MmJkZjUgMTAwNjQ0Ci0tLSBhL25ldC9wYWNrZXQvYWZfcGFja2V0LmMKKysrIGIv bmV0L3BhY2tldC9hZl9wYWNrZXQuYwpAQCAtNDI4Miw3ICs0MjgyLDcgQEAgc3RhdGljIGludCBw YWNrZXRfc2V0X3Jpbmcoc3RydWN0IHNvY2sgKnNrLCB1bmlvbiB0cGFja2V0X3JlcV91ICpyZXFf dSwKIAkJCWdvdG8gb3V0OwogCQlpZiAocG8tPnRwX3ZlcnNpb24gPj0gVFBBQ0tFVF9WMyAmJgog CQkgICAgcmVxLT50cF9ibG9ja19zaXplIDw9Ci0JCQkgIEJMS19QTFVTX1BSSVYoKHU2NClyZXFf dS0+cmVxMy50cF9zaXplb2ZfcHJpdikpCisJCSAgICBCTEtfUExVU19QUklWKCh1NjQpcmVxX3Ut PnJlcTMudHBfc2l6ZW9mX3ByaXYpICsgc2l6ZW9mKHN0cnVjdCB0cGFja2V0M19oZHIpKQogCQkJ Z290byBvdXQ7CiAJCWlmICh1bmxpa2VseShyZXEtPnRwX2ZyYW1lX3NpemUgPCBwby0+dHBfaGRy bGVuICsKIAkJCQkJcG8tPnRwX3Jlc2VydmUpKQotLSAKMi4xNy4xCgoKRnJvbSBiZDlkNTRlNGEy ODAxZGQwOGQ1YzNjMTUxNzQxNWRmZmNiNWYxMWQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6IFR1ZSwgNSBKdW4g MjAxOCAwOToyNToxOSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMTNdIHJ0bmV0bGluazogdmFs aWRhdGUgYXR0cmlidXRlcyBpbiBkb19zZXRsaW5rKCkKClsgVXBzdHJlYW0gY29tbWl0IDY0NGM3 ZWViYmZkNTllNzI5ODJkMTFlYzZjYzdkMzlhZjEyNDUwYWUgXQoKSXQgc2VlbXMgdGhhdCBydG5s X2dyb3VwX2NoYW5nZWxpbmsoKSBjYW4gY2FsbCBkb19zZXRsaW5rCndoaWxlIGEgcHJpb3IgY2Fs bCB0byB2YWxpZGF0ZV9saW5rbXNnKGRldiA9IE5VTEwsIC4uLikgY291bGQKbm90IHZhbGlkYXRl IElGTEFfQUREUkVTUyAvIElGTEFfQlJPQURDQVNUCgpNYWtlIHN1cmUgZG9fc2V0bGluaygpIGNh bGxzIHZhbGlkYXRlX2xpbmttc2coKSBpbnN0ZWFkCm9mIGxldHRpbmcgaXRzIGNhbGxlcnMgaGF2 aW5nIHRoaXMgcmVzcG9uc2liaWxpdHkuCgpXaXRoIGhlbHAgZnJvbSBEbWl0cnkgVnl1a292LCB0 aGFua3MgYSBsb3QgIQoKQlVHOiBLTVNBTjogdW5pbml0LXZhbHVlIGluIGlzX3ZhbGlkX2V0aGVy X2FkZHIgaW5jbHVkZS9saW51eC9ldGhlcmRldmljZS5oOjE5OSBbaW5saW5lXQpCVUc6IEtNU0FO OiB1bmluaXQtdmFsdWUgaW4gZXRoX3ByZXBhcmVfbWFjX2FkZHJfY2hhbmdlIG5ldC9ldGhlcm5l dC9ldGguYzoyNzUgW2lubGluZV0KQlVHOiBLTVNBTjogdW5pbml0LXZhbHVlIGluIGV0aF9tYWNf YWRkcisweDIwMy8weDJiMCBuZXQvZXRoZXJuZXQvZXRoLmM6MzA4CkNQVTogMSBQSUQ6IDg2OTUg Q29tbTogc3l6LWV4ZWN1dG9yMyBOb3QgdGFpbnRlZCA0LjE3LjAtcmM1KyAjMTAzCkhhcmR3YXJl IG5hbWU6IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBFbmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5l LCBCSU9TIEdvb2dsZSAwMS8wMS8yMDExCkNhbGwgVHJhY2U6CiBfX2R1bXBfc3RhY2sgbGliL2R1 bXBfc3RhY2suYzo3NyBbaW5saW5lXQogZHVtcF9zdGFjaysweDE4NS8weDFkMCBsaWIvZHVtcF9z dGFjay5jOjExMwoga21zYW5fcmVwb3J0KzB4MTQ5LzB4MjYwIG1tL2ttc2FuL2ttc2FuLmM6MTA4 NAogX19tc2FuX3dhcm5pbmdfMzIrMHg2ZS8weGMwIG1tL2ttc2FuL2ttc2FuX2luc3RyLmM6Njg2 CiBpc192YWxpZF9ldGhlcl9hZGRyIGluY2x1ZGUvbGludXgvZXRoZXJkZXZpY2UuaDoxOTkgW2lu bGluZV0KIGV0aF9wcmVwYXJlX21hY19hZGRyX2NoYW5nZSBuZXQvZXRoZXJuZXQvZXRoLmM6Mjc1 IFtpbmxpbmVdCiBldGhfbWFjX2FkZHIrMHgyMDMvMHgyYjAgbmV0L2V0aGVybmV0L2V0aC5jOjMw OAogZGV2X3NldF9tYWNfYWRkcmVzcysweDI2MS8weDUzMCBuZXQvY29yZS9kZXYuYzo3MTU3CiBk b19zZXRsaW5rKzB4YmMzLzB4NWZjMCBuZXQvY29yZS9ydG5ldGxpbmsuYzoyMzE3CiBydG5sX2dy b3VwX2NoYW5nZWxpbmsgbmV0L2NvcmUvcnRuZXRsaW5rLmM6MjgyNCBbaW5saW5lXQogcnRubF9u ZXdsaW5rKzB4MWZlOS8weDM3YTAgbmV0L2NvcmUvcnRuZXRsaW5rLmM6Mjk3NgogcnRuZXRsaW5r X3Jjdl9tc2crMHhhMzIvMHgxNTYwIG5ldC9jb3JlL3J0bmV0bGluay5jOjQ2NDYKIG5ldGxpbmtf cmN2X3NrYisweDM3OC8weDYwMCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MjQ0OAogcnRuZXRs aW5rX3JjdisweDUwLzB4NjAgbmV0L2NvcmUvcnRuZXRsaW5rLmM6NDY2NAogbmV0bGlua191bmlj YXN0X2tlcm5lbCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MTMxMCBbaW5saW5lXQogbmV0bGlu a191bmljYXN0KzB4MTY3OC8weDE3NTAgbmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjEzMzYKIG5l dGxpbmtfc2VuZG1zZysweDEwNGYvMHgxMzUwIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsuYzoxOTAx CiBzb2NrX3NlbmRtc2dfbm9zZWMgbmV0L3NvY2tldC5jOjYyOSBbaW5saW5lXQogc29ja19zZW5k bXNnIG5ldC9zb2NrZXQuYzo2MzkgW2lubGluZV0KIF9fX3N5c19zZW5kbXNnKzB4ZWMwLzB4MTMx MCBuZXQvc29ja2V0LmM6MjExNwogX19zeXNfc2VuZG1zZyBuZXQvc29ja2V0LmM6MjE1NSBbaW5s aW5lXQogX19kb19zeXNfc2VuZG1zZyBuZXQvc29ja2V0LmM6MjE2NCBbaW5saW5lXQogX19zZV9z eXNfc2VuZG1zZyBuZXQvc29ja2V0LmM6MjE2MiBbaW5saW5lXQogX194NjRfc3lzX3NlbmRtc2cr MHgzMzEvMHg0NjAgbmV0L3NvY2tldC5jOjIxNjIKIGRvX3N5c2NhbGxfNjQrMHgxNTIvMHgyMzAg YXJjaC94ODYvZW50cnkvY29tbW9uLmM6Mjg3CiBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJh bWUrMHg0NC8weGE5ClJJUDogMDAzMzoweDQ1NWEwOQpSU1A6IDAwMmI6MDAwMDdmYzA3NDgwZWM2 OCBFRkxBR1M6IDAwMDAwMjQ2IE9SSUdfUkFYOiAwMDAwMDAwMDAwMDAwMDJlClJBWDogZmZmZmZm ZmZmZmZmZmZkYSBSQlg6IDAwMDA3ZmMwNzQ4MGY2ZDQgUkNYOiAwMDAwMDAwMDAwNDU1YTA5ClJE WDogMDAwMDAwMDAwMDAwMDAwMCBSU0k6IDAwMDAwMDAwMjAwMDAzYzAgUkRJOiAwMDAwMDAwMDAw MDAwMDE0ClJCUDogMDAwMDAwMDAwMDcyYmVhMCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAw MDAwMDAwMDAwMDAwMDAwClIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6IDAwMDAwMDAwMDAwMDAy NDYgUjEyOiAwMDAwMDAwMGZmZmZmZmZmClIxMzogMDAwMDAwMDAwMDAwMDVkMCBSMTQ6IDAwMDAw MDAwMDA2ZmRjMjAgUjE1OiAwMDAwMDAwMDAwMDAwMDAwCgpVbmluaXQgd2FzIHN0b3JlZCB0byBt ZW1vcnkgYXQ6CiBrbXNhbl9zYXZlX3N0YWNrX3dpdGhfZmxhZ3MgbW0va21zYW4va21zYW4uYzoy NzkgW2lubGluZV0KIGttc2FuX3NhdmVfc3RhY2sgbW0va21zYW4va21zYW4uYzoyOTQgW2lubGlu ZV0KIGttc2FuX2ludGVybmFsX2NoYWluX29yaWdpbisweDEyYi8weDIxMCBtbS9rbXNhbi9rbXNh bi5jOjY4NQoga21zYW5fbWVtY3B5X29yaWdpbnMrMHgxMWQvMHgxNzAgbW0va21zYW4va21zYW4u Yzo1MjcKIF9fbXNhbl9tZW1jcHkrMHgxMDkvMHgxNjAgbW0va21zYW4va21zYW5faW5zdHIuYzo0 NzgKIGRvX3NldGxpbmsrMHhiODQvMHg1ZmMwIG5ldC9jb3JlL3J0bmV0bGluay5jOjIzMTUKIHJ0 bmxfZ3JvdXBfY2hhbmdlbGluayBuZXQvY29yZS9ydG5ldGxpbmsuYzoyODI0IFtpbmxpbmVdCiBy dG5sX25ld2xpbmsrMHgxZmU5LzB4MzdhMCBuZXQvY29yZS9ydG5ldGxpbmsuYzoyOTc2CiBydG5l dGxpbmtfcmN2X21zZysweGEzMi8weDE1NjAgbmV0L2NvcmUvcnRuZXRsaW5rLmM6NDY0NgogbmV0 bGlua19yY3Zfc2tiKzB4Mzc4LzB4NjAwIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsuYzoyNDQ4CiBy dG5ldGxpbmtfcmN2KzB4NTAvMHg2MCBuZXQvY29yZS9ydG5ldGxpbmsuYzo0NjY0CiBuZXRsaW5r X3VuaWNhc3Rfa2VybmVsIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsuYzoxMzEwIFtpbmxpbmVdCiBu ZXRsaW5rX3VuaWNhc3QrMHgxNjc4LzB4MTc1MCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MTMz NgogbmV0bGlua19zZW5kbXNnKzB4MTA0Zi8weDEzNTAgbmV0L25ldGxpbmsvYWZfbmV0bGluay5j OjE5MDEKIHNvY2tfc2VuZG1zZ19ub3NlYyBuZXQvc29ja2V0LmM6NjI5IFtpbmxpbmVdCiBzb2Nr X3NlbmRtc2cgbmV0L3NvY2tldC5jOjYzOSBbaW5saW5lXQogX19fc3lzX3NlbmRtc2crMHhlYzAv MHgxMzEwIG5ldC9zb2NrZXQuYzoyMTE3CiBfX3N5c19zZW5kbXNnIG5ldC9zb2NrZXQuYzoyMTU1 IFtpbmxpbmVdCiBfX2RvX3N5c19zZW5kbXNnIG5ldC9zb2NrZXQuYzoyMTY0IFtpbmxpbmVdCiBf X3NlX3N5c19zZW5kbXNnIG5ldC9zb2NrZXQuYzoyMTYyIFtpbmxpbmVdCiBfX3g2NF9zeXNfc2Vu ZG1zZysweDMzMS8weDQ2MCBuZXQvc29ja2V0LmM6MjE2MgogZG9fc3lzY2FsbF82NCsweDE1Mi8w eDIzMCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzoyODcKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJf aHdmcmFtZSsweDQ0LzB4YTkKVW5pbml0IHdhcyBjcmVhdGVkIGF0Ogoga21zYW5fc2F2ZV9zdGFj a193aXRoX2ZsYWdzIG1tL2ttc2FuL2ttc2FuLmM6Mjc5IFtpbmxpbmVdCiBrbXNhbl9pbnRlcm5h bF9wb2lzb25fc2hhZG93KzB4YjgvMHgxYjAgbW0va21zYW4va21zYW4uYzoxODkKIGttc2FuX2tt YWxsb2MrMHg5NC8weDEwMCBtbS9rbXNhbi9rbXNhbi5jOjMxNQoga21zYW5fc2xhYl9hbGxvYysw eDEwLzB4MjAgbW0va21zYW4va21zYW4uYzozMjIKIHNsYWJfcG9zdF9hbGxvY19ob29rIG1tL3Ns YWIuaDo0NDYgW2lubGluZV0KIHNsYWJfYWxsb2Nfbm9kZSBtbS9zbHViLmM6Mjc1MyBbaW5saW5l XQogX19rbWFsbG9jX25vZGVfdHJhY2tfY2FsbGVyKzB4YjMyLzB4MTFiMCBtbS9zbHViLmM6NDM5 NQogX19rbWFsbG9jX3Jlc2VydmUgbmV0L2NvcmUvc2tidWZmLmM6MTM4IFtpbmxpbmVdCiBfX2Fs bG9jX3NrYisweDJjYi8weDllMCBuZXQvY29yZS9za2J1ZmYuYzoyMDYKIGFsbG9jX3NrYiBpbmNs dWRlL2xpbnV4L3NrYnVmZi5oOjk4OCBbaW5saW5lXQogbmV0bGlua19hbGxvY19sYXJnZV9za2Ig bmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjExODIgW2lubGluZV0KIG5ldGxpbmtfc2VuZG1zZysw eDc2ZS8weDEzNTAgbmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjE4NzYKIHNvY2tfc2VuZG1zZ19u b3NlYyBuZXQvc29ja2V0LmM6NjI5IFtpbmxpbmVdCiBzb2NrX3NlbmRtc2cgbmV0L3NvY2tldC5j OjYzOSBbaW5saW5lXQogX19fc3lzX3NlbmRtc2crMHhlYzAvMHgxMzEwIG5ldC9zb2NrZXQuYzoy MTE3CiBfX3N5c19zZW5kbXNnIG5ldC9zb2NrZXQuYzoyMTU1IFtpbmxpbmVdCiBfX2RvX3N5c19z ZW5kbXNnIG5ldC9zb2NrZXQuYzoyMTY0IFtpbmxpbmVdCiBfX3NlX3N5c19zZW5kbXNnIG5ldC9z b2NrZXQuYzoyMTYyIFtpbmxpbmVdCiBfX3g2NF9zeXNfc2VuZG1zZysweDMzMS8weDQ2MCBuZXQv c29ja2V0LmM6MjE2MgogZG9fc3lzY2FsbF82NCsweDE1Mi8weDIzMCBhcmNoL3g4Ni9lbnRyeS9j b21tb24uYzoyODcKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ0LzB4YTkKCkZp eGVzOiBlN2VkODI4ZjEwYmQgKCJuZXRsaW5rOiBzdXBwb3J0IHNldHRpbmcgZGV2Z3JvdXAgcGFy YW1ldGVycyIpClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNv bT4KUmVwb3J0ZWQtYnk6IHN5emJvdCA8c3l6a2FsbGVyQGdvb2dsZWdyb3Vwcy5jb20+CkNjOiBE bWl0cnkgVnl1a292IDxkdnl1a292QGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMu IE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvY29yZS9ydG5ldGxpbmsuYyB8 IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2NvcmUvcnRuZXRsaW5rLmMgYi9uZXQvY29yZS9ydG5ldGxp bmsuYwppbmRleCA0NTkzNjkyMmQ3ZTIuLjE5ZjZhYjVkZTZlMSAxMDA2NDQKLS0tIGEvbmV0L2Nv cmUvcnRuZXRsaW5rLmMKKysrIGIvbmV0L2NvcmUvcnRuZXRsaW5rLmMKQEAgLTIyNTYsNiArMjI1 NiwxMCBAQCBzdGF0aWMgaW50IGRvX3NldGxpbmsoY29uc3Qgc3RydWN0IHNrX2J1ZmYgKnNrYiwK IAljb25zdCBzdHJ1Y3QgbmV0X2RldmljZV9vcHMgKm9wcyA9IGRldi0+bmV0ZGV2X29wczsKIAlp bnQgZXJyOwogCisJZXJyID0gdmFsaWRhdGVfbGlua21zZyhkZXYsIHRiKTsKKwlpZiAoZXJyIDwg MCkKKwkJcmV0dXJuIGVycjsKKwogCWlmICh0YltJRkxBX05FVF9OU19QSURdIHx8IHRiW0lGTEFf TkVUX05TX0ZEXSB8fCB0YltJRkxBX0lGX05FVE5TSURdKSB7CiAJCXN0cnVjdCBuZXQgKm5ldCA9 IHJ0bmxfbGlua19nZXRfbmV0X2NhcGFibGUoc2tiLCBkZXZfbmV0KGRldiksCiAJCQkJCQkJICAg IHRiLCBDQVBfTkVUX0FETUlOKTsKQEAgLTI2MTksMTAgKzI2MjMsNiBAQCBzdGF0aWMgaW50IHJ0 bmxfc2V0bGluayhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3Qgbmxtc2doZHIgKm5saCwKIAkJ Z290byBlcnJvdXQ7CiAJfQogCi0JZXJyID0gdmFsaWRhdGVfbGlua21zZyhkZXYsIHRiKTsKLQlp ZiAoZXJyIDwgMCkKLQkJZ290byBlcnJvdXQ7Ci0KIAllcnIgPSBkb19zZXRsaW5rKHNrYiwgZGV2 LCBpZm0sIGV4dGFjaywgdGIsIGlmbmFtZSwgMCk7CiBlcnJvdXQ6CiAJcmV0dXJuIGVycjsKLS0g CjIuMTcuMQoKCkZyb20gMmY5MTAyY2E1MzIzZmM5ZTRiZjY0MjIwMjdlZTVkN2QxOTRmNTljNyBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogWGluIExvbmcgPGx1Y2llbi54aW5AZ21haWwu Y29tPgpEYXRlOiBUdWUsIDUgSnVuIDIwMTggMTI6MTY6NTggKzA4MDAKU3ViamVjdDogW1BBVENI IDA5LzEzXSBzY3RwOiBub3QgYWxsb3cgdHJhbnNwb3J0IHRpbWVvdXQgdmFsdWUgbGVzcyB0aGFu IEhaLzUKIGZvciBoYl90aW1lcgoKWyBVcHN0cmVhbSBjb21taXQgMWQ4OGJhMWViYjI3NjNhYTg2 MTcyY2Q3Y2EwNWRlZGJlY2NjMGQzNSBdCgpzeXpib3QgcmVwb3J0ZWQgYSByY3Vfc2NoZWQgc2Vs Zi1kZXRlY3RlZCBzdGFsbCBvbiBDUFUgd2hpY2ggaXMgY2F1c2VkCmJ5IHRvbyBzbWFsbCB2YWx1 ZSBzZXQgb24gcnRvX21pbiB3aXRoIFNDVFBfUlRPSU5GTyBzb2Nrb3B0LiBXaXRoIHRoaXMKdmFs dWUsIGhiX3RpbWVyIHdpbGwgZ2V0IHN0dWNrIHRoZXJlLCBhcyBpbiBpdHMgdGltZXIgaGFuZGxl ciBpdCBzdGFydHMKdGhpcyB0aW1lciBhZ2FpbiB3aXRoIHRoaXMgdmFsdWUsIHRoZW4gZ29lcyB0 byB0aGUgdGltZXIgaGFuZGxlciBhZ2Fpbi4KClRoaXMgcHJvYmxlbSBpcyB0aGVyZSBzaW5jZSB2 ZXJ5IGJlZ2lubmluZywgYW5kIHRoYW5rcyB0byBFcmljIGZvciB0aGUKcmVwcm9kdWNlciBzaGFy ZWQgZnJvbSBhIHN5emJvdCBtYWlsLgoKVGhpcyBwYXRjaCBmaXhlcyBpdCBieSBub3QgYWxsb3dp bmcgc2N0cF90cmFuc3BvcnRfdGltZW91dCB0byByZXR1cm4gYQpzbWFsbGVyIHZhbHVlIHRoYW4g SFovNSBmb3IgaGJfdGltZXIsIHdoaWNoIGlzIGJhc2VkIG9uIFRDUCdzIG1pbiBydG8uCgpOb3Rl IHRoYXQgaXQgZG9lc24ndCBmaXggdGhpcyBpc3N1ZSBieSBsaW1pdGluZyBydG9fbWluLCBhcyBz b21lIHVzZXJzCmFyZSBzdGlsbCB1c2luZyBzbWFsbCBydG8gYW5kIG5vIHByb3BlciB2YWx1ZSB3 YXMgZm91bmQgZm9yIGl0IHlldC4KClJlcG9ydGVkLWJ5OiBzeXpib3QrM2RjZDU5YTFmOTA3MjQ1 Zjg5MWZAc3l6a2FsbGVyLmFwcHNwb3RtYWlsLmNvbQpTdWdnZXN0ZWQtYnk6IE1hcmNlbG8gUmlj YXJkbyBMZWl0bmVyIDxtYXJjZWxvLmxlaXRuZXJAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBY aW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+CkFja2VkLWJ5OiBOZWlsIEhvcm1hbiA8bmhv cm1hbkB0dXhkcml2ZXIuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3NjdHAvdHJhbnNwb3J0LmMgfCAyICstCiAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQv c2N0cC90cmFuc3BvcnQuYyBiL25ldC9zY3RwL3RyYW5zcG9ydC5jCmluZGV4IDQ3ZjgyYmQ3OTRk OS4uMDNmYzJjNDI3YWNhIDEwMDY0NAotLS0gYS9uZXQvc2N0cC90cmFuc3BvcnQuYworKysgYi9u ZXQvc2N0cC90cmFuc3BvcnQuYwpAQCAtNjM0LDcgKzYzNCw3IEBAIHVuc2lnbmVkIGxvbmcgc2N0 cF90cmFuc3BvcnRfdGltZW91dChzdHJ1Y3Qgc2N0cF90cmFuc3BvcnQgKnRyYW5zKQogCSAgICB0 cmFucy0+c3RhdGUgIT0gU0NUUF9QRikKIAkJdGltZW91dCArPSB0cmFucy0+aGJpbnRlcnZhbDsK IAotCXJldHVybiB0aW1lb3V0OworCXJldHVybiBtYXhfdCh1bnNpZ25lZCBsb25nLCB0aW1lb3V0 LCBIWiAvIDUpOwogfQogCiAvKiBSZXNldCB0cmFuc3BvcnQgdmFyaWFibGVzIHRvIHRoZWlyIGlu aXRpYWwgdmFsdWVzICovCi0tIAoyLjE3LjEKCgpGcm9tIDAwYTJkNTEzNzU3NDA5MDUzZmJiNGFh Y2IwMDczNjVlYzBmMGE0N2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IERhbiBDYXJw ZW50ZXIgPGRhbi5jYXJwZW50ZXJAb3JhY2xlLmNvbT4KRGF0ZTogTW9uLCA0IEp1biAyMDE4IDE3 OjQ2OjAxICswMzAwClN1YmplY3Q6IFtQQVRDSCAxMC8xM10gdGVhbTogdXNlIG5ldGRldl9mZWF0 dXJlc190IGluc3RlYWQgb2YgdTMyCgpbIFVwc3RyZWFtIGNvbW1pdCAyNWVhNjY1NDRiZmQxZDlk ZjFiN2UxNTAyZjg3MTdlODVmYTFlNmU2IF0KClRoaXMgY29kZSB3YXMgaW50cm9kdWNlZCBpbiAy MDExIGFyb3VuZCB0aGUgc2FtZSB0aW1lIHRoYXQgd2UgbWFkZQpuZXRkZXZfZmVhdHVyZXNfdCBh IHU2NCB0eXBlLiAgVGhlc2UgZGF5cyBhIHUzMiBpcyBub3QgYmlnIGVub3VnaCB0bwpob2xkIGFs bCB0aGUgcG90ZW50aWFsIGZlYXR1cmVzLgoKU2lnbmVkLW9mZi1ieTogRGFuIENhcnBlbnRlciA8 ZGFuLmNhcnBlbnRlckBvcmFjbGUuY29tPgpBY2tlZC1ieTogSmlyaSBQaXJrbyA8amlyaUBtZWxs YW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0 Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC90ZWFtL3RlYW0uYyB8IDMgKystCiAxIGZpbGUgY2hhbmdl ZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvdGVhbS90ZWFtLmMgYi9kcml2ZXJzL25ldC90ZWFtL3RlYW0uYwppbmRleCBkZGI2YmY4NWE1 OWMuLmUxNDE1NjNhNDY4MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdGVhbS90ZWFtLmMKKysr IGIvZHJpdmVycy9uZXQvdGVhbS90ZWFtLmMKQEAgLTEwMDQsNyArMTAwNCw4IEBAIHN0YXRpYyB2 b2lkIHRlYW1fcG9ydF9kaXNhYmxlKHN0cnVjdCB0ZWFtICp0ZWFtLAogc3RhdGljIHZvaWQgX190 ZWFtX2NvbXB1dGVfZmVhdHVyZXMoc3RydWN0IHRlYW0gKnRlYW0pCiB7CiAJc3RydWN0IHRlYW1f cG9ydCAqcG9ydDsKLQl1MzIgdmxhbl9mZWF0dXJlcyA9IFRFQU1fVkxBTl9GRUFUVVJFUyAmIE5F VElGX0ZfQUxMX0ZPUl9BTEw7CisJbmV0ZGV2X2ZlYXR1cmVzX3Qgdmxhbl9mZWF0dXJlcyA9IFRF QU1fVkxBTl9GRUFUVVJFUyAmCisJCQkJCSAgTkVUSUZfRl9BTExfRk9SX0FMTDsKIAluZXRkZXZf ZmVhdHVyZXNfdCBlbmNfZmVhdHVyZXMgID0gVEVBTV9FTkNfRkVBVFVSRVM7CiAJdW5zaWduZWQg c2hvcnQgbWF4X2hhcmRfaGVhZGVyX2xlbiA9IEVUSF9ITEVOOwogCXVuc2lnbmVkIGludCBkc3Rf cmVsZWFzZV9mbGFnID0gSUZGX1hNSVRfRFNUX1JFTEVBU0UgfAotLSAKMi4xNy4xCgoKRnJvbSA4 YjM2YjZlNDIwNzRiYjZiZTA5MzhlN2I5ODdlOTdmMTE0M2RjYTE5IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBTdGVwaGVuIFN1cnlhcHV0cmEgPHNzdXJ5YWV4dHJAZ21haWwuY29tPgpE YXRlOiBGcmksIDEgSnVuIDIwMTggMDA6MDU6MjEgLTA0MDAKU3ViamVjdDogW1BBVENIIDExLzEz XSB2cmY6IGNoZWNrIHRoZSBvcmlnaW5hbCBuZXRkZXZpY2UgZm9yIGdlbmVyYXRpbmcKIHJlZGly ZWN0CgpbIFVwc3RyZWFtIGNvbW1pdCAyZjE3YmVjZmJlYTVlOWEwNTI5YjUxZGE3MzQ1NzgzZTk2 ZTY5NTE2IF0KClVzZSB0aGUgcmlnaHQgZGV2aWNlIHRvIGRldGVybWluZSBpZiByZWRpcmVjdCBz aG91bGQgYmUgc2VudCBlc3BlY2lhbGx5CndoZW4gdXNpbmcgdnJmLiBTYW1lIGFzIHdlbGwgYXMg d2hlbiBzZW5kaW5nIHRoZSByZWRpcmVjdC4KClNpZ25lZC1vZmYtYnk6IFN0ZXBoZW4gU3VyeWFw dXRyYSA8c3N1cnlhZXh0ckBnbWFpbC5jb20+CkFja2VkLWJ5OiBEYXZpZCBBaGVybiA8ZHNhaGVy bkBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBuZXQvaXB2Ni9pcDZfb3V0cHV0LmMgfCAzICsrLQogbmV0L2lwdjYvbmRp c2MuYyAgICAgIHwgNiArKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvaXA2X291dHB1dC5jIGIvbmV0L2lw djYvaXA2X291dHB1dC5jCmluZGV4IDdiNmQxNjg5MDg3Yi4uYWY0OWY2Y2I1ZDNlIDEwMDY0NAot LS0gYS9uZXQvaXB2Ni9pcDZfb3V0cHV0LmMKKysrIGIvbmV0L2lwdjYvaXA2X291dHB1dC5jCkBA IC01MDcsNyArNTA3LDggQEAgaW50IGlwNl9mb3J3YXJkKHN0cnVjdCBza19idWZmICpza2IpCiAJ ICAgc2VuZCByZWRpcmVjdHMgdG8gc291cmNlIHJvdXRlZCBmcmFtZXMuCiAJICAgV2UgZG9uJ3Qg c2VuZCByZWRpcmVjdHMgdG8gZnJhbWVzIGRlY2Fwc3VsYXRlZCBmcm9tIElQc2VjLgogCSAqLwot CWlmIChza2ItPmRldiA9PSBkc3QtPmRldiAmJiBvcHQtPnNyY3J0ID09IDAgJiYgIXNrYl9zZWNf cGF0aChza2IpKSB7CisJaWYgKElQNkNCKHNrYiktPmlpZiA9PSBkc3QtPmRldi0+aWZpbmRleCAm JgorCSAgICBvcHQtPnNyY3J0ID09IDAgJiYgIXNrYl9zZWNfcGF0aChza2IpKSB7CiAJCXN0cnVj dCBpbjZfYWRkciAqdGFyZ2V0ID0gTlVMTDsKIAkJc3RydWN0IGluZXRfcGVlciAqcGVlcjsKIAkJ c3RydWN0IHJ0Nl9pbmZvICpydDsKZGlmZiAtLWdpdCBhL25ldC9pcHY2L25kaXNjLmMgYi9uZXQv aXB2Ni9uZGlzYy5jCmluZGV4IDlkZTRkZmIxMjZiYS4uNTI1MDUxYTg4NmJjIDEwMDY0NAotLS0g YS9uZXQvaXB2Ni9uZGlzYy5jCisrKyBiL25ldC9pcHY2L25kaXNjLmMKQEAgLTE1NzYsNiArMTU3 NiwxMiBAQCB2b2lkIG5kaXNjX3NlbmRfcmVkaXJlY3Qoc3RydWN0IHNrX2J1ZmYgKnNrYiwgY29u c3Qgc3RydWN0IGluNl9hZGRyICp0YXJnZXQpCiAJICAgb3BzX2RhdGFfYnVmW05ESVNDX09QU19S RURJUkVDVF9EQVRBX1NQQUNFXSwgKm9wc19kYXRhID0gTlVMTDsKIAlib29sIHJldDsKIAorCWlm IChuZXRpZl9pc19sM19tYXN0ZXIoc2tiLT5kZXYpKSB7CisJCWRldiA9IF9fZGV2X2dldF9ieV9p bmRleChkZXZfbmV0KHNrYi0+ZGV2KSwgSVBDQihza2IpLT5paWYpOworCQlpZiAoIWRldikKKwkJ CXJldHVybjsKKwl9CisKIAlpZiAoaXB2Nl9nZXRfbGxhZGRyKGRldiwgJnNhZGRyX2J1ZiwgSUZB X0ZfVEVOVEFUSVZFKSkgewogCQlORF9QUklOVEsoMiwgd2FybiwgIlJlZGlyZWN0OiBubyBsaW5r LWxvY2FsIGFkZHJlc3Mgb24gJXNcbiIsCiAJCQkgIGRldi0+bmFtZSk7Ci0tIAoyLjE3LjEKCgpG cm9tIGI5Njk4MTVhNTI2YzkwNDg4ZDA3NDljMDliODFjNjQxOTM4NDhlZTMgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IEFydW4gUGFyYW1lc3dhcmFuIDxhcnVuLnBhcmFtZXN3YXJhbkBi cm9hZGNvbS5jb20+CkRhdGU6IFR1ZSwgNSBKdW4gMjAxOCAxMzozODoxMiAtMDcwMApTdWJqZWN0 OiBbUEFUQ0ggMTIvMTNdIG5ldDogZHNhOiBiNTM6IEZpeCBmb3IgYnJjbSB0YWcgaXNzdWUgaW4g Q3lnbnVzIFNvQwpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNo YXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKWyBVcHN0cmVhbSBj b21taXQgNTA0MGNjOTkwY2JhYzk4NzMzZGY0ZDU4ZmRlYWM1YmJkYWIxNWI0OSBdCgpJbiB0aGUg QnJvYWRjb20gQ3lnbnVzIFNvQywgdGhlIGJyY20gdGFnIG5lZWRzIHRvIGJlIGluc2VydGVkCmlu IGJldHdlZW4gdGhlIG1hYyBhZGRyZXNzIGFuZCB0aGUgZXRoZXIgdHlwZSAoc2hvdWxkIHVzZQon RFNBX1BST1RPX1RBR19CUkNNJykgZm9yIHRoZSBwYWNrZXRzIHNlbnQgdG8gdGhlIGludGVybmFs CmI1MyBzd2l0Y2guCgpTaW5jZSB0aGUgQ3lnbnVzIHdhcyBhZGRlZCB3aXRoIHRoZSBCQ001OFhY IGRldmljZSBpZCBhbmQgdGhlCkJDTTU4WFggdXNlcyAnRFNBX1BST1RPX1RBR19CUkNNX1BSRVBF TkQnLCB0aGUgZGF0YSBwYXRoIGlzCmJyb2tlbiwgZHVlIHRvIHRoZSBpbmNvcnJlY3QgYnJjbSB0 YWcgbG9jYXRpb24uCgpBZGQgYSBuZXcgYjUzIGRldmljZSBpZCAoQkNNNTgzWFgpIGZvciBDeWdu dXMgZmFtaWx5IHRvIGZpeCB0aGUKaXNzdWUuIEFkZCB0aGUgbmV3IGRldmljZSBpZCB0byB0aGUg QkNNNThYWCBmYW1pbHkgYXMgQ3lnbnVzCmlzIHNpbWlsYXIgdG8gdGhlIEJDTTU4WFggaW4gbW9z dCBvdGhlciBmdW5jdGlvbmFsaXRpZXMuCgpGaXhlczogMTE2MDYwMzk2MDRjICgibmV0OiBkc2E6 IGI1MzogU3VwcG9ydCBwcmVwZW5kZWQgQnJvYWRjb20gdGFncyIpCgpTaWduZWQtb2ZmLWJ5OiBB cnVuIFBhcmFtZXN3YXJhbiA8YXJ1bi5wYXJhbWVzd2FyYW5AYnJvYWRjb20uY29tPgpBY2tlZC1i eTogU2NvdHQgQnJhbmRlbiA8c2NvdHQuYnJhbmRlbkBicm9hZGNvbS5jb20+ClJlcG9ydGVkLWJ5 OiBDbMOpbWVudCBQw6lyb24gPHBlcm9uLmNsZW1AZ21haWwuY29tPgpSZXZpZXdlZC1ieTogRmxv cmlhbiBGYWluZWxsaSA8Zi5mYWluZWxsaUBnbWFpbC5jb20+ClRlc3RlZC1ieTogQ2zDqW1lbnQg UMOpcm9uIDxwZXJvbi5jbGVtQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2RzYS9iNTMvYjUzX2Nv bW1vbi5jIHwgMTUgKysrKysrKysrKysrKystCiBkcml2ZXJzL25ldC9kc2EvYjUzL2I1M19wcml2 LmggICB8ICAyICsrCiBkcml2ZXJzL25ldC9kc2EvYjUzL2I1M19zcmFiLmMgICB8ICA0ICsrLS0K IDMgZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC9kc2EvYjUzL2I1M19jb21tb24uYyBiL2RyaXZlcnMvbmV0L2Rz YS9iNTMvYjUzX2NvbW1vbi5jCmluZGV4IDNkYTVmY2E3N2NiZC4uYmJjNmNjNjA5ZWMzIDEwMDY0 NAotLS0gYS9kcml2ZXJzL25ldC9kc2EvYjUzL2I1M19jb21tb24uYworKysgYi9kcml2ZXJzL25l dC9kc2EvYjUzL2I1M19jb21tb24uYwpAQCAtNjg0LDcgKzY4NCw4IEBAIHN0YXRpYyBpbnQgYjUz X3N3aXRjaF9yZXNldChzdHJ1Y3QgYjUzX2RldmljZSAqZGV2KQogCSAqIHN0aWxsIHVzZSB0aGlz IGRyaXZlciBhcyBhIGxpYnJhcnkgYW5kIG5lZWQgdG8gcGVyZm9ybSB0aGUgcmVzZXQKIAkgKiBl YXJsaWVyLgogCSAqLwotCWlmIChkZXYtPmNoaXBfaWQgPT0gQkNNNThYWF9ERVZJQ0VfSUQpIHsK KwlpZiAoZGV2LT5jaGlwX2lkID09IEJDTTU4WFhfREVWSUNFX0lEIHx8CisJICAgIGRldi0+Y2hp cF9pZCA9PSBCQ001ODNYWF9ERVZJQ0VfSUQpIHsKIAkJYjUzX3JlYWQ4KGRldiwgQjUzX0NUUkxf UEFHRSwgQjUzX1NPRlRSRVNFVCwgJnJlZyk7CiAJCXJlZyB8PSBTV19SU1QgfCBFTl9TV19SU1Qg fCBFTl9DSF9SU1Q7CiAJCWI1M193cml0ZTgoZGV2LCBCNTNfQ1RSTF9QQUdFLCBCNTNfU09GVFJF U0VULCByZWcpOwpAQCAtMTg3OSw2ICsxODgwLDE4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYjUz X2NoaXBfZGF0YSBiNTNfc3dpdGNoX2NoaXBzW10gPSB7CiAJCS5qdW1ib19wbV9yZWcgPSBCNTNf SlVNQk9fUE9SVF9NQVNLLAogCQkuanVtYm9fc2l6ZV9yZWcgPSBCNTNfSlVNQk9fTUFYX1NJWkUs CiAJfSwKKwl7CisJCS5jaGlwX2lkID0gQkNNNTgzWFhfREVWSUNFX0lELAorCQkuZGV2X25hbWUg PSAiQkNNNTgzeHgvMTEzNjAiLAorCQkudmxhbnMgPSA0MDk2LAorCQkuZW5hYmxlZF9wb3J0cyA9 IDB4MTAzLAorCQkuYXJsX2VudHJpZXMgPSA0LAorCQkuY3B1X3BvcnQgPSBCNTNfQ1BVX1BPUlQs CisJCS52dGFfcmVncyA9IEI1M19WVEFfUkVHUywKKwkJLmR1cGxleF9yZWcgPSBCNTNfRFVQTEVY X1NUQVRfR0UsCisJCS5qdW1ib19wbV9yZWcgPSBCNTNfSlVNQk9fUE9SVF9NQVNLLAorCQkuanVt Ym9fc2l6ZV9yZWcgPSBCNTNfSlVNQk9fTUFYX1NJWkUsCisJfSwKIAl7CiAJCS5jaGlwX2lkID0g QkNNNzQ0NV9ERVZJQ0VfSUQsCiAJCS5kZXZfbmFtZSA9ICJCQ003NDQ1IiwKZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L2RzYS9iNTMvYjUzX3ByaXYuaCBiL2RyaXZlcnMvbmV0L2RzYS9iNTMvYjUz X3ByaXYuaAppbmRleCAzYjU3ZjQ3ZDBlNzkuLmIyMzJhYWFlMjBhYSAxMDA2NDQKLS0tIGEvZHJp dmVycy9uZXQvZHNhL2I1My9iNTNfcHJpdi5oCisrKyBiL2RyaXZlcnMvbmV0L2RzYS9iNTMvYjUz X3ByaXYuaApAQCAtNjIsNiArNjIsNyBAQCBlbnVtIHsKIAlCQ001MzAxOF9ERVZJQ0VfSUQgPSAw eDUzMDE4LAogCUJDTTUzMDE5X0RFVklDRV9JRCA9IDB4NTMwMTksCiAJQkNNNThYWF9ERVZJQ0Vf SUQgPSAweDU4MDAsCisJQkNNNTgzWFhfREVWSUNFX0lEID0gMHg1ODMwMCwKIAlCQ003NDQ1X0RF VklDRV9JRCA9IDB4NzQ0NSwKIAlCQ003Mjc4X0RFVklDRV9JRCA9IDB4NzI3OCwKIH07CkBAIC0x ODEsNiArMTgyLDcgQEAgc3RhdGljIGlubGluZSBpbnQgaXM1MzAxeChzdHJ1Y3QgYjUzX2Rldmlj ZSAqZGV2KQogc3RhdGljIGlubGluZSBpbnQgaXM1OHh4KHN0cnVjdCBiNTNfZGV2aWNlICpkZXYp CiB7CiAJcmV0dXJuIGRldi0+Y2hpcF9pZCA9PSBCQ001OFhYX0RFVklDRV9JRCB8fAorCQlkZXYt PmNoaXBfaWQgPT0gQkNNNTgzWFhfREVWSUNFX0lEIHx8CiAJCWRldi0+Y2hpcF9pZCA9PSBCQ003 NDQ1X0RFVklDRV9JRCB8fAogCQlkZXYtPmNoaXBfaWQgPT0gQkNNNzI3OF9ERVZJQ0VfSUQ7CiB9 CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9kc2EvYjUzL2I1M19zcmFiLmMgYi9kcml2ZXJzL25l dC9kc2EvYjUzL2I1M19zcmFiLmMKaW5kZXggYzM3ZmZkMWI2ODMzLi44MjQ3NDgxZWFhMDYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2RzYS9iNTMvYjUzX3NyYWIuYworKysgYi9kcml2ZXJzL25l dC9kc2EvYjUzL2I1M19zcmFiLmMKQEAgLTM2NCw3ICszNjQsNyBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IG9mX2RldmljZV9pZCBiNTNfc3JhYl9vZl9tYXRjaFtdID0gewogCXsgLmNvbXBhdGlibGUg PSAiYnJjbSxiY201MzAxOC1zcmFiIiB9LAogCXsgLmNvbXBhdGlibGUgPSAiYnJjbSxiY201MzAx OS1zcmFiIiB9LAogCXsgLmNvbXBhdGlibGUgPSAiYnJjbSxiY201MzAxeC1zcmFiIiB9LAotCXsg LmNvbXBhdGlibGUgPSAiYnJjbSxiY20xMTM2MC1zcmFiIiwgLmRhdGEgPSAodm9pZCAqKUJDTTU4 WFhfREVWSUNFX0lEIH0sCisJeyAuY29tcGF0aWJsZSA9ICJicmNtLGJjbTExMzYwLXNyYWIiLCAu ZGF0YSA9ICh2b2lkICopQkNNNTgzWFhfREVWSUNFX0lEIH0sCiAJeyAuY29tcGF0aWJsZSA9ICJi cmNtLGJjbTU4NTIyLXNyYWIiLCAuZGF0YSA9ICh2b2lkICopQkNNNThYWF9ERVZJQ0VfSUQgfSwK IAl7IC5jb21wYXRpYmxlID0gImJyY20sYmNtNTg1MjUtc3JhYiIsIC5kYXRhID0gKHZvaWQgKilC Q001OFhYX0RFVklDRV9JRCB9LAogCXsgLmNvbXBhdGlibGUgPSAiYnJjbSxiY201ODUzNS1zcmFi IiwgLmRhdGEgPSAodm9pZCAqKUJDTTU4WFhfREVWSUNFX0lEIH0sCkBAIC0zNzIsNyArMzcyLDcg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgYjUzX3NyYWJfb2ZfbWF0Y2hbXSA9 IHsKIAl7IC5jb21wYXRpYmxlID0gImJyY20sYmNtNTg2MjMtc3JhYiIsIC5kYXRhID0gKHZvaWQg KilCQ001OFhYX0RFVklDRV9JRCB9LAogCXsgLmNvbXBhdGlibGUgPSAiYnJjbSxiY201ODYyNS1z cmFiIiwgLmRhdGEgPSAodm9pZCAqKUJDTTU4WFhfREVWSUNFX0lEIH0sCiAJeyAuY29tcGF0aWJs ZSA9ICJicmNtLGJjbTg4MzEyLXNyYWIiLCAuZGF0YSA9ICh2b2lkICopQkNNNThYWF9ERVZJQ0Vf SUQgfSwKLQl7IC5jb21wYXRpYmxlID0gImJyY20sY3lnbnVzLXNyYWIiLCAuZGF0YSA9ICh2b2lk ICopQkNNNThYWF9ERVZJQ0VfSUQgfSwKKwl7IC5jb21wYXRpYmxlID0gImJyY20sY3lnbnVzLXNy YWIiLCAuZGF0YSA9ICh2b2lkICopQkNNNTgzWFhfREVWSUNFX0lEIH0sCiAJeyAuY29tcGF0aWJs ZSA9ICJicmNtLG5zcC1zcmFiIiwgLmRhdGEgPSAodm9pZCAqKUJDTTU4WFhfREVWSUNFX0lEIH0s CiAJeyAvKiBzZW50aW5lbCAqLyB9LAogfTsKLS0gCjIuMTcuMQoKCkZyb20gOTNkZTg4NTk0MzA2 ZTY5NDRjN2MzNTZjODkxZTkyMDY2NThlYzliMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogU2FicmluYSBEdWJyb2NhIDxzZEBxdWVhc3lzbmFpbC5uZXQ+CkRhdGU6IFR1ZSwgNSBKdW4g MjAxOCAxNTowMjowMCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTMvMTNdIGlwbXI6IGZpeCBlcnJv ciBwYXRoIHdoZW4gaXBtcl9uZXdfdGFibGUgZmFpbHMKClsgVXBzdHJlYW0gY29tbWl0IGU3ODNi YjAwYWQ4NmQ5ZDFmMDFkOWQzYTc1MDcxMzA3MDAzNjM1OGUgXQoKY29tbWl0IDBiYmJmMGU3ZDBl NyAoImlwbXIsIGlwNm1yOiBVbml0ZSBjcmVhdGlvbiBvZiBuZXcgbXJfdGFibGUiKQpyZWZhY3Rv cmVkIGlwbXJfbmV3X3RhYmxlLCBzbyB0aGF0IGl0IG5vdyByZXR1cm5zIE5VTEwgd2hlbgptcl90 YWJsZV9hbGxvYyBmYWlscy4gVW5mb3J0dW5hdGVseSwgYWxsIGNhbGxlcnMgb2YgaXBtcl9uZXdf dGFibGUKZXhwZWN0IGFuIEVSUl9QVFIuCgpUaGlzIGNhbiByZXN1bHQgaW4gTlVMTCBkZXJlZiwg Zm9yIGV4YW1wbGUgd2hlbiBpcG1yX3J1bGVzX2V4aXQgY2FsbHMKaXBtcl9mcmVlX3RhYmxlIHdp dGggTlVMTCBuZXQtPmlwdjQubXJ0IGluIHRoZQohQ09ORklHX0lQX01ST1VURV9NVUxUSVBMRV9U QUJMRVMgdmVyc2lvbi4KClRoaXMgcGF0Y2ggbWFrZXMgbXJfdGFibGVfYWxsb2MgcmV0dXJuIGVy cm9ycywgYW5kIGNoYW5nZXMKaXA2bXJfbmV3X3RhYmxlIGFuZCBpdHMgY2FsbGVycyB0byByZXR1 cm4vZXhwZWN0IGVycm9yIHBvaW50ZXJzIGFzCndlbGwuIEl0IGFsc28gcmVtb3ZlcyB0aGUgdmVy c2lvbiBvZiBtcl90YWJsZV9hbGxvYyBkZWZpbmVkIHVuZGVyCiFDT05GSUdfSVBfTVJPVVRFX0NP TU1PTiwgc2luY2UgaXQgaXMgbmV2ZXIgdXNlZC4KCkZpeGVzOiAwYmJiZjBlN2QwZTcgKCJpcG1y LCBpcDZtcjogVW5pdGUgY3JlYXRpb24gb2YgbmV3IG1yX3RhYmxlIikKU2lnbmVkLW9mZi1ieTog U2FicmluYSBEdWJyb2NhIDxzZEBxdWVhc3lzbmFpbC5uZXQ+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBpbmNsdWRlL2xpbnV4L21yb3V0 ZV9iYXNlLmggfCAxMCAtLS0tLS0tLS0tCiBuZXQvaXB2NC9pcG1yX2Jhc2UuYyAgICAgICAgfCAg OCArKysrKy0tLQogbmV0L2lwdjYvaXA2bXIuYyAgICAgICAgICAgIHwgMTggKysrKysrKysrKysr LS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbXJvdXRlX2Jhc2UuaCBiL2luY2x1ZGUvbGlu dXgvbXJvdXRlX2Jhc2UuaAppbmRleCBkNjE3ZmU0NTU0M2UuLmQ2MzNmNzM3YjNjNiAxMDA2NDQK LS0tIGEvaW5jbHVkZS9saW51eC9tcm91dGVfYmFzZS5oCisrKyBiL2luY2x1ZGUvbGludXgvbXJv dXRlX2Jhc2UuaApAQCAtMzA3LDE2ICszMDcsNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgdmlmX2Rl dmljZV9pbml0KHN0cnVjdCB2aWZfZGV2aWNlICp2LAogewogfQogCi1zdGF0aWMgaW5saW5lIHZv aWQgKgotbXJfdGFibGVfYWxsb2Moc3RydWN0IG5ldCAqbmV0LCB1MzIgaWQsCi0JICAgICAgIHN0 cnVjdCBtcl90YWJsZV9vcHMgKm9wcywKLQkgICAgICAgdm9pZCAoKmV4cGlyZV9mdW5jKShzdHJ1 Y3QgdGltZXJfbGlzdCAqdCksCi0JICAgICAgIHZvaWQgKCp0YWJsZV9zZXQpKHN0cnVjdCBtcl90 YWJsZSAqbXJ0LAotCQkJCSBzdHJ1Y3QgbmV0ICpuZXQpKQotewotCXJldHVybiBOVUxMOwotfQot CiBzdGF0aWMgaW5saW5lIHZvaWQgKm1yX21mY19maW5kX3BhcmVudChzdHJ1Y3QgbXJfdGFibGUg Km1ydCwKIAkJCQkgICAgICAgdm9pZCAqaGFzaGFyZywgaW50IHBhcmVudCkKIHsKZGlmZiAtLWdp dCBhL25ldC9pcHY0L2lwbXJfYmFzZS5jIGIvbmV0L2lwdjQvaXBtcl9iYXNlLmMKaW5kZXggMzAy MjE3MDE2MTRjLi5jYWZiMDUwNmM4YzkgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L2lwbXJfYmFzZS5j CisrKyBiL25ldC9pcHY0L2lwbXJfYmFzZS5jCkBAIC0zNSwxNyArMzUsMTkgQEAgbXJfdGFibGVf YWxsb2Moc3RydWN0IG5ldCAqbmV0LCB1MzIgaWQsCiAJCQkJIHN0cnVjdCBuZXQgKm5ldCkpCiB7 CiAJc3RydWN0IG1yX3RhYmxlICptcnQ7CisJaW50IGVycjsKIAogCW1ydCA9IGt6YWxsb2Moc2l6 ZW9mKCptcnQpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIW1ydCkKLQkJcmV0dXJuIE5VTEw7CisJCXJl dHVybiBFUlJfUFRSKC1FTk9NRU0pOwogCW1ydC0+aWQgPSBpZDsKIAl3cml0ZV9wbmV0KCZtcnQt Pm5ldCwgbmV0KTsKIAogCW1ydC0+b3BzID0gKm9wczsKLQlpZiAocmhsdGFibGVfaW5pdCgmbXJ0 LT5tZmNfaGFzaCwgbXJ0LT5vcHMucmh0X3BhcmFtcykpIHsKKwllcnIgPSByaGx0YWJsZV9pbml0 KCZtcnQtPm1mY19oYXNoLCBtcnQtPm9wcy5yaHRfcGFyYW1zKTsKKwlpZiAoZXJyKSB7CiAJCWtm cmVlKG1ydCk7Ci0JCXJldHVybiBOVUxMOworCQlyZXR1cm4gRVJSX1BUUihlcnIpOwogCX0KIAlJ TklUX0xJU1RfSEVBRCgmbXJ0LT5tZmNfY2FjaGVfbGlzdCk7CiAJSU5JVF9MSVNUX0hFQUQoJm1y dC0+bWZjX3VucmVzX3F1ZXVlKTsKZGlmZiAtLWdpdCBhL25ldC9pcHY2L2lwNm1yLmMgYi9uZXQv aXB2Ni9pcDZtci5jCmluZGV4IDQyZWNhMjY4OWMzYi4uMzc5MzY2NzFkY2IzIDEwMDY0NAotLS0g YS9uZXQvaXB2Ni9pcDZtci5jCisrKyBiL25ldC9pcHY2L2lwNm1yLmMKQEAgLTIyNyw4ICsyMjcs OCBAQCBzdGF0aWMgaW50IF9fbmV0X2luaXQgaXA2bXJfcnVsZXNfaW5pdChzdHJ1Y3QgbmV0ICpu ZXQpCiAJSU5JVF9MSVNUX0hFQUQoJm5ldC0+aXB2Ni5tcjZfdGFibGVzKTsKIAogCW1ydCA9IGlw Nm1yX25ld190YWJsZShuZXQsIFJUNl9UQUJMRV9ERkxUKTsKLQlpZiAoIW1ydCkgewotCQllcnIg PSAtRU5PTUVNOworCWlmIChJU19FUlIobXJ0KSkgeworCQllcnIgPSBQVFJfRVJSKG1ydCk7CiAJ CWdvdG8gZXJyMTsKIAl9CiAKQEAgLTMwMSw4ICszMDEsMTMgQEAgc3RhdGljIGludCBpcDZtcl9m aWJfbG9va3VwKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IGZsb3dpNiAqZmxwNiwKIAogc3RhdGlj IGludCBfX25ldF9pbml0IGlwNm1yX3J1bGVzX2luaXQoc3RydWN0IG5ldCAqbmV0KQogewotCW5l dC0+aXB2Ni5tcnQ2ID0gaXA2bXJfbmV3X3RhYmxlKG5ldCwgUlQ2X1RBQkxFX0RGTFQpOwotCXJl dHVybiBuZXQtPmlwdjYubXJ0NiA/IDAgOiAtRU5PTUVNOworCXN0cnVjdCBtcl90YWJsZSAqbXJ0 OworCisJbXJ0ID0gaXA2bXJfbmV3X3RhYmxlKG5ldCwgUlQ2X1RBQkxFX0RGTFQpOworCWlmIChJ U19FUlIobXJ0KSkKKwkJcmV0dXJuIFBUUl9FUlIobXJ0KTsKKwluZXQtPmlwdjYubXJ0NiA9IG1y dDsKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIHZvaWQgX19uZXRfZXhpdCBpcDZtcl9ydWxlc19l eGl0KHN0cnVjdCBuZXQgKm5ldCkKQEAgLTE3NTcsOCArMTc2Miw5IEBAIGludCBpcDZfbXJvdXRl X3NldHNvY2tvcHQoc3RydWN0IHNvY2sgKnNrLCBpbnQgb3B0bmFtZSwgY2hhciBfX3VzZXIgKm9w dHZhbCwgdW5zCiAKIAkJcnRubF9sb2NrKCk7CiAJCXJldCA9IDA7Ci0JCWlmICghaXA2bXJfbmV3 X3RhYmxlKG5ldCwgdikpCi0JCQlyZXQgPSAtRU5PTUVNOworCQltcnQgPSBpcDZtcl9uZXdfdGFi bGUobmV0LCB2KTsKKwkJaWYgKElTX0VSUihtcnQpKQorCQkJcmV0ID0gUFRSX0VSUihtcnQpOwog CQllbHNlCiAJCQlyYXc2X3NrKHNrKS0+aXA2bXJfdGFibGUgPSB2OwogCQlydG5sX3VubG9jaygp OwotLSAKMi4xNy4xCgo= ----Next_Part(Thu_Jun__7_22_18_39_2018_648)----