From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shards.monkeyblade.net ([184.105.139.130]:36748 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751021AbdKTLrf (ORCPT ); Mon, 20 Nov 2017 06:47:35 -0500 Received: from localhost (unknown [61.40.109.130]) (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 359401340BCD7 for ; Mon, 20 Nov 2017 03:47:33 -0800 (PST) Date: Mon, 20 Nov 2017 20:47:27 +0900 (KST) Message-Id: <20171120.204727.930978762523600413.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(Mon_Nov_20_20_47_27_2017_570)--" Content-Transfer-Encoding: 7bit Sender: stable-owner@vger.kernel.org List-ID: ----Next_Part(Mon_Nov_20_20_47_27_2017_570)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking fixes for 4.9.x, 4.13.x, and 4.14.x -stable, respectively. Thank you. ----Next_Part(Mon_Nov_20_20_47_27_2017_570)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_49.mbox" RnJvbSAxMTQyNDA5Y2FjOGRjMzVlODkxN2NhMjQ3YzU5MTAxNDk3YTNhNWUyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLb25zdGFudGluIEtobGVibmlrb3YgPGtobGVibmlrb3ZAeWFu ZGV4LXRlYW0ucnU+CkRhdGU6IFdlZCwgMSBOb3YgMjAxNyAxNjozMjoxNSArMDMwMApTdWJqZWN0 OiBbUEFUQ0ggMDEvMTRdIHRjcF9udjogZml4IGRpdmlzaW9uIGJ5IHplcm8gaW4gdGNwbnZfYWNr ZWQoKQoKWyBVcHN0cmVhbSBjb21taXQgNGVlYmZmMjdjYTQxODJiYmY1ZjAzOWRkNjBkNzllMmQ3 YzBhNzA3ZSBdCgpBdmVyYWdlIFJUVCBjb3VsZCBiZWNvbWUgemVyby4gVGhpcyBoYXBwZW5lZCBp biByZWFsIGxpZmUgYXQgbGVhc3QgdHdpY2UuClRoaXMgcGF0Y2ggdHJlYXRzIHplcm8gYXMgMXVz LgoKU2lnbmVkLW9mZi1ieTogS29uc3RhbnRpbiBLaGxlYm5pa292IDxraGxlYm5pa292QHlhbmRl eC10ZWFtLnJ1PgpBY2tlZC1ieTogTGF3cmVuY2UgQnJha21vIDxCcmFrbW9AZmIuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0 L2lwdjQvdGNwX252LmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC90Y3BfbnYuYyBiL25ldC9pcHY0L3Rj cF9udi5jCmluZGV4IDVkZTgyYThkNGQ4Ny4uZTQ1ZTJjNDFjN2JkIDEwMDY0NAotLS0gYS9uZXQv aXB2NC90Y3BfbnYuYworKysgYi9uZXQvaXB2NC90Y3BfbnYuYwpAQCAtMjYzLDcgKzI2Myw3IEBA IHN0YXRpYyB2b2lkIHRjcG52X2Fja2VkKHN0cnVjdCBzb2NrICpzaywgY29uc3Qgc3RydWN0IGFj a19zYW1wbGUgKnNhbXBsZSkKIAogCS8qIHJhdGUgaW4gMTAwJ3MgYml0cyBwZXIgc2Vjb25kICov CiAJcmF0ZTY0ID0gKCh1NjQpc2FtcGxlLT5pbl9mbGlnaHQpICogODAwMDAwMDsKLQlyYXRlID0g KHUzMilkaXY2NF91NjQocmF0ZTY0LCAodTY0KShhdmdfcnR0ICogMTAwKSk7CisJcmF0ZSA9ICh1 MzIpZGl2NjRfdTY0KHJhdGU2NCwgKHU2NCkoYXZnX3J0dCA/OiAxKSAqIDEwMCk7CiAKIAkvKiBS ZW1lbWJlciB0aGUgbWF4aW11bSByYXRlIHNlZW4gZHVyaW5nIHRoaXMgUlRUCiAJICogTm90ZTog SXQgbWF5IGJlIG1vcmUgdGhhbiBvbmUgUlRULiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBiZQotLSAK Mi4xMy42CgoKRnJvbSBlYzhiMjc2MmRkNmE1YjI1YzE5YmEzYTUxNWNmMmFlN2EzOWQ3ZDRmIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIEJhcm5oaWxsIDwweGVmZmVmZkBnbWFp bC5jb20+CkRhdGU6IFdlZCwgMSBOb3YgMjAxNyAxNDo1ODowOSArMDAwMApTdWJqZWN0OiBbUEFU Q0ggMDIvMTRdIG5ldDogdnJmOiBjb3JyZWN0IEZSQV9MM01ERVYgZW5jb2RlIHR5cGUKClsgVXBz dHJlYW0gY29tbWl0IDE4MTI5YTI0OTgzOTA2ZWFmMmEyZDQ0OGNlNGI4M2UyNzA5MWViZTIgXQoK RlJBX0wzTURFViBpcyBkZWZpbmVkIGFzIFU4LCBidXQgaXMgYmVpbmcgYWRkZWQgYXMgYSBVMzIg YXR0cmlidXRlLiBPbgpiaWcgZW5kaWFuIGFyY2hpdGVjdHVyZSwgdGhpcyByZXN1bHRzIGluIHRo ZSBsM21kZXYgZW50cnkgbm90IGJlaW5nCmFkZGVkIHRvIHRoZSBGSUIgcnVsZXMuCgpGaXhlczog MWFhNmM0ZjZiOGNkOCAoIm5ldDogdnJmOiBBZGQgbDNtZGV2IHJ1bGVzIG9uIGZpcnN0IGRldmlj ZSBjcmVhdGUiKQpTaWduZWQtb2ZmLWJ5OiBKZWZmIEJhcm5oaWxsIDwweGVmZmVmZkBnbWFpbC5j b20+CkFja2VkLWJ5OiBEYXZpZCBBaGVybiA8ZHNhaGVybkBnbWFpbC5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25l dC92cmYuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlv bigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3ZyZi5jIGIvZHJpdmVycy9uZXQvdnJmLmMK aW5kZXggNTc4YmQ1MDAxZDkzLi4zNDZlNDg2OTg1NTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0 L3ZyZi5jCisrKyBiL2RyaXZlcnMvbmV0L3ZyZi5jCkBAIC0xMTI5LDcgKzExMjksNyBAQCBzdGF0 aWMgaW50IHZyZl9maWJfcnVsZShjb25zdCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBfX3U4IGZh bWlseSwgYm9vbCBhZGRfaXQpCiAJZnJoLT5mYW1pbHkgPSBmYW1pbHk7CiAJZnJoLT5hY3Rpb24g PSBGUl9BQ1RfVE9fVEJMOwogCi0JaWYgKG5sYV9wdXRfdTMyKHNrYiwgRlJBX0wzTURFViwgMSkp CisJaWYgKG5sYV9wdXRfdTgoc2tiLCBGUkFfTDNNREVWLCAxKSkKIAkJZ290byBubGFfcHV0X2Zh aWx1cmU7CiAKIAlpZiAobmxhX3B1dF91MzIoc2tiLCBGUkFfUFJJT1JJVFksIEZJQl9SVUxFX1BS RUYpKQotLSAKMi4xMy42CgoKRnJvbSBkYjhlZjcxNWZkZjE4N2RjYjc0ZjNlN2VmNGVmOGQ3ODUy MGQ3ZTBmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1h emV0QGdvb2dsZS5jb20+CkRhdGU6IFRodSwgMiBOb3YgMjAxNyAxMjozMDoyNSAtMDcwMApTdWJq ZWN0OiBbUEFUQ0ggMDMvMTRdIHRjcDogZG8gbm90IG1hbmdsZSBza2ItPmNiW10gaW4gdGNwX21h a2Vfc3luYWNrKCkKClsgVXBzdHJlYW0gY29tbWl0IDNiMTE3NzUwMzNkYzg3YzNkMTYxOTk2YzU0 NTA3YjE1YmEyNjQxNGEgXQoKQ2hyaXN0b3BoIFBhYXNjaCBzZW50IGEgcGF0Y2ggdG8gYWRkcmVz cyB0aGUgZm9sbG93aW5nIGlzc3VlIDoKCnRjcF9tYWtlX3N5bmFjaygpIGlzIGxlYXZpbmcgc29t ZSBUQ1AgcHJpdmF0ZSBpbmZvIGluIHNrYi0+Y2JbXSwKdGhlbiBzZW5kIHRoZSBwYWNrZXQgYnkg b3RoZXIgbWVhbnMgdGhhbiB0Y3BfdHJhbnNtaXRfc2tiKCkKCnRjcF90cmFuc21pdF9za2IoKSBt YWtlcyBzdXJlIHRvIGNsZWFyIHNrYi0+Y2JbXSB0byBub3QgY29uZnVzZQpJUHY0L0lQVjYgc3Rh Y2tzLCBidXQgd2UgaGF2ZSBubyBzdWNoIGNsZWFudXAgZm9yIFNZTkFDSy4KCnRjcF9tYWtlX3N5 bmFjaygpIHNob3VsZCBub3QgdXNlIHRjcF9pbml0X25vbmRhdGFfc2tiKCkgOgoKdGNwX2luaXRf bm9uZGF0YV9za2IoKSByZWFsbHkgc2hvdWxkIGJlIGxpbWl0ZWQgdG8gc2ticyBwdXQgaW4gd3Jp dGUvcnR4CnF1ZXVlcyAodGhlIG9uZXMgdGhhdCBhcmUgb25seSBzZW50IHZpYSB0Y3BfdHJhbnNt aXRfc2tiKCkpCgpUaGlzIHBhdGNoIGZpeGVzIHRoZSBpc3N1ZSBhbmQgc2hvdWxkIGV2ZW4gc2F2 ZSBmZXcgY3B1IGN5Y2xlcyA7KQoKRml4ZXM6IDk3MWYxMGVjYTE4NiAoInRjcDogYmV0dGVyIFRD UF9TS0JfQ0IgbGF5b3V0IHRvIHJlZHVjZSBjYWNoZSBsaW5lIG1pc3NlcyIpClNpZ25lZC1vZmYt Ynk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KUmVwb3J0ZWQtYnk6IENocmlz dG9waCBQYWFzY2ggPGNwYWFzY2hAYXBwbGUuY29tPgpSZXZpZXdlZC1ieTogQ2hyaXN0b3BoIFBh YXNjaCA8Y3BhYXNjaEBhcHBsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC90Y3Bfb3V0cHV0LmMgfCA5ICsrLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9uZXQvaXB2NC90Y3Bfb3V0cHV0LmMgYi9uZXQvaXB2NC90Y3Bfb3V0cHV0LmMK aW5kZXggNTY2YjQzYWZlMzc4Li4zZDdiNTllY2M3NmMgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3Rj cF9vdXRwdXQuYworKysgYi9uZXQvaXB2NC90Y3Bfb3V0cHV0LmMKQEAgLTMxMTAsMTMgKzMxMTAs OCBAQCBzdHJ1Y3Qgc2tfYnVmZiAqdGNwX21ha2Vfc3luYWNrKGNvbnN0IHN0cnVjdCBzb2NrICpz aywgc3RydWN0IGRzdF9lbnRyeSAqZHN0LAogCXRjcF9lY25fbWFrZV9zeW5hY2socmVxLCB0aCk7 CiAJdGgtPnNvdXJjZSA9IGh0b25zKGlyZXEtPmlyX251bSk7CiAJdGgtPmRlc3QgPSBpcmVxLT5p cl9ybXRfcG9ydDsKLQkvKiBTZXR0aW5nIG9mIGZsYWdzIGFyZSBzdXBlcmZsdW91cyBoZXJlIGZv ciBjYWxsZXJzIChhbmQgRUNFIGlzCi0JICogbm90IGV2ZW4gY29ycmVjdGx5IHNldCkKLQkgKi8K LQl0Y3BfaW5pdF9ub25kYXRhX3NrYihza2IsIHRjcF9yc2socmVxKS0+c250X2lzbiwKLQkJCSAg ICAgVENQSERSX1NZTiB8IFRDUEhEUl9BQ0spOwotCi0JdGgtPnNlcSA9IGh0b25sKFRDUF9TS0Jf Q0Ioc2tiKS0+c2VxKTsKKwlza2ItPmlwX3N1bW1lZCA9IENIRUNLU1VNX1BBUlRJQUw7CisJdGgt PnNlcSA9IGh0b25sKHRjcF9yc2socmVxKS0+c250X2lzbik7CiAJLyogWFhYIGRhdGEgaXMgcXVl dWVkIGFuZCBhY2tlZCBhcyBpcy4gTm8gYnVmZmVyL3dpbmRvdyBjaGVjayAqLwogCXRoLT5hY2tf c2VxID0gaHRvbmwodGNwX3JzayhyZXEpLT5yY3Zfbnh0KTsKIAotLSAKMi4xMy42CgoKRnJvbSA1 YTM3NTg3NzE4ZTA2ZTQ3MzQ2NjA0YTJkZmY4ZTNkMjgyNTM1OWJmIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBZZSBZaW4gPGh1c3RjYXRAZ21haWwuY29tPgpEYXRlOiBUaHUsIDI2IE9j dCAyMDE3IDE2OjU3OjA1ICswODAwClN1YmplY3Q6IFtQQVRDSCAwNC8xNF0gbmV0ZmlsdGVyL2lw dnM6IGNsZWFyIGlwdnNfcHJvcGVydHkgZmxhZyB3aGVuIFNLQiBuZXQKIG5hbWVzcGFjZSBjaGFu Z2VkCgpbIFVwc3RyZWFtIGNvbW1pdCAyYjVlYzFhNWY5NzM4ZWU3YmY4ZjVlYzA1MjZlNzVlMDAz NjJjNDhmIF0KCldoZW4gcnVuIGlwdnMgaW4gdHdvIGRpZmZlcmVudCBuZXR3b3JrIG5hbWVzcGFj ZSBhdCB0aGUgc2FtZSBob3N0LCBhbmQgb25lCmlwdnMgdHJhbnNwb3J0IG5ldHdvcmsgdHJhZmZp YyB0byB0aGUgb3RoZXIgbmV0d29yayBuYW1lc3BhY2UgaXB2cy4KJ2lwdnNfcHJvcGVydHknIGZs YWcgd2lsbCBtYWtlIHRoZSBzZWNvbmQgaXB2cyB0YWtlIG5vIGVmZmVjdC4gU28gd2Ugc2hvdWxk CmNsZWFyICdpcHZzX3Byb3BlcnR5JyB3aGVuIFNLQiBuZXR3b3JrIG5hbWVzcGFjZSBjaGFuZ2Vk LgoKRml4ZXM6IDYyMWU4NGQ2ZjM3MyAoImRldjogaW50cm9kdWNlIHNrYl9zY3J1Yl9wYWNrZXQo KSIpClNpZ25lZC1vZmYtYnk6IFllIFlpbiA8aHVzdGNhdEBnbWFpbC5jb20+ClNpZ25lZC1vZmYt Ynk6IFdlaSBaaG91IDxjaG91cnl6aG91QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogSnVsaWFu IEFuYXN0YXNvdiA8amFAc3NpLmJnPgpTaWduZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1z QHZlcmdlLm5ldC5hdT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIGluY2x1ZGUvbGludXgvc2tidWZmLmggfCA3ICsrKysrKysKIG5ldC9j b3JlL3NrYnVmZi5jICAgICAgfCAxICsKIDIgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCsp CgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9za2J1ZmYuaCBiL2luY2x1ZGUvbGludXgvc2ti dWZmLmgKaW5kZXggMzI4MTBmMjc5ZjhlLi42MDFkZmE4NDlkMzAgMTAwNjQ0Ci0tLSBhL2luY2x1 ZGUvbGludXgvc2tidWZmLmgKKysrIGIvaW5jbHVkZS9saW51eC9za2J1ZmYuaApAQCAtMzU4NCw2 ICszNTg0LDEzIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBuZl9yZXNldF90cmFjZShzdHJ1Y3Qgc2tf YnVmZiAqc2tiKQogI2VuZGlmCiB9CiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBpcHZzX3Jlc2V0KHN0 cnVjdCBza19idWZmICpza2IpCit7CisjaWYgSVNfRU5BQkxFRChDT05GSUdfSVBfVlMpCisJc2ti LT5pcHZzX3Byb3BlcnR5ID0gMDsKKyNlbmRpZgorfQorCiAvKiBOb3RlOiBUaGlzIGRvZXNuJ3Qg cHV0IGFueSBjb25udHJhY2sgYW5kIGJyaWRnZSBpbmZvIGluIGRzdC4gKi8KIHN0YXRpYyBpbmxp bmUgdm9pZCBfX25mX2NvcHkoc3RydWN0IHNrX2J1ZmYgKmRzdCwgY29uc3Qgc3RydWN0IHNrX2J1 ZmYgKnNyYywKIAkJCSAgICAgYm9vbCBjb3B5KQpkaWZmIC0tZ2l0IGEvbmV0L2NvcmUvc2tidWZm LmMgYi9uZXQvY29yZS9za2J1ZmYuYwppbmRleCBmZTAwOGYxYmQ5MzAuLmFlYzU2MDU5NDRkMyAx MDA2NDQKLS0tIGEvbmV0L2NvcmUvc2tidWZmLmMKKysrIGIvbmV0L2NvcmUvc2tidWZmLmMKQEAg LTQzNzUsNiArNDM3NSw3IEBAIHZvaWQgc2tiX3NjcnViX3BhY2tldChzdHJ1Y3Qgc2tfYnVmZiAq c2tiLCBib29sIHhuZXQpCiAJaWYgKCF4bmV0KQogCQlyZXR1cm47CiAKKwlpcHZzX3Jlc2V0KHNr Yik7CiAJc2tiX29ycGhhbihza2IpOwogCXNrYi0+bWFyayA9IDA7CiB9Ci0tIAoyLjEzLjYKCgpG cm9tIGVkNzdkZGE2MjZhOWU4YjA4ZmRhZGE4ZjM5MTRmNzc5M2E2MTMzYWIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IEhhbmdiaW4gTGl1IDxsaXVoYW5nYmluQGdtYWlsLmNvbT4KRGF0 ZTogTW9uLCA2IE5vdiAyMDE3IDA5OjAxOjU3ICswODAwClN1YmplY3Q6IFtQQVRDSCAwNS8xNF0g Ym9uZGluZzogZGlzY2FyZCBsb3dlc3QgaGFzaCBiaXQgZm9yIDgwMi4zYWQgbGF5ZXIzKzQKClsg VXBzdHJlYW0gY29tbWl0IGI1Zjg2MjE4MGQ3MDExZDk1NzVkMDQ5OWZhMzdmMGYyNWI0MjNiMTIg XQoKQWZ0ZXIgY29tbWl0IDA3ZjRjOTAwNjJmOCAoInRjcC9kY2NwOiB0cnkgdG8gbm90IGV4aGF1 c3QgaXBfbG9jYWxfcG9ydF9yYW5nZQppbiBjb25uZWN0KCkiKSwgd2Ugd2lsbCB0cnkgdG8gdXNl IGV2ZW4gcG9ydHMgZm9yIGNvbm5lY3QoKS4gVGhlbiBpZiBhbgphcHBsaWNhdGlvbiAoc2VlbiBj bGVhcmx5IHdpdGggaXBlcmYpIG9wZW5zIG11bHRpcGxlIHN0cmVhbXMgdG8gdGhlIHNhbWUKZGVz dGluYXRpb24gSVAgYW5kIHBvcnQsIGVhY2ggc3RyZWFtIHdpbGwgYmUgZ2l2ZW4gYW4gZXZlbiBz b3VyY2UgcG9ydC4KClNvIHRoZSBib25kaW5nIGRyaXZlcidzIHNpbXBsZSB4bWl0X2hhc2hfcG9s aWN5IGJhc2VkIG9uIGxheWVyMys0IGFkZHJlc3NpbmcKd2lsbCBhbHdheXMgaGFzaCBhbGwgdGhl c2Ugc3RyZWFtcyB0byB0aGUgc2FtZSBpbnRlcmZhY2UuIEFuZCB0aGUgdG90YWwKdGhyb3VnaHB1 dCB3aWxsIGxpbWl0ZWQgdG8gYSBzaW5nbGUgc2xhdmUuCgpDaGFuZ2UgdGhlIHRjcCBjb2RlIHdp bGwgaW1wYWN0IHRoZSB3aG9sZSB0Y3AgYmVoYXZpb3IsIG9ubHkgZm9yIGJvbmRpbmcKdXNhZ2Uu IFBhb2xvIEFiZW5pIHN1Z2dlc3RlZCBmaXggdGhpcyBieSBjaGFuZ2luZyB0aGUgYm9uZGluZyBj b2RlIG9ubHksCndoaWNoIHNob3VsZCBiZSBtb3JlIHJlYXNvbmFibGUsIGFuZCBsZXNzIGltcGFj dC4KCkZpeCB0aGlzIGJ5IGRpc2NhcmRpbmcgdGhlIGxvd2VzdCBoYXNoIGJpdCBiZWNhdXNlIGl0 IGNvbnRhaW5zIGxpdHRsZSBlbnRyb3B5LgpBZnRlciB0aGUgZml4IHdlIGNhbiByZS1iYWxhbmNl IGJldHdlZW4gc2xhdmVzLgoKU2lnbmVkLW9mZi1ieTogUGFvbG8gQWJlbmkgPHBhYmVuaUByZWRo YXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBIYW5nYmluIExpdSA8bGl1aGFuZ2JpbkBnbWFpbC5jb20+ ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0t CiBkcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfbWFpbi5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQs IDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv Ym9uZGluZy9ib25kX21haW4uYyBiL2RyaXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9tYWluLmMKaW5k ZXggNWZhMzZlYmMwNjQwLi42M2Q2MWMwODQ4MTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2Jv bmRpbmcvYm9uZF9tYWluLmMKKysrIGIvZHJpdmVycy9uZXQvYm9uZGluZy9ib25kX21haW4uYwpA QCAtMzIxNyw3ICszMjE3LDcgQEAgdTMyIGJvbmRfeG1pdF9oYXNoKHN0cnVjdCBib25kaW5nICpi b25kLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogCWhhc2ggXj0gKGhhc2ggPj4gMTYpOwogCWhhc2gg Xj0gKGhhc2ggPj4gOCk7CiAKLQlyZXR1cm4gaGFzaDsKKwlyZXR1cm4gaGFzaCA+PiAxOwogfQog CiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIERldmljZSBlbnRyeSBwb2ludHMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0tIAoyLjEzLjYKCgpGcm9tIDEzOWZhNDE4ODliOWUw YWUxNjkwZDE2MTQ2N2Y0YWM3MDdiNjkyYTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 ID0/VVRGLTg/cT9Caj1DMz1COHJuPTIwTW9yaz89IDxiam9ybkBtb3JrLm5vPgpEYXRlOiBNb24s IDYgTm92IDIwMTcgMTU6Mzc6MjIgKzAxMDAKU3ViamVjdDogW1BBVENIIDA2LzE0XSBuZXQ6IGNk Y19ldGhlcjogZml4IGRpdmlkZSBieSAwIG9uIGJhZCBkZXNjcmlwdG9ycwpNSU1FLVZlcnNpb246 IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFu c2Zlci1FbmNvZGluZzogOGJpdAoKWyBVcHN0cmVhbSBjb21taXQgMmNiODAxODdiYTA2NWQ3ZGVj YWQ3YzY2MTRlMzVlMDdhZWM4YTk3NCBdCgpTZXR0aW5nIGRldi0+aGFyZF9tdHUgdG8gMCB3aWxs IGNhdXNlIGEgZGl2aWRlIGVycm9yIGluCnVzYm5ldF9wcm9iZS4gUHJvdGVjdCBhZ2FpbnN0IGRl dmljZXMgd2l0aCBib2d1cyBDREMgRXRoZXJuZXQKZnVuY3Rpb25hbCBkZXNjcmlwdG9ycyBieSBp Z25vcmluZyBhIHplcm8gd01heFNlZ21lbnRTaXplLgoKU2lnbmVkLW9mZi1ieTogQmrDuHJuIE1v cmsgPGJqb3JuQG1vcmsubm8+CkFja2VkLWJ5OiBPbGl2ZXIgTmV1a3VtIDxvbmV1a3VtQHN1c2Uu Y29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogZHJpdmVycy9uZXQvdXNiL2NkY19ldGhlci5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQs IDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv dXNiL2NkY19ldGhlci5jIGIvZHJpdmVycy9uZXQvdXNiL2NkY19ldGhlci5jCmluZGV4IGI4MmJl ODE2MjU2Yy4uMWZjYTAwMjRmMjk0IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC91c2IvY2RjX2V0 aGVyLmMKKysrIGIvZHJpdmVycy9uZXQvdXNiL2NkY19ldGhlci5jCkBAIC0yMjEsNyArMjIxLDcg QEAgaW50IHVzYm5ldF9nZW5lcmljX2NkY19iaW5kKHN0cnVjdCB1c2JuZXQgKmRldiwgc3RydWN0 IHVzYl9pbnRlcmZhY2UgKmludGYpCiAJCQlnb3RvIGJhZF9kZXNjOwogCX0KIAotCWlmIChoZWFk ZXIudXNiX2NkY19ldGhlcl9kZXNjKSB7CisJaWYgKGhlYWRlci51c2JfY2RjX2V0aGVyX2Rlc2Mg JiYgaW5mby0+ZXRoZXItPndNYXhTZWdtZW50U2l6ZSkgewogCQlkZXYtPmhhcmRfbXR1ID0gbGUx Nl90b19jcHUoaW5mby0+ZXRoZXItPndNYXhTZWdtZW50U2l6ZSk7CiAJCS8qIGJlY2F1c2Ugb2Yg WmF1cnVzLCB3ZSBtYXkgYmUgaWdub3JpbmcgdGhlIGhvc3QKIAkJICogc2lkZSBsaW5rIGFkZHJl c3Mgd2Ugd2VyZSBnaXZlbi4KLS0gCjIuMTMuNgoKCkZyb20gNzVkYTc4YmY1MGRkZDQ2NTgzOGM1 ZTI4OGNiNWZjMDQyY2RmN2M3MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYt OD9xP0JqPUMzPUI4cm49MjBNb3JrPz0gPGJqb3JuQG1vcmsubm8+CkRhdGU6IE1vbiwgNiBOb3Yg MjAxNyAxNTozMjoxOCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMTRdIG5ldDogcW1pX3d3YW46 IGZpeCBkaXZpZGUgYnkgMCBvbiBiYWQgZGVzY3JpcHRvcnMKTUlNRS1WZXJzaW9uOiAxLjAKQ29u dGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5j b2Rpbmc6IDhiaXQKClsgVXBzdHJlYW0gY29tbWl0IDdmZDA3ODMzNzIwMWNmNzQ2OGY1M2MzZDll ZjgxZmY3OGNiNmRmM2IgXQoKQSBDREMgRXRoZXJuZXQgZnVuY3Rpb25hbCBkZXNjcmlwdG9yIHdp dGggd01heFNlZ21lbnRTaXplID0gMCB3aWxsCmNhdXNlIGEgZGl2aWRlIGVycm9yIGluIHVzYm5l dF9wcm9iZToKCmRpdmlkZSBlcnJvcjogMDAwMCBbIzFdIFBSRUVNUFQgU01QIEtBU0FOCk1vZHVs ZXMgbGlua2VkIGluOgpDUFU6IDAgUElEOiAyNCBDb21tOiBrd29ya2VyLzA6MSBOb3QgdGFpbnRl ZCA0LjE0LjAtcmM4LTQ0NDUzLWcxZmRjMWE4MmMzNGYgIzU2CkhhcmR3YXJlIG5hbWU6IFFFTVUg U3RhbmRhcmQgUEMgKGk0NDBGWCArIFBJSVgsIDE5OTYpLCBCSU9TIEJvY2hzIDAxLzAxLzIwMTEK V29ya3F1ZXVlOiB1c2JfaHViX3dxIGh1Yl9ldmVudAp0YXNrOiBmZmZmODgwMDZiZWY1YzAwIHRh c2suc3RhY2s6IGZmZmY4ODAwNmJmNjAwMDAKUklQOiAwMDEwOnVzYm5ldF91cGRhdGVfbWF4X3Fs ZW4rMHgyNGQvMHgzOTAgZHJpdmVycy9uZXQvdXNiL3VzYm5ldC5jOjM1NQpSU1A6IDAwMTg6ZmZm Zjg4MDA2YmY2NzUwOCBFRkxBR1M6IDAwMDEwMjQ2ClJBWDogMDAwMDAwMDAwMDAxNjNjOCBSQlg6 IGZmZmY4ODAwNjIxZmNlNDAgUkNYOiBmZmZmODgwMDYyMWZjZjM0ClJEWDogMDAwMDAwMDAwMDAw MDAwMCBSU0k6IGZmZmZmZmZmODM3ZWNiN2EgUkRJOiBmZmZmODgwMDYyMWZjZjM0ClJCUDogZmZm Zjg4MDA2YmY2NzUyMCBSMDg6IGZmZmY4ODAwNmJlZjVjMDAgUjA5OiBmZmZmZWQwMDBjNDNmODgx ClIxMDogZmZmZmVkMDAwYzQzZjg4MCBSMTE6IGZmZmY4ODAwNjIxZmM0MDYgUjEyOiAwMDAwMDAw MDAwMDAwMDAzClIxMzogZmZmZmZmZmY4NWM3MWRlMCBSMTQ6IDAwMDAwMDAwMDAwMDAwMDAgUjE1 OiAwMDAwMDAwMDAwMDAwMDAwCkZTOiAgMDAwMDAwMDAwMDAwMDAwMCgwMDAwKSBHUzpmZmZmODgw MDZjYTAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDAKQ1M6ICAwMDEwIERTOiAwMDAw IEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwpDUjI6IDAwMDA3ZmZlOWMwZDZkYWMgQ1Iz OiAwMDAwMDAwMDYxNGY0MDAwIENSNDogMDAwMDAwMDAwMDAwMDZmMApDYWxsIFRyYWNlOgogdXNi bmV0X3Byb2JlKzB4MThiNS8weDI3OTAgZHJpdmVycy9uZXQvdXNiL3VzYm5ldC5jOjE3ODMKIHFt aV93d2FuX3Byb2JlKzB4MTMzLzB4MjIwIGRyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jOjEzMzgK IHVzYl9wcm9iZV9pbnRlcmZhY2UrMHgzMjQvMHg5NDAgZHJpdmVycy91c2IvY29yZS9kcml2ZXIu YzozNjEKIHJlYWxseV9wcm9iZSBkcml2ZXJzL2Jhc2UvZGQuYzo0MTMKIGRyaXZlcl9wcm9iZV9k ZXZpY2UrMHg1MjIvMHg3NDAgZHJpdmVycy9iYXNlL2RkLmM6NTU3CgpGaXggYnkgc2ltcGx5IGln bm9yaW5nIHRoZSBib2d1cyBkZXNjcmlwdG9yLCBhcyBpdCBpcyBvcHRpb25hbApmb3IgUU1JIGRl dmljZXMgYW55d2F5LgoKRml4ZXM6IDQyM2NlOGNhYWI3ZSAoIm5ldDogdXNiOiBxbWlfd3dhbjog TmV3IGRyaXZlciBmb3IgSHVhd2VpIFFNSSBiYXNlZCBXV0FOIGRldmljZXMiKQpSZXBvcnRlZC1i eTogQW5kcmV5IEtvbm92YWxvdiA8YW5kcmV5a252bEBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5 OiBCasO4cm4gTW9yayA8Ympvcm5AbW9yay5ubz4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5j IHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL3FtaV93d2FuLmMgYi9kcml2ZXJzL25ldC91c2Iv cW1pX3d3YW4uYwppbmRleCA0OWEyN2RjNDZlNWUuLmNjZTM2ZTBkZjJlYiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9uZXQvdXNiL3FtaV93d2FuLmMKKysrIGIvZHJpdmVycy9uZXQvdXNiL3FtaV93d2Fu LmMKQEAgLTM4Niw3ICszODYsNyBAQCBzdGF0aWMgaW50IHFtaV93d2FuX2JpbmQoc3RydWN0IHVz Ym5ldCAqZGV2LCBzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZikKIAl9CiAKIAkvKiBlcnJvcnMg YXJlbid0IGZhdGFsIC0gd2UgY2FuIGxpdmUgd2l0aCB0aGUgZHluYW1pYyBhZGRyZXNzICovCi0J aWYgKGNkY19ldGhlcikgeworCWlmIChjZGNfZXRoZXIgJiYgY2RjX2V0aGVyLT53TWF4U2VnbWVu dFNpemUpIHsKIAkJZGV2LT5oYXJkX210dSA9IGxlMTZfdG9fY3B1KGNkY19ldGhlci0+d01heFNl Z21lbnRTaXplKTsKIAkJdXNibmV0X2dldF9ldGhlcm5ldF9hZGRyKGRldiwgY2RjX2V0aGVyLT5p TUFDQWRkcmVzcyk7CiAJfQotLSAKMi4xMy42CgoKRnJvbSBiYmM3YTJmMmQ4NmYyODVhZDU5YTcz Zjg2NjU2OGU5MzNkYTIyMTBjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLcmlzdGlh biBFdmVuc2VuIDxrcmlzdGlhbi5ldmVuc2VuQGdtYWlsLmNvbT4KRGF0ZTogVHVlLCA3IE5vdiAy MDE3IDEzOjQ3OjU2ICswMTAwClN1YmplY3Q6IFtQQVRDSCAwOC8xNF0gcW1pX3d3YW46IEFkZCBt aXNzaW5nIHNrYl9yZXNldF9tYWNfaGVhZGVyLWNhbGwKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVu dC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rp bmc6IDhiaXQKClsgVXBzdHJlYW0gY29tbWl0IDBkZTBhZGQxMGU1ODdlZmZhODgwYzc0MWM5NDEz Yzg3NGYxNmJlOTEgXQoKV2hlbiB3ZSByZWNlaXZlIGEgcGFja2V0IG9uIGEgUU1JIGRldmljZSBp biByYXcgSVAgbW9kZSwgd2Ugc2hvdWxkIGNhbGwKc2tiX3Jlc2V0X21hY19oZWFkZXIoKSB0byBl bnN1cmUgdGhhdCBza2ItPm1hY19oZWFkZXIgY29udGFpbnMgYSB2YWxpZApvZmZzZXQgaW4gdGhl IHBhY2tldC4gV2hpbGUgaXQgc2hvdWxkbid0IHJlYWxseSBtYXR0ZXIsIHRoZSBwYWNrZXRzIGhh dmUKbm8gTUFDIGhlYWRlciBhbmQgdGhlIGludGVyZmFjZSBpcyBjb25maWd1cmVkIGFzLXN1Y2gs IGl0IHNlZW1zIGNlcnRhaW4KcGFydHMgb2YgdGhlIG5ldHdvcmsgc3RhY2sgZXhwZWN0cyBhICJn b29kIiB2YWx1ZSBpbiBza2ItPm1hY19oZWFkZXIuCgpXaXRob3V0IHRoZSBza2JfcmVzZXRfbWFj X2hlYWRlcigpIGNhbGwgYWRkZWQgaW4gdGhpcyBwYXRjaCwgZm9yIGV4YW1wbGUKc2hhcGluZyB0 cmFmZmljICh1c2luZyB0YykgdHJpZ2dlcnMgdGhlIGZvbGxvd2luZyBvb3BzIG9uIHRoZSBmaXJz dApyZWNlaXZlZCBwYWNrZXQ6CgpbICAzMDMuNjQyOTU3XSBza2J1ZmY6IHNrYl91bmRlcl9wYW5p YzogdGV4dDo4ZjEzNzkxOCBsZW46MTc3IHB1dDo2NyBoZWFkOjhlNGIwZjAwIGRhdGE6OGU0YjBl ZmYgdGFpbDoweDhlNGIwZmIwIGVuZDoweDhlNGIxNTIwIGRldjp3d2FuMApbICAzMDMuNjU1MDQ1 XSBLZXJuZWwgYnVnIGRldGVjdGVkWyMxXToKWyAgMzAzLjY1ODYyMl0gQ1BVOiAxIFBJRDogMTAw MiBDb21tOiBsb2dkIE5vdCB0YWludGVkIDQuOS41OCAjMApbICAzMDMuNjY0MzM5XSB0YXNrOiA4 ZmRmMDVlMCB0YXNrLnN0YWNrOiA4ZjE1YzAwMApbICAzMDMuNjY4ODQ0XSAkIDAgICA6IDAwMDAw MDAwIDAwMDAwMDAxIDAwMDAwMDdhIDAwMDAwMDAwClsgIDMwMy42NzQwNjJdICQgNCAgIDogODE0 OWEyZmMgODE0OWEyZmMgODE0OWNlMjAgMDAwMDAwMDAKWyAgMzAzLjY3OTI4NF0gJCA4ICAgOiAw MDAwMDAzMCAzODc4MzAzYSAzMTYyMzQ2NSAyMDMwMzIzNQpbICAzMDMuNjg0NTEwXSAkMTIgICA6 IGRlZDczMWUzIDI2MjZhMjc3IDAwMDAwMDAwIDAzYmQwMDAwClsgIDMwMy42ODk3NDddICQxNiAg IDogOGVmNjJiNDAgMDAwMDAwNDMgOGYxMzc5MTggODA0ZGI1ZmMKWyAgMzAzLjY5NDk3OF0gJDIw ICAgOiAwMDAwMDAwMSAwMDAwMDAwNCA4ZmMxMzgwMCAwMDAwMDAwMwpbICAzMDMuNzAwMjE1XSAk MjQgICA6IDAwMDAwMDAxIDgwMjRhYjEwClsgIDMwMy43MDU0NDJdICQyOCAgIDogOGYxNWMwMDAg OGZjMTljZjAgMDAwMDAwNDMgODAyY2M5MjAKWyAgMzAzLjcxMDY2NF0gSGkgICAgOiAwMDAwMDAw MApbICAzMDMuNzEzNTMzXSBMbyAgICA6IDc0ZTU4MDAwClsgIDMwMy43MTY0MzZdIGVwYyAgIDog ODAyY2M5MjAgc2tiX3BhbmljKzB4NTgvMHg1YwpbICAzMDMuNzIxMDQ2XSByYSAgICA6IDgwMmNj OTIwIHNrYl9wYW5pYysweDU4LzB4NWMKWyAgMzAzLjcyNTYzOV0gU3RhdHVzOiAxMTAwN2MwMyBL RVJORUwgRVhMIElFClsgIDMwMy43Mjk4MjNdIENhdXNlIDogNTA4MDAwMjQgKEV4Y0NvZGUgMDkp ClsgIDMwMy43MzM4MTddIFBySWQgIDogMDAwMTk5MmYgKE1JUFMgMTAwNEtjKQpbICAzMDMuNzM3 ODkyXSBNb2R1bGVzIGxpbmtlZCBpbjogcnQyODAwcGNpIHJ0MjgwMG1taW8gcnQyODAwbGliIHFj c2VyaWFsIHBwcF9hc3luYyBvcHRpb24gdXNiX3d3YW4gcnQyeDAwcGNpIHJ0MngwMG1taW8gcnQy eDAwbGliIHJuZGlzX2hvc3QgcW1pX3d3YW4gcHBwX2dlbmVyaWMgbmZfbmF0X3BwdHAgbmZfY29u bnRyYWNrX3BwdHAgbmZfY29ubnRyYWNrX2lwdjYgbXQ3NngyaQpQcm9jZXNzIGxvZ2QgKHBpZDog MTAwMiwgdGhyZWFkaW5mbz04ZjE1YzAwMCwgdGFzaz04ZmRmMDVlMCwgdGxzPTc3YjNlZWU0KQpb ICAzMDMuOTYyNTA5XSBTdGFjayA6IDAwMDAwMDAwIDgwNDA4OTkwIDhmMTM3OTE4IDAwMDAwMGIx IDAwMDAwMDQzIDhlNGIwZjAwIDhlNGIwZWZmIDhlNGIwZmIwClsgIDMwMy45NzA4NzFdICAgICAg ICAgOGU0YjE1MjAgOGZlYzE4MDAgMDAwMDAwNDMgODAyY2QyYTQgNmUwMDAwNDUgMDAwMDAwNDMg MDAwMDAwMDAgOGVmNjIwMDAKWyAgMzAzLjk3OTIxOV0gICAgICAgICA4ZWVmNWQwMCA4ZWY2MmI0 MCA4ZmVhNzMwMCA4ZjEzNzkxOCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAyYmIwMSA3OTNlNTY2NApb ICAzMDMuOTg3NTY4XSAgICAgICAgIDhlZjA4ODg0IDAwMDAwMDAxIDhmZWE3MzAwIDAwMDAwMDAy IDhmYzE5ZTgwIDhlZWY1ZDAwIDAwMDAwMDA2IDAwMDAwMDAzClsgIDMwMy45OTU5MzRdICAgICAg ICAgMDAwMDAwMDAgODAzMGJhOTAgMDAwMDAwMDMgNzdhYjNmZDAgODE0OWRjODAgODAwNGQxYmMg OGYxNWMwMDAgOGYzODM3MDAKWyAgMzA0LjAwNDMyNF0gICAgICAgICAuLi4KWyAgMzA0LjAwNjc2 N10gQ2FsbCBUcmFjZToKWyAgMzA0LjAwOTI0MV0gWzw4MDJjYzkyMD5dIHNrYl9wYW5pYysweDU4 LzB4NWMKWyAgMzA0LjAxMzUwNF0gWzw4MDJjZDJhND5dIHNrYl9wdXNoKzB4NzgvMHg5MApbICAz MDQuMDE3NzgzXSBbPDhmMTM3OTE4Pl0gMHg4ZjEzNzkxOApbICAzMDQuMDIxMjY5XSBDb2RlOiAw MDYwMjgyNSAgMGMwMmEzYjQgIDI0ODQyODg4IDwwMDBjMDAwZD4gOGM4NzAwNjAgIDhjODIwMGEw ICAwMDA3MzgyYiAgMDAwNzAzMzYgIDhjODgwMDVjClsgIDMwNC4wMzEwMzRdClsgIDMwNC4wMzI4 MDVdIC0tLVsgZW5kIHRyYWNlIGI3NzhjNDgyYjNmMGJkYTkgXS0tLQpbICAzMDQuMDQxMzg0XSBL ZXJuZWwgcGFuaWMgLSBub3Qgc3luY2luZzogRmF0YWwgZXhjZXB0aW9uIGluIGludGVycnVwdApb ICAzMDQuMDUxOTc1XSBSZWJvb3RpbmcgaW4gMyBzZWNvbmRzLi4KCldoaWxlIHRoZSBvb3BzIGlz IGZvciBhIDQuOS1rZXJuZWwsIEkgd2FzIGFibGUgdG8gdHJpZ2dlciB0aGUgc2FtZSBvb3BzIHdp dGgKbmV0LW5leHQgYXMgb2YgeWVzdGVyZGF5LgoKRml4ZXM6IDMyZjdhZGY2MzNiOSAoIm5ldDog cW1pX3d3YW46IHN1cHBvcnQgInJhdyBJUCIgbW9kZSIpClNpZ25lZC1vZmYtYnk6IEtyaXN0aWFu IEV2ZW5zZW4gPGtyaXN0aWFuLmV2ZW5zZW5AZ21haWwuY29tPgpBY2tlZC1ieTogQmrDuHJuIE1v cmsgPGJqb3JuQG1vcmsubm8+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC91c2IvcW1pX3d3YW4uYyB8IDEgKwogMSBm aWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNi L3FtaV93d2FuLmMgYi9kcml2ZXJzL25ldC91c2IvcW1pX3d3YW4uYwppbmRleCBjY2UzNmUwZGYy ZWIuLjljZjExYzgzOTkzYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdXNiL3FtaV93d2FuLmMK KysrIGIvZHJpdmVycy9uZXQvdXNiL3FtaV93d2FuLmMKQEAgLTIwNSw2ICsyMDUsNyBAQCBzdGF0 aWMgaW50IHFtaV93d2FuX3J4X2ZpeHVwKHN0cnVjdCB1c2JuZXQgKmRldiwgc3RydWN0IHNrX2J1 ZmYgKnNrYikKIAkJcmV0dXJuIDE7CiAJfQogCWlmIChyYXdpcCkgeworCQlza2JfcmVzZXRfbWFj X2hlYWRlcihza2IpOwogCQlza2ItPmRldiA9IGRldi0+bmV0OyAvKiBub3JtYWxseSBzZXQgYnkg ZXRoX3R5cGVfdHJhbnMgKi8KIAkJc2tiLT5wcm90b2NvbCA9IHByb3RvOwogCQlyZXR1cm4gMTsK LS0gCjIuMTMuNgoKCkZyb20gYTRkM2M0MmFkZGE1ODJlYmI1YjNmZjhkZjQwZmRlNjQ3NjIwZTNj NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQW5kcmV5IEtvbm92YWxvdiA8YW5kcmV5 a252bEBnb29nbGUuY29tPgpEYXRlOiBNb24sIDYgTm92IDIwMTcgMTM6MjY6NDYgKzAxMDAKU3Vi amVjdDogW1BBVENIIDA5LzE0XSBuZXQ6IHVzYjogYXNpeDogZmlsbCBudWxsLXB0ci1kZXJlZiBp biBhc2l4X3N1c3BlbmQKClsgVXBzdHJlYW0gY29tbWl0IDhmNTYyNDYyOTEwNTU4OWJjYzIzZDBl NTFjYzAxYmQ4MTAzZDA5YTUgXQoKV2hlbiBhc2l4X3N1c3BlbmQoKSBpcyBjYWxsZWQgZGV2LT5k cml2ZXJfcHJpdiBtaWdodCBub3QgaGF2ZSBiZWVuCmFzc2lnbmVkIGEgdmFsdWUsIHNvIHdlIG5l ZWQgdG8gY2hlY2sgdGhhdCBpdCdzIG5vdCBOVUxMLgoKU2ltaWxhciBpc3N1ZSBpcyBwcmVzZW50 IGluIGFzaXhfcmVzdW1lKCksIHRoaXMgcGF0Y2ggZml4ZXMgaXQgYXMgd2VsbC4KCkZvdW5kIGJ5 IHN5emthbGxlci4KCmthc2FuOiBDT05GSUdfS0FTQU5fSU5MSU5FIGVuYWJsZWQKa2FzYW46IEdQ RiBjb3VsZCBiZSBjYXVzZWQgYnkgTlVMTC1wdHIgZGVyZWYgb3IgdXNlciBtZW1vcnkgYWNjZXNz CmdlbmVyYWwgcHJvdGVjdGlvbiBmYXVsdDogMDAwMCBbIzFdIFBSRUVNUFQgU01QIEtBU0FOCk1v ZHVsZXMgbGlua2VkIGluOgpDUFU6IDAgUElEOiAyNCBDb21tOiBrd29ya2VyLzA6MSBOb3QgdGFp bnRlZCA0LjE0LjAtcmM0LTQzNDIyLWdlY2NhY2RkNjlhOGMgIzQwMApIYXJkd2FyZSBuYW1lOiBR RU1VIFN0YW5kYXJkIFBDIChpNDQwRlggKyBQSUlYLCAxOTk2KSwgQklPUyBCb2NocyAwMS8wMS8y MDExCldvcmtxdWV1ZTogdXNiX2h1Yl93cSBodWJfZXZlbnQKdGFzazogZmZmZjg4MDA2YmIzNjMw MCB0YXNrLnN0YWNrOiBmZmZmODgwMDZiYmE4MDAwClJJUDogMDAxMDphc2l4X3N1c3BlbmQrMHg3 Ni8weGMwIGRyaXZlcnMvbmV0L3VzYi9hc2l4X2RldmljZXMuYzo2MjkKUlNQOiAwMDE4OmZmZmY4 ODAwNmJiYWU3MTggRUZMQUdTOiAwMDAxMDIwMgpSQVg6IGRmZmZmYzAwMDAwMDAwMDAgUkJYOiBm ZmZmODgwMDYxYmEzYjgwIFJDWDogMWZmZmYxMDAwYzM0ZDY0NApSRFg6IDAwMDAwMDAwMDAwMDAw MDEgUlNJOiAwMDAwMDAwMDAwMDAwNDAyIFJESTogMDAwMDAwMDAwMDAwMDAwOApSQlA6IGZmZmY4 ODAwNmJiYWU3MzggUjA4OiAxZmZmZjEwMDBkNzc1Y2FkIFIwOTogMDAwMDAwMDAwMDAwMDAwMApS MTA6IDAwMDAwMDAwMDAwMDAwMDAgUjExOiAwMDAwMDAwMDAwMDAwMDAwIFIxMjogZmZmZjg4MDA2 MzBhOGI0MApSMTM6IDAwMDAwMDAwMDAwMDAwMDAgUjE0OiAwMDAwMDAwMDAwMDAwNDAyIFIxNTog ZmZmZjg4MDA2MWJhM2I4MApGUzogIDAwMDAwMDAwMDAwMDAwMDAoMDAwMCkgR1M6ZmZmZjg4MDA2 YzYwMDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwCkNTOiAgMDAxMCBEUzogMDAwMCBF UzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMKQ1IyOiAwMDAwN2ZmMzNjZjg5MDAwIENSMzog MDAwMDAwMDA2MWMwYTAwMCBDUjQ6IDAwMDAwMDAwMDAwMDA2ZjAKQ2FsbCBUcmFjZToKIHVzYl9z dXNwZW5kX2ludGVyZmFjZSBkcml2ZXJzL3VzYi9jb3JlL2RyaXZlci5jOjEyMDkKIHVzYl9zdXNw ZW5kX2JvdGgrMHgyN2YvMHg3ZTAgZHJpdmVycy91c2IvY29yZS9kcml2ZXIuYzoxMzE0CiB1c2Jf cnVudGltZV9zdXNwZW5kKzB4NDEvMHgxMjAgZHJpdmVycy91c2IvY29yZS9kcml2ZXIuYzoxODUy CiBfX3JwbV9jYWxsYmFjaysweDMzOS8weGI2MCBkcml2ZXJzL2Jhc2UvcG93ZXIvcnVudGltZS5j OjMzNAogcnBtX2NhbGxiYWNrKzB4MTA2LzB4MjIwIGRyaXZlcnMvYmFzZS9wb3dlci9ydW50aW1l LmM6NDYxCiBycG1fc3VzcGVuZCsweDQ2NS8weDE5ODAgZHJpdmVycy9iYXNlL3Bvd2VyL3J1bnRp bWUuYzo1OTYKIF9fcG1fcnVudGltZV9zdXNwZW5kKzB4MTFlLzB4MjMwIGRyaXZlcnMvYmFzZS9w b3dlci9ydW50aW1lLmM6MTAwOQogcG1fcnVudGltZV9wdXRfc3luY19hdXRvc3VzcGVuZCAuL2lu Y2x1ZGUvbGludXgvcG1fcnVudGltZS5oOjI1MQogdXNiX25ld19kZXZpY2UrMHhhMzcvMHgxMDIw IGRyaXZlcnMvdXNiL2NvcmUvaHViLmM6MjQ4NwogaHViX3BvcnRfY29ubmVjdCBkcml2ZXJzL3Vz Yi9jb3JlL2h1Yi5jOjQ5MDMKIGh1Yl9wb3J0X2Nvbm5lY3RfY2hhbmdlIGRyaXZlcnMvdXNiL2Nv cmUvaHViLmM6NTAwOQogcG9ydF9ldmVudCBkcml2ZXJzL3VzYi9jb3JlL2h1Yi5jOjUxMTUKIGh1 Yl9ldmVudCsweDE5NGQvMHgzNzQwIGRyaXZlcnMvdXNiL2NvcmUvaHViLmM6NTE5NQogcHJvY2Vz c19vbmVfd29yaysweGM3Zi8weDFkYjAga2VybmVsL3dvcmtxdWV1ZS5jOjIxMTkKIHdvcmtlcl90 aHJlYWQrMHgyMjEvMHgxODUwIGtlcm5lbC93b3JrcXVldWUuYzoyMjUzCiBrdGhyZWFkKzB4M2Ex LzB4NDcwIGtlcm5lbC9rdGhyZWFkLmM6MjMxCiByZXRfZnJvbV9mb3JrKzB4MmEvMHg0MCBhcmNo L3g4Ni9lbnRyeS9lbnRyeV82NC5TOjQzMQpDb2RlOiA4ZCA3YyAyNCAyMCA0OCA4OSBmYSA0OCBj MSBlYSAwMyA4MCAzYyAwMiAwMCA3NSA1YiA0OCBiOCAwMCAwMAowMCAwMCAwMCBmYyBmZiBkZiA0 ZCA4YiA2YyAyNCAyMCA0OSA4ZCA3ZCAwOCA0OCA4OSBmYSA0OCBjMSBlYSAwMyA8ODA+CjNjIDAy IDAwIDc1IDM0IDRkIDhiIDZkIDA4IDRkIDg1IGVkIDc0IDBiIGU4IDI2IDJiIDUxIGZkIDRjClJJ UDogYXNpeF9zdXNwZW5kKzB4NzYvMHhjMCBSU1A6IGZmZmY4ODAwNmJiYWU3MTgKLS0tWyBlbmQg dHJhY2UgZGZjNGY1NjQ5Mjg0MzQyYyBdLS0tCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXkgS29ub3Zh bG92IDxhbmRyZXlrbnZsQGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxl ciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC91c2IvYXNpeF9kZXZpY2Vz LmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL2FzaXhfZGV2aWNlcy5jIGIvZHJpdmVy cy9uZXQvdXNiL2FzaXhfZGV2aWNlcy5jCmluZGV4IDUwNzM3ZGVmNzc0Yy4uMzJlOWVjOGYxNTIx IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC91c2IvYXNpeF9kZXZpY2VzLmMKKysrIGIvZHJpdmVy cy9uZXQvdXNiL2FzaXhfZGV2aWNlcy5jCkBAIC02MjQsNyArNjI0LDcgQEAgc3RhdGljIGludCBh c2l4X3N1c3BlbmQoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsIHBtX21lc3NhZ2VfdCBtZXNz YWdlKQogCXN0cnVjdCB1c2JuZXQgKmRldiA9IHVzYl9nZXRfaW50ZmRhdGEoaW50Zik7CiAJc3Ry dWN0IGFzaXhfY29tbW9uX3ByaXZhdGUgKnByaXYgPSBkZXYtPmRyaXZlcl9wcml2OwogCi0JaWYg KHByaXYtPnN1c3BlbmQpCisJaWYgKHByaXYgJiYgcHJpdi0+c3VzcGVuZCkKIAkJcHJpdi0+c3Vz cGVuZChkZXYpOwogCiAJcmV0dXJuIHVzYm5ldF9zdXNwZW5kKGludGYsIG1lc3NhZ2UpOwpAQCAt Njc2LDcgKzY3Niw3IEBAIHN0YXRpYyBpbnQgYXNpeF9yZXN1bWUoc3RydWN0IHVzYl9pbnRlcmZh Y2UgKmludGYpCiAJc3RydWN0IHVzYm5ldCAqZGV2ID0gdXNiX2dldF9pbnRmZGF0YShpbnRmKTsK IAlzdHJ1Y3QgYXNpeF9jb21tb25fcHJpdmF0ZSAqcHJpdiA9IGRldi0+ZHJpdmVyX3ByaXY7CiAK LQlpZiAocHJpdi0+cmVzdW1lKQorCWlmIChwcml2ICYmIHByaXYtPnJlc3VtZSkKIAkJcHJpdi0+ cmVzdW1lKGRldik7CiAKIAlyZXR1cm4gdXNibmV0X3Jlc3VtZShpbnRmKTsKLS0gCjIuMTMuNgoK CkZyb20gNDVlMjRjYjQwYmI2OTc1ZTA5MDQ4ODE3MzkwNjRhZjhjNmQ0Yjc2ZCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogQ29uZyBXYW5nIDx4aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+ CkRhdGU6IFRodSwgOSBOb3YgMjAxNyAxNjo0MzoxMyAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTAv MTRdIHZsYW46IGZpeCBhIHVzZS1hZnRlci1mcmVlIGluIHZsYW5fZGV2aWNlX2V2ZW50KCkKClsg VXBzdHJlYW0gY29tbWl0IDA1MmQ0MWMwMWIzYTJlMzM3MWQ2NmRlNTY5NzE3MzUzYWY0ODlkNjMg XQoKQWZ0ZXIgcmVmY250IHJlYWNoZXMgemVybywgdmxhbl92aWRfZGVsKCkgY291bGQgZnJlZQpk ZXYtPnZsYW5faW5mbyB2aWEgUkNVOgoKCVJDVV9JTklUX1BPSU5URVIoZGV2LT52bGFuX2luZm8s IE5VTEwpOwoJY2FsbF9yY3UoJnZsYW5faW5mby0+cmN1LCB2bGFuX2luZm9fcmN1X2ZyZWUpOwoK SG93ZXZlciwgdGhlIHBvaW50ZXIgJ2dycCcgc3RpbGwgcG9pbnRzIHRvIHRoYXQgbWVtb3J5CnNp bmNlIGl0IGlzIHNldCBiZWZvcmUgdmxhbl92aWRfZGVsKCk6CgogICAgICAgIHZsYW5faW5mbyA9 IHJ0bmxfZGVyZWZlcmVuY2UoZGV2LT52bGFuX2luZm8pOwogICAgICAgIGlmICghdmxhbl9pbmZv KQogICAgICAgICAgICAgICAgZ290byBvdXQ7CiAgICAgICAgZ3JwID0gJnZsYW5faW5mby0+Z3Jw OwoKRGVwZW5kcyBvbiB3aGVuIHRoYXQgUkNVIGNhbGxiYWNrIGlzIHNjaGVkdWxlZCwgd2UgY291 bGQKdHJpZ2dlciBhIHVzZS1hZnRlci1mcmVlIGluIHZsYW5fZ3JvdXBfZm9yX2VhY2hfZGV2KCkK cmlnaHQgZm9sbG93aW5nIHRoaXMgdmxhbl92aWRfZGVsKCkuCgpGaXggaXQgYnkgbW92aW5nIHZs YW5fdmlkX2RlbCgpIGJlZm9yZSBzZXR0aW5nIGdycC4gVGhpcwppcyBhbHNvIHN5bW1ldHJpYyB0 byB0aGUgdmxhbl92aWRfYWRkKCkgd2UgY2FsbCBpbgp2bGFuX2RldmljZV9ldmVudCgpLgoKUmVw b3J0ZWQtYnk6IEZlbmdndWFuZyBXdSA8ZmVuZ2d1YW5nLnd1QGludGVsLmNvbT4KRml4ZXM6IGVm YzczZjRiYmMyMyAoIm5ldDogRml4IG1lbW9yeSBsZWFrIC0gdmxhbl9pbmZvIHN0cnVjdCIpCkNj OiBBbGV4YW5kZXIgRHV5Y2sgPGFsZXhhbmRlci5kdXlja0BnbWFpbC5jb20+CkNjOiBMaW51cyBU b3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRhdGlvbi5vcmc+CkNjOiBHaXJpc2ggTW9vZGFs YmFpbCA8Z2lyaXNoLm1vb2RhbGJhaWxAb3JhY2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogQ29uZyBX YW5nIDx4aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBHaXJpc2ggTW9vZGFs YmFpbCA8Z2lyaXNoLm1vb2RhbGJhaWxAb3JhY2xlLmNvbT4KVGVzdGVkLWJ5OiBGZW5nZ3Vhbmcg V3UgPGZlbmdndWFuZy53dUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxl ciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvODAyMXEvdmxhbi5jIHwgNiArKystLS0K IDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvbmV0LzgwMjFxL3ZsYW4uYyBiL25ldC84MDIxcS92bGFuLmMKaW5kZXggOGQyMTNmOTc0 NDQ4Li40YTQ3MDc0ZDFkN2YgMTAwNjQ0Ci0tLSBhL25ldC84MDIxcS92bGFuLmMKKysrIGIvbmV0 LzgwMjFxL3ZsYW4uYwpAQCAtMzc2LDYgKzM3Niw5IEBAIHN0YXRpYyBpbnQgdmxhbl9kZXZpY2Vf ZXZlbnQoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICp1bnVzZWQsIHVuc2lnbmVkIGxvbmcgZXZlbnQs CiAJCQlkZXYtPm5hbWUpOwogCQl2bGFuX3ZpZF9hZGQoZGV2LCBodG9ucyhFVEhfUF84MDIxUSks IDApOwogCX0KKwlpZiAoZXZlbnQgPT0gTkVUREVWX0RPV04gJiYKKwkgICAgKGRldi0+ZmVhdHVy ZXMgJiBORVRJRl9GX0hXX1ZMQU5fQ1RBR19GSUxURVIpKQorCQl2bGFuX3ZpZF9kZWwoZGV2LCBo dG9ucyhFVEhfUF84MDIxUSksIDApOwogCiAJdmxhbl9pbmZvID0gcnRubF9kZXJlZmVyZW5jZShk ZXYtPnZsYW5faW5mbyk7CiAJaWYgKCF2bGFuX2luZm8pCkBAIC00MjMsOSArNDI2LDYgQEAgc3Rh dGljIGludCB2bGFuX2RldmljZV9ldmVudChzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKnVudXNlZCwg dW5zaWduZWQgbG9uZyBldmVudCwKIAkJc3RydWN0IG5ldF9kZXZpY2UgKnRtcDsKIAkJTElTVF9I RUFEKGNsb3NlX2xpc3QpOwogCi0JCWlmIChkZXYtPmZlYXR1cmVzICYgTkVUSUZfRl9IV19WTEFO X0NUQUdfRklMVEVSKQotCQkJdmxhbl92aWRfZGVsKGRldiwgaHRvbnMoRVRIX1BfODAyMVEpLCAw KTsKLQogCQkvKiBQdXQgYWxsIFZMQU5zIGZvciB0aGlzIGRldiBpbiB0aGUgZG93biBzdGF0ZSB0 b28uICAqLwogCQl2bGFuX2dyb3VwX2Zvcl9lYWNoX2RldihncnAsIGksIHZsYW5kZXYpIHsKIAkJ CWZsZ3MgPSB2bGFuZGV2LT5mbGFnczsKLS0gCjIuMTMuNgoKCkZyb20gM2E3NDA2MjFiODdmZmJh NWVmM2JhYjVlNTk5YTE5MzdmZGZkMzJkYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog Ikphc29uIEEuIERvbmVuZmVsZCIgPEphc29uQHp4MmM0LmNvbT4KRGF0ZTogVGh1LCA5IE5vdiAy MDE3IDEzOjA0OjQ0ICswOTAwClN1YmplY3Q6IFtQQVRDSCAxMS8xNF0gYWZfbmV0bGluazogZW5z dXJlIHRoYXQgTkxNU0dfRE9ORSBuZXZlciBmYWlscyBpbiBkdW1wcwoKWyBVcHN0cmVhbSBjb21t aXQgMDY0Mjg0MGI4YmIwMDg1MjhkYmRmOTI5Y2VjOWY2NWFjNDIzMWFkMCBdCgpUaGUgd2F5IHBl b3BsZSBnZW5lcmFsbHkgdXNlIG5ldGxpbmtfZHVtcCBpcyB0aGF0IHRoZXkgZmlsbCBpbiB0aGUg c2tiCmFzIG11Y2ggYXMgcG9zc2libGUsIGJyZWFraW5nIHdoZW4gbmxhX3B1dCByZXR1cm5zIGFu IGVycm9yLiBUaGVuLCB0aGV5CmdldCBjYWxsZWQgYWdhaW4gYW5kIHN0YXJ0IGZpbGxpbmcgb3V0 IHRoZSBuZXh0IHNrYiwgYW5kIGFnYWluLCBhbmQgc28KZm9ydGguIFRoZSBtZWNoYW5pc20gYXQg d29yayBoZXJlIGlzIHRoZSBhYmlsaXR5IGZvciB0aGUgaXRlcmF0aXZlCmR1bXBpbmcgZnVuY3Rp b24gdG8gZGV0ZWN0IHdoZW4gdGhlIHNrYiBpcyBmaWxsZWQgdXAgYW5kIG5vdCBmaWxsIGl0CnBh c3QgdGhlIGJyaW0sIHdhaXRpbmcgZm9yIGEgZnJlc2ggc2tiIGZvciB0aGUgcmVzdCBvZiB0aGUg ZGF0YS4KCkhvd2V2ZXIsIGlmIHRoZSBhdHRyaWJ1dGVzIGFyZSBzbWFsbCBhbmQgbmljZWx5IHBh Y2tlZCwgaXQgaXMgcG9zc2libGUKdGhhdCBhIGR1bXAgY2FsbGJhY2sgZnVuY3Rpb24gc3VjY2Vz c2Z1bGx5IGZpbGxzIGluIGF0dHJpYnV0ZXMgdW50aWwgdGhlCnNrYiBpcyBvZiBzaXplIDQwODAg KGxpYm1ubCdzIGRlZmF1bHQgcGFnZS1zaXplZCByZWNlaXZlIGJ1ZmZlciBzaXplKS4KVGhlIGR1 bXAgZnVuY3Rpb24gY29tcGxldGVzLCBzYXRpc2ZpZWQsIGFuZCB0aGVuLCBpZiBpdCBoYXBwZW5z IHRvIGJlCnRoYXQgdGhpcyBpcyBhY3R1YWxseSB0aGUgbGFzdCBza2IsIGFuZCBubyBmdXJ0aGVy IG9uZXMgYXJlIHRvIGJlIHNlbnQsCnRoZW4gbmV0bGlua19kdW1wIHdpbGwgYWRkIG9uIHRoZSBO TE1TR19ET05FIHBhcnQ6CgogIG5saCA9IG5sbXNnX3B1dF9hbnN3ZXIoc2tiLCBjYiwgTkxNU0df RE9ORSwgc2l6ZW9mKGxlbiksIE5MTV9GX01VTFRJKTsKCkl0IGlzIHZlcnkgaW1wb3J0YW50IHRo YXQgbmV0bGlua19kdW1wIGRvZXMgdGhpcywgb2YgY291cnNlLiBIb3dldmVyLCBpbgp0aGlzIGV4 YW1wbGUsIHRoYXQgY2FsbCB0byBubG1zZ19wdXRfYW5zd2VyIHdpbGwgZmFpbCwgYmVjYXVzZSB0 aGUKcHJldmlvdXMgZmlsbGluZyBieSB0aGUgZHVtcCBmdW5jdGlvbiBkaWQgbm90IGxlYXZlIGl0 IGVub3VnaCByb29tLiBBbmQKaG93IGNvdWxkIGl0IHBvc3NpYmx5IGhhdmUgZG9uZSBzbz8gQWxs IG9mIHRoZSBubGFfcHV0IHZhcmlldHkgb2YKZnVuY3Rpb25zIHNpbXBseSBjaGVjayB0byBzZWUg aWYgdGhlIHNrYiBoYXMgZW5vdWdoIHRhaWxyb29tLAppbmRlcGVuZGVudCBvZiB0aGUgY29udGV4 dCBpdCBpcyBpbi4KCkluIG9yZGVyIHRvIGtlZXAgdGhlIGltcG9ydGFudCBhc3N1bXB0aW9ucyBv ZiBhbGwgbmV0bGluayBkdW1wIHVzZXJzLCBpdAppcyB0aGVyZWZvcmUgaW1wb3J0YW50IHRvIGdp dmUgdGhlbSBhbiBza2IgdGhhdCBoYXMgdGhpcyBlbmQgcGFydCBvZiB0aGUKdGFpbCBhbHJlYWR5 IHJlc2VydmVkLCBzbyB0aGF0IHRoZSBjYWxsIHRvIG5sbXNnX3B1dF9hbnN3ZXIgZG9lcyBub3QK ZmFpbC4gT3RoZXJ3aXNlLCBsaWJyYXJ5IGF1dGhvcnMgYXJlIGZvcmNlZCB0byBmaW5kIHNvbWUg Yml6YXJyZSBzaXplZApyZWNlaXZlIGJ1ZmZlciB0aGF0IGhhcyBhIGxhcmdlIG1vZHVsbyByZWxh dGl2ZSB0byB0aGUgY29tbW9uIHNpemVzIG9mCm1lc3NhZ2VzIHJlY2VpdmVkLCB3aGljaCBpcyB1 Z2x5IGFuZCBidWdneS4KClRoaXMgcGF0Y2ggdGh1cyBzYXZlcyB0aGUgTkxNU0dfRE9ORSBmb3Ig YW4gYWRkaXRpb25hbCBtZXNzYWdlLCBmb3IgdGhlCmNhc2UgdGhhdCB0aGluZ3MgYXJlIGRhbmdl cm91c2x5IGNsb3NlIHRvIHRoZSBicmltLiBUaGlzIHJlcXVpcmVzCmtlZXBpbmcgdHJhY2sgb2Yg dGhlIGVycm5vIGZyb20gLT5kdW1wKCkgYWNyb3NzIGNhbGxzLgoKU2lnbmVkLW9mZi1ieTogSmFz b24gQS4gRG9uZW5mZWxkIDxKYXNvbkB6eDJjNC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMu IE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvbmV0bGluay9hZl9uZXRsaW5r LmMgfCAxNyArKysrKysrKysrKy0tLS0tLQogbmV0L25ldGxpbmsvYWZfbmV0bGluay5oIHwgIDEg KwogMiBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL25ldC9uZXRsaW5rL2FmX25ldGxpbmsuYyBiL25ldC9uZXRsaW5rL2FmX25ldGxp bmsuYwppbmRleCBhMWRjYTNiMTY5YTEuLmM5ZmFjMDhhNTNiMSAxMDA2NDQKLS0tIGEvbmV0L25l dGxpbmsvYWZfbmV0bGluay5jCisrKyBiL25ldC9uZXRsaW5rL2FmX25ldGxpbmsuYwpAQCAtMjA3 Nyw3ICsyMDc3LDcgQEAgc3RhdGljIGludCBuZXRsaW5rX2R1bXAoc3RydWN0IHNvY2sgKnNrKQog CXN0cnVjdCBza19idWZmICpza2IgPSBOVUxMOwogCXN0cnVjdCBubG1zZ2hkciAqbmxoOwogCXN0 cnVjdCBtb2R1bGUgKm1vZHVsZTsKLQlpbnQgbGVuLCBlcnIgPSAtRU5PQlVGUzsKKwlpbnQgZXJy ID0gLUVOT0JVRlM7CiAJaW50IGFsbG9jX21pbl9zaXplOwogCWludCBhbGxvY19zaXplOwogCkBA IC0yMTI0LDkgKzIxMjQsMTEgQEAgc3RhdGljIGludCBuZXRsaW5rX2R1bXAoc3RydWN0IHNvY2sg KnNrKQogCXNrYl9yZXNlcnZlKHNrYiwgc2tiX3RhaWxyb29tKHNrYikgLSBhbGxvY19zaXplKTsK IAluZXRsaW5rX3NrYl9zZXRfb3duZXJfcihza2IsIHNrKTsKIAotCWxlbiA9IGNiLT5kdW1wKHNr YiwgY2IpOworCWlmIChubGstPmR1bXBfZG9uZV9lcnJubyA+IDApCisJCW5say0+ZHVtcF9kb25l X2Vycm5vID0gY2ItPmR1bXAoc2tiLCBjYik7CiAKLQlpZiAobGVuID4gMCkgeworCWlmIChubGst PmR1bXBfZG9uZV9lcnJubyA+IDAgfHwKKwkgICAgc2tiX3RhaWxyb29tKHNrYikgPCBubG1zZ190 b3RhbF9zaXplKHNpemVvZihubGstPmR1bXBfZG9uZV9lcnJubykpKSB7CiAJCW11dGV4X3VubG9j ayhubGstPmNiX211dGV4KTsKIAogCQlpZiAoc2tfZmlsdGVyKHNrLCBza2IpKQpAQCAtMjEzNiwx MyArMjEzOCwxNSBAQCBzdGF0aWMgaW50IG5ldGxpbmtfZHVtcChzdHJ1Y3Qgc29jayAqc2spCiAJ CXJldHVybiAwOwogCX0KIAotCW5saCA9IG5sbXNnX3B1dF9hbnN3ZXIoc2tiLCBjYiwgTkxNU0df RE9ORSwgc2l6ZW9mKGxlbiksIE5MTV9GX01VTFRJKTsKLQlpZiAoIW5saCkKKwlubGggPSBubG1z Z19wdXRfYW5zd2VyKHNrYiwgY2IsIE5MTVNHX0RPTkUsCisJCQkgICAgICAgc2l6ZW9mKG5say0+ ZHVtcF9kb25lX2Vycm5vKSwgTkxNX0ZfTVVMVEkpOworCWlmIChXQVJOX09OKCFubGgpKQogCQln b3RvIGVycm91dF9za2I7CiAKIAlubF9kdW1wX2NoZWNrX2NvbnNpc3RlbnQoY2IsIG5saCk7CiAK LQltZW1jcHkobmxtc2dfZGF0YShubGgpLCAmbGVuLCBzaXplb2YobGVuKSk7CisJbWVtY3B5KG5s bXNnX2RhdGEobmxoKSwgJm5say0+ZHVtcF9kb25lX2Vycm5vLAorCSAgICAgICBzaXplb2Yobmxr LT5kdW1wX2RvbmVfZXJybm8pKTsKIAogCWlmIChza19maWx0ZXIoc2ssIHNrYikpCiAJCWtmcmVl X3NrYihza2IpOwpAQCAtMjIxNCw2ICsyMjE4LDcgQEAgaW50IF9fbmV0bGlua19kdW1wX3N0YXJ0 KHN0cnVjdCBzb2NrICpzc2ssIHN0cnVjdCBza19idWZmICpza2IsCiAJfQogCiAJbmxrLT5jYl9y dW5uaW5nID0gdHJ1ZTsKKwlubGstPmR1bXBfZG9uZV9lcnJubyA9IElOVF9NQVg7CiAKIAltdXRl eF91bmxvY2sobmxrLT5jYl9tdXRleCk7CiAKZGlmZiAtLWdpdCBhL25ldC9uZXRsaW5rL2FmX25l dGxpbmsuaCBiL25ldC9uZXRsaW5rL2FmX25ldGxpbmsuaAppbmRleCA0ZmRiMzgzMTg5NzcuLmJh ZTk2MWNmYTNhZCAxMDA2NDQKLS0tIGEvbmV0L25ldGxpbmsvYWZfbmV0bGluay5oCisrKyBiL25l dC9uZXRsaW5rL2FmX25ldGxpbmsuaApAQCAtMjQsNiArMjQsNyBAQCBzdHJ1Y3QgbmV0bGlua19z b2NrIHsKIAl3YWl0X3F1ZXVlX2hlYWRfdAl3YWl0OwogCWJvb2wJCQlib3VuZDsKIAlib29sCQkJ Y2JfcnVubmluZzsKKwlpbnQJCQlkdW1wX2RvbmVfZXJybm87CiAJc3RydWN0IG5ldGxpbmtfY2Fs bGJhY2sJY2I7CiAJc3RydWN0IG11dGV4CQkqY2JfbXV0ZXg7CiAJc3RydWN0IG11dGV4CQljYl9k ZWZfbXV0ZXg7Ci0tIAoyLjEzLjYKCgpGcm9tIDNmZjMyOWU4YzExNjhmMzM0MWYyMWNlMDgzNTE2 NTkzMzk5Y2ZhZTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFhpbiBMb25nIDxsdWNp ZW4ueGluQGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAxNyBPY3QgMjAxNyAyMzoyNjoxMCArMDgwMApT dWJqZWN0OiBbUEFUQ0ggMTIvMTRdIHNjdHA6IGRvIG5vdCBwZWVsIG9mZiBhbiBhc3NvYyBmcm9t IG9uZSBuZXRucyB0bwogYW5vdGhlciBvbmUKClsgVXBzdHJlYW0gY29tbWl0IGRmODBjZDliMjhi OWViYWEyODRhNDFkZjYxMWRiZjNhMmQwNWNhNzQgXQoKTm93IHdoZW4gcGVlbGluZyBvZmYgYW4g YXNzb2NpYXRpb24gdG8gdGhlIHNvY2sgaW4gYW5vdGhlciBuZXRucywgYWxsCnRyYW5zcG9ydHMg aW4gdGhpcyBhc3NvYyBhcmUgbm90IHRvIGJlIHJlaGFzaGVkIGFuZCBrZWVwIHVzZSB0aGUgb2xk CmtleSBpbiBoYXNodGFibGUuCgpBcyBhIHRyYW5zcG9ydCB1c2VzIHNrLT5uZXQgYXMgdGhlIGhh c2gga2V5IHRvIGluc2VydCBpbnRvIGhhc2h0YWJsZSwKaXQgd291bGQgbWlzcyByZW1vdmluZyB0 aGVzZSB0cmFuc3BvcnRzIGZyb20gaGFzaHRhYmxlIGR1ZSB0byB0aGUgbmV3Cm5ldG5zIHdoZW4g Y2xvc2luZyB0aGUgc29jayBhbmQgYWxsIHRyYW5zcG9ydHMgYXJlIGJlaW5nIGZyZWVlZCwgdGhl bgpsYXRlciBhbiB1c2UtYWZ0ZXItZnJlZSBpc3N1ZSBjb3VsZCBiZSBjYXVzZWQgd2hlbiBsb29r aW5nIHVwIGFuIGFzb2MKYW5kIGRlcmVmZXJlbmNpbmcgdGhvc2UgdHJhbnNwb3J0cy4KClRoaXMg aXMgYSB2ZXJ5IG9sZCBpc3N1ZSBzaW5jZSB2ZXJ5IGJlZ2lubmluZywgQ2h1bll1IGZvdW5kIGl0 IHdpdGgKc3l6a2FsbGVyIGZ1enogdGVzdGluZyB3aXRoIHRoaXMgc2VyaWVzOgoKICBzb2NrZXQk aW5ldDZfc2N0cCgpCiAgYmluZCRpbmV0NigpCiAgc2VuZHRvJGluZXQ2KCkKICB1bnNoYXJlKDB4 NDAwMDAwMDApCiAgZ2V0c29ja29wdCRpbmV0X3NjdHA2X1NDVFBfR0VUX0FTU09DX0lEX0xJU1Qo KQogIGdldHNvY2tvcHQkaW5ldF9zY3RwNl9TQ1RQX1NPQ0tPUFRfUEVFTE9GRigpCgpUaGlzIHBh dGNoIGlzIHRvIGJsb2NrIHRoaXMgY2FsbCB3aGVuIHBlZWxpbmcgb25lIGFzc29jIG9mZiBmcm9t IG9uZQpuZXRucyB0byBhbm90aGVyIG9uZSwgc28gdGhhdCB0aGUgbmV0bnMgb2YgYWxsIHRyYW5z cG9ydCB3b3VsZCBub3QKZ28gb3V0LXN5bmMgd2l0aCB0aGUga2V5IGluIGhhc2h0YWJsZS4KCk5v dGUgdGhhdCB0aGlzIHBhdGNoIGRpZG4ndCBmaXggaXQgYnkgcmVoYXNoaW5nIHRyYW5zcG9ydHMs IGFzIGl0J3MKZGlmZmljdWx0IHRvIGhhbmRsZSB0aGUgc2l0dWF0aW9uIHdoZW4gdGhlIHR1cGxl IGlzIGFscmVhZHkgaW4gdXNlCmluIHRoZSBuZXcgbmV0bnMuIEJlc2lkZXMsIG5vIG9uZSB3b3Vs ZCBsaWtlIHRvIHBlZWwgb2ZmIG9uZSBhc3NvYwp0byBhbm90aGVyIG5ldG5zLCBjb25zaWRlcmlu ZyBpcGFkZHJzLCBpZmFjZXMsIGV0Yy4gYXJlIHVzdWFsbHkKZGlmZmVyZW50LgoKUmVwb3J0ZWQt Ynk6IENodW5ZdSBXYW5nIDxjaHVud2FuZ0ByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBYaW4g TG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+CkFja2VkLWJ5OiBNYXJjZWxvIFJpY2FyZG8gTGVp dG5lciA8bWFyY2Vsby5sZWl0bmVyQGdtYWlsLmNvbT4KQWNrZWQtYnk6IE5laWwgSG9ybWFuIDxu aG9ybWFuQHR1eGRyaXZlci5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2N0cC9zb2NrZXQuYyB8IDQgKysrKwogMSBmaWxl IGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC9zY3RwL3NvY2tldC5j IGIvbmV0L3NjdHAvc29ja2V0LmMKaW5kZXggZmZjYzhhYTc4ZGI3Li5jMDYyY2VhZTE5ZTYgMTAw NjQ0Ci0tLSBhL25ldC9zY3RwL3NvY2tldC5jCisrKyBiL25ldC9zY3RwL3NvY2tldC5jCkBAIC00 NzY0LDYgKzQ3NjQsMTAgQEAgaW50IHNjdHBfZG9fcGVlbG9mZihzdHJ1Y3Qgc29jayAqc2ssIHNj dHBfYXNzb2NfdCBpZCwgc3RydWN0IHNvY2tldCAqKnNvY2twKQogCXN0cnVjdCBzb2NrZXQgKnNv Y2s7CiAJaW50IGVyciA9IDA7CiAKKwkvKiBEbyBub3QgcGVlbCBvZmYgZnJvbSBvbmUgbmV0bnMg dG8gYW5vdGhlciBvbmUuICovCisJaWYgKCFuZXRfZXEoY3VycmVudC0+bnNwcm94eS0+bmV0X25z LCBzb2NrX25ldChzaykpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwogCWlmICghYXNvYykKIAkJcmV0 dXJuIC1FSU5WQUw7CiAKLS0gCjIuMTMuNgoKCkZyb20gODU3MmIyNjk2YTNmMjlmYTBlM2IyMGY3 NzVjZjQ2OTRjYzc3Y2U0MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSHVhY2FpIENo ZW4gPGNoZW5oY0BsZW1vdGUuY29tPgpEYXRlOiBUaHUsIDE2IE5vdiAyMDE3IDExOjA3OjE1ICsw ODAwClN1YmplY3Q6IFtQQVRDSCAxMy8xNF0gZmVhbG54OiBGaXggYnVpbGRpbmcgZXJyb3Igb24g TUlQUwoKWyBVcHN0cmVhbSBjb21taXQgY2M1NGMxZDMyZTZhNGJiM2YxMTY3MjFhYmY5MDA1MTMx NzNlNGQwMiBdCgpUaGlzIHBhdGNoIHRyeSB0byBmaXggdGhlIGJ1aWxkaW5nIGVycm9yIG9uIE1J UFMuIFRoZSByZWFzb24gaXMgTUlQUwpoYXMgYWxyZWFkeSBkZWZpbmVkIHRoZSBMT05HIG1hY3Jv LCB3aGljaCBjb25mbGljdHMgd2l0aCB0aGUgTE9ORyBlbnVtCmluIGRyaXZlcnMvbmV0L2V0aGVy bmV0L2ZlYWxueC5jLgoKU2lnbmVkLW9mZi1ieTogSHVhY2FpIENoZW4gPGNoZW5oY0BsZW1vdGUu Y29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvZmVhbG54LmMgfCA2ICsrKy0tLQogMSBmaWxlIGNo YW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC9ldGhlcm5ldC9mZWFsbnguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZlYWxueC5j CmluZGV4IGMwOGJkNzYzMTcyYS4uYTMwMGVkNDhhN2Q4IDEwMDY0NAotLS0gYS9kcml2ZXJzL25l dC9ldGhlcm5ldC9mZWFsbnguYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9mZWFsbnguYwpA QCAtMjU3LDggKzI1Nyw4IEBAIGVudW0gcnhfZGVzY19zdGF0dXNfYml0cyB7CiAJUlhGU0QgPSAw eDAwMDAwODAwLAkvKiBmaXJzdCBkZXNjcmlwdG9yICovCiAJUlhMU0QgPSAweDAwMDAwNDAwLAkv KiBsYXN0IGRlc2NyaXB0b3IgKi8KIAlFcnJvclN1bW1hcnkgPSAweDgwLAkvKiBlcnJvciBzdW1t YXJ5ICovCi0JUlVOVCA9IDB4NDAsCQkvKiBydW50IHBhY2tldCByZWNlaXZlZCAqLwotCUxPTkcg PSAweDIwLAkJLyogbG9uZyBwYWNrZXQgcmVjZWl2ZWQgKi8KKwlSVU5UUEtUID0gMHg0MCwJCS8q IHJ1bnQgcGFja2V0IHJlY2VpdmVkICovCisJTE9OR1BLVCA9IDB4MjAsCQkvKiBsb25nIHBhY2tl dCByZWNlaXZlZCAqLwogCUZBRSA9IDB4MTAsCQkvKiBmcmFtZSBhbGlnbiBlcnJvciAqLwogCUNS QyA9IDB4MDgsCQkvKiBjcmMgZXJyb3IgKi8KIAlSWEVSID0gMHgwNCwJCS8qIHJlY2VpdmUgZXJy b3IgKi8KQEAgLTE2MzMsNyArMTYzMyw3IEBAIHN0YXRpYyBpbnQgbmV0ZGV2X3J4KHN0cnVjdCBu ZXRfZGV2aWNlICpkZXYpCiAJCQkJCSAgICAgICBkZXYtPm5hbWUsIHJ4X3N0YXR1cyk7CiAKIAkJ CQlkZXYtPnN0YXRzLnJ4X2Vycm9ycysrOwkvKiBlbmQgb2YgYSBwYWNrZXQuICovCi0JCQkJaWYg KHJ4X3N0YXR1cyAmIChMT05HIHwgUlVOVCkpCisJCQkJaWYgKHJ4X3N0YXR1cyAmIChMT05HUEtU IHwgUlVOVFBLVCkpCiAJCQkJCWRldi0+c3RhdHMucnhfbGVuZ3RoX2Vycm9ycysrOwogCQkJCWlm IChyeF9zdGF0dXMgJiBSWEVSKQogCQkJCQlkZXYtPnN0YXRzLnJ4X2ZyYW1lX2Vycm9ycysrOwot LSAKMi4xMy42CgoKRnJvbSAxZWIzMTE3MTA3NGI1NjY5MThjYjliNTc5MWY3M2MxYzk5YjI5ZDEz IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiRXJpYyBXLiBCaWVkZXJtYW4iIDxlYmll ZGVybUB4bWlzc2lvbi5jb20+CkRhdGU6IFdlZCwgMTUgTm92IDIwMTcgMjI6MTc6NDggLTA2MDAK U3ViamVjdDogW1BBVENIIDE0LzE0XSBuZXQvc2N0cDogQWx3YXlzIHNldCBzY29wZV9pZCBpbiBz Y3RwX2luZXQ2X3NrYl9tc2duYW1lCgpbIFVwc3RyZWFtIGNvbW1pdCA3YzhhNjFkOWVlMWRmMGZi NDc0Nzg3OWZhNjdhOTk2MTRlYjYyZmVjIF0KCkFsZXhhbmRhciBQb3RhcGVua28gd2hpbGUgdGVz dGluZyB0aGUga2VybmVsIHdpdGggS01TQU4gYW5kIHN5emthbGxlcgpkaXNjb3ZlcmVkIHRoYXQg aW4gc29tZSBjb25maWd1cmF0aW9ucyBzY3RwIHdvdWxkIGxlYWsgNCBieXRlcyBvZgprZXJuZWwg c3RhY2suCgpXb3JraW5nIHdpdGggaGlzIHJlcHJvZHVjZXIgSSBkaXNjb3ZlcmVkIHRoYXQgdGhv c2UgNCBieXRlcyB0aGF0CmFyZSBsZWFrZWQgaXMgdGhlIHNjb3BlIGlkIG9mIGFuIGlwdjYgYWRk cmVzcyByZXR1cm5lZCBieSByZWN2bXNnLgoKV2l0aCBhIGxpdHRsZSBjb2RlIGluc3BlY3Rpb24g YW5kIGEgc2hyZXdkIGd1ZXNzIEkgZGlzY292ZXJlZCB0aGF0CnNjdHBfaW5ldDZfc2tiX21zZ25h bWUgb25seSBpbml0aWFsaXplcyB0aGUgc2NvcGVfaWQgZmllbGQgZm9yIGxpbmsKbG9jYWwgaXB2 NiBhZGRyZXNzZXMgdG8gdGhlIGludGVyZmFjZSBpbmRleCB0aGUgbGluayBsb2NhbCBhZGRyZXNz CnBlcnRhaW5zIHRvIGluc3RlYWQgb2YgaW5pdGlhbGl6aW5nIHRoZSBzY29wZV9pZCBmaWVsZCBm b3IgYWxsIGlwdjYKYWRkcmVzc2VzLgoKVGhhdCBpcyBhbG1vc3QgcmVhc29uYWJsZSBhcyBzY29w ZV9pZCdzIGFyZSBtZWFuaW5pbmdmdWwgb25seSBmb3IgbGluawpsb2NhbCBhZGRyZXNzZXMuICBT ZXQgdGhlIHNjb3BlX2lkIGluIGFsbCBvdGhlciBjYXNlcyB0byAwIHdoaWNoIGlzCm5vdCBhIHZh bGlkIGludGVyZmFjZSBpbmRleCB0byBtYWtlIGl0IGNsZWFyIHRoZXJlIGlzIG5vdGhpbmcgdXNl ZnVsCmluIHRoZSBzY29wZV9pZCBmaWVsZC4KClRoZXJlIHNob3VsZCBiZSBubyBkYW5nZXIgb2Yg YnJlYWtpbmcgdXNlcnNwYWNlIGFzIHRoZSBzdGFjayBsZWFrCmd1YXJhbnRlZWQgdGhhdCBwcmV2 aW91c2x5IG1lYW5pbmdsZXNzIHJhbmRvbSBkYXRhIHdhcyBiZWluZyByZXR1cm5lZC4KCkZpeGVz OiAzNzJmNTI1YjQ5NWMgKCJTQ1RQOiAgUmVzeW5jIHdpdGggTEtTQ1RQIHRyZWUuIikKSGlzdG9y eS10cmVlOiBodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC90 Z2x4L2hpc3RvcnkuZ2l0ClJlcG9ydGVkLWJ5OiBBbGV4YW5kZXIgUG90YXBlbmtvIDxnbGlkZXJA Z29vZ2xlLmNvbT4KVGVzdGVkLWJ5OiBBbGV4YW5kZXIgUG90YXBlbmtvIDxnbGlkZXJAZ29vZ2xl LmNvbT4KU2lnbmVkLW9mZi1ieTogIkVyaWMgVy4gQmllZGVybWFuIiA8ZWJpZWRlcm1AeG1pc3Np b24uY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+Ci0tLQogbmV0L3NjdHAvaXB2Ni5jIHwgNSArKystLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5z ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvc2N0cC9pcHY2LmMg Yi9uZXQvc2N0cC9pcHY2LmMKaW5kZXggZjdmMDBkMDEyODg4Li41ZDAxNTI3MGU0NTQgMTAwNjQ0 Ci0tLSBhL25ldC9zY3RwL2lwdjYuYworKysgYi9uZXQvc2N0cC9pcHY2LmMKQEAgLTgwNiw5ICs4 MDYsMTAgQEAgc3RhdGljIHZvaWQgc2N0cF9pbmV0Nl9za2JfbXNnbmFtZShzdHJ1Y3Qgc2tfYnVm ZiAqc2tiLCBjaGFyICptc2duYW1lLAogCQlhZGRyLT52Ni5zaW42X2Zsb3dpbmZvID0gMDsKIAkJ YWRkci0+djYuc2luNl9wb3J0ID0gc2gtPnNvdXJjZTsKIAkJYWRkci0+djYuc2luNl9hZGRyID0g aXB2Nl9oZHIoc2tiKS0+c2FkZHI7Ci0JCWlmIChpcHY2X2FkZHJfdHlwZSgmYWRkci0+djYuc2lu Nl9hZGRyKSAmIElQVjZfQUREUl9MSU5LTE9DQUwpIHsKKwkJaWYgKGlwdjZfYWRkcl90eXBlKCZh ZGRyLT52Ni5zaW42X2FkZHIpICYgSVBWNl9BRERSX0xJTktMT0NBTCkKIAkJCWFkZHItPnY2LnNp bjZfc2NvcGVfaWQgPSBzY3RwX3Y2X3NrYl9paWYoc2tiKTsKLQkJfQorCQllbHNlCisJCQlhZGRy LT52Ni5zaW42X3Njb3BlX2lkID0gMDsKIAl9CiAKIAkqYWRkcl9sZW4gPSBzY3RwX3Y2X2FkZHJf dG9fdXNlcihzY3RwX3NrKHNrYi0+c2spLCBhZGRyKTsKLS0gCjIuMTMuNgoK ----Next_Part(Mon_Nov_20_20_47_27_2017_570)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_413.mbox" RnJvbSBmOWU5ODRkM2Q1YmZmYWZiNTlmZTAyZjU3NWQ3OWU0NjcyOTFkYzk3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLb25zdGFudGluIEtobGVibmlrb3YgPGtobGVibmlrb3ZAeWFu ZGV4LXRlYW0ucnU+CkRhdGU6IFdlZCwgMSBOb3YgMjAxNyAxNjozMjoxNSArMDMwMApTdWJqZWN0 OiBbUEFUQ0ggMDEvMjJdIHRjcF9udjogZml4IGRpdmlzaW9uIGJ5IHplcm8gaW4gdGNwbnZfYWNr ZWQoKQoKWyBVcHN0cmVhbSBjb21taXQgNGVlYmZmMjdjYTQxODJiYmY1ZjAzOWRkNjBkNzllMmQ3 YzBhNzA3ZSBdCgpBdmVyYWdlIFJUVCBjb3VsZCBiZWNvbWUgemVyby4gVGhpcyBoYXBwZW5lZCBp biByZWFsIGxpZmUgYXQgbGVhc3QgdHdpY2UuClRoaXMgcGF0Y2ggdHJlYXRzIHplcm8gYXMgMXVz LgoKU2lnbmVkLW9mZi1ieTogS29uc3RhbnRpbiBLaGxlYm5pa292IDxraGxlYm5pa292QHlhbmRl eC10ZWFtLnJ1PgpBY2tlZC1ieTogTGF3cmVuY2UgQnJha21vIDxCcmFrbW9AZmIuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0 L2lwdjQvdGNwX252LmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC90Y3BfbnYuYyBiL25ldC9pcHY0L3Rj cF9udi5jCmluZGV4IDZkNjUwZWQzY2I1OS4uNWM4NzE2NjZjNTYxIDEwMDY0NAotLS0gYS9uZXQv aXB2NC90Y3BfbnYuYworKysgYi9uZXQvaXB2NC90Y3BfbnYuYwpAQCAtMjYzLDcgKzI2Myw3IEBA IHN0YXRpYyB2b2lkIHRjcG52X2Fja2VkKHN0cnVjdCBzb2NrICpzaywgY29uc3Qgc3RydWN0IGFj a19zYW1wbGUgKnNhbXBsZSkKIAogCS8qIHJhdGUgaW4gMTAwJ3MgYml0cyBwZXIgc2Vjb25kICov CiAJcmF0ZTY0ID0gKCh1NjQpc2FtcGxlLT5pbl9mbGlnaHQpICogODAwMDAwMDsKLQlyYXRlID0g KHUzMilkaXY2NF91NjQocmF0ZTY0LCAodTY0KShhdmdfcnR0ICogMTAwKSk7CisJcmF0ZSA9ICh1 MzIpZGl2NjRfdTY0KHJhdGU2NCwgKHU2NCkoYXZnX3J0dCA/OiAxKSAqIDEwMCk7CiAKIAkvKiBS ZW1lbWJlciB0aGUgbWF4aW11bSByYXRlIHNlZW4gZHVyaW5nIHRoaXMgUlRUCiAJICogTm90ZTog SXQgbWF5IGJlIG1vcmUgdGhhbiBvbmUgUlRULiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBiZQotLSAK Mi4xMy42CgoKRnJvbSAxNmYwYTdlYzZkNjM3NTQ0MzQzOGY0YzYxNDIyMGI0YWY0ZGMwYmNjIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIEJhcm5oaWxsIDwweGVmZmVmZkBnbWFp bC5jb20+CkRhdGU6IFdlZCwgMSBOb3YgMjAxNyAxNDo1ODowOSArMDAwMApTdWJqZWN0OiBbUEFU Q0ggMDIvMjJdIG5ldDogdnJmOiBjb3JyZWN0IEZSQV9MM01ERVYgZW5jb2RlIHR5cGUKClsgVXBz dHJlYW0gY29tbWl0IDE4MTI5YTI0OTgzOTA2ZWFmMmEyZDQ0OGNlNGI4M2UyNzA5MWViZTIgXQoK RlJBX0wzTURFViBpcyBkZWZpbmVkIGFzIFU4LCBidXQgaXMgYmVpbmcgYWRkZWQgYXMgYSBVMzIg YXR0cmlidXRlLiBPbgpiaWcgZW5kaWFuIGFyY2hpdGVjdHVyZSwgdGhpcyByZXN1bHRzIGluIHRo ZSBsM21kZXYgZW50cnkgbm90IGJlaW5nCmFkZGVkIHRvIHRoZSBGSUIgcnVsZXMuCgpGaXhlczog MWFhNmM0ZjZiOGNkOCAoIm5ldDogdnJmOiBBZGQgbDNtZGV2IHJ1bGVzIG9uIGZpcnN0IGRldmlj ZSBjcmVhdGUiKQpTaWduZWQtb2ZmLWJ5OiBKZWZmIEJhcm5oaWxsIDwweGVmZmVmZkBnbWFpbC5j b20+CkFja2VkLWJ5OiBEYXZpZCBBaGVybiA8ZHNhaGVybkBnbWFpbC5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25l dC92cmYuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlv bigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3ZyZi5jIGIvZHJpdmVycy9uZXQvdnJmLmMK aW5kZXggOGExZWFmM2MzMDJhLi5lOTFlZjVlMjM2Y2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0 L3ZyZi5jCisrKyBiL2RyaXZlcnMvbmV0L3ZyZi5jCkBAIC0xMjcxLDcgKzEyNzEsNyBAQCBzdGF0 aWMgaW50IHZyZl9maWJfcnVsZShjb25zdCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBfX3U4IGZh bWlseSwgYm9vbCBhZGRfaXQpCiAJZnJoLT5mYW1pbHkgPSBmYW1pbHk7CiAJZnJoLT5hY3Rpb24g PSBGUl9BQ1RfVE9fVEJMOwogCi0JaWYgKG5sYV9wdXRfdTMyKHNrYiwgRlJBX0wzTURFViwgMSkp CisJaWYgKG5sYV9wdXRfdTgoc2tiLCBGUkFfTDNNREVWLCAxKSkKIAkJZ290byBubGFfcHV0X2Zh aWx1cmU7CiAKIAlpZiAobmxhX3B1dF91MzIoc2tiLCBGUkFfUFJJT1JJVFksIEZJQl9SVUxFX1BS RUYpKQotLSAKMi4xMy42CgoKRnJvbSA5ODUxZDlmNzA2YTZiOTg2NjlkZWExN2JhZmJmYzc4NjMw MGRhODRjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1h emV0QGdvb2dsZS5jb20+CkRhdGU6IFRodSwgMiBOb3YgMjAxNyAxMjozMDoyNSAtMDcwMApTdWJq ZWN0OiBbUEFUQ0ggMDMvMjJdIHRjcDogZG8gbm90IG1hbmdsZSBza2ItPmNiW10gaW4gdGNwX21h a2Vfc3luYWNrKCkKClsgVXBzdHJlYW0gY29tbWl0IDNiMTE3NzUwMzNkYzg3YzNkMTYxOTk2YzU0 NTA3YjE1YmEyNjQxNGEgXQoKQ2hyaXN0b3BoIFBhYXNjaCBzZW50IGEgcGF0Y2ggdG8gYWRkcmVz cyB0aGUgZm9sbG93aW5nIGlzc3VlIDoKCnRjcF9tYWtlX3N5bmFjaygpIGlzIGxlYXZpbmcgc29t ZSBUQ1AgcHJpdmF0ZSBpbmZvIGluIHNrYi0+Y2JbXSwKdGhlbiBzZW5kIHRoZSBwYWNrZXQgYnkg b3RoZXIgbWVhbnMgdGhhbiB0Y3BfdHJhbnNtaXRfc2tiKCkKCnRjcF90cmFuc21pdF9za2IoKSBt YWtlcyBzdXJlIHRvIGNsZWFyIHNrYi0+Y2JbXSB0byBub3QgY29uZnVzZQpJUHY0L0lQVjYgc3Rh Y2tzLCBidXQgd2UgaGF2ZSBubyBzdWNoIGNsZWFudXAgZm9yIFNZTkFDSy4KCnRjcF9tYWtlX3N5 bmFjaygpIHNob3VsZCBub3QgdXNlIHRjcF9pbml0X25vbmRhdGFfc2tiKCkgOgoKdGNwX2luaXRf bm9uZGF0YV9za2IoKSByZWFsbHkgc2hvdWxkIGJlIGxpbWl0ZWQgdG8gc2ticyBwdXQgaW4gd3Jp dGUvcnR4CnF1ZXVlcyAodGhlIG9uZXMgdGhhdCBhcmUgb25seSBzZW50IHZpYSB0Y3BfdHJhbnNt aXRfc2tiKCkpCgpUaGlzIHBhdGNoIGZpeGVzIHRoZSBpc3N1ZSBhbmQgc2hvdWxkIGV2ZW4gc2F2 ZSBmZXcgY3B1IGN5Y2xlcyA7KQoKRml4ZXM6IDk3MWYxMGVjYTE4NiAoInRjcDogYmV0dGVyIFRD UF9TS0JfQ0IgbGF5b3V0IHRvIHJlZHVjZSBjYWNoZSBsaW5lIG1pc3NlcyIpClNpZ25lZC1vZmYt Ynk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KUmVwb3J0ZWQtYnk6IENocmlz dG9waCBQYWFzY2ggPGNwYWFzY2hAYXBwbGUuY29tPgpSZXZpZXdlZC1ieTogQ2hyaXN0b3BoIFBh YXNjaCA8Y3BhYXNjaEBhcHBsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC90Y3Bfb3V0cHV0LmMgfCA5ICsrLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9uZXQvaXB2NC90Y3Bfb3V0cHV0LmMgYi9uZXQvaXB2NC90Y3Bfb3V0cHV0LmMK aW5kZXggNTg1ODdiMGUyYjVkLi5lMzU5ODQwZjQ2YzAgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3Rj cF9vdXRwdXQuYworKysgYi9uZXQvaXB2NC90Y3Bfb3V0cHV0LmMKQEAgLTMyMDcsMTMgKzMyMDcs OCBAQCBzdHJ1Y3Qgc2tfYnVmZiAqdGNwX21ha2Vfc3luYWNrKGNvbnN0IHN0cnVjdCBzb2NrICpz aywgc3RydWN0IGRzdF9lbnRyeSAqZHN0LAogCXRoLT5zb3VyY2UgPSBodG9ucyhpcmVxLT5pcl9u dW0pOwogCXRoLT5kZXN0ID0gaXJlcS0+aXJfcm10X3BvcnQ7CiAJc2tiLT5tYXJrID0gaXJlcS0+ aXJfbWFyazsKLQkvKiBTZXR0aW5nIG9mIGZsYWdzIGFyZSBzdXBlcmZsdW91cyBoZXJlIGZvciBj YWxsZXJzIChhbmQgRUNFIGlzCi0JICogbm90IGV2ZW4gY29ycmVjdGx5IHNldCkKLQkgKi8KLQl0 Y3BfaW5pdF9ub25kYXRhX3NrYihza2IsIHRjcF9yc2socmVxKS0+c250X2lzbiwKLQkJCSAgICAg VENQSERSX1NZTiB8IFRDUEhEUl9BQ0spOwotCi0JdGgtPnNlcSA9IGh0b25sKFRDUF9TS0JfQ0Io c2tiKS0+c2VxKTsKKwlza2ItPmlwX3N1bW1lZCA9IENIRUNLU1VNX1BBUlRJQUw7CisJdGgtPnNl cSA9IGh0b25sKHRjcF9yc2socmVxKS0+c250X2lzbik7CiAJLyogWFhYIGRhdGEgaXMgcXVldWVk IGFuZCBhY2tlZCBhcyBpcy4gTm8gYnVmZmVyL3dpbmRvdyBjaGVjayAqLwogCXRoLT5hY2tfc2Vx ID0gaHRvbmwodGNwX3JzayhyZXEpLT5yY3Zfbnh0KTsKIAotLSAKMi4xMy42CgoKRnJvbSAwMWU4 MWE0YTEwMzkwNmUyYzA5NTcxYzlmNzRlNzVjYjY2YjM0OTM0IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBGbG9yaWFuIEZhaW5lbGxpIDxmLmZhaW5lbGxpQGdtYWlsLmNvbT4KRGF0ZTog VGh1LCAyIE5vdiAyMDE3IDE2OjA4OjQwIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwNC8yMl0gbmV0 OiBzeXN0ZW1wb3J0OiBDb3JyZWN0IElQRyBsZW5ndGggc2V0dGluZ3MKClsgVXBzdHJlYW0gY29t bWl0IDkzODI0YzgwYmY0N2ViZTA4NzQxNGIzYTQwY2EwZmY5YWFiN2QxZmIgXQoKRHVlIHRvIGEg ZG9jdW1lbnRhdGlvbiBtaXN0YWtlLCB0aGUgSVBHIGxlbmd0aCB3YXMgc2V0IHRvIDB4MTIgd2hp bGUgaXQKc2hvdWxkIGhhdmUgYmVlbiAxMiAoZGVjaW1hbCkuIFRoaXMgd291bGQgYWZmZWN0IHNo b3J0IHBhY2tldCAoNjRCCnR5cGljYWxseSkgcGVyZm9ybWFuY2Ugc2luY2UgdGhlIElQRyB3YXMg YmlnZ2VyIHRoYW4gbmVjZXNzYXJ5LgoKRml4ZXM6IDQ0YTQ1MjRjNTRhZiAoIm5ldDogc3lzdGVt cG9ydDogQWRkIHN1cHBvcnQgZm9yIFNZU1RFTVBPUlQgTGl0ZSIpClNpZ25lZC1vZmYtYnk6IEZs b3JpYW4gRmFpbmVsbGkgPGYuZmFpbmVsbGlAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJu ZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5jIHwgMTAgKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQs IDYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9ldGhlcm5ldC9icm9hZGNvbS9iY21zeXNwb3J0LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9i cm9hZGNvbS9iY21zeXNwb3J0LmMKaW5kZXggYzI4ZmE1YTg3MzRjLi5iYTE1ZWVhZGZlMjEgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JjbXN5c3BvcnQuYworKysg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9iY21zeXNwb3J0LmMKQEAgLTE3NDMsMTUg KzE3NDMsMTcgQEAgc3RhdGljIGlubGluZSB2b2lkIGJjbV9zeXNwb3J0X21hc2tfYWxsX2ludHJz KHN0cnVjdCBiY21fc3lzcG9ydF9wcml2ICpwcml2KQogCiBzdGF0aWMgaW5saW5lIHZvaWQgZ2li X3NldF9wYWRfZXh0ZW5zaW9uKHN0cnVjdCBiY21fc3lzcG9ydF9wcml2ICpwcml2KQogewotCXUz MiBfX21heWJlX3VudXNlZCByZWc7CisJdTMyIHJlZzsKIAotCS8qIEluY2x1ZGUgQnJvYWRjb20g dGFnIGluIHBhZCBleHRlbnNpb24gKi8KKwlyZWcgPSBnaWJfcmVhZGwocHJpdiwgR0lCX0NPTlRS T0wpOworCS8qIEluY2x1ZGUgQnJvYWRjb20gdGFnIGluIHBhZCBleHRlbnNpb24gYW5kIGZpeCB1 cCBJUEdfTEVOR1RIICovCiAJaWYgKG5ldGRldl91c2VzX2RzYShwcml2LT5uZXRkZXYpKSB7Ci0J CXJlZyA9IGdpYl9yZWFkbChwcml2LCBHSUJfQ09OVFJPTCk7CiAJCXJlZyAmPSB+KEdJQl9QQURf RVhURU5TSU9OX01BU0sgPDwgR0lCX1BBRF9FWFRFTlNJT05fU0hJRlQpOwogCQlyZWcgfD0gRU5F VF9CUkNNX1RBR19MRU4gPDwgR0lCX1BBRF9FWFRFTlNJT05fU0hJRlQ7Ci0JCWdpYl93cml0ZWwo cHJpdiwgcmVnLCBHSUJfQ09OVFJPTCk7CiAJfQorCXJlZyAmPSB+KEdJQl9JUEdfTEVOX01BU0sg PDwgR0lCX0lQR19MRU5fU0hJRlQpOworCXJlZyB8PSAxMiA8PCBHSUJfSVBHX0xFTl9TSElGVDsK KwlnaWJfd3JpdGVsKHByaXYsIHJlZywgR0lCX0NPTlRST0wpOwogfQogCiBzdGF0aWMgaW50IGJj bV9zeXNwb3J0X29wZW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldikKLS0gCjIuMTMuNgoKCkZyb20g MjBmNzliOGY4NDg3NzVkYzQyNzM4YzgzZmZlOTAzOTdhODgyMWVkOCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogWWUgWWluIDxodXN0Y2F0QGdtYWlsLmNvbT4KRGF0ZTogVGh1LCAyNiBP Y3QgMjAxNyAxNjo1NzowNSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDUvMjJdIG5ldGZpbHRlci9p cHZzOiBjbGVhciBpcHZzX3Byb3BlcnR5IGZsYWcgd2hlbiBTS0IgbmV0CiBuYW1lc3BhY2UgY2hh bmdlZAoKWyBVcHN0cmVhbSBjb21taXQgMmI1ZWMxYTVmOTczOGVlN2JmOGY1ZWMwNTI2ZTc1ZTAw MzYyYzQ4ZiBdCgpXaGVuIHJ1biBpcHZzIGluIHR3byBkaWZmZXJlbnQgbmV0d29yayBuYW1lc3Bh Y2UgYXQgdGhlIHNhbWUgaG9zdCwgYW5kIG9uZQppcHZzIHRyYW5zcG9ydCBuZXR3b3JrIHRyYWZm aWMgdG8gdGhlIG90aGVyIG5ldHdvcmsgbmFtZXNwYWNlIGlwdnMuCidpcHZzX3Byb3BlcnR5JyBm bGFnIHdpbGwgbWFrZSB0aGUgc2Vjb25kIGlwdnMgdGFrZSBubyBlZmZlY3QuIFNvIHdlIHNob3Vs ZApjbGVhciAnaXB2c19wcm9wZXJ0eScgd2hlbiBTS0IgbmV0d29yayBuYW1lc3BhY2UgY2hhbmdl ZC4KCkZpeGVzOiA2MjFlODRkNmYzNzMgKCJkZXY6IGludHJvZHVjZSBza2Jfc2NydWJfcGFja2V0 KCkiKQpTaWduZWQtb2ZmLWJ5OiBZZSBZaW4gPGh1c3RjYXRAZ21haWwuY29tPgpTaWduZWQtb2Zm LWJ5OiBXZWkgWmhvdSA8Y2hvdXJ5emhvdUBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IEp1bGlh biBBbmFzdGFzb3YgPGphQHNzaS5iZz4KU2lnbmVkLW9mZi1ieTogU2ltb24gSG9ybWFuIDxob3Jt c0B2ZXJnZS5uZXQuYXU+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldD4KLS0tCiBpbmNsdWRlL2xpbnV4L3NrYnVmZi5oIHwgNyArKysrKysrCiBuZXQv Y29yZS9za2J1ZmYuYyAgICAgIHwgMSArCiAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvc2tidWZmLmggYi9pbmNsdWRlL2xpbnV4L3Nr YnVmZi5oCmluZGV4IDYzZGY3NWFlNzBlZS4uYmFmMmRkMTAyNjg2IDEwMDY0NAotLS0gYS9pbmNs dWRlL2xpbnV4L3NrYnVmZi5oCisrKyBiL2luY2x1ZGUvbGludXgvc2tidWZmLmgKQEAgLTM2NTUs NiArMzY1NSwxMyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgbmZfcmVzZXRfdHJhY2Uoc3RydWN0IHNr X2J1ZmYgKnNrYikKICNlbmRpZgogfQogCitzdGF0aWMgaW5saW5lIHZvaWQgaXB2c19yZXNldChz dHJ1Y3Qgc2tfYnVmZiAqc2tiKQoreworI2lmIElTX0VOQUJMRUQoQ09ORklHX0lQX1ZTKQorCXNr Yi0+aXB2c19wcm9wZXJ0eSA9IDA7CisjZW5kaWYKK30KKwogLyogTm90ZTogVGhpcyBkb2Vzbid0 IHB1dCBhbnkgY29ubnRyYWNrIGFuZCBicmlkZ2UgaW5mbyBpbiBkc3QuICovCiBzdGF0aWMgaW5s aW5lIHZvaWQgX19uZl9jb3B5KHN0cnVjdCBza19idWZmICpkc3QsIGNvbnN0IHN0cnVjdCBza19i dWZmICpzcmMsCiAJCQkgICAgIGJvb2wgY29weSkKZGlmZiAtLWdpdCBhL25ldC9jb3JlL3NrYnVm Zi5jIGIvbmV0L2NvcmUvc2tidWZmLmMKaW5kZXggNzJlYjIzZDI0MjZmLi5hMDE1NTU3OGU5NTEg MTAwNjQ0Ci0tLSBhL25ldC9jb3JlL3NrYnVmZi5jCisrKyBiL25ldC9jb3JlL3NrYnVmZi5jCkBA IC00NDc2LDYgKzQ0NzYsNyBAQCB2b2lkIHNrYl9zY3J1Yl9wYWNrZXQoc3RydWN0IHNrX2J1ZmYg KnNrYiwgYm9vbCB4bmV0KQogCWlmICgheG5ldCkKIAkJcmV0dXJuOwogCisJaXB2c19yZXNldChz a2IpOwogCXNrYl9vcnBoYW4oc2tiKTsKIAlza2ItPm1hcmsgPSAwOwogfQotLSAKMi4xMy42CgoK RnJvbSBiYzhmOTJlZjc2YzQzNDk5YzM2OTIwNWZjOWM4ZDNjOTAwMWY0ODMwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBHdWlsbGF1bWUgTmF1bHQgPGcubmF1bHRAYWxwaGFsaW5rLmZy PgpEYXRlOiBGcmksIDMgTm92IDIwMTcgMTY6NDk6MDAgKzAxMDAKU3ViamVjdDogW1BBVENIIDA2 LzIyXSBsMnRwOiBkb24ndCB1c2UgbDJ0cF90dW5uZWxfZmluZCgpIGluIGwydHBfaXAgYW5kCiBs MnRwX2lwNgoKWyBVcHN0cmVhbSBjb21taXQgOGY3ZGM5YWU0YTdhZWNlOWZiYzNlNjYzN2JkZmEz OGIzNmJjZGYwOSBdCgpVc2luZyBsMnRwX3R1bm5lbF9maW5kKCkgaW4gbDJ0cF9pcF9yZWN2KCkg aXMgd3JvbmcgZm9yIHR3byByZWFzb25zOgoKICAqIEl0IGRvZXNuJ3QgdGFrZSBhIHJlZmVyZW5j ZSBvbiB0aGUgcmV0dXJuZWQgdHVubmVsLCB3aGljaCBtYWtlcyB0aGUKICAgIGNhbGwgcmFjeSB3 cnQuIGNvbmN1cnJlbnQgdHVubmVsIGRlbGV0aW9uLgoKICAqIFRoZSBsb29rdXAgaXMgb25seSBi YXNlZCBvbiB0aGUgdHVubmVsIGlkZW50aWZpZXIsIHNvIGl0IGNhbiByZXR1cm4KICAgIGEgdHVu bmVsIHRoYXQgZG9lc24ndCBtYXRjaCB0aGUgcGFja2V0J3MgYWRkcmVzc2VzIG9yIHByb3RvY29s LgoKRm9yIGV4YW1wbGUsIGEgcGFja2V0IHNlbnQgdG8gYW4gTDJUUHYzIG92ZXIgSVB2NiB0dW5u ZWwgY2FuIGJlCmRlbGl2ZXJlZCB0byBhbiBMMlRQdjIgb3ZlciBVRFB2NCB0dW5uZWwuIFRoaXMg aXMgd29yc2UgdGhhbiBhIHNpbXBsZQpjcm9zcy10YWxrOiB3aGVuIGRlbGl2ZXJpbmcgdGhlIHBh Y2tldCB0byBhbiBMMlRQIG92ZXIgVURQIHR1bm5lbCwgdGhlCmNvcnJlc3BvbmRpbmcgc29ja2V0 IGlzIFVEUCwgd2hlcmUgLT5za19iYWNrbG9nX3JjdigpIGlzIE5VTEwuIENhbGxpbmcKc2tfcmVj ZWl2ZV9za2IoKSB3aWxsIHRoZW4gY3Jhc2ggdGhlIGtlcm5lbCBieSB0cnlpbmcgdG8gZXhlY3V0 ZSB0aGlzCmNhbGxiYWNrLgoKQW5kIGwydHBfdHVubmVsX2ZpbmQoKSBpc24ndCBldmVuIG5lZWRl ZCBoZXJlLiBfX2wydHBfaXBfYmluZF9sb29rdXAoKQpwcm9wZXJseSBjaGVja3MgdGhlIHNvY2tl dCBiaW5kaW5nIGFuZCBjb25uZWN0aW9uIHNldHRpbmdzLiBJdCB3YXMgdXNlZAphcyBhIGZhbGxi YWNrIG1lY2hhbmlzbSBmb3IgZmluZGluZyB0dW5uZWxzIHRoYXQgZGlkbid0IGhhdmUgdGhlaXIg ZGF0YQpwYXRoIHJlZ2lzdGVyZWQgeWV0LiBCdXQgaXQncyBub3QgbGltaXRlZCB0byB0aGlzIGNh c2UgYW5kIGNhbiBiZSB1c2VkCnRvIHJlcGxhY2UgbDJ0cF90dW5uZWxfZmluZCgpIGluIHRoZSBn ZW5lcmFsIGNhc2UuCgpGaXggbDJ0cF9pcDYgaW4gdGhlIHNhbWUgd2F5LgoKRml4ZXM6IDBkNzY3 NTFmYWQ3NyAoImwydHA6IEFkZCBMMlRQdjMgSVAgZW5jYXBzdWxhdGlvbiAobm8gVURQKSBzdXBw b3J0IikKRml4ZXM6IGEzMmUwZWVjNzA0MiAoImwydHA6IGludHJvZHVjZSBMMlRQdjMgSVAgZW5j YXBzdWxhdGlvbiBzdXBwb3J0IGZvciBJUHY2IikKU2lnbmVkLW9mZi1ieTogR3VpbGxhdW1lIE5h dWx0IDxnLm5hdWx0QGFscGhhbGluay5mcj4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVy IDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9sMnRwL2wydHBfaXAuYyAgfCAyNCArKysr KysrKystLS0tLS0tLS0tLS0tLS0KIG5ldC9sMnRwL2wydHBfaXA2LmMgfCAyNCArKysrKysrKyst LS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMzAgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2wydHAvbDJ0cF9pcC5jIGIvbmV0L2wydHAvbDJ0 cF9pcC5jCmluZGV4IDRkMzIyYzFiNzIzMy4uZTQyODBiNjU2OGI0IDEwMDY0NAotLS0gYS9uZXQv bDJ0cC9sMnRwX2lwLmMKKysrIGIvbmV0L2wydHAvbDJ0cF9pcC5jCkBAIC0xMjMsNiArMTIzLDcg QEAgc3RhdGljIGludCBsMnRwX2lwX3JlY3Yoc3RydWN0IHNrX2J1ZmYgKnNrYikKIAl1bnNpZ25l ZCBjaGFyICpwdHIsICpvcHRyOwogCXN0cnVjdCBsMnRwX3Nlc3Npb24gKnNlc3Npb247CiAJc3Ry dWN0IGwydHBfdHVubmVsICp0dW5uZWwgPSBOVUxMOworCXN0cnVjdCBpcGhkciAqaXBoOwogCWlu dCBsZW5ndGg7CiAKIAlpZiAoIXBza2JfbWF5X3B1bGwoc2tiLCA0KSkKQEAgLTE3OCwyNCArMTc5 LDE3IEBAIHN0YXRpYyBpbnQgbDJ0cF9pcF9yZWN2KHN0cnVjdCBza19idWZmICpza2IpCiAJCWdv dG8gZGlzY2FyZDsKIAogCXR1bm5lbF9pZCA9IG50b2hsKCooX19iZTMyICopICZza2ItPmRhdGFb NF0pOwotCXR1bm5lbCA9IGwydHBfdHVubmVsX2ZpbmQobmV0LCB0dW5uZWxfaWQpOwotCWlmICh0 dW5uZWwpIHsKLQkJc2sgPSB0dW5uZWwtPnNvY2s7Ci0JCXNvY2tfaG9sZChzayk7Ci0JfSBlbHNl IHsKLQkJc3RydWN0IGlwaGRyICppcGggPSAoc3RydWN0IGlwaGRyICopIHNrYl9uZXR3b3JrX2hl YWRlcihza2IpOwotCi0JCXJlYWRfbG9ja19iaCgmbDJ0cF9pcF9sb2NrKTsKLQkJc2sgPSBfX2wy dHBfaXBfYmluZF9sb29rdXAobmV0LCBpcGgtPmRhZGRyLCBpcGgtPnNhZGRyLAotCQkJCQkgICBp bmV0X2lpZihza2IpLCB0dW5uZWxfaWQpOwotCQlpZiAoIXNrKSB7Ci0JCQlyZWFkX3VubG9ja19i aCgmbDJ0cF9pcF9sb2NrKTsKLQkJCWdvdG8gZGlzY2FyZDsKLQkJfQorCWlwaCA9IChzdHJ1Y3Qg aXBoZHIgKilza2JfbmV0d29ya19oZWFkZXIoc2tiKTsKIAotCQlzb2NrX2hvbGQoc2spOworCXJl YWRfbG9ja19iaCgmbDJ0cF9pcF9sb2NrKTsKKwlzayA9IF9fbDJ0cF9pcF9iaW5kX2xvb2t1cChu ZXQsIGlwaC0+ZGFkZHIsIGlwaC0+c2FkZHIsIGluZXRfaWlmKHNrYiksCisJCQkJICAgdHVubmVs X2lkKTsKKwlpZiAoIXNrKSB7CiAJCXJlYWRfdW5sb2NrX2JoKCZsMnRwX2lwX2xvY2spOworCQln b3RvIGRpc2NhcmQ7CiAJfQorCXNvY2tfaG9sZChzayk7CisJcmVhZF91bmxvY2tfYmgoJmwydHBf aXBfbG9jayk7CiAKIAlpZiAoIXhmcm00X3BvbGljeV9jaGVjayhzaywgWEZSTV9QT0xJQ1lfSU4s IHNrYikpCiAJCWdvdG8gZGlzY2FyZF9wdXQ7CmRpZmYgLS1naXQgYS9uZXQvbDJ0cC9sMnRwX2lw Ni5jIGIvbmV0L2wydHAvbDJ0cF9pcDYuYwppbmRleCA4OGIzOTdjMzBkODYuLjhiY2FhOTc1YjQz MiAxMDA2NDQKLS0tIGEvbmV0L2wydHAvbDJ0cF9pcDYuYworKysgYi9uZXQvbDJ0cC9sMnRwX2lw Ni5jCkBAIC0xMzYsNiArMTM2LDcgQEAgc3RhdGljIGludCBsMnRwX2lwNl9yZWN2KHN0cnVjdCBz a19idWZmICpza2IpCiAJdW5zaWduZWQgY2hhciAqcHRyLCAqb3B0cjsKIAlzdHJ1Y3QgbDJ0cF9z ZXNzaW9uICpzZXNzaW9uOwogCXN0cnVjdCBsMnRwX3R1bm5lbCAqdHVubmVsID0gTlVMTDsKKwlz dHJ1Y3QgaXB2NmhkciAqaXBoOwogCWludCBsZW5ndGg7CiAKIAlpZiAoIXBza2JfbWF5X3B1bGwo c2tiLCA0KSkKQEAgLTE5MiwyNCArMTkzLDE3IEBAIHN0YXRpYyBpbnQgbDJ0cF9pcDZfcmVjdihz dHJ1Y3Qgc2tfYnVmZiAqc2tiKQogCQlnb3RvIGRpc2NhcmQ7CiAKIAl0dW5uZWxfaWQgPSBudG9o bCgqKF9fYmUzMiAqKSAmc2tiLT5kYXRhWzRdKTsKLQl0dW5uZWwgPSBsMnRwX3R1bm5lbF9maW5k KG5ldCwgdHVubmVsX2lkKTsKLQlpZiAodHVubmVsKSB7Ci0JCXNrID0gdHVubmVsLT5zb2NrOwot CQlzb2NrX2hvbGQoc2spOwotCX0gZWxzZSB7Ci0JCXN0cnVjdCBpcHY2aGRyICppcGggPSBpcHY2 X2hkcihza2IpOwotCi0JCXJlYWRfbG9ja19iaCgmbDJ0cF9pcDZfbG9jayk7Ci0JCXNrID0gX19s MnRwX2lwNl9iaW5kX2xvb2t1cChuZXQsICZpcGgtPmRhZGRyLCAmaXBoLT5zYWRkciwKLQkJCQkJ ICAgIGluZXQ2X2lpZihza2IpLCB0dW5uZWxfaWQpOwotCQlpZiAoIXNrKSB7Ci0JCQlyZWFkX3Vu bG9ja19iaCgmbDJ0cF9pcDZfbG9jayk7Ci0JCQlnb3RvIGRpc2NhcmQ7Ci0JCX0KKwlpcGggPSBp cHY2X2hkcihza2IpOwogCi0JCXNvY2tfaG9sZChzayk7CisJcmVhZF9sb2NrX2JoKCZsMnRwX2lw Nl9sb2NrKTsKKwlzayA9IF9fbDJ0cF9pcDZfYmluZF9sb29rdXAobmV0LCAmaXBoLT5kYWRkciwg JmlwaC0+c2FkZHIsCisJCQkJICAgIGluZXQ2X2lpZihza2IpLCB0dW5uZWxfaWQpOworCWlmICgh c2spIHsKIAkJcmVhZF91bmxvY2tfYmgoJmwydHBfaXA2X2xvY2spOworCQlnb3RvIGRpc2NhcmQ7 CiAJfQorCXNvY2tfaG9sZChzayk7CisJcmVhZF91bmxvY2tfYmgoJmwydHBfaXA2X2xvY2spOwog CiAJaWYgKCF4ZnJtNl9wb2xpY3lfY2hlY2soc2ssIFhGUk1fUE9MSUNZX0lOLCBza2IpKQogCQln b3RvIGRpc2NhcmRfcHV0OwotLSAKMi4xMy42CgoKRnJvbSBjNTZkOGJlZDcxOTQyMGNjMjc4NGRk OGVmM2EzMmFhMWZiZDkxZDdiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYW5nYmlu IExpdSA8bGl1aGFuZ2JpbkBnbWFpbC5jb20+CkRhdGU6IE1vbiwgNiBOb3YgMjAxNyAwOTowMTo1 NyArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMjJdIGJvbmRpbmc6IGRpc2NhcmQgbG93ZXN0IGhh c2ggYml0IGZvciA4MDIuM2FkIGxheWVyMys0CgpbIFVwc3RyZWFtIGNvbW1pdCBiNWY4NjIxODBk NzAxMWQ5NTc1ZDA0OTlmYTM3ZjBmMjViNDIzYjEyIF0KCkFmdGVyIGNvbW1pdCAwN2Y0YzkwMDYy ZjggKCJ0Y3AvZGNjcDogdHJ5IHRvIG5vdCBleGhhdXN0IGlwX2xvY2FsX3BvcnRfcmFuZ2UKaW4g Y29ubmVjdCgpIiksIHdlIHdpbGwgdHJ5IHRvIHVzZSBldmVuIHBvcnRzIGZvciBjb25uZWN0KCku IFRoZW4gaWYgYW4KYXBwbGljYXRpb24gKHNlZW4gY2xlYXJseSB3aXRoIGlwZXJmKSBvcGVucyBt dWx0aXBsZSBzdHJlYW1zIHRvIHRoZSBzYW1lCmRlc3RpbmF0aW9uIElQIGFuZCBwb3J0LCBlYWNo IHN0cmVhbSB3aWxsIGJlIGdpdmVuIGFuIGV2ZW4gc291cmNlIHBvcnQuCgpTbyB0aGUgYm9uZGlu ZyBkcml2ZXIncyBzaW1wbGUgeG1pdF9oYXNoX3BvbGljeSBiYXNlZCBvbiBsYXllcjMrNCBhZGRy ZXNzaW5nCndpbGwgYWx3YXlzIGhhc2ggYWxsIHRoZXNlIHN0cmVhbXMgdG8gdGhlIHNhbWUgaW50 ZXJmYWNlLiBBbmQgdGhlIHRvdGFsCnRocm91Z2hwdXQgd2lsbCBsaW1pdGVkIHRvIGEgc2luZ2xl IHNsYXZlLgoKQ2hhbmdlIHRoZSB0Y3AgY29kZSB3aWxsIGltcGFjdCB0aGUgd2hvbGUgdGNwIGJl aGF2aW9yLCBvbmx5IGZvciBib25kaW5nCnVzYWdlLiBQYW9sbyBBYmVuaSBzdWdnZXN0ZWQgZml4 IHRoaXMgYnkgY2hhbmdpbmcgdGhlIGJvbmRpbmcgY29kZSBvbmx5LAp3aGljaCBzaG91bGQgYmUg bW9yZSByZWFzb25hYmxlLCBhbmQgbGVzcyBpbXBhY3QuCgpGaXggdGhpcyBieSBkaXNjYXJkaW5n IHRoZSBsb3dlc3QgaGFzaCBiaXQgYmVjYXVzZSBpdCBjb250YWlucyBsaXR0bGUgZW50cm9weS4K QWZ0ZXIgdGhlIGZpeCB3ZSBjYW4gcmUtYmFsYW5jZSBiZXR3ZWVuIHNsYXZlcy4KClNpZ25lZC1v ZmYtYnk6IFBhb2xvIEFiZW5pIDxwYWJlbmlAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogSGFu Z2JpbiBMaXUgPGxpdWhhbmdiaW5AZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvYm9uZGluZy9ib25k X21haW4uYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlv bigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9tYWluLmMgYi9kcml2 ZXJzL25ldC9ib25kaW5nL2JvbmRfbWFpbi5jCmluZGV4IGM5OWRjNTlkNzI5Yi4uNzZlODA1NGJm YzRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfbWFpbi5jCisrKyBiL2Ry aXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9tYWluLmMKQEAgLTMyNTMsNyArMzI1Myw3IEBAIHUzMiBi b25kX3htaXRfaGFzaChzdHJ1Y3QgYm9uZGluZyAqYm9uZCwgc3RydWN0IHNrX2J1ZmYgKnNrYikK IAloYXNoIF49IChoYXNoID4+IDE2KTsKIAloYXNoIF49IChoYXNoID4+IDgpOwogCi0JcmV0dXJu IGhhc2g7CisJcmV0dXJuIGhhc2ggPj4gMTsKIH0KIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSBEZXZpY2UgZW50cnkgcG9pbnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwot LSAKMi4xMy42CgoKRnJvbSA0ODAxNmU4Y2Y4MmU0YjUzNmY5YTYwZDUxMzhmYzhhMDA5ZTQ1OTZk IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Qmo9QzM9Qjhybj0yME1v cms/PSA8Ympvcm5AbW9yay5ubz4KRGF0ZTogTW9uLCA2IE5vdiAyMDE3IDE1OjM3OjIyICswMTAw ClN1YmplY3Q6IFtQQVRDSCAwOC8yMl0gbmV0OiBjZGNfZXRoZXI6IGZpeCBkaXZpZGUgYnkgMCBv biBiYWQgZGVzY3JpcHRvcnMKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3Bs YWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClsgVXBz dHJlYW0gY29tbWl0IDJjYjgwMTg3YmEwNjVkN2RlY2FkN2M2NjE0ZTM1ZTA3YWVjOGE5NzQgXQoK U2V0dGluZyBkZXYtPmhhcmRfbXR1IHRvIDAgd2lsbCBjYXVzZSBhIGRpdmlkZSBlcnJvciBpbgp1 c2JuZXRfcHJvYmUuIFByb3RlY3QgYWdhaW5zdCBkZXZpY2VzIHdpdGggYm9ndXMgQ0RDIEV0aGVy bmV0CmZ1bmN0aW9uYWwgZGVzY3JpcHRvcnMgYnkgaWdub3JpbmcgYSB6ZXJvIHdNYXhTZWdtZW50 U2l6ZS4KClNpZ25lZC1vZmYtYnk6IEJqw7hybiBNb3JrIDxiam9ybkBtb3JrLm5vPgpBY2tlZC1i eTogT2xpdmVyIE5ldWt1bSA8b25ldWt1bUBzdXNlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3VzYi9jZGNf ZXRoZXIuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlv bigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9jZGNfZXRoZXIuYyBiL2RyaXZlcnMv bmV0L3VzYi9jZGNfZXRoZXIuYwppbmRleCA4YWIyODFiNDc4ZjIuLjRmODhmNjRjY2NiNCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9uZXQvdXNiL2NkY19ldGhlci5jCisrKyBiL2RyaXZlcnMvbmV0L3Vz Yi9jZGNfZXRoZXIuYwpAQCAtMjIxLDcgKzIyMSw3IEBAIGludCB1c2JuZXRfZ2VuZXJpY19jZGNf YmluZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmKQogCQkJ Z290byBiYWRfZGVzYzsKIAl9CiAKLQlpZiAoaGVhZGVyLnVzYl9jZGNfZXRoZXJfZGVzYykgewor CWlmIChoZWFkZXIudXNiX2NkY19ldGhlcl9kZXNjICYmIGluZm8tPmV0aGVyLT53TWF4U2VnbWVu dFNpemUpIHsKIAkJZGV2LT5oYXJkX210dSA9IGxlMTZfdG9fY3B1KGluZm8tPmV0aGVyLT53TWF4 U2VnbWVudFNpemUpOwogCQkvKiBiZWNhdXNlIG9mIFphdXJ1cywgd2UgbWF5IGJlIGlnbm9yaW5n IHRoZSBob3N0CiAJCSAqIHNpZGUgbGluayBhZGRyZXNzIHdlIHdlcmUgZ2l2ZW4uCi0tIAoyLjEz LjYKCgpGcm9tIDI4NTU3NDYyMDNjOGRjMmE2NTNjN2NlNjM3MTNmOGNjNDVjZWIyNjUgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT9Caj1DMz1COHJuPTIwTW9yaz89IDxi am9ybkBtb3JrLm5vPgpEYXRlOiBNb24sIDYgTm92IDIwMTcgMTU6MzI6MTggKzAxMDAKU3ViamVj dDogW1BBVENIIDA5LzIyXSBuZXQ6IHFtaV93d2FuOiBmaXggZGl2aWRlIGJ5IDAgb24gYmFkIGRl c2NyaXB0b3JzCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hh cnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpbIFVwc3RyZWFtIGNv bW1pdCA3ZmQwNzgzMzcyMDFjZjc0NjhmNTNjM2Q5ZWY4MWZmNzhjYjZkZjNiIF0KCkEgQ0RDIEV0 aGVybmV0IGZ1bmN0aW9uYWwgZGVzY3JpcHRvciB3aXRoIHdNYXhTZWdtZW50U2l6ZSA9IDAgd2ls bApjYXVzZSBhIGRpdmlkZSBlcnJvciBpbiB1c2JuZXRfcHJvYmU6CgpkaXZpZGUgZXJyb3I6IDAw MDAgWyMxXSBQUkVFTVBUIFNNUCBLQVNBTgpNb2R1bGVzIGxpbmtlZCBpbjoKQ1BVOiAwIFBJRDog MjQgQ29tbToga3dvcmtlci8wOjEgTm90IHRhaW50ZWQgNC4xNC4wLXJjOC00NDQ1My1nMWZkYzFh ODJjMzRmICM1NgpIYXJkd2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJkIFBDIChpNDQwRlggKyBQSUlY LCAxOTk2KSwgQklPUyBCb2NocyAwMS8wMS8yMDExCldvcmtxdWV1ZTogdXNiX2h1Yl93cSBodWJf ZXZlbnQKdGFzazogZmZmZjg4MDA2YmVmNWMwMCB0YXNrLnN0YWNrOiBmZmZmODgwMDZiZjYwMDAw ClJJUDogMDAxMDp1c2JuZXRfdXBkYXRlX21heF9xbGVuKzB4MjRkLzB4MzkwIGRyaXZlcnMvbmV0 L3VzYi91c2JuZXQuYzozNTUKUlNQOiAwMDE4OmZmZmY4ODAwNmJmNjc1MDggRUZMQUdTOiAwMDAx MDI0NgpSQVg6IDAwMDAwMDAwMDAwMTYzYzggUkJYOiBmZmZmODgwMDYyMWZjZTQwIFJDWDogZmZm Zjg4MDA2MjFmY2YzNApSRFg6IDAwMDAwMDAwMDAwMDAwMDAgUlNJOiBmZmZmZmZmZjgzN2VjYjdh IFJESTogZmZmZjg4MDA2MjFmY2YzNApSQlA6IGZmZmY4ODAwNmJmNjc1MjAgUjA4OiBmZmZmODgw MDZiZWY1YzAwIFIwOTogZmZmZmVkMDAwYzQzZjg4MQpSMTA6IGZmZmZlZDAwMGM0M2Y4ODAgUjEx OiBmZmZmODgwMDYyMWZjNDA2IFIxMjogMDAwMDAwMDAwMDAwMDAwMwpSMTM6IGZmZmZmZmZmODVj NzFkZTAgUjE0OiAwMDAwMDAwMDAwMDAwMDAwIFIxNTogMDAwMDAwMDAwMDAwMDAwMApGUzogIDAw MDAwMDAwMDAwMDAwMDAoMDAwMCkgR1M6ZmZmZjg4MDA2Y2EwMDAwMCgwMDAwKSBrbmxHUzowMDAw MDAwMDAwMDAwMDAwCkNTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAw NTAwMzMKQ1IyOiAwMDAwN2ZmZTljMGQ2ZGFjIENSMzogMDAwMDAwMDA2MTRmNDAwMCBDUjQ6IDAw MDAwMDAwMDAwMDA2ZjAKQ2FsbCBUcmFjZToKIHVzYm5ldF9wcm9iZSsweDE4YjUvMHgyNzkwIGRy aXZlcnMvbmV0L3VzYi91c2JuZXQuYzoxNzgzCiBxbWlfd3dhbl9wcm9iZSsweDEzMy8weDIyMCBk cml2ZXJzL25ldC91c2IvcW1pX3d3YW4uYzoxMzM4CiB1c2JfcHJvYmVfaW50ZXJmYWNlKzB4MzI0 LzB4OTQwIGRyaXZlcnMvdXNiL2NvcmUvZHJpdmVyLmM6MzYxCiByZWFsbHlfcHJvYmUgZHJpdmVy cy9iYXNlL2RkLmM6NDEzCiBkcml2ZXJfcHJvYmVfZGV2aWNlKzB4NTIyLzB4NzQwIGRyaXZlcnMv YmFzZS9kZC5jOjU1NwoKRml4IGJ5IHNpbXBseSBpZ25vcmluZyB0aGUgYm9ndXMgZGVzY3JpcHRv ciwgYXMgaXQgaXMgb3B0aW9uYWwKZm9yIFFNSSBkZXZpY2VzIGFueXdheS4KCkZpeGVzOiA0MjNj ZThjYWFiN2UgKCJuZXQ6IHVzYjogcW1pX3d3YW46IE5ldyBkcml2ZXIgZm9yIEh1YXdlaSBRTUkg YmFzZWQgV1dBTiBkZXZpY2VzIikKUmVwb3J0ZWQtYnk6IEFuZHJleSBLb25vdmFsb3YgPGFuZHJl eWtudmxAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogQmrDuHJuIE1vcmsgPGJqb3JuQG1vcmsu bm8+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4K LS0tCiBkcml2ZXJzL25ldC91c2IvcW1pX3d3YW4uYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAx IGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3Vz Yi9xbWlfd3dhbi5jIGIvZHJpdmVycy9uZXQvdXNiL3FtaV93d2FuLmMKaW5kZXggOGMzNzMzNjA4 MjcxLi5hNGYyMjllZGNjZWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5j CisrKyBiL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCkBAIC02ODEsNyArNjgxLDcgQEAgc3Rh dGljIGludCBxbWlfd3dhbl9iaW5kKHN0cnVjdCB1c2JuZXQgKmRldiwgc3RydWN0IHVzYl9pbnRl cmZhY2UgKmludGYpCiAJfQogCiAJLyogZXJyb3JzIGFyZW4ndCBmYXRhbCAtIHdlIGNhbiBsaXZl IHdpdGggdGhlIGR5bmFtaWMgYWRkcmVzcyAqLwotCWlmIChjZGNfZXRoZXIpIHsKKwlpZiAoY2Rj X2V0aGVyICYmIGNkY19ldGhlci0+d01heFNlZ21lbnRTaXplKSB7CiAJCWRldi0+aGFyZF9tdHUg PSBsZTE2X3RvX2NwdShjZGNfZXRoZXItPndNYXhTZWdtZW50U2l6ZSk7CiAJCXVzYm5ldF9nZXRf ZXRoZXJuZXRfYWRkcihkZXYsIGNkY19ldGhlci0+aU1BQ0FkZHJlc3MpOwogCX0KLS0gCjIuMTMu NgoKCkZyb20gNzM5MmYyYWQ4ZjljMDViZTIyZDg3YTllOGU0YmYyNDdlYjA5ZmVlOCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS3Jpc3RpYW4gRXZlbnNlbiA8a3Jpc3RpYW4uZXZlbnNl bkBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgNyBOb3YgMjAxNyAxMzo0Nzo1NiArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMTAvMjJdIHFtaV93d2FuOiBBZGQgbWlzc2luZyBza2JfcmVzZXRfbWFjX2hlYWRl ci1jYWxsCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNl dD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpbIFVwc3RyZWFtIGNvbW1p dCAwZGUwYWRkMTBlNTg3ZWZmYTg4MGM3NDFjOTQxM2M4NzRmMTZiZTkxIF0KCldoZW4gd2UgcmVj ZWl2ZSBhIHBhY2tldCBvbiBhIFFNSSBkZXZpY2UgaW4gcmF3IElQIG1vZGUsIHdlIHNob3VsZCBj YWxsCnNrYl9yZXNldF9tYWNfaGVhZGVyKCkgdG8gZW5zdXJlIHRoYXQgc2tiLT5tYWNfaGVhZGVy IGNvbnRhaW5zIGEgdmFsaWQKb2Zmc2V0IGluIHRoZSBwYWNrZXQuIFdoaWxlIGl0IHNob3VsZG4n dCByZWFsbHkgbWF0dGVyLCB0aGUgcGFja2V0cyBoYXZlCm5vIE1BQyBoZWFkZXIgYW5kIHRoZSBp bnRlcmZhY2UgaXMgY29uZmlndXJlZCBhcy1zdWNoLCBpdCBzZWVtcyBjZXJ0YWluCnBhcnRzIG9m IHRoZSBuZXR3b3JrIHN0YWNrIGV4cGVjdHMgYSAiZ29vZCIgdmFsdWUgaW4gc2tiLT5tYWNfaGVh ZGVyLgoKV2l0aG91dCB0aGUgc2tiX3Jlc2V0X21hY19oZWFkZXIoKSBjYWxsIGFkZGVkIGluIHRo aXMgcGF0Y2gsIGZvciBleGFtcGxlCnNoYXBpbmcgdHJhZmZpYyAodXNpbmcgdGMpIHRyaWdnZXJz IHRoZSBmb2xsb3dpbmcgb29wcyBvbiB0aGUgZmlyc3QKcmVjZWl2ZWQgcGFja2V0OgoKWyAgMzAz LjY0Mjk1N10gc2tidWZmOiBza2JfdW5kZXJfcGFuaWM6IHRleHQ6OGYxMzc5MTggbGVuOjE3NyBw dXQ6NjcgaGVhZDo4ZTRiMGYwMCBkYXRhOjhlNGIwZWZmIHRhaWw6MHg4ZTRiMGZiMCBlbmQ6MHg4 ZTRiMTUyMCBkZXY6d3dhbjAKWyAgMzAzLjY1NTA0NV0gS2VybmVsIGJ1ZyBkZXRlY3RlZFsjMV06 ClsgIDMwMy42NTg2MjJdIENQVTogMSBQSUQ6IDEwMDIgQ29tbTogbG9nZCBOb3QgdGFpbnRlZCA0 LjkuNTggIzAKWyAgMzAzLjY2NDMzOV0gdGFzazogOGZkZjA1ZTAgdGFzay5zdGFjazogOGYxNWMw MDAKWyAgMzAzLjY2ODg0NF0gJCAwICAgOiAwMDAwMDAwMCAwMDAwMDAwMSAwMDAwMDA3YSAwMDAw MDAwMApbICAzMDMuNjc0MDYyXSAkIDQgICA6IDgxNDlhMmZjIDgxNDlhMmZjIDgxNDljZTIwIDAw MDAwMDAwClsgIDMwMy42NzkyODRdICQgOCAgIDogMDAwMDAwMzAgMzg3ODMwM2EgMzE2MjM0NjUg MjAzMDMyMzUKWyAgMzAzLjY4NDUxMF0gJDEyICAgOiBkZWQ3MzFlMyAyNjI2YTI3NyAwMDAwMDAw MCAwM2JkMDAwMApbICAzMDMuNjg5NzQ3XSAkMTYgICA6IDhlZjYyYjQwIDAwMDAwMDQzIDhmMTM3 OTE4IDgwNGRiNWZjClsgIDMwMy42OTQ5NzhdICQyMCAgIDogMDAwMDAwMDEgMDAwMDAwMDQgOGZj MTM4MDAgMDAwMDAwMDMKWyAgMzAzLjcwMDIxNV0gJDI0ICAgOiAwMDAwMDAwMSA4MDI0YWIxMApb ICAzMDMuNzA1NDQyXSAkMjggICA6IDhmMTVjMDAwIDhmYzE5Y2YwIDAwMDAwMDQzIDgwMmNjOTIw ClsgIDMwMy43MTA2NjRdIEhpICAgIDogMDAwMDAwMDAKWyAgMzAzLjcxMzUzM10gTG8gICAgOiA3 NGU1ODAwMApbICAzMDMuNzE2NDM2XSBlcGMgICA6IDgwMmNjOTIwIHNrYl9wYW5pYysweDU4LzB4 NWMKWyAgMzAzLjcyMTA0Nl0gcmEgICAgOiA4MDJjYzkyMCBza2JfcGFuaWMrMHg1OC8weDVjClsg IDMwMy43MjU2MzldIFN0YXR1czogMTEwMDdjMDMgS0VSTkVMIEVYTCBJRQpbICAzMDMuNzI5ODIz XSBDYXVzZSA6IDUwODAwMDI0IChFeGNDb2RlIDA5KQpbICAzMDMuNzMzODE3XSBQcklkICA6IDAw MDE5OTJmIChNSVBTIDEwMDRLYykKWyAgMzAzLjczNzg5Ml0gTW9kdWxlcyBsaW5rZWQgaW46IHJ0 MjgwMHBjaSBydDI4MDBtbWlvIHJ0MjgwMGxpYiBxY3NlcmlhbCBwcHBfYXN5bmMgb3B0aW9uIHVz Yl93d2FuIHJ0MngwMHBjaSBydDJ4MDBtbWlvIHJ0MngwMGxpYiBybmRpc19ob3N0IHFtaV93d2Fu IHBwcF9nZW5lcmljIG5mX25hdF9wcHRwIG5mX2Nvbm50cmFja19wcHRwIG5mX2Nvbm50cmFja19p cHY2IG10NzZ4MmkKUHJvY2VzcyBsb2dkIChwaWQ6IDEwMDIsIHRocmVhZGluZm89OGYxNWMwMDAs IHRhc2s9OGZkZjA1ZTAsIHRscz03N2IzZWVlNCkKWyAgMzAzLjk2MjUwOV0gU3RhY2sgOiAwMDAw MDAwMCA4MDQwODk5MCA4ZjEzNzkxOCAwMDAwMDBiMSAwMDAwMDA0MyA4ZTRiMGYwMCA4ZTRiMGVm ZiA4ZTRiMGZiMApbICAzMDMuOTcwODcxXSAgICAgICAgIDhlNGIxNTIwIDhmZWMxODAwIDAwMDAw MDQzIDgwMmNkMmE0IDZlMDAwMDQ1IDAwMDAwMDQzIDAwMDAwMDAwIDhlZjYyMDAwClsgIDMwMy45 NzkyMTldICAgICAgICAgOGVlZjVkMDAgOGVmNjJiNDAgOGZlYTczMDAgOGYxMzc5MTggMDAwMDAw MDAgMDAwMDAwMDAgMDAwMmJiMDEgNzkzZTU2NjQKWyAgMzAzLjk4NzU2OF0gICAgICAgICA4ZWYw ODg4NCAwMDAwMDAwMSA4ZmVhNzMwMCAwMDAwMDAwMiA4ZmMxOWU4MCA4ZWVmNWQwMCAwMDAwMDAw NiAwMDAwMDAwMwpbICAzMDMuOTk1OTM0XSAgICAgICAgIDAwMDAwMDAwIDgwMzBiYTkwIDAwMDAw MDAzIDc3YWIzZmQwIDgxNDlkYzgwIDgwMDRkMWJjIDhmMTVjMDAwIDhmMzgzNzAwClsgIDMwNC4w MDQzMjRdICAgICAgICAgLi4uClsgIDMwNC4wMDY3NjddIENhbGwgVHJhY2U6ClsgIDMwNC4wMDky NDFdIFs8ODAyY2M5MjA+XSBza2JfcGFuaWMrMHg1OC8weDVjClsgIDMwNC4wMTM1MDRdIFs8ODAy Y2QyYTQ+XSBza2JfcHVzaCsweDc4LzB4OTAKWyAgMzA0LjAxNzc4M10gWzw4ZjEzNzkxOD5dIDB4 OGYxMzc5MTgKWyAgMzA0LjAyMTI2OV0gQ29kZTogMDA2MDI4MjUgIDBjMDJhM2I0ICAyNDg0Mjg4 OCA8MDAwYzAwMGQ+IDhjODcwMDYwICA4YzgyMDBhMCAgMDAwNzM4MmIgIDAwMDcwMzM2ICA4Yzg4 MDA1YwpbICAzMDQuMDMxMDM0XQpbICAzMDQuMDMyODA1XSAtLS1bIGVuZCB0cmFjZSBiNzc4YzQ4 MmIzZjBiZGE5IF0tLS0KWyAgMzA0LjA0MTM4NF0gS2VybmVsIHBhbmljIC0gbm90IHN5bmNpbmc6 IEZhdGFsIGV4Y2VwdGlvbiBpbiBpbnRlcnJ1cHQKWyAgMzA0LjA1MTk3NV0gUmVib290aW5nIGlu IDMgc2Vjb25kcy4uCgpXaGlsZSB0aGUgb29wcyBpcyBmb3IgYSA0Ljkta2VybmVsLCBJIHdhcyBh YmxlIHRvIHRyaWdnZXIgdGhlIHNhbWUgb29wcyB3aXRoCm5ldC1uZXh0IGFzIG9mIHllc3RlcmRh eS4KCkZpeGVzOiAzMmY3YWRmNjMzYjkgKCJuZXQ6IHFtaV93d2FuOiBzdXBwb3J0ICJyYXcgSVAi IG1vZGUiKQpTaWduZWQtb2ZmLWJ5OiBLcmlzdGlhbiBFdmVuc2VuIDxrcmlzdGlhbi5ldmVuc2Vu QGdtYWlsLmNvbT4KQWNrZWQtYnk6IEJqw7hybiBNb3JrIDxiam9ybkBtb3JrLm5vPgpTaWduZWQt b2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVy cy9uZXQvdXNiL3FtaV93d2FuLmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jIGIvZHJpdmVycy9uZXQv dXNiL3FtaV93d2FuLmMKaW5kZXggYTRmMjI5ZWRjY2ViLi44ZDRhNmY3Y2JhNjEgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCisrKyBiL2RyaXZlcnMvbmV0L3VzYi9xbWlf d3dhbi5jCkBAIC00OTksNiArNDk5LDcgQEAgc3RhdGljIGludCBxbWlfd3dhbl9yeF9maXh1cChz dHJ1Y3QgdXNibmV0ICpkZXYsIHN0cnVjdCBza19idWZmICpza2IpCiAJCXJldHVybiAxOwogCX0K IAlpZiAocmF3aXApIHsKKwkJc2tiX3Jlc2V0X21hY19oZWFkZXIoc2tiKTsKIAkJc2tiLT5kZXYg PSBkZXYtPm5ldDsgLyogbm9ybWFsbHkgc2V0IGJ5IGV0aF90eXBlX3RyYW5zICovCiAJCXNrYi0+ cHJvdG9jb2wgPSBwcm90bzsKIAkJcmV0dXJuIDE7Ci0tIAoyLjEzLjYKCgpGcm9tIDY3OWY3Nzgx NjE4MTYzM2YxY2MyZjA1OTcwNjJlNDc2NGIxNTJlZWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IEFuZHJleSBLb25vdmFsb3YgPGFuZHJleWtudmxAZ29vZ2xlLmNvbT4KRGF0ZTogTW9u LCA2IE5vdiAyMDE3IDEzOjI2OjQ2ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxMS8yMl0gbmV0OiB1 c2I6IGFzaXg6IGZpbGwgbnVsbC1wdHItZGVyZWYgaW4gYXNpeF9zdXNwZW5kCgpbIFVwc3RyZWFt IGNvbW1pdCA4ZjU2MjQ2MjkxMDU1ODliY2MyM2QwZTUxY2MwMWJkODEwM2QwOWE1IF0KCldoZW4g YXNpeF9zdXNwZW5kKCkgaXMgY2FsbGVkIGRldi0+ZHJpdmVyX3ByaXYgbWlnaHQgbm90IGhhdmUg YmVlbgphc3NpZ25lZCBhIHZhbHVlLCBzbyB3ZSBuZWVkIHRvIGNoZWNrIHRoYXQgaXQncyBub3Qg TlVMTC4KClNpbWlsYXIgaXNzdWUgaXMgcHJlc2VudCBpbiBhc2l4X3Jlc3VtZSgpLCB0aGlzIHBh dGNoIGZpeGVzIGl0IGFzIHdlbGwuCgpGb3VuZCBieSBzeXprYWxsZXIuCgprYXNhbjogQ09ORklH X0tBU0FOX0lOTElORSBlbmFibGVkCmthc2FuOiBHUEYgY291bGQgYmUgY2F1c2VkIGJ5IE5VTEwt cHRyIGRlcmVmIG9yIHVzZXIgbWVtb3J5IGFjY2VzcwpnZW5lcmFsIHByb3RlY3Rpb24gZmF1bHQ6 IDAwMDAgWyMxXSBQUkVFTVBUIFNNUCBLQVNBTgpNb2R1bGVzIGxpbmtlZCBpbjoKQ1BVOiAwIFBJ RDogMjQgQ29tbToga3dvcmtlci8wOjEgTm90IHRhaW50ZWQgNC4xNC4wLXJjNC00MzQyMi1nZWNj YWNkZDY5YThjICM0MDAKSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQQyAoaTQ0MEZYICsg UElJWCwgMTk5NiksIEJJT1MgQm9jaHMgMDEvMDEvMjAxMQpXb3JrcXVldWU6IHVzYl9odWJfd3Eg aHViX2V2ZW50CnRhc2s6IGZmZmY4ODAwNmJiMzYzMDAgdGFzay5zdGFjazogZmZmZjg4MDA2YmJh ODAwMApSSVA6IDAwMTA6YXNpeF9zdXNwZW5kKzB4NzYvMHhjMCBkcml2ZXJzL25ldC91c2IvYXNp eF9kZXZpY2VzLmM6NjI5ClJTUDogMDAxODpmZmZmODgwMDZiYmFlNzE4IEVGTEFHUzogMDAwMTAy MDIKUkFYOiBkZmZmZmMwMDAwMDAwMDAwIFJCWDogZmZmZjg4MDA2MWJhM2I4MCBSQ1g6IDFmZmZm MTAwMGMzNGQ2NDQKUkRYOiAwMDAwMDAwMDAwMDAwMDAxIFJTSTogMDAwMDAwMDAwMDAwMDQwMiBS REk6IDAwMDAwMDAwMDAwMDAwMDgKUkJQOiBmZmZmODgwMDZiYmFlNzM4IFIwODogMWZmZmYxMDAw ZDc3NWNhZCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKUjEwOiAwMDAwMDAwMDAwMDAwMDAwIFIxMTog MDAwMDAwMDAwMDAwMDAwMCBSMTI6IGZmZmY4ODAwNjMwYThiNDAKUjEzOiAwMDAwMDAwMDAwMDAw MDAwIFIxNDogMDAwMDAwMDAwMDAwMDQwMiBSMTU6IGZmZmY4ODAwNjFiYTNiODAKRlM6ICAwMDAw MDAwMDAwMDAwMDAwKDAwMDApIEdTOmZmZmY4ODAwNmM2MDAwMDAoMDAwMCkga25sR1M6MDAwMDAw MDAwMDAwMDAwMApDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUw MDMzCkNSMjogMDAwMDdmZjMzY2Y4OTAwMCBDUjM6IDAwMDAwMDAwNjFjMGEwMDAgQ1I0OiAwMDAw MDAwMDAwMDAwNmYwCkNhbGwgVHJhY2U6CiB1c2Jfc3VzcGVuZF9pbnRlcmZhY2UgZHJpdmVycy91 c2IvY29yZS9kcml2ZXIuYzoxMjA5CiB1c2Jfc3VzcGVuZF9ib3RoKzB4MjdmLzB4N2UwIGRyaXZl cnMvdXNiL2NvcmUvZHJpdmVyLmM6MTMxNAogdXNiX3J1bnRpbWVfc3VzcGVuZCsweDQxLzB4MTIw IGRyaXZlcnMvdXNiL2NvcmUvZHJpdmVyLmM6MTg1MgogX19ycG1fY2FsbGJhY2srMHgzMzkvMHhi NjAgZHJpdmVycy9iYXNlL3Bvd2VyL3J1bnRpbWUuYzozMzQKIHJwbV9jYWxsYmFjaysweDEwNi8w eDIyMCBkcml2ZXJzL2Jhc2UvcG93ZXIvcnVudGltZS5jOjQ2MQogcnBtX3N1c3BlbmQrMHg0NjUv MHgxOTgwIGRyaXZlcnMvYmFzZS9wb3dlci9ydW50aW1lLmM6NTk2CiBfX3BtX3J1bnRpbWVfc3Vz cGVuZCsweDExZS8weDIzMCBkcml2ZXJzL2Jhc2UvcG93ZXIvcnVudGltZS5jOjEwMDkKIHBtX3J1 bnRpbWVfcHV0X3N5bmNfYXV0b3N1c3BlbmQgLi9pbmNsdWRlL2xpbnV4L3BtX3J1bnRpbWUuaDoy NTEKIHVzYl9uZXdfZGV2aWNlKzB4YTM3LzB4MTAyMCBkcml2ZXJzL3VzYi9jb3JlL2h1Yi5jOjI0 ODcKIGh1Yl9wb3J0X2Nvbm5lY3QgZHJpdmVycy91c2IvY29yZS9odWIuYzo0OTAzCiBodWJfcG9y dF9jb25uZWN0X2NoYW5nZSBkcml2ZXJzL3VzYi9jb3JlL2h1Yi5jOjUwMDkKIHBvcnRfZXZlbnQg ZHJpdmVycy91c2IvY29yZS9odWIuYzo1MTE1CiBodWJfZXZlbnQrMHgxOTRkLzB4Mzc0MCBkcml2 ZXJzL3VzYi9jb3JlL2h1Yi5jOjUxOTUKIHByb2Nlc3Nfb25lX3dvcmsrMHhjN2YvMHgxZGIwIGtl cm5lbC93b3JrcXVldWUuYzoyMTE5CiB3b3JrZXJfdGhyZWFkKzB4MjIxLzB4MTg1MCBrZXJuZWwv d29ya3F1ZXVlLmM6MjI1Mwoga3RocmVhZCsweDNhMS8weDQ3MCBrZXJuZWwva3RocmVhZC5jOjIz MQogcmV0X2Zyb21fZm9yaysweDJhLzB4NDAgYXJjaC94ODYvZW50cnkvZW50cnlfNjQuUzo0MzEK Q29kZTogOGQgN2MgMjQgMjAgNDggODkgZmEgNDggYzEgZWEgMDMgODAgM2MgMDIgMDAgNzUgNWIg NDggYjggMDAgMDAKMDAgMDAgMDAgZmMgZmYgZGYgNGQgOGIgNmMgMjQgMjAgNDkgOGQgN2QgMDgg NDggODkgZmEgNDggYzEgZWEgMDMgPDgwPgozYyAwMiAwMCA3NSAzNCA0ZCA4YiA2ZCAwOCA0ZCA4 NSBlZCA3NCAwYiBlOCAyNiAyYiA1MSBmZCA0YwpSSVA6IGFzaXhfc3VzcGVuZCsweDc2LzB4YzAg UlNQOiBmZmZmODgwMDZiYmFlNzE4Ci0tLVsgZW5kIHRyYWNlIGRmYzRmNTY0OTI4NDM0MmMgXS0t LQoKU2lnbmVkLW9mZi1ieTogQW5kcmV5IEtvbm92YWxvdiA8YW5kcmV5a252bEBnb29nbGUuY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogZHJpdmVycy9uZXQvdXNiL2FzaXhfZGV2aWNlcy5jIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdl ZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv bmV0L3VzYi9hc2l4X2RldmljZXMuYyBiL2RyaXZlcnMvbmV0L3VzYi9hc2l4X2RldmljZXMuYwpp bmRleCBiMmZmODhlNjlhODEuLjNkNGY3OTU5ZGFiYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQv dXNiL2FzaXhfZGV2aWNlcy5jCisrKyBiL2RyaXZlcnMvbmV0L3VzYi9hc2l4X2RldmljZXMuYwpA QCAtNjI2LDcgKzYyNiw3IEBAIHN0YXRpYyBpbnQgYXNpeF9zdXNwZW5kKHN0cnVjdCB1c2JfaW50 ZXJmYWNlICppbnRmLCBwbV9tZXNzYWdlX3QgbWVzc2FnZSkKIAlzdHJ1Y3QgdXNibmV0ICpkZXYg PSB1c2JfZ2V0X2ludGZkYXRhKGludGYpOwogCXN0cnVjdCBhc2l4X2NvbW1vbl9wcml2YXRlICpw cml2ID0gZGV2LT5kcml2ZXJfcHJpdjsKIAotCWlmIChwcml2LT5zdXNwZW5kKQorCWlmIChwcml2 ICYmIHByaXYtPnN1c3BlbmQpCiAJCXByaXYtPnN1c3BlbmQoZGV2KTsKIAogCXJldHVybiB1c2Ju ZXRfc3VzcGVuZChpbnRmLCBtZXNzYWdlKTsKQEAgLTY3OCw3ICs2NzgsNyBAQCBzdGF0aWMgaW50 IGFzaXhfcmVzdW1lKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmKQogCXN0cnVjdCB1c2JuZXQg KmRldiA9IHVzYl9nZXRfaW50ZmRhdGEoaW50Zik7CiAJc3RydWN0IGFzaXhfY29tbW9uX3ByaXZh dGUgKnByaXYgPSBkZXYtPmRyaXZlcl9wcml2OwogCi0JaWYgKHByaXYtPnJlc3VtZSkKKwlpZiAo cHJpdiAmJiBwcml2LT5yZXN1bWUpCiAJCXByaXYtPnJlc3VtZShkZXYpOwogCiAJcmV0dXJuIHVz Ym5ldF9yZXN1bWUoaW50Zik7Ci0tIAoyLjEzLjYKCgpGcm9tIGY1Y2IzZDZiYmM5YmM5ZTIzYzli YzJiNGZkNzk3ZjI1Zjk4ZmQzMzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMg RHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogVHVlLCA3IE5vdiAyMDE3IDE1OjE1 OjA0IC0wODAwClN1YmplY3Q6IFtQQVRDSCAxMi8yMl0gdGNwOiBnc286IGF2b2lkIHJlZmNvdW50 X3Qgd2FybmluZyBmcm9tCiB0Y3BfZ3NvX3NlZ21lbnQoKQoKWyBVcHN0cmVhbSBjb21taXQgN2Vj MzE4ZmVlZWQxMGE2NGMwMzU5ZWM0ZDEwODg5Y2I0ZGVmYTM5YSBdCgpXaGVuIGEgR1NPIHNrYiBv ZiB0cnVlc2l6ZSBPIGlzIHNlZ21lbnRlZCBpbnRvIDIgbmV3IHNrYnMgb2YgdHJ1ZXNpemUgTjEK YW5kIE4yLCB3ZSB3YW50IHRvIHRyYW5zZmVyIHNvY2tldCBvd25lcnNoaXAgdG8gdGhlIG5ldyBm cmVzaCBza2JzLgoKSW4gb3JkZXIgdG8gYXZvaWQgZXhwZW5zaXZlIGF0b21pYyBvcGVyYXRpb25z IG9uIGEgY2FjaGUgbGluZSBzdWJqZWN0IHRvCmNhY2hlIGJvdW5jaW5nLCB3ZSByZXBsYWNlIHRo ZSBzZXF1ZW5jZSA6CgpyZWZjb3VudF9hZGQoTjEsICZzay0+c2tfd21lbV9hbGxvYyk7CnJlZmNv dW50X2FkZChOMiwgJnNrLT5za193bWVtX2FsbG9jKTsgLy8gcmVwZWF0ZWQgYnkgbnVtYmVyIG9m IHNlZ21lbnRzCgpyZWZjb3VudF9zdWIoTywgJnNrLT5za193bWVtX2FsbG9jKTsKCmJ5IGEgc2lu Z2xlCgpyZWZjb3VudF9hZGQoc3VtX29mKE4pIC0gTywgJnNrLT5za193bWVtX2FsbG9jKTsKClBy b2JsZW0gaXMgOgoKSW4gc29tZSBwYXRob2xvZ2ljYWwgY2FzZXMsIHN1bShOKSAtIE8gbWlnaHQg YmUgYSBuZWdhdGl2ZSBudW1iZXIsIGFuZApzeXprYWxsZXIgYm90IHdhcyBhcHBhcmVudGx5IGFi bGUgdG8gdHJpZ2dlciB0aGlzIHRyYWNlIFsxXQoKYXRvbWljX3Qgd2FzIG9rIHdpdGggdGhpcyBj b25zdHJ1Y3QsIGJ1dCB3ZSBuZWVkIHRvIHRha2UgY2FyZSBvZiB0aGUKbmVnYXRpdmUgZGVsdGEg d2l0aCByZWZjb3VudF90CgpbMV0KcmVmY291bnRfdDogc2F0dXJhdGVkOyBsZWFraW5nIG1lbW9y eS4KLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tCldBUk5JTkc6IENQVTogMCBQ SUQ6IDg0MDQgYXQgbGliL3JlZmNvdW50LmM6NzcgcmVmY291bnRfYWRkX25vdF96ZXJvKzB4MTk4 LzB4MjAwIGxpYi9yZWZjb3VudC5jOjc3Cktlcm5lbCBwYW5pYyAtIG5vdCBzeW5jaW5nOiBwYW5p Y19vbl93YXJuIHNldCAuLi4KCkNQVTogMCBQSUQ6IDg0MDQgQ29tbTogc3l6LWV4ZWN1dG9yMiBO b3QgdGFpbnRlZCA0LjE0LjAtcmM1LW1tMSsgIzIwCkhhcmR3YXJlIG5hbWU6IEdvb2dsZSBHb29n bGUgQ29tcHV0ZSBFbmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5lLCBCSU9TIEdvb2dsZSAwMS8w MS8yMDExCkNhbGwgVHJhY2U6CiBfX2R1bXBfc3RhY2sgbGliL2R1bXBfc3RhY2suYzoxNiBbaW5s aW5lXQogZHVtcF9zdGFjaysweDE5NC8weDI1NyBsaWIvZHVtcF9zdGFjay5jOjUyCiBwYW5pYysw eDFlNC8weDQxYyBrZXJuZWwvcGFuaWMuYzoxODMKIF9fd2FybisweDFjNC8weDFlMCBrZXJuZWwv cGFuaWMuYzo1NDYKIHJlcG9ydF9idWcrMHgyMTEvMHgyZDAgbGliL2J1Zy5jOjE4MwogZml4dXBf YnVnKzB4NDAvMHg5MCBhcmNoL3g4Ni9rZXJuZWwvdHJhcHMuYzoxNzcKIGRvX3RyYXBfbm9fc2ln bmFsIGFyY2gveDg2L2tlcm5lbC90cmFwcy5jOjIxMSBbaW5saW5lXQogZG9fdHJhcCsweDI2MC8w eDM5MCBhcmNoL3g4Ni9rZXJuZWwvdHJhcHMuYzoyNjAKIGRvX2Vycm9yX3RyYXArMHgxMjAvMHgz OTAgYXJjaC94ODYva2VybmVsL3RyYXBzLmM6Mjk3CiBkb19pbnZhbGlkX29wKzB4MWIvMHgyMCBh cmNoL3g4Ni9rZXJuZWwvdHJhcHMuYzozMTAKIGludmFsaWRfb3ArMHgxOC8weDIwIGFyY2gveDg2 L2VudHJ5L2VudHJ5XzY0LlM6OTA1ClJJUDogMDAxMDpyZWZjb3VudF9hZGRfbm90X3plcm8rMHgx OTgvMHgyMDAgbGliL3JlZmNvdW50LmM6NzcKUlNQOiAwMDE4OmZmZmY4ODAxYzYwNmUzYTAgRUZM QUdTOiAwMDAxMDI4MgpSQVg6IDAwMDAwMDAwMDAwMDAwMjYgUkJYOiAwMDAwMDAwMDAwMDAxNDAx IFJDWDogMDAwMDAwMDAwMDAwMDAwMApSRFg6IDAwMDAwMDAwMDAwMDAwMjYgUlNJOiBmZmZmYzkw MDAzNmZjMDAwIFJESTogZmZmZmVkMDAzOGMwZGM2OApSQlA6IGZmZmY4ODAxYzYwNmU0MzAgUjA4 OiAwMDAwMDAwMDAwMDAwMDAxIFIwOTogMDAwMDAwMDAwMDAwMDAwMApSMTA6IGZmZmY4ODAxZDk3 ZjVlYmEgUjExOiAwMDAwMDAwMDAwMDAwMDAwIFIxMjogZmZmZjg4MDFkNWFjZjczYwpSMTM6IDFm ZmZmMTAwMzhjMGRjNzUgUjE0OiAwMDAwMDAwMGZmZmZmZmZmIFIxNTogMDAwMDAwMDBmZmZmZjcy ZgogcmVmY291bnRfYWRkKzB4MWIvMHg2MCBsaWIvcmVmY291bnQuYzoxMDEKIHRjcF9nc29fc2Vn bWVudCsweDEwZDAvMHgxNmIwIG5ldC9pcHY0L3RjcF9vZmZsb2FkLmM6MTU1CiB0Y3A0X2dzb19z ZWdtZW50KzB4ZDQvMHgzMTAgbmV0L2lwdjQvdGNwX29mZmxvYWQuYzo1MQogaW5ldF9nc29fc2Vn bWVudCsweDYwYy8weDExYzAgbmV0L2lwdjQvYWZfaW5ldC5jOjEyNzEKIHNrYl9tYWNfZ3NvX3Nl Z21lbnQrMHgzM2YvMHg2NjAgbmV0L2NvcmUvZGV2LmM6Mjc0OQogX19za2JfZ3NvX3NlZ21lbnQr MHgzNWYvMHg3ZjAgbmV0L2NvcmUvZGV2LmM6MjgyMQogc2tiX2dzb19zZWdtZW50IGluY2x1ZGUv bGludXgvbmV0ZGV2aWNlLmg6Mzk3MSBbaW5saW5lXQogdmFsaWRhdGVfeG1pdF9za2IrMHg0YmEv MHhiMjAgbmV0L2NvcmUvZGV2LmM6MzA3NAogX19kZXZfcXVldWVfeG1pdCsweGU0OS8weDIwNzAg bmV0L2NvcmUvZGV2LmM6MzQ5NwogZGV2X3F1ZXVlX3htaXQrMHgxNy8weDIwIG5ldC9jb3JlL2Rl di5jOjM1MzgKIG5laWdoX2hoX291dHB1dCBpbmNsdWRlL25ldC9uZWlnaGJvdXIuaDo0NzEgW2lu bGluZV0KIG5laWdoX291dHB1dCBpbmNsdWRlL25ldC9uZWlnaGJvdXIuaDo0NzkgW2lubGluZV0K IGlwX2ZpbmlzaF9vdXRwdXQyKzB4ZWNlLzB4MTQ2MCBuZXQvaXB2NC9pcF9vdXRwdXQuYzoyMjkK IGlwX2ZpbmlzaF9vdXRwdXQrMHg4NWUvMHhkMTAgbmV0L2lwdjQvaXBfb3V0cHV0LmM6MzE3CiBO Rl9IT09LX0NPTkQgaW5jbHVkZS9saW51eC9uZXRmaWx0ZXIuaDoyMzggW2lubGluZV0KIGlwX291 dHB1dCsweDFjYy8weDg2MCBuZXQvaXB2NC9pcF9vdXRwdXQuYzo0MDUKIGRzdF9vdXRwdXQgaW5j bHVkZS9uZXQvZHN0Lmg6NDU5IFtpbmxpbmVdCiBpcF9sb2NhbF9vdXQrMHg5NS8weDE2MCBuZXQv aXB2NC9pcF9vdXRwdXQuYzoxMjQKIGlwX3F1ZXVlX3htaXQrMHg4YzYvMHgxOGUwIG5ldC9pcHY0 L2lwX291dHB1dC5jOjUwNAogdGNwX3RyYW5zbWl0X3NrYisweDFhYjcvMHgzODQwIG5ldC9pcHY0 L3RjcF9vdXRwdXQuYzoxMTM3CiB0Y3Bfd3JpdGVfeG1pdCsweDY2My8weDRkZTAgbmV0L2lwdjQv dGNwX291dHB1dC5jOjIzNDEKIF9fdGNwX3B1c2hfcGVuZGluZ19mcmFtZXMrMHhhMC8weDI1MCBu ZXQvaXB2NC90Y3Bfb3V0cHV0LmM6MjUxMwogdGNwX3B1c2hfcGVuZGluZ19mcmFtZXMgaW5jbHVk ZS9uZXQvdGNwLmg6MTcyMiBbaW5saW5lXQogdGNwX2RhdGFfc25kX2NoZWNrIG5ldC9pcHY0L3Rj cF9pbnB1dC5jOjUwNTAgW2lubGluZV0KIHRjcF9yY3ZfZXN0YWJsaXNoZWQrMHg4YzcvMHgxOGEw IG5ldC9pcHY0L3RjcF9pbnB1dC5jOjU0OTcKIHRjcF92NF9kb19yY3YrMHgyYWIvMHg3ZDAgbmV0 L2lwdjQvdGNwX2lwdjQuYzoxNDYwCiBza19iYWNrbG9nX3JjdiBpbmNsdWRlL25ldC9zb2NrLmg6 OTA5IFtpbmxpbmVdCiBfX3JlbGVhc2Vfc29jaysweDEyNC8weDM2MCBuZXQvY29yZS9zb2NrLmM6 MjI2NAogcmVsZWFzZV9zb2NrKzB4YTQvMHgyYTAgbmV0L2NvcmUvc29jay5jOjI3NzYKIHRjcF9z ZW5kbXNnKzB4M2EvMHg1MCBuZXQvaXB2NC90Y3AuYzoxNDYyCiBpbmV0X3NlbmRtc2crMHgxMWYv MHg1ZTAgbmV0L2lwdjQvYWZfaW5ldC5jOjc2Mwogc29ja19zZW5kbXNnX25vc2VjIG5ldC9zb2Nr ZXQuYzo2MzIgW2lubGluZV0KIHNvY2tfc2VuZG1zZysweGNhLzB4MTEwIG5ldC9zb2NrZXQuYzo2 NDIKIF9fX3N5c19zZW5kbXNnKzB4MzFjLzB4ODkwIG5ldC9zb2NrZXQuYzoyMDQ4CiBfX3N5c19z ZW5kbW1zZysweDFlNi8weDVmMCBuZXQvc29ja2V0LmM6MjEzOAoKRml4ZXM6IDE0YWZlZTRiNjA5 MiAoIm5ldDogY29udmVydCBzb2NrLnNrX3dtZW1fYWxsb2MgZnJvbSBhdG9taWNfdCB0byByZWZj b3VudF90IikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29t PgpSZXBvcnRlZC1ieTogc3l6Ym90IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9p cHY0L3RjcF9vZmZsb2FkLmMgfCAxMiArKysrKysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMCBp bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L3RjcF9v ZmZsb2FkLmMgYi9uZXQvaXB2NC90Y3Bfb2ZmbG9hZC5jCmluZGV4IDExZjY5YmJmOTMwNy4uYjZh MmFhMWRjZjU2IDEwMDY0NAotLS0gYS9uZXQvaXB2NC90Y3Bfb2ZmbG9hZC5jCisrKyBiL25ldC9p cHY0L3RjcF9vZmZsb2FkLmMKQEAgLTE0OSwxMSArMTQ5LDE5IEBAIHN0cnVjdCBza19idWZmICp0 Y3BfZ3NvX3NlZ21lbnQoc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAkgKiBpcyBmcmVlZCBieSBHU08g ZW5naW5lCiAJICovCiAJaWYgKGNvcHlfZGVzdHJ1Y3RvcikgeworCQlpbnQgZGVsdGE7CisKIAkJ c3dhcChnc29fc2tiLT5zaywgc2tiLT5zayk7CiAJCXN3YXAoZ3NvX3NrYi0+ZGVzdHJ1Y3Rvciwg c2tiLT5kZXN0cnVjdG9yKTsKIAkJc3VtX3RydWVzaXplICs9IHNrYi0+dHJ1ZXNpemU7Ci0JCXJl ZmNvdW50X2FkZChzdW1fdHJ1ZXNpemUgLSBnc29fc2tiLT50cnVlc2l6ZSwKLQkJCSAgICZza2It PnNrLT5za193bWVtX2FsbG9jKTsKKwkJZGVsdGEgPSBzdW1fdHJ1ZXNpemUgLSBnc29fc2tiLT50 cnVlc2l6ZTsKKwkJLyogSW4gc29tZSBwYXRob2xvZ2ljYWwgY2FzZXMsIGRlbHRhIGNhbiBiZSBu ZWdhdGl2ZS4KKwkJICogV2UgbmVlZCB0byBlaXRoZXIgdXNlIHJlZmNvdW50X2FkZCgpIG9yIHJl ZmNvdW50X3N1Yl9hbmRfdGVzdCgpCisJCSAqLworCQlpZiAobGlrZWx5KGRlbHRhID49IDApKQor CQkJcmVmY291bnRfYWRkKGRlbHRhLCAmc2tiLT5zay0+c2tfd21lbV9hbGxvYyk7CisJCWVsc2UK KwkJCVdBUk5fT05fT05DRShyZWZjb3VudF9zdWJfYW5kX3Rlc3QoLWRlbHRhLCAmc2tiLT5zay0+ c2tfd21lbV9hbGxvYykpOwogCX0KIAogCWRlbHRhID0gaHRvbmwob2xkbGVuICsgKHNrYl90YWls X3BvaW50ZXIoc2tiKSAtCi0tIAoyLjEzLjYKCgpGcm9tIDVhNDlmNmRjMjVlNDNlMWY1NzgwOGQw OTQ5MzRjZmE2ZDE4ZmU2ODYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFl1Y2h1bmcg Q2hlbmcgPHljaGVuZ0Bnb29nbGUuY29tPgpEYXRlOiBUdWUsIDcgTm92IDIwMTcgMTU6MzM6NDMg LTA4MDAKU3ViamVjdDogW1BBVENIIDEzLzIyXSB0Y3A6IGZpeCB0Y3BfZmFzdHJldHJhbnNfYWxl cnQgd2FybmluZwoKWyBVcHN0cmVhbSBjb21taXQgMGViOTZiZjc1NGQ3ZmE2NjM1YWEwYjBmNjY1 MGM3NGI4YTZiMWNjOSBdCgpUaGlzIHBhdGNoIGZpeGVzIHRoZSBjYXVzZSBvZiBhbiBXQVJOSU5H IGluZGljYXRuZyBUQ1AgaGFzIHBlbmRpbmcKcmV0cmFuc21pc3Npb24gaW4gT3BlbiBzdGF0ZSBp biB0Y3BfZmFzdHJldHJhbnNfYWxlcnQoKS4KClRoZSByb290IGNhdXNlIGlzIGEgYmFkIGludGVy YWN0aW9uIGJldHdlZW4gcGF0aCBtdHUgcHJvYmluZywKaWYgZW5hYmxlZCwgYW5kIHRoZSBSQUNL IGxvc3MgZGV0ZWN0aW9uLiBVcG9uZyByZWNlaXZpbmcgYSBTQUNLCmFib3ZlIHRoZSBzZXF1ZW5j ZSBvZiB0aGUgTVRVIHByb2JpbmcgcGFja2V0LCBSQUNLIGNvdWxkIG1hcmsgdGhlCnByb2JlIHBh Y2tldCBsb3N0IGluIHRjcF9mYXN0cmV0cmFuc19hbGVydCgpLCBwcmlvciB0byBjYWxsaW5nCnRj cF9zaW1wbGVfcmV0cmFuc21pdCgpLgoKdGNwX3NpbXBsZV9yZXRyYW5zbWl0KCkgb25seSBlbnRl cnMgTG9zcyBzdGF0ZSBpZiBpdCBuZXdseSBtYXJrcwp0aGUgcHJvYmUgcGFja2V0IGxvc3QuIElm IHRoZSBwcm9iZSBwYWNrZXQgaXMgYWxyZWFkeSBpZGVudGlmaWVkIGFzCmxvc3QgYnkgUkFDSywg dGhlIHNlbmRlciByZW1haW5zIGluIE9wZW4gc3RhdGUgd2l0aCBzb21lIHBhY2tldHMKbWFya2Vk IGxvc3QgYW5kIHJldHJhbnNtaXR0ZWQuIFRoZW4gdGhlIG5leHQgU0FDSyB3b3VsZCB0cmlnZ2Vy CnRoZSB3YXJuaW5nLiBUaGUgbGlrZWx5IHNjZW5hcmlvIGlzIHRoYXQgdGhlIHByb2JlIHBhY2tl dCB3YXMKbG9zdCBkdWUgdG8gaXRzIHNpemUgb3IgbmV0d29yayBjb25nZXN0aW9uLiBUaGUgYWN0 dWFsIGltcGFjdCBvZgp0aGlzIHdhcm5pbmcgaXMgc21hbGwgYnkgcG90ZW50aWFsbHkgZW50ZXJp bmcgZmFzdCByZWNvdmVyeSBhbgpBQ0sgbGF0ZXIuCgpUaGUgc2ltcGxlIGZpeCBpcyBhbHdheXMg ZW50ZXJpbmcgcmVjb3ZlcnkgKExvc3MpIHN0YXRlIGlmIHNvbWUKcGFja2V0IGlzIG1hcmtlZCBs b3N0IGR1cmluZyBwYXRoIE1UVSBwcm9iaW5nLgoKRml4ZXM6IGEwMzcwYjNmM2YyYyAoInRjcDog ZW5hYmxlIFJBQ0sgbG9zcyBkZXRlY3Rpb24gdG8gdHJpZ2dlciByZWNvdmVyeSIpClJlcG9ydGVk LWJ5OiBPbGVrc2FuZHIgTmF0YWxlbmtvIDxvbGVrc2FuZHJAbmF0YWxlbmtvLm5hbWU+ClJlcG9y dGVkLWJ5OiBBbGV4ZWkgU3Rhcm92b2l0b3YgPGFsZXhlaS5zdGFyb3ZvaXRvdkBnbWFpbC5jb20+ ClJlcG9ydGVkLWJ5OiBSb21hbiBHdXNoY2hpbiA8Z3Vyb0BmYi5jb20+ClNpZ25lZC1vZmYtYnk6 IFl1Y2h1bmcgQ2hlbmcgPHljaGVuZ0Bnb29nbGUuY29tPgpSZXZpZXdlZC1ieTogRXJpYyBEdW1h emV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpBY2tlZC1ieTogTmVhbCBDYXJkd2VsbCA8bmNhcmR3 ZWxsQGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC90Y3BfaW5wdXQuYyB8IDMgKy0tCiAxIGZpbGUgY2hh bmdlZCwgMSBpbnNlcnRpb24oKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lw djQvdGNwX2lucHV0LmMgYi9uZXQvaXB2NC90Y3BfaW5wdXQuYwppbmRleCBlOTJlNWRiY2IzZDYu LmZmZTk2ZGU4YTA3OSAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdGNwX2lucHV0LmMKKysrIGIvbmV0 L2lwdjQvdGNwX2lucHV0LmMKQEAgLTI2MTMsNyArMjYxMyw2IEBAIHZvaWQgdGNwX3NpbXBsZV9y ZXRyYW5zbWl0KHN0cnVjdCBzb2NrICpzaykKIAlzdHJ1Y3QgdGNwX3NvY2sgKnRwID0gdGNwX3Nr KHNrKTsKIAlzdHJ1Y3Qgc2tfYnVmZiAqc2tiOwogCXVuc2lnbmVkIGludCBtc3MgPSB0Y3BfY3Vy cmVudF9tc3Moc2spOwotCXUzMiBwcmlvcl9sb3N0ID0gdHAtPmxvc3Rfb3V0OwogCiAJdGNwX2Zv cl93cml0ZV9xdWV1ZShza2IsIHNrKSB7CiAJCWlmIChza2IgPT0gdGNwX3NlbmRfaGVhZChzaykp CkBAIC0yNjMwLDcgKzI2MjksNyBAQCB2b2lkIHRjcF9zaW1wbGVfcmV0cmFuc21pdChzdHJ1Y3Qg c29jayAqc2spCiAKIAl0Y3BfY2xlYXJfcmV0cmFuc19oaW50c19wYXJ0aWFsKHRwKTsKIAotCWlm IChwcmlvcl9sb3N0ID09IHRwLT5sb3N0X291dCkKKwlpZiAoIXRwLT5sb3N0X291dCkKIAkJcmV0 dXJuOwogCiAJaWYgKHRjcF9pc19yZW5vKHRwKSkKLS0gCjIuMTMuNgoKCkZyb20gMDRmYTk3ZTA1 MjE1ZTdjZjRiNGNlZmIxMDFkMDU1MjdjZDU1ZjdkNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogQ29uZyBXYW5nIDx4aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+CkRhdGU6IFRodSwgOSBO b3YgMjAxNyAxNjo0MzoxMyAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMjJdIHZsYW46IGZpeCBh IHVzZS1hZnRlci1mcmVlIGluIHZsYW5fZGV2aWNlX2V2ZW50KCkKClsgVXBzdHJlYW0gY29tbWl0 IDA1MmQ0MWMwMWIzYTJlMzM3MWQ2NmRlNTY5NzE3MzUzYWY0ODlkNjMgXQoKQWZ0ZXIgcmVmY250 IHJlYWNoZXMgemVybywgdmxhbl92aWRfZGVsKCkgY291bGQgZnJlZQpkZXYtPnZsYW5faW5mbyB2 aWEgUkNVOgoKCVJDVV9JTklUX1BPSU5URVIoZGV2LT52bGFuX2luZm8sIE5VTEwpOwoJY2FsbF9y Y3UoJnZsYW5faW5mby0+cmN1LCB2bGFuX2luZm9fcmN1X2ZyZWUpOwoKSG93ZXZlciwgdGhlIHBv aW50ZXIgJ2dycCcgc3RpbGwgcG9pbnRzIHRvIHRoYXQgbWVtb3J5CnNpbmNlIGl0IGlzIHNldCBi ZWZvcmUgdmxhbl92aWRfZGVsKCk6CgogICAgICAgIHZsYW5faW5mbyA9IHJ0bmxfZGVyZWZlcmVu Y2UoZGV2LT52bGFuX2luZm8pOwogICAgICAgIGlmICghdmxhbl9pbmZvKQogICAgICAgICAgICAg ICAgZ290byBvdXQ7CiAgICAgICAgZ3JwID0gJnZsYW5faW5mby0+Z3JwOwoKRGVwZW5kcyBvbiB3 aGVuIHRoYXQgUkNVIGNhbGxiYWNrIGlzIHNjaGVkdWxlZCwgd2UgY291bGQKdHJpZ2dlciBhIHVz ZS1hZnRlci1mcmVlIGluIHZsYW5fZ3JvdXBfZm9yX2VhY2hfZGV2KCkKcmlnaHQgZm9sbG93aW5n IHRoaXMgdmxhbl92aWRfZGVsKCkuCgpGaXggaXQgYnkgbW92aW5nIHZsYW5fdmlkX2RlbCgpIGJl Zm9yZSBzZXR0aW5nIGdycC4gVGhpcwppcyBhbHNvIHN5bW1ldHJpYyB0byB0aGUgdmxhbl92aWRf YWRkKCkgd2UgY2FsbCBpbgp2bGFuX2RldmljZV9ldmVudCgpLgoKUmVwb3J0ZWQtYnk6IEZlbmdn dWFuZyBXdSA8ZmVuZ2d1YW5nLnd1QGludGVsLmNvbT4KRml4ZXM6IGVmYzczZjRiYmMyMyAoIm5l dDogRml4IG1lbW9yeSBsZWFrIC0gdmxhbl9pbmZvIHN0cnVjdCIpCkNjOiBBbGV4YW5kZXIgRHV5 Y2sgPGFsZXhhbmRlci5kdXlja0BnbWFpbC5jb20+CkNjOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFs ZHNAbGludXgtZm91bmRhdGlvbi5vcmc+CkNjOiBHaXJpc2ggTW9vZGFsYmFpbCA8Z2lyaXNoLm1v b2RhbGJhaWxAb3JhY2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogQ29uZyBXYW5nIDx4aXlvdS53YW5n Y29uZ0BnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBHaXJpc2ggTW9vZGFsYmFpbCA8Z2lyaXNoLm1v b2RhbGJhaWxAb3JhY2xlLmNvbT4KVGVzdGVkLWJ5OiBGZW5nZ3VhbmcgV3UgPGZlbmdndWFuZy53 dUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBuZXQvODAyMXEvdmxhbi5jIHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2Vk LCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0LzgwMjFx L3ZsYW4uYyBiL25ldC84MDIxcS92bGFuLmMKaW5kZXggOTY0OTU3OWI1YjlmLi40YTcyZWU0ZTJh ZTkgMTAwNjQ0Ci0tLSBhL25ldC84MDIxcS92bGFuLmMKKysrIGIvbmV0LzgwMjFxL3ZsYW4uYwpA QCAtMzc2LDYgKzM3Niw5IEBAIHN0YXRpYyBpbnQgdmxhbl9kZXZpY2VfZXZlbnQoc3RydWN0IG5v dGlmaWVyX2Jsb2NrICp1bnVzZWQsIHVuc2lnbmVkIGxvbmcgZXZlbnQsCiAJCQlkZXYtPm5hbWUp OwogCQl2bGFuX3ZpZF9hZGQoZGV2LCBodG9ucyhFVEhfUF84MDIxUSksIDApOwogCX0KKwlpZiAo ZXZlbnQgPT0gTkVUREVWX0RPV04gJiYKKwkgICAgKGRldi0+ZmVhdHVyZXMgJiBORVRJRl9GX0hX X1ZMQU5fQ1RBR19GSUxURVIpKQorCQl2bGFuX3ZpZF9kZWwoZGV2LCBodG9ucyhFVEhfUF84MDIx USksIDApOwogCiAJdmxhbl9pbmZvID0gcnRubF9kZXJlZmVyZW5jZShkZXYtPnZsYW5faW5mbyk7 CiAJaWYgKCF2bGFuX2luZm8pCkBAIC00MjMsOSArNDI2LDYgQEAgc3RhdGljIGludCB2bGFuX2Rl dmljZV9ldmVudChzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKnVudXNlZCwgdW5zaWduZWQgbG9uZyBl dmVudCwKIAkJc3RydWN0IG5ldF9kZXZpY2UgKnRtcDsKIAkJTElTVF9IRUFEKGNsb3NlX2xpc3Qp OwogCi0JCWlmIChkZXYtPmZlYXR1cmVzICYgTkVUSUZfRl9IV19WTEFOX0NUQUdfRklMVEVSKQot CQkJdmxhbl92aWRfZGVsKGRldiwgaHRvbnMoRVRIX1BfODAyMVEpLCAwKTsKLQogCQkvKiBQdXQg YWxsIFZMQU5zIGZvciB0aGlzIGRldiBpbiB0aGUgZG93biBzdGF0ZSB0b28uICAqLwogCQl2bGFu X2dyb3VwX2Zvcl9lYWNoX2RldihncnAsIGksIHZsYW5kZXYpIHsKIAkJCWZsZ3MgPSB2bGFuZGV2 LT5mbGFnczsKLS0gCjIuMTMuNgoKCkZyb20gY2FkMjVmYzlhMGJjN2VhMDFjYzI4ZjM2YTlkMWI4 MDgzYzYwZjA3OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSHV5IE5ndXllbiA8aHV5 bkBtZWxsYW5veC5jb20+CkRhdGU6IFR1ZSwgMjYgU2VwIDIwMTcgMTU6MTE6NTYgLTA1MDAKU3Vi amVjdDogW1BBVENIIDE1LzIyXSBuZXQvbWx4NTogQ2FuY2VsIGhlYWx0aCBwb2xsIGJlZm9yZSBz ZW5kaW5nIHBhbmljCiB0ZWFyZG93biBjb21tYW5kCgpbIFVwc3RyZWFtIGNvbW1pdCBkMmFhMDYw ZDQwZmEwNjBlOTYzZjlhMzU2ZDQzNDgxZTQzYmEzZGFjIF0KCkFmdGVyIHRoZSBwYW5pYyB0ZWFy ZG93biBmaXJtd2FyZSBjb21tYW5kLCBoZWFsdGhfY2FyZSBkZXRlY3RzIHRoZSBlcnJvcgppbiBQ Q0kgYnVzIGFuZCBjYWxscyB0aGUgbWx4NV9wY2lfZXJyX2RldGVjdGVkLiBUaGlzIGhlYWx0aF9j YXJlIGZsb3cgaXMKbm8gbG9uZ2VyIG5lZWRlZCBiZWNhdXNlIHRoZSBwYW5pYyB0ZWFyZG93biBm aXJtd2FyZSBjb21tYW5kIHdpbGwgYnJpbmcKZG93biB0aGUgUENJIGJ1cyBjb21tdW5pY2F0aW9u IHdpdGggdGhlIEhDQS4KClRoZSBzb2x1dGlvbiBpcyB0byBjYW5jZWwgdGhlIGhlYWx0aCBjYXJl IHRpbWVyIGFuZCBpdHMgcGVuZGluZwp3b3JrcXVldWUgcmVxdWVzdCBiZWZvcmUgc2VuZGluZyBw YW5pYyB0ZWFyZG93biBmaXJtd2FyZSBjb21tYW5kLgoKS2VybmVsIHRyYWNlOgptbHg1X2NvcmUg MDAzMzowMTowMC4wOiBTaHV0ZG93biB3YXMgY2FsbGVkCm1seDVfY29yZSAwMDMzOjAxOjAwLjA6 IGhlYWx0aF9jYXJlOjE1NDoocGlkIDkzMDQpOiBoYW5kbGluZyBiYWQgZGV2aWNlIGhlcmUKbWx4 NV9jb3JlIDAwMzM6MDE6MDAuMDogbWx4NV9oYW5kbGVfYmFkX3N0YXRlOjExNDoocGlkIDkzMDQp OiBOSUMgc3RhdGUgMQptbHg1X2NvcmUgMDAzMzowMTowMC4wOiBtbHg1X3BjaV9lcnJfZGV0ZWN0 ZWQgd2FzIGNhbGxlZAptbHg1X2NvcmUgMDAzMzowMTowMC4wOiBtbHg1X2VudGVyX2Vycm9yX3N0 YXRlOjk2OihwaWQgOTMwNCk6IHN0YXJ0Cm1seDVfMzptbHg1X2liX2V2ZW50OjMwNjE6KHBpZCA5 MzA0KTogd2FybmluZzogZXZlbnQgb24gcG9ydCAwCm1seDVfY29yZSAwMDMzOjAxOjAwLjA6IG1s eDVfZW50ZXJfZXJyb3Jfc3RhdGU6MTA0OihwaWQgOTMwNCk6IGVuZApVbmFibGUgdG8gaGFuZGxl IGtlcm5lbCBwYWdpbmcgcmVxdWVzdCBmb3IgZGF0YSBhdCBhZGRyZXNzIDB4MDAwMDAwM2YKRmF1 bHRpbmcgaW5zdHJ1Y3Rpb24gYWRkcmVzczogMHhjMDA4MDAwMDQzNGI4YzgwCgpGaXhlczogODgx MmMyNGQyOGY0ICgnbmV0L21seDU6IEFkZCBmYXN0IHVubG9hZCBzdXBwb3J0IGluIHNodXRkb3du IGZsb3cnKQpTaWduZWQtb2ZmLWJ5OiBIdXkgTmd1eWVuIDxodXluQG1lbGxhbm94LmNvbT4KUmV2 aWV3ZWQtYnk6IE1vc2hlIFNoZW1lc2ggPG1vc2hlQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1i eTogU2FlZWQgTWFoYW1lZWQgPHNhZWVkbUBtZWxsYW5veC5jb20+Ci0tLQogZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL21haW4uYyB8IDcgKysrKysrKwogMSBmaWxlIGNo YW5nZWQsIDcgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0 L21lbGxhbm94L21seDUvY29yZS9tYWluLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvbWFpbi5jCmluZGV4IDE2ODg1ODI3MzY3Yi4uNTUzYmMyMzBkNzBkIDEwMDY0 NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvbWFpbi5jCisr KyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9tYWluLmMKQEAgLTE1 NDUsOSArMTU0NSwxNiBAQCBzdGF0aWMgaW50IG1seDVfdHJ5X2Zhc3RfdW5sb2FkKHN0cnVjdCBt bHg1X2NvcmVfZGV2ICpkZXYpCiAJCXJldHVybiAtRUFHQUlOOwogCX0KIAorCS8qIFBhbmljIHRl YXIgZG93biBmdyBjb21tYW5kIHdpbGwgc3RvcCB0aGUgUENJIGJ1cyBjb21tdW5pY2F0aW9uCisJ ICogd2l0aCB0aGUgSENBLCBzbyB0aGUgaGVhbHRoIHBvbGxsIGlzIG5vIGxvbmdlciBuZWVkZWQu CisJICovCisJbWx4NV9kcmFpbl9oZWFsdGhfd3EoZGV2KTsKKwltbHg1X3N0b3BfaGVhbHRoX3Bv bGwoZGV2KTsKKwogCXJldCA9IG1seDVfY21kX2ZvcmNlX3RlYXJkb3duX2hjYShkZXYpOwogCWlm IChyZXQpIHsKIAkJbWx4NV9jb3JlX2RiZyhkZXYsICJGaXJtd2FyZSBjb3VsZG4ndCBkbyBmYXN0 IHVubG9hZCBlcnJvcjogJWRcbiIsIHJldCk7CisJCW1seDVfc3RhcnRfaGVhbHRoX3BvbGwoZGV2 KTsKIAkJcmV0dXJuIHJldDsKIAl9CiAKLS0gCjIuMTMuNgoKCkZyb20gOGMwNmQyOGRkZTI2Yzhi YWY4MTEyY2FiMjg3ZDQyNGUzYTU2MTczMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog SW5iYXIgS2FybXkgPGluYmFya0BtZWxsYW5veC5jb20+CkRhdGU6IFN1biwgMTUgT2N0IDIwMTcg MTc6MzA6NTkgKzAzMDAKU3ViamVjdDogW1BBVENIIDE2LzIyXSBuZXQvbWx4NWU6IFNldCBwYWdl IHRvIG51bGwgaW4gY2FzZSBkbWEgbWFwcGluZyBmYWlscwoKWyBVcHN0cmVhbSBjb21taXQgMmU1 MGIyNjE5NTM4ZWEwMjI0YzAzN2Y2ZmE3NDYwMjMwODllMDY1NCBdCgpDdXJyZW50bHksIHdoZW4g ZG1hIG1hcHBpbmcgZmFpbHMsIHB1dF9wYWdlIGlzIGNhbGxlZCwKYnV0IHRoZSBwYWdlIGlzIG5v dCBzZXQgdG8gbnVsbC4gTGF0ZXIsIGluIHRoZSBwYWdlX3JldXNlIHRyZWF0bWVudCBpbgptbHg1 ZV9mcmVlX3J4X2Rlc2NzKCksIG1seDVlX3BhZ2VfcmVsZWFzZSgpIGlzIGNhbGxlZCBmb3IgdGhl IHNlY29uZCB0aW1lLAppbXByb3Blcmx5IGRvaW5nIGRtYV91bm1hcCAoZm9yIGEgbm9uLW1hcHBl ZCBhZGRyZXNzKSBhbmQgYW4gZXh0cmEgcHV0X3BhZ2UuClByZXZlbnQgdGhpcyBieSBudWxsaWZ5 aW5nIHRoZSBwYWdlIHBvaW50ZXIgd2hlbiBkbWFfbWFwIGZhaWxzLgoKRml4ZXM6IGFjY2Q1ODgz MzIzNyAoIm5ldC9tbHg1ZTogSW50cm9kdWNlIFJYIFBhZ2UtUmV1c2UiKQpTaWduZWQtb2ZmLWJ5 OiBJbmJhciBLYXJteSA8aW5iYXJrQG1lbGxhbm94LmNvbT4KUmV2aWV3ZWQtYnk6IFRhcmlxIFRv dWthbiA8dGFyaXF0QG1lbGxhbm94LmNvbT4KQ2M6IGtlcm5lbC10ZWFtQGZiLmNvbQpTaWduZWQt b2ZmLWJ5OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KLS0tCiBkcml2ZXJz L25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fcnguYyB8IDEyICsrKysrLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fcnguYyBi L2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9yeC5jCmluZGV4IDcz NDQ0MzMyNTlmYy4uMWM1MTNkYzAxMDVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5l dC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fcnguYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9t ZWxsYW5veC9tbHg1L2NvcmUvZW5fcnguYwpAQCAtMjEzLDIyICsyMTMsMjAgQEAgc3RhdGljIGlu bGluZSBib29sIG1seDVlX3J4X2NhY2hlX2dldChzdHJ1Y3QgbWx4NWVfcnEgKnJxLAogc3RhdGlj IGlubGluZSBpbnQgbWx4NWVfcGFnZV9hbGxvY19tYXBwZWQoc3RydWN0IG1seDVlX3JxICpycSwK IAkJCQkJICBzdHJ1Y3QgbWx4NWVfZG1hX2luZm8gKmRtYV9pbmZvKQogewotCXN0cnVjdCBwYWdl ICpwYWdlOwotCiAJaWYgKG1seDVlX3J4X2NhY2hlX2dldChycSwgZG1hX2luZm8pKQogCQlyZXR1 cm4gMDsKIAotCXBhZ2UgPSBkZXZfYWxsb2NfcGFnZXMocnEtPmJ1ZmYucGFnZV9vcmRlcik7Ci0J aWYgKHVubGlrZWx5KCFwYWdlKSkKKwlkbWFfaW5mby0+cGFnZSA9IGRldl9hbGxvY19wYWdlcyhy cS0+YnVmZi5wYWdlX29yZGVyKTsKKwlpZiAodW5saWtlbHkoIWRtYV9pbmZvLT5wYWdlKSkKIAkJ cmV0dXJuIC1FTk9NRU07CiAKLQlkbWFfaW5mby0+YWRkciA9IGRtYV9tYXBfcGFnZShycS0+cGRl diwgcGFnZSwgMCwKKwlkbWFfaW5mby0+YWRkciA9IGRtYV9tYXBfcGFnZShycS0+cGRldiwgZG1h X2luZm8tPnBhZ2UsIDAsCiAJCQkJICAgICAgUlFfUEFHRV9TSVpFKHJxKSwgcnEtPmJ1ZmYubWFw X2Rpcik7CiAJaWYgKHVubGlrZWx5KGRtYV9tYXBwaW5nX2Vycm9yKHJxLT5wZGV2LCBkbWFfaW5m by0+YWRkcikpKSB7Ci0JCXB1dF9wYWdlKHBhZ2UpOworCQlwdXRfcGFnZShkbWFfaW5mby0+cGFn ZSk7CisJCWRtYV9pbmZvLT5wYWdlID0gTlVMTDsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQotCWRt YV9pbmZvLT5wYWdlID0gcGFnZTsKIAogCXJldHVybiAwOwogfQotLSAKMi4xMy42CgoKRnJvbSAw ZTI0MmIxOTkxMTliMzNlYjFkNjE2MzJmNzVjMTYzYTJkZmYyZDE4IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiAiSmFzb24gQS4gRG9uZW5mZWxkIiA8SmFzb25AengyYzQuY29tPgpEYXRl OiBUaHUsIDkgTm92IDIwMTcgMTM6MDQ6NDQgKzA5MDAKU3ViamVjdDogW1BBVENIIDE3LzIyXSBh Zl9uZXRsaW5rOiBlbnN1cmUgdGhhdCBOTE1TR19ET05FIG5ldmVyIGZhaWxzIGluIGR1bXBzCgpb IFVwc3RyZWFtIGNvbW1pdCAwNjQyODQwYjhiYjAwODUyOGRiZGY5MjljZWM5ZjY1YWM0MjMxYWQw IF0KClRoZSB3YXkgcGVvcGxlIGdlbmVyYWxseSB1c2UgbmV0bGlua19kdW1wIGlzIHRoYXQgdGhl eSBmaWxsIGluIHRoZSBza2IKYXMgbXVjaCBhcyBwb3NzaWJsZSwgYnJlYWtpbmcgd2hlbiBubGFf cHV0IHJldHVybnMgYW4gZXJyb3IuIFRoZW4sIHRoZXkKZ2V0IGNhbGxlZCBhZ2FpbiBhbmQgc3Rh cnQgZmlsbGluZyBvdXQgdGhlIG5leHQgc2tiLCBhbmQgYWdhaW4sIGFuZCBzbwpmb3J0aC4gVGhl IG1lY2hhbmlzbSBhdCB3b3JrIGhlcmUgaXMgdGhlIGFiaWxpdHkgZm9yIHRoZSBpdGVyYXRpdmUK ZHVtcGluZyBmdW5jdGlvbiB0byBkZXRlY3Qgd2hlbiB0aGUgc2tiIGlzIGZpbGxlZCB1cCBhbmQg bm90IGZpbGwgaXQKcGFzdCB0aGUgYnJpbSwgd2FpdGluZyBmb3IgYSBmcmVzaCBza2IgZm9yIHRo ZSByZXN0IG9mIHRoZSBkYXRhLgoKSG93ZXZlciwgaWYgdGhlIGF0dHJpYnV0ZXMgYXJlIHNtYWxs IGFuZCBuaWNlbHkgcGFja2VkLCBpdCBpcyBwb3NzaWJsZQp0aGF0IGEgZHVtcCBjYWxsYmFjayBm dW5jdGlvbiBzdWNjZXNzZnVsbHkgZmlsbHMgaW4gYXR0cmlidXRlcyB1bnRpbCB0aGUKc2tiIGlz IG9mIHNpemUgNDA4MCAobGlibW5sJ3MgZGVmYXVsdCBwYWdlLXNpemVkIHJlY2VpdmUgYnVmZmVy IHNpemUpLgpUaGUgZHVtcCBmdW5jdGlvbiBjb21wbGV0ZXMsIHNhdGlzZmllZCwgYW5kIHRoZW4s IGlmIGl0IGhhcHBlbnMgdG8gYmUKdGhhdCB0aGlzIGlzIGFjdHVhbGx5IHRoZSBsYXN0IHNrYiwg YW5kIG5vIGZ1cnRoZXIgb25lcyBhcmUgdG8gYmUgc2VudCwKdGhlbiBuZXRsaW5rX2R1bXAgd2ls bCBhZGQgb24gdGhlIE5MTVNHX0RPTkUgcGFydDoKCiAgbmxoID0gbmxtc2dfcHV0X2Fuc3dlcihz a2IsIGNiLCBOTE1TR19ET05FLCBzaXplb2YobGVuKSwgTkxNX0ZfTVVMVEkpOwoKSXQgaXMgdmVy eSBpbXBvcnRhbnQgdGhhdCBuZXRsaW5rX2R1bXAgZG9lcyB0aGlzLCBvZiBjb3Vyc2UuIEhvd2V2 ZXIsIGluCnRoaXMgZXhhbXBsZSwgdGhhdCBjYWxsIHRvIG5sbXNnX3B1dF9hbnN3ZXIgd2lsbCBm YWlsLCBiZWNhdXNlIHRoZQpwcmV2aW91cyBmaWxsaW5nIGJ5IHRoZSBkdW1wIGZ1bmN0aW9uIGRp ZCBub3QgbGVhdmUgaXQgZW5vdWdoIHJvb20uIEFuZApob3cgY291bGQgaXQgcG9zc2libHkgaGF2 ZSBkb25lIHNvPyBBbGwgb2YgdGhlIG5sYV9wdXQgdmFyaWV0eSBvZgpmdW5jdGlvbnMgc2ltcGx5 IGNoZWNrIHRvIHNlZSBpZiB0aGUgc2tiIGhhcyBlbm91Z2ggdGFpbHJvb20sCmluZGVwZW5kZW50 IG9mIHRoZSBjb250ZXh0IGl0IGlzIGluLgoKSW4gb3JkZXIgdG8ga2VlcCB0aGUgaW1wb3J0YW50 IGFzc3VtcHRpb25zIG9mIGFsbCBuZXRsaW5rIGR1bXAgdXNlcnMsIGl0CmlzIHRoZXJlZm9yZSBp bXBvcnRhbnQgdG8gZ2l2ZSB0aGVtIGFuIHNrYiB0aGF0IGhhcyB0aGlzIGVuZCBwYXJ0IG9mIHRo ZQp0YWlsIGFscmVhZHkgcmVzZXJ2ZWQsIHNvIHRoYXQgdGhlIGNhbGwgdG8gbmxtc2dfcHV0X2Fu c3dlciBkb2VzIG5vdApmYWlsLiBPdGhlcndpc2UsIGxpYnJhcnkgYXV0aG9ycyBhcmUgZm9yY2Vk IHRvIGZpbmQgc29tZSBiaXphcnJlIHNpemVkCnJlY2VpdmUgYnVmZmVyIHRoYXQgaGFzIGEgbGFy Z2UgbW9kdWxvIHJlbGF0aXZlIHRvIHRoZSBjb21tb24gc2l6ZXMgb2YKbWVzc2FnZXMgcmVjZWl2 ZWQsIHdoaWNoIGlzIHVnbHkgYW5kIGJ1Z2d5LgoKVGhpcyBwYXRjaCB0aHVzIHNhdmVzIHRoZSBO TE1TR19ET05FIGZvciBhbiBhZGRpdGlvbmFsIG1lc3NhZ2UsIGZvciB0aGUKY2FzZSB0aGF0IHRo aW5ncyBhcmUgZGFuZ2Vyb3VzbHkgY2xvc2UgdG8gdGhlIGJyaW0uIFRoaXMgcmVxdWlyZXMKa2Vl cGluZyB0cmFjayBvZiB0aGUgZXJybm8gZnJvbSAtPmR1bXAoKSBhY3Jvc3MgY2FsbHMuCgpTaWdu ZWQtb2ZmLWJ5OiBKYXNvbiBBLiBEb25lbmZlbGQgPEphc29uQHp4MmM0LmNvbT4KU2lnbmVkLW9m Zi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9uZXRs aW5rL2FmX25ldGxpbmsuYyB8IDE3ICsrKysrKysrKysrLS0tLS0tCiBuZXQvbmV0bGluay9hZl9u ZXRsaW5rLmggfCAgMSArCiAyIGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDYgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L25ldGxpbmsvYWZfbmV0bGluay5jIGIvbmV0L25l dGxpbmsvYWZfbmV0bGluay5jCmluZGV4IDA5YzhkYmJkMmQ3MC4uMjkzOWE2Yjg3YzI3IDEwMDY0 NAotLS0gYS9uZXQvbmV0bGluay9hZl9uZXRsaW5rLmMKKysrIGIvbmV0L25ldGxpbmsvYWZfbmV0 bGluay5jCkBAIC0yMTI4LDcgKzIxMjgsNyBAQCBzdGF0aWMgaW50IG5ldGxpbmtfZHVtcChzdHJ1 Y3Qgc29jayAqc2spCiAJc3RydWN0IHNrX2J1ZmYgKnNrYiA9IE5VTEw7CiAJc3RydWN0IG5sbXNn aGRyICpubGg7CiAJc3RydWN0IG1vZHVsZSAqbW9kdWxlOwotCWludCBsZW4sIGVyciA9IC1FTk9C VUZTOworCWludCBlcnIgPSAtRU5PQlVGUzsKIAlpbnQgYWxsb2NfbWluX3NpemU7CiAJaW50IGFs bG9jX3NpemU7CiAKQEAgLTIxNzUsOSArMjE3NSwxMSBAQCBzdGF0aWMgaW50IG5ldGxpbmtfZHVt cChzdHJ1Y3Qgc29jayAqc2spCiAJc2tiX3Jlc2VydmUoc2tiLCBza2JfdGFpbHJvb20oc2tiKSAt IGFsbG9jX3NpemUpOwogCW5ldGxpbmtfc2tiX3NldF9vd25lcl9yKHNrYiwgc2spOwogCi0JbGVu ID0gY2ItPmR1bXAoc2tiLCBjYik7CisJaWYgKG5say0+ZHVtcF9kb25lX2Vycm5vID4gMCkKKwkJ bmxrLT5kdW1wX2RvbmVfZXJybm8gPSBjYi0+ZHVtcChza2IsIGNiKTsKIAotCWlmIChsZW4gPiAw KSB7CisJaWYgKG5say0+ZHVtcF9kb25lX2Vycm5vID4gMCB8fAorCSAgICBza2JfdGFpbHJvb20o c2tiKSA8IG5sbXNnX3RvdGFsX3NpemUoc2l6ZW9mKG5say0+ZHVtcF9kb25lX2Vycm5vKSkpIHsK IAkJbXV0ZXhfdW5sb2NrKG5say0+Y2JfbXV0ZXgpOwogCiAJCWlmIChza19maWx0ZXIoc2ssIHNr YikpCkBAIC0yMTg3LDEzICsyMTg5LDE1IEBAIHN0YXRpYyBpbnQgbmV0bGlua19kdW1wKHN0cnVj dCBzb2NrICpzaykKIAkJcmV0dXJuIDA7CiAJfQogCi0JbmxoID0gbmxtc2dfcHV0X2Fuc3dlcihz a2IsIGNiLCBOTE1TR19ET05FLCBzaXplb2YobGVuKSwgTkxNX0ZfTVVMVEkpOwotCWlmICghbmxo KQorCW5saCA9IG5sbXNnX3B1dF9hbnN3ZXIoc2tiLCBjYiwgTkxNU0dfRE9ORSwKKwkJCSAgICAg ICBzaXplb2YobmxrLT5kdW1wX2RvbmVfZXJybm8pLCBOTE1fRl9NVUxUSSk7CisJaWYgKFdBUk5f T04oIW5saCkpCiAJCWdvdG8gZXJyb3V0X3NrYjsKIAogCW5sX2R1bXBfY2hlY2tfY29uc2lzdGVu dChjYiwgbmxoKTsKIAotCW1lbWNweShubG1zZ19kYXRhKG5saCksICZsZW4sIHNpemVvZihsZW4p KTsKKwltZW1jcHkobmxtc2dfZGF0YShubGgpLCAmbmxrLT5kdW1wX2RvbmVfZXJybm8sCisJICAg ICAgIHNpemVvZihubGstPmR1bXBfZG9uZV9lcnJubykpOwogCiAJaWYgKHNrX2ZpbHRlcihzaywg c2tiKSkKIAkJa2ZyZWVfc2tiKHNrYik7CkBAIC0yMjY1LDYgKzIyNjksNyBAQCBpbnQgX19uZXRs aW5rX2R1bXBfc3RhcnQoc3RydWN0IHNvY2sgKnNzaywgc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAl9 CiAKIAlubGstPmNiX3J1bm5pbmcgPSB0cnVlOworCW5say0+ZHVtcF9kb25lX2Vycm5vID0gSU5U X01BWDsKIAogCW11dGV4X3VubG9jayhubGstPmNiX211dGV4KTsKIApkaWZmIC0tZ2l0IGEvbmV0 L25ldGxpbmsvYWZfbmV0bGluay5oIGIvbmV0L25ldGxpbmsvYWZfbmV0bGluay5oCmluZGV4IDM0 OTBmMjQzMDUzMi4uODkwOGZjMmQzZGUwIDEwMDY0NAotLS0gYS9uZXQvbmV0bGluay9hZl9uZXRs aW5rLmgKKysrIGIvbmV0L25ldGxpbmsvYWZfbmV0bGluay5oCkBAIC0zMyw2ICszMyw3IEBAIHN0 cnVjdCBuZXRsaW5rX3NvY2sgewogCXdhaXRfcXVldWVfaGVhZF90CXdhaXQ7CiAJYm9vbAkJCWJv dW5kOwogCWJvb2wJCQljYl9ydW5uaW5nOworCWludAkJCWR1bXBfZG9uZV9lcnJubzsKIAlzdHJ1 Y3QgbmV0bGlua19jYWxsYmFjawljYjsKIAlzdHJ1Y3QgbXV0ZXgJCSpjYl9tdXRleDsKIAlzdHJ1 Y3QgbXV0ZXgJCWNiX2RlZl9tdXRleDsKLS0gCjIuMTMuNgoKCkZyb20gNTA1ODdjNTdiZDdhYzQ5 Mjc4N2I3NDY1ZDFiYjFlZDIwYjA3ZjI5YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog WGluIExvbmcgPGx1Y2llbi54aW5AZ21haWwuY29tPgpEYXRlOiBTYXQsIDExIE5vdiAyMDE3IDE5 OjU4OjUwICswODAwClN1YmplY3Q6IFtQQVRDSCAxOC8yMl0gdnhsYW46IGZpeCB0aGUgaXNzdWUg dGhhdCBuZWlnaCBwcm94eSBibG9ja3MgYWxsIGljbXB2NgogcGFja2V0cwoKWyBVcHN0cmVhbSBj b21taXQgOGJmZjM2ODVhNGJiZjE3NWE5NmJjNmE1MjhmMTM0NTVkOGQzODI0NCBdCgpDb21taXQg ZjFmYjA4ZjYzMzdjICgidnhsYW46IGZpeCBORCBwcm94eSB3aGVuIHNrYiBkb2Vzbid0IGhhdmUg dHJhbnNwb3J0CmhlYWRlciBvZmZzZXQiKSByZW1vdmVkIGljbXA2X2NvZGUgYW5kIGljbXA2X3R5 cGUgY2hlY2sgYmVmb3JlIGNhbGxpbmcKbmVpZ2hfcmVkdWNlIHdoZW4gZG9pbmcgbmVpZ2ggcHJv eHkuCgpJdCBtZWFucyBhbGwgaWNtcHY2IHBhY2tldHMgd291bGQgYmUgYmxvY2tlZCBieSB0aGlz LCBub3Qgb25seSBucyBwYWNrZXQuCkluIEppYW5saW4ncyBlbnYsIGV2ZW4gcGluZzYgY291bGRu J3Qgd29yayB0aHJvdWdoIGl0LgoKVGhpcyBwYXRjaCBpcyB0byBicmluZyB0aGUgaWNtcDZfY29k ZSBhbmQgaWNtcDZfdHlwZSBjaGVjayBiYWNrIGFuZCBhbHNvCnJlbW92ZWQgdGhlIHNhbWUgY2hl Y2sgZnJvbSBuZWlnaF9yZWR1Y2UoKS4KCkZpeGVzOiBmMWZiMDhmNjMzN2MgKCJ2eGxhbjogZml4 IE5EIHByb3h5IHdoZW4gc2tiIGRvZXNuJ3QgaGF2ZSB0cmFuc3BvcnQgaGVhZGVyIG9mZnNldCIp ClJlcG9ydGVkLWJ5OiBKaWFubGluIFNoaSA8amlzaGlAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1i eTogWGluIExvbmcgPGx1Y2llbi54aW5AZ21haWwuY29tPgpSZXZpZXdlZC1ieTogVmluY2VudCBC ZXJuYXQgPHZpbmNlbnRAYmVybmF0LmltPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIg PGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvdnhsYW4uYyB8IDMxICsrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25z KCspLCAxOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92eGxhbi5jIGIv ZHJpdmVycy9uZXQvdnhsYW4uYwppbmRleCBlMTdiYWFjNzBmNDMuLjQzNjE1NDcyMGJmOCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9uZXQvdnhsYW4uYworKysgYi9kcml2ZXJzL25ldC92eGxhbi5jCkBA IC0xNjMyLDI2ICsxNjMyLDE5IEBAIHN0YXRpYyBzdHJ1Y3Qgc2tfYnVmZiAqdnhsYW5fbmFfY3Jl YXRlKHN0cnVjdCBza19idWZmICpyZXF1ZXN0LAogc3RhdGljIGludCBuZWlnaF9yZWR1Y2Uoc3Ry dWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IHNrX2J1ZmYgKnNrYiwgX19iZTMyIHZuaSkKIHsK IAlzdHJ1Y3QgdnhsYW5fZGV2ICp2eGxhbiA9IG5ldGRldl9wcml2KGRldik7Ci0Jc3RydWN0IG5k X21zZyAqbXNnOwotCWNvbnN0IHN0cnVjdCBpcHY2aGRyICppcGhkcjsKIAljb25zdCBzdHJ1Y3Qg aW42X2FkZHIgKmRhZGRyOwotCXN0cnVjdCBuZWlnaGJvdXIgKm47CisJY29uc3Qgc3RydWN0IGlw djZoZHIgKmlwaGRyOwogCXN0cnVjdCBpbmV0Nl9kZXYgKmluNl9kZXY7CisJc3RydWN0IG5laWdo Ym91ciAqbjsKKwlzdHJ1Y3QgbmRfbXNnICptc2c7CiAKIAlpbjZfZGV2ID0gX19pbjZfZGV2X2dl dChkZXYpOwogCWlmICghaW42X2RldikKIAkJZ290byBvdXQ7CiAKLQlpZiAoIXBza2JfbWF5X3B1 bGwoc2tiLCBzaXplb2Yoc3RydWN0IGlwdjZoZHIpICsgc2l6ZW9mKHN0cnVjdCBuZF9tc2cpKSkK LQkJZ290byBvdXQ7Ci0KIAlpcGhkciA9IGlwdjZfaGRyKHNrYik7CiAJZGFkZHIgPSAmaXBoZHIt PmRhZGRyOwotCiAJbXNnID0gKHN0cnVjdCBuZF9tc2cgKikoaXBoZHIgKyAxKTsKLQlpZiAobXNn LT5pY21waC5pY21wNl9jb2RlICE9IDAgfHwKLQkgICAgbXNnLT5pY21waC5pY21wNl90eXBlICE9 IE5ESVNDX05FSUdIQk9VUl9TT0xJQ0lUQVRJT04pCi0JCWdvdG8gb3V0OwogCiAJaWYgKGlwdjZf YWRkcl9sb29wYmFjayhkYWRkcikgfHwKIAkgICAgaXB2Nl9hZGRyX2lzX211bHRpY2FzdCgmbXNn LT50YXJnZXQpKQpAQCAtMjI1OCwxMSArMjI1MSwxMSBAQCBzdGF0aWMgdm9pZCB2eGxhbl94bWl0 X29uZShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogc3RhdGlj IG5ldGRldl90eF90IHZ4bGFuX3htaXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5ldF9k ZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgdnhsYW5fZGV2ICp2eGxhbiA9IG5ldGRldl9wcml2KGRl dik7CisJc3RydWN0IHZ4bGFuX3Jkc3QgKnJkc3QsICpmZHN0ID0gTlVMTDsKIAljb25zdCBzdHJ1 Y3QgaXBfdHVubmVsX2luZm8gKmluZm87Ci0Jc3RydWN0IGV0aGhkciAqZXRoOwogCWJvb2wgZGlk X3JzYyA9IGZhbHNlOwotCXN0cnVjdCB2eGxhbl9yZHN0ICpyZHN0LCAqZmRzdCA9IE5VTEw7CiAJ c3RydWN0IHZ4bGFuX2ZkYiAqZjsKKwlzdHJ1Y3QgZXRoaGRyICpldGg7CiAJX19iZTMyIHZuaSA9 IDA7CiAKIAlpbmZvID0gc2tiX3R1bm5lbF9pbmZvKHNrYik7CkBAIC0yMjg3LDEyICsyMjgwLDE0 IEBAIHN0YXRpYyBuZXRkZXZfdHhfdCB2eGxhbl94bWl0KHN0cnVjdCBza19idWZmICpza2IsIHN0 cnVjdCBuZXRfZGV2aWNlICpkZXYpCiAJCWlmIChudG9ocyhldGgtPmhfcHJvdG8pID09IEVUSF9Q X0FSUCkKIAkJCXJldHVybiBhcnBfcmVkdWNlKGRldiwgc2tiLCB2bmkpOwogI2lmIElTX0VOQUJM RUQoQ09ORklHX0lQVjYpCi0JCWVsc2UgaWYgKG50b2hzKGV0aC0+aF9wcm90bykgPT0gRVRIX1Bf SVBWNikgewotCQkJc3RydWN0IGlwdjZoZHIgKmhkciwgX2hkcjsKLQkJCWlmICgoaGRyID0gc2ti X2hlYWRlcl9wb2ludGVyKHNrYiwKLQkJCQkJCSAgICAgIHNrYl9uZXR3b3JrX29mZnNldChza2Ip LAotCQkJCQkJICAgICAgc2l6ZW9mKF9oZHIpLCAmX2hkcikpICYmCi0JCQkgICAgaGRyLT5uZXh0 aGRyID09IElQUFJPVE9fSUNNUFY2KQorCQllbHNlIGlmIChudG9ocyhldGgtPmhfcHJvdG8pID09 IEVUSF9QX0lQVjYgJiYKKwkJCSBwc2tiX21heV9wdWxsKHNrYiwgc2l6ZW9mKHN0cnVjdCBpcHY2 aGRyKSArCisJCQkJCSAgICBzaXplb2Yoc3RydWN0IG5kX21zZykpICYmCisJCQkgaXB2Nl9oZHIo c2tiKS0+bmV4dGhkciA9PSBJUFBST1RPX0lDTVBWNikgeworCQkJc3RydWN0IG5kX21zZyAqbSA9 IChzdHJ1Y3QgbmRfbXNnICopKGlwdjZfaGRyKHNrYikgKyAxKTsKKworCQkJaWYgKG0tPmljbXBo LmljbXA2X2NvZGUgPT0gMCAmJgorCQkJICAgIG0tPmljbXBoLmljbXA2X3R5cGUgPT0gTkRJU0Nf TkVJR0hCT1VSX1NPTElDSVRBVElPTikKIAkJCQlyZXR1cm4gbmVpZ2hfcmVkdWNlKGRldiwgc2ti LCB2bmkpOwogCQl9CiAjZW5kaWYKLS0gCjIuMTMuNgoKCkZyb20gYTQzZWI4YzhiZTI1M2EzYTdl Zjg0ODJlYjQ2YzNjOTlkZDI5MzMyZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9V VEYtOD9xP0JqPUMzPUI4cm49MjBNb3JrPz0gPGJqb3JuQG1vcmsubm8+CkRhdGU6IFdlZCwgMTUg Tm92IDIwMTcgMDk6MzU6MDIgKzAxMDAKU3ViamVjdDogW1BBVENIIDE5LzIyXSBuZXQ6IGNkY19u Y206IEdldE50YkZvcm1hdCBlbmRpYW4gZml4Ck1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlw ZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4 Yml0CgpbIFVwc3RyZWFtIGNvbW1pdCA2MzE0ZGFiNGI4ZmI4NDkzZDgxMGUxNzVjYjM0MDM3NjA1 MmM2OWI2IF0KClRoZSBHZXROdGJGb3JtYXQgYW5kIFNldE50YkZvcm1hdCByZXF1ZXN0cyBvcGVy YXRlIG9uIDE2IGJpdCBsaXR0bGUKZW5kaWFuIHZhbHVlcy4gV2UgZ2V0IGF3YXkgd2l0aCBpZ25v cmluZyB0aGlzIG1vc3Qgb2YgdGhlIHRpbWUsIGJlY2F1c2UKd2Ugb25seSBjYXJlIGFib3V0IFVT Ql9DRENfTkNNX05UQjE2X0ZPUk1BVCB3aGljaCBpcyAweDAwMDAuICBUaGlzCmZhaWxzIGZvciBV U0JfQ0RDX05DTV9OVEIzMl9GT1JNQVQuCgpGaXggY29tcGFyaXNvbiBiZXR3ZWVuIExFIHZhbHVl IGZyb20gZGV2aWNlIGFuZCBjb25zdGFudCBieSBjb252ZXJ0aW5nCnRoZSBjb25zdGFudCB0byBM RS4KClJlcG9ydGVkLWJ5OiBCZW4gSHV0Y2hpbmdzIDxiZW4uaHV0Y2hpbmdzQGNvZGV0aGluay5j by51az4KRml4ZXM6IDJiMDJjMjBjZTBjMiAoImNkY19uY206IFNldCBOVEIgZm9ybWF0IGFnYWlu IGFmdGVyIGFsdHNldHRpbmcgc3dpdGNoIGZvciBIdWF3ZWkgZGV2aWNlcyIpCkNjOiBFbnJpY28g TWlvc28gPG1ya2lrby5yc0BnbWFpbC5jb20+CkNjOiBDaHJpc3RpYW4gUGFudG9uIDxjaHJpc3Rp YW5AcGFudG9uLm9yZz4KU2lnbmVkLW9mZi1ieTogQmrDuHJuIE1vcmsgPGJqb3JuQG1vcmsubm8+ CkFja2VkLUJ5OiBFbnJpY28gTWlvc28gPG1ya2lrby5yc0BnbWFpbC5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25l dC91c2IvY2RjX25jbS5jIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9jZGNfbmNtLmMg Yi9kcml2ZXJzL25ldC91c2IvY2RjX25jbS5jCmluZGV4IDljODBlODBjNTQ5My4uOGQ1ZTk3MjUx ZWZlIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC91c2IvY2RjX25jbS5jCisrKyBiL2RyaXZlcnMv bmV0L3VzYi9jZGNfbmNtLmMKQEAgLTc3MSw3ICs3NzEsNyBAQCBpbnQgY2RjX25jbV9iaW5kX2Nv bW1vbihzdHJ1Y3QgdXNibmV0ICpkZXYsIHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLCB1OCBk YXRhXwogCWludCBlcnI7CiAJdTggaWZhY2Vfbm87CiAJc3RydWN0IHVzYl9jZGNfcGFyc2VkX2hl YWRlciBoZHI7Ci0JdTE2IGN1cnJfbnRiX2Zvcm1hdDsKKwlfX2xlMTYgY3Vycl9udGJfZm9ybWF0 OwogCiAJY3R4ID0ga3phbGxvYyhzaXplb2YoKmN0eCksIEdGUF9LRVJORUwpOwogCWlmICghY3R4 KQpAQCAtODg5LDcgKzg4OSw3IEBAIGludCBjZGNfbmNtX2JpbmRfY29tbW9uKHN0cnVjdCB1c2Ju ZXQgKmRldiwgc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsIHU4IGRhdGFfCiAJCQlnb3RvIGVy cm9yMjsKIAkJfQogCi0JCWlmIChjdXJyX250Yl9mb3JtYXQgPT0gVVNCX0NEQ19OQ01fTlRCMzJf Rk9STUFUKSB7CisJCWlmIChjdXJyX250Yl9mb3JtYXQgPT0gY3B1X3RvX2xlMTYoVVNCX0NEQ19O Q01fTlRCMzJfRk9STUFUKSkgewogCQkJZGV2X2luZm8oJmludGYtPmRldiwgInJlc2V0dGluZyBO VEIgZm9ybWF0IHRvIDE2LWJpdCIpOwogCQkJZXJyID0gdXNibmV0X3dyaXRlX2NtZChkZXYsIFVT Ql9DRENfU0VUX05UQl9GT1JNQVQsCiAJCQkJCSAgICAgICBVU0JfVFlQRV9DTEFTUyB8IFVTQl9E SVJfT1VUCi0tIAoyLjEzLjYKCgpGcm9tIGI1YTYzYzg3MzVhNmYwODhjMjk1NDlhODZkZDU0ZjVi YWIzYTMxYjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFhpbiBMb25nIDxsdWNpZW4u eGluQGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAxNyBPY3QgMjAxNyAyMzoyNjoxMCArMDgwMApTdWJq ZWN0OiBbUEFUQ0ggMjAvMjJdIHNjdHA6IGRvIG5vdCBwZWVsIG9mZiBhbiBhc3NvYyBmcm9tIG9u ZSBuZXRucyB0bwogYW5vdGhlciBvbmUKClsgVXBzdHJlYW0gY29tbWl0IGRmODBjZDliMjhiOWVi YWEyODRhNDFkZjYxMWRiZjNhMmQwNWNhNzQgXQoKTm93IHdoZW4gcGVlbGluZyBvZmYgYW4gYXNz b2NpYXRpb24gdG8gdGhlIHNvY2sgaW4gYW5vdGhlciBuZXRucywgYWxsCnRyYW5zcG9ydHMgaW4g dGhpcyBhc3NvYyBhcmUgbm90IHRvIGJlIHJlaGFzaGVkIGFuZCBrZWVwIHVzZSB0aGUgb2xkCmtl eSBpbiBoYXNodGFibGUuCgpBcyBhIHRyYW5zcG9ydCB1c2VzIHNrLT5uZXQgYXMgdGhlIGhhc2gg a2V5IHRvIGluc2VydCBpbnRvIGhhc2h0YWJsZSwKaXQgd291bGQgbWlzcyByZW1vdmluZyB0aGVz ZSB0cmFuc3BvcnRzIGZyb20gaGFzaHRhYmxlIGR1ZSB0byB0aGUgbmV3Cm5ldG5zIHdoZW4gY2xv c2luZyB0aGUgc29jayBhbmQgYWxsIHRyYW5zcG9ydHMgYXJlIGJlaW5nIGZyZWVlZCwgdGhlbgps YXRlciBhbiB1c2UtYWZ0ZXItZnJlZSBpc3N1ZSBjb3VsZCBiZSBjYXVzZWQgd2hlbiBsb29raW5n IHVwIGFuIGFzb2MKYW5kIGRlcmVmZXJlbmNpbmcgdGhvc2UgdHJhbnNwb3J0cy4KClRoaXMgaXMg YSB2ZXJ5IG9sZCBpc3N1ZSBzaW5jZSB2ZXJ5IGJlZ2lubmluZywgQ2h1bll1IGZvdW5kIGl0IHdp dGgKc3l6a2FsbGVyIGZ1enogdGVzdGluZyB3aXRoIHRoaXMgc2VyaWVzOgoKICBzb2NrZXQkaW5l dDZfc2N0cCgpCiAgYmluZCRpbmV0NigpCiAgc2VuZHRvJGluZXQ2KCkKICB1bnNoYXJlKDB4NDAw MDAwMDApCiAgZ2V0c29ja29wdCRpbmV0X3NjdHA2X1NDVFBfR0VUX0FTU09DX0lEX0xJU1QoKQog IGdldHNvY2tvcHQkaW5ldF9zY3RwNl9TQ1RQX1NPQ0tPUFRfUEVFTE9GRigpCgpUaGlzIHBhdGNo IGlzIHRvIGJsb2NrIHRoaXMgY2FsbCB3aGVuIHBlZWxpbmcgb25lIGFzc29jIG9mZiBmcm9tIG9u ZQpuZXRucyB0byBhbm90aGVyIG9uZSwgc28gdGhhdCB0aGUgbmV0bnMgb2YgYWxsIHRyYW5zcG9y dCB3b3VsZCBub3QKZ28gb3V0LXN5bmMgd2l0aCB0aGUga2V5IGluIGhhc2h0YWJsZS4KCk5vdGUg dGhhdCB0aGlzIHBhdGNoIGRpZG4ndCBmaXggaXQgYnkgcmVoYXNoaW5nIHRyYW5zcG9ydHMsIGFz IGl0J3MKZGlmZmljdWx0IHRvIGhhbmRsZSB0aGUgc2l0dWF0aW9uIHdoZW4gdGhlIHR1cGxlIGlz IGFscmVhZHkgaW4gdXNlCmluIHRoZSBuZXcgbmV0bnMuIEJlc2lkZXMsIG5vIG9uZSB3b3VsZCBs aWtlIHRvIHBlZWwgb2ZmIG9uZSBhc3NvYwp0byBhbm90aGVyIG5ldG5zLCBjb25zaWRlcmluZyBp cGFkZHJzLCBpZmFjZXMsIGV0Yy4gYXJlIHVzdWFsbHkKZGlmZmVyZW50LgoKUmVwb3J0ZWQtYnk6 IENodW5ZdSBXYW5nIDxjaHVud2FuZ0ByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBYaW4gTG9u ZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+CkFja2VkLWJ5OiBNYXJjZWxvIFJpY2FyZG8gTGVpdG5l ciA8bWFyY2Vsby5sZWl0bmVyQGdtYWlsLmNvbT4KQWNrZWQtYnk6IE5laWwgSG9ybWFuIDxuaG9y bWFuQHR1eGRyaXZlci5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2N0cC9zb2NrZXQuYyB8IDQgKysrKwogMSBmaWxlIGNo YW5nZWQsIDQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC9zY3RwL3NvY2tldC5jIGIv bmV0L3NjdHAvc29ja2V0LmMKaW5kZXggM2Q3OTA4NWViNGUwLi4wODNkYTEzZTFhZjQgMTAwNjQ0 Ci0tLSBhL25ldC9zY3RwL3NvY2tldC5jCisrKyBiL25ldC9zY3RwL3NvY2tldC5jCkBAIC00OTI0 LDYgKzQ5MjQsMTAgQEAgaW50IHNjdHBfZG9fcGVlbG9mZihzdHJ1Y3Qgc29jayAqc2ssIHNjdHBf YXNzb2NfdCBpZCwgc3RydWN0IHNvY2tldCAqKnNvY2twKQogCXN0cnVjdCBzb2NrZXQgKnNvY2s7 CiAJaW50IGVyciA9IDA7CiAKKwkvKiBEbyBub3QgcGVlbCBvZmYgZnJvbSBvbmUgbmV0bnMgdG8g YW5vdGhlciBvbmUuICovCisJaWYgKCFuZXRfZXEoY3VycmVudC0+bnNwcm94eS0+bmV0X25zLCBz b2NrX25ldChzaykpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwogCWlmICghYXNvYykKIAkJcmV0dXJu IC1FSU5WQUw7CiAKLS0gCjIuMTMuNgoKCkZyb20gZGQyNmIxZWFlNjFhNDVlZWNhYTc2ZTBiNjI0 ZGFjYmQ1NTc0OWQ3NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSHVhY2FpIENoZW4g PGNoZW5oY0BsZW1vdGUuY29tPgpEYXRlOiBUaHUsIDE2IE5vdiAyMDE3IDExOjA3OjE1ICswODAw ClN1YmplY3Q6IFtQQVRDSCAyMS8yMl0gZmVhbG54OiBGaXggYnVpbGRpbmcgZXJyb3Igb24gTUlQ UwoKWyBVcHN0cmVhbSBjb21taXQgY2M1NGMxZDMyZTZhNGJiM2YxMTY3MjFhYmY5MDA1MTMxNzNl NGQwMiBdCgpUaGlzIHBhdGNoIHRyeSB0byBmaXggdGhlIGJ1aWxkaW5nIGVycm9yIG9uIE1JUFMu IFRoZSByZWFzb24gaXMgTUlQUwpoYXMgYWxyZWFkeSBkZWZpbmVkIHRoZSBMT05HIG1hY3JvLCB3 aGljaCBjb25mbGljdHMgd2l0aCB0aGUgTE9ORyBlbnVtCmluIGRyaXZlcnMvbmV0L2V0aGVybmV0 L2ZlYWxueC5jLgoKU2lnbmVkLW9mZi1ieTogSHVhY2FpIENoZW4gPGNoZW5oY0BsZW1vdGUuY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogZHJpdmVycy9uZXQvZXRoZXJuZXQvZmVhbG54LmMgfCA2ICsrKy0tLQogMSBmaWxlIGNoYW5n ZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9mZWFsbnguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZlYWxueC5jCmlu ZGV4IGU5Mjg1OWRhYjdhZS4uZTE5MWM0ZWJlYWY0IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9mZWFsbnguYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9mZWFsbnguYwpAQCAt MjU3LDggKzI1Nyw4IEBAIGVudW0gcnhfZGVzY19zdGF0dXNfYml0cyB7CiAJUlhGU0QgPSAweDAw MDAwODAwLAkvKiBmaXJzdCBkZXNjcmlwdG9yICovCiAJUlhMU0QgPSAweDAwMDAwNDAwLAkvKiBs YXN0IGRlc2NyaXB0b3IgKi8KIAlFcnJvclN1bW1hcnkgPSAweDgwLAkvKiBlcnJvciBzdW1tYXJ5 ICovCi0JUlVOVCA9IDB4NDAsCQkvKiBydW50IHBhY2tldCByZWNlaXZlZCAqLwotCUxPTkcgPSAw eDIwLAkJLyogbG9uZyBwYWNrZXQgcmVjZWl2ZWQgKi8KKwlSVU5UUEtUID0gMHg0MCwJCS8qIHJ1 bnQgcGFja2V0IHJlY2VpdmVkICovCisJTE9OR1BLVCA9IDB4MjAsCQkvKiBsb25nIHBhY2tldCBy ZWNlaXZlZCAqLwogCUZBRSA9IDB4MTAsCQkvKiBmcmFtZSBhbGlnbiBlcnJvciAqLwogCUNSQyA9 IDB4MDgsCQkvKiBjcmMgZXJyb3IgKi8KIAlSWEVSID0gMHgwNCwJCS8qIHJlY2VpdmUgZXJyb3Ig Ki8KQEAgLTE2MzIsNyArMTYzMiw3IEBAIHN0YXRpYyBpbnQgbmV0ZGV2X3J4KHN0cnVjdCBuZXRf ZGV2aWNlICpkZXYpCiAJCQkJCSAgICAgICBkZXYtPm5hbWUsIHJ4X3N0YXR1cyk7CiAKIAkJCQlk ZXYtPnN0YXRzLnJ4X2Vycm9ycysrOwkvKiBlbmQgb2YgYSBwYWNrZXQuICovCi0JCQkJaWYgKHJ4 X3N0YXR1cyAmIChMT05HIHwgUlVOVCkpCisJCQkJaWYgKHJ4X3N0YXR1cyAmIChMT05HUEtUIHwg UlVOVFBLVCkpCiAJCQkJCWRldi0+c3RhdHMucnhfbGVuZ3RoX2Vycm9ycysrOwogCQkJCWlmIChy eF9zdGF0dXMgJiBSWEVSKQogCQkJCQlkZXYtPnN0YXRzLnJ4X2ZyYW1lX2Vycm9ycysrOwotLSAK Mi4xMy42CgoKRnJvbSA0ODFhM2RkOGNhNzE4Y2Q3MmJkMDdiMzhhM2I0OWI2NWQwNDg0M2ViIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiRXJpYyBXLiBCaWVkZXJtYW4iIDxlYmllZGVy bUB4bWlzc2lvbi5jb20+CkRhdGU6IFdlZCwgMTUgTm92IDIwMTcgMjI6MTc6NDggLTA2MDAKU3Vi amVjdDogW1BBVENIIDIyLzIyXSBuZXQvc2N0cDogQWx3YXlzIHNldCBzY29wZV9pZCBpbiBzY3Rw X2luZXQ2X3NrYl9tc2duYW1lCgpbIFVwc3RyZWFtIGNvbW1pdCA3YzhhNjFkOWVlMWRmMGZiNDc0 Nzg3OWZhNjdhOTk2MTRlYjYyZmVjIF0KCkFsZXhhbmRhciBQb3RhcGVua28gd2hpbGUgdGVzdGlu ZyB0aGUga2VybmVsIHdpdGggS01TQU4gYW5kIHN5emthbGxlcgpkaXNjb3ZlcmVkIHRoYXQgaW4g c29tZSBjb25maWd1cmF0aW9ucyBzY3RwIHdvdWxkIGxlYWsgNCBieXRlcyBvZgprZXJuZWwgc3Rh Y2suCgpXb3JraW5nIHdpdGggaGlzIHJlcHJvZHVjZXIgSSBkaXNjb3ZlcmVkIHRoYXQgdGhvc2Ug NCBieXRlcyB0aGF0CmFyZSBsZWFrZWQgaXMgdGhlIHNjb3BlIGlkIG9mIGFuIGlwdjYgYWRkcmVz cyByZXR1cm5lZCBieSByZWN2bXNnLgoKV2l0aCBhIGxpdHRsZSBjb2RlIGluc3BlY3Rpb24gYW5k IGEgc2hyZXdkIGd1ZXNzIEkgZGlzY292ZXJlZCB0aGF0CnNjdHBfaW5ldDZfc2tiX21zZ25hbWUg b25seSBpbml0aWFsaXplcyB0aGUgc2NvcGVfaWQgZmllbGQgZm9yIGxpbmsKbG9jYWwgaXB2NiBh ZGRyZXNzZXMgdG8gdGhlIGludGVyZmFjZSBpbmRleCB0aGUgbGluayBsb2NhbCBhZGRyZXNzCnBl cnRhaW5zIHRvIGluc3RlYWQgb2YgaW5pdGlhbGl6aW5nIHRoZSBzY29wZV9pZCBmaWVsZCBmb3Ig YWxsIGlwdjYKYWRkcmVzc2VzLgoKVGhhdCBpcyBhbG1vc3QgcmVhc29uYWJsZSBhcyBzY29wZV9p ZCdzIGFyZSBtZWFuaW5pbmdmdWwgb25seSBmb3IgbGluawpsb2NhbCBhZGRyZXNzZXMuICBTZXQg dGhlIHNjb3BlX2lkIGluIGFsbCBvdGhlciBjYXNlcyB0byAwIHdoaWNoIGlzCm5vdCBhIHZhbGlk IGludGVyZmFjZSBpbmRleCB0byBtYWtlIGl0IGNsZWFyIHRoZXJlIGlzIG5vdGhpbmcgdXNlZnVs CmluIHRoZSBzY29wZV9pZCBmaWVsZC4KClRoZXJlIHNob3VsZCBiZSBubyBkYW5nZXIgb2YgYnJl YWtpbmcgdXNlcnNwYWNlIGFzIHRoZSBzdGFjayBsZWFrCmd1YXJhbnRlZWQgdGhhdCBwcmV2aW91 c2x5IG1lYW5pbmdsZXNzIHJhbmRvbSBkYXRhIHdhcyBiZWluZyByZXR1cm5lZC4KCkZpeGVzOiAz NzJmNTI1YjQ5NWMgKCJTQ1RQOiAgUmVzeW5jIHdpdGggTEtTQ1RQIHRyZWUuIikKSGlzdG9yeS10 cmVlOiBodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC90Z2x4 L2hpc3RvcnkuZ2l0ClJlcG9ydGVkLWJ5OiBBbGV4YW5kZXIgUG90YXBlbmtvIDxnbGlkZXJAZ29v Z2xlLmNvbT4KVGVzdGVkLWJ5OiBBbGV4YW5kZXIgUG90YXBlbmtvIDxnbGlkZXJAZ29vZ2xlLmNv bT4KU2lnbmVkLW9mZi1ieTogIkVyaWMgVy4gQmllZGVybWFuIiA8ZWJpZWRlcm1AeG1pc3Npb24u Y29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogbmV0L3NjdHAvaXB2Ni5jIHwgNSArKystLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvc2N0cC9pcHY2LmMgYi9u ZXQvc2N0cC9pcHY2LmMKaW5kZXggMTM0NGUzYTQxMWFlLi5lZGI0NjJiMGI3M2IgMTAwNjQ0Ci0t LSBhL25ldC9zY3RwL2lwdjYuYworKysgYi9uZXQvc2N0cC9pcHY2LmMKQEAgLTgwNyw5ICs4MDcs MTAgQEAgc3RhdGljIHZvaWQgc2N0cF9pbmV0Nl9za2JfbXNnbmFtZShzdHJ1Y3Qgc2tfYnVmZiAq c2tiLCBjaGFyICptc2duYW1lLAogCQlhZGRyLT52Ni5zaW42X2Zsb3dpbmZvID0gMDsKIAkJYWRk ci0+djYuc2luNl9wb3J0ID0gc2gtPnNvdXJjZTsKIAkJYWRkci0+djYuc2luNl9hZGRyID0gaXB2 Nl9oZHIoc2tiKS0+c2FkZHI7Ci0JCWlmIChpcHY2X2FkZHJfdHlwZSgmYWRkci0+djYuc2luNl9h ZGRyKSAmIElQVjZfQUREUl9MSU5LTE9DQUwpIHsKKwkJaWYgKGlwdjZfYWRkcl90eXBlKCZhZGRy LT52Ni5zaW42X2FkZHIpICYgSVBWNl9BRERSX0xJTktMT0NBTCkKIAkJCWFkZHItPnY2LnNpbjZf c2NvcGVfaWQgPSBzY3RwX3Y2X3NrYl9paWYoc2tiKTsKLQkJfQorCQllbHNlCisJCQlhZGRyLT52 Ni5zaW42X3Njb3BlX2lkID0gMDsKIAl9CiAKIAkqYWRkcl9sZW4gPSBzY3RwX3Y2X2FkZHJfdG9f dXNlcihzY3RwX3NrKHNrYi0+c2spLCBhZGRyKTsKLS0gCjIuMTMuNgoK ----Next_Part(Mon_Nov_20_20_47_27_2017_570)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_414.mbox" RnJvbSBiMGNjYzJiMjBjOWUxZGNkZjZhOWU5ZGJlMGQyYmI5NGE0ZGIzODhmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSmFzb24gQS4gRG9uZW5mZWxkIiA8SmFzb25AengyYzQuY29t PgpEYXRlOiBUaHUsIDkgTm92IDIwMTcgMTM6MDQ6NDQgKzA5MDAKU3ViamVjdDogW1BBVENIIDEv NV0gYWZfbmV0bGluazogZW5zdXJlIHRoYXQgTkxNU0dfRE9ORSBuZXZlciBmYWlscyBpbiBkdW1w cwoKWyBVcHN0cmVhbSBjb21taXQgMDY0Mjg0MGI4YmIwMDg1MjhkYmRmOTI5Y2VjOWY2NWFjNDIz MWFkMCBdCgpUaGUgd2F5IHBlb3BsZSBnZW5lcmFsbHkgdXNlIG5ldGxpbmtfZHVtcCBpcyB0aGF0 IHRoZXkgZmlsbCBpbiB0aGUgc2tiCmFzIG11Y2ggYXMgcG9zc2libGUsIGJyZWFraW5nIHdoZW4g bmxhX3B1dCByZXR1cm5zIGFuIGVycm9yLiBUaGVuLCB0aGV5CmdldCBjYWxsZWQgYWdhaW4gYW5k IHN0YXJ0IGZpbGxpbmcgb3V0IHRoZSBuZXh0IHNrYiwgYW5kIGFnYWluLCBhbmQgc28KZm9ydGgu IFRoZSBtZWNoYW5pc20gYXQgd29yayBoZXJlIGlzIHRoZSBhYmlsaXR5IGZvciB0aGUgaXRlcmF0 aXZlCmR1bXBpbmcgZnVuY3Rpb24gdG8gZGV0ZWN0IHdoZW4gdGhlIHNrYiBpcyBmaWxsZWQgdXAg YW5kIG5vdCBmaWxsIGl0CnBhc3QgdGhlIGJyaW0sIHdhaXRpbmcgZm9yIGEgZnJlc2ggc2tiIGZv ciB0aGUgcmVzdCBvZiB0aGUgZGF0YS4KCkhvd2V2ZXIsIGlmIHRoZSBhdHRyaWJ1dGVzIGFyZSBz bWFsbCBhbmQgbmljZWx5IHBhY2tlZCwgaXQgaXMgcG9zc2libGUKdGhhdCBhIGR1bXAgY2FsbGJh Y2sgZnVuY3Rpb24gc3VjY2Vzc2Z1bGx5IGZpbGxzIGluIGF0dHJpYnV0ZXMgdW50aWwgdGhlCnNr YiBpcyBvZiBzaXplIDQwODAgKGxpYm1ubCdzIGRlZmF1bHQgcGFnZS1zaXplZCByZWNlaXZlIGJ1 ZmZlciBzaXplKS4KVGhlIGR1bXAgZnVuY3Rpb24gY29tcGxldGVzLCBzYXRpc2ZpZWQsIGFuZCB0 aGVuLCBpZiBpdCBoYXBwZW5zIHRvIGJlCnRoYXQgdGhpcyBpcyBhY3R1YWxseSB0aGUgbGFzdCBz a2IsIGFuZCBubyBmdXJ0aGVyIG9uZXMgYXJlIHRvIGJlIHNlbnQsCnRoZW4gbmV0bGlua19kdW1w IHdpbGwgYWRkIG9uIHRoZSBOTE1TR19ET05FIHBhcnQ6CgogIG5saCA9IG5sbXNnX3B1dF9hbnN3 ZXIoc2tiLCBjYiwgTkxNU0dfRE9ORSwgc2l6ZW9mKGxlbiksIE5MTV9GX01VTFRJKTsKCkl0IGlz IHZlcnkgaW1wb3J0YW50IHRoYXQgbmV0bGlua19kdW1wIGRvZXMgdGhpcywgb2YgY291cnNlLiBI b3dldmVyLCBpbgp0aGlzIGV4YW1wbGUsIHRoYXQgY2FsbCB0byBubG1zZ19wdXRfYW5zd2VyIHdp bGwgZmFpbCwgYmVjYXVzZSB0aGUKcHJldmlvdXMgZmlsbGluZyBieSB0aGUgZHVtcCBmdW5jdGlv biBkaWQgbm90IGxlYXZlIGl0IGVub3VnaCByb29tLiBBbmQKaG93IGNvdWxkIGl0IHBvc3NpYmx5 IGhhdmUgZG9uZSBzbz8gQWxsIG9mIHRoZSBubGFfcHV0IHZhcmlldHkgb2YKZnVuY3Rpb25zIHNp bXBseSBjaGVjayB0byBzZWUgaWYgdGhlIHNrYiBoYXMgZW5vdWdoIHRhaWxyb29tLAppbmRlcGVu ZGVudCBvZiB0aGUgY29udGV4dCBpdCBpcyBpbi4KCkluIG9yZGVyIHRvIGtlZXAgdGhlIGltcG9y dGFudCBhc3N1bXB0aW9ucyBvZiBhbGwgbmV0bGluayBkdW1wIHVzZXJzLCBpdAppcyB0aGVyZWZv cmUgaW1wb3J0YW50IHRvIGdpdmUgdGhlbSBhbiBza2IgdGhhdCBoYXMgdGhpcyBlbmQgcGFydCBv ZiB0aGUKdGFpbCBhbHJlYWR5IHJlc2VydmVkLCBzbyB0aGF0IHRoZSBjYWxsIHRvIG5sbXNnX3B1 dF9hbnN3ZXIgZG9lcyBub3QKZmFpbC4gT3RoZXJ3aXNlLCBsaWJyYXJ5IGF1dGhvcnMgYXJlIGZv cmNlZCB0byBmaW5kIHNvbWUgYml6YXJyZSBzaXplZApyZWNlaXZlIGJ1ZmZlciB0aGF0IGhhcyBh IGxhcmdlIG1vZHVsbyByZWxhdGl2ZSB0byB0aGUgY29tbW9uIHNpemVzIG9mCm1lc3NhZ2VzIHJl Y2VpdmVkLCB3aGljaCBpcyB1Z2x5IGFuZCBidWdneS4KClRoaXMgcGF0Y2ggdGh1cyBzYXZlcyB0 aGUgTkxNU0dfRE9ORSBmb3IgYW4gYWRkaXRpb25hbCBtZXNzYWdlLCBmb3IgdGhlCmNhc2UgdGhh dCB0aGluZ3MgYXJlIGRhbmdlcm91c2x5IGNsb3NlIHRvIHRoZSBicmltLiBUaGlzIHJlcXVpcmVz CmtlZXBpbmcgdHJhY2sgb2YgdGhlIGVycm5vIGZyb20gLT5kdW1wKCkgYWNyb3NzIGNhbGxzLgoK U2lnbmVkLW9mZi1ieTogSmFzb24gQS4gRG9uZW5mZWxkIDxKYXNvbkB6eDJjNC5jb20+ClNpZ25l ZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQv bmV0bGluay9hZl9uZXRsaW5rLmMgfCAxNyArKysrKysrKysrKy0tLS0tLQogbmV0L25ldGxpbmsv YWZfbmV0bGluay5oIHwgIDEgKwogMiBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA2 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9uZXRsaW5rL2FmX25ldGxpbmsuYyBiL25l dC9uZXRsaW5rL2FmX25ldGxpbmsuYwppbmRleCBiOTMxNDhlOGU5ZmIuLjE1Yzk5ZGZhM2Q3MiAx MDA2NDQKLS0tIGEvbmV0L25ldGxpbmsvYWZfbmV0bGluay5jCisrKyBiL25ldC9uZXRsaW5rL2Fm X25ldGxpbmsuYwpAQCAtMjEzNiw3ICsyMTM2LDcgQEAgc3RhdGljIGludCBuZXRsaW5rX2R1bXAo c3RydWN0IHNvY2sgKnNrKQogCXN0cnVjdCBza19idWZmICpza2IgPSBOVUxMOwogCXN0cnVjdCBu bG1zZ2hkciAqbmxoOwogCXN0cnVjdCBtb2R1bGUgKm1vZHVsZTsKLQlpbnQgbGVuLCBlcnIgPSAt RU5PQlVGUzsKKwlpbnQgZXJyID0gLUVOT0JVRlM7CiAJaW50IGFsbG9jX21pbl9zaXplOwogCWlu dCBhbGxvY19zaXplOwogCkBAIC0yMTgzLDkgKzIxODMsMTEgQEAgc3RhdGljIGludCBuZXRsaW5r X2R1bXAoc3RydWN0IHNvY2sgKnNrKQogCXNrYl9yZXNlcnZlKHNrYiwgc2tiX3RhaWxyb29tKHNr YikgLSBhbGxvY19zaXplKTsKIAluZXRsaW5rX3NrYl9zZXRfb3duZXJfcihza2IsIHNrKTsKIAot CWxlbiA9IGNiLT5kdW1wKHNrYiwgY2IpOworCWlmIChubGstPmR1bXBfZG9uZV9lcnJubyA+IDAp CisJCW5say0+ZHVtcF9kb25lX2Vycm5vID0gY2ItPmR1bXAoc2tiLCBjYik7CiAKLQlpZiAobGVu ID4gMCkgeworCWlmIChubGstPmR1bXBfZG9uZV9lcnJubyA+IDAgfHwKKwkgICAgc2tiX3RhaWxy b29tKHNrYikgPCBubG1zZ190b3RhbF9zaXplKHNpemVvZihubGstPmR1bXBfZG9uZV9lcnJubykp KSB7CiAJCW11dGV4X3VubG9jayhubGstPmNiX211dGV4KTsKIAogCQlpZiAoc2tfZmlsdGVyKHNr LCBza2IpKQpAQCAtMjE5NSwxMyArMjE5NywxNSBAQCBzdGF0aWMgaW50IG5ldGxpbmtfZHVtcChz dHJ1Y3Qgc29jayAqc2spCiAJCXJldHVybiAwOwogCX0KIAotCW5saCA9IG5sbXNnX3B1dF9hbnN3 ZXIoc2tiLCBjYiwgTkxNU0dfRE9ORSwgc2l6ZW9mKGxlbiksIE5MTV9GX01VTFRJKTsKLQlpZiAo IW5saCkKKwlubGggPSBubG1zZ19wdXRfYW5zd2VyKHNrYiwgY2IsIE5MTVNHX0RPTkUsCisJCQkg ICAgICAgc2l6ZW9mKG5say0+ZHVtcF9kb25lX2Vycm5vKSwgTkxNX0ZfTVVMVEkpOworCWlmIChX QVJOX09OKCFubGgpKQogCQlnb3RvIGVycm91dF9za2I7CiAKIAlubF9kdW1wX2NoZWNrX2NvbnNp c3RlbnQoY2IsIG5saCk7CiAKLQltZW1jcHkobmxtc2dfZGF0YShubGgpLCAmbGVuLCBzaXplb2Yo bGVuKSk7CisJbWVtY3B5KG5sbXNnX2RhdGEobmxoKSwgJm5say0+ZHVtcF9kb25lX2Vycm5vLAor CSAgICAgICBzaXplb2YobmxrLT5kdW1wX2RvbmVfZXJybm8pKTsKIAogCWlmIChza19maWx0ZXIo c2ssIHNrYikpCiAJCWtmcmVlX3NrYihza2IpOwpAQCAtMjI3Myw2ICsyMjc3LDcgQEAgaW50IF9f bmV0bGlua19kdW1wX3N0YXJ0KHN0cnVjdCBzb2NrICpzc2ssIHN0cnVjdCBza19idWZmICpza2Is CiAJfQogCiAJbmxrLT5jYl9ydW5uaW5nID0gdHJ1ZTsKKwlubGstPmR1bXBfZG9uZV9lcnJubyA9 IElOVF9NQVg7CiAKIAltdXRleF91bmxvY2sobmxrLT5jYl9tdXRleCk7CiAKZGlmZiAtLWdpdCBh L25ldC9uZXRsaW5rL2FmX25ldGxpbmsuaCBiL25ldC9uZXRsaW5rL2FmX25ldGxpbmsuaAppbmRl eCAwMjgxODg1OTdlYWEuLjk2MmRlN2IzYzAyMyAxMDA2NDQKLS0tIGEvbmV0L25ldGxpbmsvYWZf bmV0bGluay5oCisrKyBiL25ldC9uZXRsaW5rL2FmX25ldGxpbmsuaApAQCAtMzQsNiArMzQsNyBA QCBzdHJ1Y3QgbmV0bGlua19zb2NrIHsKIAl3YWl0X3F1ZXVlX2hlYWRfdAl3YWl0OwogCWJvb2wJ CQlib3VuZDsKIAlib29sCQkJY2JfcnVubmluZzsKKwlpbnQJCQlkdW1wX2RvbmVfZXJybm87CiAJ c3RydWN0IG5ldGxpbmtfY2FsbGJhY2sJY2I7CiAJc3RydWN0IG11dGV4CQkqY2JfbXV0ZXg7CiAJ c3RydWN0IG11dGV4CQljYl9kZWZfbXV0ZXg7Ci0tIAoyLjEzLjYKCgpGcm9tIDU4MWUyYWY0YzM0 YmI4OTk5NjE1YTUzY2IwM2I0NmIwMDFmNTYwOWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4KRGF0ZTogU2F0LCAxMSBOb3YgMjAx NyAxOTo1ODo1MCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMi81XSB2eGxhbjogZml4IHRoZSBpc3N1 ZSB0aGF0IG5laWdoIHByb3h5IGJsb2NrcyBhbGwgaWNtcHY2CiBwYWNrZXRzCgpbIFVwc3RyZWFt IGNvbW1pdCA4YmZmMzY4NWE0YmJmMTc1YTk2YmM2YTUyOGYxMzQ1NWQ4ZDM4MjQ0IF0KCkNvbW1p dCBmMWZiMDhmNjMzN2MgKCJ2eGxhbjogZml4IE5EIHByb3h5IHdoZW4gc2tiIGRvZXNuJ3QgaGF2 ZSB0cmFuc3BvcnQKaGVhZGVyIG9mZnNldCIpIHJlbW92ZWQgaWNtcDZfY29kZSBhbmQgaWNtcDZf dHlwZSBjaGVjayBiZWZvcmUgY2FsbGluZwpuZWlnaF9yZWR1Y2Ugd2hlbiBkb2luZyBuZWlnaCBw cm94eS4KCkl0IG1lYW5zIGFsbCBpY21wdjYgcGFja2V0cyB3b3VsZCBiZSBibG9ja2VkIGJ5IHRo aXMsIG5vdCBvbmx5IG5zIHBhY2tldC4KSW4gSmlhbmxpbidzIGVudiwgZXZlbiBwaW5nNiBjb3Vs ZG4ndCB3b3JrIHRocm91Z2ggaXQuCgpUaGlzIHBhdGNoIGlzIHRvIGJyaW5nIHRoZSBpY21wNl9j b2RlIGFuZCBpY21wNl90eXBlIGNoZWNrIGJhY2sgYW5kIGFsc28KcmVtb3ZlZCB0aGUgc2FtZSBj aGVjayBmcm9tIG5laWdoX3JlZHVjZSgpLgoKRml4ZXM6IGYxZmIwOGY2MzM3YyAoInZ4bGFuOiBm aXggTkQgcHJveHkgd2hlbiBza2IgZG9lc24ndCBoYXZlIHRyYW5zcG9ydCBoZWFkZXIgb2Zmc2V0 IikKUmVwb3J0ZWQtYnk6IEppYW5saW4gU2hpIDxqaXNoaUByZWRoYXQuY29tPgpTaWduZWQtb2Zm LWJ5OiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBWaW5jZW50 IEJlcm5hdCA8dmluY2VudEBiZXJuYXQuaW0+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxl ciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC92eGxhbi5jIHwgMzEgKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEzIGluc2VydGlv bnMoKyksIDE4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3Z4bGFuLmMg Yi9kcml2ZXJzL25ldC92eGxhbi5jCmluZGV4IGQ3YzQ5Y2YxZDVlOS4uYTJmNGU1MmZhZGI1IDEw MDY0NAotLS0gYS9kcml2ZXJzL25ldC92eGxhbi5jCisrKyBiL2RyaXZlcnMvbmV0L3Z4bGFuLmMK QEAgLTE2MjMsMjYgKzE2MjMsMTkgQEAgc3RhdGljIHN0cnVjdCBza19idWZmICp2eGxhbl9uYV9j cmVhdGUoc3RydWN0IHNrX2J1ZmYgKnJlcXVlc3QsCiBzdGF0aWMgaW50IG5laWdoX3JlZHVjZShz dHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBfX2JlMzIgdm5pKQog ewogCXN0cnVjdCB2eGxhbl9kZXYgKnZ4bGFuID0gbmV0ZGV2X3ByaXYoZGV2KTsKLQlzdHJ1Y3Qg bmRfbXNnICptc2c7Ci0JY29uc3Qgc3RydWN0IGlwdjZoZHIgKmlwaGRyOwogCWNvbnN0IHN0cnVj dCBpbjZfYWRkciAqZGFkZHI7Ci0Jc3RydWN0IG5laWdoYm91ciAqbjsKKwljb25zdCBzdHJ1Y3Qg aXB2NmhkciAqaXBoZHI7CiAJc3RydWN0IGluZXQ2X2RldiAqaW42X2RldjsKKwlzdHJ1Y3QgbmVp Z2hib3VyICpuOworCXN0cnVjdCBuZF9tc2cgKm1zZzsKIAogCWluNl9kZXYgPSBfX2luNl9kZXZf Z2V0KGRldik7CiAJaWYgKCFpbjZfZGV2KQogCQlnb3RvIG91dDsKIAotCWlmICghcHNrYl9tYXlf cHVsbChza2IsIHNpemVvZihzdHJ1Y3QgaXB2NmhkcikgKyBzaXplb2Yoc3RydWN0IG5kX21zZykp KQotCQlnb3RvIG91dDsKLQogCWlwaGRyID0gaXB2Nl9oZHIoc2tiKTsKIAlkYWRkciA9ICZpcGhk ci0+ZGFkZHI7Ci0KIAltc2cgPSAoc3RydWN0IG5kX21zZyAqKShpcGhkciArIDEpOwotCWlmICht c2ctPmljbXBoLmljbXA2X2NvZGUgIT0gMCB8fAotCSAgICBtc2ctPmljbXBoLmljbXA2X3R5cGUg IT0gTkRJU0NfTkVJR0hCT1VSX1NPTElDSVRBVElPTikKLQkJZ290byBvdXQ7CiAKIAlpZiAoaXB2 Nl9hZGRyX2xvb3BiYWNrKGRhZGRyKSB8fAogCSAgICBpcHY2X2FkZHJfaXNfbXVsdGljYXN0KCZt c2ctPnRhcmdldCkpCkBAIC0yMjQwLDExICsyMjMzLDExIEBAIHN0YXRpYyB2b2lkIHZ4bGFuX3ht aXRfb25lKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiBzdGF0 aWMgbmV0ZGV2X3R4X3QgdnhsYW5feG1pdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmV0 X2RldmljZSAqZGV2KQogewogCXN0cnVjdCB2eGxhbl9kZXYgKnZ4bGFuID0gbmV0ZGV2X3ByaXYo ZGV2KTsKKwlzdHJ1Y3QgdnhsYW5fcmRzdCAqcmRzdCwgKmZkc3QgPSBOVUxMOwogCWNvbnN0IHN0 cnVjdCBpcF90dW5uZWxfaW5mbyAqaW5mbzsKLQlzdHJ1Y3QgZXRoaGRyICpldGg7CiAJYm9vbCBk aWRfcnNjID0gZmFsc2U7Ci0Jc3RydWN0IHZ4bGFuX3Jkc3QgKnJkc3QsICpmZHN0ID0gTlVMTDsK IAlzdHJ1Y3QgdnhsYW5fZmRiICpmOworCXN0cnVjdCBldGhoZHIgKmV0aDsKIAlfX2JlMzIgdm5p ID0gMDsKIAogCWluZm8gPSBza2JfdHVubmVsX2luZm8oc2tiKTsKQEAgLTIyNjksMTIgKzIyNjIs MTQgQEAgc3RhdGljIG5ldGRldl90eF90IHZ4bGFuX3htaXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwg c3RydWN0IG5ldF9kZXZpY2UgKmRldikKIAkJaWYgKG50b2hzKGV0aC0+aF9wcm90bykgPT0gRVRI X1BfQVJQKQogCQkJcmV0dXJuIGFycF9yZWR1Y2UoZGV2LCBza2IsIHZuaSk7CiAjaWYgSVNfRU5B QkxFRChDT05GSUdfSVBWNikKLQkJZWxzZSBpZiAobnRvaHMoZXRoLT5oX3Byb3RvKSA9PSBFVEhf UF9JUFY2KSB7Ci0JCQlzdHJ1Y3QgaXB2NmhkciAqaGRyLCBfaGRyOwotCQkJaWYgKChoZHIgPSBz a2JfaGVhZGVyX3BvaW50ZXIoc2tiLAotCQkJCQkJICAgICAgc2tiX25ldHdvcmtfb2Zmc2V0KHNr YiksCi0JCQkJCQkgICAgICBzaXplb2YoX2hkciksICZfaGRyKSkgJiYKLQkJCSAgICBoZHItPm5l eHRoZHIgPT0gSVBQUk9UT19JQ01QVjYpCisJCWVsc2UgaWYgKG50b2hzKGV0aC0+aF9wcm90bykg PT0gRVRIX1BfSVBWNiAmJgorCQkJIHBza2JfbWF5X3B1bGwoc2tiLCBzaXplb2Yoc3RydWN0IGlw djZoZHIpICsKKwkJCQkJICAgIHNpemVvZihzdHJ1Y3QgbmRfbXNnKSkgJiYKKwkJCSBpcHY2X2hk cihza2IpLT5uZXh0aGRyID09IElQUFJPVE9fSUNNUFY2KSB7CisJCQlzdHJ1Y3QgbmRfbXNnICpt ID0gKHN0cnVjdCBuZF9tc2cgKikoaXB2Nl9oZHIoc2tiKSArIDEpOworCisJCQlpZiAobS0+aWNt cGguaWNtcDZfY29kZSA9PSAwICYmCisJCQkgICAgbS0+aWNtcGguaWNtcDZfdHlwZSA9PSBORElT Q19ORUlHSEJPVVJfU09MSUNJVEFUSU9OKQogCQkJCXJldHVybiBuZWlnaF9yZWR1Y2UoZGV2LCBz a2IsIHZuaSk7CiAJCX0KICNlbmRpZgotLSAKMi4xMy42CgoKRnJvbSA2NmI1ODY0OTdjZTNlYTc0 YjY4MzczMzRmN2JkZjM0ZTYzNGFhNmQ5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9 P1VURi04P3E/Qmo9QzM9Qjhybj0yME1vcms/PSA8Ympvcm5AbW9yay5ubz4KRGF0ZTogV2VkLCAx NSBOb3YgMjAxNyAwOTozNTowMiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMy81XSBuZXQ6IGNkY19u Y206IEdldE50YkZvcm1hdCBlbmRpYW4gZml4Ck1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlw ZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4 Yml0CgpbIFVwc3RyZWFtIGNvbW1pdCA2MzE0ZGFiNGI4ZmI4NDkzZDgxMGUxNzVjYjM0MDM3NjA1 MmM2OWI2IF0KClRoZSBHZXROdGJGb3JtYXQgYW5kIFNldE50YkZvcm1hdCByZXF1ZXN0cyBvcGVy YXRlIG9uIDE2IGJpdCBsaXR0bGUKZW5kaWFuIHZhbHVlcy4gV2UgZ2V0IGF3YXkgd2l0aCBpZ25v cmluZyB0aGlzIG1vc3Qgb2YgdGhlIHRpbWUsIGJlY2F1c2UKd2Ugb25seSBjYXJlIGFib3V0IFVT Ql9DRENfTkNNX05UQjE2X0ZPUk1BVCB3aGljaCBpcyAweDAwMDAuICBUaGlzCmZhaWxzIGZvciBV U0JfQ0RDX05DTV9OVEIzMl9GT1JNQVQuCgpGaXggY29tcGFyaXNvbiBiZXR3ZWVuIExFIHZhbHVl IGZyb20gZGV2aWNlIGFuZCBjb25zdGFudCBieSBjb252ZXJ0aW5nCnRoZSBjb25zdGFudCB0byBM RS4KClJlcG9ydGVkLWJ5OiBCZW4gSHV0Y2hpbmdzIDxiZW4uaHV0Y2hpbmdzQGNvZGV0aGluay5j by51az4KRml4ZXM6IDJiMDJjMjBjZTBjMiAoImNkY19uY206IFNldCBOVEIgZm9ybWF0IGFnYWlu IGFmdGVyIGFsdHNldHRpbmcgc3dpdGNoIGZvciBIdWF3ZWkgZGV2aWNlcyIpCkNjOiBFbnJpY28g TWlvc28gPG1ya2lrby5yc0BnbWFpbC5jb20+CkNjOiBDaHJpc3RpYW4gUGFudG9uIDxjaHJpc3Rp YW5AcGFudG9uLm9yZz4KU2lnbmVkLW9mZi1ieTogQmrDuHJuIE1vcmsgPGJqb3JuQG1vcmsubm8+ CkFja2VkLUJ5OiBFbnJpY28gTWlvc28gPG1ya2lrby5yc0BnbWFpbC5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25l dC91c2IvY2RjX25jbS5jIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9jZGNfbmNtLmMg Yi9kcml2ZXJzL25ldC91c2IvY2RjX25jbS5jCmluZGV4IDQ3Y2FiMWJkZTA2NS4uOWUxYjc0NTkw NjgyIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC91c2IvY2RjX25jbS5jCisrKyBiL2RyaXZlcnMv bmV0L3VzYi9jZGNfbmNtLmMKQEAgLTc3MSw3ICs3NzEsNyBAQCBpbnQgY2RjX25jbV9iaW5kX2Nv bW1vbihzdHJ1Y3QgdXNibmV0ICpkZXYsIHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLCB1OCBk YXRhXwogCWludCBlcnI7CiAJdTggaWZhY2Vfbm87CiAJc3RydWN0IHVzYl9jZGNfcGFyc2VkX2hl YWRlciBoZHI7Ci0JdTE2IGN1cnJfbnRiX2Zvcm1hdDsKKwlfX2xlMTYgY3Vycl9udGJfZm9ybWF0 OwogCiAJY3R4ID0ga3phbGxvYyhzaXplb2YoKmN0eCksIEdGUF9LRVJORUwpOwogCWlmICghY3R4 KQpAQCAtODg5LDcgKzg4OSw3IEBAIGludCBjZGNfbmNtX2JpbmRfY29tbW9uKHN0cnVjdCB1c2Ju ZXQgKmRldiwgc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsIHU4IGRhdGFfCiAJCQlnb3RvIGVy cm9yMjsKIAkJfQogCi0JCWlmIChjdXJyX250Yl9mb3JtYXQgPT0gVVNCX0NEQ19OQ01fTlRCMzJf Rk9STUFUKSB7CisJCWlmIChjdXJyX250Yl9mb3JtYXQgPT0gY3B1X3RvX2xlMTYoVVNCX0NEQ19O Q01fTlRCMzJfRk9STUFUKSkgewogCQkJZGV2X2luZm8oJmludGYtPmRldiwgInJlc2V0dGluZyBO VEIgZm9ybWF0IHRvIDE2LWJpdCIpOwogCQkJZXJyID0gdXNibmV0X3dyaXRlX2NtZChkZXYsIFVT Ql9DRENfU0VUX05UQl9GT1JNQVQsCiAJCQkJCSAgICAgICBVU0JfVFlQRV9DTEFTUyB8IFVTQl9E SVJfT1VUCi0tIAoyLjEzLjYKCgpGcm9tIDgyNDBmYzdiNzUxNzg5NzZmYzM1NTE1ZDAzMTljNGI0 ODZlNjM3MWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEh1YWNhaSBDaGVuIDxjaGVu aGNAbGVtb3RlLmNvbT4KRGF0ZTogVGh1LCAxNiBOb3YgMjAxNyAxMTowNzoxNSArMDgwMApTdWJq ZWN0OiBbUEFUQ0ggNC81XSBmZWFsbng6IEZpeCBidWlsZGluZyBlcnJvciBvbiBNSVBTCgpbIFVw c3RyZWFtIGNvbW1pdCBjYzU0YzFkMzJlNmE0YmIzZjExNjcyMWFiZjkwMDUxMzE3M2U0ZDAyIF0K ClRoaXMgcGF0Y2ggdHJ5IHRvIGZpeCB0aGUgYnVpbGRpbmcgZXJyb3Igb24gTUlQUy4gVGhlIHJl YXNvbiBpcyBNSVBTCmhhcyBhbHJlYWR5IGRlZmluZWQgdGhlIExPTkcgbWFjcm8sIHdoaWNoIGNv bmZsaWN0cyB3aXRoIHRoZSBMT05HIGVudW0KaW4gZHJpdmVycy9uZXQvZXRoZXJuZXQvZmVhbG54 LmMuCgpTaWduZWQtb2ZmLWJ5OiBIdWFjYWkgQ2hlbiA8Y2hlbmhjQGxlbW90ZS5jb20+ClNpZ25l ZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2 ZXJzL25ldC9ldGhlcm5ldC9mZWFsbnguYyB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBp bnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0 aGVybmV0L2ZlYWxueC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvZmVhbG54LmMKaW5kZXggZTky ODU5ZGFiN2FlLi5lMTkxYzRlYmVhZjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0 L2ZlYWxueC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZlYWxueC5jCkBAIC0yNTcsOCAr MjU3LDggQEAgZW51bSByeF9kZXNjX3N0YXR1c19iaXRzIHsKIAlSWEZTRCA9IDB4MDAwMDA4MDAs CS8qIGZpcnN0IGRlc2NyaXB0b3IgKi8KIAlSWExTRCA9IDB4MDAwMDA0MDAsCS8qIGxhc3QgZGVz Y3JpcHRvciAqLwogCUVycm9yU3VtbWFyeSA9IDB4ODAsCS8qIGVycm9yIHN1bW1hcnkgKi8KLQlS VU5UID0gMHg0MCwJCS8qIHJ1bnQgcGFja2V0IHJlY2VpdmVkICovCi0JTE9ORyA9IDB4MjAsCQkv KiBsb25nIHBhY2tldCByZWNlaXZlZCAqLworCVJVTlRQS1QgPSAweDQwLAkJLyogcnVudCBwYWNr ZXQgcmVjZWl2ZWQgKi8KKwlMT05HUEtUID0gMHgyMCwJCS8qIGxvbmcgcGFja2V0IHJlY2VpdmVk ICovCiAJRkFFID0gMHgxMCwJCS8qIGZyYW1lIGFsaWduIGVycm9yICovCiAJQ1JDID0gMHgwOCwJ CS8qIGNyYyBlcnJvciAqLwogCVJYRVIgPSAweDA0LAkJLyogcmVjZWl2ZSBlcnJvciAqLwpAQCAt MTYzMiw3ICsxNjMyLDcgQEAgc3RhdGljIGludCBuZXRkZXZfcngoc3RydWN0IG5ldF9kZXZpY2Ug KmRldikKIAkJCQkJICAgICAgIGRldi0+bmFtZSwgcnhfc3RhdHVzKTsKIAogCQkJCWRldi0+c3Rh dHMucnhfZXJyb3JzKys7CS8qIGVuZCBvZiBhIHBhY2tldC4gKi8KLQkJCQlpZiAocnhfc3RhdHVz ICYgKExPTkcgfCBSVU5UKSkKKwkJCQlpZiAocnhfc3RhdHVzICYgKExPTkdQS1QgfCBSVU5UUEtU KSkKIAkJCQkJZGV2LT5zdGF0cy5yeF9sZW5ndGhfZXJyb3JzKys7CiAJCQkJaWYgKHJ4X3N0YXR1 cyAmIFJYRVIpCiAJCQkJCWRldi0+c3RhdHMucnhfZnJhbWVfZXJyb3JzKys7Ci0tIAoyLjEzLjYK CgpGcm9tIDVjMmE4YzQxMGQxNDA3MjRmMzgxZTQxNzNiMDlmMTVhNjU3OWI5YWIgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206ICJFcmljIFcuIEJpZWRlcm1hbiIgPGViaWVkZXJtQHhtaXNz aW9uLmNvbT4KRGF0ZTogV2VkLCAxNSBOb3YgMjAxNyAyMjoxNzo0OCAtMDYwMApTdWJqZWN0OiBb UEFUQ0ggNS81XSBuZXQvc2N0cDogQWx3YXlzIHNldCBzY29wZV9pZCBpbiBzY3RwX2luZXQ2X3Nr Yl9tc2duYW1lCgpbIFVwc3RyZWFtIGNvbW1pdCA3YzhhNjFkOWVlMWRmMGZiNDc0Nzg3OWZhNjdh OTk2MTRlYjYyZmVjIF0KCkFsZXhhbmRhciBQb3RhcGVua28gd2hpbGUgdGVzdGluZyB0aGUga2Vy bmVsIHdpdGggS01TQU4gYW5kIHN5emthbGxlcgpkaXNjb3ZlcmVkIHRoYXQgaW4gc29tZSBjb25m aWd1cmF0aW9ucyBzY3RwIHdvdWxkIGxlYWsgNCBieXRlcyBvZgprZXJuZWwgc3RhY2suCgpXb3Jr aW5nIHdpdGggaGlzIHJlcHJvZHVjZXIgSSBkaXNjb3ZlcmVkIHRoYXQgdGhvc2UgNCBieXRlcyB0 aGF0CmFyZSBsZWFrZWQgaXMgdGhlIHNjb3BlIGlkIG9mIGFuIGlwdjYgYWRkcmVzcyByZXR1cm5l ZCBieSByZWN2bXNnLgoKV2l0aCBhIGxpdHRsZSBjb2RlIGluc3BlY3Rpb24gYW5kIGEgc2hyZXdk IGd1ZXNzIEkgZGlzY292ZXJlZCB0aGF0CnNjdHBfaW5ldDZfc2tiX21zZ25hbWUgb25seSBpbml0 aWFsaXplcyB0aGUgc2NvcGVfaWQgZmllbGQgZm9yIGxpbmsKbG9jYWwgaXB2NiBhZGRyZXNzZXMg dG8gdGhlIGludGVyZmFjZSBpbmRleCB0aGUgbGluayBsb2NhbCBhZGRyZXNzCnBlcnRhaW5zIHRv IGluc3RlYWQgb2YgaW5pdGlhbGl6aW5nIHRoZSBzY29wZV9pZCBmaWVsZCBmb3IgYWxsIGlwdjYK YWRkcmVzc2VzLgoKVGhhdCBpcyBhbG1vc3QgcmVhc29uYWJsZSBhcyBzY29wZV9pZCdzIGFyZSBt ZWFuaW5pbmdmdWwgb25seSBmb3IgbGluawpsb2NhbCBhZGRyZXNzZXMuICBTZXQgdGhlIHNjb3Bl X2lkIGluIGFsbCBvdGhlciBjYXNlcyB0byAwIHdoaWNoIGlzCm5vdCBhIHZhbGlkIGludGVyZmFj ZSBpbmRleCB0byBtYWtlIGl0IGNsZWFyIHRoZXJlIGlzIG5vdGhpbmcgdXNlZnVsCmluIHRoZSBz Y29wZV9pZCBmaWVsZC4KClRoZXJlIHNob3VsZCBiZSBubyBkYW5nZXIgb2YgYnJlYWtpbmcgdXNl cnNwYWNlIGFzIHRoZSBzdGFjayBsZWFrCmd1YXJhbnRlZWQgdGhhdCBwcmV2aW91c2x5IG1lYW5p bmdsZXNzIHJhbmRvbSBkYXRhIHdhcyBiZWluZyByZXR1cm5lZC4KCkZpeGVzOiAzNzJmNTI1YjQ5 NWMgKCJTQ1RQOiAgUmVzeW5jIHdpdGggTEtTQ1RQIHRyZWUuIikKSGlzdG9yeS10cmVlOiBodHRw czovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC90Z2x4L2hpc3Rvcnku Z2l0ClJlcG9ydGVkLWJ5OiBBbGV4YW5kZXIgUG90YXBlbmtvIDxnbGlkZXJAZ29vZ2xlLmNvbT4K VGVzdGVkLWJ5OiBBbGV4YW5kZXIgUG90YXBlbmtvIDxnbGlkZXJAZ29vZ2xlLmNvbT4KU2lnbmVk LW9mZi1ieTogIkVyaWMgVy4gQmllZGVybWFuIiA8ZWJpZWRlcm1AeG1pc3Npb24uY29tPgpTaWdu ZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0 L3NjdHAvaXB2Ni5jIHwgNSArKystLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvc2N0cC9pcHY2LmMgYi9uZXQvc2N0cC9p cHY2LmMKaW5kZXggYTZkZmE4NmMwMjAxLi4zYjE4MDg1ZTNiMTAgMTAwNjQ0Ci0tLSBhL25ldC9z Y3RwL2lwdjYuYworKysgYi9uZXQvc2N0cC9pcHY2LmMKQEAgLTgwNyw5ICs4MDcsMTAgQEAgc3Rh dGljIHZvaWQgc2N0cF9pbmV0Nl9za2JfbXNnbmFtZShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBjaGFy ICptc2duYW1lLAogCQlhZGRyLT52Ni5zaW42X2Zsb3dpbmZvID0gMDsKIAkJYWRkci0+djYuc2lu Nl9wb3J0ID0gc2gtPnNvdXJjZTsKIAkJYWRkci0+djYuc2luNl9hZGRyID0gaXB2Nl9oZHIoc2ti KS0+c2FkZHI7Ci0JCWlmIChpcHY2X2FkZHJfdHlwZSgmYWRkci0+djYuc2luNl9hZGRyKSAmIElQ VjZfQUREUl9MSU5LTE9DQUwpIHsKKwkJaWYgKGlwdjZfYWRkcl90eXBlKCZhZGRyLT52Ni5zaW42 X2FkZHIpICYgSVBWNl9BRERSX0xJTktMT0NBTCkKIAkJCWFkZHItPnY2LnNpbjZfc2NvcGVfaWQg PSBzY3RwX3Y2X3NrYl9paWYoc2tiKTsKLQkJfQorCQllbHNlCisJCQlhZGRyLT52Ni5zaW42X3Nj b3BlX2lkID0gMDsKIAl9CiAKIAkqYWRkcl9sZW4gPSBzY3RwX3Y2X2FkZHJfdG9fdXNlcihzY3Rw X3NrKHNrYi0+c2spLCBhZGRyKTsKLS0gCjIuMTMuNgoK ----Next_Part(Mon_Nov_20_20_47_27_2017_570)----