From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shards.monkeyblade.net ([23.128.96.9]:50946 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726472AbeLLGbl (ORCPT ); Wed, 12 Dec 2018 01:31:41 -0500 Received: from localhost (unknown [IPv6:2601:601:9f80:35cd::bf5]) (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 0A271144E3BA3 for ; Tue, 11 Dec 2018 22:31:39 -0800 (PST) Date: Tue, 11 Dec 2018 22:31:38 -0800 (PST) Message-Id: <20181211.223138.425475056642424831.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(Tue_Dec_11_22_31_38_2018_485)--" Content-Transfer-Encoding: 7bit Sender: stable-owner@vger.kernel.org List-ID: ----Next_Part(Tue_Dec_11_22_31_38_2018_485)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for v4.14 and v4.19 -stable, respectively. Thank you. ----Next_Part(Tue_Dec_11_22_31_38_2018_485)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_414.mbox" RnJvbSA1YTk0NGQ2YWJlNGQ0NDFmNWI5NTEyNDA5ZTJiM2U3ODJmODNiY2UzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKaXJpIFdpZXNuZXIgPGp3aWVzbmVyQHN1c2UuY29tPgpEYXRl OiBXZWQsIDUgRGVjIDIwMTggMTY6NTU6MjkgKzAxMDAKU3ViamVjdDogW1BBVENIIDAxLzE1XSBp cHY0OiBpcHY2OiBuZXRmaWx0ZXI6IEFkanVzdCB0aGUgZnJhZyBtZW0gbGltaXQgd2hlbgogdHJ1 ZXNpemUgY2hhbmdlcwoKWyBVcHN0cmVhbSBjb21taXQgZWJhZjM5ZTYwMzJmYWY3NzIxODIyMDcw N2ZjM2ZhMjI0ODc3ODRlMCBdCgpUaGUgKl9mcmFnX3JlYXNtKCkgZnVuY3Rpb25zIGFyZSBzdXNj ZXB0aWJsZSB0byBtaXNjYWxjdWxhdGluZyB0aGUgYnl0ZQpjb3VudCBvZiBwYWNrZXQgZnJhZ21l bnRzIGluIGNhc2UgdGhlIHRydWVzaXplIG9mIGEgaGVhZCBidWZmZXIgY2hhbmdlcy4KVGhlIHRy dWVzaXplIG1lbWJlciBtYXkgYmUgY2hhbmdlZCBieSB0aGUgY2FsbCB0byBza2JfdW5jbG9uZSgp LCBsZWF2aW5nCnRoZSBmcmFnbWVudCBtZW1vcnkgbGltaXQgY291bnRlciB1bmJhbGFuY2VkIGV2 ZW4gaWYgYWxsIGZyYWdtZW50cyBhcmUKcHJvY2Vzc2VkLiBUaGlzIG1pc2NhbGN1bGF0aW9uIGdv ZXMgdW5ub3RpY2VkIGFzIGxvbmcgYXMgdGhlIG5ldHdvcmsKbmFtZXNwYWNlIHdoaWNoIGhvbGRz IHRoZSBjb3VudGVyIGlzIG5vdCBkZXN0cm95ZWQuCgpTaG91bGQgYW4gYXR0ZW1wdCBiZSBtYWRl IHRvIGRlc3Ryb3kgYSBuZXR3b3JrIG5hbWVzcGFjZSB0aGF0IGhvbGRzIGFuCnVuYmFsYW5jZWQg ZnJhZ21lbnQgbWVtb3J5IGxpbWl0IGNvdW50ZXIgdGhlIGNsZWFudXAgb2YgdGhlIG5hbWVzcGFj ZQpuZXZlciBmaW5pc2hlcy4gVGhlIHRocmVhZCBoYW5kbGluZyB0aGUgY2xlYW51cCBnZXRzIHN0 dWNrIGluCmluZXRfZnJhZ3NfZXhpdF9uZXQoKSB3YWl0aW5nIGZvciB0aGUgcGVyY3B1IGNvdW50 ZXIgdG8gcmVhY2ggemVyby4gVGhlCnRocmVhZCBpcyB1c3VhbGx5IGluIHJ1bm5pbmcgc3RhdGUg d2l0aCBhIHN0YWNrdHJhY2Ugc2ltaWxhciB0bzoKCiBQSUQ6IDEwNzMgICBUQVNLOiBmZmZmODgw NjI2NzExNDQwICBDUFU6IDEgICBDT01NQU5EOiAia3dvcmtlci91NDg6NCIKICAjNSBbZmZmZjg4 MDYyMTU2M2Q0OF0gX3Jhd19zcGluX2xvY2sgYXQgZmZmZmZmZmY4MTVmNTQ4MAogICM2IFtmZmZm ODgwNjIxNTYzZDQ4XSBpbmV0X2V2aWN0X2J1Y2tldCBhdCBmZmZmZmZmZjgxNTgwMjBiCiAgIzcg W2ZmZmY4ODA2MjE1NjNkODBdIGluZXRfZnJhZ3NfZXhpdF9uZXQgYXQgZmZmZmZmZmY4MTU4MDUx YwogICM4IFtmZmZmODgwNjIxNTYzZGIwXSBvcHNfZXhpdF9saXN0IGF0IGZmZmZmZmZmODE0ZjU4 NTYKICAjOSBbZmZmZjg4MDYyMTU2M2RkOF0gY2xlYW51cF9uZXQgYXQgZmZmZmZmZmY4MTRmNjdj MAogIzEwIFtmZmZmODgwNjIxNTYzZTM4XSBwcm9jZXNzX29uZV93b3JrIGF0IGZmZmZmZmZmODEw OTZmMTQKCkl0IGlzIG5vdCBwb3NzaWJsZSB0byBjcmVhdGUgbmV3IG5ldHdvcmsgbmFtZXNwYWNl cywgYW5kIHByb2Nlc3Nlcwp0aGF0IGNhbGwgdW5zaGFyZSgpIGVuZCB1cCBiZWluZyBzdHVjayBp biB1bmludGVycnVwdGlibGUgc2xlZXAgc3RhdGUKd2FpdGluZyB0byBhY3F1aXJlIHRoZSBuZXRf bXV0ZXguCgpUaGUgYnVnIHdhcyBvYnNlcnZlZCBpbiB0aGUgSVB2NiBuZXRmaWx0ZXIgY29kZSBi eSBQZXIgU3VuZHN0cm9tLgpJIHRoYW5rIGhpbSBmb3IgaGlzIGFuYWx5c2lzIG9mIHRoZSBwcm9i bGVtLiBUaGUgcGFydHMgb2YgdGhpcyBwYXRjaAp0aGF0IGFwcGx5IHRvIElQdjQgYW5kIElQdjYg ZnJhZ21lbnQgcmVhc3NlbWJseSBhcmUgcHJlZW1wdGl2ZSBtZWFzdXJlcy4KClNpZ25lZC1vZmYt Ynk6IEppcmkgV2llc25lciA8andpZXNuZXJAc3VzZS5jb20+ClJlcG9ydGVkLWJ5OiBQZXIgU3Vu ZHN0cm9tIDxwZXIuc3VuZHN0cm9tQHJlZHF1YmUuc2U+CkFja2VkLWJ5OiBQZXRlciBPc2tvbGtv diA8cG9za0Bnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvaXBfZnJhZ21lbnQuYyAgICAgICAgICAgICAg ICAgIHwgNyArKysrKysrCiBuZXQvaXB2Ni9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3JlYXNtLmMg fCA4ICsrKysrKystCiBuZXQvaXB2Ni9yZWFzc2VtYmx5LmMgICAgICAgICAgICAgICAgICAgfCA4 ICsrKysrKystCiAzIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvaXBfZnJhZ21lbnQuYyBiL25ldC9pcHY0L2lwX2Zy YWdtZW50LmMKaW5kZXggY2I4ZmE1ZDdhZmUxLi5mNjg2ZDc3NjFhY2IgMTAwNjQ0Ci0tLSBhL25l dC9pcHY0L2lwX2ZyYWdtZW50LmMKKysrIGIvbmV0L2lwdjQvaXBfZnJhZ21lbnQuYwpAQCAtNTEz LDYgKzUxMyw3IEBAIHN0YXRpYyBpbnQgaXBfZnJhZ19yZWFzbShzdHJ1Y3QgaXBxICpxcCwgc3Ry dWN0IHNrX2J1ZmYgKnNrYiwKIAlzdHJ1Y3QgcmJfbm9kZSAqcmJuOwogCWludCBsZW47CiAJaW50 IGlobGVuOworCWludCBkZWx0YTsKIAlpbnQgZXJyOwogCXU4IGVjbjsKIApAQCAtNTU0LDEwICs1 NTUsMTYgQEAgc3RhdGljIGludCBpcF9mcmFnX3JlYXNtKHN0cnVjdCBpcHEgKnFwLCBzdHJ1Y3Qg c2tfYnVmZiAqc2tiLAogCWlmIChsZW4gPiA2NTUzNSkKIAkJZ290byBvdXRfb3ZlcnNpemU7CiAK KwlkZWx0YSA9IC0gaGVhZC0+dHJ1ZXNpemU7CisKIAkvKiBIZWFkIG9mIGxpc3QgbXVzdCBub3Qg YmUgY2xvbmVkLiAqLwogCWlmIChza2JfdW5jbG9uZShoZWFkLCBHRlBfQVRPTUlDKSkKIAkJZ290 byBvdXRfbm9tZW07CiAKKwlkZWx0YSArPSBoZWFkLT50cnVlc2l6ZTsKKwlpZiAoZGVsdGEpCisJ CWFkZF9mcmFnX21lbV9saW1pdChxcC0+cS5uZXQsIGRlbHRhKTsKKwogCS8qIElmIHRoZSBmaXJz dCBmcmFnbWVudCBpcyBmcmFnbWVudGVkIGl0c2VsZiwgd2Ugc3BsaXQKIAkgKiBpdCB0byB0d28g Y2h1bmtzOiB0aGUgZmlyc3Qgd2l0aCBkYXRhIGFuZCBwYWdlZCBwYXJ0CiAJICogYW5kIHRoZSBz ZWNvbmQsIGhvbGRpbmcgb25seSBmcmFnbWVudHMuICovCmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9u ZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3JlYXNtLmMgYi9uZXQvaXB2Ni9uZXRmaWx0ZXIvbmZfY29u bnRyYWNrX3JlYXNtLmMKaW5kZXggNjExZDQwNmM0NjU2Li4yMzdmYjA0YzY3MTYgMTAwNjQ0Ci0t LSBhL25ldC9pcHY2L25ldGZpbHRlci9uZl9jb25udHJhY2tfcmVhc20uYworKysgYi9uZXQvaXB2 Ni9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3JlYXNtLmMKQEAgLTM0OSw3ICszNDksNyBAQCBzdGF0 aWMgYm9vbAogbmZfY3RfZnJhZzZfcmVhc20oc3RydWN0IGZyYWdfcXVldWUgKmZxLCBzdHJ1Y3Qg c2tfYnVmZiAqcHJldiwgIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IHNrX2J1 ZmYgKmZwLCAqaGVhZCA9IGZxLT5xLmZyYWdtZW50czsKLQlpbnQgICAgcGF5bG9hZF9sZW47CisJ aW50ICAgIHBheWxvYWRfbGVuLCBkZWx0YTsKIAl1OCBlY247CiAKIAlpbmV0X2ZyYWdfa2lsbCgm ZnEtPnEpOwpAQCAtMzcxLDEwICszNzEsMTYgQEAgbmZfY3RfZnJhZzZfcmVhc20oc3RydWN0IGZy YWdfcXVldWUgKmZxLCBzdHJ1Y3Qgc2tfYnVmZiAqcHJldiwgIHN0cnVjdCBuZXRfZGV2aWMKIAkJ cmV0dXJuIGZhbHNlOwogCX0KIAorCWRlbHRhID0gLSBoZWFkLT50cnVlc2l6ZTsKKwogCS8qIEhl YWQgb2YgbGlzdCBtdXN0IG5vdCBiZSBjbG9uZWQuICovCiAJaWYgKHNrYl91bmNsb25lKGhlYWQs IEdGUF9BVE9NSUMpKQogCQlyZXR1cm4gZmFsc2U7CiAKKwlkZWx0YSArPSBoZWFkLT50cnVlc2l6 ZTsKKwlpZiAoZGVsdGEpCisJCWFkZF9mcmFnX21lbV9saW1pdChmcS0+cS5uZXQsIGRlbHRhKTsK KwogCS8qIElmIHRoZSBmaXJzdCBmcmFnbWVudCBpcyBmcmFnbWVudGVkIGl0c2VsZiwgd2Ugc3Bs aXQKIAkgKiBpdCB0byB0d28gY2h1bmtzOiB0aGUgZmlyc3Qgd2l0aCBkYXRhIGFuZCBwYWdlZCBw YXJ0CiAJICogYW5kIHRoZSBzZWNvbmQsIGhvbGRpbmcgb25seSBmcmFnbWVudHMuICovCmRpZmYg LS1naXQgYS9uZXQvaXB2Ni9yZWFzc2VtYmx5LmMgYi9uZXQvaXB2Ni9yZWFzc2VtYmx5LmMKaW5k ZXggZWRlMDA2MWI2ZjVkLi4yYThjNjgwYjY3Y2QgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L3JlYXNz ZW1ibHkuYworKysgYi9uZXQvaXB2Ni9yZWFzc2VtYmx5LmMKQEAgLTM0OCw3ICszNDgsNyBAQCBz dGF0aWMgaW50IGlwNl9mcmFnX3JlYXNtKHN0cnVjdCBmcmFnX3F1ZXVlICpmcSwgc3RydWN0IHNr X2J1ZmYgKnByZXYsCiB7CiAJc3RydWN0IG5ldCAqbmV0ID0gY29udGFpbmVyX29mKGZxLT5xLm5l dCwgc3RydWN0IG5ldCwgaXB2Ni5mcmFncyk7CiAJc3RydWN0IHNrX2J1ZmYgKmZwLCAqaGVhZCA9 IGZxLT5xLmZyYWdtZW50czsKLQlpbnQgICAgcGF5bG9hZF9sZW47CisJaW50ICAgIHBheWxvYWRf bGVuLCBkZWx0YTsKIAl1bnNpZ25lZCBpbnQgbmhvZmY7CiAJaW50IHN1bV90cnVlc2l6ZTsKIAl1 OCBlY247CkBAIC0zODksMTAgKzM4OSwxNiBAQCBzdGF0aWMgaW50IGlwNl9mcmFnX3JlYXNtKHN0 cnVjdCBmcmFnX3F1ZXVlICpmcSwgc3RydWN0IHNrX2J1ZmYgKnByZXYsCiAJaWYgKHBheWxvYWRf bGVuID4gSVBWNl9NQVhQTEVOKQogCQlnb3RvIG91dF9vdmVyc2l6ZTsKIAorCWRlbHRhID0gLSBo ZWFkLT50cnVlc2l6ZTsKKwogCS8qIEhlYWQgb2YgbGlzdCBtdXN0IG5vdCBiZSBjbG9uZWQuICov CiAJaWYgKHNrYl91bmNsb25lKGhlYWQsIEdGUF9BVE9NSUMpKQogCQlnb3RvIG91dF9vb207CiAK KwlkZWx0YSArPSBoZWFkLT50cnVlc2l6ZTsKKwlpZiAoZGVsdGEpCisJCWFkZF9mcmFnX21lbV9s aW1pdChmcS0+cS5uZXQsIGRlbHRhKTsKKwogCS8qIElmIHRoZSBmaXJzdCBmcmFnbWVudCBpcyBm cmFnbWVudGVkIGl0c2VsZiwgd2Ugc3BsaXQKIAkgKiBpdCB0byB0d28gY2h1bmtzOiB0aGUgZmly c3Qgd2l0aCBkYXRhIGFuZCBwYWdlZCBwYXJ0CiAJICogYW5kIHRoZSBzZWNvbmQsIGhvbGRpbmcg b25seSBmcmFnbWVudHMuICovCi0tIAoyLjE5LjIKCgpGcm9tIDkzYmYxNWFlNWEzMjk3YjNjMmI2 MmM1ZjIzZTMwMTRmZmMzODVmZDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFN0ZWZh bm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+CkRhdGU6IFRodSwgNiBEZWMgMjAxOCAxOToz MDozNiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMTVdIGlwdjY6IENoZWNrIGF2YWlsYWJsZSBo ZWFkcm9vbSBpbiBpcDZfeG1pdCgpIGV2ZW4KIHdpdGhvdXQgb3B0aW9ucwoKWyBVcHN0cmVhbSBj b21taXQgNjYwMzNmNDdjYTYwMjk0YTk1ZmM4NWVjM2EzY2M5MDlkYWI3Yjc2NSBdCgpFdmVuIGlm IHdlIHNlbmQgYW4gSVB2NiBwYWNrZXQgd2l0aG91dCBvcHRpb25zLCBNQVhfSEVBREVSIG1pZ2h0 IG5vdCBiZQplbm91Z2ggdG8gYWNjb3VudCBmb3IgdGhlIGFkZGl0aW9uYWwgaGVhZHJvb20gcmVx dWlyZWQgYnkgYWxpZ25tZW50IG9mCmhhcmR3YXJlIGhlYWRlcnMuCgpPbiBhIGNvbmZpZ3VyYXRp b24gd2l0aG91dCBIWVBFUlZfTkVULCBXTEFOLCBBWDI1LCBhbmQgd2l0aCBJUFY2X1RVTk5FTCwK c2VuZGluZyBzaG9ydCBTQ1RQIHBhY2tldHMgb3ZlciBJUHY0IG92ZXIgTDJUUCBvdmVyIElQdjYs IHdlIHN0YXJ0IHdpdGgKMTAwIGJ5dGVzIG9mIGFsbG9jYXRlZCBoZWFkcm9vbSBpbiBzY3RwX3Bh Y2tldF90cmFuc21pdCgpLCBlbmQgdXAgd2l0aCA1NApieXRlcyBhZnRlciBsMnRwX3htaXRfc2ti KCksIGFuZCAxNCBieXRlcyBpbiBpcDZfZmluaXNoX291dHB1dDIoKS4KClRob3NlIHdvdWxkIGJl IGVub3VnaCB0byBhcHBlbmQgb3VyIDE0IGJ5dGVzIGhlYWRlciwgYnV0IHdlJ3JlIGdvaW5nIHRv CmFsaWduIHRoYXQgdG8gMTYgYnl0ZXMsIGFuZCB3cml0ZSAyIGJ5dGVzIG91dCBvZiB0aGUgYWxs b2NhdGVkIHNsYWIgaW4KbmVpZ2hfaGhfb3V0cHV0KCkuCgpLQVNhbiBzYXlzOgoKWyAgMjY0Ljk2 Nzg0OF0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09ClsgIDI2NC45Njc4NjFdIEJVRzogS0FTQU46IHNsYWItb3V0LW9mLWJv dW5kcyBpbiBpcDZfZmluaXNoX291dHB1dDIrMHgxYWVjLzB4MWM3MApbICAyNjQuOTY3ODY2XSBX cml0ZSBvZiBzaXplIDE2IGF0IGFkZHIgMDAwMDAwMDA2YWYxYzdmZSBieSB0YXNrIG5ldHBlcmYv NjIwMQpbICAyNjQuOTY3ODcwXQpbICAyNjQuOTY3ODc2XSBDUFU6IDAgUElEOiA2MjAxIENvbW06 IG5ldHBlcmYgTm90IHRhaW50ZWQgNC4yMC4wLXJjNCsgIzEKWyAgMjY0Ljk2Nzg4MV0gSGFyZHdh cmUgbmFtZTogSUJNIDI4MjcgSDQzIDQwMCAoei9WTSA2LjQuMCkKWyAgMjY0Ljk2Nzg4N10gQ2Fs bCBUcmFjZToKWyAgMjY0Ljk2Nzg5Nl0gKFs8MDAwMDAwMDAwMDEzNDdkNj5dIHNob3dfc3RhY2sr MHg1Ni8weGEwKQpbICAyNjQuOTY3OTAzXSAgWzwwMDAwMDAwMDAxN2UzNzljPl0gZHVtcF9zdGFj aysweDIzYy8weDI5MApbICAyNjQuOTY3OTEyXSAgWzwwMDAwMDAwMDAwN2JjNTk0Pl0gcHJpbnRf YWRkcmVzc19kZXNjcmlwdGlvbisweGY0LzB4MjkwClsgIDI2NC45Njc5MTldICBbPDAwMDAwMDAw MDA3YmM4ZmM+XSBrYXNhbl9yZXBvcnQrMHgxM2MvMHgyNDAKWyAgMjY0Ljk2NzkyN10gIFs8MDAw MDAwMDAwMTYyZjVlND5dIGlwNl9maW5pc2hfb3V0cHV0MisweDFhZWMvMHgxYzcwClsgIDI2NC45 Njc5MzVdICBbPDAwMDAwMDAwMDE2M2Y4OTA+XSBpcDZfZmluaXNoX291dHB1dCsweDQzMC8weDdm MApbICAyNjQuOTY3OTQzXSAgWzwwMDAwMDAwMDAxNjNmZTQ0Pl0gaXA2X291dHB1dCsweDFmNC8w eDU4MApbICAyNjQuOTY3OTUzXSAgWzwwMDAwMDAwMDAxNjM4ODJhPl0gaXA2X3htaXQrMHhmZWEv MHgxY2U4ClsgIDI2NC45Njc5NjNdICBbPDAwMDAwMDAwMDE3Mzk2ZTI+XSBpbmV0Nl9jc2tfeG1p dCsweDI4Mi8weDNmOApbICAyNjQuOTY4MDMzXSAgWzwwMDAwMDNmZjgwNWZiMGJhPl0gbDJ0cF94 bWl0X3NrYisweGUwMi8weDEzZTAgW2wydHBfY29yZV0KWyAgMjY0Ljk2ODAzN10gIFs8MDAwMDAz ZmY4MDYzMTE5Mj5dIGwydHBfZXRoX2Rldl94bWl0KzB4ZGEvMHgxNTAgW2wydHBfZXRoXQpbICAy NjQuOTY4MDQxXSAgWzwwMDAwMDAwMDAxMjIwMDIwPl0gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDI2 OC8weDkyOApbICAyNjQuOTY4MDY5XSAgWzwwMDAwMDAwMDAxMzMwZThlPl0gc2NoX2RpcmVjdF94 bWl0KzB4N2FlLzB4MTM1MApbICAyNjQuOTY4MDcxXSAgWzwwMDAwMDAwMDAxMjIzNTljPl0gX19k ZXZfcXVldWVfeG1pdCsweDJiN2MvMHgzNDc4ClsgIDI2NC45NjgwNzVdICBbPDAwMDAwMDAwMDEz ZDI4NjI+XSBpcF9maW5pc2hfb3V0cHV0MisweGNlMi8weDExYTAKWyAgMjY0Ljk2ODA3OF0gIFs8 MDAwMDAwMDAwMTNkOWIxND5dIGlwX2ZpbmlzaF9vdXRwdXQrMHg1NmMvMHg4YzgKWyAgMjY0Ljk2 ODA4MV0gIFs8MDAwMDAwMDAwMTNkZGQxZT5dIGlwX291dHB1dCsweDIyNi8weDRjMApbICAyNjQu OTY4MDgzXSAgWzwwMDAwMDAwMDAxM2RiZDZjPl0gX19pcF9xdWV1ZV94bWl0KzB4ODk0LzB4MTkz OApbICAyNjQuOTY4MTAwXSAgWzwwMDAwMDNmZjgwYmMzYTVjPl0gc2N0cF9wYWNrZXRfdHJhbnNt aXQrMHgyOWQ0LzB4MzY0OCBbc2N0cF0KWyAgMjY0Ljk2ODExNl0gIFs8MDAwMDAzZmY4MGI3YmY2 OD5dIHNjdHBfb3V0cV9mbHVzaF9jdHJsLmNvbnN0cHJvcC41KzB4OGQwLzB4ZTUwIFtzY3RwXQpb ICAyNjQuOTY4MTMxXSAgWzwwMDAwMDNmZjgwYjdjNzE2Pl0gc2N0cF9vdXRxX2ZsdXNoKzB4MjJl LzB4N2Q4IFtzY3RwXQpbICAyNjQuOTY4MTQ2XSAgWzwwMDAwMDNmZjgwYjM1YzY4Pl0gc2N0cF9j bWRfaW50ZXJwcmV0ZXIuaXNyYS4xNisweDUzMC8weDY4MDAgW3NjdHBdClsgIDI2NC45NjgxNjFd ICBbPDAwMDAwM2ZmODBiMzQxMGE+XSBzY3RwX2RvX3NtKzB4MjIyLzB4NjQ4IFtzY3RwXQpbICAy NjQuOTY4MTc3XSAgWzwwMDAwMDNmZjgwYmJkZGFjPl0gc2N0cF9wcmltaXRpdmVfQVNTT0NJQVRF KzB4YmMvMHhmOCBbc2N0cF0KWyAgMjY0Ljk2ODE5Ml0gIFs8MDAwMDAzZmY4MGI5MzMyOD5dIF9f c2N0cF9jb25uZWN0KzB4ODMwLzB4YzIwIFtzY3RwXQpbICAyNjQuOTY4MjA4XSAgWzwwMDAwMDNm ZjgwYmIxMWNlPl0gc2N0cF9pbmV0X2Nvbm5lY3QrMHgyZTYvMHgzNzggW3NjdHBdClsgIDI2NC45 NjgyMTJdICBbPDAwMDAwMDAwMDExOTc5NDI+XSBfX3N5c19jb25uZWN0KzB4MjFhLzB4NDUwClsg IDI2NC45NjgyMTVdICBbPDAwMDAwMDAwMDExOWFmZjg+XSBzeXNfc29ja2V0Y2FsbCsweDNkMC8w eGIwOApbICAyNjQuOTY4MjE4XSAgWzwwMDAwMDAwMDAxODRlYTdhPl0gc3lzdGVtX2NhbGwrMHgy YTIvMHgyYzAKClsuLi5dCgpKdXN0IGxpa2UgaXBfZmluaXNoX291dHB1dDIoKSBkb2VzIGZvciBJ UHY0LCBjaGVjayB0aGF0IHdlIGhhdmUgZW5vdWdoCmhlYWRyb29tIGluIGlwNl94bWl0KCksIGFu ZCByZWFsbG9jYXRlIGl0IGlmIHdlIGRvbid0LgoKVGhpcyBpc3N1ZSBpcyBvbGRlciB0aGFuIGdp dCBoaXN0b3J5LgoKUmVwb3J0ZWQtYnk6IEppYW5saW4gU2hpIDxqaXNoaUByZWRoYXQuY29tPgpT aWduZWQtb2ZmLWJ5OiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPgpTaWduZWQt b2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lw djYvaXA2X291dHB1dC5jIHwgNDIgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvaXA2X291dHB1dC5jIGIvbmV0L2lwdjYvaXA2X291dHB1 dC5jCmluZGV4IDlhYjFlMGZjYmMxMy4uN2NhODI2NGNiZGY5IDEwMDY0NAotLS0gYS9uZXQvaXB2 Ni9pcDZfb3V0cHV0LmMKKysrIGIvbmV0L2lwdjYvaXA2X291dHB1dC5jCkBAIC0xOTUsMzcgKzE5 NSwzNyBAQCBpbnQgaXA2X3htaXQoY29uc3Qgc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVm ZiAqc2tiLCBzdHJ1Y3QgZmxvd2k2ICpmbDYsCiAJY29uc3Qgc3RydWN0IGlwdjZfcGluZm8gKm5w ID0gaW5ldDZfc2soc2spOwogCXN0cnVjdCBpbjZfYWRkciAqZmlyc3RfaG9wID0gJmZsNi0+ZGFk ZHI7CiAJc3RydWN0IGRzdF9lbnRyeSAqZHN0ID0gc2tiX2RzdChza2IpOworCXVuc2lnbmVkIGlu dCBoZWFkX3Jvb207CiAJc3RydWN0IGlwdjZoZHIgKmhkcjsKIAl1OCAgcHJvdG8gPSBmbDYtPmZs b3dpNl9wcm90bzsKIAlpbnQgc2VnX2xlbiA9IHNrYi0+bGVuOwogCWludCBobGltaXQgPSAtMTsK IAl1MzIgbXR1OwogCi0JaWYgKG9wdCkgewotCQl1bnNpZ25lZCBpbnQgaGVhZF9yb29tOworCWhl YWRfcm9vbSA9IHNpemVvZihzdHJ1Y3QgaXB2NmhkcikgKyBMTF9SRVNFUlZFRF9TUEFDRShkc3Qt PmRldik7CisJaWYgKG9wdCkKKwkJaGVhZF9yb29tICs9IG9wdC0+b3B0X25mbGVuICsgb3B0LT5v cHRfZmxlbjsKIAotCQkvKiBGaXJzdDogZXh0aGRycyBtYXkgdGFrZSBsb3RzIG9mIHNwYWNlICh+ OEsgZm9yIG5vdykKLQkJICAgTUFYX0hFQURFUiBpcyBub3QgZW5vdWdoLgotCQkgKi8KLQkJaGVh ZF9yb29tID0gb3B0LT5vcHRfbmZsZW4gKyBvcHQtPm9wdF9mbGVuOwotCQlzZWdfbGVuICs9IGhl YWRfcm9vbTsKLQkJaGVhZF9yb29tICs9IHNpemVvZihzdHJ1Y3QgaXB2NmhkcikgKyBMTF9SRVNF UlZFRF9TUEFDRShkc3QtPmRldik7Ci0KLQkJaWYgKHNrYl9oZWFkcm9vbShza2IpIDwgaGVhZF9y b29tKSB7Ci0JCQlzdHJ1Y3Qgc2tfYnVmZiAqc2tiMiA9IHNrYl9yZWFsbG9jX2hlYWRyb29tKHNr YiwgaGVhZF9yb29tKTsKLQkJCWlmICghc2tiMikgewotCQkJCUlQNl9JTkNfU1RBVFMobmV0LCBp cDZfZHN0X2lkZXYoc2tiX2RzdChza2IpKSwKLQkJCQkJICAgICAgSVBTVEFUU19NSUJfT1VURElT Q0FSRFMpOwotCQkJCWtmcmVlX3NrYihza2IpOwotCQkJCXJldHVybiAtRU5PQlVGUzsKLQkJCX0K LQkJCWlmIChza2ItPnNrKQotCQkJCXNrYl9zZXRfb3duZXJfdyhza2IyLCBza2ItPnNrKTsKLQkJ CWNvbnN1bWVfc2tiKHNrYik7Ci0JCQlza2IgPSBza2IyOworCWlmICh1bmxpa2VseShza2JfaGVh ZHJvb20oc2tiKSA8IGhlYWRfcm9vbSkpIHsKKwkJc3RydWN0IHNrX2J1ZmYgKnNrYjIgPSBza2Jf cmVhbGxvY19oZWFkcm9vbShza2IsIGhlYWRfcm9vbSk7CisJCWlmICghc2tiMikgeworCQkJSVA2 X0lOQ19TVEFUUyhuZXQsIGlwNl9kc3RfaWRldihza2JfZHN0KHNrYikpLAorCQkJCSAgICAgIElQ U1RBVFNfTUlCX09VVERJU0NBUkRTKTsKKwkJCWtmcmVlX3NrYihza2IpOworCQkJcmV0dXJuIC1F Tk9CVUZTOwogCQl9CisJCWlmIChza2ItPnNrKQorCQkJc2tiX3NldF9vd25lcl93KHNrYjIsIHNr Yi0+c2spOworCQljb25zdW1lX3NrYihza2IpOworCQlza2IgPSBza2IyOworCX0KKworCWlmIChv cHQpIHsKKwkJc2VnX2xlbiArPSBvcHQtPm9wdF9uZmxlbiArIG9wdC0+b3B0X2ZsZW47CisKIAkJ aWYgKG9wdC0+b3B0X2ZsZW4pCiAJCQlpcHY2X3B1c2hfZnJhZ19vcHRzKHNrYiwgb3B0LCAmcHJv dG8pOworCiAJCWlmIChvcHQtPm9wdF9uZmxlbikKIAkJCWlwdjZfcHVzaF9uZnJhZ19vcHRzKHNr Yiwgb3B0LCAmcHJvdG8sICZmaXJzdF9ob3AsCiAJCQkJCSAgICAgJmZsNi0+c2FkZHIpOwotLSAK Mi4xOS4yCgoKRnJvbSBkNThiYzg4ZTVmNTk0NzRmYzIzNzQ0OWNhYzVjODdjODgzYjc5ZDk5IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRo YXQuY29tPgpEYXRlOiBUaHUsIDYgRGVjIDIwMTggMTk6MzA6MzcgKzAxMDAKU3ViamVjdDogW1BB VENIIDAzLzE1XSBuZWlnaGJvdXI6IEF2b2lkIHdyaXRpbmcgYmVmb3JlIHNrYi0+aGVhZCBpbgog bmVpZ2hfaGhfb3V0cHV0KCkKClsgVXBzdHJlYW0gY29tbWl0IGU2YWM2NGQ0YzRkMDk1MDg1ZDdk ZDcxY2JkMDU3MDRhYzk5ODI5YjIgXQoKV2hpbGUgc2tiX3B1c2goKSBtYWtlcyB0aGUga2VybmVs IHBhbmljIGlmIHRoZSBza2IgaGVhZHJvb20gaXMgbGVzcyB0aGFuCnRoZSB1bmFsaWduZWQgaGFy ZHdhcmUgaGVhZGVyIHNpemUsIGl0IHdpbGwgcHJvY2VlZCBub3JtYWxseSBpbiBjYXNlIHdlCmNv cHkgbW9yZSB0aGFuIHRoYXQgYmVjYXVzZSBvZiBhbGlnbm1lbnQsIGFuZCB3ZSdsbCBzaWxlbnRs eSBjb3JydXB0CmFkamFjZW50IHNsYWJzLgoKSW4gdGhlIGNhc2UgZml4ZWQgYnkgdGhlIHByZXZp b3VzIHBhdGNoLAoiaXB2NjogQ2hlY2sgYXZhaWxhYmxlIGhlYWRyb29tIGluIGlwNl94bWl0KCkg ZXZlbiB3aXRob3V0IG9wdGlvbnMiLCB3ZQplbmQgdXAgaW4gbmVpZ2hfaGhfb3V0cHV0KCkgd2l0 aCAxNCBieXRlcyBoZWFkcm9vbSwgMTQgYnl0ZXMgaGFyZHdhcmUKaGVhZGVyIGFuZCB3cml0ZSAx NiBieXRlcywgc3RhcnRpbmcgMiBieXRlcyBiZWZvcmUgdGhlIGFsbG9jYXRlZCBidWZmZXIuCgpB bHdheXMgY2hlY2sgd2UncmUgbm90IHdyaXRpbmcgYmVmb3JlIHNrYi0+aGVhZCBhbmQsIGlmIHRo ZSBoZWFkcm9vbSBpcwpub3QgZW5vdWdoLCB3YXJuIGFuZCBkcm9wIHRoZSBwYWNrZXQuCgp2MjoK IC0gaW5zdGVhZCBvZiBwYW5pY2tpbmcgd2l0aCBCVUdfT04oKSwgV0FSTl9PTl9PTkNFKCkgYW5k IGRyb3AgdGhlIHBhY2tldAogICAoRXJpYyBEdW1hemV0KQogLSBpZiB3ZSBhdm9pZCB0aGUgcGFu aWMsIHRob3VnaCwgd2UgbmVlZCB0byBleHBsaWNpdGx5IGNoZWNrIHRoZSBoZWFkcm9vbQogICBi ZWZvcmUgdGhlIG1lbWNweSgpLCBvdGhlcndpc2Ugd2UnbGwgaGF2ZSBjb3JydXB0ZWQgc2xhYnMg b24gYSBydW5uaW5nCiAgIGtlcm5lbCwgYWZ0ZXIgd2Ugd2FybgogLSB1c2UgX19za2JfcHVzaCgp IGluc3RlYWQgb2Ygc2tiX3B1c2goKSwgYXMgdGhlIGhlYWRyb29tIGNoZWNrIGlzCiAgIGFscmVh ZHkgaW1wbGVtZW50ZWQgaGVyZSBleHBsaWNpdGx5IChFcmljIER1bWF6ZXQpCgpTaWduZWQtb2Zm LWJ5OiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9uZXQvbmVp Z2hib3VyLmggfCAyOCArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgMjMgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRl L25ldC9uZWlnaGJvdXIuaCBiL2luY2x1ZGUvbmV0L25laWdoYm91ci5oCmluZGV4IGE5NjQzNjZh N2VmNS4uMzkzMDk5YjE5MDFhIDEwMDY0NAotLS0gYS9pbmNsdWRlL25ldC9uZWlnaGJvdXIuaAor KysgYi9pbmNsdWRlL25ldC9uZWlnaGJvdXIuaApAQCAtNDUyLDYgKzQ1Miw3IEBAIHN0YXRpYyBp bmxpbmUgaW50IG5laWdoX2hoX2JyaWRnZShzdHJ1Y3QgaGhfY2FjaGUgKmhoLCBzdHJ1Y3Qgc2tf YnVmZiAqc2tiKQogCiBzdGF0aWMgaW5saW5lIGludCBuZWlnaF9oaF9vdXRwdXQoY29uc3Qgc3Ry dWN0IGhoX2NhY2hlICpoaCwgc3RydWN0IHNrX2J1ZmYgKnNrYikKIHsKKwl1bnNpZ25lZCBpbnQg aGhfYWxlbiA9IDA7CiAJdW5zaWduZWQgaW50IHNlcTsKIAl1bnNpZ25lZCBpbnQgaGhfbGVuOwog CkBAIC00NTksMTYgKzQ2MCwzMyBAQCBzdGF0aWMgaW5saW5lIGludCBuZWlnaF9oaF9vdXRwdXQo Y29uc3Qgc3RydWN0IGhoX2NhY2hlICpoaCwgc3RydWN0IHNrX2J1ZmYgKnNrYgogCQlzZXEgPSBy ZWFkX3NlcWJlZ2luKCZoaC0+aGhfbG9jayk7CiAJCWhoX2xlbiA9IGhoLT5oaF9sZW47CiAJCWlm IChsaWtlbHkoaGhfbGVuIDw9IEhIX0RBVEFfTU9EKSkgewotCQkJLyogdGhpcyBpcyBpbmxpbmVk IGJ5IGdjYyAqLwotCQkJbWVtY3B5KHNrYi0+ZGF0YSAtIEhIX0RBVEFfTU9ELCBoaC0+aGhfZGF0 YSwgSEhfREFUQV9NT0QpOworCQkJaGhfYWxlbiA9IEhIX0RBVEFfTU9EOworCisJCQkvKiBza2Jf cHVzaCgpIHdvdWxkIHByb2NlZWQgc2lsZW50bHkgaWYgd2UgaGF2ZSByb29tIGZvcgorCQkJICog dGhlIHVuYWxpZ25lZCBzaXplIGJ1dCBub3QgZm9yIHRoZSBhbGlnbmVkIHNpemU6CisJCQkgKiBj aGVjayBoZWFkcm9vbSBleHBsaWNpdGx5LgorCQkJICovCisJCQlpZiAobGlrZWx5KHNrYl9oZWFk cm9vbShza2IpID49IEhIX0RBVEFfTU9EKSkgeworCQkJCS8qIHRoaXMgaXMgaW5saW5lZCBieSBn Y2MgKi8KKwkJCQltZW1jcHkoc2tiLT5kYXRhIC0gSEhfREFUQV9NT0QsIGhoLT5oaF9kYXRhLAor CQkJCSAgICAgICBISF9EQVRBX01PRCk7CisJCQl9CiAJCX0gZWxzZSB7Ci0JCQl1bnNpZ25lZCBp bnQgaGhfYWxlbiA9IEhIX0RBVEFfQUxJR04oaGhfbGVuKTsKKwkJCWhoX2FsZW4gPSBISF9EQVRB X0FMSUdOKGhoX2xlbik7CiAKLQkJCW1lbWNweShza2ItPmRhdGEgLSBoaF9hbGVuLCBoaC0+aGhf ZGF0YSwgaGhfYWxlbik7CisJCQlpZiAobGlrZWx5KHNrYl9oZWFkcm9vbShza2IpID49IGhoX2Fs ZW4pKSB7CisJCQkJbWVtY3B5KHNrYi0+ZGF0YSAtIGhoX2FsZW4sIGhoLT5oaF9kYXRhLAorCQkJ CSAgICAgICBoaF9hbGVuKTsKKwkJCX0KIAkJfQogCX0gd2hpbGUgKHJlYWRfc2VxcmV0cnkoJmho LT5oaF9sb2NrLCBzZXEpKTsKIAotCXNrYl9wdXNoKHNrYiwgaGhfbGVuKTsKKwlpZiAoV0FSTl9P Tl9PTkNFKHNrYl9oZWFkcm9vbShza2IpIDwgaGhfYWxlbikpIHsKKwkJa2ZyZWVfc2tiKHNrYik7 CisJCXJldHVybiBORVRfWE1JVF9EUk9QOworCX0KKworCV9fc2tiX3B1c2goc2tiLCBoaF9sZW4p OwogCXJldHVybiBkZXZfcXVldWVfeG1pdChza2IpOwogfQogCi0tIAoyLjE5LjIKCgpGcm9tIDA1 YTgyOTRkNDcyZWEzMDAzNDBkNWRlZDQyOGY4Njg2ZGQyNDNkMjQgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IFNobXVsaWsgTGFka2FuaSA8c2htdWxpa0BtZXRhbmV0d29ya3MuY29tPgpE YXRlOiBGcmksIDcgRGVjIDIwMTggMDk6NTA6MTcgKzAyMDAKU3ViamVjdDogW1BBVENIIDA0LzE1 XSBpcHY2OiBzcjogcHJvcGVybHkgaW5pdGlhbGl6ZSBmbG93aTYgcHJpb3IgcGFzc2luZyB0bwog aXA2X3JvdXRlX291dHB1dAoKWyBVcHN0cmVhbSBjb21taXQgMWI0ZTVhZDVkNmI5ZjE1Y2QwYjUx MjFmODZkNDcxOTE2NTk1ODQxNyBdCgpJbiAnc2VnNl9vdXRwdXQnLCBzdGFjayB2YXJpYWJsZSAn c3RydWN0IGZsb3dpNiBmbDYnIHdhcyBtaXNzaW5nCmluaXRpYWxpemF0aW9uLgoKRml4ZXM6IDZj ODcwMmM2MGI4OCAoImlwdjY6IHNyOiBhZGQgc3VwcG9ydCBmb3IgU1JIIGVuY2Fwc3VsYXRpb24g YW5kIGluamVjdGlvbiB3aXRoIGx3dHVubmVscyIpClNpZ25lZC1vZmYtYnk6IFNobXVsaWsgTGFk a2FuaSA8c2htdWxpay5sYWRrYW5pQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4g TWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY2L3NlZzZfaXB0dW5uZWwu YyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvbmV0 L2lwdjYvc2VnNl9pcHR1bm5lbC5jIGIvbmV0L2lwdjYvc2VnNl9pcHR1bm5lbC5jCmluZGV4IGJm NDc2M2ZkNjhjMi4uY2Y5MzQyYmZlOTVhIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9zZWc2X2lwdHVu bmVsLmMKKysrIGIvbmV0L2lwdjYvc2VnNl9pcHR1bm5lbC5jCkBAIC0zMjcsNiArMzI3LDcgQEAg c3RhdGljIGludCBzZWc2X291dHB1dChzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBzb2NrICpzaywg c3RydWN0IHNrX2J1ZmYgKnNrYikKIAkJc3RydWN0IGlwdjZoZHIgKmhkciA9IGlwdjZfaGRyKHNr Yik7CiAJCXN0cnVjdCBmbG93aTYgZmw2OwogCisJCW1lbXNldCgmZmw2LCAwLCBzaXplb2YoZmw2 KSk7CiAJCWZsNi5kYWRkciA9IGhkci0+ZGFkZHI7CiAJCWZsNi5zYWRkciA9IGhkci0+c2FkZHI7 CiAJCWZsNi5mbG93bGFiZWwgPSBpcDZfZmxvd2luZm8oaGRyKTsKLS0gCjIuMTkuMgoKCkZyb20g MWZiMmNiNWVmOWMyY2JhYTc2MGRhNTgxOTlkMDA5Y2Q3NzFlOWI3YSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogU3UgWWFuanVuIDxzdXlqLmZuc3RAY24uZnVqaXRzdS5jb20+CkRhdGU6 IE1vbiwgMyBEZWMgMjAxOCAxNTozMzowNyArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDUvMTVdIG5l dDogODEzOWNwOiBmaXggYSBCVUcgdHJpZ2dlcmVkIGJ5IGNoYW5naW5nIG10dSB3aXRoCiBuZXR3 b3JrIHRyYWZmaWMKClsgVXBzdHJlYW0gY29tbWl0IGE1ZDRhODkyNDVlYWQxZjM3ZWQxMzUyMTM2 NTNjNWJlZWJlYTQyMzcgXQoKV2hlbiBjaGFuZ2luZyBtdHUgbWFueSB0aW1lcyB3aXRoIHRyYWZm aWMsIGEgYnVnIGlzIHRyaWdnZXJlZDoKClsgMTAzNS42ODQwMzddIGtlcm5lbCBCVUcgYXQgbGli L2R5bmFtaWNfcXVldWVfbGltaXRzLmM6MjYhClsgMTAzNS42ODQwNDJdIGludmFsaWQgb3Bjb2Rl OiAwMDAwIFsjMV0gU01QClsgMTAzNS42ODQwNDldIE1vZHVsZXMgbGlua2VkIGluOiBsb29wIGJp bmZtdF9taXNjIDgxMzljcChPRSkgbWFjc2VjCnRjcF9kaWFnIHVkcF9kaWFnIGluZXRfZGlhZyB1 bml4X2RpYWcgYWZfcGFja2V0X2RpYWcgbmV0bGlua19kaWFnIHRjcF9scApmdXNlIHVpbnB1dCB4 dF9DSEVDS1NVTSBpcHRhYmxlX21hbmdsZSBpcHRfTUFTUVVFUkFERQpuZl9uYXRfbWFzcXVlcmFk ZV9pcHY0IGlwdGFibGVfbmF0IG5mX25hdF9pcHY0IG5mX25hdCBuZl9jb25udHJhY2tfaXB2NApu Zl9kZWZyYWdfaXB2NCB4dF9jb25udHJhY2sgbmZfY29ubnRyYWNrIGlwdF9SRUpFQ1QgbmZfcmVq ZWN0X2lwdjQgdHVuCmJyaWRnZSBzdHAgbGxjIGVidGFibGVfZmlsdGVyIGVidGFibGVzIGlwNnRh YmxlX2ZpbHRlciBkZXZsaW5rCmlwNl90YWJsZXMgaXB0YWJsZV9maWx0ZXIgc3VucnBjIHNuZF9o ZGFfY29kZWNfZ2VuZXJpYyBzbmRfaGRhX2ludGVsCnNuZF9oZGFfY29kZWMgc25kX2hkYV9jb3Jl IHNuZF9od2RlcCBwcGRldiBzbmRfc2VxIGlvc2ZfbWJpIGNyYzMyX3BjbG11bApwYXJwb3J0X3Bj IHNuZF9zZXFfZGV2aWNlIGdoYXNoX2NsbXVsbmlfaW50ZWwgcGFycG9ydCBzbmRfcGNtCmFlc25p X2ludGVsIGpveWRldiBscncgc25kX3RpbWVyIHZpcnRpb19iYWxsb29uIHNnIGdmMTI4bXVsIGds dWVfaGVscGVyCmFibGtfaGVscGVyIGNyeXB0ZCBzbmQgc291bmRjb3JlIGkyY19waWl4NCBwY3Nw a3IgaXBfdGFibGVzIHhmcwpsaWJjcmMzMmMgc3JfbW9kIHNkX21vZCBjZHJvbSBjcmNfdDEwZGlm IGNyY3QxMGRpZl9nZW5lcmljIGF0YV9nZW5lcmljClsgMTAzNS42ODQxMDJdICBwYXRhX2FjcGkg dmlydGlvX2NvbnNvbGUgcXhsIGRybV9rbXNfaGVscGVyIHN5c2NvcHlhcmVhCnN5c2ZpbGxyZWN0 IHN5c2ltZ2JsdCBmbG9wcHkgZmJfc3lzX2ZvcHMgY3JjdDEwZGlmX3BjbG11bApjcmN0MTBkaWZf Y29tbW9uIHR0bSBjcmMzMmNfaW50ZWwgc2VyaW9fcmF3IGF0YV9waWl4IGRybSBsaWJhdGEgODEz OXRvbwp2aXJ0aW9fcGNpIGRybV9wYW5lbF9vcmllbnRhdGlvbl9xdWlya3MgdmlydGlvX3Jpbmcg dmlydGlvIG1paSBkbV9taXJyb3IKZG1fcmVnaW9uX2hhc2ggZG1fbG9nIGRtX21vZCBbbGFzdCB1 bmxvYWRlZDogODEzOWNwXQpbIDEwMzUuNjg0MTMyXSBDUFU6IDkgUElEOiAyNTE0MCBDb21tOiBp Zi1tdHUtY2hhbmdlIEtkdW1wOiBsb2FkZWQKVGFpbnRlZDogRyAgICAgICAgICAgT0UgIC0tLS0t LS0tLS0tLSBUIDMuMTAuMC05NTcuZWw3Lng4Nl82NCAjMQpbIDEwMzUuNjg0MTM0XSBIYXJkd2Fy ZSBuYW1lOiBSZWQgSGF0IEtWTSwgQklPUyAwLjUuMSAwMS8wMS8yMDExClsgMTAzNS42ODQxMzZd IHRhc2s6IGZmZmY4ZjU5YjFmNWEwODAgdGk6IGZmZmY4ZjVhMmUzMmMwMDAgdGFzay50aToKZmZm ZjhmNWEyZTMyYzAwMApbIDEwMzUuNjg0MTQ5XSBSSVA6IDAwMTA6WzxmZmZmZmZmZmJhM2E0MGQw Pl0gIFs8ZmZmZmZmZmZiYTNhNDBkMD5dCmRxbF9jb21wbGV0ZWQrMHgxODAvMHgxOTAKWyAxMDM1 LjY4NDE2Ml0gUlNQOiAwMDAwOmZmZmY4ZjVhNzU0ODNlNTAgIEVGTEFHUzogMDAwMTAwOTMKWyAx MDM1LjY4NDE2Ml0gUkFYOiAwMDAwMDAwMDAwMDAwMGMyIFJCWDogZmZmZjhmNWE2ZjkxYzAwMCBS Q1g6CjAwMDAwMDAwMDAwMDAwMDAKWyAxMDM1LjY4NDE2Ml0gUkRYOiAwMDAwMDAwMDAwMDAwMDAw IFJTSTogMDAwMDAwMDAwMDAwMDE4NCBSREk6CmZmZmY4ZjU5OWZlYTNlYzAKWyAxMDM1LjY4NDE2 Ml0gUkJQOiBmZmZmOGY1YTc1NDgzZWE4IFIwODogMDAwMDAwMDAwMDAwMDBjMiBSMDk6CjAwMDAw MDAwMDAwMDAwMDAKWyAxMDM1LjY4NDE2Ml0gUjEwOiAwMDAwMDAwMDAwMDYxNmVmIFIxMTogZmZm ZjhmNWE3NTQ4M2I1NiBSMTI6CmZmZmY4ZjU5OWZlYTNlMDAKWyAxMDM1LjY4NDE2Ml0gUjEzOiAw MDAwMDAwMDAwMDAwMDAxIFIxNDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6CjAwMDAwMDAwMDAwMDAx ODQKWyAxMDM1LjY4NDE2Ml0gRlM6ICAwMDAwN2ZhODQzNGRlNzQwKDAwMDApIEdTOmZmZmY4ZjVh NzU0ODAwMDAoMDAwMCkKa25sR1M6MDAwMDAwMDAwMDAwMDAwMApbIDEwMzUuNjg0MTYyXSBDUzog IDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzClsgMTAzNS42ODQx NjJdIENSMjogMDAwMDAwMDAwMDQzMDVkMCBDUjM6IDAwMDAwMDAyNGViNjYwMDAgQ1I0OgowMDAw MDAwMDAwMTQwNmUwClsgMTAzNS42ODQxNjJdIENhbGwgVHJhY2U6ClsgMTAzNS42ODQxNjJdICA8 SVJRPgpbIDEwMzUuNjg0MTYyXSAgWzxmZmZmZmZmZmMwOGNiYWY4Pl0gPyBjcF9pbnRlcnJ1cHQr MHg0NzgvMHg1ODAgWzgxMzljcF0KWyAxMDM1LjY4NDE2Ml0gIFs8ZmZmZmZmZmZiYTE0YTI5ND5d Cl9faGFuZGxlX2lycV9ldmVudF9wZXJjcHUrMHg0NC8weDFjMApbIDEwMzUuNjg0MTYyXSAgWzxm ZmZmZmZmZmJhMTRhNDQyPl0gaGFuZGxlX2lycV9ldmVudF9wZXJjcHUrMHgzMi8weDgwClsgMTAz NS42ODQxNjJdICBbPGZmZmZmZmZmYmExNGE0Y2M+XSBoYW5kbGVfaXJxX2V2ZW50KzB4M2MvMHg2 MApbIDEwMzUuNjg0MTYyXSAgWzxmZmZmZmZmZmJhMTRkYjI5Pl0gaGFuZGxlX2Zhc3Rlb2lfaXJx KzB4NTkvMHgxMTAKWyAxMDM1LjY4NDE2Ml0gIFs8ZmZmZmZmZmZiYTAyZTU1ND5dIGhhbmRsZV9p cnErMHhlNC8weDFhMApbIDEwMzUuNjg0MTYyXSAgWzxmZmZmZmZmZmJhNzc5NWRkPl0gZG9fSVJR KzB4NGQvMHhmMApbIDEwMzUuNjg0MTYyXSAgWzxmZmZmZmZmZmJhNzZiMzYyPl0gY29tbW9uX2lu dGVycnVwdCsweDE2Mi8weDE2MgpbIDEwMzUuNjg0MTYyXSAgPEVPST4KWyAxMDM1LjY4NDE2Ml0g IFs8ZmZmZmZmZmZiYTBjMmFlND5dID8gX193YWtlX3VwX2JpdCsweDI0LzB4NzAKWyAxMDM1LjY4 NDE2Ml0gIFs8ZmZmZmZmZmZiYTFlNDZmNT5dID8gZG9fc2V0X3B0ZSsweGQ1LzB4MTIwClsgMTAz NS42ODQxNjJdICBbPGZmZmZmZmZmYmExYjY0ZmI+XSB1bmxvY2tfcGFnZSsweDJiLzB4MzAKWyAx MDM1LjY4NDE2Ml0gIFs8ZmZmZmZmZmZiYTFlNDg3OT5dIGRvX3JlYWRfZmF1bHQuaXNyYS42MSsw eDEzOS8weDFiMApbIDEwMzUuNjg0MTYyXSAgWzxmZmZmZmZmZmJhMWU5MTM0Pl0gaGFuZGxlX3B0 ZV9mYXVsdCsweDJmNC8weGQxMApbIDEwMzUuNjg0MTYyXSAgWzxmZmZmZmZmZmJhMWViYzZkPl0g aGFuZGxlX21tX2ZhdWx0KzB4MzlkLzB4OWIwClsgMTAzNS42ODQxNjJdICBbPGZmZmZmZmZmYmE3 NmY1ZTM+XSBfX2RvX3BhZ2VfZmF1bHQrMHgyMDMvMHg1MDAKWyAxMDM1LjY4NDE2Ml0gIFs8ZmZm ZmZmZmZiYTc2ZjljNj5dIHRyYWNlX2RvX3BhZ2VfZmF1bHQrMHg1Ni8weDE1MApbIDEwMzUuNjg0 MTYyXSAgWzxmZmZmZmZmZmJhNzZlZjQyPl0gZG9fYXN5bmNfcGFnZV9mYXVsdCsweDIyLzB4ZjAK WyAxMDM1LjY4NDE2Ml0gIFs8ZmZmZmZmZmZiYTc2Yjc4OD5dIGFzeW5jX3BhZ2VfZmF1bHQrMHgy OC8weDMwClsgMTAzNS42ODQxNjJdIENvZGU6IDU0IGM3IDQ3IDU0IGZmIGZmIGZmIGZmIDQ0IDBm IDQ5IGNlIDQ4IDhiIDM1IDQ4IDJmCjljIDAwIDQ4IDg5IDc3IDU4IGU5IGZlIGZlIGZmIGZmIDBm IDFmIDgwIDAwIDAwIDAwIDAwIDQxIDg5IGQxIGU5IGVmIGZlCmZmIGZmIDwwZj4gMGIgNjYgMmUg MGYgMWYgODQgMDAgMDAgMDAgMDAgMDAgMGYgMWYgNDAgMDAgNTUgOGQgNDIgZmYgNDgKWyAxMDM1 LjY4NDE2Ml0gUklQICBbPGZmZmZmZmZmYmEzYTQwZDA+XSBkcWxfY29tcGxldGVkKzB4MTgwLzB4 MTkwClsgMTAzNS42ODQxNjJdICBSU1AgPGZmZmY4ZjVhNzU0ODNlNTA+CgpJdCdzIG5vdCB0aGUg c2FtZSBhcyBpbiA3ZmUwZWUwOSBwYXRjaCBkZXNjcmliZWQuCkFzIDgxMzljcCB1c2VzIHNoYXJl ZCBpcnEgbW9kZSwgb3RoZXIgZGV2aWNlIGlycSB3aWxsIHRyaWdnZXIKY3BfaW50ZXJydXB0IHRv IGV4ZWN1dGUuCgpjcF9jaGFuZ2VfbXR1CiAtPiBjcF9jbG9zZQogLT4gY3Bfb3BlbgoKSW4gY3Bf Y2xvc2Ugcm91dGluZSAganVzdCBiZWZvcmUgZnJlZV9pcnEoKSwgc29tZSBpbnRlcnJ1cHQgbWF5 IG9jY3VyLgpJbiBteSBlbnZpcm9ubWVudCwgY3BfaW50ZXJydXB0IGV4ZWN0dXRlcyBhbmQgSW50 clN0YXR1cyBpcyAweDQsCmV4YWN0bHkgVHhPay4gVGhhdCB3aWxsIGNhdXNlIGNwX3R4IHRvIHdh a2UgZGV2aWNlIHF1ZXVlLgoKQXMgZGV2aWNlIHF1ZXVlIGlzIHN0YXJ0ZWQsIGNwX3N0YXJ0X3ht aXQgYW5kIGNwX29wZW4gd2lsbCBydW4gYXQgc2FtZQp0aW1lIHdoaWNoIHdpbGwgY2F1c2Uga2Vy bmVsIEJVRy4KCkZvciBleGFtcGxlOgpbI10gZm9yIHR4IGRlc2NyaXB0b3IKCkF0IHN0YXJ0OgoK WyNdWyNdWyNdCm51bV9xdWV1ZWQ9MwoKQWZ0ZXIgY3BfaW5pdF9ody0+Y3Bfc3RhcnRfaHctPm5l dGRldl9yZXNldF9xdWV1ZToKClsjXVsjXVsjXQpudW1fcXVldWVkPTAKCldoZW4gODEzOWNwIHN0 YXJ0cyB0byB3b3JrIHRoZW4gY3BfdHggd2lsbCBjaGVjawpudW1fcXVldWVkIG1pc21hdGNocyB0 aGUgY29tcGxldGVfYnl0ZXMuCgpUaGUgcGF0Y2ggd2lsbCBjaGVjayBJbnRyTWFzayBiZWZvcmUg Y2hlY2sgSW50clN0YXR1cyBpbiBjcF9pbnRlcnJ1cHQuCldoZW4gODEzOWNwIGludGVycnVwdCBp cyBkaXNhYmxlZCwganVzdCByZXR1cm4uCgpTaWduZWQtb2ZmLWJ5OiBTdSBZYW5qdW4gPHN1eWou Zm5zdEBjbi5mdWppdHN1LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZl bUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L3JlYWx0ZWsvODEzOWNw LmMgfCA1ICsrKysrCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay84MTM5Y3AuYyBiL2RyaXZlcnMvbmV0L2V0 aGVybmV0L3JlYWx0ZWsvODEzOWNwLmMKaW5kZXggZTdhYjIzZTg3ZGUyLi5kMWU4ODcxMmEyNzUg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3JlYWx0ZWsvODEzOWNwLmMKKysrIGIv ZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay84MTM5Y3AuYwpAQCAtNTcxLDYgKzU3MSw3IEBA IHN0YXRpYyBpcnFyZXR1cm5fdCBjcF9pbnRlcnJ1cHQgKGludCBpcnEsIHZvaWQgKmRldl9pbnN0 YW5jZSkKIAlzdHJ1Y3QgY3BfcHJpdmF0ZSAqY3A7CiAJaW50IGhhbmRsZWQgPSAwOwogCXUxNiBz dGF0dXM7CisJdTE2IG1hc2s7CiAKIAlpZiAodW5saWtlbHkoZGV2ID09IE5VTEwpKQogCQlyZXR1 cm4gSVJRX05PTkU7CkBAIC01NzgsNiArNTc5LDEwIEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBjcF9p bnRlcnJ1cHQgKGludCBpcnEsIHZvaWQgKmRldl9pbnN0YW5jZSkKIAogCXNwaW5fbG9jaygmY3At PmxvY2spOwogCisJbWFzayA9IGNwcjE2KEludHJNYXNrKTsKKwlpZiAoIW1hc2spCisJCWdvdG8g b3V0X3VubG9jazsKKwogCXN0YXR1cyA9IGNwcjE2KEludHJTdGF0dXMpOwogCWlmICghc3RhdHVz IHx8IChzdGF0dXMgPT0gMHhGRkZGKSkKIAkJZ290byBvdXRfdW5sb2NrOwotLSAKMi4xOS4yCgoK RnJvbSAyNmEwZTc0NGVkMWEzMGY1NDVhOTYyMThmMWFkOGQ1YzVmYTdkOWNhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUYXJpY2sgQmVkZWlyIDx0YXJpY2tAZ29vZ2xlLmNvbT4KRGF0 ZTogRnJpLCA3IERlYyAyMDE4IDAwOjMwOjI2IC0wODAwClN1YmplY3Q6IFtQQVRDSCAwNi8xNV0g bmV0L21seDRfY29yZTogQ29ycmVjdGx5IHNldCBQRkMgcGFyYW0gaWYgZ2xvYmFsIHBhdXNlCiBp cyB0dXJuZWQgb2ZmLgoKWyBVcHN0cmVhbSBjb21taXQgYmQ1MTIyY2QxZTA2NDRkOGJkOGRkODQ1 MTdjOTMyNzczZTk5OTc2NiBdCgpyeF9wcHAgYW5kIHR4X3BwcCBjYW4gYmUgc2V0IGJldHdlZW4g MCBhbmQgMjU1LCBzbyBkb24ndCBjbGFtcCB0byAxLgoKRml4ZXM6IDZlODgxNGNlYjdlOCAoIm5l dC9tbHg0X2VuOiBGaXggbWl4ZWQgUEZDIGFuZCBHbG9iYWwgcGF1c2UgdXNlciBjb250cm9sIHJl cXVlc3RzIikKU2lnbmVkLW9mZi1ieTogVGFyaWNrIEJlZGVpciA8dGFyaWNrQGdvb2dsZS5jb20+ ClJldmlld2VkLWJ5OiBFcmFuIEJlbiBFbGlzaGEgPGVyYW5iZUBtZWxsYW5veC5jb20+ClNpZ25l ZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2 ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX2V0aHRvb2wuYyB8IDQgKystLQogMSBm aWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX2V0aHRvb2wuYyBiL2RyaXZl cnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDQvZW5fZXRodG9vbC5jCmluZGV4IDVmZTU2ZGM0 Y2ZhZS4uNTM2M2NlZTg4YTBhIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxs YW5veC9tbHg0L2VuX2V0aHRvb2wuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg0L2VuX2V0aHRvb2wuYwpAQCAtMTA3MCw4ICsxMDcwLDggQEAgc3RhdGljIGludCBtbHg0 X2VuX3NldF9wYXVzZXBhcmFtKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAKIAl0eF9wYXVzZSA9 ICEhKHBhdXNlLT50eF9wYXVzZSk7CiAJcnhfcGF1c2UgPSAhIShwYXVzZS0+cnhfcGF1c2UpOwot CXJ4X3BwcCA9IHByaXYtPnByb2YtPnJ4X3BwcCAmJiAhKHR4X3BhdXNlIHx8IHJ4X3BhdXNlKTsK LQl0eF9wcHAgPSBwcml2LT5wcm9mLT50eF9wcHAgJiYgISh0eF9wYXVzZSB8fCByeF9wYXVzZSk7 CisJcnhfcHBwID0gKHR4X3BhdXNlIHx8IHJ4X3BhdXNlKSA/IDAgOiBwcml2LT5wcm9mLT5yeF9w cHA7CisJdHhfcHBwID0gKHR4X3BhdXNlIHx8IHJ4X3BhdXNlKSA/IDAgOiBwcml2LT5wcm9mLT50 eF9wcHA7CiAKIAllcnIgPSBtbHg0X1NFVF9QT1JUX2dlbmVyYWwobWRldi0+ZGV2LCBwcml2LT5w b3J0LAogCQkJCSAgICBwcml2LT5yeF9za2Jfc2l6ZSArIEVUSF9GQ1NfTEVOLAotLSAKMi4xOS4y CgoKRnJvbSA3NDllMWJjYjMyMTRkODRlNDQ5ZTY5ZmViMzhmODk0N2Y0OTdiOTI1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmFuIEJlbiBFbGlzaGEgPGVyYW5iZUBtZWxsYW5veC5j b20+CkRhdGU6IFN1biwgMiBEZWMgMjAxOCAxNDozNDozNiArMDIwMApTdWJqZWN0OiBbUEFUQ0gg MDcvMTVdIG5ldC9tbHg0X2VuOiBDaGFuZ2UgbWluIE1UVSBzaXplIHRvIEVUSF9NSU5fTVRVCgpb IFVwc3RyZWFtIGNvbW1pdCAyNGJlMTllNDc3NzlkNjA0ZDE0OTJjMTE0NDU5ZGNhOWE5MmFjZjc4 IF0KCk5JQyBkcml2ZXIgbWluaW1hbCBNVFUgc2l6ZSBzaGFsbCBiZSBzZXQgdG8gRVRIX01JTl9N VFUsIGFzIGRlZmluZWQgaW4KdGhlIFJGQzc5MSBhbmQgaW4gdGhlIG5ldHdvcmsgc3RhY2suIFJl bW92ZSBvbGQgbWx4NF9lbiBvbmx5IGRlZmluZSBmb3IKaXQsIHdoaWNoIHdhcyBzZXQgdG8gd3Jv bmcgdmFsdWUuCgpGaXhlczogYjgwZjcxZjU4MTZmICgiZXRoZXJuZXQvbWVsbGFub3g6IHVzZSBj b3JlIG1pbi9tYXggTVRVIGNoZWNraW5nIikKU2lnbmVkLW9mZi1ieTogRXJhbiBCZW4gRWxpc2hh IDxlcmFuYmVAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBUYXJpcSBUb3VrYW4gPHRhcmlx dEBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX25l dGRldi5jIHwgNCArKy0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L21seDRf ZW4uaCAgIHwgMSAtCiAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2Vu X25ldGRldi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lbl9uZXRkZXYu YwppbmRleCBmYWE0YmQyMWYxNDguLjBmYjg1ZDcxYzExYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lbl9uZXRkZXYuYworKysgYi9kcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX25ldGRldi5jCkBAIC0zNTA1LDggKzM1MDUsOCBAQCBp bnQgbWx4NF9lbl9pbml0X25ldGRldihzdHJ1Y3QgbWx4NF9lbl9kZXYgKm1kZXYsIGludCBwb3J0 LAogCQlkZXYtPmdzb19wYXJ0aWFsX2ZlYXR1cmVzID0gTkVUSUZfRl9HU09fVURQX1RVTk5FTF9D U1VNOwogCX0KIAotCS8qIE1UVSByYW5nZTogNDYgLSBody1zcGVjaWZpYyBtYXggKi8KLQlkZXYt Pm1pbl9tdHUgPSBNTFg0X0VOX01JTl9NVFU7CisJLyogTVRVIHJhbmdlOiA2OCAtIGh3LXNwZWNp ZmljIG1heCAqLworCWRldi0+bWluX210dSA9IEVUSF9NSU5fTVRVOwogCWRldi0+bWF4X210dSA9 IHByaXYtPm1heF9tdHU7CiAKIAltZGV2LT5wbmRldltwb3J0XSA9IGRldjsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDQvbWx4NF9lbi5oIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9tbHg0X2VuLmgKaW5kZXggMDlmNDc2NGEzZjM5Li5i ZGQ4NzQzOGEzNTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21s eDQvbWx4NF9lbi5oCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDQvbWx4 NF9lbi5oCkBAIC0xNTcsNyArMTU3LDYgQEAKICNkZWZpbmUgSEVBREVSX0NPUFlfU0laRSAgICAg ICAoMTI4IC0gTkVUX0lQX0FMSUdOKQogI2RlZmluZSBNTFg0X0xPT1BCQUNLX1RFU1RfUEFZTE9B RCAoSEVBREVSX0NPUFlfU0laRSAtIEVUSF9ITEVOKQogCi0jZGVmaW5lIE1MWDRfRU5fTUlOX01U VQkJNDYKIC8qIFZMQU5fSExFTiBpcyBhZGRlZCB0d2ljZSx0byBzdXBwb3J0IHNrYiB2bGFuIHRh Z2dlZCB3aXRoIG11bHRpcGxlCiAgKiBoZWFkZXJzLiAoRm9yIGV4YW1wbGU6IEVUSF9QXzgwMjFR IGFuZCBFVEhfUF84MDIxQUQpLgogICovCi0tIAoyLjE5LjIKCgpGcm9tIDllNmE3Njg0ZWI1NTQ5 NzJiZTU4YzI1MGU1YzE2MzVmNDMxMjRlNzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IEhlaW5lciBLYWxsd2VpdCA8aGthbGx3ZWl0MUBnbWFpbC5jb20+CkRhdGU6IE1vbiwgMyBEZWMg MjAxOCAwODoxOTozMyArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMTVdIG5ldDogcGh5OiBkb24n dCBhbGxvdyBfX3NldF9waHlfc3VwcG9ydGVkIHRvIGFkZAogdW5zdXBwb3J0ZWQgbW9kZXMKClsg VXBzdHJlYW0gY29tbWl0IGQyYTM2OTcxZWY1OTUwNjliN2E2MDBkMTE0NGMyZTA4ODFhOTMwYTEg XQoKQ3VycmVudGx5IF9fc2V0X3BoeV9zdXBwb3J0ZWQgYWxsb3dzIHRvIGFkZCBtb2RlcyB3L28g Y2hlY2tpbmcgd2hldGhlcgp0aGUgUEhZIHN1cHBvcnRzIHRoZW0uIFRoaXMgaXMgd3JvbmcsIGl0 IHNob3VsZCBuZXZlciBhZGQgbW9kZXMgYnV0Cm9ubHkgcmVtb3ZlIG1vZGVzIHdlIGRvbid0IHdh bnQgdG8gc3VwcG9ydC4KClRoZSBjb21taXQgbWFya2VkIGFzIGZpeGVkIGRpZG4ndCBkbyBhbnl0 aGluZyB3cm9uZywgaXQganVzdCBjb3BpZWQKZXhpc3RpbmcgZnVuY3Rpb25hbGl0eSB0byB0aGUg aGVscGVyIHdoaWNoIGlzIGJlaW5nIGZpeGVkIG5vdy4KCkZpeGVzOiBmM2E2YmQzOTNjMmMgKCJw aHlsaWI6IEFkZCBwaHlfc2V0X21heF9zcGVlZCBoZWxwZXIiKQpTaWduZWQtb2ZmLWJ5OiBIZWlu ZXIgS2FsbHdlaXQgPGhrYWxsd2VpdDFAZ21haWwuY29tPgpSZXZpZXdlZC1ieTogQW5kcmV3IEx1 bm4gPGFuZHJld0BsdW5uLmNoPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvcGh5L3BoeV9kZXZpY2UuYyB8IDE5ICsr KysrKysrLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDExIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3BoeS9waHlfZGV2aWNlLmMgYi9k cml2ZXJzL25ldC9waHkvcGh5X2RldmljZS5jCmluZGV4IGZlNzZlMmM0MDIyYS4uNWI1NmE4NmU4 OGZmIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9waHkvcGh5X2RldmljZS5jCisrKyBiL2RyaXZl cnMvbmV0L3BoeS9waHlfZGV2aWNlLmMKQEAgLTE3MDMsMjAgKzE3MDMsMTcgQEAgRVhQT1JUX1NZ TUJPTChnZW5waHlfbG9vcGJhY2spOwogCiBzdGF0aWMgaW50IF9fc2V0X3BoeV9zdXBwb3J0ZWQo c3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldiwgdTMyIG1heF9zcGVlZCkKIHsKLQlwaHlkZXYtPnN1 cHBvcnRlZCAmPSB+KFBIWV8xMDAwQlRfRkVBVFVSRVMgfCBQSFlfMTAwQlRfRkVBVFVSRVMgfAot CQkJICAgICAgIFBIWV8xMEJUX0ZFQVRVUkVTKTsKLQogCXN3aXRjaCAobWF4X3NwZWVkKSB7Ci0J ZGVmYXVsdDoKLQkJcmV0dXJuIC1FTk9UU1VQUDsKLQljYXNlIFNQRUVEXzEwMDA6Ci0JCXBoeWRl di0+c3VwcG9ydGVkIHw9IFBIWV8xMDAwQlRfRkVBVFVSRVM7CisJY2FzZSBTUEVFRF8xMDoKKwkJ cGh5ZGV2LT5zdXBwb3J0ZWQgJj0gflBIWV8xMDBCVF9GRUFUVVJFUzsKIAkJLyogZmFsbCB0aHJv dWdoICovCiAJY2FzZSBTUEVFRF8xMDA6Ci0JCXBoeWRldi0+c3VwcG9ydGVkIHw9IFBIWV8xMDBC VF9GRUFUVVJFUzsKLQkJLyogZmFsbCB0aHJvdWdoICovCi0JY2FzZSBTUEVFRF8xMDoKLQkJcGh5 ZGV2LT5zdXBwb3J0ZWQgfD0gUEhZXzEwQlRfRkVBVFVSRVM7CisJCXBoeWRldi0+c3VwcG9ydGVk ICY9IH5QSFlfMTAwMEJUX0ZFQVRVUkVTOworCQlicmVhazsKKwljYXNlIFNQRUVEXzEwMDA6CisJ CWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRU5PVFNVUFA7CiAJfQogCiAJcmV0dXJuIDA7 Ci0tIAoyLjE5LjIKCgpGcm9tIDI5MjU2MmRhMGVjYTVkNTNkYzQ2ZWY1NmJjOWRjZmY4ZDYwZWM2 NDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IENocmlzdG9waCBQYWFzY2ggPGNwYWFz Y2hAYXBwbGUuY29tPgpEYXRlOiBUaHUsIDI5IE5vdiAyMDE4IDE2OjAxOjA0IC0wODAwClN1Ympl Y3Q6IFtQQVRDSCAwOS8xNV0gbmV0OiBQcmV2ZW50IGludmFsaWQgYWNjZXNzIHRvIHNrYi0+cHJl diBpbgogX19xZGlzY19kcm9wX2FsbAoKWyBVcHN0cmVhbSBjb21taXQgOTQxMGQzODZkMGE4Mjlh Y2U5NTU4MzM2MjYzMDg2YzJmYmJlOGFlZCBdCgpfX3FkaXNjX2Ryb3BfYWxsKCkgYWNjZXNzZXMg c2tiLT5wcmV2IHRvIGdldCB0byB0aGUgdGFpbCBvZiB0aGUKc2VnbWVudC1saXN0LgoKV2l0aCBj b21taXQgNjhkMmY4NGExMzY4ICgibmV0OiBncm86IHByb3Blcmx5IHJlbW92ZSBza2IgZnJvbSBs aXN0IikKdGhlIHNrYi1saXN0IGhhbmRsaW5nIGhhcyBiZWVuIGNoYW5nZWQgdG8gc2V0IHNrYi0+ bmV4dCB0byBOVUxMIGFuZCBzZXQKdGhlIGxpc3QtcG9pc29uIG9uIHNrYi0+cHJldi4KCldpdGgg dGhhdCBjaGFuZ2UsIF9fcWRpc2NfZHJvcF9hbGwoKSB3aWxsIHBhbmljIHdoZW4gaXQgdHJpZXMg dG8KZGVyZWZlcmVuY2Ugc2tiLT5wcmV2LgoKU2luY2UgY29tbWl0IDk5MmNiYTdlMjc2ZCAoIm5l dDogQWRkIGFuZCB1c2Ugc2tiX2xpc3RfZGVsX2luaXQoKS4iKQpfX2xpc3RfZGVsX2VudHJ5IGlz IHVzZWQsIGxlYXZpbmcgc2tiLT5wcmV2IHVuY2hhbmdlZCAodGh1cywKcG9pbnRpbmcgdG8gdGhl IGxpc3QtaGVhZCBpZiBpdCdzIHRoZSBmaXJzdCBza2Igb2YgdGhlIGxpc3QpLgpUaGlzIHdpbGwg bWFrZSBfX3FkaXNjX2Ryb3BfYWxsIG1vZGlmeSB0aGUgbmV4dC1wb2ludGVyIG9mIHRoZSBsaXN0 LWhlYWQKYW5kIHJlc3VsdCBpbiBhIHBhbmljIGxhdGVyIG9uOgoKWyAgIDM0LjUwMTA1M10gZ2Vu ZXJhbCBwcm90ZWN0aW9uIGZhdWx0OiAwMDAwIFsjMV0gU01QIEtBU0FOIFBUSQpbICAgMzQuNTAx OTY4XSBDUFU6IDIgUElEOiAwIENvbW06IHN3YXBwZXIvMiBOb3QgdGFpbnRlZCA0LjIwLjAtcmMy Lm1wdGNwICMxMDgKWyAgIDM0LjUwMjg4N10gSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQ QyAoaTQ0MEZYICsgUElJWCwgMTk5NiksIEJJT1MgMC41LjEgMDEvMDEvMjAxMQpbICAgMzQuNTA0 MDc0XSBSSVA6IDAwMTA6ZGV2X2dyb19yZWNlaXZlKzB4MzQzLzB4MWY5MApbICAgMzQuNTA0NzUx XSBDb2RlOiBlMCA0OCBjMSBlOCAwMyA0MiA4MCAzYyAzMCAwMCAwZiA4NSA0YSAxYyAwMCAwMCA0 ZCA4YiAyNCAyNCA0YyAzOSA2NSBkMCAwZiA4NCAwYSAwNCAwMCAwMCA0OSA4ZCA3YyAyNCAzOCA0 OCA4OSBmOCA0OCBjMSBlOCAwMyA8NDI+IDBmIGI2IDA0IDMwIDg0IGMwIDc0IDA4IDNjIDA0Clsg ICAzNC41MDcwNjBdIFJTUDogMDAxODpmZmZmODg4M2FmNTA3OTMwIEVGTEFHUzogMDAwMTAyMDIK WyAgIDM0LjUwNzc2MV0gUkFYOiAwMDAwMDAwMDAwMDAwMDA3IFJCWDogZmZmZjg4ODM5NzBiMmM4 MCBSQ1g6IDFmZmZmMTEwNzJlMTY1YTYKWyAgIDM0LjUwODY0MF0gUkRYOiAxZmZmZjExMDc1ODY3 MDA4IFJTSTogZmZmZjg4ODNhYzMzODA0MCBSREk6IDAwMDAwMDAwMDAwMDAwMzgKWyAgIDM0LjUw OTQ5M10gUkJQOiBmZmZmODg4M2FmNTA3OWQwIFIwODogZmZmZjg4ODM5NzBiMmQ0MCBSMDk6IDAw MDAwMDAwMDAwMDAwNjIKWyAgIDM0LjUxMDM0Nl0gUjEwOiAwMDAwMDAwMDAwMDAwMDM0IFIxMTog MDAwMDAwMDAwMDAwMDAwMCBSMTI6IDAwMDAwMDAwMDAwMDAwMDAKWyAgIDM0LjUxMTIxNV0gUjEz OiAwMDAwMDAwMDAwMDAwMDAwIFIxNDogZGZmZmZjMDAwMDAwMDAwMCBSMTU6IGZmZmY4ODgzYWMz MzgwMDgKWyAgIDM0LjUxMjA4Ml0gRlM6ICAwMDAwMDAwMDAwMDAwMDAwKDAwMDApIEdTOmZmZmY4 ODgzYWY1MDAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApbICAgMzQuNTEzMDM2XSBD UzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzClsgICAzNC41 MTM3NDFdIENSMjogMDAwMDU1Y2NjM2U5ZDAyMCBDUjM6IDAwMDAwMDAzYWJmMzIwMDAgQ1I0OiAw MDAwMDAwMDAwMDAwNmUwClsgICAzNC41MTQ1OTNdIENhbGwgVHJhY2U6ClsgICAzNC41MTQ4OTNd ICA8SVJRPgpbICAgMzQuNTE1MTU3XSAgbmFwaV9ncm9fcmVjZWl2ZSsweDkzLzB4MTUwClsgICAz NC41MTU2MzJdICByZWNlaXZlX2J1ZisweDg5My8weDM3MDAKWyAgIDM0LjUxNjA5NF0gID8gX19u ZXRpZl9yZWNlaXZlX3NrYisweDFmLzB4MWEwClsgICAzNC41MTY2MjldICA/IHZpcnRuZXRfcHJv YmUrMHgxYjQwLzB4MWI0MApbICAgMzQuNTE3MTUzXSAgPyBfX3N0YWJsZV9ub2RlX2NoYWluKzB4 NGQwLzB4ODUwClsgICAzNC41MTc2ODRdICA/IGtmcmVlKzB4OWEvMHgxODAKWyAgIDM0LjUxODA2 N10gID8gX19rYXNhbl9zbGFiX2ZyZWUrMHgxNzEvMHgxOTAKWyAgIDM0LjUxODU4Ml0gID8gZGV0 YWNoX2J1ZisweDFkZi8weDY1MApbICAgMzQuNTE5MDYxXSAgPyBsYXBpY19uZXh0X2V2ZW50KzB4 NWEvMHg5MApbICAgMzQuNTE5NTM5XSAgPyB2aXJ0cXVldWVfZ2V0X2J1Zl9jdHgrMHgyODAvMHg3 ZjAKWyAgIDM0LjUyMDA5M10gIHZpcnRuZXRfcG9sbCsweDJkZi8weGQ2MApbICAgMzQuNTIwNTMz XSAgPyByZWNlaXZlX2J1ZisweDM3MDAvMHgzNzAwClsgICAzNC41MjEwMjddICA/IHFkaXNjX3dh dGNoZG9nX3NjaGVkdWxlX25zKzB4ZDUvMHgxNDAKWyAgIDM0LjUyMTYzMV0gID8gaHRiX2RlcXVl dWUrMHgxODE3LzB4MjVmMApbICAgMzQuNTIyMTA3XSAgPyBzY2hfZGlyZWN0X3htaXQrMHgxNDIv MHhmMzAKWyAgIDM0LjUyMjU5NV0gID8gdmlydHF1ZXVlX25hcGlfc2NoZWR1bGUrMHgyNi8weDMw ClsgICAzNC41MjMxNTVdICBuZXRfcnhfYWN0aW9uKzB4MmY2LzB4YzUwClsgICAzNC41MjM2MDFd ICA/IG5hcGlfY29tcGxldGVfZG9uZSsweDJmMC8weDJmMApbICAgMzQuNTI0MTI2XSAgPyBrYXNh bl9jaGVja19yZWFkKzB4MTEvMHgyMApbICAgMzQuNTI0NjA4XSAgPyBfcmF3X3NwaW5fbG9jaysw eDdkLzB4ZDAKWyAgIDM0LjUyNTA3MF0gID8gX3Jhd19zcGluX2xvY2tfYmgrMHhkMC8weGQwClsg ICAzNC41MjU1NjNdICA/IGt2bV9ndWVzdF9hcGljX2VvaV93cml0ZSsweDZiLzB4ODAKWyAgIDM0 LjUyNjEzMF0gID8gYXBpY19hY2tfaXJxKzB4OWUvMHhlMApbICAgMzQuNTI2NTY3XSAgX19kb19z b2Z0aXJxKzB4MTg4LzB4NGI1ClsgICAzNC41MjcwMTVdICBpcnFfZXhpdCsweDE1MS8weDE4MApb ICAgMzQuNTI3NDE3XSAgZG9fSVJRKzB4ZGIvMHgxNTAKWyAgIDM0LjUyNzc4M10gIGNvbW1vbl9p bnRlcnJ1cHQrMHhmLzB4ZgpbICAgMzQuNTI4MjIzXSAgPC9JUlE+CgpUaGlzIHBhdGNoIG1ha2Vz IHN1cmUgdGhhdCBza2ItPnByZXYgaXMgc2V0IHRvIE5VTEwgd2hlbiBlbnRlcmluZwpuZXRlbV9l bnF1ZXVlLgoKQ2M6IFByYXNoYW50IEJob2xlIDxiaG9sZV9wcmFzaGFudF9xN0BsYWIubnR0LmNv LmpwPgpDYzogVHlsZXIgSGlja3MgPHR5aGlja3NAY2Fub25pY2FsLmNvbT4KQ2M6IEVyaWMgRHVt YXpldCA8ZXJpYy5kdW1hemV0QGdtYWlsLmNvbT4KRml4ZXM6IDY4ZDJmODRhMTM2OCAoIm5ldDog Z3JvOiBwcm9wZXJseSByZW1vdmUgc2tiIGZyb20gbGlzdCIpClN1Z2dlc3RlZC1ieTogRXJpYyBE dW1hemV0IDxlcmljLmR1bWF6ZXRAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGgg UGFhc2NoIDxjcGFhc2NoQGFwcGxlLmNvbT4KUmV2aWV3ZWQtYnk6IEVyaWMgRHVtYXpldCA8ZWR1 bWF6ZXRAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBk YXZlbWxvZnQubmV0PgotLS0KIG5ldC9zY2hlZC9zY2hfbmV0ZW0uYyB8IDMgKysrCiAxIGZpbGUg Y2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL3NjaF9uZXRl bS5jIGIvbmV0L3NjaGVkL3NjaF9uZXRlbS5jCmluZGV4IDNkMzI1Yjg0MDgwMi4uM2Y0ZjBiOTQ2 Nzk4IDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvc2NoX25ldGVtLmMKKysrIGIvbmV0L3NjaGVkL3Nj aF9uZXRlbS5jCkBAIC00MzYsNiArNDM2LDkgQEAgc3RhdGljIGludCBuZXRlbV9lbnF1ZXVlKHN0 cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBRZGlzYyAqc2NoLAogCWludCBjb3VudCA9IDE7CiAJ aW50IHJjID0gTkVUX1hNSVRfU1VDQ0VTUzsKIAorCS8qIERvIG5vdCBmb29sIHFkaXNjX2Ryb3Bf YWxsKCkgKi8KKwlza2ItPnByZXYgPSBOVUxMOworCiAJLyogUmFuZG9tIGR1cGxpY2F0aW9uICov CiAJaWYgKHEtPmR1cGxpY2F0ZSAmJiBxLT5kdXBsaWNhdGUgPj0gZ2V0X2NyYW5kb20oJnEtPmR1 cF9jb3IpKQogCQkrK2NvdW50OwotLSAKMi4xOS4yCgoKRnJvbSAzMzAwYWQ0YjgwODIzZjUwOTU0 N2UyNWE4MWM0MTYwNjNiY2YxM2YzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmlj IER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6IFR1ZSwgNCBEZWMgMjAxOCAwOTo0 MDozNSAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTAvMTVdIHJ0bmV0bGluazogbmRvX2RmbHRfZmRi X2R1bXAoKSBvbmx5IHdvcmsgZm9yCiBBUlBIUkRfRVRIRVIgZGV2aWNlcwoKWyBVcHN0cmVhbSBj b21taXQgNjg4ODM4OTM0YzIzMWJiMDhmNDZkYjY4N2U1N2Y2ZDhiZjgyNzA5YyBdCgprbXNhbiB3 YXMgYWJsZSB0byB0cmlnZ2VyIGEga2VybmVsLWluZm9sZWFrIHVzaW5nIGEgZ3JlIGRldmljZSBb MV0KCm5sbXNnX3BvcHVsYXRlX2ZkYl9maWxsKCkgaGFzIGEgaGFyZCBjb2RlZCBhc3N1bXB0aW9u CnRoYXQgZGV2LT5hZGRyX2xlbiBpcyBFVEhfQUxFTiwgYXMgbm9ybWFsbHkgZ3VhcmFudGVlZApm b3IgQVJQSFJEX0VUSEVSIGRldmljZXMuCgpBIHNpbWlsYXIgaXNzdWUgd2FzIGZpeGVkIHJlY2Vu dGx5IGluIGNvbW1pdCBkYTcxNTc3NTQ1YTUKKCJydG5ldGxpbms6IERpc2FsbG93IEZEQiBjb25m aWd1cmF0aW9uIGZvciBub24tRXRoZXJuZXQgZGV2aWNlIikKClsxXQpCVUc6IEtNU0FOOiBrZXJu ZWwtaW5mb2xlYWsgaW4gY29weW91dCBsaWIvaW92X2l0ZXIuYzoxNDMgW2lubGluZV0KQlVHOiBL TVNBTjoga2VybmVsLWluZm9sZWFrIGluIF9jb3B5X3RvX2l0ZXIrMHg0YzAvMHgyNzAwIGxpYi9p b3ZfaXRlci5jOjU3NgpDUFU6IDAgUElEOiA2Njk3IENvbW06IHN5ei1leGVjdXRvcjMxMCBOb3Qg dGFpbnRlZCA0LjIwLjAtcmMzKyAjOTUKSGFyZHdhcmUgbmFtZTogR29vZ2xlIEdvb2dsZSBDb21w dXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0ZSBFbmdpbmUsIEJJT1MgR29vZ2xlIDAxLzAxLzIwMTEK Q2FsbCBUcmFjZToKIF9fZHVtcF9zdGFjayBsaWIvZHVtcF9zdGFjay5jOjc3IFtpbmxpbmVdCiBk dW1wX3N0YWNrKzB4MzJkLzB4NDgwIGxpYi9kdW1wX3N0YWNrLmM6MTEzCiBrbXNhbl9yZXBvcnQr MHgxMmMvMHgyOTAgbW0va21zYW4va21zYW4uYzo2ODMKIGttc2FuX2ludGVybmFsX2NoZWNrX21l bW9yeSsweDMyYS8weGE1MCBtbS9rbXNhbi9rbXNhbi5jOjc0Mwoga21zYW5fY29weV90b191c2Vy KzB4NzgvMHhkMCBtbS9rbXNhbi9rbXNhbl9ob29rcy5jOjYzNAogY29weW91dCBsaWIvaW92X2l0 ZXIuYzoxNDMgW2lubGluZV0KIF9jb3B5X3RvX2l0ZXIrMHg0YzAvMHgyNzAwIGxpYi9pb3ZfaXRl ci5jOjU3NgogY29weV90b19pdGVyIGluY2x1ZGUvbGludXgvdWlvLmg6MTQzIFtpbmxpbmVdCiBz a2JfY29weV9kYXRhZ3JhbV9pdGVyKzB4NGUyLzB4MTA3MCBuZXQvY29yZS9kYXRhZ3JhbS5jOjQz MQogc2tiX2NvcHlfZGF0YWdyYW1fbXNnIGluY2x1ZGUvbGludXgvc2tidWZmLmg6MzMxNiBbaW5s aW5lXQogbmV0bGlua19yZWN2bXNnKzB4NmY5LzB4MTlkMCBuZXQvbmV0bGluay9hZl9uZXRsaW5r LmM6MTk3NQogc29ja19yZWN2bXNnX25vc2VjIG5ldC9zb2NrZXQuYzo3OTQgW2lubGluZV0KIHNv Y2tfcmVjdm1zZysweDFkMS8weDIzMCBuZXQvc29ja2V0LmM6ODAxCiBfX19zeXNfcmVjdm1zZysw eDQ0NC8weGFlMCBuZXQvc29ja2V0LmM6MjI3OAogX19zeXNfcmVjdm1zZyBuZXQvc29ja2V0LmM6 MjMyNyBbaW5saW5lXQogX19kb19zeXNfcmVjdm1zZyBuZXQvc29ja2V0LmM6MjMzNyBbaW5saW5l XQogX19zZV9zeXNfcmVjdm1zZysweDJmYS8weDQ1MCBuZXQvc29ja2V0LmM6MjMzNAogX194NjRf c3lzX3JlY3Ztc2crMHg0YS8weDcwIG5ldC9zb2NrZXQuYzoyMzM0CiBkb19zeXNjYWxsXzY0KzB4 Y2YvMHgxMTAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6MjkxCiBlbnRyeV9TWVNDQUxMXzY0X2Fm dGVyX2h3ZnJhbWUrMHg2My8weGU3ClJJUDogMDAzMzoweDQ0MTExOQpDb2RlOiAxOCA4OSBkMCBj MyA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCAwZiAxZiAwMCA0OCA4OSBmOCA0OCA4OSBm NyA0OCA4OSBkNiA0OCA4OSBjYSA0ZCA4OSBjMiA0ZCA4OSBjOCA0YyA4YiA0YyAyNCAwOCAwZiAw NSA8NDg+IDNkIDAxIGYwIGZmIGZmIDBmIDgzIGRiIDBhIGZjIGZmIGMzIDY2IDJlIDBmIDFmIDg0 IDAwIDAwIDAwIDAwClJTUDogMDAyYjowMDAwN2ZmZmM3ZjAwOGE4IEVGTEFHUzogMDAwMDAyMDcg T1JJR19SQVg6IDAwMDAwMDAwMDAwMDAwMmYKUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAw MDAwMDAwMDQwMDJjOCBSQ1g6IDAwMDAwMDAwMDA0NDExMTkKUkRYOiAwMDAwMDAwMDAwMDAwMDQw IFJTSTogMDAwMDAwMDAyMDAwMDVjMCBSREk6IDAwMDAwMDAwMDAwMDAwMDMKUkJQOiAwMDAwMDAw MDAwNmNjMDE4IFIwODogMDAwMDAwMDAwMDAwMDEwMCBSMDk6IDAwMDAwMDAwMDAwMDAxMDAKUjEw OiAwMDAwMDAwMDAwMDAwMTAwIFIxMTogMDAwMDAwMDAwMDAwMDIwNyBSMTI6IDAwMDAwMDAwMDA0 MDIwODAKUjEzOiAwMDAwMDAwMDAwNDAyMTEwIFIxNDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6IDAw MDAwMDAwMDAwMDAwMDAKClVuaW5pdCB3YXMgc3RvcmVkIHRvIG1lbW9yeSBhdDoKIGttc2FuX3Nh dmVfc3RhY2tfd2l0aF9mbGFncyBtbS9rbXNhbi9rbXNhbi5jOjI0NiBbaW5saW5lXQoga21zYW5f c2F2ZV9zdGFjayBtbS9rbXNhbi9rbXNhbi5jOjI2MSBbaW5saW5lXQoga21zYW5faW50ZXJuYWxf Y2hhaW5fb3JpZ2luKzB4MTNkLzB4MjQwIG1tL2ttc2FuL2ttc2FuLmM6NDY5CiBrbXNhbl9tZW1j cHlfbWVtbW92ZV9tZXRhZGF0YSsweDFhOS8weGY3MCBtbS9rbXNhbi9rbXNhbi5jOjM0NAoga21z YW5fbWVtY3B5X21ldGFkYXRhKzB4Yi8weDEwIG1tL2ttc2FuL2ttc2FuLmM6MzYyCiBfX21zYW5f bWVtY3B5KzB4NjEvMHg3MCBtbS9rbXNhbi9rbXNhbl9pbnN0ci5jOjE2MgogX19ubGFfcHV0IGxp Yi9ubGF0dHIuYzo3NDQgW2lubGluZV0KIG5sYV9wdXQrMHgyMGEvMHgyZDAgbGliL25sYXR0ci5j OjgwMgogbmxtc2dfcG9wdWxhdGVfZmRiX2ZpbGwrMHg0NDQvMHg4MTAgbmV0L2NvcmUvcnRuZXRs aW5rLmM6MzQ2Ngogbmxtc2dfcG9wdWxhdGVfZmRiIG5ldC9jb3JlL3J0bmV0bGluay5jOjM3NzUg W2lubGluZV0KIG5kb19kZmx0X2ZkYl9kdW1wKzB4NzNhLzB4OTYwIG5ldC9jb3JlL3J0bmV0bGlu ay5jOjM4MDcKIHJ0bmxfZmRiX2R1bXArMHgxMzE4LzB4MWNiMCBuZXQvY29yZS9ydG5ldGxpbmsu YzozOTc5CiBuZXRsaW5rX2R1bXArMHhjNzkvMHgxYzkwIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsu YzoyMjQ0CiBfX25ldGxpbmtfZHVtcF9zdGFydCsweDEwYzQvMHgxMWQwIG5ldC9uZXRsaW5rL2Fm X25ldGxpbmsuYzoyMzUyCiBuZXRsaW5rX2R1bXBfc3RhcnQgaW5jbHVkZS9saW51eC9uZXRsaW5r Lmg6MjE2IFtpbmxpbmVdCiBydG5ldGxpbmtfcmN2X21zZysweDE0MWIvMHgxNTQwIG5ldC9jb3Jl L3J0bmV0bGluay5jOjQ5MTAKIG5ldGxpbmtfcmN2X3NrYisweDM5NC8weDY0MCBuZXQvbmV0bGlu ay9hZl9uZXRsaW5rLmM6MjQ3NwogcnRuZXRsaW5rX3JjdisweDUwLzB4NjAgbmV0L2NvcmUvcnRu ZXRsaW5rLmM6NDk2NQogbmV0bGlua191bmljYXN0X2tlcm5lbCBuZXQvbmV0bGluay9hZl9uZXRs aW5rLmM6MTMxMCBbaW5saW5lXQogbmV0bGlua191bmljYXN0KzB4MTY5OS8weDE3NDAgbmV0L25l dGxpbmsvYWZfbmV0bGluay5jOjEzMzYKIG5ldGxpbmtfc2VuZG1zZysweDEzYzcvMHgxNDQwIG5l dC9uZXRsaW5rL2FmX25ldGxpbmsuYzoxOTE3CiBzb2NrX3NlbmRtc2dfbm9zZWMgbmV0L3NvY2tl dC5jOjYyMSBbaW5saW5lXQogc29ja19zZW5kbXNnIG5ldC9zb2NrZXQuYzo2MzEgW2lubGluZV0K IF9fX3N5c19zZW5kbXNnKzB4ZTNiLzB4MTI0MCBuZXQvc29ja2V0LmM6MjExNgogX19zeXNfc2Vu ZG1zZyBuZXQvc29ja2V0LmM6MjE1NCBbaW5saW5lXQogX19kb19zeXNfc2VuZG1zZyBuZXQvc29j a2V0LmM6MjE2MyBbaW5saW5lXQogX19zZV9zeXNfc2VuZG1zZysweDMwNS8weDQ2MCBuZXQvc29j a2V0LmM6MjE2MQogX194NjRfc3lzX3NlbmRtc2crMHg0YS8weDcwIG5ldC9zb2NrZXQuYzoyMTYx CiBkb19zeXNjYWxsXzY0KzB4Y2YvMHgxMTAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6MjkxCiBl bnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg2My8weGU3CgpVbmluaXQgd2FzIGNyZWF0 ZWQgYXQ6CiBrbXNhbl9zYXZlX3N0YWNrX3dpdGhfZmxhZ3MgbW0va21zYW4va21zYW4uYzoyNDYg W2lubGluZV0KIGttc2FuX2ludGVybmFsX3BvaXNvbl9zaGFkb3crMHg2ZC8weDEzMCBtbS9rbXNh bi9rbXNhbi5jOjE3MAoga21zYW5fa21hbGxvYysweGExLzB4MTAwIG1tL2ttc2FuL2ttc2FuX2hv b2tzLmM6MTg2CiBfX2ttYWxsb2MrMHgxNGMvMHg0ZDAgbW0vc2x1Yi5jOjM4MjUKIGttYWxsb2Mg aW5jbHVkZS9saW51eC9zbGFiLmg6NTUxIFtpbmxpbmVdCiBfX2h3X2FkZHJfY3JlYXRlX2V4IG5l dC9jb3JlL2Rldl9hZGRyX2xpc3RzLmM6MzQgW2lubGluZV0KIF9faHdfYWRkcl9hZGRfZXggbmV0 L2NvcmUvZGV2X2FkZHJfbGlzdHMuYzo4MCBbaW5saW5lXQogX19kZXZfbWNfYWRkKzB4MzU3LzB4 OGEwIG5ldC9jb3JlL2Rldl9hZGRyX2xpc3RzLmM6NjcwCiBkZXZfbWNfYWRkKzB4NmQvMHg4MCBu ZXQvY29yZS9kZXZfYWRkcl9saXN0cy5jOjY4NwogaXBfbWNfZmlsdGVyX2FkZCBuZXQvaXB2NC9p Z21wLmM6MTEyOCBbaW5saW5lXQogaWdtcF9ncm91cF9hZGRlZCsweDRkNC8weGI4MCBuZXQvaXB2 NC9pZ21wLmM6MTMxMQogX19pcF9tY19pbmNfZ3JvdXArMHhlYTkvMHhmNzAgbmV0L2lwdjQvaWdt cC5jOjE0NDQKIGlwX21jX2luY19ncm91cCBuZXQvaXB2NC9pZ21wLmM6MTQ1MyBbaW5saW5lXQog aXBfbWNfdXArMHgxYzMvMHg0MDAgbmV0L2lwdjQvaWdtcC5jOjE3NzUKIGluZXRkZXZfZXZlbnQr MHgxZDAzLzB4MWQ4MCBuZXQvaXB2NC9kZXZpbmV0LmM6MTUyMgogbm90aWZpZXJfY2FsbF9jaGFp biBrZXJuZWwvbm90aWZpZXIuYzo5MyBbaW5saW5lXQogX19yYXdfbm90aWZpZXJfY2FsbF9jaGFp biBrZXJuZWwvbm90aWZpZXIuYzozOTQgW2lubGluZV0KIHJhd19ub3RpZmllcl9jYWxsX2NoYWlu KzB4MTNkLzB4MjQwIGtlcm5lbC9ub3RpZmllci5jOjQwMQogX19kZXZfbm90aWZ5X2ZsYWdzKzB4 M2RhLzB4ODYwIG5ldC9jb3JlL2Rldi5jOjE3MzMKIGRldl9jaGFuZ2VfZmxhZ3MrMHgxYWMvMHgy MzAgbmV0L2NvcmUvZGV2LmM6NzU2OQogZG9fc2V0bGluaysweDE2NWYvMHg1ZWEwIG5ldC9jb3Jl L3J0bmV0bGluay5jOjI0OTIKIHJ0bmxfbmV3bGluaysweDJhZDcvMHgzNWEwIG5ldC9jb3JlL3J0 bmV0bGluay5jOjMxMTEKIHJ0bmV0bGlua19yY3ZfbXNnKzB4MTE0OC8weDE1NDAgbmV0L2NvcmUv cnRuZXRsaW5rLmM6NDk0NwogbmV0bGlua19yY3Zfc2tiKzB4Mzk0LzB4NjQwIG5ldC9uZXRsaW5r L2FmX25ldGxpbmsuYzoyNDc3CiBydG5ldGxpbmtfcmN2KzB4NTAvMHg2MCBuZXQvY29yZS9ydG5l dGxpbmsuYzo0OTY1CiBuZXRsaW5rX3VuaWNhc3Rfa2VybmVsIG5ldC9uZXRsaW5rL2FmX25ldGxp bmsuYzoxMzEwIFtpbmxpbmVdCiBuZXRsaW5rX3VuaWNhc3QrMHgxNjk5LzB4MTc0MCBuZXQvbmV0 bGluay9hZl9uZXRsaW5rLmM6MTMzNgogbmV0bGlua19zZW5kbXNnKzB4MTNjNy8weDE0NDAgbmV0 L25ldGxpbmsvYWZfbmV0bGluay5jOjE5MTcKIHNvY2tfc2VuZG1zZ19ub3NlYyBuZXQvc29ja2V0 LmM6NjIxIFtpbmxpbmVdCiBzb2NrX3NlbmRtc2cgbmV0L3NvY2tldC5jOjYzMSBbaW5saW5lXQog X19fc3lzX3NlbmRtc2crMHhlM2IvMHgxMjQwIG5ldC9zb2NrZXQuYzoyMTE2CiBfX3N5c19zZW5k bXNnIG5ldC9zb2NrZXQuYzoyMTU0IFtpbmxpbmVdCiBfX2RvX3N5c19zZW5kbXNnIG5ldC9zb2Nr ZXQuYzoyMTYzIFtpbmxpbmVdCiBfX3NlX3N5c19zZW5kbXNnKzB4MzA1LzB4NDYwIG5ldC9zb2Nr ZXQuYzoyMTYxCiBfX3g2NF9zeXNfc2VuZG1zZysweDRhLzB4NzAgbmV0L3NvY2tldC5jOjIxNjEK IGRvX3N5c2NhbGxfNjQrMHhjZi8weDExMCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzoyOTEKIGVu dHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDYzLzB4ZTcKCkJ5dGVzIDM2LTM3IG9mIDEw NSBhcmUgdW5pbml0aWFsaXplZApNZW1vcnkgYWNjZXNzIG9mIHNpemUgMTA1IHN0YXJ0cyBhdCBm ZmZmODg4MTk2ODZjMDAwCkRhdGEgY29waWVkIHRvIHVzZXIgYWRkcmVzcyAwMDAwMDAwMDIwMDAw MzgwCgpGaXhlczogZDgzYjA2MDM2MDQ4ICgibmV0OiBhZGQgZmRiIGdlbmVyaWMgZHVtcCByb3V0 aW5lIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpD YzogSm9obiBGYXN0YWJlbmQgPGpvaG4uZmFzdGFiZW5kQGdtYWlsLmNvbT4KQ2M6IElkbyBTY2hp bW1lbCA8aWRvc2NoQG1lbGxhbm94LmNvbT4KQ2M6IERhdmlkIEFoZXJuIDxkc2FoZXJuQGdtYWls LmNvbT4KUmV2aWV3ZWQtYnk6IElkbyBTY2hpbW1lbCA8aWRvc2NoQG1lbGxhbm94LmNvbT4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5l dC9jb3JlL3J0bmV0bGluay5jIHwgMyArKysKIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMo KykKCmRpZmYgLS1naXQgYS9uZXQvY29yZS9ydG5ldGxpbmsuYyBiL25ldC9jb3JlL3J0bmV0bGlu ay5jCmluZGV4IGMzOTJhNzdmZjc4OC4uOTI1YWY2YjQzMDE3IDEwMDY0NAotLS0gYS9uZXQvY29y ZS9ydG5ldGxpbmsuYworKysgYi9uZXQvY29yZS9ydG5ldGxpbmsuYwpAQCAtMzI4MCw2ICszMjgw LDkgQEAgaW50IG5kb19kZmx0X2ZkYl9kdW1wKHN0cnVjdCBza19idWZmICpza2IsCiB7CiAJaW50 IGVycjsKIAorCWlmIChkZXYtPnR5cGUgIT0gQVJQSFJEX0VUSEVSKQorCQlyZXR1cm4gLUVJTlZB TDsKKwogCW5ldGlmX2FkZHJfbG9ja19iaChkZXYpOwogCWVyciA9IG5sbXNnX3BvcHVsYXRlX2Zk Yihza2IsIGNiLCBkZXYsIGlkeCwgJmRldi0+dWMpOwogCWlmIChlcnIpCi0tIAoyLjE5LjIKCgpG cm9tIDFiN2I3ZTczYmQ3YjU4NzU3NWUzMzdkOGJmZTNmMzk2ZmRhMmI1ODIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4KRGF0ZTog U2F0LCAxIERlYyAyMDE4IDAxOjM2OjU5ICswODAwClN1YmplY3Q6IFtQQVRDSCAxMS8xNV0gc2N0 cDoga2ZyZWVfcmN1IGFzb2MKClsgVXBzdHJlYW0gY29tbWl0IGZiNmRmNWE2MjM0YzM4YTljNTUx NTU5NTA2YTQ5YTY3N2FjNmYwN2EgXQoKSW4gc2N0cF9oYXNoX3RyYW5zcG9ydC9zY3RwX2VwYWRk cl9sb29rdXBfdHJhbnNwb3J0LCBpdCBkZXJlZmVyZW5jZXMKYSB0cmFuc3BvcnQncyBhc29jIHVu ZGVyIHJjdV9yZWFkX2xvY2sgd2hpbGUgYXNvYyBpcyBmcmVlZCBub3QgYWZ0ZXIKYSBncmFjZSBw ZXJpb2QsIHdoaWNoIGxlYWRzIHRvIGEgdXNlLWFmdGVyLWZyZWUgcGFuaWMuCgpUaGlzIHBhdGNo IGZpeGVzIGl0IGJ5IGNhbGxpbmcga2ZyZWVfcmN1IHRvIG1ha2UgYXNvYyBiZSBmcmVlZCBhZnRl cgphIGdyYWNlIHBlcmlvZC4KCk5vdGUgdGhhdCBvbmx5IHRoZSBhc29jJ3MgbWVtb3J5IGlzIGRl bGF5ZWQgdG8gZnJlZSBpbiB0aGUgcGF0Y2gsIGl0Cndvbid0IGNhdXNlIHNrIHRvIGxpbmdlciBs b25nZXIuCgpUaGFua3MgTmVpbCBhbmQgTWFyY2VsbyB0byBtYWtlIHRoaXMgY2xlYXIuCgpGaXhl czogN2ZkYTcwMmY5MzE1ICgic2N0cDogdXNlIG5ldyByaGxpc3QgaW50ZXJmYWNlIG9uIHNjdHAg dHJhbnNwb3J0IHJoYXNodGFibGUiKQpGaXhlczogY2QyYjcwODc1MDU4ICgic2N0cDogY2hlY2sg ZHVwbGljYXRlIG5vZGUgYmVmb3JlIGluc2VydGluZyBhIG5ldyB0cmFuc3BvcnQiKQpSZXBvcnRl ZC1ieTogc3l6Ym90KzBiMDVkOGFhN2NiMTg1MTA3NDgzQHN5emthbGxlci5hcHBzcG90bWFpbC5j b20KUmVwb3J0ZWQtYnk6IHN5emJvdCthYWQyMzFkNTFiMTkyMzE1ODQ0NEBzeXprYWxsZXIuYXBw c3BvdG1haWwuY29tClN1Z2dlc3RlZC1ieTogTmVpbCBIb3JtYW4gPG5ob3JtYW5AdHV4ZHJpdmVy LmNvbT4KU2lnbmVkLW9mZi1ieTogWGluIExvbmcgPGx1Y2llbi54aW5AZ21haWwuY29tPgpBY2tl ZC1ieTogTWFyY2VsbyBSaWNhcmRvIExlaXRuZXIgPG1hcmNlbG8ubGVpdG5lckBnbWFpbC5jb20+ CkFja2VkLWJ5OiBOZWlsIEhvcm1hbiA8bmhvcm1hbkB0dXhkcml2ZXIuY29tPgpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9u ZXQvc2N0cC9zdHJ1Y3RzLmggfCAyICsrCiBuZXQvc2N0cC9hc3NvY2lvbGEuYyAgICAgICB8IDIg Ky0KIDIgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvaW5jbHVkZS9uZXQvc2N0cC9zdHJ1Y3RzLmggYi9pbmNsdWRlL25ldC9zY3RwL3N0 cnVjdHMuaAppbmRleCA4ZTFlMWRjNDkwZmQuLjk0Yzc3NTc3M2Y1OCAxMDA2NDQKLS0tIGEvaW5j bHVkZS9uZXQvc2N0cC9zdHJ1Y3RzLmgKKysrIGIvaW5jbHVkZS9uZXQvc2N0cC9zdHJ1Y3RzLmgK QEAgLTE5MDIsNiArMTkwMiw4IEBAIHN0cnVjdCBzY3RwX2Fzc29jaWF0aW9uIHsKIAogCV9fdTY0 IGFiYW5kb25lZF91bnNlbnRbU0NUUF9QUl9JTkRFWChNQVgpICsgMV07CiAJX191NjQgYWJhbmRv bmVkX3NlbnRbU0NUUF9QUl9JTkRFWChNQVgpICsgMV07CisKKwlzdHJ1Y3QgcmN1X2hlYWQgcmN1 OwogfTsKIAogCmRpZmYgLS1naXQgYS9uZXQvc2N0cC9hc3NvY2lvbGEuYyBiL25ldC9zY3RwL2Fz c29jaW9sYS5jCmluZGV4IDQ5ODJiMzFmZWM4ZS4uMjNmZWMzODE3ZTBjIDEwMDY0NAotLS0gYS9u ZXQvc2N0cC9hc3NvY2lvbGEuYworKysgYi9uZXQvc2N0cC9hc3NvY2lvbGEuYwpAQCAtNDMyLDcg KzQzMiw3IEBAIHN0YXRpYyB2b2lkIHNjdHBfYXNzb2NpYXRpb25fZGVzdHJveShzdHJ1Y3Qgc2N0 cF9hc3NvY2lhdGlvbiAqYXNvYykKIAogCVdBUk5fT04oYXRvbWljX3JlYWQoJmFzb2MtPnJtZW1f YWxsb2MpKTsKIAotCWtmcmVlKGFzb2MpOworCWtmcmVlX3JjdShhc29jLCByY3UpOwogCVNDVFBf REJHX09CSkNOVF9ERUMoYXNzb2MpOwogfQogCi0tIAoyLjE5LjIKCgpGcm9tIGQzMjljM2YwNjc0 MmZhYzdmZDMyMDc2ODBlYTY4NmQ5Y2YzOTAzYzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogV2VkLCA1IERlYyAy MDE4IDE0OjI0OjMxIC0wODAwClN1YmplY3Q6IFtQQVRDSCAxMi8xNV0gdGNwOiBEbyBub3QgdW5k ZXJlc3RpbWF0ZSByd25kX2xpbWl0ZWQKClsgVXBzdHJlYW0gY29tbWl0IDQxNzI3NTQ5ZGUzZTcy ODFmZWIxNzRkNTY4YzZlNDY4MjNkYjg2ODQgXQoKSWYgYXZhaWxhYmxlIHJ3bmQgaXMgdG9vIHNt YWxsLCB0Y3BfdHNvX3Nob3VsZF9kZWZlcigpCmNhbiBkZWNpZGUgaXQgaXMgd29ydGggd2FpdGlu ZyBiZWZvcmUgc3BsaXR0aW5nIGEgVFNPIHBhY2tldC4KClRoaXMgcmVhbGx5IG1lYW5zIHdlIGFy ZSByd25kIGxpbWl0ZWQuCgpGaXhlczogNTYxNWY4ODYxNGE0ICgidGNwOiBpbnN0cnVtZW50IGhv dyBsb25nIFRDUCBpcyBsaW1pdGVkIGJ5IHJlY2VpdmUgd2luZG93IikKU2lnbmVkLW9mZi1ieTog RXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpBY2tlZC1ieTogU29oZWlsIEhhc3Nh cyBZZWdhbmVoIDxzb2hlaWxAZ29vZ2xlLmNvbT4KUmV2aWV3ZWQtYnk6IFl1Y2h1bmcgQ2hlbmcg PHljaGVuZ0Bnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvdGNwX291dHB1dC5jIHwgNSArKysrLQogMSBm aWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L25ldC9pcHY0L3RjcF9vdXRwdXQuYyBiL25ldC9pcHY0L3RjcF9vdXRwdXQuYwppbmRleCBiMmVh ZDMxYWZjYmEuLjEyY2Q2NDM4Mjc2OCAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdGNwX291dHB1dC5j CisrKyBiL25ldC9pcHY0L3RjcF9vdXRwdXQuYwpAQCAtMjMyOCw4ICsyMzI4LDExIEBAIHN0YXRp YyBib29sIHRjcF93cml0ZV94bWl0KHN0cnVjdCBzb2NrICpzaywgdW5zaWduZWQgaW50IG1zc19u b3csIGludCBub25hZ2xlLAogCQl9IGVsc2UgewogCQkJaWYgKCFwdXNoX29uZSAmJgogCQkJICAg IHRjcF90c29fc2hvdWxkX2RlZmVyKHNrLCBza2IsICZpc19jd25kX2xpbWl0ZWQsCi0JCQkJCQkg bWF4X3NlZ3MpKQorCQkJCQkJIG1heF9zZWdzKSkgeworCQkJCWlmICghaXNfY3duZF9saW1pdGVk KQorCQkJCQlpc19yd25kX2xpbWl0ZWQgPSB0cnVlOwogCQkJCWJyZWFrOworCQkJfQogCQl9CiAK IAkJbGltaXQgPSBtc3Nfbm93OwotLSAKMi4xOS4yCgoKRnJvbSA2NDJlOTM4MzZiYTI4NWZkNTg2 ODRlMThkNGQ3YmU5NjI1M2MyYjUwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBZdWNo dW5nIENoZW5nIDx5Y2hlbmdAZ29vZ2xlLmNvbT4KRGF0ZTogV2VkLCA1IERlYyAyMDE4IDE0OjM4 OjM4IC0wODAwClN1YmplY3Q6IFtQQVRDSCAxMy8xNV0gdGNwOiBmaXggTlVMTCByZWYgaW4gdGFp bCBsb3NzIHByb2JlCgpbIFVwc3RyZWFtIGNvbW1pdCBiMmI3YWY4NjExMjJhMGMwZjYyNjAxNTVj MjlhMWIyZTU5NGNkNWI1IF0KClRDUCBsb3NzIHByb2JlIHRpbWVyIG1heSBmaXJlIHdoZW4gdGhl IHJldHJhbm1pc3Npb24gcXVldWUgaXMgZW1wdHkgYnV0CmhhcyBhIG5vbi16ZXJvIHRwLT5wYWNr ZXRzX291dCBjb3VudGVyLiB0Y3Bfc2VuZF9sb3NzX3Byb2JlIHdpbGwgY2FsbAp0Y3BfcmVhcm1f cnRvIHdoaWNoIHRyaWdnZXJzIE5VTEwgcG9pbnRlciByZWZlcmVuY2UgYnkgZmV0Y2hpbmcgdGhl CnJldHJhbm1pc3Npb24gcXVldWUgaGVhZCBpbiBpdHMgc3ViLXJvdXRpbmVzLgoKQWRkIGEgbW9y ZSBkZXRhaWxlZCB3YXJuaW5nIHRvIGhlbHAgY2F0Y2ggdGhlIHJvb3QgY2F1c2Ugb2YgdGhlIGlu ZmxpZ2h0CmFjY291bnRpbmcgaW5jb25zaXN0ZW5jeS4KClJlcG9ydGVkLWJ5OiBSYWZhZWwgVGlu b2NvIDxyYWZhZWwudGlub2NvQGxpbmFyby5vcmc+ClNpZ25lZC1vZmYtYnk6IFl1Y2h1bmcgQ2hl bmcgPHljaGVuZ0Bnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1h emV0QGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IE5lYWwgQ2FyZHdlbGwgPG5jYXJkd2VsbEBn b29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+Ci0tLQogbmV0L2lwdjQvdGNwX291dHB1dC5jIHwgMTIgKysrKysrKystLS0tCiAxIGZp bGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L25ldC9pcHY0L3RjcF9vdXRwdXQuYyBiL25ldC9pcHY0L3RjcF9vdXRwdXQuYwppbmRleCAxMmNk NjQzODI3NjguLjFiMzFiMGExYzdmYSAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdGNwX291dHB1dC5j CisrKyBiL25ldC9pcHY0L3RjcF9vdXRwdXQuYwpAQCAtMjQ3NiwxNCArMjQ3NiwxOCBAQCB2b2lk IHRjcF9zZW5kX2xvc3NfcHJvYmUoc3RydWN0IHNvY2sgKnNrKQogCQlza2IgPSB0Y3Bfd3JpdGVf cXVldWVfdGFpbChzayk7CiAJfQogCisJaWYgKHVubGlrZWx5KCFza2IpKSB7CisJCVdBUk5fT05D RSh0cC0+cGFja2V0c19vdXQsCisJCQkgICJpbnZhbGlkIGluZmxpZ2h0OiAldSBzdGF0ZSAldSBj d25kICV1IG1zcyAlZFxuIiwKKwkJCSAgdHAtPnBhY2tldHNfb3V0LCBzay0+c2tfc3RhdGUsIHRw LT5zbmRfY3duZCwgbXNzKTsKKwkJaW5ldF9jc2soc2spLT5pY3NrX3BlbmRpbmcgPSAwOworCQly ZXR1cm47CisJfQorCiAJLyogQXQgbW9zdCBvbmUgb3V0c3RhbmRpbmcgVExQIHJldHJhbnNtaXNz aW9uLiAqLwogCWlmICh0cC0+dGxwX2hpZ2hfc2VxKQogCQlnb3RvIHJlYXJtX3RpbWVyOwogCi0J LyogUmV0cmFuc21pdCBsYXN0IHNlZ21lbnQuICovCi0JaWYgKFdBUk5fT04oIXNrYikpCi0JCWdv dG8gcmVhcm1fdGltZXI7Ci0KIAlpZiAoc2tiX3N0aWxsX2luX2hvc3RfcXVldWUoc2ssIHNrYikp CiAJCWdvdG8gcmVhcm1fdGltZXI7CiAKLS0gCjIuMTkuMgoKCkZyb20gMzU5Y2RiMDM3ZWMwNDg0 NDRiYjY3NDA4MmI2NWUyNGJmMmVhZWFjMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog Tmljb2xhcyBEaWNodGVsIDxuaWNvbGFzLmRpY2h0ZWxANndpbmQuY29tPgpEYXRlOiBUaHUsIDI5 IE5vdiAyMDE4IDE0OjQ1OjM5ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxNC8xNV0gdHVuOiBmb3Ji aWQgaWZhY2UgY3JlYXRpb24gd2l0aCBydG5sIG9wcwoKWyBVcHN0cmVhbSBjb21taXQgMzViODI3 YjZkMDYxOTk4NDFhODM4MzllOGJiNjljMGNkMTNhMjhiZSBdCgpJdCdzIG5vdCBzdXBwb3J0ZWQg cmlnaHQgbm93ICh0aGUgZ29hbCBvZiB0aGUgaW5pdGlhbCBwYXRjaCB3YXMgdG8gc3VwcG9ydAon aXAgbGluayBkZWwnIG9ubHkpLgoKQmVmb3JlIHRoZSBwYXRjaDoKJCBpcCBsaW5rIGFkZCBmb28g dHlwZSB0dW4KWyAgMjM5LjYzMjY2MF0gQlVHOiB1bmFibGUgdG8gaGFuZGxlIGtlcm5lbCBOVUxM IHBvaW50ZXIgZGVyZWZlcmVuY2UgYXQgMDAwMDAwMDAwMDAwMDAwMApbc25pcF0KWyAgMjM5LjYz NjQxMF0gUklQOiAwMDEwOnJlZ2lzdGVyX25ldGRldmljZSsweDhlLzB4M2EwCgpUaGlzIHBhbmlj IG9jY3VycyBiZWNhdXNlIGRldi0+bmV0ZGV2X29wcyBpcyBub3Qgc2V0IGJ5IHR1bl9zZXR1cCgp LiBCdXQgdG8KaGF2ZSBzb21ldGhpbmcgdXNhYmxlLCBpdCB3aWxsIHJlcXVpcmUgbW9yZSB0aGFu IGp1c3Qgc2V0dGluZwpuZXRkZXZfb3BzLgoKRml4ZXM6IGYwMTlhN2E1OTRkOSAoInR1bjogSW1w bGVtZW50IGlwIGxpbmsgZGVsIHR1blhYWCIpCkNDOiBFcmljIFcuIEJpZWRlcm1hbiA8ZWJpZWRl cm1AeG1pc3Npb24uY29tPgpTaWduZWQtb2ZmLWJ5OiBOaWNvbGFzIERpY2h0ZWwgPG5pY29sYXMu ZGljaHRlbEA2d2luZC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC90dW4uYyB8IDYgKysrLS0tCiAxIGZpbGUg Y2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbmV0L3R1bi5jIGIvZHJpdmVycy9uZXQvdHVuLmMKaW5kZXggMGEwMDhkMTM2YWFlLi4y OTU2YmI2Y2RhNzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3R1bi5jCisrKyBiL2RyaXZlcnMv bmV0L3R1bi5jCkBAIC0xODE4LDkgKzE4MTgsOSBAQCBzdGF0aWMgdm9pZCB0dW5fc2V0dXAoc3Ry dWN0IG5ldF9kZXZpY2UgKmRldikKIHN0YXRpYyBpbnQgdHVuX3ZhbGlkYXRlKHN0cnVjdCBubGF0 dHIgKnRiW10sIHN0cnVjdCBubGF0dHIgKmRhdGFbXSwKIAkJCXN0cnVjdCBuZXRsaW5rX2V4dF9h Y2sgKmV4dGFjaykKIHsKLQlpZiAoIWRhdGEpCi0JCXJldHVybiAwOwotCXJldHVybiAtRUlOVkFM OworCU5MX1NFVF9FUlJfTVNHKGV4dGFjaywKKwkJICAgICAgICJ0dW4vdGFwIGNyZWF0aW9uIHZp YSBydG5ldGxpbmsgaXMgbm90IHN1cHBvcnRlZC4iKTsKKwlyZXR1cm4gLUVPUE5PVFNVUFA7CiB9 CiAKIHN0YXRpYyBzdHJ1Y3QgcnRubF9saW5rX29wcyB0dW5fbGlua19vcHMgX19yZWFkX21vc3Rs eSA9IHsKLS0gCjIuMTkuMgoKCkZyb20gZmFiYjZlMTBlNDc0YmIzMzZhYmU0MjAwYWFhNGY0YmE4 N2Y2MmE5NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFzb24gV2FuZyA8amFzb3dh bmdAcmVkaGF0LmNvbT4KRGF0ZTogVGh1LCAyOSBOb3YgMjAxOCAxMzo1MzoxNiArMDgwMApTdWJq ZWN0OiBbUEFUQ0ggMTUvMTVdIHZpcnRpby1uZXQ6IGtlZXAgdm5ldCBoZWFkZXIgemVyb2VkIGFm dGVyIHByb2Nlc3NpbmcKIFhEUAoKWyBVcHN0cmVhbSBjb21taXQgNDM2Yzk0NTNhMWFjMDk0NGI4 Mjg3MGVmMmUwZDliZTk1NmIzOTZkOSBdCgpXZSBjb3B5IHZuZXQgaGVhZGVyIHVuY29uZGl0aW9u YWxseSBpbiBwYWdlX3RvX3NrYigpIHRoaXMgaXMgd3JvbmcKc2luY2UgWERQIG1heSBtb2RpZnkg dGhlIHBhY2tldCBkYXRhLiBTbyBsZXQncyBrZWVwIGEgemVyb2VkIHZuZXQKaGVhZGVyIGZvciBu b3QgY29uZnVzaW5nIHRoZSBjb252ZXJzaW9uIGJldHdlZW4gdm5ldCBoZWFkZXIgYW5kIHNrYgpt ZXRhZGF0YS4KCkluIHRoZSBmdXR1cmUsIHdlIHNob3VsZCBhYmxlIHRvIGRldGVjdCB3aGV0aGVy IG9yIG5vdCB0aGUgcGFja2V0IHdhcwptb2RpZmllZCBhbmQga2VlcCB1c2luZyB0aGUgdm5ldCBo ZWFkZXIgd2hlbiBwYWNrZXQgd2FzIG5vdCB0b3VjaGVkLgoKRml4ZXM6IGY2MDBiNjkwNTAxNSAo InZpcnRpb19uZXQ6IEFkZCBYRFAgc3VwcG9ydCIpClJlcG9ydGVkLWJ5OiBQYXZlbCBQb3BhIDxw YXNoaW5obzE5OTBAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBKYXNvbiBXYW5nIDxqYXNvd2Fu Z0ByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvdmlydGlvX25ldC5jIHwgMTQgKysrKysrKysrLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvX25ldC5jIGIvZHJpdmVycy9uZXQvdmlydGlvX25l dC5jCmluZGV4IDBlOGUzYmU1MDMzMi4uMjE1Njk2ZjIxZDY3IDEwMDY0NAotLS0gYS9kcml2ZXJz L25ldC92aXJ0aW9fbmV0LmMKKysrIGIvZHJpdmVycy9uZXQvdmlydGlvX25ldC5jCkBAIC0zMDks NyArMzA5LDggQEAgc3RhdGljIHVuc2lnbmVkIGludCBtZXJnZWFibGVfY3R4X3RvX3RydWVzaXpl KHZvaWQgKm1yZ19jdHgpCiBzdGF0aWMgc3RydWN0IHNrX2J1ZmYgKnBhZ2VfdG9fc2tiKHN0cnVj dCB2aXJ0bmV0X2luZm8gKnZpLAogCQkJCSAgIHN0cnVjdCByZWNlaXZlX3F1ZXVlICpycSwKIAkJ CQkgICBzdHJ1Y3QgcGFnZSAqcGFnZSwgdW5zaWduZWQgaW50IG9mZnNldCwKLQkJCQkgICB1bnNp Z25lZCBpbnQgbGVuLCB1bnNpZ25lZCBpbnQgdHJ1ZXNpemUpCisJCQkJICAgdW5zaWduZWQgaW50 IGxlbiwgdW5zaWduZWQgaW50IHRydWVzaXplLAorCQkJCSAgIGJvb2wgaGRyX3ZhbGlkKQogewog CXN0cnVjdCBza19idWZmICpza2I7CiAJc3RydWN0IHZpcnRpb19uZXRfaGRyX21yZ19yeGJ1ZiAq aGRyOwpAQCAtMzMxLDcgKzMzMiw4IEBAIHN0YXRpYyBzdHJ1Y3Qgc2tfYnVmZiAqcGFnZV90b19z a2Ioc3RydWN0IHZpcnRuZXRfaW5mbyAqdmksCiAJZWxzZQogCQloZHJfcGFkZGVkX2xlbiA9IHNp emVvZihzdHJ1Y3QgcGFkZGVkX3ZuZXRfaGRyKTsKIAotCW1lbWNweShoZHIsIHAsIGhkcl9sZW4p OworCWlmIChoZHJfdmFsaWQpCisJCW1lbWNweShoZHIsIHAsIGhkcl9sZW4pOwogCiAJbGVuIC09 IGhkcl9sZW47CiAJb2Zmc2V0ICs9IGhkcl9wYWRkZWRfbGVuOwpAQCAtNTk0LDcgKzU5Niw4IEBA IHN0YXRpYyBzdHJ1Y3Qgc2tfYnVmZiAqcmVjZWl2ZV9iaWcoc3RydWN0IG5ldF9kZXZpY2UgKmRl diwKIAkJCQkgICB1bnNpZ25lZCBpbnQgbGVuKQogewogCXN0cnVjdCBwYWdlICpwYWdlID0gYnVm OwotCXN0cnVjdCBza19idWZmICpza2IgPSBwYWdlX3RvX3NrYih2aSwgcnEsIHBhZ2UsIDAsIGxl biwgUEFHRV9TSVpFKTsKKwlzdHJ1Y3Qgc2tfYnVmZiAqc2tiID0gcGFnZV90b19za2IodmksIHJx LCBwYWdlLCAwLCBsZW4sCisJCQkJCSAgUEFHRV9TSVpFLCB0cnVlKTsKIAogCWlmICh1bmxpa2Vs eSghc2tiKSkKIAkJZ290byBlcnI7CkBAIC02NzgsNyArNjgxLDggQEAgc3RhdGljIHN0cnVjdCBz a19idWZmICpyZWNlaXZlX21lcmdlYWJsZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogCQkJCXJj dV9yZWFkX3VubG9jaygpOwogCQkJCXB1dF9wYWdlKHBhZ2UpOwogCQkJCWhlYWRfc2tiID0gcGFn ZV90b19za2IodmksIHJxLCB4ZHBfcGFnZSwKLQkJCQkJCSAgICAgICBvZmZzZXQsIGxlbiwgUEFH RV9TSVpFKTsKKwkJCQkJCSAgICAgICBvZmZzZXQsIGxlbiwKKwkJCQkJCSAgICAgICBQQUdFX1NJ WkUsIGZhbHNlKTsKIAkJCQlld21hX3BrdF9sZW5fYWRkKCZycS0+bXJnX2F2Z19wa3RfbGVuLCBs ZW4pOwogCQkJCXJldHVybiBoZWFkX3NrYjsKIAkJCX0KQEAgLTcxMiw3ICs3MTYsNyBAQCBzdGF0 aWMgc3RydWN0IHNrX2J1ZmYgKnJlY2VpdmVfbWVyZ2VhYmxlKHN0cnVjdCBuZXRfZGV2aWNlICpk ZXYsCiAJCWdvdG8gZXJyX3NrYjsKIAl9CiAKLQloZWFkX3NrYiA9IHBhZ2VfdG9fc2tiKHZpLCBy cSwgcGFnZSwgb2Zmc2V0LCBsZW4sIHRydWVzaXplKTsKKwloZWFkX3NrYiA9IHBhZ2VfdG9fc2ti KHZpLCBycSwgcGFnZSwgb2Zmc2V0LCBsZW4sIHRydWVzaXplLCAheGRwX3Byb2cpOwogCWN1cnJf c2tiID0gaGVhZF9za2I7CiAKIAlpZiAodW5saWtlbHkoIWN1cnJfc2tiKSkKLS0gCjIuMTkuMgoK ----Next_Part(Tue_Dec_11_22_31_38_2018_485)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_419.mbox" RnJvbSAzMzY2ZmM1NGEzYTk3MzAwOGM0NWRhYjAxYzIzOWQ5NDBjYTIyYTI5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKaXJpIFdpZXNuZXIgPGp3aWVzbmVyQHN1c2UuY29tPgpEYXRl OiBXZWQsIDUgRGVjIDIwMTggMTY6NTU6MjkgKzAxMDAKU3ViamVjdDogW1BBVENIIDAxLzIxXSBp cHY0OiBpcHY2OiBuZXRmaWx0ZXI6IEFkanVzdCB0aGUgZnJhZyBtZW0gbGltaXQgd2hlbgogdHJ1 ZXNpemUgY2hhbmdlcwoKWyBVcHN0cmVhbSBjb21taXQgZWJhZjM5ZTYwMzJmYWY3NzIxODIyMDcw N2ZjM2ZhMjI0ODc3ODRlMCBdCgpUaGUgKl9mcmFnX3JlYXNtKCkgZnVuY3Rpb25zIGFyZSBzdXNj ZXB0aWJsZSB0byBtaXNjYWxjdWxhdGluZyB0aGUgYnl0ZQpjb3VudCBvZiBwYWNrZXQgZnJhZ21l bnRzIGluIGNhc2UgdGhlIHRydWVzaXplIG9mIGEgaGVhZCBidWZmZXIgY2hhbmdlcy4KVGhlIHRy dWVzaXplIG1lbWJlciBtYXkgYmUgY2hhbmdlZCBieSB0aGUgY2FsbCB0byBza2JfdW5jbG9uZSgp LCBsZWF2aW5nCnRoZSBmcmFnbWVudCBtZW1vcnkgbGltaXQgY291bnRlciB1bmJhbGFuY2VkIGV2 ZW4gaWYgYWxsIGZyYWdtZW50cyBhcmUKcHJvY2Vzc2VkLiBUaGlzIG1pc2NhbGN1bGF0aW9uIGdv ZXMgdW5ub3RpY2VkIGFzIGxvbmcgYXMgdGhlIG5ldHdvcmsKbmFtZXNwYWNlIHdoaWNoIGhvbGRz IHRoZSBjb3VudGVyIGlzIG5vdCBkZXN0cm95ZWQuCgpTaG91bGQgYW4gYXR0ZW1wdCBiZSBtYWRl IHRvIGRlc3Ryb3kgYSBuZXR3b3JrIG5hbWVzcGFjZSB0aGF0IGhvbGRzIGFuCnVuYmFsYW5jZWQg ZnJhZ21lbnQgbWVtb3J5IGxpbWl0IGNvdW50ZXIgdGhlIGNsZWFudXAgb2YgdGhlIG5hbWVzcGFj ZQpuZXZlciBmaW5pc2hlcy4gVGhlIHRocmVhZCBoYW5kbGluZyB0aGUgY2xlYW51cCBnZXRzIHN0 dWNrIGluCmluZXRfZnJhZ3NfZXhpdF9uZXQoKSB3YWl0aW5nIGZvciB0aGUgcGVyY3B1IGNvdW50 ZXIgdG8gcmVhY2ggemVyby4gVGhlCnRocmVhZCBpcyB1c3VhbGx5IGluIHJ1bm5pbmcgc3RhdGUg d2l0aCBhIHN0YWNrdHJhY2Ugc2ltaWxhciB0bzoKCiBQSUQ6IDEwNzMgICBUQVNLOiBmZmZmODgw NjI2NzExNDQwICBDUFU6IDEgICBDT01NQU5EOiAia3dvcmtlci91NDg6NCIKICAjNSBbZmZmZjg4 MDYyMTU2M2Q0OF0gX3Jhd19zcGluX2xvY2sgYXQgZmZmZmZmZmY4MTVmNTQ4MAogICM2IFtmZmZm ODgwNjIxNTYzZDQ4XSBpbmV0X2V2aWN0X2J1Y2tldCBhdCBmZmZmZmZmZjgxNTgwMjBiCiAgIzcg W2ZmZmY4ODA2MjE1NjNkODBdIGluZXRfZnJhZ3NfZXhpdF9uZXQgYXQgZmZmZmZmZmY4MTU4MDUx YwogICM4IFtmZmZmODgwNjIxNTYzZGIwXSBvcHNfZXhpdF9saXN0IGF0IGZmZmZmZmZmODE0ZjU4 NTYKICAjOSBbZmZmZjg4MDYyMTU2M2RkOF0gY2xlYW51cF9uZXQgYXQgZmZmZmZmZmY4MTRmNjdj MAogIzEwIFtmZmZmODgwNjIxNTYzZTM4XSBwcm9jZXNzX29uZV93b3JrIGF0IGZmZmZmZmZmODEw OTZmMTQKCkl0IGlzIG5vdCBwb3NzaWJsZSB0byBjcmVhdGUgbmV3IG5ldHdvcmsgbmFtZXNwYWNl cywgYW5kIHByb2Nlc3Nlcwp0aGF0IGNhbGwgdW5zaGFyZSgpIGVuZCB1cCBiZWluZyBzdHVjayBp biB1bmludGVycnVwdGlibGUgc2xlZXAgc3RhdGUKd2FpdGluZyB0byBhY3F1aXJlIHRoZSBuZXRf bXV0ZXguCgpUaGUgYnVnIHdhcyBvYnNlcnZlZCBpbiB0aGUgSVB2NiBuZXRmaWx0ZXIgY29kZSBi eSBQZXIgU3VuZHN0cm9tLgpJIHRoYW5rIGhpbSBmb3IgaGlzIGFuYWx5c2lzIG9mIHRoZSBwcm9i bGVtLiBUaGUgcGFydHMgb2YgdGhpcyBwYXRjaAp0aGF0IGFwcGx5IHRvIElQdjQgYW5kIElQdjYg ZnJhZ21lbnQgcmVhc3NlbWJseSBhcmUgcHJlZW1wdGl2ZSBtZWFzdXJlcy4KClNpZ25lZC1vZmYt Ynk6IEppcmkgV2llc25lciA8andpZXNuZXJAc3VzZS5jb20+ClJlcG9ydGVkLWJ5OiBQZXIgU3Vu ZHN0cm9tIDxwZXIuc3VuZHN0cm9tQHJlZHF1YmUuc2U+CkFja2VkLWJ5OiBQZXRlciBPc2tvbGtv diA8cG9za0Bnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvaXBfZnJhZ21lbnQuYyAgICAgICAgICAgICAg ICAgIHwgNyArKysrKysrCiBuZXQvaXB2Ni9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3JlYXNtLmMg fCA4ICsrKysrKystCiBuZXQvaXB2Ni9yZWFzc2VtYmx5LmMgICAgICAgICAgICAgICAgICAgfCA4 ICsrKysrKystCiAzIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvaXBfZnJhZ21lbnQuYyBiL25ldC9pcHY0L2lwX2Zy YWdtZW50LmMKaW5kZXggY2I4ZmE1ZDdhZmUxLi5mNjg2ZDc3NjFhY2IgMTAwNjQ0Ci0tLSBhL25l dC9pcHY0L2lwX2ZyYWdtZW50LmMKKysrIGIvbmV0L2lwdjQvaXBfZnJhZ21lbnQuYwpAQCAtNTEz LDYgKzUxMyw3IEBAIHN0YXRpYyBpbnQgaXBfZnJhZ19yZWFzbShzdHJ1Y3QgaXBxICpxcCwgc3Ry dWN0IHNrX2J1ZmYgKnNrYiwKIAlzdHJ1Y3QgcmJfbm9kZSAqcmJuOwogCWludCBsZW47CiAJaW50 IGlobGVuOworCWludCBkZWx0YTsKIAlpbnQgZXJyOwogCXU4IGVjbjsKIApAQCAtNTU0LDEwICs1 NTUsMTYgQEAgc3RhdGljIGludCBpcF9mcmFnX3JlYXNtKHN0cnVjdCBpcHEgKnFwLCBzdHJ1Y3Qg c2tfYnVmZiAqc2tiLAogCWlmIChsZW4gPiA2NTUzNSkKIAkJZ290byBvdXRfb3ZlcnNpemU7CiAK KwlkZWx0YSA9IC0gaGVhZC0+dHJ1ZXNpemU7CisKIAkvKiBIZWFkIG9mIGxpc3QgbXVzdCBub3Qg YmUgY2xvbmVkLiAqLwogCWlmIChza2JfdW5jbG9uZShoZWFkLCBHRlBfQVRPTUlDKSkKIAkJZ290 byBvdXRfbm9tZW07CiAKKwlkZWx0YSArPSBoZWFkLT50cnVlc2l6ZTsKKwlpZiAoZGVsdGEpCisJ CWFkZF9mcmFnX21lbV9saW1pdChxcC0+cS5uZXQsIGRlbHRhKTsKKwogCS8qIElmIHRoZSBmaXJz dCBmcmFnbWVudCBpcyBmcmFnbWVudGVkIGl0c2VsZiwgd2Ugc3BsaXQKIAkgKiBpdCB0byB0d28g Y2h1bmtzOiB0aGUgZmlyc3Qgd2l0aCBkYXRhIGFuZCBwYWdlZCBwYXJ0CiAJICogYW5kIHRoZSBz ZWNvbmQsIGhvbGRpbmcgb25seSBmcmFnbWVudHMuICovCmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9u ZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3JlYXNtLmMgYi9uZXQvaXB2Ni9uZXRmaWx0ZXIvbmZfY29u bnRyYWNrX3JlYXNtLmMKaW5kZXggZjc2YmQ0ZDE1NzA0Li4wNDNlZDhlYjBhYjkgMTAwNjQ0Ci0t LSBhL25ldC9pcHY2L25ldGZpbHRlci9uZl9jb25udHJhY2tfcmVhc20uYworKysgYi9uZXQvaXB2 Ni9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3JlYXNtLmMKQEAgLTM0MSw3ICszNDEsNyBAQCBzdGF0 aWMgYm9vbAogbmZfY3RfZnJhZzZfcmVhc20oc3RydWN0IGZyYWdfcXVldWUgKmZxLCBzdHJ1Y3Qg c2tfYnVmZiAqcHJldiwgIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IHNrX2J1 ZmYgKmZwLCAqaGVhZCA9IGZxLT5xLmZyYWdtZW50czsKLQlpbnQgICAgcGF5bG9hZF9sZW47CisJ aW50ICAgIHBheWxvYWRfbGVuLCBkZWx0YTsKIAl1OCBlY247CiAKIAlpbmV0X2ZyYWdfa2lsbCgm ZnEtPnEpOwpAQCAtMzYzLDEwICszNjMsMTYgQEAgbmZfY3RfZnJhZzZfcmVhc20oc3RydWN0IGZy YWdfcXVldWUgKmZxLCBzdHJ1Y3Qgc2tfYnVmZiAqcHJldiwgIHN0cnVjdCBuZXRfZGV2aWMKIAkJ cmV0dXJuIGZhbHNlOwogCX0KIAorCWRlbHRhID0gLSBoZWFkLT50cnVlc2l6ZTsKKwogCS8qIEhl YWQgb2YgbGlzdCBtdXN0IG5vdCBiZSBjbG9uZWQuICovCiAJaWYgKHNrYl91bmNsb25lKGhlYWQs IEdGUF9BVE9NSUMpKQogCQlyZXR1cm4gZmFsc2U7CiAKKwlkZWx0YSArPSBoZWFkLT50cnVlc2l6 ZTsKKwlpZiAoZGVsdGEpCisJCWFkZF9mcmFnX21lbV9saW1pdChmcS0+cS5uZXQsIGRlbHRhKTsK KwogCS8qIElmIHRoZSBmaXJzdCBmcmFnbWVudCBpcyBmcmFnbWVudGVkIGl0c2VsZiwgd2Ugc3Bs aXQKIAkgKiBpdCB0byB0d28gY2h1bmtzOiB0aGUgZmlyc3Qgd2l0aCBkYXRhIGFuZCBwYWdlZCBw YXJ0CiAJICogYW5kIHRoZSBzZWNvbmQsIGhvbGRpbmcgb25seSBmcmFnbWVudHMuICovCmRpZmYg LS1naXQgYS9uZXQvaXB2Ni9yZWFzc2VtYmx5LmMgYi9uZXQvaXB2Ni9yZWFzc2VtYmx5LmMKaW5k ZXggNWM1YjRmNzkyOTZlLi5kM2ZkMmQ3ZTVhYTQgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L3JlYXNz ZW1ibHkuYworKysgYi9uZXQvaXB2Ni9yZWFzc2VtYmx5LmMKQEAgLTI4MSw3ICsyODEsNyBAQCBz dGF0aWMgaW50IGlwNl9mcmFnX3JlYXNtKHN0cnVjdCBmcmFnX3F1ZXVlICpmcSwgc3RydWN0IHNr X2J1ZmYgKnByZXYsCiB7CiAJc3RydWN0IG5ldCAqbmV0ID0gY29udGFpbmVyX29mKGZxLT5xLm5l dCwgc3RydWN0IG5ldCwgaXB2Ni5mcmFncyk7CiAJc3RydWN0IHNrX2J1ZmYgKmZwLCAqaGVhZCA9 IGZxLT5xLmZyYWdtZW50czsKLQlpbnQgICAgcGF5bG9hZF9sZW47CisJaW50ICAgIHBheWxvYWRf bGVuLCBkZWx0YTsKIAl1bnNpZ25lZCBpbnQgbmhvZmY7CiAJaW50IHN1bV90cnVlc2l6ZTsKIAl1 OCBlY247CkBAIC0zMjIsMTAgKzMyMiwxNiBAQCBzdGF0aWMgaW50IGlwNl9mcmFnX3JlYXNtKHN0 cnVjdCBmcmFnX3F1ZXVlICpmcSwgc3RydWN0IHNrX2J1ZmYgKnByZXYsCiAJaWYgKHBheWxvYWRf bGVuID4gSVBWNl9NQVhQTEVOKQogCQlnb3RvIG91dF9vdmVyc2l6ZTsKIAorCWRlbHRhID0gLSBo ZWFkLT50cnVlc2l6ZTsKKwogCS8qIEhlYWQgb2YgbGlzdCBtdXN0IG5vdCBiZSBjbG9uZWQuICov CiAJaWYgKHNrYl91bmNsb25lKGhlYWQsIEdGUF9BVE9NSUMpKQogCQlnb3RvIG91dF9vb207CiAK KwlkZWx0YSArPSBoZWFkLT50cnVlc2l6ZTsKKwlpZiAoZGVsdGEpCisJCWFkZF9mcmFnX21lbV9s aW1pdChmcS0+cS5uZXQsIGRlbHRhKTsKKwogCS8qIElmIHRoZSBmaXJzdCBmcmFnbWVudCBpcyBm cmFnbWVudGVkIGl0c2VsZiwgd2Ugc3BsaXQKIAkgKiBpdCB0byB0d28gY2h1bmtzOiB0aGUgZmly c3Qgd2l0aCBkYXRhIGFuZCBwYWdlZCBwYXJ0CiAJICogYW5kIHRoZSBzZWNvbmQsIGhvbGRpbmcg b25seSBmcmFnbWVudHMuICovCi0tIAoyLjE5LjIKCgpGcm9tIDdlYjFmOWZkMzg4YjRkMDUzOTA3 ZjlkNzIyYzQwOTZiMDM2YTNiMGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFN0ZWZh bm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+CkRhdGU6IFRodSwgNiBEZWMgMjAxOCAxOToz MDozNiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMjFdIGlwdjY6IENoZWNrIGF2YWlsYWJsZSBo ZWFkcm9vbSBpbiBpcDZfeG1pdCgpIGV2ZW4KIHdpdGhvdXQgb3B0aW9ucwoKWyBVcHN0cmVhbSBj b21taXQgNjYwMzNmNDdjYTYwMjk0YTk1ZmM4NWVjM2EzY2M5MDlkYWI3Yjc2NSBdCgpFdmVuIGlm IHdlIHNlbmQgYW4gSVB2NiBwYWNrZXQgd2l0aG91dCBvcHRpb25zLCBNQVhfSEVBREVSIG1pZ2h0 IG5vdCBiZQplbm91Z2ggdG8gYWNjb3VudCBmb3IgdGhlIGFkZGl0aW9uYWwgaGVhZHJvb20gcmVx dWlyZWQgYnkgYWxpZ25tZW50IG9mCmhhcmR3YXJlIGhlYWRlcnMuCgpPbiBhIGNvbmZpZ3VyYXRp b24gd2l0aG91dCBIWVBFUlZfTkVULCBXTEFOLCBBWDI1LCBhbmQgd2l0aCBJUFY2X1RVTk5FTCwK c2VuZGluZyBzaG9ydCBTQ1RQIHBhY2tldHMgb3ZlciBJUHY0IG92ZXIgTDJUUCBvdmVyIElQdjYs IHdlIHN0YXJ0IHdpdGgKMTAwIGJ5dGVzIG9mIGFsbG9jYXRlZCBoZWFkcm9vbSBpbiBzY3RwX3Bh Y2tldF90cmFuc21pdCgpLCBlbmQgdXAgd2l0aCA1NApieXRlcyBhZnRlciBsMnRwX3htaXRfc2ti KCksIGFuZCAxNCBieXRlcyBpbiBpcDZfZmluaXNoX291dHB1dDIoKS4KClRob3NlIHdvdWxkIGJl IGVub3VnaCB0byBhcHBlbmQgb3VyIDE0IGJ5dGVzIGhlYWRlciwgYnV0IHdlJ3JlIGdvaW5nIHRv CmFsaWduIHRoYXQgdG8gMTYgYnl0ZXMsIGFuZCB3cml0ZSAyIGJ5dGVzIG91dCBvZiB0aGUgYWxs b2NhdGVkIHNsYWIgaW4KbmVpZ2hfaGhfb3V0cHV0KCkuCgpLQVNhbiBzYXlzOgoKWyAgMjY0Ljk2 Nzg0OF0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09ClsgIDI2NC45Njc4NjFdIEJVRzogS0FTQU46IHNsYWItb3V0LW9mLWJv dW5kcyBpbiBpcDZfZmluaXNoX291dHB1dDIrMHgxYWVjLzB4MWM3MApbICAyNjQuOTY3ODY2XSBX cml0ZSBvZiBzaXplIDE2IGF0IGFkZHIgMDAwMDAwMDA2YWYxYzdmZSBieSB0YXNrIG5ldHBlcmYv NjIwMQpbICAyNjQuOTY3ODcwXQpbICAyNjQuOTY3ODc2XSBDUFU6IDAgUElEOiA2MjAxIENvbW06 IG5ldHBlcmYgTm90IHRhaW50ZWQgNC4yMC4wLXJjNCsgIzEKWyAgMjY0Ljk2Nzg4MV0gSGFyZHdh cmUgbmFtZTogSUJNIDI4MjcgSDQzIDQwMCAoei9WTSA2LjQuMCkKWyAgMjY0Ljk2Nzg4N10gQ2Fs bCBUcmFjZToKWyAgMjY0Ljk2Nzg5Nl0gKFs8MDAwMDAwMDAwMDEzNDdkNj5dIHNob3dfc3RhY2sr MHg1Ni8weGEwKQpbICAyNjQuOTY3OTAzXSAgWzwwMDAwMDAwMDAxN2UzNzljPl0gZHVtcF9zdGFj aysweDIzYy8weDI5MApbICAyNjQuOTY3OTEyXSAgWzwwMDAwMDAwMDAwN2JjNTk0Pl0gcHJpbnRf YWRkcmVzc19kZXNjcmlwdGlvbisweGY0LzB4MjkwClsgIDI2NC45Njc5MTldICBbPDAwMDAwMDAw MDA3YmM4ZmM+XSBrYXNhbl9yZXBvcnQrMHgxM2MvMHgyNDAKWyAgMjY0Ljk2NzkyN10gIFs8MDAw MDAwMDAwMTYyZjVlND5dIGlwNl9maW5pc2hfb3V0cHV0MisweDFhZWMvMHgxYzcwClsgIDI2NC45 Njc5MzVdICBbPDAwMDAwMDAwMDE2M2Y4OTA+XSBpcDZfZmluaXNoX291dHB1dCsweDQzMC8weDdm MApbICAyNjQuOTY3OTQzXSAgWzwwMDAwMDAwMDAxNjNmZTQ0Pl0gaXA2X291dHB1dCsweDFmNC8w eDU4MApbICAyNjQuOTY3OTUzXSAgWzwwMDAwMDAwMDAxNjM4ODJhPl0gaXA2X3htaXQrMHhmZWEv MHgxY2U4ClsgIDI2NC45Njc5NjNdICBbPDAwMDAwMDAwMDE3Mzk2ZTI+XSBpbmV0Nl9jc2tfeG1p dCsweDI4Mi8weDNmOApbICAyNjQuOTY4MDMzXSAgWzwwMDAwMDNmZjgwNWZiMGJhPl0gbDJ0cF94 bWl0X3NrYisweGUwMi8weDEzZTAgW2wydHBfY29yZV0KWyAgMjY0Ljk2ODAzN10gIFs8MDAwMDAz ZmY4MDYzMTE5Mj5dIGwydHBfZXRoX2Rldl94bWl0KzB4ZGEvMHgxNTAgW2wydHBfZXRoXQpbICAy NjQuOTY4MDQxXSAgWzwwMDAwMDAwMDAxMjIwMDIwPl0gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDI2 OC8weDkyOApbICAyNjQuOTY4MDY5XSAgWzwwMDAwMDAwMDAxMzMwZThlPl0gc2NoX2RpcmVjdF94 bWl0KzB4N2FlLzB4MTM1MApbICAyNjQuOTY4MDcxXSAgWzwwMDAwMDAwMDAxMjIzNTljPl0gX19k ZXZfcXVldWVfeG1pdCsweDJiN2MvMHgzNDc4ClsgIDI2NC45NjgwNzVdICBbPDAwMDAwMDAwMDEz ZDI4NjI+XSBpcF9maW5pc2hfb3V0cHV0MisweGNlMi8weDExYTAKWyAgMjY0Ljk2ODA3OF0gIFs8 MDAwMDAwMDAwMTNkOWIxND5dIGlwX2ZpbmlzaF9vdXRwdXQrMHg1NmMvMHg4YzgKWyAgMjY0Ljk2 ODA4MV0gIFs8MDAwMDAwMDAwMTNkZGQxZT5dIGlwX291dHB1dCsweDIyNi8weDRjMApbICAyNjQu OTY4MDgzXSAgWzwwMDAwMDAwMDAxM2RiZDZjPl0gX19pcF9xdWV1ZV94bWl0KzB4ODk0LzB4MTkz OApbICAyNjQuOTY4MTAwXSAgWzwwMDAwMDNmZjgwYmMzYTVjPl0gc2N0cF9wYWNrZXRfdHJhbnNt aXQrMHgyOWQ0LzB4MzY0OCBbc2N0cF0KWyAgMjY0Ljk2ODExNl0gIFs8MDAwMDAzZmY4MGI3YmY2 OD5dIHNjdHBfb3V0cV9mbHVzaF9jdHJsLmNvbnN0cHJvcC41KzB4OGQwLzB4ZTUwIFtzY3RwXQpb ICAyNjQuOTY4MTMxXSAgWzwwMDAwMDNmZjgwYjdjNzE2Pl0gc2N0cF9vdXRxX2ZsdXNoKzB4MjJl LzB4N2Q4IFtzY3RwXQpbICAyNjQuOTY4MTQ2XSAgWzwwMDAwMDNmZjgwYjM1YzY4Pl0gc2N0cF9j bWRfaW50ZXJwcmV0ZXIuaXNyYS4xNisweDUzMC8weDY4MDAgW3NjdHBdClsgIDI2NC45NjgxNjFd ICBbPDAwMDAwM2ZmODBiMzQxMGE+XSBzY3RwX2RvX3NtKzB4MjIyLzB4NjQ4IFtzY3RwXQpbICAy NjQuOTY4MTc3XSAgWzwwMDAwMDNmZjgwYmJkZGFjPl0gc2N0cF9wcmltaXRpdmVfQVNTT0NJQVRF KzB4YmMvMHhmOCBbc2N0cF0KWyAgMjY0Ljk2ODE5Ml0gIFs8MDAwMDAzZmY4MGI5MzMyOD5dIF9f c2N0cF9jb25uZWN0KzB4ODMwLzB4YzIwIFtzY3RwXQpbICAyNjQuOTY4MjA4XSAgWzwwMDAwMDNm ZjgwYmIxMWNlPl0gc2N0cF9pbmV0X2Nvbm5lY3QrMHgyZTYvMHgzNzggW3NjdHBdClsgIDI2NC45 NjgyMTJdICBbPDAwMDAwMDAwMDExOTc5NDI+XSBfX3N5c19jb25uZWN0KzB4MjFhLzB4NDUwClsg IDI2NC45NjgyMTVdICBbPDAwMDAwMDAwMDExOWFmZjg+XSBzeXNfc29ja2V0Y2FsbCsweDNkMC8w eGIwOApbICAyNjQuOTY4MjE4XSAgWzwwMDAwMDAwMDAxODRlYTdhPl0gc3lzdGVtX2NhbGwrMHgy YTIvMHgyYzAKClsuLi5dCgpKdXN0IGxpa2UgaXBfZmluaXNoX291dHB1dDIoKSBkb2VzIGZvciBJ UHY0LCBjaGVjayB0aGF0IHdlIGhhdmUgZW5vdWdoCmhlYWRyb29tIGluIGlwNl94bWl0KCksIGFu ZCByZWFsbG9jYXRlIGl0IGlmIHdlIGRvbid0LgoKVGhpcyBpc3N1ZSBpcyBvbGRlciB0aGFuIGdp dCBoaXN0b3J5LgoKUmVwb3J0ZWQtYnk6IEppYW5saW4gU2hpIDxqaXNoaUByZWRoYXQuY29tPgpT aWduZWQtb2ZmLWJ5OiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPgpTaWduZWQt b2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lw djYvaXA2X291dHB1dC5jIHwgNDIgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvaXA2X291dHB1dC5jIGIvbmV0L2lwdjYvaXA2X291dHB1 dC5jCmluZGV4IGY5ZjhmNTU0ZDE0MS4uMjY5NGRlZjFlNzJjIDEwMDY0NAotLS0gYS9uZXQvaXB2 Ni9pcDZfb3V0cHV0LmMKKysrIGIvbmV0L2lwdjYvaXA2X291dHB1dC5jCkBAIC0xOTUsMzcgKzE5 NSwzNyBAQCBpbnQgaXA2X3htaXQoY29uc3Qgc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVm ZiAqc2tiLCBzdHJ1Y3QgZmxvd2k2ICpmbDYsCiAJY29uc3Qgc3RydWN0IGlwdjZfcGluZm8gKm5w ID0gaW5ldDZfc2soc2spOwogCXN0cnVjdCBpbjZfYWRkciAqZmlyc3RfaG9wID0gJmZsNi0+ZGFk ZHI7CiAJc3RydWN0IGRzdF9lbnRyeSAqZHN0ID0gc2tiX2RzdChza2IpOworCXVuc2lnbmVkIGlu dCBoZWFkX3Jvb207CiAJc3RydWN0IGlwdjZoZHIgKmhkcjsKIAl1OCAgcHJvdG8gPSBmbDYtPmZs b3dpNl9wcm90bzsKIAlpbnQgc2VnX2xlbiA9IHNrYi0+bGVuOwogCWludCBobGltaXQgPSAtMTsK IAl1MzIgbXR1OwogCi0JaWYgKG9wdCkgewotCQl1bnNpZ25lZCBpbnQgaGVhZF9yb29tOworCWhl YWRfcm9vbSA9IHNpemVvZihzdHJ1Y3QgaXB2NmhkcikgKyBMTF9SRVNFUlZFRF9TUEFDRShkc3Qt PmRldik7CisJaWYgKG9wdCkKKwkJaGVhZF9yb29tICs9IG9wdC0+b3B0X25mbGVuICsgb3B0LT5v cHRfZmxlbjsKIAotCQkvKiBGaXJzdDogZXh0aGRycyBtYXkgdGFrZSBsb3RzIG9mIHNwYWNlICh+ OEsgZm9yIG5vdykKLQkJICAgTUFYX0hFQURFUiBpcyBub3QgZW5vdWdoLgotCQkgKi8KLQkJaGVh ZF9yb29tID0gb3B0LT5vcHRfbmZsZW4gKyBvcHQtPm9wdF9mbGVuOwotCQlzZWdfbGVuICs9IGhl YWRfcm9vbTsKLQkJaGVhZF9yb29tICs9IHNpemVvZihzdHJ1Y3QgaXB2NmhkcikgKyBMTF9SRVNF UlZFRF9TUEFDRShkc3QtPmRldik7Ci0KLQkJaWYgKHNrYl9oZWFkcm9vbShza2IpIDwgaGVhZF9y b29tKSB7Ci0JCQlzdHJ1Y3Qgc2tfYnVmZiAqc2tiMiA9IHNrYl9yZWFsbG9jX2hlYWRyb29tKHNr YiwgaGVhZF9yb29tKTsKLQkJCWlmICghc2tiMikgewotCQkJCUlQNl9JTkNfU1RBVFMobmV0LCBp cDZfZHN0X2lkZXYoc2tiX2RzdChza2IpKSwKLQkJCQkJICAgICAgSVBTVEFUU19NSUJfT1VURElT Q0FSRFMpOwotCQkJCWtmcmVlX3NrYihza2IpOwotCQkJCXJldHVybiAtRU5PQlVGUzsKLQkJCX0K LQkJCWlmIChza2ItPnNrKQotCQkJCXNrYl9zZXRfb3duZXJfdyhza2IyLCBza2ItPnNrKTsKLQkJ CWNvbnN1bWVfc2tiKHNrYik7Ci0JCQlza2IgPSBza2IyOworCWlmICh1bmxpa2VseShza2JfaGVh ZHJvb20oc2tiKSA8IGhlYWRfcm9vbSkpIHsKKwkJc3RydWN0IHNrX2J1ZmYgKnNrYjIgPSBza2Jf cmVhbGxvY19oZWFkcm9vbShza2IsIGhlYWRfcm9vbSk7CisJCWlmICghc2tiMikgeworCQkJSVA2 X0lOQ19TVEFUUyhuZXQsIGlwNl9kc3RfaWRldihza2JfZHN0KHNrYikpLAorCQkJCSAgICAgIElQ U1RBVFNfTUlCX09VVERJU0NBUkRTKTsKKwkJCWtmcmVlX3NrYihza2IpOworCQkJcmV0dXJuIC1F Tk9CVUZTOwogCQl9CisJCWlmIChza2ItPnNrKQorCQkJc2tiX3NldF9vd25lcl93KHNrYjIsIHNr Yi0+c2spOworCQljb25zdW1lX3NrYihza2IpOworCQlza2IgPSBza2IyOworCX0KKworCWlmIChv cHQpIHsKKwkJc2VnX2xlbiArPSBvcHQtPm9wdF9uZmxlbiArIG9wdC0+b3B0X2ZsZW47CisKIAkJ aWYgKG9wdC0+b3B0X2ZsZW4pCiAJCQlpcHY2X3B1c2hfZnJhZ19vcHRzKHNrYiwgb3B0LCAmcHJv dG8pOworCiAJCWlmIChvcHQtPm9wdF9uZmxlbikKIAkJCWlwdjZfcHVzaF9uZnJhZ19vcHRzKHNr Yiwgb3B0LCAmcHJvdG8sICZmaXJzdF9ob3AsCiAJCQkJCSAgICAgJmZsNi0+c2FkZHIpOwotLSAK Mi4xOS4yCgoKRnJvbSAyMmU5ZTBiOWQ4ZWEyZGNjODZlYTgyNjEzMWE2YjRlZDI5ZjQ4NGRjIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRo YXQuY29tPgpEYXRlOiBUaHUsIDYgRGVjIDIwMTggMTk6MzA6MzcgKzAxMDAKU3ViamVjdDogW1BB VENIIDAzLzIxXSBuZWlnaGJvdXI6IEF2b2lkIHdyaXRpbmcgYmVmb3JlIHNrYi0+aGVhZCBpbgog bmVpZ2hfaGhfb3V0cHV0KCkKClsgVXBzdHJlYW0gY29tbWl0IGU2YWM2NGQ0YzRkMDk1MDg1ZDdk ZDcxY2JkMDU3MDRhYzk5ODI5YjIgXQoKV2hpbGUgc2tiX3B1c2goKSBtYWtlcyB0aGUga2VybmVs IHBhbmljIGlmIHRoZSBza2IgaGVhZHJvb20gaXMgbGVzcyB0aGFuCnRoZSB1bmFsaWduZWQgaGFy ZHdhcmUgaGVhZGVyIHNpemUsIGl0IHdpbGwgcHJvY2VlZCBub3JtYWxseSBpbiBjYXNlIHdlCmNv cHkgbW9yZSB0aGFuIHRoYXQgYmVjYXVzZSBvZiBhbGlnbm1lbnQsIGFuZCB3ZSdsbCBzaWxlbnRs eSBjb3JydXB0CmFkamFjZW50IHNsYWJzLgoKSW4gdGhlIGNhc2UgZml4ZWQgYnkgdGhlIHByZXZp b3VzIHBhdGNoLAoiaXB2NjogQ2hlY2sgYXZhaWxhYmxlIGhlYWRyb29tIGluIGlwNl94bWl0KCkg ZXZlbiB3aXRob3V0IG9wdGlvbnMiLCB3ZQplbmQgdXAgaW4gbmVpZ2hfaGhfb3V0cHV0KCkgd2l0 aCAxNCBieXRlcyBoZWFkcm9vbSwgMTQgYnl0ZXMgaGFyZHdhcmUKaGVhZGVyIGFuZCB3cml0ZSAx NiBieXRlcywgc3RhcnRpbmcgMiBieXRlcyBiZWZvcmUgdGhlIGFsbG9jYXRlZCBidWZmZXIuCgpB bHdheXMgY2hlY2sgd2UncmUgbm90IHdyaXRpbmcgYmVmb3JlIHNrYi0+aGVhZCBhbmQsIGlmIHRo ZSBoZWFkcm9vbSBpcwpub3QgZW5vdWdoLCB3YXJuIGFuZCBkcm9wIHRoZSBwYWNrZXQuCgp2MjoK IC0gaW5zdGVhZCBvZiBwYW5pY2tpbmcgd2l0aCBCVUdfT04oKSwgV0FSTl9PTl9PTkNFKCkgYW5k IGRyb3AgdGhlIHBhY2tldAogICAoRXJpYyBEdW1hemV0KQogLSBpZiB3ZSBhdm9pZCB0aGUgcGFu aWMsIHRob3VnaCwgd2UgbmVlZCB0byBleHBsaWNpdGx5IGNoZWNrIHRoZSBoZWFkcm9vbQogICBi ZWZvcmUgdGhlIG1lbWNweSgpLCBvdGhlcndpc2Ugd2UnbGwgaGF2ZSBjb3JydXB0ZWQgc2xhYnMg b24gYSBydW5uaW5nCiAgIGtlcm5lbCwgYWZ0ZXIgd2Ugd2FybgogLSB1c2UgX19za2JfcHVzaCgp IGluc3RlYWQgb2Ygc2tiX3B1c2goKSwgYXMgdGhlIGhlYWRyb29tIGNoZWNrIGlzCiAgIGFscmVh ZHkgaW1wbGVtZW50ZWQgaGVyZSBleHBsaWNpdGx5IChFcmljIER1bWF6ZXQpCgpTaWduZWQtb2Zm LWJ5OiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9uZXQvbmVp Z2hib3VyLmggfCAyOCArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgMjMgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRl L25ldC9uZWlnaGJvdXIuaCBiL2luY2x1ZGUvbmV0L25laWdoYm91ci5oCmluZGV4IDZjMWVlY2Q1 NmE0ZC4uYmVlZWVkMTI2ODcyIDEwMDY0NAotLS0gYS9pbmNsdWRlL25ldC9uZWlnaGJvdXIuaAor KysgYi9pbmNsdWRlL25ldC9uZWlnaGJvdXIuaApAQCAtNDUzLDYgKzQ1Myw3IEBAIHN0YXRpYyBp bmxpbmUgaW50IG5laWdoX2hoX2JyaWRnZShzdHJ1Y3QgaGhfY2FjaGUgKmhoLCBzdHJ1Y3Qgc2tf YnVmZiAqc2tiKQogCiBzdGF0aWMgaW5saW5lIGludCBuZWlnaF9oaF9vdXRwdXQoY29uc3Qgc3Ry dWN0IGhoX2NhY2hlICpoaCwgc3RydWN0IHNrX2J1ZmYgKnNrYikKIHsKKwl1bnNpZ25lZCBpbnQg aGhfYWxlbiA9IDA7CiAJdW5zaWduZWQgaW50IHNlcTsKIAl1bnNpZ25lZCBpbnQgaGhfbGVuOwog CkBAIC00NjAsMTYgKzQ2MSwzMyBAQCBzdGF0aWMgaW5saW5lIGludCBuZWlnaF9oaF9vdXRwdXQo Y29uc3Qgc3RydWN0IGhoX2NhY2hlICpoaCwgc3RydWN0IHNrX2J1ZmYgKnNrYgogCQlzZXEgPSBy ZWFkX3NlcWJlZ2luKCZoaC0+aGhfbG9jayk7CiAJCWhoX2xlbiA9IGhoLT5oaF9sZW47CiAJCWlm IChsaWtlbHkoaGhfbGVuIDw9IEhIX0RBVEFfTU9EKSkgewotCQkJLyogdGhpcyBpcyBpbmxpbmVk IGJ5IGdjYyAqLwotCQkJbWVtY3B5KHNrYi0+ZGF0YSAtIEhIX0RBVEFfTU9ELCBoaC0+aGhfZGF0 YSwgSEhfREFUQV9NT0QpOworCQkJaGhfYWxlbiA9IEhIX0RBVEFfTU9EOworCisJCQkvKiBza2Jf cHVzaCgpIHdvdWxkIHByb2NlZWQgc2lsZW50bHkgaWYgd2UgaGF2ZSByb29tIGZvcgorCQkJICog dGhlIHVuYWxpZ25lZCBzaXplIGJ1dCBub3QgZm9yIHRoZSBhbGlnbmVkIHNpemU6CisJCQkgKiBj aGVjayBoZWFkcm9vbSBleHBsaWNpdGx5LgorCQkJICovCisJCQlpZiAobGlrZWx5KHNrYl9oZWFk cm9vbShza2IpID49IEhIX0RBVEFfTU9EKSkgeworCQkJCS8qIHRoaXMgaXMgaW5saW5lZCBieSBn Y2MgKi8KKwkJCQltZW1jcHkoc2tiLT5kYXRhIC0gSEhfREFUQV9NT0QsIGhoLT5oaF9kYXRhLAor CQkJCSAgICAgICBISF9EQVRBX01PRCk7CisJCQl9CiAJCX0gZWxzZSB7Ci0JCQl1bnNpZ25lZCBp bnQgaGhfYWxlbiA9IEhIX0RBVEFfQUxJR04oaGhfbGVuKTsKKwkJCWhoX2FsZW4gPSBISF9EQVRB X0FMSUdOKGhoX2xlbik7CiAKLQkJCW1lbWNweShza2ItPmRhdGEgLSBoaF9hbGVuLCBoaC0+aGhf ZGF0YSwgaGhfYWxlbik7CisJCQlpZiAobGlrZWx5KHNrYl9oZWFkcm9vbShza2IpID49IGhoX2Fs ZW4pKSB7CisJCQkJbWVtY3B5KHNrYi0+ZGF0YSAtIGhoX2FsZW4sIGhoLT5oaF9kYXRhLAorCQkJ CSAgICAgICBoaF9hbGVuKTsKKwkJCX0KIAkJfQogCX0gd2hpbGUgKHJlYWRfc2VxcmV0cnkoJmho LT5oaF9sb2NrLCBzZXEpKTsKIAotCXNrYl9wdXNoKHNrYiwgaGhfbGVuKTsKKwlpZiAoV0FSTl9P Tl9PTkNFKHNrYl9oZWFkcm9vbShza2IpIDwgaGhfYWxlbikpIHsKKwkJa2ZyZWVfc2tiKHNrYik7 CisJCXJldHVybiBORVRfWE1JVF9EUk9QOworCX0KKworCV9fc2tiX3B1c2goc2tiLCBoaF9sZW4p OwogCXJldHVybiBkZXZfcXVldWVfeG1pdChza2IpOwogfQogCi0tIAoyLjE5LjIKCgpGcm9tIDM2 MTUxNDZiOGMyMWI4N2U0MDAwMWRlODgzZWNlMmZiZDBlZTM3YjYgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IFNobXVsaWsgTGFka2FuaSA8c2htdWxpa0BtZXRhbmV0d29ya3MuY29tPgpE YXRlOiBGcmksIDcgRGVjIDIwMTggMDk6NTA6MTcgKzAyMDAKU3ViamVjdDogW1BBVENIIDA0LzIx XSBpcHY2OiBzcjogcHJvcGVybHkgaW5pdGlhbGl6ZSBmbG93aTYgcHJpb3IgcGFzc2luZyB0bwog aXA2X3JvdXRlX291dHB1dAoKWyBVcHN0cmVhbSBjb21taXQgMWI0ZTVhZDVkNmI5ZjE1Y2QwYjUx MjFmODZkNDcxOTE2NTk1ODQxNyBdCgpJbiAnc2VnNl9vdXRwdXQnLCBzdGFjayB2YXJpYWJsZSAn c3RydWN0IGZsb3dpNiBmbDYnIHdhcyBtaXNzaW5nCmluaXRpYWxpemF0aW9uLgoKRml4ZXM6IDZj ODcwMmM2MGI4OCAoImlwdjY6IHNyOiBhZGQgc3VwcG9ydCBmb3IgU1JIIGVuY2Fwc3VsYXRpb24g YW5kIGluamVjdGlvbiB3aXRoIGx3dHVubmVscyIpClNpZ25lZC1vZmYtYnk6IFNobXVsaWsgTGFk a2FuaSA8c2htdWxpay5sYWRrYW5pQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4g TWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY2L3NlZzZfaXB0dW5uZWwu YyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvbmV0 L2lwdjYvc2VnNl9pcHR1bm5lbC5jIGIvbmV0L2lwdjYvc2VnNl9pcHR1bm5lbC5jCmluZGV4IGE4 ODU0ZGQzZTljNS4uODE4MWVlN2UxZTI3IDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9zZWc2X2lwdHVu bmVsLmMKKysrIGIvbmV0L2lwdjYvc2VnNl9pcHR1bm5lbC5jCkBAIC0zNDcsNiArMzQ3LDcgQEAg c3RhdGljIGludCBzZWc2X291dHB1dChzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBzb2NrICpzaywg c3RydWN0IHNrX2J1ZmYgKnNrYikKIAkJc3RydWN0IGlwdjZoZHIgKmhkciA9IGlwdjZfaGRyKHNr Yik7CiAJCXN0cnVjdCBmbG93aTYgZmw2OwogCisJCW1lbXNldCgmZmw2LCAwLCBzaXplb2YoZmw2 KSk7CiAJCWZsNi5kYWRkciA9IGhkci0+ZGFkZHI7CiAJCWZsNi5zYWRkciA9IGhkci0+c2FkZHI7 CiAJCWZsNi5mbG93bGFiZWwgPSBpcDZfZmxvd2luZm8oaGRyKTsKLS0gCjIuMTkuMgoKCkZyb20g YTMwNWZjZmE1NDRiYzkxYWE2ZWFjMjNhMWM3OTgyNGQyYjc5NGNjNyBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogU3UgWWFuanVuIDxzdXlqLmZuc3RAY24uZnVqaXRzdS5jb20+CkRhdGU6 IE1vbiwgMyBEZWMgMjAxOCAxNTozMzowNyArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDUvMjFdIG5l dDogODEzOWNwOiBmaXggYSBCVUcgdHJpZ2dlcmVkIGJ5IGNoYW5naW5nIG10dSB3aXRoCiBuZXR3 b3JrIHRyYWZmaWMKClsgVXBzdHJlYW0gY29tbWl0IGE1ZDRhODkyNDVlYWQxZjM3ZWQxMzUyMTM2 NTNjNWJlZWJlYTQyMzcgXQoKV2hlbiBjaGFuZ2luZyBtdHUgbWFueSB0aW1lcyB3aXRoIHRyYWZm aWMsIGEgYnVnIGlzIHRyaWdnZXJlZDoKClsgMTAzNS42ODQwMzddIGtlcm5lbCBCVUcgYXQgbGli L2R5bmFtaWNfcXVldWVfbGltaXRzLmM6MjYhClsgMTAzNS42ODQwNDJdIGludmFsaWQgb3Bjb2Rl OiAwMDAwIFsjMV0gU01QClsgMTAzNS42ODQwNDldIE1vZHVsZXMgbGlua2VkIGluOiBsb29wIGJp bmZtdF9taXNjIDgxMzljcChPRSkgbWFjc2VjCnRjcF9kaWFnIHVkcF9kaWFnIGluZXRfZGlhZyB1 bml4X2RpYWcgYWZfcGFja2V0X2RpYWcgbmV0bGlua19kaWFnIHRjcF9scApmdXNlIHVpbnB1dCB4 dF9DSEVDS1NVTSBpcHRhYmxlX21hbmdsZSBpcHRfTUFTUVVFUkFERQpuZl9uYXRfbWFzcXVlcmFk ZV9pcHY0IGlwdGFibGVfbmF0IG5mX25hdF9pcHY0IG5mX25hdCBuZl9jb25udHJhY2tfaXB2NApu Zl9kZWZyYWdfaXB2NCB4dF9jb25udHJhY2sgbmZfY29ubnRyYWNrIGlwdF9SRUpFQ1QgbmZfcmVq ZWN0X2lwdjQgdHVuCmJyaWRnZSBzdHAgbGxjIGVidGFibGVfZmlsdGVyIGVidGFibGVzIGlwNnRh YmxlX2ZpbHRlciBkZXZsaW5rCmlwNl90YWJsZXMgaXB0YWJsZV9maWx0ZXIgc3VucnBjIHNuZF9o ZGFfY29kZWNfZ2VuZXJpYyBzbmRfaGRhX2ludGVsCnNuZF9oZGFfY29kZWMgc25kX2hkYV9jb3Jl IHNuZF9od2RlcCBwcGRldiBzbmRfc2VxIGlvc2ZfbWJpIGNyYzMyX3BjbG11bApwYXJwb3J0X3Bj IHNuZF9zZXFfZGV2aWNlIGdoYXNoX2NsbXVsbmlfaW50ZWwgcGFycG9ydCBzbmRfcGNtCmFlc25p X2ludGVsIGpveWRldiBscncgc25kX3RpbWVyIHZpcnRpb19iYWxsb29uIHNnIGdmMTI4bXVsIGds dWVfaGVscGVyCmFibGtfaGVscGVyIGNyeXB0ZCBzbmQgc291bmRjb3JlIGkyY19waWl4NCBwY3Nw a3IgaXBfdGFibGVzIHhmcwpsaWJjcmMzMmMgc3JfbW9kIHNkX21vZCBjZHJvbSBjcmNfdDEwZGlm IGNyY3QxMGRpZl9nZW5lcmljIGF0YV9nZW5lcmljClsgMTAzNS42ODQxMDJdICBwYXRhX2FjcGkg dmlydGlvX2NvbnNvbGUgcXhsIGRybV9rbXNfaGVscGVyIHN5c2NvcHlhcmVhCnN5c2ZpbGxyZWN0 IHN5c2ltZ2JsdCBmbG9wcHkgZmJfc3lzX2ZvcHMgY3JjdDEwZGlmX3BjbG11bApjcmN0MTBkaWZf Y29tbW9uIHR0bSBjcmMzMmNfaW50ZWwgc2VyaW9fcmF3IGF0YV9waWl4IGRybSBsaWJhdGEgODEz OXRvbwp2aXJ0aW9fcGNpIGRybV9wYW5lbF9vcmllbnRhdGlvbl9xdWlya3MgdmlydGlvX3Jpbmcg dmlydGlvIG1paSBkbV9taXJyb3IKZG1fcmVnaW9uX2hhc2ggZG1fbG9nIGRtX21vZCBbbGFzdCB1 bmxvYWRlZDogODEzOWNwXQpbIDEwMzUuNjg0MTMyXSBDUFU6IDkgUElEOiAyNTE0MCBDb21tOiBp Zi1tdHUtY2hhbmdlIEtkdW1wOiBsb2FkZWQKVGFpbnRlZDogRyAgICAgICAgICAgT0UgIC0tLS0t LS0tLS0tLSBUIDMuMTAuMC05NTcuZWw3Lng4Nl82NCAjMQpbIDEwMzUuNjg0MTM0XSBIYXJkd2Fy ZSBuYW1lOiBSZWQgSGF0IEtWTSwgQklPUyAwLjUuMSAwMS8wMS8yMDExClsgMTAzNS42ODQxMzZd IHRhc2s6IGZmZmY4ZjU5YjFmNWEwODAgdGk6IGZmZmY4ZjVhMmUzMmMwMDAgdGFzay50aToKZmZm ZjhmNWEyZTMyYzAwMApbIDEwMzUuNjg0MTQ5XSBSSVA6IDAwMTA6WzxmZmZmZmZmZmJhM2E0MGQw Pl0gIFs8ZmZmZmZmZmZiYTNhNDBkMD5dCmRxbF9jb21wbGV0ZWQrMHgxODAvMHgxOTAKWyAxMDM1 LjY4NDE2Ml0gUlNQOiAwMDAwOmZmZmY4ZjVhNzU0ODNlNTAgIEVGTEFHUzogMDAwMTAwOTMKWyAx MDM1LjY4NDE2Ml0gUkFYOiAwMDAwMDAwMDAwMDAwMGMyIFJCWDogZmZmZjhmNWE2ZjkxYzAwMCBS Q1g6CjAwMDAwMDAwMDAwMDAwMDAKWyAxMDM1LjY4NDE2Ml0gUkRYOiAwMDAwMDAwMDAwMDAwMDAw IFJTSTogMDAwMDAwMDAwMDAwMDE4NCBSREk6CmZmZmY4ZjU5OWZlYTNlYzAKWyAxMDM1LjY4NDE2 Ml0gUkJQOiBmZmZmOGY1YTc1NDgzZWE4IFIwODogMDAwMDAwMDAwMDAwMDBjMiBSMDk6CjAwMDAw MDAwMDAwMDAwMDAKWyAxMDM1LjY4NDE2Ml0gUjEwOiAwMDAwMDAwMDAwMDYxNmVmIFIxMTogZmZm ZjhmNWE3NTQ4M2I1NiBSMTI6CmZmZmY4ZjU5OWZlYTNlMDAKWyAxMDM1LjY4NDE2Ml0gUjEzOiAw MDAwMDAwMDAwMDAwMDAxIFIxNDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6CjAwMDAwMDAwMDAwMDAx ODQKWyAxMDM1LjY4NDE2Ml0gRlM6ICAwMDAwN2ZhODQzNGRlNzQwKDAwMDApIEdTOmZmZmY4ZjVh NzU0ODAwMDAoMDAwMCkKa25sR1M6MDAwMDAwMDAwMDAwMDAwMApbIDEwMzUuNjg0MTYyXSBDUzog IDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzClsgMTAzNS42ODQx NjJdIENSMjogMDAwMDAwMDAwMDQzMDVkMCBDUjM6IDAwMDAwMDAyNGViNjYwMDAgQ1I0OgowMDAw MDAwMDAwMTQwNmUwClsgMTAzNS42ODQxNjJdIENhbGwgVHJhY2U6ClsgMTAzNS42ODQxNjJdICA8 SVJRPgpbIDEwMzUuNjg0MTYyXSAgWzxmZmZmZmZmZmMwOGNiYWY4Pl0gPyBjcF9pbnRlcnJ1cHQr MHg0NzgvMHg1ODAgWzgxMzljcF0KWyAxMDM1LjY4NDE2Ml0gIFs8ZmZmZmZmZmZiYTE0YTI5ND5d Cl9faGFuZGxlX2lycV9ldmVudF9wZXJjcHUrMHg0NC8weDFjMApbIDEwMzUuNjg0MTYyXSAgWzxm ZmZmZmZmZmJhMTRhNDQyPl0gaGFuZGxlX2lycV9ldmVudF9wZXJjcHUrMHgzMi8weDgwClsgMTAz NS42ODQxNjJdICBbPGZmZmZmZmZmYmExNGE0Y2M+XSBoYW5kbGVfaXJxX2V2ZW50KzB4M2MvMHg2 MApbIDEwMzUuNjg0MTYyXSAgWzxmZmZmZmZmZmJhMTRkYjI5Pl0gaGFuZGxlX2Zhc3Rlb2lfaXJx KzB4NTkvMHgxMTAKWyAxMDM1LjY4NDE2Ml0gIFs8ZmZmZmZmZmZiYTAyZTU1ND5dIGhhbmRsZV9p cnErMHhlNC8weDFhMApbIDEwMzUuNjg0MTYyXSAgWzxmZmZmZmZmZmJhNzc5NWRkPl0gZG9fSVJR KzB4NGQvMHhmMApbIDEwMzUuNjg0MTYyXSAgWzxmZmZmZmZmZmJhNzZiMzYyPl0gY29tbW9uX2lu dGVycnVwdCsweDE2Mi8weDE2MgpbIDEwMzUuNjg0MTYyXSAgPEVPST4KWyAxMDM1LjY4NDE2Ml0g IFs8ZmZmZmZmZmZiYTBjMmFlND5dID8gX193YWtlX3VwX2JpdCsweDI0LzB4NzAKWyAxMDM1LjY4 NDE2Ml0gIFs8ZmZmZmZmZmZiYTFlNDZmNT5dID8gZG9fc2V0X3B0ZSsweGQ1LzB4MTIwClsgMTAz NS42ODQxNjJdICBbPGZmZmZmZmZmYmExYjY0ZmI+XSB1bmxvY2tfcGFnZSsweDJiLzB4MzAKWyAx MDM1LjY4NDE2Ml0gIFs8ZmZmZmZmZmZiYTFlNDg3OT5dIGRvX3JlYWRfZmF1bHQuaXNyYS42MSsw eDEzOS8weDFiMApbIDEwMzUuNjg0MTYyXSAgWzxmZmZmZmZmZmJhMWU5MTM0Pl0gaGFuZGxlX3B0 ZV9mYXVsdCsweDJmNC8weGQxMApbIDEwMzUuNjg0MTYyXSAgWzxmZmZmZmZmZmJhMWViYzZkPl0g aGFuZGxlX21tX2ZhdWx0KzB4MzlkLzB4OWIwClsgMTAzNS42ODQxNjJdICBbPGZmZmZmZmZmYmE3 NmY1ZTM+XSBfX2RvX3BhZ2VfZmF1bHQrMHgyMDMvMHg1MDAKWyAxMDM1LjY4NDE2Ml0gIFs8ZmZm ZmZmZmZiYTc2ZjljNj5dIHRyYWNlX2RvX3BhZ2VfZmF1bHQrMHg1Ni8weDE1MApbIDEwMzUuNjg0 MTYyXSAgWzxmZmZmZmZmZmJhNzZlZjQyPl0gZG9fYXN5bmNfcGFnZV9mYXVsdCsweDIyLzB4ZjAK WyAxMDM1LjY4NDE2Ml0gIFs8ZmZmZmZmZmZiYTc2Yjc4OD5dIGFzeW5jX3BhZ2VfZmF1bHQrMHgy OC8weDMwClsgMTAzNS42ODQxNjJdIENvZGU6IDU0IGM3IDQ3IDU0IGZmIGZmIGZmIGZmIDQ0IDBm IDQ5IGNlIDQ4IDhiIDM1IDQ4IDJmCjljIDAwIDQ4IDg5IDc3IDU4IGU5IGZlIGZlIGZmIGZmIDBm IDFmIDgwIDAwIDAwIDAwIDAwIDQxIDg5IGQxIGU5IGVmIGZlCmZmIGZmIDwwZj4gMGIgNjYgMmUg MGYgMWYgODQgMDAgMDAgMDAgMDAgMDAgMGYgMWYgNDAgMDAgNTUgOGQgNDIgZmYgNDgKWyAxMDM1 LjY4NDE2Ml0gUklQICBbPGZmZmZmZmZmYmEzYTQwZDA+XSBkcWxfY29tcGxldGVkKzB4MTgwLzB4 MTkwClsgMTAzNS42ODQxNjJdICBSU1AgPGZmZmY4ZjVhNzU0ODNlNTA+CgpJdCdzIG5vdCB0aGUg c2FtZSBhcyBpbiA3ZmUwZWUwOSBwYXRjaCBkZXNjcmliZWQuCkFzIDgxMzljcCB1c2VzIHNoYXJl ZCBpcnEgbW9kZSwgb3RoZXIgZGV2aWNlIGlycSB3aWxsIHRyaWdnZXIKY3BfaW50ZXJydXB0IHRv IGV4ZWN1dGUuCgpjcF9jaGFuZ2VfbXR1CiAtPiBjcF9jbG9zZQogLT4gY3Bfb3BlbgoKSW4gY3Bf Y2xvc2Ugcm91dGluZSAganVzdCBiZWZvcmUgZnJlZV9pcnEoKSwgc29tZSBpbnRlcnJ1cHQgbWF5 IG9jY3VyLgpJbiBteSBlbnZpcm9ubWVudCwgY3BfaW50ZXJydXB0IGV4ZWN0dXRlcyBhbmQgSW50 clN0YXR1cyBpcyAweDQsCmV4YWN0bHkgVHhPay4gVGhhdCB3aWxsIGNhdXNlIGNwX3R4IHRvIHdh a2UgZGV2aWNlIHF1ZXVlLgoKQXMgZGV2aWNlIHF1ZXVlIGlzIHN0YXJ0ZWQsIGNwX3N0YXJ0X3ht aXQgYW5kIGNwX29wZW4gd2lsbCBydW4gYXQgc2FtZQp0aW1lIHdoaWNoIHdpbGwgY2F1c2Uga2Vy bmVsIEJVRy4KCkZvciBleGFtcGxlOgpbI10gZm9yIHR4IGRlc2NyaXB0b3IKCkF0IHN0YXJ0OgoK WyNdWyNdWyNdCm51bV9xdWV1ZWQ9MwoKQWZ0ZXIgY3BfaW5pdF9ody0+Y3Bfc3RhcnRfaHctPm5l dGRldl9yZXNldF9xdWV1ZToKClsjXVsjXVsjXQpudW1fcXVldWVkPTAKCldoZW4gODEzOWNwIHN0 YXJ0cyB0byB3b3JrIHRoZW4gY3BfdHggd2lsbCBjaGVjawpudW1fcXVldWVkIG1pc21hdGNocyB0 aGUgY29tcGxldGVfYnl0ZXMuCgpUaGUgcGF0Y2ggd2lsbCBjaGVjayBJbnRyTWFzayBiZWZvcmUg Y2hlY2sgSW50clN0YXR1cyBpbiBjcF9pbnRlcnJ1cHQuCldoZW4gODEzOWNwIGludGVycnVwdCBp cyBkaXNhYmxlZCwganVzdCByZXR1cm4uCgpTaWduZWQtb2ZmLWJ5OiBTdSBZYW5qdW4gPHN1eWou Zm5zdEBjbi5mdWppdHN1LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZl bUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L3JlYWx0ZWsvODEzOWNw LmMgfCA1ICsrKysrCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay84MTM5Y3AuYyBiL2RyaXZlcnMvbmV0L2V0 aGVybmV0L3JlYWx0ZWsvODEzOWNwLmMKaW5kZXggODEwNDVkZmExY2Q4Li40NGY2ZTQ4NzNhYWQg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3JlYWx0ZWsvODEzOWNwLmMKKysrIGIv ZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay84MTM5Y3AuYwpAQCAtNTcxLDYgKzU3MSw3IEBA IHN0YXRpYyBpcnFyZXR1cm5fdCBjcF9pbnRlcnJ1cHQgKGludCBpcnEsIHZvaWQgKmRldl9pbnN0 YW5jZSkKIAlzdHJ1Y3QgY3BfcHJpdmF0ZSAqY3A7CiAJaW50IGhhbmRsZWQgPSAwOwogCXUxNiBz dGF0dXM7CisJdTE2IG1hc2s7CiAKIAlpZiAodW5saWtlbHkoZGV2ID09IE5VTEwpKQogCQlyZXR1 cm4gSVJRX05PTkU7CkBAIC01NzgsNiArNTc5LDEwIEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBjcF9p bnRlcnJ1cHQgKGludCBpcnEsIHZvaWQgKmRldl9pbnN0YW5jZSkKIAogCXNwaW5fbG9jaygmY3At PmxvY2spOwogCisJbWFzayA9IGNwcjE2KEludHJNYXNrKTsKKwlpZiAoIW1hc2spCisJCWdvdG8g b3V0X3VubG9jazsKKwogCXN0YXR1cyA9IGNwcjE2KEludHJTdGF0dXMpOwogCWlmICghc3RhdHVz IHx8IChzdGF0dXMgPT0gMHhGRkZGKSkKIAkJZ290byBvdXRfdW5sb2NrOwotLSAKMi4xOS4yCgoK RnJvbSBjMDNkY2E2MmQyYmJiNjI0MGI4Y2M5YTU4YmUzNmQwZGFmMmJmNThiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUYXJpY2sgQmVkZWlyIDx0YXJpY2tAZ29vZ2xlLmNvbT4KRGF0 ZTogRnJpLCA3IERlYyAyMDE4IDAwOjMwOjI2IC0wODAwClN1YmplY3Q6IFtQQVRDSCAwNi8yMV0g bmV0L21seDRfY29yZTogQ29ycmVjdGx5IHNldCBQRkMgcGFyYW0gaWYgZ2xvYmFsIHBhdXNlCiBp cyB0dXJuZWQgb2ZmLgoKWyBVcHN0cmVhbSBjb21taXQgYmQ1MTIyY2QxZTA2NDRkOGJkOGRkODQ1 MTdjOTMyNzczZTk5OTc2NiBdCgpyeF9wcHAgYW5kIHR4X3BwcCBjYW4gYmUgc2V0IGJldHdlZW4g MCBhbmQgMjU1LCBzbyBkb24ndCBjbGFtcCB0byAxLgoKRml4ZXM6IDZlODgxNGNlYjdlOCAoIm5l dC9tbHg0X2VuOiBGaXggbWl4ZWQgUEZDIGFuZCBHbG9iYWwgcGF1c2UgdXNlciBjb250cm9sIHJl cXVlc3RzIikKU2lnbmVkLW9mZi1ieTogVGFyaWNrIEJlZGVpciA8dGFyaWNrQGdvb2dsZS5jb20+ ClJldmlld2VkLWJ5OiBFcmFuIEJlbiBFbGlzaGEgPGVyYW5iZUBtZWxsYW5veC5jb20+ClNpZ25l ZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2 ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX2V0aHRvb2wuYyB8IDQgKystLQogMSBm aWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX2V0aHRvb2wuYyBiL2RyaXZl cnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDQvZW5fZXRodG9vbC5jCmluZGV4IGYxMWI0NTAw MWNhZC4uZDI5MGYwNzg3ZGZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxs YW5veC9tbHg0L2VuX2V0aHRvb2wuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg0L2VuX2V0aHRvb2wuYwpAQCAtMTA4NCw4ICsxMDg0LDggQEAgc3RhdGljIGludCBtbHg0 X2VuX3NldF9wYXVzZXBhcmFtKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAKIAl0eF9wYXVzZSA9 ICEhKHBhdXNlLT50eF9wYXVzZSk7CiAJcnhfcGF1c2UgPSAhIShwYXVzZS0+cnhfcGF1c2UpOwot CXJ4X3BwcCA9IHByaXYtPnByb2YtPnJ4X3BwcCAmJiAhKHR4X3BhdXNlIHx8IHJ4X3BhdXNlKTsK LQl0eF9wcHAgPSBwcml2LT5wcm9mLT50eF9wcHAgJiYgISh0eF9wYXVzZSB8fCByeF9wYXVzZSk7 CisJcnhfcHBwID0gKHR4X3BhdXNlIHx8IHJ4X3BhdXNlKSA/IDAgOiBwcml2LT5wcm9mLT5yeF9w cHA7CisJdHhfcHBwID0gKHR4X3BhdXNlIHx8IHJ4X3BhdXNlKSA/IDAgOiBwcml2LT5wcm9mLT50 eF9wcHA7CiAKIAllcnIgPSBtbHg0X1NFVF9QT1JUX2dlbmVyYWwobWRldi0+ZGV2LCBwcml2LT5w b3J0LAogCQkJCSAgICBwcml2LT5yeF9za2Jfc2l6ZSArIEVUSF9GQ1NfTEVOLAotLSAKMi4xOS4y CgoKRnJvbSA1ODZmYjZiMTAyNjg2NDhlZDZjMTgwMDYzZjYwMjg5NWJiYzI5NjhlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmFuIEJlbiBFbGlzaGEgPGVyYW5iZUBtZWxsYW5veC5j b20+CkRhdGU6IFN1biwgMiBEZWMgMjAxOCAxNDozNDozNiArMDIwMApTdWJqZWN0OiBbUEFUQ0gg MDcvMjFdIG5ldC9tbHg0X2VuOiBDaGFuZ2UgbWluIE1UVSBzaXplIHRvIEVUSF9NSU5fTVRVCgpb IFVwc3RyZWFtIGNvbW1pdCAyNGJlMTllNDc3NzlkNjA0ZDE0OTJjMTE0NDU5ZGNhOWE5MmFjZjc4 IF0KCk5JQyBkcml2ZXIgbWluaW1hbCBNVFUgc2l6ZSBzaGFsbCBiZSBzZXQgdG8gRVRIX01JTl9N VFUsIGFzIGRlZmluZWQgaW4KdGhlIFJGQzc5MSBhbmQgaW4gdGhlIG5ldHdvcmsgc3RhY2suIFJl bW92ZSBvbGQgbWx4NF9lbiBvbmx5IGRlZmluZSBmb3IKaXQsIHdoaWNoIHdhcyBzZXQgdG8gd3Jv bmcgdmFsdWUuCgpGaXhlczogYjgwZjcxZjU4MTZmICgiZXRoZXJuZXQvbWVsbGFub3g6IHVzZSBj b3JlIG1pbi9tYXggTVRVIGNoZWNraW5nIikKU2lnbmVkLW9mZi1ieTogRXJhbiBCZW4gRWxpc2hh IDxlcmFuYmVAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBUYXJpcSBUb3VrYW4gPHRhcmlx dEBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX25l dGRldi5jIHwgNCArKy0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L21seDRf ZW4uaCAgIHwgMSAtCiAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2Vu X25ldGRldi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lbl9uZXRkZXYu YwppbmRleCBmZTQ5Mzg0ZWJhNDguLjBkN2ZkM2YwNDNjZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lbl9uZXRkZXYuYworKysgYi9kcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX25ldGRldi5jCkBAIC0zNDk0LDggKzM0OTQsOCBAQCBp bnQgbWx4NF9lbl9pbml0X25ldGRldihzdHJ1Y3QgbWx4NF9lbl9kZXYgKm1kZXYsIGludCBwb3J0 LAogCQlkZXYtPmdzb19wYXJ0aWFsX2ZlYXR1cmVzID0gTkVUSUZfRl9HU09fVURQX1RVTk5FTF9D U1VNOwogCX0KIAotCS8qIE1UVSByYW5nZTogNDYgLSBody1zcGVjaWZpYyBtYXggKi8KLQlkZXYt Pm1pbl9tdHUgPSBNTFg0X0VOX01JTl9NVFU7CisJLyogTVRVIHJhbmdlOiA2OCAtIGh3LXNwZWNp ZmljIG1heCAqLworCWRldi0+bWluX210dSA9IEVUSF9NSU5fTVRVOwogCWRldi0+bWF4X210dSA9 IHByaXYtPm1heF9tdHU7CiAKIAltZGV2LT5wbmRldltwb3J0XSA9IGRldjsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDQvbWx4NF9lbi5oIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9tbHg0X2VuLmgKaW5kZXggYzMyMjhiODlkZjQ2Li4y NDBmOWM5Y2E5NDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21s eDQvbWx4NF9lbi5oCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDQvbWx4 NF9lbi5oCkBAIC0xNjEsNyArMTYxLDYgQEAKICNkZWZpbmUgTUxYNF9TRUxGVEVTVF9MQl9NSU5f TVRVIChNTFg0X0xPT1BCQUNLX1RFU1RfUEFZTE9BRCArIE5FVF9JUF9BTElHTiArIFwKIAkJCQkg IEVUSF9ITEVOICsgUFJFQU1CTEVfTEVOKQogCi0jZGVmaW5lIE1MWDRfRU5fTUlOX01UVQkJNDYK IC8qIFZMQU5fSExFTiBpcyBhZGRlZCB0d2ljZSx0byBzdXBwb3J0IHNrYiB2bGFuIHRhZ2dlZCB3 aXRoIG11bHRpcGxlCiAgKiBoZWFkZXJzLiAoRm9yIGV4YW1wbGU6IEVUSF9QXzgwMjFRIGFuZCBF VEhfUF84MDIxQUQpLgogICovCi0tIAoyLjE5LjIKCgpGcm9tIDk5NDc3YzU4ZDcwM2YzNzQ2ODll YTJkNDdiYTRjNzY0ZTM5NDBjMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEhlaW5l ciBLYWxsd2VpdCA8aGthbGx3ZWl0MUBnbWFpbC5jb20+CkRhdGU6IE1vbiwgMyBEZWMgMjAxOCAw ODoxOTozMyArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMjFdIG5ldDogcGh5OiBkb24ndCBhbGxv dyBfX3NldF9waHlfc3VwcG9ydGVkIHRvIGFkZAogdW5zdXBwb3J0ZWQgbW9kZXMKClsgVXBzdHJl YW0gY29tbWl0IGQyYTM2OTcxZWY1OTUwNjliN2E2MDBkMTE0NGMyZTA4ODFhOTMwYTEgXQoKQ3Vy cmVudGx5IF9fc2V0X3BoeV9zdXBwb3J0ZWQgYWxsb3dzIHRvIGFkZCBtb2RlcyB3L28gY2hlY2tp bmcgd2hldGhlcgp0aGUgUEhZIHN1cHBvcnRzIHRoZW0uIFRoaXMgaXMgd3JvbmcsIGl0IHNob3Vs ZCBuZXZlciBhZGQgbW9kZXMgYnV0Cm9ubHkgcmVtb3ZlIG1vZGVzIHdlIGRvbid0IHdhbnQgdG8g c3VwcG9ydC4KClRoZSBjb21taXQgbWFya2VkIGFzIGZpeGVkIGRpZG4ndCBkbyBhbnl0aGluZyB3 cm9uZywgaXQganVzdCBjb3BpZWQKZXhpc3RpbmcgZnVuY3Rpb25hbGl0eSB0byB0aGUgaGVscGVy IHdoaWNoIGlzIGJlaW5nIGZpeGVkIG5vdy4KCkZpeGVzOiBmM2E2YmQzOTNjMmMgKCJwaHlsaWI6 IEFkZCBwaHlfc2V0X21heF9zcGVlZCBoZWxwZXIiKQpTaWduZWQtb2ZmLWJ5OiBIZWluZXIgS2Fs bHdlaXQgPGhrYWxsd2VpdDFAZ21haWwuY29tPgpSZXZpZXdlZC1ieTogQW5kcmV3IEx1bm4gPGFu ZHJld0BsdW5uLmNoPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvcGh5L3BoeV9kZXZpY2UuYyB8IDE5ICsrKysrKysr LS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3BoeS9waHlfZGV2aWNlLmMgYi9kcml2ZXJz L25ldC9waHkvcGh5X2RldmljZS5jCmluZGV4IDczM2UzNWI3YzRiYi4uMjBkMWJlMmIwNzBiIDEw MDY0NAotLS0gYS9kcml2ZXJzL25ldC9waHkvcGh5X2RldmljZS5jCisrKyBiL2RyaXZlcnMvbmV0 L3BoeS9waHlfZGV2aWNlLmMKQEAgLTE3MzgsMjAgKzE3MzgsMTcgQEAgRVhQT1JUX1NZTUJPTChn ZW5waHlfbG9vcGJhY2spOwogCiBzdGF0aWMgaW50IF9fc2V0X3BoeV9zdXBwb3J0ZWQoc3RydWN0 IHBoeV9kZXZpY2UgKnBoeWRldiwgdTMyIG1heF9zcGVlZCkKIHsKLQlwaHlkZXYtPnN1cHBvcnRl ZCAmPSB+KFBIWV8xMDAwQlRfRkVBVFVSRVMgfCBQSFlfMTAwQlRfRkVBVFVSRVMgfAotCQkJICAg ICAgIFBIWV8xMEJUX0ZFQVRVUkVTKTsKLQogCXN3aXRjaCAobWF4X3NwZWVkKSB7Ci0JZGVmYXVs dDoKLQkJcmV0dXJuIC1FTk9UU1VQUDsKLQljYXNlIFNQRUVEXzEwMDA6Ci0JCXBoeWRldi0+c3Vw cG9ydGVkIHw9IFBIWV8xMDAwQlRfRkVBVFVSRVM7CisJY2FzZSBTUEVFRF8xMDoKKwkJcGh5ZGV2 LT5zdXBwb3J0ZWQgJj0gflBIWV8xMDBCVF9GRUFUVVJFUzsKIAkJLyogZmFsbCB0aHJvdWdoICov CiAJY2FzZSBTUEVFRF8xMDA6Ci0JCXBoeWRldi0+c3VwcG9ydGVkIHw9IFBIWV8xMDBCVF9GRUFU VVJFUzsKLQkJLyogZmFsbCB0aHJvdWdoICovCi0JY2FzZSBTUEVFRF8xMDoKLQkJcGh5ZGV2LT5z dXBwb3J0ZWQgfD0gUEhZXzEwQlRfRkVBVFVSRVM7CisJCXBoeWRldi0+c3VwcG9ydGVkICY9IH5Q SFlfMTAwMEJUX0ZFQVRVUkVTOworCQlicmVhazsKKwljYXNlIFNQRUVEXzEwMDA6CisJCWJyZWFr OworCWRlZmF1bHQ6CisJCXJldHVybiAtRU5PVFNVUFA7CiAJfQogCiAJcmV0dXJuIDA7Ci0tIAoy LjE5LjIKCgpGcm9tIDgwNjZhNzEyNjIzODZkZjAyZTQyMmFmM2Q2NjEwOTBmMTQ2ODA0YTUgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IENocmlzdG9waCBQYWFzY2ggPGNwYWFzY2hAYXBw bGUuY29tPgpEYXRlOiBUaHUsIDI5IE5vdiAyMDE4IDE2OjAxOjA0IC0wODAwClN1YmplY3Q6IFtQ QVRDSCAwOS8yMV0gbmV0OiBQcmV2ZW50IGludmFsaWQgYWNjZXNzIHRvIHNrYi0+cHJldiBpbgog X19xZGlzY19kcm9wX2FsbAoKWyBVcHN0cmVhbSBjb21taXQgOTQxMGQzODZkMGE4MjlhY2U5NTU4 MzM2MjYzMDg2YzJmYmJlOGFlZCBdCgpfX3FkaXNjX2Ryb3BfYWxsKCkgYWNjZXNzZXMgc2tiLT5w cmV2IHRvIGdldCB0byB0aGUgdGFpbCBvZiB0aGUKc2VnbWVudC1saXN0LgoKV2l0aCBjb21taXQg NjhkMmY4NGExMzY4ICgibmV0OiBncm86IHByb3Blcmx5IHJlbW92ZSBza2IgZnJvbSBsaXN0IikK dGhlIHNrYi1saXN0IGhhbmRsaW5nIGhhcyBiZWVuIGNoYW5nZWQgdG8gc2V0IHNrYi0+bmV4dCB0 byBOVUxMIGFuZCBzZXQKdGhlIGxpc3QtcG9pc29uIG9uIHNrYi0+cHJldi4KCldpdGggdGhhdCBj aGFuZ2UsIF9fcWRpc2NfZHJvcF9hbGwoKSB3aWxsIHBhbmljIHdoZW4gaXQgdHJpZXMgdG8KZGVy ZWZlcmVuY2Ugc2tiLT5wcmV2LgoKU2luY2UgY29tbWl0IDk5MmNiYTdlMjc2ZCAoIm5ldDogQWRk IGFuZCB1c2Ugc2tiX2xpc3RfZGVsX2luaXQoKS4iKQpfX2xpc3RfZGVsX2VudHJ5IGlzIHVzZWQs IGxlYXZpbmcgc2tiLT5wcmV2IHVuY2hhbmdlZCAodGh1cywKcG9pbnRpbmcgdG8gdGhlIGxpc3Qt aGVhZCBpZiBpdCdzIHRoZSBmaXJzdCBza2Igb2YgdGhlIGxpc3QpLgpUaGlzIHdpbGwgbWFrZSBf X3FkaXNjX2Ryb3BfYWxsIG1vZGlmeSB0aGUgbmV4dC1wb2ludGVyIG9mIHRoZSBsaXN0LWhlYWQK YW5kIHJlc3VsdCBpbiBhIHBhbmljIGxhdGVyIG9uOgoKWyAgIDM0LjUwMTA1M10gZ2VuZXJhbCBw cm90ZWN0aW9uIGZhdWx0OiAwMDAwIFsjMV0gU01QIEtBU0FOIFBUSQpbICAgMzQuNTAxOTY4XSBD UFU6IDIgUElEOiAwIENvbW06IHN3YXBwZXIvMiBOb3QgdGFpbnRlZCA0LjIwLjAtcmMyLm1wdGNw ICMxMDgKWyAgIDM0LjUwMjg4N10gSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQQyAoaTQ0 MEZYICsgUElJWCwgMTk5NiksIEJJT1MgMC41LjEgMDEvMDEvMjAxMQpbICAgMzQuNTA0MDc0XSBS SVA6IDAwMTA6ZGV2X2dyb19yZWNlaXZlKzB4MzQzLzB4MWY5MApbICAgMzQuNTA0NzUxXSBDb2Rl OiBlMCA0OCBjMSBlOCAwMyA0MiA4MCAzYyAzMCAwMCAwZiA4NSA0YSAxYyAwMCAwMCA0ZCA4YiAy NCAyNCA0YyAzOSA2NSBkMCAwZiA4NCAwYSAwNCAwMCAwMCA0OSA4ZCA3YyAyNCAzOCA0OCA4OSBm OCA0OCBjMSBlOCAwMyA8NDI+IDBmIGI2IDA0IDMwIDg0IGMwIDc0IDA4IDNjIDA0ClsgICAzNC41 MDcwNjBdIFJTUDogMDAxODpmZmZmODg4M2FmNTA3OTMwIEVGTEFHUzogMDAwMTAyMDIKWyAgIDM0 LjUwNzc2MV0gUkFYOiAwMDAwMDAwMDAwMDAwMDA3IFJCWDogZmZmZjg4ODM5NzBiMmM4MCBSQ1g6 IDFmZmZmMTEwNzJlMTY1YTYKWyAgIDM0LjUwODY0MF0gUkRYOiAxZmZmZjExMDc1ODY3MDA4IFJT STogZmZmZjg4ODNhYzMzODA0MCBSREk6IDAwMDAwMDAwMDAwMDAwMzgKWyAgIDM0LjUwOTQ5M10g UkJQOiBmZmZmODg4M2FmNTA3OWQwIFIwODogZmZmZjg4ODM5NzBiMmQ0MCBSMDk6IDAwMDAwMDAw MDAwMDAwNjIKWyAgIDM0LjUxMDM0Nl0gUjEwOiAwMDAwMDAwMDAwMDAwMDM0IFIxMTogMDAwMDAw MDAwMDAwMDAwMCBSMTI6IDAwMDAwMDAwMDAwMDAwMDAKWyAgIDM0LjUxMTIxNV0gUjEzOiAwMDAw MDAwMDAwMDAwMDAwIFIxNDogZGZmZmZjMDAwMDAwMDAwMCBSMTU6IGZmZmY4ODgzYWMzMzgwMDgK WyAgIDM0LjUxMjA4Ml0gRlM6ICAwMDAwMDAwMDAwMDAwMDAwKDAwMDApIEdTOmZmZmY4ODgzYWY1 MDAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApbICAgMzQuNTEzMDM2XSBDUzogIDAw MTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzClsgICAzNC41MTM3NDFd IENSMjogMDAwMDU1Y2NjM2U5ZDAyMCBDUjM6IDAwMDAwMDAzYWJmMzIwMDAgQ1I0OiAwMDAwMDAw MDAwMDAwNmUwClsgICAzNC41MTQ1OTNdIENhbGwgVHJhY2U6ClsgICAzNC41MTQ4OTNdICA8SVJR PgpbICAgMzQuNTE1MTU3XSAgbmFwaV9ncm9fcmVjZWl2ZSsweDkzLzB4MTUwClsgICAzNC41MTU2 MzJdICByZWNlaXZlX2J1ZisweDg5My8weDM3MDAKWyAgIDM0LjUxNjA5NF0gID8gX19uZXRpZl9y ZWNlaXZlX3NrYisweDFmLzB4MWEwClsgICAzNC41MTY2MjldICA/IHZpcnRuZXRfcHJvYmUrMHgx YjQwLzB4MWI0MApbICAgMzQuNTE3MTUzXSAgPyBfX3N0YWJsZV9ub2RlX2NoYWluKzB4NGQwLzB4 ODUwClsgICAzNC41MTc2ODRdICA/IGtmcmVlKzB4OWEvMHgxODAKWyAgIDM0LjUxODA2N10gID8g X19rYXNhbl9zbGFiX2ZyZWUrMHgxNzEvMHgxOTAKWyAgIDM0LjUxODU4Ml0gID8gZGV0YWNoX2J1 ZisweDFkZi8weDY1MApbICAgMzQuNTE5MDYxXSAgPyBsYXBpY19uZXh0X2V2ZW50KzB4NWEvMHg5 MApbICAgMzQuNTE5NTM5XSAgPyB2aXJ0cXVldWVfZ2V0X2J1Zl9jdHgrMHgyODAvMHg3ZjAKWyAg IDM0LjUyMDA5M10gIHZpcnRuZXRfcG9sbCsweDJkZi8weGQ2MApbICAgMzQuNTIwNTMzXSAgPyBy ZWNlaXZlX2J1ZisweDM3MDAvMHgzNzAwClsgICAzNC41MjEwMjddICA/IHFkaXNjX3dhdGNoZG9n X3NjaGVkdWxlX25zKzB4ZDUvMHgxNDAKWyAgIDM0LjUyMTYzMV0gID8gaHRiX2RlcXVldWUrMHgx ODE3LzB4MjVmMApbICAgMzQuNTIyMTA3XSAgPyBzY2hfZGlyZWN0X3htaXQrMHgxNDIvMHhmMzAK WyAgIDM0LjUyMjU5NV0gID8gdmlydHF1ZXVlX25hcGlfc2NoZWR1bGUrMHgyNi8weDMwClsgICAz NC41MjMxNTVdICBuZXRfcnhfYWN0aW9uKzB4MmY2LzB4YzUwClsgICAzNC41MjM2MDFdICA/IG5h cGlfY29tcGxldGVfZG9uZSsweDJmMC8weDJmMApbICAgMzQuNTI0MTI2XSAgPyBrYXNhbl9jaGVj a19yZWFkKzB4MTEvMHgyMApbICAgMzQuNTI0NjA4XSAgPyBfcmF3X3NwaW5fbG9jaysweDdkLzB4 ZDAKWyAgIDM0LjUyNTA3MF0gID8gX3Jhd19zcGluX2xvY2tfYmgrMHhkMC8weGQwClsgICAzNC41 MjU1NjNdICA/IGt2bV9ndWVzdF9hcGljX2VvaV93cml0ZSsweDZiLzB4ODAKWyAgIDM0LjUyNjEz MF0gID8gYXBpY19hY2tfaXJxKzB4OWUvMHhlMApbICAgMzQuNTI2NTY3XSAgX19kb19zb2Z0aXJx KzB4MTg4LzB4NGI1ClsgICAzNC41MjcwMTVdICBpcnFfZXhpdCsweDE1MS8weDE4MApbICAgMzQu NTI3NDE3XSAgZG9fSVJRKzB4ZGIvMHgxNTAKWyAgIDM0LjUyNzc4M10gIGNvbW1vbl9pbnRlcnJ1 cHQrMHhmLzB4ZgpbICAgMzQuNTI4MjIzXSAgPC9JUlE+CgpUaGlzIHBhdGNoIG1ha2VzIHN1cmUg dGhhdCBza2ItPnByZXYgaXMgc2V0IHRvIE5VTEwgd2hlbiBlbnRlcmluZwpuZXRlbV9lbnF1ZXVl LgoKQ2M6IFByYXNoYW50IEJob2xlIDxiaG9sZV9wcmFzaGFudF9xN0BsYWIubnR0LmNvLmpwPgpD YzogVHlsZXIgSGlja3MgPHR5aGlja3NAY2Fub25pY2FsLmNvbT4KQ2M6IEVyaWMgRHVtYXpldCA8 ZXJpYy5kdW1hemV0QGdtYWlsLmNvbT4KRml4ZXM6IDY4ZDJmODRhMTM2OCAoIm5ldDogZ3JvOiBw cm9wZXJseSByZW1vdmUgc2tiIGZyb20gbGlzdCIpClN1Z2dlc3RlZC1ieTogRXJpYyBEdW1hemV0 IDxlcmljLmR1bWF6ZXRAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGggUGFhc2No IDxjcGFhc2NoQGFwcGxlLmNvbT4KUmV2aWV3ZWQtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRA Z29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIG5ldC9zY2hlZC9zY2hfbmV0ZW0uYyB8IDMgKysrCiAxIGZpbGUgY2hhbmdl ZCwgMyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL3NjaF9uZXRlbS5jIGIv bmV0L3NjaGVkL3NjaF9uZXRlbS5jCmluZGV4IGFkMThhMjA1MjQxNi4uNzRjMGY2NTZmMjhjIDEw MDY0NAotLS0gYS9uZXQvc2NoZWQvc2NoX25ldGVtLmMKKysrIGIvbmV0L3NjaGVkL3NjaF9uZXRl bS5jCkBAIC00NDEsNiArNDQxLDkgQEAgc3RhdGljIGludCBuZXRlbV9lbnF1ZXVlKHN0cnVjdCBz a19idWZmICpza2IsIHN0cnVjdCBRZGlzYyAqc2NoLAogCWludCBjb3VudCA9IDE7CiAJaW50IHJj ID0gTkVUX1hNSVRfU1VDQ0VTUzsKIAorCS8qIERvIG5vdCBmb29sIHFkaXNjX2Ryb3BfYWxsKCkg Ki8KKwlza2ItPnByZXYgPSBOVUxMOworCiAJLyogUmFuZG9tIGR1cGxpY2F0aW9uICovCiAJaWYg KHEtPmR1cGxpY2F0ZSAmJiBxLT5kdXBsaWNhdGUgPj0gZ2V0X2NyYW5kb20oJnEtPmR1cF9jb3Ip KQogCQkrK2NvdW50OwotLSAKMi4xOS4yCgoKRnJvbSAxYzMyMzc0NjFiOTI1Y2NhOGNkNDhkNzE0 MjljZTA4YmQxYWU4MTUyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFZHdhcmQgQ3Jl ZSA8ZWNyZWVAc29sYXJmbGFyZS5jb20+CkRhdGU6IFR1ZSwgNCBEZWMgMjAxOCAxNzozNzo1NyAr MDAwMApTdWJqZWN0OiBbUEFUQ0ggMTAvMjFdIG5ldDogdXNlIHNrYl9saXN0X2RlbF9pbml0KCkg dG8gcmVtb3ZlIGZyb20gUlggc3VibGlzdHMKClsgVXBzdHJlYW0gY29tbWl0IDIyZjZiYmI3YmNm Y2VmMGIzNzNiMDUwMmE3ZmYzOTAyNzVjNTc1ZGQgXQoKbGlzdF9kZWwoKSBsZWF2ZXMgdGhlIHNr Yi0+bmV4dCBwb2ludGVyIHBvaXNvbmVkLCB3aGljaCBjYW4gdGhlbiBsZWFkIHRvCiBhIGNyYXNo IGluIGUuZy4gT1ZTIGZvcndhcmRpbmcuICBGb3IgZXhhbXBsZSwgc2V0dGluZyB1cCBhbiBPVlMg VlhMQU4KIGZvcndhcmRpbmcgYnJpZGdlIG9uIHNmYyBhcyBwZXI6Cgo9PT09PT09PQokIG92cy12 c2N0bCBzaG93CjVkZmQ5YzQ3LWYwNGItNGFhYS1hYTk2LTRmYmIwYTUyMmEzMAogICAgQnJpZGdl ICJicjAiCiAgICAgICAgUG9ydCAiYnIwIgogICAgICAgICAgICBJbnRlcmZhY2UgImJyMCIKICAg ICAgICAgICAgICAgIHR5cGU6IGludGVybmFsCiAgICAgICAgUG9ydCAiZW5wNnMwZjAiCiAgICAg ICAgICAgIEludGVyZmFjZSAiZW5wNnMwZjAiCiAgICAgICAgUG9ydCAidnhsYW4wIgogICAgICAg ICAgICBJbnRlcmZhY2UgInZ4bGFuMCIKICAgICAgICAgICAgICAgIHR5cGU6IHZ4bGFuCiAgICAg ICAgICAgICAgICBvcHRpb25zOiB7a2V5PSIxIiwgbG9jYWxfaXA9IjEwLjAuMC41IiwgcmVtb3Rl X2lwPSIxMC4wLjAuNCJ9CiAgICBvdnNfdmVyc2lvbjogIjIuNS4wIgo9PT09PT09PQood2hlcmUg MTAuMC4wLjUgaXMgYW4gYWRkcmVzcyBvbiBlbnA2czBmMSkKYW5kIHNlbmRpbmcgdHJhZmZpYyBh Y3Jvc3MgaXQgd2lsbCBsZWFkIHRvIHRoZSBmb2xsb3dpbmcgcGFuaWM6Cj09PT09PT09CmdlbmVy YWwgcHJvdGVjdGlvbiBmYXVsdDogMDAwMCBbIzFdIFNNUCBQVEkKQ1BVOiA1IFBJRDogMCBDb21t OiBzd2FwcGVyLzUgTm90IHRhaW50ZWQgNC4yMC4wLXJjMy1laGMrICM3MDEKSGFyZHdhcmUgbmFt ZTogRGVsbCBJbmMuIFBvd2VyRWRnZSBSNzEwLzBNMjMzSCwgQklPUyA2LjQuMCAwNy8yMy8yMDEz ClJJUDogMDAxMDpkZXZfaGFyZF9zdGFydF94bWl0KzB4MzgvMHgyMDAKQ29kZTogNTMgNDggODkg ZmIgNDggODMgZWMgMjAgNDggODUgZmYgNDggODkgNTQgMjQgMDggNDggODkgNGMgMjQgMTggMGYg ODQgYWIgMDEgMDAgMDAgNDggOGQgODYgOTAgMDAgMDAgMDAgNDggODkgZjUgNDggODkgNDQgMjQg MTAgPDRjPiA4YiAzMyA0OCBjNyAwMyAwMCAwMCAwMCAwMCA0OCA4YiAwNSBjNyBkMSBiMyAwMCA0 ZCA4NSBmNiAwZiA5NQpSU1A6IDAwMTg6ZmZmZjg4ODYyN2I0MzdlMCBFRkxBR1M6IDAwMDEwMjAy ClJBWDogMDAwMDAwMDAwMDAwMDAwMCBSQlg6IGRlYWQwMDAwMDAwMDAxMDAgUkNYOiBmZmZmODg4 NjIyNzljMDAwClJEWDogZmZmZjg4ODYxNGEzNDJjMCBSU0k6IDAwMDAwMDAwMDAwMDAwMDAgUkRJ OiAwMDAwMDAwMDAwMDAwMDAwClJCUDogZmZmZjg4ODYxOGE4ODAwMCBSMDg6IDAwMDAwMDAwMDAw MDAwMDEgUjA5OiAwMDAwMDAwMDAwMDAwM2U4ClIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6IGZm ZmY4ODg2MTRhMzQxNDAgUjEyOiAwMDAwMDAwMDAwMDAwMDAwClIxMzogMDAwMDAwMDAwMDAwMDA2 MiBSMTQ6IGRlYWQwMDAwMDAwMDAxMDAgUjE1OiBmZmZmODg4NjE2NDMwMDAwCkZTOiAgMDAwMDAw MDAwMDAwMDAwMCgwMDAwKSBHUzpmZmZmODg4NjI3YjQwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAw MDAwMDAwMDAKQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAz MwpDUjI6IDAwMDA3ZjZkMmJjNmQwMDAgQ1IzOiAwMDAwMDAwMDAyMDBhMDAwIENSNDogMDAwMDAw MDAwMDAwMDZlMApDYWxsIFRyYWNlOgogPElSUT4KIF9fZGV2X3F1ZXVlX3htaXQrMHg2MjMvMHg4 NzAKID8gbWFza2VkX2Zsb3dfbG9va3VwKzB4ZjcvMHgyMjAgW29wZW52c3dpdGNoXQogPyBlcF9w b2xsX2NhbGxiYWNrKzB4MTAxLzB4MzEwCiBkb19leGVjdXRlX2FjdGlvbnMrMHhhYmEvMHhhZjAg W29wZW52c3dpdGNoXQogPyBfX3dha2VfdXBfY29tbW9uKzB4OGEvMHgxNTAKID8gX193YWtlX3Vw X2NvbW1vbl9sb2NrKzB4ODcvMHhjMAogPyBxdWV1ZV91c2Vyc3BhY2VfcGFja2V0KzB4MzFjLzB4 NWIwIFtvcGVudnN3aXRjaF0KIG92c19leGVjdXRlX2FjdGlvbnMrMHg0Ny8weDEyMCBbb3BlbnZz d2l0Y2hdCiBvdnNfZHBfcHJvY2Vzc19wYWNrZXQrMHg3ZC8weDExMCBbb3BlbnZzd2l0Y2hdCiBv dnNfdnBvcnRfcmVjZWl2ZSsweDZlLzB4ZDAgW29wZW52c3dpdGNoXQogPyBkc3RfYWxsb2MrMHg2 NC8weDkwCiA/IHJ0X2RzdF9hbGxvYysweDUwLzB4ZDAKID8gaXBfcm91dGVfaW5wdXRfc2xvdysw eDE5YS8weDlhMAogPyBfX3VkcF9lbnF1ZXVlX3NjaGVkdWxlX3NrYisweDE5OC8weDFiMAogPyBf X3VkcDRfbGliX3JjdisweDg1Ni8weGEzMAogPyBfX3VkcDRfbGliX3JjdisweDg1Ni8weGEzMAog PyBjcHVtYXNrX25leHRfYW5kKzB4MTkvMHgyMAogPyBmaW5kX2J1c2llc3RfZ3JvdXArMHgxMmQv MHhjZDAKIG5ldGRldl9mcmFtZV9ob29rKzB4Y2UvMHgxNTAgW29wZW52c3dpdGNoXQogX19uZXRp Zl9yZWNlaXZlX3NrYl9jb3JlKzB4MjA1LzB4YWUwCiBfX25ldGlmX3JlY2VpdmVfc2tiX2xpc3Rf Y29yZSsweDExZS8weDIyMAogbmV0aWZfcmVjZWl2ZV9za2JfbGlzdCsweDIwMy8weDQ2MAogPyBf X2VmeF9yeF9wYWNrZXQrMHgzMzUvMHg1ZTAgW3NmY10KIGVmeF9wb2xsKzB4MTgyLzB4MzIwIFtz ZmNdCiBuZXRfcnhfYWN0aW9uKzB4Mjk0LzB4M2MwCiBfX2RvX3NvZnRpcnErMHhjYS8weDI5Nwog aXJxX2V4aXQrMHhhNi8weGIwCiBkb19JUlErMHg1NC8weGQwCiBjb21tb25faW50ZXJydXB0KzB4 Zi8weGYKIDwvSVJRPgo9PT09PT09PQpTbywgaW4gYWxsIGxpc3RpZmllZC1yZWNlaXZlIGhhbmRs aW5nLCBpbnN0ZWFkIHB1bGwgc2ticyBvZmYgdGhlIGxpc3RzIHdpdGgKIHNrYl9saXN0X2RlbF9p bml0KCkuCgpGaXhlczogOWFmODZmOTMzODk0ICgibmV0OiBjb3JlOiBmaXggdXNlLWFmdGVyLWZy ZWUgaW4gX19uZXRpZl9yZWNlaXZlX3NrYl9saXN0X2NvcmUiKQpGaXhlczogN2RhNTE3YTNiYzUy ICgibmV0OiBjb3JlOiBBbm90aGVyIHN0ZXAgb2Ygc2tiIHJlY2VpdmUgbGlzdCBwcm9jZXNzaW5n IikKRml4ZXM6IGE0Y2E4YjdkZjczYyAoIm5ldDogaXB2NDogZml4IGRyb3AgaGFuZGxpbmcgaW4g aXBfbGlzdF9yY3YoKSBhbmQgaXBfbGlzdF9yY3ZfZmluaXNoKCkiKQpGaXhlczogZDgyNjllMmNi ZjkwICgibmV0OiBpcHY2OiBsaXN0aWZ5IGlwdjZfcmN2KCkgYW5kIGlwNl9yY3ZfZmluaXNoKCki KQpTaWduZWQtb2ZmLWJ5OiBFZHdhcmQgQ3JlZSA8ZWNyZWVAc29sYXJmbGFyZS5jb20+ClNpZ25l ZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBpbmNs dWRlL2xpbnV4L3NrYnVmZi5oIHwgMTEgKysrKysrKysrKysKIG5ldC9jb3JlL2Rldi5jICAgICAg ICAgfCAgOCArKysrLS0tLQogbmV0L2lwdjQvaXBfaW5wdXQuYyAgICB8ICA0ICsrLS0KIG5ldC9p cHY2L2lwNl9pbnB1dC5jICAgfCAgNCArKy0tCiA0IGZpbGVzIGNoYW5nZWQsIDE5IGluc2VydGlv bnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9za2J1ZmYu aCBiL2luY2x1ZGUvbGludXgvc2tidWZmLmgKaW5kZXggZTZlZjljYzA1ZTYwLi42MGEyZTc2NDY5 ODUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvc2tidWZmLmgKKysrIGIvaW5jbHVkZS9saW51 eC9za2J1ZmYuaApAQCAtMTM1NSw2ICsxMzU1LDE3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBza2Jf emNvcHlfYWJvcnQoc3RydWN0IHNrX2J1ZmYgKnNrYikKIAl9CiB9CiAKK3N0YXRpYyBpbmxpbmUg dm9pZCBza2JfbWFya19ub3Rfb25fbGlzdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQoreworCXNrYi0+ bmV4dCA9IE5VTEw7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBza2JfbGlzdF9kZWxfaW5pdChz dHJ1Y3Qgc2tfYnVmZiAqc2tiKQoreworCV9fbGlzdF9kZWxfZW50cnkoJnNrYi0+bGlzdCk7CisJ c2tiX21hcmtfbm90X29uX2xpc3Qoc2tiKTsKK30KKwogLyoqCiAgKglza2JfcXVldWVfZW1wdHkg LSBjaGVjayBpZiBhIHF1ZXVlIGlzIGVtcHR5CiAgKglAbGlzdDogcXVldWUgaGVhZApkaWZmIC0t Z2l0IGEvbmV0L2NvcmUvZGV2LmMgYi9uZXQvY29yZS9kZXYuYwppbmRleCAyMmFmODhjNDc3NTYu LjFlYzdmMzRmNGMxNyAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvZGV2LmMKKysrIGIvbmV0L2NvcmUv ZGV2LmMKQEAgLTQ5ODEsNyArNDk4MSw3IEBAIHN0YXRpYyB2b2lkIF9fbmV0aWZfcmVjZWl2ZV9z a2JfbGlzdF9jb3JlKHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQsIGJvb2wgcGZtZW1hbGxvCiAJCXN0 cnVjdCBuZXRfZGV2aWNlICpvcmlnX2RldiA9IHNrYi0+ZGV2OwogCQlzdHJ1Y3QgcGFja2V0X3R5 cGUgKnB0X3ByZXYgPSBOVUxMOwogCi0JCWxpc3RfZGVsKCZza2ItPmxpc3QpOworCQlza2JfbGlz dF9kZWxfaW5pdChza2IpOwogCQlfX25ldGlmX3JlY2VpdmVfc2tiX2NvcmUoc2tiLCBwZm1lbWFs bG9jLCAmcHRfcHJldik7CiAJCWlmICghcHRfcHJldikKIAkJCWNvbnRpbnVlOwpAQCAtNTEzNyw3 ICs1MTM3LDcgQEAgc3RhdGljIHZvaWQgbmV0aWZfcmVjZWl2ZV9za2JfbGlzdF9pbnRlcm5hbChz dHJ1Y3QgbGlzdF9oZWFkICpoZWFkKQogCUlOSVRfTElTVF9IRUFEKCZzdWJsaXN0KTsKIAlsaXN0 X2Zvcl9lYWNoX2VudHJ5X3NhZmUoc2tiLCBuZXh0LCBoZWFkLCBsaXN0KSB7CiAJCW5ldF90aW1l c3RhbXBfY2hlY2sobmV0ZGV2X3RzdGFtcF9wcmVxdWV1ZSwgc2tiKTsKLQkJbGlzdF9kZWwoJnNr Yi0+bGlzdCk7CisJCXNrYl9saXN0X2RlbF9pbml0KHNrYik7CiAJCWlmICghc2tiX2RlZmVyX3J4 X3RpbWVzdGFtcChza2IpKQogCQkJbGlzdF9hZGRfdGFpbCgmc2tiLT5saXN0LCAmc3VibGlzdCk7 CiAJfQpAQCAtNTE0OCw3ICs1MTQ4LDcgQEAgc3RhdGljIHZvaWQgbmV0aWZfcmVjZWl2ZV9za2Jf bGlzdF9pbnRlcm5hbChzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKQogCQlyY3VfcmVhZF9sb2NrKCk7 CiAJCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShza2IsIG5leHQsIGhlYWQsIGxpc3QpIHsKIAkJ CXhkcF9wcm9nID0gcmN1X2RlcmVmZXJlbmNlKHNrYi0+ZGV2LT54ZHBfcHJvZyk7Ci0JCQlsaXN0 X2RlbCgmc2tiLT5saXN0KTsKKwkJCXNrYl9saXN0X2RlbF9pbml0KHNrYik7CiAJCQlpZiAoZG9f eGRwX2dlbmVyaWMoeGRwX3Byb2csIHNrYikgPT0gWERQX1BBU1MpCiAJCQkJbGlzdF9hZGRfdGFp bCgmc2tiLT5saXN0LCAmc3VibGlzdCk7CiAJCX0KQEAgLTUxNjcsNyArNTE2Nyw3IEBAIHN0YXRp YyB2b2lkIG5ldGlmX3JlY2VpdmVfc2tiX2xpc3RfaW50ZXJuYWwoc3RydWN0IGxpc3RfaGVhZCAq aGVhZCkKIAogCQkJaWYgKGNwdSA+PSAwKSB7CiAJCQkJLyogV2lsbCBiZSBoYW5kbGVkLCByZW1v dmUgZnJvbSBsaXN0ICovCi0JCQkJbGlzdF9kZWwoJnNrYi0+bGlzdCk7CisJCQkJc2tiX2xpc3Rf ZGVsX2luaXQoc2tiKTsKIAkJCQllbnF1ZXVlX3RvX2JhY2tsb2coc2tiLCBjcHUsICZyZmxvdy0+ bGFzdF9xdGFpbCk7CiAJCQl9CiAJCX0KZGlmZiAtLWdpdCBhL25ldC9pcHY0L2lwX2lucHV0LmMg Yi9uZXQvaXB2NC9pcF9pbnB1dC5jCmluZGV4IDMxOTZjZjU4ZjQxOC4uMjdjODYzZjZkZDgzIDEw MDY0NAotLS0gYS9uZXQvaXB2NC9pcF9pbnB1dC5jCisrKyBiL25ldC9pcHY0L2lwX2lucHV0LmMK QEAgLTU1MSw3ICs1NTEsNyBAQCBzdGF0aWMgdm9pZCBpcF9saXN0X3Jjdl9maW5pc2goc3RydWN0 IG5ldCAqbmV0LCBzdHJ1Y3Qgc29jayAqc2ssCiAJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHNr YiwgbmV4dCwgaGVhZCwgbGlzdCkgewogCQlzdHJ1Y3QgZHN0X2VudHJ5ICpkc3Q7CiAKLQkJbGlz dF9kZWwoJnNrYi0+bGlzdCk7CisJCXNrYl9saXN0X2RlbF9pbml0KHNrYik7CiAJCS8qIGlmIGlu Z3Jlc3MgZGV2aWNlIGlzIGVuc2xhdmVkIHRvIGFuIEwzIG1hc3RlciBkZXZpY2UgcGFzcyB0aGUK IAkJICogc2tiIHRvIGl0cyBoYW5kbGVyIGZvciBwcm9jZXNzaW5nCiAJCSAqLwpAQCAtNTk4LDcg KzU5OCw3IEBAIHZvaWQgaXBfbGlzdF9yY3Yoc3RydWN0IGxpc3RfaGVhZCAqaGVhZCwgc3RydWN0 IHBhY2tldF90eXBlICpwdCwKIAkJc3RydWN0IG5ldF9kZXZpY2UgKmRldiA9IHNrYi0+ZGV2Owog CQlzdHJ1Y3QgbmV0ICpuZXQgPSBkZXZfbmV0KGRldik7CiAKLQkJbGlzdF9kZWwoJnNrYi0+bGlz dCk7CisJCXNrYl9saXN0X2RlbF9pbml0KHNrYik7CiAJCXNrYiA9IGlwX3Jjdl9jb3JlKHNrYiwg bmV0KTsKIAkJaWYgKHNrYiA9PSBOVUxMKQogCQkJY29udGludWU7CmRpZmYgLS1naXQgYS9uZXQv aXB2Ni9pcDZfaW5wdXQuYyBiL25ldC9pcHY2L2lwNl9pbnB1dC5jCmluZGV4IDYyNDI2ODJiZTg3 Ni4uNmI3NDUyM2ZjMWM0IDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9pcDZfaW5wdXQuYworKysgYi9u ZXQvaXB2Ni9pcDZfaW5wdXQuYwpAQCAtOTUsNyArOTUsNyBAQCBzdGF0aWMgdm9pZCBpcDZfbGlz dF9yY3ZfZmluaXNoKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHNvY2sgKnNrLAogCWxpc3RfZm9y X2VhY2hfZW50cnlfc2FmZShza2IsIG5leHQsIGhlYWQsIGxpc3QpIHsKIAkJc3RydWN0IGRzdF9l bnRyeSAqZHN0OwogCi0JCWxpc3RfZGVsKCZza2ItPmxpc3QpOworCQlza2JfbGlzdF9kZWxfaW5p dChza2IpOwogCQkvKiBpZiBpbmdyZXNzIGRldmljZSBpcyBlbnNsYXZlZCB0byBhbiBMMyBtYXN0 ZXIgZGV2aWNlIHBhc3MgdGhlCiAJCSAqIHNrYiB0byBpdHMgaGFuZGxlciBmb3IgcHJvY2Vzc2lu ZwogCQkgKi8KQEAgLTI5NSw3ICsyOTUsNyBAQCB2b2lkIGlwdjZfbGlzdF9yY3Yoc3RydWN0IGxp c3RfaGVhZCAqaGVhZCwgc3RydWN0IHBhY2tldF90eXBlICpwdCwKIAkJc3RydWN0IG5ldF9kZXZp Y2UgKmRldiA9IHNrYi0+ZGV2OwogCQlzdHJ1Y3QgbmV0ICpuZXQgPSBkZXZfbmV0KGRldik7CiAK LQkJbGlzdF9kZWwoJnNrYi0+bGlzdCk7CisJCXNrYl9saXN0X2RlbF9pbml0KHNrYik7CiAJCXNr YiA9IGlwNl9yY3ZfY29yZShza2IsIGRldiwgbmV0KTsKIAkJaWYgKHNrYiA9PSBOVUxMKQogCQkJ Y29udGludWU7Ci0tIAoyLjE5LjIKCgpGcm9tIGZjZTYwZTI1ZjEyNjdiNTlhMTI2Y2UxMGNiODRm YWNlM2Y2YTcyYWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEJlbmphbWluIEhlcnJl bnNjaG1pZHQgPGJlbmhAa2VybmVsLmNyYXNoaW5nLm9yZz4KRGF0ZTogRnJpLCA3IERlYyAyMDE4 IDE1OjA1OjA0ICsxMTAwClN1YmplY3Q6IFtQQVRDSCAxMS8yMV0gUmV2ZXJ0ICJuZXQvaWJtL2Vt YWM6IHdyb25nIGJpdCBpcyB1c2VkIGZvciBTVEEKIGNvbnRyb2wiCgpbIFVwc3RyZWFtIGNvbW1p dCA1YjMyNzllMmNiYTIyMzhiMzdmNmMxOGFkZmRlYThiZGRiMzI3MTVhIF0KClRoaXMgcmV2ZXJ0 cyBjb21taXQgNjI0Y2E5YzMzYzhhODUzYTRhNTg5ODM2ZTMxMGQ3NzY2MjBmNGFiOS4KClRoaXMg Y29tbWl0IGlzIGNvbXBsZXRlbHkgYm9ndXMuIFRoZSBTVEFDUiByZWdpc3RlciBoYXMgdHdvIGZv cm1hdHMsIG9sZAphbmQgbmV3LCBkZXBlbmRpbmcgb24gdGhlIHZlcnNpb24gb2YgdGhlIElQIGJs b2NrIHVzZWQuIFRoZXJlJ3MgYSBwYWlyIG9mCmRldmljZS10cmVlIHByb3BlcnRpZXMgdGhhdCBj YW4gYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBmb3JtYXQgdXNlZDoKCgloYXMtaW52ZXJ0ZWQtc3Rh Y3Itb2MKCWhhcy1uZXctc3RhY3Itc3Rhb3BjCgpXaGF0IHRoaXMgY29tbWl0IGRpZCB3YXMgdG8g Y2hhbmdlIHRoZSBiaXQgZGVmaW5pdGlvbiB1c2VkIHdpdGggdGhlIG9sZApwYXJ0cyB0byBtYXRj aCB0aGUgbmV3IHBhcnRzLiBUaGlzIG9mIGNvdXJzZSBicmVha3MgdGhlIGRyaXZlciBvbiBhbGwK dGhlIG9sZCBvbmVzLgoKSW5zdGVhZCwgdGhlIGF1dGhvciBzaG91bGQgaGF2ZSBzZXQgdGhlIGFw cHJvcHJpYXRlIHByb3BlcnRpZXMgaW4gdGhlCmRldmljZS10cmVlIGZvciB0aGUgdmFyaWFudCB1 c2VkIG9uIGhpcyBib2FyZC4KClNpZ25lZC1vZmYtYnk6IEJlbmphbWluIEhlcnJlbnNjaG1pZHQg PGJlbmhAa2VybmVsLmNyYXNoaW5nLm9yZz4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVy IDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2libS9lbWFj L2VtYWMuaCB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlv bigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2libS9lbWFjL2VtYWMuaCBi L2RyaXZlcnMvbmV0L2V0aGVybmV0L2libS9lbWFjL2VtYWMuaAppbmRleCBlMmY4MGNjYTliZWQu LjBkMmRlNmY2NzY3NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaWJtL2VtYWMv ZW1hYy5oCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2libS9lbWFjL2VtYWMuaApAQCAtMjMx LDcgKzIzMSw3IEBAIHN0cnVjdCBlbWFjX3JlZ3MgewogI2RlZmluZSBFTUFDX1NUQUNSX1BIWUUJ CQkweDAwMDA0MDAwCiAjZGVmaW5lIEVNQUNfU1RBQ1JfU1RBQ19NQVNLCQkweDAwMDAzMDAwCiAj ZGVmaW5lIEVNQUNfU1RBQ1JfU1RBQ19SRUFECQkweDAwMDAxMDAwCi0jZGVmaW5lIEVNQUNfU1RB Q1JfU1RBQ19XUklURQkJMHgwMDAwMDgwMAorI2RlZmluZSBFTUFDX1NUQUNSX1NUQUNfV1JJVEUJ CTB4MDAwMDIwMDAKICNkZWZpbmUgRU1BQ19TVEFDUl9PUEJDX01BU0sJCTB4MDAwMDBDMDAKICNk ZWZpbmUgRU1BQ19TVEFDUl9PUEJDXzUwCQkweDAwMDAwMDAwCiAjZGVmaW5lIEVNQUNfU1RBQ1Jf T1BCQ182NgkJMHgwMDAwMDQwMAotLSAKMi4xOS4yCgoKRnJvbSAxYzM4OGE1NDRjNTlhNTMzZTI2 Njk0OWYzYjg4ODUzNWY5NjU4ZDIzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmlj IER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6IFR1ZSwgNCBEZWMgMjAxOCAwOTo0 MDozNSAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMjFdIHJ0bmV0bGluazogbmRvX2RmbHRfZmRi X2R1bXAoKSBvbmx5IHdvcmsgZm9yCiBBUlBIUkRfRVRIRVIgZGV2aWNlcwoKWyBVcHN0cmVhbSBj b21taXQgNjg4ODM4OTM0YzIzMWJiMDhmNDZkYjY4N2U1N2Y2ZDhiZjgyNzA5YyBdCgprbXNhbiB3 YXMgYWJsZSB0byB0cmlnZ2VyIGEga2VybmVsLWluZm9sZWFrIHVzaW5nIGEgZ3JlIGRldmljZSBb MV0KCm5sbXNnX3BvcHVsYXRlX2ZkYl9maWxsKCkgaGFzIGEgaGFyZCBjb2RlZCBhc3N1bXB0aW9u CnRoYXQgZGV2LT5hZGRyX2xlbiBpcyBFVEhfQUxFTiwgYXMgbm9ybWFsbHkgZ3VhcmFudGVlZApm b3IgQVJQSFJEX0VUSEVSIGRldmljZXMuCgpBIHNpbWlsYXIgaXNzdWUgd2FzIGZpeGVkIHJlY2Vu dGx5IGluIGNvbW1pdCBkYTcxNTc3NTQ1YTUKKCJydG5ldGxpbms6IERpc2FsbG93IEZEQiBjb25m aWd1cmF0aW9uIGZvciBub24tRXRoZXJuZXQgZGV2aWNlIikKClsxXQpCVUc6IEtNU0FOOiBrZXJu ZWwtaW5mb2xlYWsgaW4gY29weW91dCBsaWIvaW92X2l0ZXIuYzoxNDMgW2lubGluZV0KQlVHOiBL TVNBTjoga2VybmVsLWluZm9sZWFrIGluIF9jb3B5X3RvX2l0ZXIrMHg0YzAvMHgyNzAwIGxpYi9p b3ZfaXRlci5jOjU3NgpDUFU6IDAgUElEOiA2Njk3IENvbW06IHN5ei1leGVjdXRvcjMxMCBOb3Qg dGFpbnRlZCA0LjIwLjAtcmMzKyAjOTUKSGFyZHdhcmUgbmFtZTogR29vZ2xlIEdvb2dsZSBDb21w dXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0ZSBFbmdpbmUsIEJJT1MgR29vZ2xlIDAxLzAxLzIwMTEK Q2FsbCBUcmFjZToKIF9fZHVtcF9zdGFjayBsaWIvZHVtcF9zdGFjay5jOjc3IFtpbmxpbmVdCiBk dW1wX3N0YWNrKzB4MzJkLzB4NDgwIGxpYi9kdW1wX3N0YWNrLmM6MTEzCiBrbXNhbl9yZXBvcnQr MHgxMmMvMHgyOTAgbW0va21zYW4va21zYW4uYzo2ODMKIGttc2FuX2ludGVybmFsX2NoZWNrX21l bW9yeSsweDMyYS8weGE1MCBtbS9rbXNhbi9rbXNhbi5jOjc0Mwoga21zYW5fY29weV90b191c2Vy KzB4NzgvMHhkMCBtbS9rbXNhbi9rbXNhbl9ob29rcy5jOjYzNAogY29weW91dCBsaWIvaW92X2l0 ZXIuYzoxNDMgW2lubGluZV0KIF9jb3B5X3RvX2l0ZXIrMHg0YzAvMHgyNzAwIGxpYi9pb3ZfaXRl ci5jOjU3NgogY29weV90b19pdGVyIGluY2x1ZGUvbGludXgvdWlvLmg6MTQzIFtpbmxpbmVdCiBz a2JfY29weV9kYXRhZ3JhbV9pdGVyKzB4NGUyLzB4MTA3MCBuZXQvY29yZS9kYXRhZ3JhbS5jOjQz MQogc2tiX2NvcHlfZGF0YWdyYW1fbXNnIGluY2x1ZGUvbGludXgvc2tidWZmLmg6MzMxNiBbaW5s aW5lXQogbmV0bGlua19yZWN2bXNnKzB4NmY5LzB4MTlkMCBuZXQvbmV0bGluay9hZl9uZXRsaW5r LmM6MTk3NQogc29ja19yZWN2bXNnX25vc2VjIG5ldC9zb2NrZXQuYzo3OTQgW2lubGluZV0KIHNv Y2tfcmVjdm1zZysweDFkMS8weDIzMCBuZXQvc29ja2V0LmM6ODAxCiBfX19zeXNfcmVjdm1zZysw eDQ0NC8weGFlMCBuZXQvc29ja2V0LmM6MjI3OAogX19zeXNfcmVjdm1zZyBuZXQvc29ja2V0LmM6 MjMyNyBbaW5saW5lXQogX19kb19zeXNfcmVjdm1zZyBuZXQvc29ja2V0LmM6MjMzNyBbaW5saW5l XQogX19zZV9zeXNfcmVjdm1zZysweDJmYS8weDQ1MCBuZXQvc29ja2V0LmM6MjMzNAogX194NjRf c3lzX3JlY3Ztc2crMHg0YS8weDcwIG5ldC9zb2NrZXQuYzoyMzM0CiBkb19zeXNjYWxsXzY0KzB4 Y2YvMHgxMTAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6MjkxCiBlbnRyeV9TWVNDQUxMXzY0X2Fm dGVyX2h3ZnJhbWUrMHg2My8weGU3ClJJUDogMDAzMzoweDQ0MTExOQpDb2RlOiAxOCA4OSBkMCBj MyA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCAwZiAxZiAwMCA0OCA4OSBmOCA0OCA4OSBm NyA0OCA4OSBkNiA0OCA4OSBjYSA0ZCA4OSBjMiA0ZCA4OSBjOCA0YyA4YiA0YyAyNCAwOCAwZiAw NSA8NDg+IDNkIDAxIGYwIGZmIGZmIDBmIDgzIGRiIDBhIGZjIGZmIGMzIDY2IDJlIDBmIDFmIDg0 IDAwIDAwIDAwIDAwClJTUDogMDAyYjowMDAwN2ZmZmM3ZjAwOGE4IEVGTEFHUzogMDAwMDAyMDcg T1JJR19SQVg6IDAwMDAwMDAwMDAwMDAwMmYKUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAw MDAwMDAwMDQwMDJjOCBSQ1g6IDAwMDAwMDAwMDA0NDExMTkKUkRYOiAwMDAwMDAwMDAwMDAwMDQw IFJTSTogMDAwMDAwMDAyMDAwMDVjMCBSREk6IDAwMDAwMDAwMDAwMDAwMDMKUkJQOiAwMDAwMDAw MDAwNmNjMDE4IFIwODogMDAwMDAwMDAwMDAwMDEwMCBSMDk6IDAwMDAwMDAwMDAwMDAxMDAKUjEw OiAwMDAwMDAwMDAwMDAwMTAwIFIxMTogMDAwMDAwMDAwMDAwMDIwNyBSMTI6IDAwMDAwMDAwMDA0 MDIwODAKUjEzOiAwMDAwMDAwMDAwNDAyMTEwIFIxNDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6IDAw MDAwMDAwMDAwMDAwMDAKClVuaW5pdCB3YXMgc3RvcmVkIHRvIG1lbW9yeSBhdDoKIGttc2FuX3Nh dmVfc3RhY2tfd2l0aF9mbGFncyBtbS9rbXNhbi9rbXNhbi5jOjI0NiBbaW5saW5lXQoga21zYW5f c2F2ZV9zdGFjayBtbS9rbXNhbi9rbXNhbi5jOjI2MSBbaW5saW5lXQoga21zYW5faW50ZXJuYWxf Y2hhaW5fb3JpZ2luKzB4MTNkLzB4MjQwIG1tL2ttc2FuL2ttc2FuLmM6NDY5CiBrbXNhbl9tZW1j cHlfbWVtbW92ZV9tZXRhZGF0YSsweDFhOS8weGY3MCBtbS9rbXNhbi9rbXNhbi5jOjM0NAoga21z YW5fbWVtY3B5X21ldGFkYXRhKzB4Yi8weDEwIG1tL2ttc2FuL2ttc2FuLmM6MzYyCiBfX21zYW5f bWVtY3B5KzB4NjEvMHg3MCBtbS9rbXNhbi9rbXNhbl9pbnN0ci5jOjE2MgogX19ubGFfcHV0IGxp Yi9ubGF0dHIuYzo3NDQgW2lubGluZV0KIG5sYV9wdXQrMHgyMGEvMHgyZDAgbGliL25sYXR0ci5j OjgwMgogbmxtc2dfcG9wdWxhdGVfZmRiX2ZpbGwrMHg0NDQvMHg4MTAgbmV0L2NvcmUvcnRuZXRs aW5rLmM6MzQ2Ngogbmxtc2dfcG9wdWxhdGVfZmRiIG5ldC9jb3JlL3J0bmV0bGluay5jOjM3NzUg W2lubGluZV0KIG5kb19kZmx0X2ZkYl9kdW1wKzB4NzNhLzB4OTYwIG5ldC9jb3JlL3J0bmV0bGlu ay5jOjM4MDcKIHJ0bmxfZmRiX2R1bXArMHgxMzE4LzB4MWNiMCBuZXQvY29yZS9ydG5ldGxpbmsu YzozOTc5CiBuZXRsaW5rX2R1bXArMHhjNzkvMHgxYzkwIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsu YzoyMjQ0CiBfX25ldGxpbmtfZHVtcF9zdGFydCsweDEwYzQvMHgxMWQwIG5ldC9uZXRsaW5rL2Fm X25ldGxpbmsuYzoyMzUyCiBuZXRsaW5rX2R1bXBfc3RhcnQgaW5jbHVkZS9saW51eC9uZXRsaW5r Lmg6MjE2IFtpbmxpbmVdCiBydG5ldGxpbmtfcmN2X21zZysweDE0MWIvMHgxNTQwIG5ldC9jb3Jl L3J0bmV0bGluay5jOjQ5MTAKIG5ldGxpbmtfcmN2X3NrYisweDM5NC8weDY0MCBuZXQvbmV0bGlu ay9hZl9uZXRsaW5rLmM6MjQ3NwogcnRuZXRsaW5rX3JjdisweDUwLzB4NjAgbmV0L2NvcmUvcnRu ZXRsaW5rLmM6NDk2NQogbmV0bGlua191bmljYXN0X2tlcm5lbCBuZXQvbmV0bGluay9hZl9uZXRs aW5rLmM6MTMxMCBbaW5saW5lXQogbmV0bGlua191bmljYXN0KzB4MTY5OS8weDE3NDAgbmV0L25l dGxpbmsvYWZfbmV0bGluay5jOjEzMzYKIG5ldGxpbmtfc2VuZG1zZysweDEzYzcvMHgxNDQwIG5l dC9uZXRsaW5rL2FmX25ldGxpbmsuYzoxOTE3CiBzb2NrX3NlbmRtc2dfbm9zZWMgbmV0L3NvY2tl dC5jOjYyMSBbaW5saW5lXQogc29ja19zZW5kbXNnIG5ldC9zb2NrZXQuYzo2MzEgW2lubGluZV0K IF9fX3N5c19zZW5kbXNnKzB4ZTNiLzB4MTI0MCBuZXQvc29ja2V0LmM6MjExNgogX19zeXNfc2Vu ZG1zZyBuZXQvc29ja2V0LmM6MjE1NCBbaW5saW5lXQogX19kb19zeXNfc2VuZG1zZyBuZXQvc29j a2V0LmM6MjE2MyBbaW5saW5lXQogX19zZV9zeXNfc2VuZG1zZysweDMwNS8weDQ2MCBuZXQvc29j a2V0LmM6MjE2MQogX194NjRfc3lzX3NlbmRtc2crMHg0YS8weDcwIG5ldC9zb2NrZXQuYzoyMTYx CiBkb19zeXNjYWxsXzY0KzB4Y2YvMHgxMTAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6MjkxCiBl bnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg2My8weGU3CgpVbmluaXQgd2FzIGNyZWF0 ZWQgYXQ6CiBrbXNhbl9zYXZlX3N0YWNrX3dpdGhfZmxhZ3MgbW0va21zYW4va21zYW4uYzoyNDYg W2lubGluZV0KIGttc2FuX2ludGVybmFsX3BvaXNvbl9zaGFkb3crMHg2ZC8weDEzMCBtbS9rbXNh bi9rbXNhbi5jOjE3MAoga21zYW5fa21hbGxvYysweGExLzB4MTAwIG1tL2ttc2FuL2ttc2FuX2hv b2tzLmM6MTg2CiBfX2ttYWxsb2MrMHgxNGMvMHg0ZDAgbW0vc2x1Yi5jOjM4MjUKIGttYWxsb2Mg aW5jbHVkZS9saW51eC9zbGFiLmg6NTUxIFtpbmxpbmVdCiBfX2h3X2FkZHJfY3JlYXRlX2V4IG5l dC9jb3JlL2Rldl9hZGRyX2xpc3RzLmM6MzQgW2lubGluZV0KIF9faHdfYWRkcl9hZGRfZXggbmV0 L2NvcmUvZGV2X2FkZHJfbGlzdHMuYzo4MCBbaW5saW5lXQogX19kZXZfbWNfYWRkKzB4MzU3LzB4 OGEwIG5ldC9jb3JlL2Rldl9hZGRyX2xpc3RzLmM6NjcwCiBkZXZfbWNfYWRkKzB4NmQvMHg4MCBu ZXQvY29yZS9kZXZfYWRkcl9saXN0cy5jOjY4NwogaXBfbWNfZmlsdGVyX2FkZCBuZXQvaXB2NC9p Z21wLmM6MTEyOCBbaW5saW5lXQogaWdtcF9ncm91cF9hZGRlZCsweDRkNC8weGI4MCBuZXQvaXB2 NC9pZ21wLmM6MTMxMQogX19pcF9tY19pbmNfZ3JvdXArMHhlYTkvMHhmNzAgbmV0L2lwdjQvaWdt cC5jOjE0NDQKIGlwX21jX2luY19ncm91cCBuZXQvaXB2NC9pZ21wLmM6MTQ1MyBbaW5saW5lXQog aXBfbWNfdXArMHgxYzMvMHg0MDAgbmV0L2lwdjQvaWdtcC5jOjE3NzUKIGluZXRkZXZfZXZlbnQr MHgxZDAzLzB4MWQ4MCBuZXQvaXB2NC9kZXZpbmV0LmM6MTUyMgogbm90aWZpZXJfY2FsbF9jaGFp biBrZXJuZWwvbm90aWZpZXIuYzo5MyBbaW5saW5lXQogX19yYXdfbm90aWZpZXJfY2FsbF9jaGFp biBrZXJuZWwvbm90aWZpZXIuYzozOTQgW2lubGluZV0KIHJhd19ub3RpZmllcl9jYWxsX2NoYWlu KzB4MTNkLzB4MjQwIGtlcm5lbC9ub3RpZmllci5jOjQwMQogX19kZXZfbm90aWZ5X2ZsYWdzKzB4 M2RhLzB4ODYwIG5ldC9jb3JlL2Rldi5jOjE3MzMKIGRldl9jaGFuZ2VfZmxhZ3MrMHgxYWMvMHgy MzAgbmV0L2NvcmUvZGV2LmM6NzU2OQogZG9fc2V0bGluaysweDE2NWYvMHg1ZWEwIG5ldC9jb3Jl L3J0bmV0bGluay5jOjI0OTIKIHJ0bmxfbmV3bGluaysweDJhZDcvMHgzNWEwIG5ldC9jb3JlL3J0 bmV0bGluay5jOjMxMTEKIHJ0bmV0bGlua19yY3ZfbXNnKzB4MTE0OC8weDE1NDAgbmV0L2NvcmUv cnRuZXRsaW5rLmM6NDk0NwogbmV0bGlua19yY3Zfc2tiKzB4Mzk0LzB4NjQwIG5ldC9uZXRsaW5r L2FmX25ldGxpbmsuYzoyNDc3CiBydG5ldGxpbmtfcmN2KzB4NTAvMHg2MCBuZXQvY29yZS9ydG5l dGxpbmsuYzo0OTY1CiBuZXRsaW5rX3VuaWNhc3Rfa2VybmVsIG5ldC9uZXRsaW5rL2FmX25ldGxp bmsuYzoxMzEwIFtpbmxpbmVdCiBuZXRsaW5rX3VuaWNhc3QrMHgxNjk5LzB4MTc0MCBuZXQvbmV0 bGluay9hZl9uZXRsaW5rLmM6MTMzNgogbmV0bGlua19zZW5kbXNnKzB4MTNjNy8weDE0NDAgbmV0 L25ldGxpbmsvYWZfbmV0bGluay5jOjE5MTcKIHNvY2tfc2VuZG1zZ19ub3NlYyBuZXQvc29ja2V0 LmM6NjIxIFtpbmxpbmVdCiBzb2NrX3NlbmRtc2cgbmV0L3NvY2tldC5jOjYzMSBbaW5saW5lXQog X19fc3lzX3NlbmRtc2crMHhlM2IvMHgxMjQwIG5ldC9zb2NrZXQuYzoyMTE2CiBfX3N5c19zZW5k bXNnIG5ldC9zb2NrZXQuYzoyMTU0IFtpbmxpbmVdCiBfX2RvX3N5c19zZW5kbXNnIG5ldC9zb2Nr ZXQuYzoyMTYzIFtpbmxpbmVdCiBfX3NlX3N5c19zZW5kbXNnKzB4MzA1LzB4NDYwIG5ldC9zb2Nr ZXQuYzoyMTYxCiBfX3g2NF9zeXNfc2VuZG1zZysweDRhLzB4NzAgbmV0L3NvY2tldC5jOjIxNjEK IGRvX3N5c2NhbGxfNjQrMHhjZi8weDExMCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzoyOTEKIGVu dHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDYzLzB4ZTcKCkJ5dGVzIDM2LTM3IG9mIDEw NSBhcmUgdW5pbml0aWFsaXplZApNZW1vcnkgYWNjZXNzIG9mIHNpemUgMTA1IHN0YXJ0cyBhdCBm ZmZmODg4MTk2ODZjMDAwCkRhdGEgY29waWVkIHRvIHVzZXIgYWRkcmVzcyAwMDAwMDAwMDIwMDAw MzgwCgpGaXhlczogZDgzYjA2MDM2MDQ4ICgibmV0OiBhZGQgZmRiIGdlbmVyaWMgZHVtcCByb3V0 aW5lIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpD YzogSm9obiBGYXN0YWJlbmQgPGpvaG4uZmFzdGFiZW5kQGdtYWlsLmNvbT4KQ2M6IElkbyBTY2hp bW1lbCA8aWRvc2NoQG1lbGxhbm94LmNvbT4KQ2M6IERhdmlkIEFoZXJuIDxkc2FoZXJuQGdtYWls LmNvbT4KUmV2aWV3ZWQtYnk6IElkbyBTY2hpbW1lbCA8aWRvc2NoQG1lbGxhbm94LmNvbT4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5l dC9jb3JlL3J0bmV0bGluay5jIHwgMyArKysKIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMo KykKCmRpZmYgLS1naXQgYS9uZXQvY29yZS9ydG5ldGxpbmsuYyBiL25ldC9jb3JlL3J0bmV0bGlu ay5jCmluZGV4IDZlNWQ2MWEyMGE3MC4uZWJkZTk4YjU2NWU5IDEwMDY0NAotLS0gYS9uZXQvY29y ZS9ydG5ldGxpbmsuYworKysgYi9uZXQvY29yZS9ydG5ldGxpbmsuYwpAQCAtMzczMCw2ICszNzMw LDkgQEAgaW50IG5kb19kZmx0X2ZkYl9kdW1wKHN0cnVjdCBza19idWZmICpza2IsCiB7CiAJaW50 IGVycjsKIAorCWlmIChkZXYtPnR5cGUgIT0gQVJQSFJEX0VUSEVSKQorCQlyZXR1cm4gLUVJTlZB TDsKKwogCW5ldGlmX2FkZHJfbG9ja19iaChkZXYpOwogCWVyciA9IG5sbXNnX3BvcHVsYXRlX2Zk Yihza2IsIGNiLCBkZXYsIGlkeCwgJmRldi0+dWMpOwogCWlmIChlcnIpCi0tIAoyLjE5LjIKCgpG cm9tIDI1NjJhMmQ4NDZiNzExYmY4YzgwNTE2OGZkNmMzNTUyYjU3MjFhYjIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4KRGF0ZTog U2F0LCAxIERlYyAyMDE4IDAxOjM2OjU5ICswODAwClN1YmplY3Q6IFtQQVRDSCAxMy8yMV0gc2N0 cDoga2ZyZWVfcmN1IGFzb2MKClsgVXBzdHJlYW0gY29tbWl0IGZiNmRmNWE2MjM0YzM4YTljNTUx NTU5NTA2YTQ5YTY3N2FjNmYwN2EgXQoKSW4gc2N0cF9oYXNoX3RyYW5zcG9ydC9zY3RwX2VwYWRk cl9sb29rdXBfdHJhbnNwb3J0LCBpdCBkZXJlZmVyZW5jZXMKYSB0cmFuc3BvcnQncyBhc29jIHVu ZGVyIHJjdV9yZWFkX2xvY2sgd2hpbGUgYXNvYyBpcyBmcmVlZCBub3QgYWZ0ZXIKYSBncmFjZSBw ZXJpb2QsIHdoaWNoIGxlYWRzIHRvIGEgdXNlLWFmdGVyLWZyZWUgcGFuaWMuCgpUaGlzIHBhdGNo IGZpeGVzIGl0IGJ5IGNhbGxpbmcga2ZyZWVfcmN1IHRvIG1ha2UgYXNvYyBiZSBmcmVlZCBhZnRl cgphIGdyYWNlIHBlcmlvZC4KCk5vdGUgdGhhdCBvbmx5IHRoZSBhc29jJ3MgbWVtb3J5IGlzIGRl bGF5ZWQgdG8gZnJlZSBpbiB0aGUgcGF0Y2gsIGl0Cndvbid0IGNhdXNlIHNrIHRvIGxpbmdlciBs b25nZXIuCgpUaGFua3MgTmVpbCBhbmQgTWFyY2VsbyB0byBtYWtlIHRoaXMgY2xlYXIuCgpGaXhl czogN2ZkYTcwMmY5MzE1ICgic2N0cDogdXNlIG5ldyByaGxpc3QgaW50ZXJmYWNlIG9uIHNjdHAg dHJhbnNwb3J0IHJoYXNodGFibGUiKQpGaXhlczogY2QyYjcwODc1MDU4ICgic2N0cDogY2hlY2sg ZHVwbGljYXRlIG5vZGUgYmVmb3JlIGluc2VydGluZyBhIG5ldyB0cmFuc3BvcnQiKQpSZXBvcnRl ZC1ieTogc3l6Ym90KzBiMDVkOGFhN2NiMTg1MTA3NDgzQHN5emthbGxlci5hcHBzcG90bWFpbC5j b20KUmVwb3J0ZWQtYnk6IHN5emJvdCthYWQyMzFkNTFiMTkyMzE1ODQ0NEBzeXprYWxsZXIuYXBw c3BvdG1haWwuY29tClN1Z2dlc3RlZC1ieTogTmVpbCBIb3JtYW4gPG5ob3JtYW5AdHV4ZHJpdmVy LmNvbT4KU2lnbmVkLW9mZi1ieTogWGluIExvbmcgPGx1Y2llbi54aW5AZ21haWwuY29tPgpBY2tl ZC1ieTogTWFyY2VsbyBSaWNhcmRvIExlaXRuZXIgPG1hcmNlbG8ubGVpdG5lckBnbWFpbC5jb20+ CkFja2VkLWJ5OiBOZWlsIEhvcm1hbiA8bmhvcm1hbkB0dXhkcml2ZXIuY29tPgpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9u ZXQvc2N0cC9zdHJ1Y3RzLmggfCAyICsrCiBuZXQvc2N0cC9hc3NvY2lvbGEuYyAgICAgICB8IDIg Ky0KIDIgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvaW5jbHVkZS9uZXQvc2N0cC9zdHJ1Y3RzLmggYi9pbmNsdWRlL25ldC9zY3RwL3N0 cnVjdHMuaAppbmRleCBhMTFmOTM3OTA0NzYuLmZlYWRhMzU4ZDg3MiAxMDA2NDQKLS0tIGEvaW5j bHVkZS9uZXQvc2N0cC9zdHJ1Y3RzLmgKKysrIGIvaW5jbHVkZS9uZXQvc2N0cC9zdHJ1Y3RzLmgK QEAgLTIwNzUsNiArMjA3NSw4IEBAIHN0cnVjdCBzY3RwX2Fzc29jaWF0aW9uIHsKIAogCV9fdTY0 IGFiYW5kb25lZF91bnNlbnRbU0NUUF9QUl9JTkRFWChNQVgpICsgMV07CiAJX191NjQgYWJhbmRv bmVkX3NlbnRbU0NUUF9QUl9JTkRFWChNQVgpICsgMV07CisKKwlzdHJ1Y3QgcmN1X2hlYWQgcmN1 OwogfTsKIAogCmRpZmYgLS1naXQgYS9uZXQvc2N0cC9hc3NvY2lvbGEuYyBiL25ldC9zY3RwL2Fz c29jaW9sYS5jCmluZGV4IDZhMjhiOTZlNzc5ZS4uMzcwMmY0OGE5MzFkIDEwMDY0NAotLS0gYS9u ZXQvc2N0cC9hc3NvY2lvbGEuYworKysgYi9uZXQvc2N0cC9hc3NvY2lvbGEuYwpAQCAtNDM0LDcg KzQzNCw3IEBAIHN0YXRpYyB2b2lkIHNjdHBfYXNzb2NpYXRpb25fZGVzdHJveShzdHJ1Y3Qgc2N0 cF9hc3NvY2lhdGlvbiAqYXNvYykKIAogCVdBUk5fT04oYXRvbWljX3JlYWQoJmFzb2MtPnJtZW1f YWxsb2MpKTsKIAotCWtmcmVlKGFzb2MpOworCWtmcmVlX3JjdShhc29jLCByY3UpOwogCVNDVFBf REJHX09CSkNOVF9ERUMoYXNzb2MpOwogfQogCi0tIAoyLjE5LjIKCgpGcm9tIGIyYWZlOWQyNGRi NDA3MjM4MDVjNTFlM2VjOTFhZjc0ZmVkN2RhNGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogV2VkLCA1IERlYyAy MDE4IDE0OjI0OjMxIC0wODAwClN1YmplY3Q6IFtQQVRDSCAxNC8yMV0gdGNwOiBEbyBub3QgdW5k ZXJlc3RpbWF0ZSByd25kX2xpbWl0ZWQKClsgVXBzdHJlYW0gY29tbWl0IDQxNzI3NTQ5ZGUzZTcy ODFmZWIxNzRkNTY4YzZlNDY4MjNkYjg2ODQgXQoKSWYgYXZhaWxhYmxlIHJ3bmQgaXMgdG9vIHNt YWxsLCB0Y3BfdHNvX3Nob3VsZF9kZWZlcigpCmNhbiBkZWNpZGUgaXQgaXMgd29ydGggd2FpdGlu ZyBiZWZvcmUgc3BsaXR0aW5nIGEgVFNPIHBhY2tldC4KClRoaXMgcmVhbGx5IG1lYW5zIHdlIGFy ZSByd25kIGxpbWl0ZWQuCgpGaXhlczogNTYxNWY4ODYxNGE0ICgidGNwOiBpbnN0cnVtZW50IGhv dyBsb25nIFRDUCBpcyBsaW1pdGVkIGJ5IHJlY2VpdmUgd2luZG93IikKU2lnbmVkLW9mZi1ieTog RXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpBY2tlZC1ieTogU29oZWlsIEhhc3Nh cyBZZWdhbmVoIDxzb2hlaWxAZ29vZ2xlLmNvbT4KUmV2aWV3ZWQtYnk6IFl1Y2h1bmcgQ2hlbmcg PHljaGVuZ0Bnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvdGNwX291dHB1dC5jIHwgNSArKysrLQogMSBm aWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L25ldC9pcHY0L3RjcF9vdXRwdXQuYyBiL25ldC9pcHY0L3RjcF9vdXRwdXQuYwppbmRleCA2OGY2 NWRkZjllM2MuLjk3ZThhZWE0YWM3MSAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdGNwX291dHB1dC5j CisrKyBiL25ldC9pcHY0L3RjcF9vdXRwdXQuYwpAQCAtMjMzOCw4ICsyMzM4LDExIEBAIHN0YXRp YyBib29sIHRjcF93cml0ZV94bWl0KHN0cnVjdCBzb2NrICpzaywgdW5zaWduZWQgaW50IG1zc19u b3csIGludCBub25hZ2xlLAogCQl9IGVsc2UgewogCQkJaWYgKCFwdXNoX29uZSAmJgogCQkJICAg IHRjcF90c29fc2hvdWxkX2RlZmVyKHNrLCBza2IsICZpc19jd25kX2xpbWl0ZWQsCi0JCQkJCQkg bWF4X3NlZ3MpKQorCQkJCQkJIG1heF9zZWdzKSkgeworCQkJCWlmICghaXNfY3duZF9saW1pdGVk KQorCQkJCQlpc19yd25kX2xpbWl0ZWQgPSB0cnVlOwogCQkJCWJyZWFrOworCQkJfQogCQl9CiAK IAkJbGltaXQgPSBtc3Nfbm93OwotLSAKMi4xOS4yCgoKRnJvbSBiODBhZWMxODUxNGIzMjMwMjhl MWVlOTAwOWY4NjNjMjgwM2RkNmVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBZdWNo dW5nIENoZW5nIDx5Y2hlbmdAZ29vZ2xlLmNvbT4KRGF0ZTogV2VkLCA1IERlYyAyMDE4IDE0OjM4 OjM4IC0wODAwClN1YmplY3Q6IFtQQVRDSCAxNS8yMV0gdGNwOiBmaXggTlVMTCByZWYgaW4gdGFp bCBsb3NzIHByb2JlCgpbIFVwc3RyZWFtIGNvbW1pdCBiMmI3YWY4NjExMjJhMGMwZjYyNjAxNTVj MjlhMWIyZTU5NGNkNWI1IF0KClRDUCBsb3NzIHByb2JlIHRpbWVyIG1heSBmaXJlIHdoZW4gdGhl IHJldHJhbm1pc3Npb24gcXVldWUgaXMgZW1wdHkgYnV0CmhhcyBhIG5vbi16ZXJvIHRwLT5wYWNr ZXRzX291dCBjb3VudGVyLiB0Y3Bfc2VuZF9sb3NzX3Byb2JlIHdpbGwgY2FsbAp0Y3BfcmVhcm1f cnRvIHdoaWNoIHRyaWdnZXJzIE5VTEwgcG9pbnRlciByZWZlcmVuY2UgYnkgZmV0Y2hpbmcgdGhl CnJldHJhbm1pc3Npb24gcXVldWUgaGVhZCBpbiBpdHMgc3ViLXJvdXRpbmVzLgoKQWRkIGEgbW9y ZSBkZXRhaWxlZCB3YXJuaW5nIHRvIGhlbHAgY2F0Y2ggdGhlIHJvb3QgY2F1c2Ugb2YgdGhlIGlu ZmxpZ2h0CmFjY291bnRpbmcgaW5jb25zaXN0ZW5jeS4KClJlcG9ydGVkLWJ5OiBSYWZhZWwgVGlu b2NvIDxyYWZhZWwudGlub2NvQGxpbmFyby5vcmc+ClNpZ25lZC1vZmYtYnk6IFl1Y2h1bmcgQ2hl bmcgPHljaGVuZ0Bnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1h emV0QGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IE5lYWwgQ2FyZHdlbGwgPG5jYXJkd2VsbEBn b29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+Ci0tLQogbmV0L2lwdjQvdGNwX291dHB1dC5jIHwgMTEgKysrKysrKy0tLS0KIDEgZmls ZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv bmV0L2lwdjQvdGNwX291dHB1dC5jIGIvbmV0L2lwdjQvdGNwX291dHB1dC5jCmluZGV4IDk3ZThh ZWE0YWM3MS4uNjU2MzJmODI3ZWVhIDEwMDY0NAotLS0gYS9uZXQvaXB2NC90Y3Bfb3V0cHV0LmMK KysrIGIvbmV0L2lwdjQvdGNwX291dHB1dC5jCkBAIC0yNDc5LDE1ICsyNDc5LDE4IEBAIHZvaWQg dGNwX3NlbmRfbG9zc19wcm9iZShzdHJ1Y3Qgc29jayAqc2spCiAJCWdvdG8gcmVhcm1fdGltZXI7 CiAJfQogCXNrYiA9IHNrYl9yYl9sYXN0KCZzay0+dGNwX3J0eF9xdWV1ZSk7CisJaWYgKHVubGlr ZWx5KCFza2IpKSB7CisJCVdBUk5fT05DRSh0cC0+cGFja2V0c19vdXQsCisJCQkgICJpbnZhbGlk IGluZmxpZ2h0OiAldSBzdGF0ZSAldSBjd25kICV1IG1zcyAlZFxuIiwKKwkJCSAgdHAtPnBhY2tl dHNfb3V0LCBzay0+c2tfc3RhdGUsIHRwLT5zbmRfY3duZCwgbXNzKTsKKwkJaW5ldF9jc2soc2sp LT5pY3NrX3BlbmRpbmcgPSAwOworCQlyZXR1cm47CisJfQogCiAJLyogQXQgbW9zdCBvbmUgb3V0 c3RhbmRpbmcgVExQIHJldHJhbnNtaXNzaW9uLiAqLwogCWlmICh0cC0+dGxwX2hpZ2hfc2VxKQog CQlnb3RvIHJlYXJtX3RpbWVyOwogCi0JLyogUmV0cmFuc21pdCBsYXN0IHNlZ21lbnQuICovCi0J aWYgKFdBUk5fT04oIXNrYikpCi0JCWdvdG8gcmVhcm1fdGltZXI7Ci0KIAlpZiAoc2tiX3N0aWxs X2luX2hvc3RfcXVldWUoc2ssIHNrYikpCiAJCWdvdG8gcmVhcm1fdGltZXI7CiAKLS0gCjIuMTku MgoKCkZyb20gM2Y2YWIxZDNkOGU1YWM4MDAyM2RlMThkMGQ5ZmMzZjZjZTJhZjA3NyBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTmljb2xhcyBEaWNodGVsIDxuaWNvbGFzLmRpY2h0ZWxA NndpbmQuY29tPgpEYXRlOiBUaHUsIDI5IE5vdiAyMDE4IDE0OjQ1OjM5ICswMTAwClN1YmplY3Q6 IFtQQVRDSCAxNi8yMV0gdHVuOiBmb3JiaWQgaWZhY2UgY3JlYXRpb24gd2l0aCBydG5sIG9wcwoK WyBVcHN0cmVhbSBjb21taXQgMzViODI3YjZkMDYxOTk4NDFhODM4MzllOGJiNjljMGNkMTNhMjhi ZSBdCgpJdCdzIG5vdCBzdXBwb3J0ZWQgcmlnaHQgbm93ICh0aGUgZ29hbCBvZiB0aGUgaW5pdGlh bCBwYXRjaCB3YXMgdG8gc3VwcG9ydAonaXAgbGluayBkZWwnIG9ubHkpLgoKQmVmb3JlIHRoZSBw YXRjaDoKJCBpcCBsaW5rIGFkZCBmb28gdHlwZSB0dW4KWyAgMjM5LjYzMjY2MF0gQlVHOiB1bmFi bGUgdG8gaGFuZGxlIGtlcm5lbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgYXQgMDAwMDAwMDAw MDAwMDAwMApbc25pcF0KWyAgMjM5LjYzNjQxMF0gUklQOiAwMDEwOnJlZ2lzdGVyX25ldGRldmlj ZSsweDhlLzB4M2EwCgpUaGlzIHBhbmljIG9jY3VycyBiZWNhdXNlIGRldi0+bmV0ZGV2X29wcyBp cyBub3Qgc2V0IGJ5IHR1bl9zZXR1cCgpLiBCdXQgdG8KaGF2ZSBzb21ldGhpbmcgdXNhYmxlLCBp dCB3aWxsIHJlcXVpcmUgbW9yZSB0aGFuIGp1c3Qgc2V0dGluZwpuZXRkZXZfb3BzLgoKRml4ZXM6 IGYwMTlhN2E1OTRkOSAoInR1bjogSW1wbGVtZW50IGlwIGxpbmsgZGVsIHR1blhYWCIpCkNDOiBF cmljIFcuIEJpZWRlcm1hbiA8ZWJpZWRlcm1AeG1pc3Npb24uY29tPgpTaWduZWQtb2ZmLWJ5OiBO aWNvbGFzIERpY2h0ZWwgPG5pY29sYXMuZGljaHRlbEA2d2luZC5jb20+ClNpZ25lZC1vZmYtYnk6 IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC90 dW4uYyB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3R1bi5jIGIvZHJpdmVycy9uZXQvdHVu LmMKaW5kZXggNTczNjIwNzcxMTU0Li44YzFhYmNiYTRjYmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv bmV0L3R1bi5jCisrKyBiL2RyaXZlcnMvbmV0L3R1bi5jCkBAIC0yMjY4LDkgKzIyNjgsOSBAQCBz dGF0aWMgdm9pZCB0dW5fc2V0dXAoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIHN0YXRpYyBpbnQg dHVuX3ZhbGlkYXRlKHN0cnVjdCBubGF0dHIgKnRiW10sIHN0cnVjdCBubGF0dHIgKmRhdGFbXSwK IAkJCXN0cnVjdCBuZXRsaW5rX2V4dF9hY2sgKmV4dGFjaykKIHsKLQlpZiAoIWRhdGEpCi0JCXJl dHVybiAwOwotCXJldHVybiAtRUlOVkFMOworCU5MX1NFVF9FUlJfTVNHKGV4dGFjaywKKwkJICAg ICAgICJ0dW4vdGFwIGNyZWF0aW9uIHZpYSBydG5ldGxpbmsgaXMgbm90IHN1cHBvcnRlZC4iKTsK KwlyZXR1cm4gLUVPUE5PVFNVUFA7CiB9CiAKIHN0YXRpYyBzaXplX3QgdHVuX2dldF9zaXplKGNv bnN0IHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCi0tIAoyLjE5LjIKCgpGcm9tIDRjOWYzZmE4OTQ2 ZjYxZWZkOTFhZDI0Zjg3YTI1NTY5MTIyYmJjNTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IEphc29uIFdhbmcgPGphc293YW5nQHJlZGhhdC5jb20+CkRhdGU6IFRodSwgMjkgTm92IDIw MTggMTM6NTM6MTYgKzA4MDAKU3ViamVjdDogW1BBVENIIDE3LzIxXSB2aXJ0aW8tbmV0OiBrZWVw IHZuZXQgaGVhZGVyIHplcm9lZCBhZnRlciBwcm9jZXNzaW5nCiBYRFAKClsgVXBzdHJlYW0gY29t bWl0IDQzNmM5NDUzYTFhYzA5NDRiODI4NzBlZjJlMGQ5YmU5NTZiMzk2ZDkgXQoKV2UgY29weSB2 bmV0IGhlYWRlciB1bmNvbmRpdGlvbmFsbHkgaW4gcGFnZV90b19za2IoKSB0aGlzIGlzIHdyb25n CnNpbmNlIFhEUCBtYXkgbW9kaWZ5IHRoZSBwYWNrZXQgZGF0YS4gU28gbGV0J3Mga2VlcCBhIHpl cm9lZCB2bmV0CmhlYWRlciBmb3Igbm90IGNvbmZ1c2luZyB0aGUgY29udmVyc2lvbiBiZXR3ZWVu IHZuZXQgaGVhZGVyIGFuZCBza2IKbWV0YWRhdGEuCgpJbiB0aGUgZnV0dXJlLCB3ZSBzaG91bGQg YWJsZSB0byBkZXRlY3Qgd2hldGhlciBvciBub3QgdGhlIHBhY2tldCB3YXMKbW9kaWZpZWQgYW5k IGtlZXAgdXNpbmcgdGhlIHZuZXQgaGVhZGVyIHdoZW4gcGFja2V0IHdhcyBub3QgdG91Y2hlZC4K CkZpeGVzOiBmNjAwYjY5MDUwMTUgKCJ2aXJ0aW9fbmV0OiBBZGQgWERQIHN1cHBvcnQiKQpSZXBv cnRlZC1ieTogUGF2ZWwgUG9wYSA8cGFzaGluaG8xOTkwQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1i eTogSmFzb24gV2FuZyA8amFzb3dhbmdAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3ZpcnRpb19u ZXQuYyB8IDE0ICsrKysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCsp LCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYyBi L2RyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYwppbmRleCBjMmNhNmNkM2ZiZTAuLmFkMTRmYmZhMTg2 NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdmlydGlvX25ldC5jCisrKyBiL2RyaXZlcnMvbmV0 L3ZpcnRpb19uZXQuYwpAQCAtMzY1LDcgKzM2NSw4IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgbWVy Z2VhYmxlX2N0eF90b190cnVlc2l6ZSh2b2lkICptcmdfY3R4KQogc3RhdGljIHN0cnVjdCBza19i dWZmICpwYWdlX3RvX3NrYihzdHJ1Y3QgdmlydG5ldF9pbmZvICp2aSwKIAkJCQkgICBzdHJ1Y3Qg cmVjZWl2ZV9xdWV1ZSAqcnEsCiAJCQkJICAgc3RydWN0IHBhZ2UgKnBhZ2UsIHVuc2lnbmVkIGlu dCBvZmZzZXQsCi0JCQkJICAgdW5zaWduZWQgaW50IGxlbiwgdW5zaWduZWQgaW50IHRydWVzaXpl KQorCQkJCSAgIHVuc2lnbmVkIGludCBsZW4sIHVuc2lnbmVkIGludCB0cnVlc2l6ZSwKKwkJCQkg ICBib29sIGhkcl92YWxpZCkKIHsKIAlzdHJ1Y3Qgc2tfYnVmZiAqc2tiOwogCXN0cnVjdCB2aXJ0 aW9fbmV0X2hkcl9tcmdfcnhidWYgKmhkcjsKQEAgLTM4Nyw3ICszODgsOCBAQCBzdGF0aWMgc3Ry dWN0IHNrX2J1ZmYgKnBhZ2VfdG9fc2tiKHN0cnVjdCB2aXJ0bmV0X2luZm8gKnZpLAogCWVsc2UK IAkJaGRyX3BhZGRlZF9sZW4gPSBzaXplb2Yoc3RydWN0IHBhZGRlZF92bmV0X2hkcik7CiAKLQlt ZW1jcHkoaGRyLCBwLCBoZHJfbGVuKTsKKwlpZiAoaGRyX3ZhbGlkKQorCQltZW1jcHkoaGRyLCBw LCBoZHJfbGVuKTsKIAogCWxlbiAtPSBoZHJfbGVuOwogCW9mZnNldCArPSBoZHJfcGFkZGVkX2xl bjsKQEAgLTczOSw3ICs3NDEsOCBAQCBzdGF0aWMgc3RydWN0IHNrX2J1ZmYgKnJlY2VpdmVfYmln KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJCQkJICAgc3RydWN0IHZpcnRuZXRfcnFfc3RhdHMg KnN0YXRzKQogewogCXN0cnVjdCBwYWdlICpwYWdlID0gYnVmOwotCXN0cnVjdCBza19idWZmICpz a2IgPSBwYWdlX3RvX3NrYih2aSwgcnEsIHBhZ2UsIDAsIGxlbiwgUEFHRV9TSVpFKTsKKwlzdHJ1 Y3Qgc2tfYnVmZiAqc2tiID0gcGFnZV90b19za2IodmksIHJxLCBwYWdlLCAwLCBsZW4sCisJCQkJ CSAgUEFHRV9TSVpFLCB0cnVlKTsKIAogCXN0YXRzLT5ieXRlcyArPSBsZW4gLSB2aS0+aGRyX2xl bjsKIAlpZiAodW5saWtlbHkoIXNrYikpCkBAIC04NDIsNyArODQ1LDggQEAgc3RhdGljIHN0cnVj dCBza19idWZmICpyZWNlaXZlX21lcmdlYWJsZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogCQkJ CXJjdV9yZWFkX3VubG9jaygpOwogCQkJCXB1dF9wYWdlKHBhZ2UpOwogCQkJCWhlYWRfc2tiID0g cGFnZV90b19za2IodmksIHJxLCB4ZHBfcGFnZSwKLQkJCQkJCSAgICAgICBvZmZzZXQsIGxlbiwg UEFHRV9TSVpFKTsKKwkJCQkJCSAgICAgICBvZmZzZXQsIGxlbiwKKwkJCQkJCSAgICAgICBQQUdF X1NJWkUsIGZhbHNlKTsKIAkJCQlyZXR1cm4gaGVhZF9za2I7CiAJCQl9CiAJCQlicmVhazsKQEAg LTg5OCw3ICs5MDIsNyBAQCBzdGF0aWMgc3RydWN0IHNrX2J1ZmYgKnJlY2VpdmVfbWVyZ2VhYmxl KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJCWdvdG8gZXJyX3NrYjsKIAl9CiAKLQloZWFkX3Nr YiA9IHBhZ2VfdG9fc2tiKHZpLCBycSwgcGFnZSwgb2Zmc2V0LCBsZW4sIHRydWVzaXplKTsKKwlo ZWFkX3NrYiA9IHBhZ2VfdG9fc2tiKHZpLCBycSwgcGFnZSwgb2Zmc2V0LCBsZW4sIHRydWVzaXpl LCAheGRwX3Byb2cpOwogCWN1cnJfc2tiID0gaGVhZF9za2I7CiAKIAlpZiAodW5saWtlbHkoIWN1 cnJfc2tiKSkKLS0gCjIuMTkuMgoKCkZyb20gZjEzOWNhYWJlNzI5ZWYxNWViNjVjNWFiYjVmOTc0 YWVjZDVmYThlNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQmFydWNoIFNpYWNoIDxi YXJ1Y2hAdGtvcy5jby5pbD4KRGF0ZTogVGh1LCAyOSBOb3YgMjAxOCAxMjo0MDoxMSArMDIwMApT dWJqZWN0OiBbUEFUQ0ggMTgvMjFdIG5ldDogcGh5OiBzZnA6IGNvcnJlY3Qgc3RvcmUgb2YgZGV0 ZWN0ZWQgbGluayBtb2RlcwoKWyBVcHN0cmVhbSBjb21taXQgZDdmN2UwMDE4Yjk2ZmQxYTMwYTk2 OGZhYTk0NjRlYjU3MzcyYzFlYyBdCgpUaGUgbGluayBtb2RlcyB0aGF0IHNmcF9wYXJzZV9zdXBw b3J0KCkgZGV0ZWN0cyBhcmUgc3RvcmVkIGluIHRoZQonbW9kZXMnIGJpdG1hcC4gVGhlcmUgaXMg bm8gcmVhc29uIHRvIG1ha2UgYW4gZXhjZXB0aW9uIGZvciAxMDAwQmFzZS1QWApvciAxMDAwQmFz ZS1CWDEwLgoKRml4ZXM6IDAzMTQ1ODY0YmQwZiAoInNmcDogc3VwcG9ydCAxRyBCaURpIChlZywg RmliZXJTdG9yZSBTRlAtR0UtQlgpIG1vZHVsZXMiKQpTaWduZWQtb2ZmLWJ5OiBCYXJ1Y2ggU2lh Y2ggPGJhcnVjaEB0a29zLmNvLmlsPgpBY2tlZC1ieTogUnVzc2VsbCBLaW5nIDxybWsra2VybmVs QGFybWxpbnV4Lm9yZy51az4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBk YXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3BoeS9zZnAtYnVzLmMgfCAyICstCiAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC9waHkvc2ZwLWJ1cy5jIGIvZHJpdmVycy9uZXQvcGh5L3NmcC1idXMuYwppbmRl eCA4MzA2MGZiMzQ5ZjQuLmFkOWRiNjUyODc0ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvcGh5 L3NmcC1idXMuYworKysgYi9kcml2ZXJzL25ldC9waHkvc2ZwLWJ1cy5jCkBAIC0xNjIsNyArMTYy LDcgQEAgdm9pZCBzZnBfcGFyc2Vfc3VwcG9ydChzdHJ1Y3Qgc2ZwX2J1cyAqYnVzLCBjb25zdCBz dHJ1Y3Qgc2ZwX2VlcHJvbV9pZCAqaWQsCiAJLyogMTAwMEJhc2UtUFggb3IgMTAwMEJhc2UtQlgx MCAqLwogCWlmICgoaWQtPmJhc2UuZV9iYXNlX3B4IHx8IGlkLT5iYXNlLmVfYmFzZV9ieDEwKSAm JgogCSAgICBicl9taW4gPD0gMTMwMCAmJiBicl9tYXggPj0gMTIwMCkKLQkJcGh5bGlua19zZXQo c3VwcG9ydCwgMTAwMGJhc2VYX0Z1bGwpOworCQlwaHlsaW5rX3NldChtb2RlcywgMTAwMGJhc2VY X0Z1bGwpOwogCiAJLyogRm9yIGFjdGl2ZSBvciBwYXNzaXZlIGNhYmxlcywgc2VsZWN0IHRoZSBs aW5rIG1vZGVzCiAJICogYmFzZWQgb24gdGhlIGJpdCByYXRlcyBhbmQgdGhlIGNhYmxlIGNvbXBs aWFuY2UgYnl0ZXMuCi0tIAoyLjE5LjIKCgpGcm9tIGY5OTk2OTFkNWQzMDUyNzg4ODU2ZDVjMTgw MWM2YzFiMGQzY2JmMjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFhpbiBMb25nIDxs dWNpZW4ueGluQGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAyNyBOb3YgMjAxOCAxOToxMTo1MCArMDgw MApTdWJqZWN0OiBbUEFUQ0ggMTkvMjFdIHNjdHA6IHVwZGF0ZSBmcmFnX3BvaW50IHdoZW4gc3Ry ZWFtX2ludGVybGVhdmUgaXMgc2V0CgpbIFVwc3RyZWFtIGNvbW1pdCA0MTM1Y2NlN2ZkMGEwZDc1 NTY2NWMwMjcyODU3OGM3YzVhZmU0NzI2IF0KCnNjdHBfYXNzb2NfdXBkYXRlX2ZyYWdfcG9pbnQo KSBzaG91bGQgYmUgY2FsbGVkIHdoZW5ldmVyIGFzb2MtPnBhdGhtdHUKY2hhbmdlcywgYnV0IHdl IG1pc3NlZCBvbmUgcGxhY2UgaW4gc2N0cF9hc3NvY2lhdGlvbl9pbml0KCkuIEl0IHdvdWxkCmNh dXNlIGZyYWdfcG9pbnQgaXMgemVybyB3aGVuIHNlbmRpbmcgZGF0YS4KCkFzIHNheXMgaW4gSmFr dWIncyByZXByb2R1Y2VyLCBpZiBzcC0+cGF0aG10dSBpcyBzZXQgYnkgc29ja2V0b3B0LCB0aGUK bmV3IGFzb2MtPnBhdGhtdHUgaW5oZXJpdHMgaXQgaW4gc2N0cF9hc3NvY2lhdGlvbl9pbml0KCku IExhdGVyIHdoZW4KdHJhbnNwb3J0cyBhcmUgYWRkZWQgYW5kIHRoZWlyIHBtdHUgPj0gYXNvYy0+ cGF0aG10dSwgaXQgd2lsbCBuZXZlcgpjYWxsIHNjdHBfYXNzb2NfdXBkYXRlX2ZyYWdfcG9pbnQo KSB0byBzZXQgZnJhZ19wb2ludC4KClRoaXMgcGF0Y2ggaXMgdG8gZml4IGl0IGJ5IHVwZGF0aW5n IGZyYWdfcG9pbnQgYWZ0ZXIgYXNvYy0+cGF0aG10dSBpcwpzZXQgYXMgc3AtPnBhdGhtdHUgaW4g c2N0cF9hc3NvY2lhdGlvbl9pbml0KCkuIE5vdGUgdGhhdCBpdCBtb3ZlZCB0aGVtCmFmdGVyIHNj dHBfc3RyZWFtX2luaXQoKSwgYXMgc3RyZWFtLT5zaSBuZWVkcyB0byBiZSBzZXQgZmlyc3QuCgpG cmFnX3BvaW50J3MgY2FsY3VsYXRpb24gaXMgYWxzbyByZWxhdGVkIHdpdGggZGF0YWNodW5rJ3Mg dHlwZSwgc28gaXQKbmVlZHMgdG8gdXBkYXRlIGZyYWdfcG9pbnQgd2hlbiBzdHJlYW0tPnNpIG1h eSBiZSBjaGFuZ2VkIGluCnNjdHBfcHJvY2Vzc19pbml0KCkuCgp2MS0+djI6CiAgLSBjYWxsIHNj dHBfYXNzb2NfdXBkYXRlX2ZyYWdfcG9pbnQoKSBzZXBhcmF0ZWx5IGluIHNjdHBfcHJvY2Vzc19p bml0CiAgICBhbmQgc2N0cF9hc3NvY2lhdGlvbl9pbml0LCBwZXIgTWFyY2VsbydzIHN1Z2dlc3Rp b24uCgpGaXhlczogMmY1ZTNjOWRmNjkzICgic2N0cDogaW50cm9kdWNlIHNjdHBfYXNzb2NfdXBk YXRlX2ZyYWdfcG9pbnQiKQpSZXBvcnRlZC1ieTogSmFrdWIgQXVkeWtvd2ljeiA8amFrdWIuYXVk eWtvd2ljekBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IFhpbiBMb25nIDxsdWNpZW4ueGluQGdt YWlsLmNvbT4KQWNrZWQtYnk6IE1hcmNlbG8gUmljYXJkbyBMZWl0bmVyIDxtYXJjZWxvLmxlaXRu ZXJAZ21haWwuY29tPgpBY2tlZC1ieTogTmVpbCBIb3JtYW4gPG5ob3JtYW5AdHV4ZHJpdmVyLmNv bT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0Pgot LS0KIG5ldC9zY3RwL2Fzc29jaW9sYS5jICAgICB8IDcgKysrKy0tLQogbmV0L3NjdHAvc21fbWFr ZV9jaHVuay5jIHwgMyArKysKIDIgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAzIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9zY3RwL2Fzc29jaW9sYS5jIGIvbmV0L3NjdHAv YXNzb2Npb2xhLmMKaW5kZXggMzcwMmY0OGE5MzFkLi45MTQ3NTBiODE5YjIgMTAwNjQ0Ci0tLSBh L25ldC9zY3RwL2Fzc29jaW9sYS5jCisrKyBiL25ldC9zY3RwL2Fzc29jaW9sYS5jCkBAIC0xMTgs OSArMTE4LDYgQEAgc3RhdGljIHN0cnVjdCBzY3RwX2Fzc29jaWF0aW9uICpzY3RwX2Fzc29jaWF0 aW9uX2luaXQoCiAJYXNvYy0+Zmxvd2xhYmVsID0gc3AtPmZsb3dsYWJlbDsKIAlhc29jLT5kc2Nw ID0gc3AtPmRzY3A7CiAKLQkvKiBJbml0aWFsaXplIGRlZmF1bHQgcGF0aCBNVFUuICovCi0JYXNv Yy0+cGF0aG10dSA9IHNwLT5wYXRobXR1OwotCiAJLyogU2V0IGFzc29jaWF0aW9uIGRlZmF1bHQg U0FDSyBkZWxheSAqLwogCWFzb2MtPnNhY2tkZWxheSA9IG1zZWNzX3RvX2ppZmZpZXMoc3AtPnNh Y2tkZWxheSk7CiAJYXNvYy0+c2Fja2ZyZXEgPSBzcC0+c2Fja2ZyZXE7CkBAIC0yNTIsNiArMjQ5 LDEwIEBAIHN0YXRpYyBzdHJ1Y3Qgc2N0cF9hc3NvY2lhdGlvbiAqc2N0cF9hc3NvY2lhdGlvbl9p bml0KAogCQkJICAgICAwLCBnZnApKQogCQlnb3RvIGZhaWxfaW5pdDsKIAorCS8qIEluaXRpYWxp emUgZGVmYXVsdCBwYXRoIE1UVS4gKi8KKwlhc29jLT5wYXRobXR1ID0gc3AtPnBhdGhtdHU7CisJ c2N0cF9hc3NvY191cGRhdGVfZnJhZ19wb2ludChhc29jKTsKKwogCS8qIEFzc3VtZSB0aGF0IHBl ZXIgd291bGQgc3VwcG9ydCBib3RoIGFkZHJlc3MgdHlwZXMgdW5sZXNzIHdlIGFyZQogCSAqIHRv bGQgb3RoZXJ3aXNlLgogCSAqLwpkaWZmIC0tZ2l0IGEvbmV0L3NjdHAvc21fbWFrZV9jaHVuay5j IGIvbmV0L3NjdHAvc21fbWFrZV9jaHVuay5jCmluZGV4IDRhNGZkMTk3MTI1NS4uZjRhYzZjNTky ZTEzIDEwMDY0NAotLS0gYS9uZXQvc2N0cC9zbV9tYWtlX2NodW5rLmMKKysrIGIvbmV0L3NjdHAv c21fbWFrZV9jaHVuay5jCkBAIC0yNDYyLDYgKzI0NjIsOSBAQCBpbnQgc2N0cF9wcm9jZXNzX2lu aXQoc3RydWN0IHNjdHBfYXNzb2NpYXRpb24gKmFzb2MsIHN0cnVjdCBzY3RwX2NodW5rICpjaHVu aywKIAkJCSAgICAgYXNvYy0+Yy5zaW5pdF9tYXhfaW5zdHJlYW1zLCBnZnApKQogCQlnb3RvIGNs ZWFuX3VwOwogCisJLyogVXBkYXRlIGZyYWdfcG9pbnQgd2hlbiBzdHJlYW1faW50ZXJsZWF2ZSBt YXkgZ2V0IGNoYW5nZWQuICovCisJc2N0cF9hc3NvY191cGRhdGVfZnJhZ19wb2ludChhc29jKTsK KwogCWlmICghYXNvYy0+dGVtcCAmJiBzY3RwX2Fzc29jX3NldF9pZChhc29jLCBnZnApKQogCQln b3RvIGNsZWFuX3VwOwogCi0tIAoyLjE5LjIKCgpGcm9tIGI2ZmQ3ZTQ3YzBhZjEyZDUyNTdiNzVl NjJjMTdkMGQyOTRmOTc1ZjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFNhYnJpbmEg RHVicm9jYSA8c2RAcXVlYXN5c25haWwubmV0PgpEYXRlOiBUaHUsIDI5IE5vdiAyMDE4IDE0OjE0 OjQ4ICswMTAwClN1YmplY3Q6IFtQQVRDSCAyMC8yMV0gbmV0OiByZXN0b3JlIGNhbGwgdG8gbmV0 ZGV2X3F1ZXVlX251bWFfbm9kZV93cml0ZSB3aGVuCiByZXNldHRpbmcgWFBTCgpbIFVwc3RyZWFt IGNvbW1pdCBmMjhjMDIwZmI0ODhlMWE4Yjg3NDY5ODEyMDE3MDQ0YmVmODhhYTJiIF0KCkJlZm9y ZSBjb21taXQgODBkMTk2NjllY2QzICgibmV0OiBSZWZhY3RvciBYUFMgZm9yIENQVXMgYW5kIFJ4 IHF1ZXVlcyIpLApuZXRpZl9yZXNldF94cHNfcXVldWVzKCkgZGlkIG5ldGRldl9xdWV1ZV9udW1h X25vZGVfd3JpdGUoKSBmb3IgYWxsIHRoZQpxdWV1ZXMgYmVpbmcgcmVzZXQuIE5vdywgdGhpcyBp cyBvbmx5IGRvbmUgd2hlbiB0aGUgImFjdGl2ZSIgdmFyaWFibGUgaW4KY2xlYW5feHBzX21hcHMo KSBpcyBmYWxzZSwgaWUgd2hlbiBvbiBhbGwgdGhlIENQVXMsIHRoZXJlJ3Mgbm8gYWN0aXZlClhQ UyBtYXBwaW5nIGxlZnQuCgpGaXhlczogODBkMTk2NjllY2QzICgibmV0OiBSZWZhY3RvciBYUFMg Zm9yIENQVXMgYW5kIFJ4IHF1ZXVlcyIpClNpZ25lZC1vZmYtYnk6IFNhYnJpbmEgRHVicm9jYSA8 c2RAcXVlYXN5c25haWwubmV0PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2NvcmUvZGV2LmMgfCAxNiArKysrKysrKystLS0tLS0t CiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL25ldC9jb3JlL2Rldi5jIGIvbmV0L2NvcmUvZGV2LmMKaW5kZXggMWVjN2YzNGY0YzE3 Li40Mjc1YjQ2ZDJiM2YgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL2Rldi5jCisrKyBiL25ldC9jb3Jl L2Rldi5jCkBAIC0yMTczLDE3ICsyMTczLDE5IEBAIHN0YXRpYyB2b2lkIGNsZWFuX3hwc19tYXBz KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIGNvbnN0IHVuc2lnbmVkIGxvbmcgKm1hc2ssCiAJCWFj dGl2ZSB8PSByZW1vdmVfeHBzX3F1ZXVlX2NwdShkZXYsIGRldl9tYXBzLCBqLCBvZmZzZXQsCiAJ CQkJCSAgICAgICBjb3VudCk7CiAJaWYgKCFhY3RpdmUpIHsKLQkJaWYgKGlzX3J4cXNfbWFwKSB7 CisJCWlmIChpc19yeHFzX21hcCkKIAkJCVJDVV9JTklUX1BPSU5URVIoZGV2LT54cHNfcnhxc19t YXAsIE5VTEwpOwotCQl9IGVsc2UgeworCQllbHNlCiAJCQlSQ1VfSU5JVF9QT0lOVEVSKGRldi0+ eHBzX2NwdXNfbWFwLCBOVUxMKTsKKwkJa2ZyZWVfcmN1KGRldl9tYXBzLCByY3UpOworCX0KIAot CQkJZm9yIChpID0gb2Zmc2V0ICsgKGNvdW50IC0gMSk7IGNvdW50LS07IGktLSkKLQkJCQluZXRk ZXZfcXVldWVfbnVtYV9ub2RlX3dyaXRlKAotCQkJCQluZXRkZXZfZ2V0X3R4X3F1ZXVlKGRldiwg aSksCi0JCQkJCQkJTlVNQV9OT19OT0RFKTsKKwlpZiAoIWlzX3J4cXNfbWFwKSB7CisJCWZvciAo aSA9IG9mZnNldCArIChjb3VudCAtIDEpOyBjb3VudC0tOyBpLS0pIHsKKwkJCW5ldGRldl9xdWV1 ZV9udW1hX25vZGVfd3JpdGUoCisJCQkJbmV0ZGV2X2dldF90eF9xdWV1ZShkZXYsIGkpLAorCQkJ CU5VTUFfTk9fTk9ERSk7CiAJCX0KLQkJa2ZyZWVfcmN1KGRldl9tYXBzLCByY3UpOwogCX0KIH0K IAotLSAKMi4xOS4yCgoKRnJvbSAwMmQ3ZTBjNzFiMjQ1Yjk4MTQwN2ZkOTNhMmRlZmVmNGJlYTg2 OWZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTYWJyaW5hIER1YnJvY2EgPHNkQHF1 ZWFzeXNuYWlsLm5ldD4KRGF0ZTogVGh1LCAyOSBOb3YgMjAxOCAxNDoxNDo0OSArMDEwMApTdWJq ZWN0OiBbUEFUQ0ggMjEvMjFdIG5ldDogZml4IFhQUyBzdGF0aWNfa2V5IGFjY291bnRpbmcKClsg VXBzdHJlYW0gY29tbWl0IDg2N2QwYWQ0NzZkYjg5YTFlOGFmM2YyOTdhZjQwMjM5OWE1NGVlYTUg XQoKQ29tbWl0IDA0MTU3NDY5YjdiOCAoIm5ldDogVXNlIHN0YXRpY19rZXkgZm9yIFhQUyBtYXBz IikgaW50cm9kdWNlZCBhCnN0YXRpYyBrZXkgZm9yIFhQUywgYnV0IHRoZSBpbmNyZW1lbnRzL2Rl Y3JlbWVudHMgZG9uJ3QgbWF0Y2guCgpGaXJzdCwgdGhlIHN0YXRpYyBrZXkncyBjb3VudGVyIGlz IGluY3JlbWVudGVkIG9uY2UgZm9yIGVhY2ggcXVldWUsIGJ1dApvbmx5IGRlY3JlbWVudGVkIG9u Y2UgZm9yIGEgd2hvbGUgYmF0Y2ggb2YgcXVldWVzLCBsZWFkaW5nIHRvIGxhcmdlCnVuYmFsYW5j ZXMuCgpTZWNvbmQsIHRoZSB4cHNfcnhxc19uZWVkZWQga2V5IGlzIGRlY3JlbWVudGVkIHdoZW5l dmVyIHdlIHJlc2V0IGEgYmF0Y2gKb2YgcXVldWVzLCB3aGV0aGVyIHRoZXkgaGFkIGFueSByeHFz IG1hcHBpbmcgb3Igbm90LCBzbyB0aGF0IGlmIHdlIHNldHVwCmNwdS1YUFMgb24gZW0xIGFuZCBS WFFTLVhQUyBvbiBlbTIsIHJlc2V0dGluZyB0aGUgcXVldWVzIG9uIGVtMSB3b3VsZApkZWNyZW1l bnQgdGhlIHhwc19yeHFzX25lZWRlZCBrZXkuCgpUaGlzIHJld29ya3MgdGhlIGFjY291bnRpbmcg c2NoZW1lIHNvIHRoYXQgdGhlIHhwc19uZWVkZWQga2V5IGlzCmluY3JlbWVudGVkIG9ubHkgb25j ZSBmb3IgZWFjaCB0eXBlIG9mIFhQUyBmb3IgYWxsIHRoZSBxdWV1ZXMgb24gYQpkZXZpY2UsIGFu ZCB0aGUgeHBzX3J4cXNfbmVlZGVkIGtleSBpcyBpbmNyZW1lbnRlZCBvbmx5IG9uY2UgZm9yIGFs bApxdWV1ZXMuIFRoaXMgaXMgc3VmZmljaWVudCB0byBsZXQgdXMgcmV0cmlldmUgcXVldWVzIHZp YQpnZXRfeHBzX3F1ZXVlKCkuCgpUaGlzIHBhdGNoIGludHJvZHVjZXMgYSBuZXcgcmVzZXRfeHBz X21hcHMoKSwgd2hpY2ggcmVpbml0aWFsaXplcyBhbmQKZnJlZXMgdGhlIGFwcHJvcHJpYXRlIG1h cCAoeHBzX3J4cXNfbWFwIG9yIHhwc19jcHVzX21hcCksIGFuZCBkcm9wcyBhCnJlZmVyZW5jZSB0 byB0aGUgbmVlZGVkIGtleXM6CiAtIGJvdGggeHBzX25lZWRlZCBhbmQgeHBzX3J4cXNfbmVlZGVk LCBpbiBjYXNlIG9mIHJ4cXMgbWFwcywKIC0gb25seSB4cHNfbmVlZGVkLCBpbiBjYXNlIG9mIENQ VSBtYXBzLgoKTm93LCB3ZSBhbHNvIG5lZWQgdG8gY2FsbCByZXNldF94cHNfbWFwcygpIGF0IHRo ZSBlbmQgb2YKX19uZXRpZl9zZXRfeHBzX3F1ZXVlKCkgd2hlbiB0aGVyZSdzIG5vIGFjdGl2ZSBt YXAgbGVmdCwgZm9yIGV4YW1wbGUKd2hlbiB3cml0aW5nICcwMDAwMDAwMCwwMDAwMDAwMCcgdG8g YWxsIHF1ZXVlcycgeHBzX3J4cXMgc2V0dGluZy4KCkZpeGVzOiAwNDE1NzQ2OWI3YjggKCJuZXQ6 IFVzZSBzdGF0aWNfa2V5IGZvciBYUFMgbWFwcyIpClNpZ25lZC1vZmYtYnk6IFNhYnJpbmEgRHVi cm9jYSA8c2RAcXVlYXN5c25haWwubmV0PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIg PGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2NvcmUvZGV2LmMgfCA0NSArKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyNCBp bnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvY29yZS9kZXYu YyBiL25ldC9jb3JlL2Rldi5jCmluZGV4IDQyNzViNDZkMmIzZi4uMWYxYWFlMjdkNDFmIDEwMDY0 NAotLS0gYS9uZXQvY29yZS9kZXYuYworKysgYi9uZXQvY29yZS9kZXYuYwpAQCAtMjE2MSw2ICsy MTYxLDIwIEBAIHN0YXRpYyBib29sIHJlbW92ZV94cHNfcXVldWVfY3B1KHN0cnVjdCBuZXRfZGV2 aWNlICpkZXYsCiAJcmV0dXJuIGFjdGl2ZTsKIH0KIAorc3RhdGljIHZvaWQgcmVzZXRfeHBzX21h cHMoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKKwkJCSAgIHN0cnVjdCB4cHNfZGV2X21hcHMgKmRl dl9tYXBzLAorCQkJICAgYm9vbCBpc19yeHFzX21hcCkKK3sKKwlpZiAoaXNfcnhxc19tYXApIHsK KwkJc3RhdGljX2tleV9zbG93X2RlY19jcHVzbG9ja2VkKCZ4cHNfcnhxc19uZWVkZWQpOworCQlS Q1VfSU5JVF9QT0lOVEVSKGRldi0+eHBzX3J4cXNfbWFwLCBOVUxMKTsKKwl9IGVsc2UgeworCQlS Q1VfSU5JVF9QT0lOVEVSKGRldi0+eHBzX2NwdXNfbWFwLCBOVUxMKTsKKwl9CisJc3RhdGljX2tl eV9zbG93X2RlY19jcHVzbG9ja2VkKCZ4cHNfbmVlZGVkKTsKKwlrZnJlZV9yY3UoZGV2X21hcHMs IHJjdSk7Cit9CisKIHN0YXRpYyB2b2lkIGNsZWFuX3hwc19tYXBzKHN0cnVjdCBuZXRfZGV2aWNl ICpkZXYsIGNvbnN0IHVuc2lnbmVkIGxvbmcgKm1hc2ssCiAJCQkgICBzdHJ1Y3QgeHBzX2Rldl9t YXBzICpkZXZfbWFwcywgdW5zaWduZWQgaW50IG5yX2lkcywKIAkJCSAgIHUxNiBvZmZzZXQsIHUx NiBjb3VudCwgYm9vbCBpc19yeHFzX21hcCkKQEAgLTIxNzIsMTMgKzIxODYsOCBAQCBzdGF0aWMg dm9pZCBjbGVhbl94cHNfbWFwcyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBjb25zdCB1bnNpZ25l ZCBsb25nICptYXNrLAogCSAgICAgaiA8IG5yX2lkczspCiAJCWFjdGl2ZSB8PSByZW1vdmVfeHBz X3F1ZXVlX2NwdShkZXYsIGRldl9tYXBzLCBqLCBvZmZzZXQsCiAJCQkJCSAgICAgICBjb3VudCk7 Ci0JaWYgKCFhY3RpdmUpIHsKLQkJaWYgKGlzX3J4cXNfbWFwKQotCQkJUkNVX0lOSVRfUE9JTlRF UihkZXYtPnhwc19yeHFzX21hcCwgTlVMTCk7Ci0JCWVsc2UKLQkJCVJDVV9JTklUX1BPSU5URVIo ZGV2LT54cHNfY3B1c19tYXAsIE5VTEwpOwotCQlrZnJlZV9yY3UoZGV2X21hcHMsIHJjdSk7Ci0J fQorCWlmICghYWN0aXZlKQorCQlyZXNldF94cHNfbWFwcyhkZXYsIGRldl9tYXBzLCBpc19yeHFz X21hcCk7CiAKIAlpZiAoIWlzX3J4cXNfbWFwKSB7CiAJCWZvciAoaSA9IG9mZnNldCArIChjb3Vu dCAtIDEpOyBjb3VudC0tOyBpLS0pIHsKQEAgLTIyMjIsMTAgKzIyMzEsNiBAQCBzdGF0aWMgdm9p ZCBuZXRpZl9yZXNldF94cHNfcXVldWVzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiBvZmZz ZXQsCiAJCSAgICAgICBmYWxzZSk7CiAKIG91dF9ub19tYXBzOgotCWlmIChzdGF0aWNfa2V5X2Vu YWJsZWQoJnhwc19yeHFzX25lZWRlZCkpCi0JCXN0YXRpY19rZXlfc2xvd19kZWNfY3B1c2xvY2tl ZCgmeHBzX3J4cXNfbmVlZGVkKTsKLQotCXN0YXRpY19rZXlfc2xvd19kZWNfY3B1c2xvY2tlZCgm eHBzX25lZWRlZCk7CiAJbXV0ZXhfdW5sb2NrKCZ4cHNfbWFwX211dGV4KTsKIAljcHVzX3JlYWRf dW5sb2NrKCk7CiB9CkBAIC0yMzQzLDkgKzIzNDgsMTIgQEAgaW50IF9fbmV0aWZfc2V0X3hwc19x dWV1ZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBjb25zdCB1bnNpZ25lZCBsb25nICptYXNrLAog CWlmICghbmV3X2Rldl9tYXBzKQogCQlnb3RvIG91dF9ub19uZXdfbWFwczsKIAotCXN0YXRpY19r ZXlfc2xvd19pbmNfY3B1c2xvY2tlZCgmeHBzX25lZWRlZCk7Ci0JaWYgKGlzX3J4cXNfbWFwKQot CQlzdGF0aWNfa2V5X3Nsb3dfaW5jX2NwdXNsb2NrZWQoJnhwc19yeHFzX25lZWRlZCk7CisJaWYg KCFkZXZfbWFwcykgeworCQkvKiBJbmNyZW1lbnQgc3RhdGljIGtleXMgYXQgbW9zdCBvbmNlIHBl ciB0eXBlICovCisJCXN0YXRpY19rZXlfc2xvd19pbmNfY3B1c2xvY2tlZCgmeHBzX25lZWRlZCk7 CisJCWlmIChpc19yeHFzX21hcCkKKwkJCXN0YXRpY19rZXlfc2xvd19pbmNfY3B1c2xvY2tlZCgm eHBzX3J4cXNfbmVlZGVkKTsKKwl9CiAKIAlmb3IgKGogPSAtMTsgaiA9IG5ldGlmX2F0dHJtYXNr X25leHQoaiwgcG9zc2libGVfbWFzaywgbnJfaWRzKSwKIAkgICAgIGogPCBucl9pZHM7KSB7CkBA IC0yNDQzLDEzICsyNDUxLDggQEAgaW50IF9fbmV0aWZfc2V0X3hwc19xdWV1ZShzdHJ1Y3QgbmV0 X2RldmljZSAqZGV2LCBjb25zdCB1bnNpZ25lZCBsb25nICptYXNrLAogCX0KIAogCS8qIGZyZWUg bWFwIGlmIG5vdCBhY3RpdmUgKi8KLQlpZiAoIWFjdGl2ZSkgewotCQlpZiAoaXNfcnhxc19tYXAp Ci0JCQlSQ1VfSU5JVF9QT0lOVEVSKGRldi0+eHBzX3J4cXNfbWFwLCBOVUxMKTsKLQkJZWxzZQot CQkJUkNVX0lOSVRfUE9JTlRFUihkZXYtPnhwc19jcHVzX21hcCwgTlVMTCk7Ci0JCWtmcmVlX3Jj dShkZXZfbWFwcywgcmN1KTsKLQl9CisJaWYgKCFhY3RpdmUpCisJCXJlc2V0X3hwc19tYXBzKGRl diwgZGV2X21hcHMsIGlzX3J4cXNfbWFwKTsKIAogb3V0X25vX21hcHM6CiAJbXV0ZXhfdW5sb2Nr KCZ4cHNfbWFwX211dGV4KTsKLS0gCjIuMTkuMgoK ----Next_Part(Tue_Dec_11_22_31_38_2018_485)----