From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shards.monkeyblade.net ([23.128.96.9]:48942 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730232AbeIXWtq (ORCPT ); Mon, 24 Sep 2018 18:49:46 -0400 Received: from localhost (74-93-104-98-Washington.hfc.comcastbusiness.net [74.93.104.98]) (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 C5644136A4AA3 for ; Mon, 24 Sep 2018 09:46:42 -0700 (PDT) Date: Mon, 24 Sep 2018 09:46:40 -0700 (PDT) Message-Id: <20180924.094640.382785193383573621.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_Sep_24_09_46_40_2018_110)--" Content-Transfer-Encoding: 7bit Sender: stable-owner@vger.kernel.org List-ID: ----Next_Part(Mon_Sep_24_09_46_40_2018_110)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for v4.14.x and v4.18.x -stable, respectively. Thank you! ----Next_Part(Mon_Sep_24_09_46_40_2018_110)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_414.mbox" RnJvbSAyOGJjNTNlOTRkZDRhZjdlYzU5YzBlYWQ1NzY5ZmUwZTFiODhlNDZiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/VG9rZT0yMEg9QzM9QjhpbGFuZC1KPUMzPUI4 cmdlbnNlbj89IDx0b2tlQHRva2UuZGs+CkRhdGU6IFRodSwgMTMgU2VwIDIwMTggMTY6NDM6MDcg KzAyMDAKU3ViamVjdDogW1BBVENIIDAxLzEzXSBnc29fc2VnbWVudDogUmVzZXQgc2tiLT5tYWNf bGVuIGFmdGVyIG1vZGlmeWluZyBuZXR3b3JrCiBoZWFkZXIKTUlNRS1WZXJzaW9uOiAxLjAKQ29u dGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5j b2Rpbmc6IDhiaXQKClsgVXBzdHJlYW0gY29tbWl0IGM1NmNhZTIzYzZiMTY3YWNjNjgwNDNjNjgz YzQ1NzNiODBjYmNjMmMgXQoKV2hlbiBzcGxpdHRpbmcgYSBHU08gc2VnbWVudCB0aGF0IGNvbnNp c3RzIG9mIGVuY2Fwc3VsYXRlZCBwYWNrZXRzLCB0aGUKc2tiLT5tYWNfbGVuIG9mIHRoZSBzZWdt ZW50cyBjYW4gZW5kIHVwIGJlaW5nIHNldCB3cm9uZywgY2F1c2luZyBwYWNrZXQKZHJvcHMgaW4g cGFydGljdWxhciB3aGVuIHVzaW5nIGFjdF9taXJyZWQgYW5kIGlmYiBpbnRlcmZhY2VzIGluCmNv bWJpbmF0aW9uIHdpdGggYSBxZGlzYyB0aGF0IHNwbGl0cyBHU08gcGFja2V0cy4KClRoaXMgaGFw cGVucyBiZWNhdXNlIGF0IHRoZSB0aW1lIHNrYl9zZWdtZW50KCkgaXMgY2FsbGVkLCBuZXR3b3Jr X2hlYWRlcgp3aWxsIHBvaW50IHRvIHRoZSBpbm5lciBoZWFkZXIsIHRocm93aW5nIG9mZiB0aGUg Y2FsY3VsYXRpb24gaW4Kc2tiX3Jlc2V0X21hY19sZW4oKS4gVGhlIG5ldHdvcmtfaGVhZGVyIGlz IHN1YnNlcXVlbnRseSBhZGp1c3QgYnkgdGhlCm91dGVyIElQIGdzb19zZWdtZW50IGhhbmRsZXJz LCBidXQgdGhleSBkb24ndCBzZXQgdGhlIG1hY19sZW4uCgpGaXggdGhpcyBieSBhZGRpbmcgc2ti X3Jlc2V0X21hY19sZW4oKSBjYWxscyB0byBib3RoIHRoZSBJUHY0IGFuZCBJUHY2Cmdzb19zZWdt ZW50IGhhbmRsZXJzLCBhZnRlciB0aGV5IG1vZGlmeSB0aGUgbmV0d29ya19oZWFkZXIuCgpNYW55 IHRoYW5rcyB0byBFcmljIER1bWF6ZXQgZm9yIGhpcyBoZWxwIGluIGlkZW50aWZ5aW5nIHRoZSBj YXVzZSBvZgp0aGUgYnVnLgoKQWNrZWQtYnk6IERhdmUgVGFodCA8ZGF2ZS50YWh0QGdtYWlsLmNv bT4KUmV2aWV3ZWQtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KU2lnbmVk LW9mZi1ieTogVG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2VuIDx0b2tlQHRva2UuZGs+ClNpZ25lZC1v ZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2 NC9hZl9pbmV0LmMgICAgIHwgMSArCiBuZXQvaXB2Ni9pcDZfb2ZmbG9hZC5jIHwgMSArCiAyIGZp bGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L2FmX2lu ZXQuYyBiL25ldC9pcHY0L2FmX2luZXQuYwppbmRleCBiOWQ5YTJiODc5MmMuLmYzMWMwOTg3M2Qw ZiAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvYWZfaW5ldC5jCisrKyBiL25ldC9pcHY0L2FmX2luZXQu YwpAQCAtMTMwNyw2ICsxMzA3LDcgQEAgc3RydWN0IHNrX2J1ZmYgKmluZXRfZ3NvX3NlZ21lbnQo c3RydWN0IHNrX2J1ZmYgKnNrYiwKIAkJaWYgKGVuY2FwKQogCQkJc2tiX3Jlc2V0X2lubmVyX2hl YWRlcnMoc2tiKTsKIAkJc2tiLT5uZXR3b3JrX2hlYWRlciA9ICh1OCAqKWlwaCAtIHNrYi0+aGVh ZDsKKwkJc2tiX3Jlc2V0X21hY19sZW4oc2tiKTsKIAl9IHdoaWxlICgoc2tiID0gc2tiLT5uZXh0 KSk7CiAKIG91dDoKZGlmZiAtLWdpdCBhL25ldC9pcHY2L2lwNl9vZmZsb2FkLmMgYi9uZXQvaXB2 Ni9pcDZfb2ZmbG9hZC5jCmluZGV4IDRhODdmOTQyOGNhNS4uZTM2OThiNmQ4MjMxIDEwMDY0NAot LS0gYS9uZXQvaXB2Ni9pcDZfb2ZmbG9hZC5jCisrKyBiL25ldC9pcHY2L2lwNl9vZmZsb2FkLmMK QEAgLTExMyw2ICsxMTMsNyBAQCBzdGF0aWMgc3RydWN0IHNrX2J1ZmYgKmlwdjZfZ3NvX3NlZ21l bnQoc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAkJCXBheWxvYWRfbGVuID0gc2tiLT5sZW4gLSBuaG9m ZiAtIHNpemVvZigqaXB2NmgpOwogCQlpcHY2aC0+cGF5bG9hZF9sZW4gPSBodG9ucyhwYXlsb2Fk X2xlbik7CiAJCXNrYi0+bmV0d29ya19oZWFkZXIgPSAodTggKilpcHY2aCAtIHNrYi0+aGVhZDsK KwkJc2tiX3Jlc2V0X21hY19sZW4oc2tiKTsKIAogCQlpZiAodWRwZnJhZykgewogCQkJaW50IGVy ciA9IGlwNl9maW5kXzFzdGZyYWdvcHQoc2tiLCAmcHJldmhkcik7Ci0tIAoyLjEzLjYKCgpGcm9t IDY3YTdkMWQ2Y2E3ODk0Yjg1MjEzODU1M2JhOGY4ZTQ2YjBjYTdhYmYgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTog RnJpLCAxNCBTZXAgMjAxOCAxMjowMjozMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMTNdIGlw djY6IGZpeCBwb3NzaWJsZSB1c2UtYWZ0ZXItZnJlZSBpbiBpcDZfeG1pdCgpCgpbIFVwc3RyZWFt IGNvbW1pdCBiYmQ2NTI4ZDI4YzFiOGU4MDgzMmIzYjAxOGVjNDAyYjZmNWMzMjE1IF0KCkluIHRo ZSB1bmxpa2VseSBjYXNlIGlwNl94bWl0KCkgaGFzIHRvIGNhbGwgc2tiX3JlYWxsb2NfaGVhZHJv b20oKSwKd2UgbmVlZCB0byBjYWxsIHNrYl9zZXRfb3duZXJfdygpIGJlZm9yZSBjb25zdW1pbmcg b3JpZ2luYWwgc2tiLApvdGhlcndpc2Ugd2UgcmlzayBhIHVzZS1hZnRlci1mcmVlLgoKQnJpbmcg SVB2NiBpbiBsaW5lIHdpdGggd2hhdCB3ZSBkbyBpbiBJUHY0IHRvIGZpeCB0aGlzLgoKRml4ZXM6 IDFkYTE3N2U0YzNmNDEgKCJMaW51eC0yLjYuMTItcmMyIikKU2lnbmVkLW9mZi1ieTogRXJpYyBE dW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90IDxzeXprYWxs ZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZl bUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY2L2lwNl9vdXRwdXQuYyB8IDYgKystLS0tCiAx IGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL25ldC9pcHY2L2lwNl9vdXRwdXQuYyBiL25ldC9pcHY2L2lwNl9vdXRwdXQuYwppbmRleCAx ZGEwMjE1MjdmY2QuLjlhYjFlMGZjYmMxMyAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvaXA2X291dHB1 dC5jCisrKyBiL25ldC9pcHY2L2lwNl9vdXRwdXQuYwpAQCAtMjE5LDEyICsyMTksMTAgQEAgaW50 IGlwNl94bWl0KGNvbnN0IHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3Ry dWN0IGZsb3dpNiAqZmw2LAogCQkJCWtmcmVlX3NrYihza2IpOwogCQkJCXJldHVybiAtRU5PQlVG UzsKIAkJCX0KKwkJCWlmIChza2ItPnNrKQorCQkJCXNrYl9zZXRfb3duZXJfdyhza2IyLCBza2It PnNrKTsKIAkJCWNvbnN1bWVfc2tiKHNrYik7CiAJCQlza2IgPSBza2IyOwotCQkJLyogc2tiX3Nl dF9vd25lcl93KCkgY2hhbmdlcyBzay0+c2tfd21lbV9hbGxvYyBhdG9taWNhbGx5LAotCQkJICog aXQgaXMgc2FmZSB0byBjYWxsIGluIG91ciBjb250ZXh0IChzb2NrZXQgbG9jayBub3QgaGVsZCkK LQkJCSAqLwotCQkJc2tiX3NldF9vd25lcl93KHNrYiwgKHN0cnVjdCBzb2NrICopc2spOwogCQl9 CiAJCWlmIChvcHQtPm9wdF9mbGVuKQogCQkJaXB2Nl9wdXNoX2ZyYWdfb3B0cyhza2IsIG9wdCwg JnByb3RvKTsKLS0gCjIuMTMuNgoKCkZyb20gZWVkM2EzNGUwYzE0MjhmN2ZjNjBiYzI2ZDM0NTA0 NTYyNDYwYTA4YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogV2lsbHkgVGFycmVhdSA8 d0Axd3QuZXU+CkRhdGU6IFdlZCwgMTIgU2VwIDIwMTggMDc6MzY6MzUgKzAyMDAKU3ViamVjdDog W1BBVENIIDAzLzEzXSBuZXQvYXBwbGV0YWxrOiBmaXggbWlub3IgcG9pbnRlciBsZWFrIHRvIHVz ZXJzcGFjZSBpbgogU0lPQ0ZJTkRJUEREUFJUCgpbIFVwc3RyZWFtIGNvbW1pdCA5ODI0ZGZhZTU3 NDEyNzU0NzNhMjNhN2VkNTc1NmM3YjZlZmFjYzlkIF0KCkZpZWxkcyAtPmRldiBhbmQgLT5uZXh0 IG9mIHN0cnVjdCBpcGRkcF9yb3V0ZSBtYXkgYmUgY29waWVkIHRvCnVzZXJzcGFjZSBvbiB0aGUg U0lPQ0ZJTkRJUEREUFJUIGlvY3RsLiBUaGlzIGlzIG9ubHkgYWNjZXNzaWJsZQp0byBDQVBfTkVU X0FETUlOIHRob3VnaC4gTGV0J3MgbWFudWFsbHkgY29weSB0aGUgcmVsZXZhbnQgZmllbGRzCmlu c3RlYWQgb2YgdXNpbmcgbWVtY3B5KCkuCgpCdWdMaW5rOiBodHRwOi8vYmxvZy5pbmZvc2VjdGNi ci5jb20uYXUvMjAxOC8wOS9saW51eC1rZXJuZWwtaW5mb2xlYWtzLmh0bWwKQ2M6IEphbm4gSG9y biA8amFubmhAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogV2lsbHkgVGFycmVhdSA8d0Axd3Qu ZXU+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4K LS0tCiBkcml2ZXJzL25ldC9hcHBsZXRhbGsvaXBkZHAuYyB8IDggKysrKysrLS0KIDEgZmlsZSBj aGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9uZXQvYXBwbGV0YWxrL2lwZGRwLmMgYi9kcml2ZXJzL25ldC9hcHBsZXRhbGsvaXBkZHAu YwppbmRleCA5Mzc1Y2VmMjI0MjAuLjNkMjc2MTZkOWM4NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9u ZXQvYXBwbGV0YWxrL2lwZGRwLmMKKysrIGIvZHJpdmVycy9uZXQvYXBwbGV0YWxrL2lwZGRwLmMK QEAgLTI4Myw4ICsyODMsMTIgQEAgc3RhdGljIGludCBpcGRkcF9pb2N0bChzdHJ1Y3QgbmV0X2Rl dmljZSAqZGV2LCBzdHJ1Y3QgaWZyZXEgKmlmciwgaW50IGNtZCkKICAgICAgICAgICAgICAgICBj YXNlIFNJT0NGSU5ESVBERFBSVDoKIAkJCXNwaW5fbG9ja19iaCgmaXBkZHBfcm91dGVfbG9jayk7 CiAJCQlycCA9IF9faXBkZHBfZmluZF9yb3V0ZSgmcmNwKTsKLQkJCWlmIChycCkKLQkJCQltZW1j cHkoJnJjcDIsIHJwLCBzaXplb2YocmNwMikpOworCQkJaWYgKHJwKSB7CisJCQkJbWVtc2V0KCZy Y3AyLCAwLCBzaXplb2YocmNwMikpOworCQkJCXJjcDIuaXAgICAgPSBycC0+aXA7CisJCQkJcmNw Mi5hdCAgICA9IHJwLT5hdDsKKwkJCQlyY3AyLmZsYWdzID0gcnAtPmZsYWdzOworCQkJfQogCQkJ c3Bpbl91bmxvY2tfYmgoJmlwZGRwX3JvdXRlX2xvY2spOwogCiAJCQlpZiAocnApIHsKLS0gCjIu MTMuNgoKCkZyb20gYTk1NDhjMWY0MjI5ZWVmMDQ1OTdhNDRlODI2MzVkNTY2YjM1ZjU0OCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQ29saW4gSWFuIEtpbmcgPGNvbGluLmtpbmdAY2Fu b25pY2FsLmNvbT4KRGF0ZTogRnJpLCAxNCBTZXAgMjAxOCAxNzozOTo1MyArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMDQvMTNdIG5ldDogaHAxMDA6IGZpeCBhbHdheXMtdHJ1ZSBjaGVjayBmb3IgbGlu ayB1cCBzdGF0ZQoKWyBVcHN0cmVhbSBjb21taXQgYTdmMzgwMDJmYjY5YjQ0ZjhmYzYyMmVjYjgz ODY2NWQwYjg2NjZhZiBdCgpUaGUgb3BlcmF0aW9uIH4ocDEwMF9pbmIoVkdfTEFOX0NGR18xKSAm IEhQMTAwX0xJTktfVVApIHJldHVybnMgYSB2YWx1ZQp0aGF0IGlzIGFsd2F5cyBub24temVybyBh bmQgaGVuY2UgdGhlIHdhaXQgZm9yIHRoZSBsaW5rIHRvIGRyb3AgYWx3YXlzCnRlcm1pbmF0ZXMg cHJlbWF0dXJlbHkuICBGaXggdGhpcyBieSB1c2luZyBhIGxvZ2ljYWwgbm90IG9wZXJhdG9yIGlu c3RlYWQKb2YgYSBiaXR3aXNlIGNvbXBsZW1lbnQuICBUaGlzIGlzc3VlIGhhcyBiZWVuIGluIHRo ZSBkcml2ZXIgc2luY2UKcHJlLTIuNi4xMi1yYzIuCgpEZXRlY3RlZCBieSBDb3Zlcml0eVNjYW4s IENJRCMxMTQxNTcgKCJMb2dpY2FsIHZzLiBiaXR3aXNlIG9wZXJhdG9yIikKClNpZ25lZC1vZmYt Ynk6IENvbGluIElhbiBLaW5nIDxjb2xpbi5raW5nQGNhbm9uaWNhbC5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25l dC9ldGhlcm5ldC9ocC9ocDEwMC5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHAv aHAxMDAuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2hwL2hwMTAwLmMKaW5kZXggYzhjN2FkMmVm Zjc3Li45YjVhNjhiNjU0MzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2hwL2hw MTAwLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHAvaHAxMDAuYwpAQCAtMjYzNCw3ICsy NjM0LDcgQEAgc3RhdGljIGludCBocDEwMF9sb2dpbl90b192Z19odWIoc3RydWN0IG5ldF9kZXZp Y2UgKmRldiwgdV9zaG9ydCBmb3JjZV9yZWxvZ2luKQogCQkvKiBXYWl0IGZvciBsaW5rIHRvIGRy b3AgKi8KIAkJdGltZSA9IGppZmZpZXMgKyAoSFogLyAxMCk7CiAJCWRvIHsKLQkJCWlmICh+KGhw MTAwX2luYihWR19MQU5fQ0ZHXzEpICYgSFAxMDBfTElOS19VUF9TVCkpCisJCQlpZiAoIShocDEw MF9pbmIoVkdfTEFOX0NGR18xKSAmIEhQMTAwX0xJTktfVVBfU1QpKQogCQkJCWJyZWFrOwogCQkJ aWYgKCFpbl9pbnRlcnJ1cHQoKSkKIAkJCQlzY2hlZHVsZV90aW1lb3V0X2ludGVycnVwdGlibGUo MSk7Ci0tIAoyLjEzLjYKCgpGcm9tIDZlYzU1ZGVkNjE1NmM3ZDExMWNjOTdkNjk4M2E4MDg2ZmJh NjkwNzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEd1aWxsYXVtZSBOYXVsdCA8Zy5u YXVsdEBhbHBoYWxpbmsuZnI+CkRhdGU6IEZyaSwgMTQgU2VwIDIwMTggMTY6Mjg6MDUgKzAyMDAK U3ViamVjdDogW1BBVENIIDA1LzEzXSBwcHBvZTogZml4IHJlY2VwdGlvbiBvZiBmcmFtZXMgd2l0 aCBubyBtYWMgaGVhZGVyCgpbIFVwc3RyZWFtIGNvbW1pdCA4NTQwODI3ZWJhYzZiNjU0YWIyZjY5 YzhmYmNlOWU0ZmJkNjMwNGEwIF0KCnBwcG9lX3JjdigpIG5lZWRzIHRvIGxvb2sgYmFjayBhdCB0 aGUgRXRoZXJuZXQgaGVhZGVyIGluIG9yZGVyIHRvCmxvb2t1cCB0aGUgUFBQb0Ugc2Vzc2lvbi4g VGhlcmVmb3JlIHdlIG5lZWQgdG8gZW5zdXJlIHRoYXQgdGhlIG1hYwpoZWFkZXIgaXMgYmlnIGVu b3VnaCB0byBjb250YWluIGFuIEV0aGVybmV0IGhlYWRlci4gT3RoZXJ3aXNlCmV0aF9oZHIoc2ti KS0+aF9zb3VyY2UgbWlnaHQgYWNjZXNzIGludmFsaWQgZGF0YS4KCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpCVUc6IEtN U0FOOiB1bmluaXQtdmFsdWUgaW4gX19nZXRfaXRlbSBkcml2ZXJzL25ldC9wcHAvcHBwb2UuYzox NzIgW2lubGluZV0KQlVHOiBLTVNBTjogdW5pbml0LXZhbHVlIGluIGdldF9pdGVtIGRyaXZlcnMv bmV0L3BwcC9wcHBvZS5jOjIzNiBbaW5saW5lXQpCVUc6IEtNU0FOOiB1bmluaXQtdmFsdWUgaW4g cHBwb2VfcmN2KzB4Y2VmLzB4MTBlMCBkcml2ZXJzL25ldC9wcHAvcHBwb2UuYzo0NTAKQ1BVOiAw IFBJRDogNDU0MyBDb21tOiBzeXotZXhlY3V0b3IzNTUgTm90IHRhaW50ZWQgNC4xNi4wKyAjODcK SGFyZHdhcmUgbmFtZTogR29vZ2xlIEdvb2dsZSBDb21wdXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0 ZSBFbmdpbmUsIEJJT1MgR29vZ2xlCjAxLzAxLzIwMTEKQ2FsbCBUcmFjZToKIF9fZHVtcF9zdGFj ayBsaWIvZHVtcF9zdGFjay5jOjE3IFtpbmxpbmVdCiBkdW1wX3N0YWNrKzB4MTg1LzB4MWQwIGxp Yi9kdW1wX3N0YWNrLmM6NTMKIGttc2FuX3JlcG9ydCsweDE0Mi8weDI0MCBtbS9rbXNhbi9rbXNh bi5jOjEwNjcKIF9fbXNhbl93YXJuaW5nXzMyKzB4NmMvMHhiMCBtbS9rbXNhbi9rbXNhbl9pbnN0 ci5jOjY4MwogX19nZXRfaXRlbSBkcml2ZXJzL25ldC9wcHAvcHBwb2UuYzoxNzIgW2lubGluZV0K IGdldF9pdGVtIGRyaXZlcnMvbmV0L3BwcC9wcHBvZS5jOjIzNiBbaW5saW5lXQogcHBwb2VfcmN2 KzB4Y2VmLzB4MTBlMCBkcml2ZXJzL25ldC9wcHAvcHBwb2UuYzo0NTAKIF9fbmV0aWZfcmVjZWl2 ZV9za2JfY29yZSsweDQ3ZGYvMHg0YTkwIG5ldC9jb3JlL2Rldi5jOjQ1NjIKIF9fbmV0aWZfcmVj ZWl2ZV9za2IgbmV0L2NvcmUvZGV2LmM6NDYyNyBbaW5saW5lXQogbmV0aWZfcmVjZWl2ZV9za2Jf aW50ZXJuYWwrMHg0OWQvMHg2MzAgbmV0L2NvcmUvZGV2LmM6NDcwMQogbmV0aWZfcmVjZWl2ZV9z a2IrMHgyMzAvMHgyNDAgbmV0L2NvcmUvZGV2LmM6NDcyNQogdHVuX3J4X2JhdGNoZWQgZHJpdmVy cy9uZXQvdHVuLmM6MTU1NSBbaW5saW5lXQogdHVuX2dldF91c2VyKzB4NzQwZi8weDdjNjAgZHJp dmVycy9uZXQvdHVuLmM6MTk2MgogdHVuX2Nocl93cml0ZV9pdGVyKzB4MWQ0LzB4MzMwIGRyaXZl cnMvbmV0L3R1bi5jOjE5OTAKIGNhbGxfd3JpdGVfaXRlciBpbmNsdWRlL2xpbnV4L2ZzLmg6MTc4 MiBbaW5saW5lXQogbmV3X3N5bmNfd3JpdGUgZnMvcmVhZF93cml0ZS5jOjQ2OSBbaW5saW5lXQog X192ZnNfd3JpdGUrMHg3ZmIvMHg5ZjAgZnMvcmVhZF93cml0ZS5jOjQ4MgogdmZzX3dyaXRlKzB4 NDYzLzB4OGQwIGZzL3JlYWRfd3JpdGUuYzo1NDQKIFNZU0Nfd3JpdGUrMHgxNzIvMHgzNjAgZnMv cmVhZF93cml0ZS5jOjU4OQogU3lTX3dyaXRlKzB4NTUvMHg4MCBmcy9yZWFkX3dyaXRlLmM6NTgx CiBkb19zeXNjYWxsXzY0KzB4MzA5LzB4NDMwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI4Nwog ZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4M2QvMHhhMgpSSVA6IDAwMzM6MHg0NDQ3 YzkKUlNQOiAwMDJiOjAwMDA3ZmZmNjRjOGZjMjggRUZMQUdTOiAwMDAwMDI5NyBPUklHX1JBWDog MDAwMDAwMDAwMDAwMDAwMQpSQVg6IGZmZmZmZmZmZmZmZmZmZGEgUkJYOiAwMDAwMDAwMDAwMDAw MDAwIFJDWDogMDAwMDAwMDAwMDQ0NDdjOQpSRFg6IDAwMDAwMDAwMDAwMGZkODcgUlNJOiAwMDAw MDAwMDIwMDAwNjAwIFJESTogMDAwMDAwMDAwMDAwMDAwNApSQlA6IDAwMDAwMDAwMDA2Y2YwMTgg UjA4OiAwMDAwN2ZmZjY0YzhmZGE4IFIwOTogMDAwMDdmZmYwMDAwNmJkYQpSMTA6IDAwMDAwMDAw MDAwMDVmZTcgUjExOiAwMDAwMDAwMDAwMDAwMjk3IFIxMjogMDAwMDAwMDAwMDQwMjBkMApSMTM6 IDAwMDAwMDAwMDA0MDIxNjAgUjE0OiAwMDAwMDAwMDAwMDAwMDAwIFIxNTogMDAwMDAwMDAwMDAw MDAwMAoKVW5pbml0IHdhcyBjcmVhdGVkIGF0Ogoga21zYW5fc2F2ZV9zdGFja193aXRoX2ZsYWdz IG1tL2ttc2FuL2ttc2FuLmM6Mjc4IFtpbmxpbmVdCiBrbXNhbl9pbnRlcm5hbF9wb2lzb25fc2hh ZG93KzB4YjgvMHgxYjAgbW0va21zYW4va21zYW4uYzoxODgKIGttc2FuX2ttYWxsb2MrMHg5NC8w eDEwMCBtbS9rbXNhbi9rbXNhbi5jOjMxNAoga21zYW5fc2xhYl9hbGxvYysweDExLzB4MjAgbW0v a21zYW4va21zYW4uYzozMjEKIHNsYWJfcG9zdF9hbGxvY19ob29rIG1tL3NsYWIuaDo0NDUgW2lu bGluZV0KIHNsYWJfYWxsb2Nfbm9kZSBtbS9zbHViLmM6MjczNyBbaW5saW5lXQogX19rbWFsbG9j X25vZGVfdHJhY2tfY2FsbGVyKzB4YWVkLzB4MTFjMCBtbS9zbHViLmM6NDM2OQogX19rbWFsbG9j X3Jlc2VydmUgbmV0L2NvcmUvc2tidWZmLmM6MTM4IFtpbmxpbmVdCiBfX2FsbG9jX3NrYisweDJj Zi8weDlmMCBuZXQvY29yZS9za2J1ZmYuYzoyMDYKIGFsbG9jX3NrYiBpbmNsdWRlL2xpbnV4L3Nr YnVmZi5oOjk4NCBbaW5saW5lXQogYWxsb2Nfc2tiX3dpdGhfZnJhZ3MrMHgxZDQvMHhiMjAgbmV0 L2NvcmUvc2tidWZmLmM6NTIzNAogc29ja19hbGxvY19zZW5kX3Bza2IrMHhiNTYvMHgxMTkwIG5l dC9jb3JlL3NvY2suYzoyMDg1CiB0dW5fYWxsb2Nfc2tiIGRyaXZlcnMvbmV0L3R1bi5jOjE1MzIg W2lubGluZV0KIHR1bl9nZXRfdXNlcisweDIyNDIvMHg3YzYwIGRyaXZlcnMvbmV0L3R1bi5jOjE4 MjkKIHR1bl9jaHJfd3JpdGVfaXRlcisweDFkNC8weDMzMCBkcml2ZXJzL25ldC90dW4uYzoxOTkw CiBjYWxsX3dyaXRlX2l0ZXIgaW5jbHVkZS9saW51eC9mcy5oOjE3ODIgW2lubGluZV0KIG5ld19z eW5jX3dyaXRlIGZzL3JlYWRfd3JpdGUuYzo0NjkgW2lubGluZV0KIF9fdmZzX3dyaXRlKzB4N2Zi LzB4OWYwIGZzL3JlYWRfd3JpdGUuYzo0ODIKIHZmc193cml0ZSsweDQ2My8weDhkMCBmcy9yZWFk X3dyaXRlLmM6NTQ0CiBTWVNDX3dyaXRlKzB4MTcyLzB4MzYwIGZzL3JlYWRfd3JpdGUuYzo1ODkK IFN5U193cml0ZSsweDU1LzB4ODAgZnMvcmVhZF93cml0ZS5jOjU4MQogZG9fc3lzY2FsbF82NCsw eDMwOS8weDQzMCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzoyODcKIGVudHJ5X1NZU0NBTExfNjRf YWZ0ZXJfaHdmcmFtZSsweDNkLzB4YTIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpGaXhlczogMjI0Y2Y1YWQxNGMwICgi cHBwOiBNb3ZlIHRoZSBQUFAgZHJpdmVycyIpClJlcG9ydGVkLWJ5OiBzeXpib3QrZjVmNjA4MDgx MWM4NDk3MzkyMTJAc3l6a2FsbGVyLmFwcHNwb3RtYWlsLmNvbQpTaWduZWQtb2ZmLWJ5OiBHdWls bGF1bWUgTmF1bHQgPGcubmF1bHRAYWxwaGFsaW5rLmZyPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvcHBwL3BwcG9l LmMgfCAzICsrKwogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L3BwcC9wcHBvZS5jIGIvZHJpdmVycy9uZXQvcHBwL3BwcG9lLmMKaW5kZXgg NzFlMmFlZjZiN2ExLi45NTE4OTJkYTMzNTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3BwcC9w cHBvZS5jCisrKyBiL2RyaXZlcnMvbmV0L3BwcC9wcHBvZS5jCkBAIC00MjksNiArNDI5LDkgQEAg c3RhdGljIGludCBwcHBvZV9yY3Yoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5ldF9kZXZp Y2UgKmRldiwKIAlpZiAoIXNrYikKIAkJZ290byBvdXQ7CiAKKwlpZiAoc2tiX21hY19oZWFkZXJf bGVuKHNrYikgPCBFVEhfSExFTikKKwkJZ290byBkcm9wOworCiAJaWYgKCFwc2tiX21heV9wdWxs KHNrYiwgc2l6ZW9mKHN0cnVjdCBwcHBvZV9oZHIpKSkKIAkJZ290byBkcm9wOwogCi0tIAoyLjEz LjYKCgpGcm9tIGQzNWI3MjcwZWZkYWQ5YWUzMzVmNGFhMjg3YTgxZjM2MzljNWMwYzUgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT9Caj1DMz1COHJuPTIwTW9yaz89IDxi am9ybkBtb3JrLm5vPgpEYXRlOiBNb24sIDE3IFNlcCAyMDE4IDIyOjAwOjI0ICswMjAwClN1Ympl Y3Q6IFtQQVRDSCAwNi8xM10gcW1pX3d3YW46IHNldCBEVFIgZm9yIG1vZGVtcyBpbiBmb3JjZWQg VVNCMiBtb2RlCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hh cnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpbIFVwc3RyZWFtIGNv bW1pdCA5MjIwMDVjN2Y1MGU3ZjRiMmE2ZGJjMTgyZTljNTc1YjRmOTIzOTZiIF0KClJlY2VudCBm aXJtd2FyZSByZXZpc2lvbnMgaGF2ZSBhZGRlZCB0aGUgYWJpbGl0eSB0byBmb3JjZQp0aGVzZSBt b2RlbXMgdG8gVVNCMiBtb2RlLCBoaWRpbmcgdGhlaXIgU3VwZXJTcGVlZApjYXBhYmlsaXRpZXMg ZnJvbSB0aGUgaG9zdC4gIFRoZSBkcml2ZXIgaGFzIGJlZW4gdXNpbmcgdGhlClN1cGVyU3BlZWQg Y2FwYWJpbGl0eSwgYXMgc2hvd24gYnkgdGhlIGJjZFVTQiBmaWVsZCBvZiB0aGUKZGV2aWNlIGRl c2NyaXB0b3IsIHRvIGRldGVjdCB0aGUgbmVlZCB0byBlbmFibGUgdGhlIERUUgpxdWlyay4gIFRo aXMgbWV0aG9kIGZhaWxzIHdoZW4gdGhlIG1vZGVtcyBhcmUgZm9yY2VkIHRvClVTQjIgbW9kZSBi eSB0aGUgbW9kZW0gZmlybXdhcmUuCgpGaXggYnkgdW5jb25kaXRpb25hbGx5IGVuYWJsaW5nIHRo ZSBEVFIgcXVpcmsgZm9yIHRoZQphZmZlY3RlZCBkZXZpY2UgSURzLgoKUmVwb3J0ZWQtYnk6IEZy ZWQgVmVsZGluaSA8ZnJlZC52ZWxkaW5pQGdtYWlsLmNvbT4KUmVwb3J0ZWQtYnk6IERlc2h1IFdl biA8ZHdlbkBzaWVycmF3aXJlbGVzcy5jb20+ClNpZ25lZC1vZmYtYnk6IEJqw7hybiBNb3JrIDxi am9ybkBtb3JrLm5vPgpSZXBvcnRlZC1ieTogRnJlZCBWZWxkaW5pIDxmcmVkLnZlbGRpbmlAZ21h aWwuY29tPgpSZXBvcnRlZC1ieTogRGVzaHUgV2VuIDxkd2VuQHNpZXJyYXdpcmVsZXNzLmNvbT4K U2lnbmVkLW9mZi1ieTogQmrDuHJuIE1vcmsgPGJqb3JuQG1vcmsubm8+ClNpZ25lZC1vZmYtYnk6 IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC91 c2IvcW1pX3d3YW4uYyB8IDE0ICsrKysrKystLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNl cnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9x bWlfd3dhbi5jIGIvZHJpdmVycy9uZXQvdXNiL3FtaV93d2FuLmMKaW5kZXggMzE2ODRmMzM4MmY2 Li5jNWQ0YjM1YmI3MmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCisr KyBiL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCkBAIC0xMjA1LDEzICsxMjA1LDEzIEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCBwcm9kdWN0c1tdID0gewogCXtRTUlfRklY RURfSU5URigweDExOTksIDB4OTA2MSwgOCl9LAkvKiBTaWVycmEgV2lyZWxlc3MgTW9kZW0gKi8K IAl7UU1JX0ZJWEVEX0lOVEYoMHgxMTk5LCAweDkwNjMsIDgpfSwJLyogU2llcnJhIFdpcmVsZXNz IEVNNzMwNSAqLwogCXtRTUlfRklYRURfSU5URigweDExOTksIDB4OTA2MywgMTApfSwJLyogU2ll cnJhIFdpcmVsZXNzIEVNNzMwNSAqLwotCXtRTUlfRklYRURfSU5URigweDExOTksIDB4OTA3MSwg OCl9LAkvKiBTaWVycmEgV2lyZWxlc3MgTUM3NHh4ICovCi0Je1FNSV9GSVhFRF9JTlRGKDB4MTE5 OSwgMHg5MDcxLCAxMCl9LAkvKiBTaWVycmEgV2lyZWxlc3MgTUM3NHh4ICovCi0Je1FNSV9GSVhF RF9JTlRGKDB4MTE5OSwgMHg5MDc5LCA4KX0sCS8qIFNpZXJyYSBXaXJlbGVzcyBFTTc0eHggKi8K LQl7UU1JX0ZJWEVEX0lOVEYoMHgxMTk5LCAweDkwNzksIDEwKX0sCS8qIFNpZXJyYSBXaXJlbGVz cyBFTTc0eHggKi8KLQl7UU1JX0ZJWEVEX0lOVEYoMHgxMTk5LCAweDkwN2IsIDgpfSwJLyogU2ll cnJhIFdpcmVsZXNzIEVNNzR4eCAqLwotCXtRTUlfRklYRURfSU5URigweDExOTksIDB4OTA3Yiwg MTApfSwJLyogU2llcnJhIFdpcmVsZXNzIEVNNzR4eCAqLwotCXtRTUlfRklYRURfSU5URigweDEx OTksIDB4OTA5MSwgOCl9LAkvKiBTaWVycmEgV2lyZWxlc3MgRU03NTY1ICovCisJe1FNSV9RVUlS S19TRVRfRFRSKDB4MTE5OSwgMHg5MDcxLCA4KX0sCS8qIFNpZXJyYSBXaXJlbGVzcyBNQzc0eHgg Ki8KKwl7UU1JX1FVSVJLX1NFVF9EVFIoMHgxMTk5LCAweDkwNzEsIDEwKX0sLyogU2llcnJhIFdp cmVsZXNzIE1DNzR4eCAqLworCXtRTUlfUVVJUktfU0VUX0RUUigweDExOTksIDB4OTA3OSwgOCl9 LAkvKiBTaWVycmEgV2lyZWxlc3MgRU03NHh4ICovCisJe1FNSV9RVUlSS19TRVRfRFRSKDB4MTE5 OSwgMHg5MDc5LCAxMCl9LC8qIFNpZXJyYSBXaXJlbGVzcyBFTTc0eHggKi8KKwl7UU1JX1FVSVJL X1NFVF9EVFIoMHgxMTk5LCAweDkwN2IsIDgpfSwJLyogU2llcnJhIFdpcmVsZXNzIEVNNzR4eCAq LworCXtRTUlfUVVJUktfU0VUX0RUUigweDExOTksIDB4OTA3YiwgMTApfSwvKiBTaWVycmEgV2ly ZWxlc3MgRU03NHh4ICovCisJe1FNSV9RVUlSS19TRVRfRFRSKDB4MTE5OSwgMHg5MDkxLCA4KX0s CS8qIFNpZXJyYSBXaXJlbGVzcyBFTTc1NjUgKi8KIAl7UU1JX0ZJWEVEX0lOVEYoMHgxYmJiLCAw eDAxMWUsIDQpfSwJLyogVGVsZWtvbSBTcGVlZHN0aWNrIExURSBJSSAoQWxjYXRlbCBPbmUgVG91 Y2ggTDEwMFYgTFRFKSAqLwogCXtRTUlfRklYRURfSU5URigweDFiYmIsIDB4MDIwMywgMil9LAkv KiBBbGNhdGVsIEw4MDBNQSAqLwogCXtRTUlfRklYRURfSU5URigweDIzNTcsIDB4MDIwMSwgNCl9 LAkvKiBUUC1MSU5LIEhTVVBBIE1vZGVtIE1BMTgwICovCi0tIAoyLjEzLjYKCgpGcm9tIDgxMDFm ZjA4ZDU2MmMxNzUwZWMyZTlmYjU4NTI5ZjFkYzcyNmRiYWYgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IFBhb2xvIEFiZW5pIDxwYWJlbmlAcmVkaGF0LmNvbT4KRGF0ZTogVGh1LCAxMyBT ZXAgMjAxOCAxNjoyNzoyMCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMTNdIHVkcDQ6IGZpeCBJ UF9DTVNHX0NIRUNLU1VNIGZvciBjb25uZWN0ZWQgc29ja2V0cwoKWyBVcHN0cmVhbSBjb21taXQg MmI1YTkyMTc0MGE1NWMwMDIyM2E3OTdkMDc1YjljNzdjNDJjYjE3MSBdCgpjb21taXQgMmFiYjdj ZGMwZGM4ICgidWRwOiBBZGQgc3VwcG9ydCBmb3IgZG9pbmcgY2hlY2tzdW0KdW5uZWNlc3Nhcnkg Y29udmVyc2lvbiIpIGxlZnQgb3V0IHRoZSBlYXJseSBkZW11eCBwYXRoIGZvcgpjb25uZWN0ZWQg c29ja2V0cy4gQXMgYSByZXN1bHQgSVBfQ01TR19DSEVDS1NVTSBnaXZlcyB3cm9uZwp2YWx1ZXMg Zm9yIHN1Y2ggc29ja2V0IHdoZW4gR1JPIGlzIG5vdCBlbmFibGVkL2F2YWlsYWJsZS4KClRoaXMg Y2hhbmdlIGFkZHJlc3NlcyB0aGUgaXNzdWUgYnkgbW92aW5nIHRoZSBjc3VtIGNvbnZlcnNpb24g dG8gYQpjb21tb24gaGVscGVyIGFuZCB1c2luZyBzdWNoIGhlbHBlciBpbiBib3RoIHRoZSBkZWZh dWx0IGFuZCB0aGUKZWFybHkgZGVtdXggcnggcGF0aC4KCkZpeGVzOiAyYWJiN2NkYzBkYzggKCJ1 ZHA6IEFkZCBzdXBwb3J0IGZvciBkb2luZyBjaGVja3N1bSB1bm5lY2Vzc2FyeSBjb252ZXJzaW9u IikKU2lnbmVkLW9mZi1ieTogUGFvbG8gQWJlbmkgPHBhYmVuaUByZWRoYXQuY29tPgpTaWduZWQt b2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lw djQvdWRwLmMgfCA0OSArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvdWRwLmMgYi9uZXQvaXB2NC91ZHAuYwppbmRleCA1NzUy YmY3NTkzZGMuLjNkZTQxMzg2Nzk5MSAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdWRwLmMKKysrIGIv bmV0L2lwdjQvdWRwLmMKQEAgLTIwNDksNiArMjA0OSwyOCBAQCBzdGF0aWMgaW5saW5lIGludCB1 ZHA0X2NzdW1faW5pdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgdWRwaGRyICp1aCwKIAkJ CQkJCQkgaW5ldF9jb21wdXRlX3BzZXVkbyk7CiB9CiAKKy8qIHdyYXBwZXIgZm9yIHVkcF9xdWV1 ZV9yY3Zfc2tiIHRhY2tpbmcgY2FyZSBvZiBjc3VtIGNvbnZlcnNpb24gYW5kCisgKiByZXR1cm4g Y29kZSBjb252ZXJzaW9uIGZvciBpcCBsYXllciBjb25zdW1wdGlvbgorICovCitzdGF0aWMgaW50 IHVkcF91bmljYXN0X3Jjdl9za2Ioc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2ti LAorCQkJICAgICAgIHN0cnVjdCB1ZHBoZHIgKnVoKQoreworCWludCByZXQ7CisKKwlpZiAoaW5l dF9nZXRfY29udmVydF9jc3VtKHNrKSAmJiB1aC0+Y2hlY2sgJiYgIUlTX1VEUExJVEUoc2spKQor CQlza2JfY2hlY2tzdW1fdHJ5X2NvbnZlcnQoc2tiLCBJUFBST1RPX1VEUCwgdWgtPmNoZWNrLAor CQkJCQkgaW5ldF9jb21wdXRlX3BzZXVkbyk7CisKKwlyZXQgPSB1ZHBfcXVldWVfcmN2X3NrYihz aywgc2tiKTsKKworCS8qIGEgcmV0dXJuIHZhbHVlID4gMCBtZWFucyB0byByZXN1Ym1pdCB0aGUg aW5wdXQsIGJ1dAorCSAqIGl0IHdhbnRzIHRoZSByZXR1cm4gdG8gYmUgLXByb3RvY29sLCBvciAw CisJICovCisJaWYgKHJldCA+IDApCisJCXJldHVybiAtcmV0OworCXJldHVybiAwOworfQorCiAv KgogICoJQWxsIHdlIG5lZWQgdG8gZG8gaXMgZ2V0IHRoZSBzb2NrZXQsIGFuZCB0aGVuIGRvIGEg Y2hlY2tzdW0uCiAgKi8KQEAgLTIwOTUsMTQgKzIxMTcsOSBAQCBpbnQgX191ZHA0X2xpYl9yY3Yo c3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IHVkcF90YWJsZSAqdWRwdGFibGUsCiAJCWlmICh1 bmxpa2VseShzay0+c2tfcnhfZHN0ICE9IGRzdCkpCiAJCQl1ZHBfc2tfcnhfZHN0X3NldChzaywg ZHN0KTsKIAotCQlyZXQgPSB1ZHBfcXVldWVfcmN2X3NrYihzaywgc2tiKTsKKwkJcmV0ID0gdWRw X3VuaWNhc3RfcmN2X3NrYihzaywgc2tiLCB1aCk7CiAJCXNvY2tfcHV0KHNrKTsKLQkJLyogYSBy ZXR1cm4gdmFsdWUgPiAwIG1lYW5zIHRvIHJlc3VibWl0IHRoZSBpbnB1dCwgYnV0Ci0JCSAqIGl0 IHdhbnRzIHRoZSByZXR1cm4gdG8gYmUgLXByb3RvY29sLCBvciAwCi0JCSAqLwotCQlpZiAocmV0 ID4gMCkKLQkJCXJldHVybiAtcmV0OwotCQlyZXR1cm4gMDsKKwkJcmV0dXJuIHJldDsKIAl9CiAK IAlpZiAocnQtPnJ0X2ZsYWdzICYgKFJUQ0ZfQlJPQURDQVNUfFJUQ0ZfTVVMVElDQVNUKSkKQEAg LTIxMTAsMjIgKzIxMjcsOCBAQCBpbnQgX191ZHA0X2xpYl9yY3Yoc3RydWN0IHNrX2J1ZmYgKnNr Yiwgc3RydWN0IHVkcF90YWJsZSAqdWRwdGFibGUsCiAJCQkJCQlzYWRkciwgZGFkZHIsIHVkcHRh YmxlLCBwcm90byk7CiAKIAlzayA9IF9fdWRwNF9saWJfbG9va3VwX3NrYihza2IsIHVoLT5zb3Vy Y2UsIHVoLT5kZXN0LCB1ZHB0YWJsZSk7Ci0JaWYgKHNrKSB7Ci0JCWludCByZXQ7Ci0KLQkJaWYg KGluZXRfZ2V0X2NvbnZlcnRfY3N1bShzaykgJiYgdWgtPmNoZWNrICYmICFJU19VRFBMSVRFKHNr KSkKLQkJCXNrYl9jaGVja3N1bV90cnlfY29udmVydChza2IsIElQUFJPVE9fVURQLCB1aC0+Y2hl Y2ssCi0JCQkJCQkgaW5ldF9jb21wdXRlX3BzZXVkbyk7Ci0KLQkJcmV0ID0gdWRwX3F1ZXVlX3Jj dl9za2Ioc2ssIHNrYik7Ci0KLQkJLyogYSByZXR1cm4gdmFsdWUgPiAwIG1lYW5zIHRvIHJlc3Vi bWl0IHRoZSBpbnB1dCwgYnV0Ci0JCSAqIGl0IHdhbnRzIHRoZSByZXR1cm4gdG8gYmUgLXByb3Rv Y29sLCBvciAwCi0JCSAqLwotCQlpZiAocmV0ID4gMCkKLQkJCXJldHVybiAtcmV0OwotCQlyZXR1 cm4gMDsKLQl9CisJaWYgKHNrKQorCQlyZXR1cm4gdWRwX3VuaWNhc3RfcmN2X3NrYihzaywgc2ti LCB1aCk7CiAKIAlpZiAoIXhmcm00X3BvbGljeV9jaGVjayhOVUxMLCBYRlJNX1BPTElDWV9JTiwg c2tiKSkKIAkJZ290byBkcm9wOwotLSAKMi4xMy42CgoKRnJvbSAyZTkxMTM3YzEwYjJlYmI0YjU5 NzdhYzg4YzRiMjY1N2E4MzM1NmJjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBWYXNp bHkgS2hvcnV6aGljayA8dmFzaWx5a2hAYXJpc3RhLmNvbT4KRGF0ZTogVGh1LCAxMyBTZXAgMjAx OCAxMToxMjowMyAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMTNdIG5laWdoYm91cjogY29uZmly bSBuZWlnaCBlbnRyaWVzIHdoZW4gQVJQIHBhY2tldCBpcwogcmVjZWl2ZWQKClsgVXBzdHJlYW0g Y29tbWl0IGYwZTBkMDQ0MTNmY2NlOWJjNzYzODg4MzkwOTlhZWU5M2NkMGQzM2IgXQoKVXBkYXRl ICdjb25maXJtZWQnIHRpbWVzdGFtcCB3aGVuIEFSUCBwYWNrZXQgaXMgcmVjZWl2ZWQuIEl0IHNo b3VsZG4ndAphZmZlY3QgbG9ja3RpbWUgbG9naWMgYW5kIGFueXdheSBlbnRyeSBjYW4gYmUgY29u ZmlybWVkIGJ5IGFueSBoaWdoZXItbGF5ZXIKcHJvdG9jb2wuIFRodXMgaXQgbWFrZXMgc2Vuc2Ug dG8gY29uZmlybSBpdCB3aGVuIEFSUCBwYWNrZXQgaXMgcmVjZWl2ZWQuCgpGaXhlczogNzdkNzEy MzM0MmRjICgibmVpZ2hib3VyOiB1cGRhdGUgbmVpZ2ggdGltZXN0YW1wcyBpZmYgdXBkYXRlIGlz IGVmZmVjdGl2ZSIpClNpZ25lZC1vZmYtYnk6IFZhc2lseSBLaG9ydXpoaWNrIDx2YXNpbHlraEBh cmlzdGEuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+Ci0tLQogbmV0L2NvcmUvbmVpZ2hib3VyLmMgfCAxMyArKysrKysrKy0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L25ldC9jb3JlL25laWdoYm91ci5jIGIvbmV0L2NvcmUvbmVpZ2hib3VyLmMKaW5kZXggNTE0ZDY5 N2Q0NjkxLi5kY2I4OWNiYzI3MzAgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL25laWdoYm91ci5jCisr KyBiL25ldC9jb3JlL25laWdoYm91ci5jCkBAIC0xMTc0LDYgKzExNzQsMTIgQEAgaW50IG5laWdo X3VwZGF0ZShzdHJ1Y3QgbmVpZ2hib3VyICpuZWlnaCwgY29uc3QgdTggKmxsYWRkciwgdTggbmV3 LAogCQlsbGFkZHIgPSBuZWlnaC0+aGE7CiAJfQogCisJLyogVXBkYXRlIGNvbmZpcm1lZCB0aW1l c3RhbXAgZm9yIG5laWdoYm91ciBlbnRyeSBhZnRlciB3ZQorCSAqIHJlY2VpdmVkIEFSUCBwYWNr ZXQgZXZlbiBpZiBpdCBkb2Vzbid0IGNoYW5nZSBJUCB0byBNQUMgYmluZGluZy4KKwkgKi8KKwlp ZiAobmV3ICYgTlVEX0NPTk5FQ1RFRCkKKwkJbmVpZ2gtPmNvbmZpcm1lZCA9IGppZmZpZXM7CisK IAkvKiBJZiBlbnRyeSB3YXMgdmFsaWQgYW5kIGFkZHJlc3MgaXMgbm90IGNoYW5nZWQsCiAJICAg ZG8gbm90IGNoYW5nZSBlbnRyeSBzdGF0ZSwgaWYgbmV3IG9uZSBpcyBTVEFMRS4KIAkgKi8KQEAg LTExOTUsMTUgKzEyMDEsMTIgQEAgaW50IG5laWdoX3VwZGF0ZShzdHJ1Y3QgbmVpZ2hib3VyICpu ZWlnaCwgY29uc3QgdTggKmxsYWRkciwgdTggbmV3LAogCQl9CiAJfQogCi0JLyogVXBkYXRlIHRp bWVzdGFtcHMgb25seSBvbmNlIHdlIGtub3cgd2Ugd2lsbCBtYWtlIGEgY2hhbmdlIHRvIHRoZQor CS8qIFVwZGF0ZSB0aW1lc3RhbXAgb25seSBvbmNlIHdlIGtub3cgd2Ugd2lsbCBtYWtlIGEgY2hh bmdlIHRvIHRoZQogCSAqIG5laWdoYm91ciBlbnRyeS4gT3RoZXJ3aXNlIHdlIHJpc2sgdG8gbW92 ZSB0aGUgbG9ja3RpbWUgd2luZG93IHdpdGgKIAkgKiBub29wIHVwZGF0ZXMgYW5kIGlnbm9yZSBy ZWxldmFudCBBUlAgdXBkYXRlcy4KIAkgKi8KLQlpZiAobmV3ICE9IG9sZCB8fCBsbGFkZHIgIT0g bmVpZ2gtPmhhKSB7Ci0JCWlmIChuZXcgJiBOVURfQ09OTkVDVEVEKQotCQkJbmVpZ2gtPmNvbmZp cm1lZCA9IGppZmZpZXM7CisJaWYgKG5ldyAhPSBvbGQgfHwgbGxhZGRyICE9IG5laWdoLT5oYSkK IAkJbmVpZ2gtPnVwZGF0ZWQgPSBqaWZmaWVzOwotCX0KIAogCWlmIChuZXcgIT0gb2xkKSB7CiAJ CW5laWdoX2RlbF90aW1lcihuZWlnaCk7Ci0tIAoyLjEzLjYKCgpGcm9tIDYzMTFiOThhMTJlODc1 OGJiZmNlYmVjYmI1OTkwMDUzYjE4ZDIyNmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IFBhb2xvIEFiZW5pIDxwYWJlbmlAcmVkaGF0LmNvbT4KRGF0ZTogVGh1LCAxMyBTZXAgMjAxOCAx NjoyNzoyMSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDkvMTNdIHVkcDY6IGFkZCBtaXNzaW5nIGNo ZWNrcyBvbiBlZHVtdXggcGFja2V0IHByb2Nlc3NpbmcKClsgVXBzdHJlYW0gY29tbWl0IGViNjNm Mjk2NGRiZTM2ZjI2ZGVhYzc3ZDMwMTY3OTE2NzU4MjFkZWQgXQoKQ3VycmVudGx5IHRoZSBVRFB2 NiBlYXJseSBkZW11eCByeCBjb2RlIHBhdGggbGFja3Mgc29tZSBtYW5kYXRvcnkKY2hlY2tzLCBh bHJlYWR5IGltcGxlbWVudGVkIGludG8gdGhlIG5vcm1hbCBSWCBjb2RlIHBhdGggLSBuYW1lbHkK dGhlIGNoZWNrc3VtIGNvbnZlcnNpb24gYW5kIG5vX2NoZWNrNl9yeCBjaGVjay4KClNpbWlsYXIg dG8gdGhlIHByZXZpb3VzIGNvbW1pdCwgd2UgbW92ZSB0aGUgY29tbW9uIHByb2Nlc3NpbmcgdG8K YW4gVURQdjYgc3BlY2lmaWMgaGVscGVyIGFuZCBjYWxsIGl0IGZyb20gYm90aCBlZGVtdXggY29k ZSBwYXRoCmFuZCBub3JtYWwgY29kZSBwYXRoLiBJbiByZXNwZWN0IHRvIHRoZSBVRFB2NCwgd2Ug bmVlZCB0byBhZGQgYW4KZXhwbGljaXQgY2hlY2sgZm9yIG5vbiB6ZXJvIGNzdW0gYWNjb3JkaW5n IHRvIG5vX2NoZWNrNl9yeCB2YWx1ZS4KClJlcG9ydGVkLWJ5OiBKaWFubGluIFNoaSA8amlzaGlA cmVkaGF0LmNvbT4KU3VnZ2VzdGVkLWJ5OiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+ CkZpeGVzOiBjOWYyYzFhZTEyM2EgKCJ1ZHA2OiBmaXggc29ja2V0IGxlYWsgb24gZWFybHkgZGVt dXgiKQpGaXhlczogMmFiYjdjZGMwZGM4ICgidWRwOiBBZGQgc3VwcG9ydCBmb3IgZG9pbmcgY2hl Y2tzdW0gdW5uZWNlc3NhcnkgY29udmVyc2lvbiIpClNpZ25lZC1vZmYtYnk6IFBhb2xvIEFiZW5p IDxwYWJlbmlAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZl bUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY2L3VkcC5jIHwgNjUgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5n ZWQsIDM3IGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9p cHY2L3VkcC5jIGIvbmV0L2lwdjYvdWRwLmMKaW5kZXggMzMwZDVlYTg0NTFiLi41Y2VlOTQxYWIw YTkgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L3VkcC5jCisrKyBiL25ldC9pcHY2L3VkcC5jCkBAIC03 ODAsNiArNzgwLDI4IEBAIHN0YXRpYyB2b2lkIHVkcDZfc2tfcnhfZHN0X3NldChzdHJ1Y3Qgc29j ayAqc2ssIHN0cnVjdCBkc3RfZW50cnkgKmRzdCkKIAl9CiB9CiAKKy8qIHdyYXBwZXIgZm9yIHVk cF9xdWV1ZV9yY3Zfc2tiIHRhY2tpbmcgY2FyZSBvZiBjc3VtIGNvbnZlcnNpb24gYW5kCisgKiBy ZXR1cm4gY29kZSBjb252ZXJzaW9uIGZvciBpcCBsYXllciBjb25zdW1wdGlvbgorICovCitzdGF0 aWMgaW50IHVkcDZfdW5pY2FzdF9yY3Zfc2tiKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1 ZmYgKnNrYiwKKwkJCQlzdHJ1Y3QgdWRwaGRyICp1aCkKK3sKKwlpbnQgcmV0OworCisJaWYgKGlu ZXRfZ2V0X2NvbnZlcnRfY3N1bShzaykgJiYgdWgtPmNoZWNrICYmICFJU19VRFBMSVRFKHNrKSkK KwkJc2tiX2NoZWNrc3VtX3RyeV9jb252ZXJ0KHNrYiwgSVBQUk9UT19VRFAsIHVoLT5jaGVjaywK KwkJCQkJIGlwNl9jb21wdXRlX3BzZXVkbyk7CisKKwlyZXQgPSB1ZHB2Nl9xdWV1ZV9yY3Zfc2ti KHNrLCBza2IpOworCisJLyogYSByZXR1cm4gdmFsdWUgPiAwIG1lYW5zIHRvIHJlc3VibWl0IHRo ZSBpbnB1dCwgYnV0CisJICogaXQgd2FudHMgdGhlIHJldHVybiB0byBiZSAtcHJvdG9jb2wsIG9y IDAKKwkgKi8KKwlpZiAocmV0ID4gMCkKKwkJcmV0dXJuIC1yZXQ7CisJcmV0dXJuIDA7Cit9CisK IGludCBfX3VkcDZfbGliX3JjdihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgdWRwX3RhYmxl ICp1ZHB0YWJsZSwKIAkJICAgaW50IHByb3RvKQogewpAQCAtODMxLDEzICs4NTMsMTQgQEAgaW50 IF9fdWRwNl9saWJfcmN2KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB1ZHBfdGFibGUgKnVk cHRhYmxlLAogCQlpZiAodW5saWtlbHkoc2stPnNrX3J4X2RzdCAhPSBkc3QpKQogCQkJdWRwNl9z a19yeF9kc3Rfc2V0KHNrLCBkc3QpOwogCi0JCXJldCA9IHVkcHY2X3F1ZXVlX3Jjdl9za2Ioc2ss IHNrYik7Ci0JCXNvY2tfcHV0KHNrKTsKKwkJaWYgKCF1aC0+Y2hlY2sgJiYgIXVkcF9zayhzaykt Pm5vX2NoZWNrNl9yeCkgeworCQkJc29ja19wdXQoc2spOworCQkJZ290byByZXBvcnRfY3N1bV9l cnJvcjsKKwkJfQogCi0JCS8qIGEgcmV0dXJuIHZhbHVlID4gMCBtZWFucyB0byByZXN1Ym1pdCB0 aGUgaW5wdXQgKi8KLQkJaWYgKHJldCA+IDApCi0JCQlyZXR1cm4gcmV0OwotCQlyZXR1cm4gMDsK KwkJcmV0ID0gdWRwNl91bmljYXN0X3Jjdl9za2Ioc2ssIHNrYiwgdWgpOworCQlzb2NrX3B1dChz ayk7CisJCXJldHVybiByZXQ7CiAJfQogCiAJLyoKQEAgLTg1MCwzMCArODczLDEzIEBAIGludCBf X3VkcDZfbGliX3JjdihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgdWRwX3RhYmxlICp1ZHB0 YWJsZSwKIAkvKiBVbmljYXN0ICovCiAJc2sgPSBfX3VkcDZfbGliX2xvb2t1cF9za2Ioc2tiLCB1 aC0+c291cmNlLCB1aC0+ZGVzdCwgdWRwdGFibGUpOwogCWlmIChzaykgewotCQlpbnQgcmV0Owot Ci0JCWlmICghdWgtPmNoZWNrICYmICF1ZHBfc2soc2spLT5ub19jaGVjazZfcngpIHsKLQkJCXVk cDZfY3N1bV96ZXJvX2Vycm9yKHNrYik7Ci0JCQlnb3RvIGNzdW1fZXJyb3I7Ci0JCX0KLQotCQlp ZiAoaW5ldF9nZXRfY29udmVydF9jc3VtKHNrKSAmJiB1aC0+Y2hlY2sgJiYgIUlTX1VEUExJVEUo c2spKQotCQkJc2tiX2NoZWNrc3VtX3RyeV9jb252ZXJ0KHNrYiwgSVBQUk9UT19VRFAsIHVoLT5j aGVjaywKLQkJCQkJCSBpcDZfY29tcHV0ZV9wc2V1ZG8pOwotCi0JCXJldCA9IHVkcHY2X3F1ZXVl X3Jjdl9za2Ioc2ssIHNrYik7Ci0KLQkJLyogYSByZXR1cm4gdmFsdWUgPiAwIG1lYW5zIHRvIHJl c3VibWl0IHRoZSBpbnB1dCAqLwotCQlpZiAocmV0ID4gMCkKLQkJCXJldHVybiByZXQ7Ci0KLQkJ cmV0dXJuIDA7CisJCWlmICghdWgtPmNoZWNrICYmICF1ZHBfc2soc2spLT5ub19jaGVjazZfcngp CisJCQlnb3RvIHJlcG9ydF9jc3VtX2Vycm9yOworCQlyZXR1cm4gdWRwNl91bmljYXN0X3Jjdl9z a2Ioc2ssIHNrYiwgdWgpOwogCX0KIAotCWlmICghdWgtPmNoZWNrKSB7Ci0JCXVkcDZfY3N1bV96 ZXJvX2Vycm9yKHNrYik7Ci0JCWdvdG8gY3N1bV9lcnJvcjsKLQl9CisJaWYgKCF1aC0+Y2hlY2sp CisJCWdvdG8gcmVwb3J0X2NzdW1fZXJyb3I7CiAKIAlpZiAoIXhmcm02X3BvbGljeV9jaGVjayhO VUxMLCBYRlJNX1BPTElDWV9JTiwgc2tiKSkKIAkJZ290byBkaXNjYXJkOwpAQCAtODk0LDYgKzkw MCw5IEBAIGludCBfX3VkcDZfbGliX3JjdihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgdWRw X3RhYmxlICp1ZHB0YWJsZSwKIAkJCSAgICB1bGVuLCBza2ItPmxlbiwKIAkJCSAgICBkYWRkciwg bnRvaHModWgtPmRlc3QpKTsKIAlnb3RvIGRpc2NhcmQ7CisKK3JlcG9ydF9jc3VtX2Vycm9yOgor CXVkcDZfY3N1bV96ZXJvX2Vycm9yKHNrYik7CiBjc3VtX2Vycm9yOgogCV9fVURQNl9JTkNfU1RB VFMobmV0LCBVRFBfTUlCX0NTVU1FUlJPUlMsIHByb3RvID09IElQUFJPVE9fVURQTElURSk7CiBk aXNjYXJkOgotLSAKMi4xMy42CgoKRnJvbSBlZGMxYTU3NTM5ZWZjMGE0YTkzYmU3N2M1NTQ4Y2Vj ZmE5MGIxZDQ0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZGUgQ2FyYXR0aSA8 ZGNhcmF0dGlAcmVkaGF0LmNvbT4KRGF0ZTogRnJpLCAxNCBTZXAgMjAxOCAxMjowMzoxOCArMDIw MApTdWJqZWN0OiBbUEFUQ0ggMTAvMTNdIG5ldC9zY2hlZDogYWN0X3NhbXBsZTogZml4IE5VTEwg ZGVyZWZlcmVuY2UgaW4gdGhlIGRhdGEKIHBhdGgKClsgVXBzdHJlYW0gY29tbWl0IDM0MDQzZDI1 MGY1MTM2OGYyMTRhZWQ3ZjU0YzJkYzI5YzgxOWE4YzcgXQoKTWF0dGVvIHJlcG9ydGVkIHRoZSBm b2xsb3dpbmcgc3BsYXQsIHRlc3RpbmcgdGhlIGRhdGFwYXRoIG9mIFRDICdzYW1wbGUnOgoKIEJV RzogS0FTQU46IG51bGwtcHRyLWRlcmVmIGluIHRjZl9zYW1wbGVfYWN0KzB4YzQvMHgzMTAKIFJl YWQgb2Ygc2l6ZSA4IGF0IGFkZHIgMDAwMDAwMDAwMDAwMDAwMCBieSB0YXNrIG5jLzQzMwoKIENQ VTogMCBQSUQ6IDQzMyBDb21tOiBuYyBOb3QgdGFpbnRlZCA0LjE5LjAtcmMzLWt2bSAjMTcKIEhh cmR3YXJlIG5hbWU6IFFFTVUgU3RhbmRhcmQgUEMgKFEzNSArIElDSDksIDIwMDkpLCBCSU9TID8t MjAxODA1MzFfMTQyMDE3LWJ1aWxkaHctMDgucGh4Mi5mZWRvcmFwcm9qZWN0Lm9yZy0xLmZjMjgg MDQvMDEvMjAxNAogQ2FsbCBUcmFjZToKICBrYXNhbl9yZXBvcnQuY29sZC42KzB4NmMvMHgyZmEK ICB0Y2Zfc2FtcGxlX2FjdCsweGM0LzB4MzEwCiAgPyBkZXZfaGFyZF9zdGFydF94bWl0KzB4MTE3 LzB4MTgwCiAgdGNmX2FjdGlvbl9leGVjKzB4YTMvMHgxNjAKICB0Y2ZfY2xhc3NpZnkrMHhkZC8w eDFkMAogIGh0Yl9lbnF1ZXVlKzB4MThlLzB4NmIwCiAgPyBkZXJlZl9zdGFja19yZWcrMHg3YS8w eGIwCiAgPyBodGJfZGVsZXRlKzB4NGIwLzB4NGIwCiAgPyB1bndpbmRfbmV4dF9mcmFtZSsweDgx OS8weDhmMAogID8gZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDQvMHhhOQogIF9f ZGV2X3F1ZXVlX3htaXQrMHg3MjIvMHhjYTAKICA/IHVud2luZF9nZXRfcmV0dXJuX2FkZHJlc3Nf cHRyKzB4NTAvMHg1MAogID8gbmV0ZGV2X3BpY2tfdHgrMHhlMC8weGUwCiAgPyBzYXZlX3N0YWNr KzB4OGMvMHhiMAogID8ga2FzYW5fa21hbGxvYysweGJlLzB4ZDAKICA/IF9fa21hbGxvY190cmFj a19jYWxsZXIrMHhlNC8weDFjMAogID8gX19rbWFsbG9jX3Jlc2VydmUuaXNyYS40NSsweDI0LzB4 NzAKICA/IF9fYWxsb2Nfc2tiKzB4ZGQvMHgyZTAKICA/IHNrX3N0cmVhbV9hbGxvY19za2IrMHg5 MS8weDNiMAogID8gdGNwX3NlbmRtc2dfbG9ja2VkKzB4NzFiLzB4MTVhMAogID8gdGNwX3NlbmRt c2crMHgyMi8weDQwCiAgPyBfX3N5c19zZW5kdG8rMHgxYjAvMHgyNTAKICA/IF9feDY0X3N5c19z ZW5kdG8rMHg2Zi8weDgwCiAgPyBkb19zeXNjYWxsXzY0KzB4NWQvMHgxNTAKICA/IGVudHJ5X1NZ U0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ0LzB4YTkKICA/IF9fc3lzX3NlbmR0bysweDFiMC8w eDI1MAogID8gX194NjRfc3lzX3NlbmR0bysweDZmLzB4ODAKICA/IGRvX3N5c2NhbGxfNjQrMHg1 ZC8weDE1MAogID8gZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDQvMHhhOQogIGlw X2ZpbmlzaF9vdXRwdXQyKzB4NDk1LzB4NTkwCiAgPyBpcF9jb3B5X21ldGFkYXRhKzB4MmUwLzB4 MmUwCiAgPyBza2JfZ3NvX3ZhbGlkYXRlX25ldHdvcmtfbGVuKzB4NmYvMHgxMTAKICA/IGlwX2Zp bmlzaF9vdXRwdXQrMHgxNzQvMHgyODAKICBfX3RjcF90cmFuc21pdF9za2IrMHhiMTcvMHgxMmIw CiAgPyBfX3RjcF9zZWxlY3Rfd2luZG93KzB4MzgwLzB4MzgwCiAgdGNwX3dyaXRlX3htaXQrMHg5 MTMvMHgxZGUwCiAgPyBfX3NrX21lbV9zY2hlZHVsZSsweDUwLzB4ODAKICB0Y3Bfc2VuZG1zZ19s b2NrZWQrMHg0OWQvMHgxNWEwCiAgPyB0Y3BfcmN2X2VzdGFibGlzaGVkKzB4OGRhLzB4YTMwCiAg PyB0Y3Bfc2V0X3N0YXRlKzB4MjIwLzB4MjIwCiAgPyBjbGVhcl91c2VyKzB4MWYvMHg1MAogID8g aW92X2l0ZXJfemVybysweDFhZS8weDU5MAogID8gX19mZ2V0X2xpZ2h0KzB4YTAvMHhlMAogIHRj cF9zZW5kbXNnKzB4MjIvMHg0MAogIF9fc3lzX3NlbmR0bysweDFiMC8weDI1MAogID8gX19pYTMy X3N5c19nZXRwZWVybmFtZSsweDQwLzB4NDAKICA/IF9jb3B5X3RvX3VzZXIrMHg1OC8weDcwCiAg PyBwb2xsX3NlbGVjdF9jb3B5X3JlbWFpbmluZysweDE3Ni8weDIwMAogID8gX19wb2xsd2FpdCsw eDFjMC8weDFjMAogID8ga3RpbWVfZ2V0X3RzNjQrMHgxMWYvMHgxNDAKICA/IGtlcm5fc2VsZWN0 KzB4MTA4LzB4MTUwCiAgPyBjb3JlX3N5c19zZWxlY3QrMHgzNjAvMHgzNjAKICA/IHZmc19yZWFk KzB4MTI3LzB4MTUwCiAgPyBrZXJuZWxfd3JpdGUrMHg5MC8weDkwCiAgX194NjRfc3lzX3NlbmR0 bysweDZmLzB4ODAKICBkb19zeXNjYWxsXzY0KzB4NWQvMHgxNTAKICBlbnRyeV9TWVNDQUxMXzY0 X2FmdGVyX2h3ZnJhbWUrMHg0NC8weGE5CiBSSVA6IDAwMzM6MHg3ZmVmZWYyYjEyOWQKIENvZGU6 IGZmIGZmIGZmIGZmIGViIGI2IDBmIDFmIDgwIDAwIDAwIDAwIDAwIDQ4IDhkIDA1IDUxIDM3IDBj IDAwIDQxIDg5IGNhIDhiIDAwIDg1IGMwIDc1IDIwIDQ1IDMxIGM5IDQ1IDMxIGMwIGI4IDJjIDAw IDAwIDAwIDBmIDA1IDw0OD4gM2QgMDAgZjAgZmYgZmYgNzcgNmIgZjMgYzMgNjYgMGYgMWYgODQg MDAgMDAgMDAgMDAgMDAgNDEgNTYgNDEKIFJTUDogMDAyYjowMDAwN2ZmZjJmNTM1MGM4IEVGTEFH UzogMDAwMDAyNDYgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAwMmMKIFJBWDogZmZmZmZmZmZmZmZm ZmZkYSBSQlg6IDAwMDA1NjExOGQ2MGMxMjAgUkNYOiAwMDAwN2ZlZmVmMmIxMjlkCiBSRFg6IDAw MDAwMDAwMDAwMDIwMDAgUlNJOiAwMDAwNTYxMThkNjI5MzIwIFJESTogMDAwMDAwMDAwMDAwMDAw MwogUkJQOiAwMDAwNTYxMThkNTMwMzcwIFIwODogMDAwMDAwMDAwMDAwMDAwMCBSMDk6IDAwMDAw MDAwMDAwMDAwMDAKIFIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6IDAwMDAwMDAwMDAwMDAyNDYg UjEyOiAwMDAwMDAwMDAwMDAyMDAwCiBSMTM6IDAwMDA1NjExOGQ1YzJhMTAgUjE0OiAwMDAwNTYx MThkNWMyYTEwIFIxNTogMDAwMDU2MTE4ZDUzMDNiOAoKdGNmX3NhbXBsZV9hY3QoKSB0cmllZCB0 byB1cGRhdGUgaXRzIHBlci1jcHUgc3RhdHMsIGJ1dCB0Y2Zfc2FtcGxlX2luaXQoKQpmb3Jnb3Qg dG8gYWxsb2NhdGUgdGhlbSwgYmVjYXVzZSB0Y2ZfaWRyX2NyZWF0ZSgpIHdhcyBjYWxsZWQgd2l0 aCBhIHdyb25nCnZhbHVlIG9mICdjcHVzdGF0cycuIFNldHRpbmcgaXQgdG8gdHJ1ZSBwcm92ZWQg dG8gZml4IHRoZSByZXBvcnRlZCBjcmFzaC4KClJlcG9ydGVkLWJ5OiBNYXR0ZW8gQ3JvY2UgPG1j cm9jZUByZWRoYXQuY29tPgpGaXhlczogNjVhMjA2YzAxZThlICgibmV0L3NjaGVkOiBDaGFuZ2Ug YWN0X2FwaSBhbmQgYWN0X3h4eCBtb2R1bGVzIHRvIHVzZSBJRFIiKQpGaXhlczogNWM1NjcwZmFl NDMwICgibmV0L3NjaGVkOiBJbnRyb2R1Y2Ugc2FtcGxlIHRjIGFjdGlvbiIpClRlc3RlZC1ieTog TWF0dGVvIENyb2NlIDxtY3JvY2VAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWRlIENh cmF0dGkgPGRjYXJhdHRpQHJlZGhhdC5jb20+CkFja2VkLWJ5OiBKaXJpIFBpcmtvIDxqaXJpQG1l bGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIG5ldC9zY2hlZC9hY3Rfc2FtcGxlLmMgfCAyICstCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQv YWN0X3NhbXBsZS5jIGIvbmV0L3NjaGVkL2FjdF9zYW1wbGUuYwppbmRleCA1Mzc1MmI5MzI3ZDAu LmE4NTliNTVkNzg5OSAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL2FjdF9zYW1wbGUuYworKysgYi9u ZXQvc2NoZWQvYWN0X3NhbXBsZS5jCkBAIC02NCw3ICs2NCw3IEBAIHN0YXRpYyBpbnQgdGNmX3Nh bXBsZV9pbml0KHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IG5sYXR0ciAqbmxhLAogCiAJaWYgKCFl eGlzdHMpIHsKIAkJcmV0ID0gdGNmX2lkcl9jcmVhdGUodG4sIHBhcm0tPmluZGV4LCBlc3QsIGEs Ci0JCQkJICAgICAmYWN0X3NhbXBsZV9vcHMsIGJpbmQsIGZhbHNlKTsKKwkJCQkgICAgICZhY3Rf c2FtcGxlX29wcywgYmluZCwgdHJ1ZSk7CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OwogCQly ZXQgPSBBQ1RfUF9DUkVBVEVEOwotLSAKMi4xMy42CgoKRnJvbSA1MjIzMmQwYzA5YWI3NThlYTQ3 YTM4OTg1YjQ4MGI0ZTk5YmY4YTg5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTYWJy aW5hIER1YnJvY2EgPHNkQHF1ZWFzeXNuYWlsLm5ldD4KRGF0ZTogV2VkLCAxMiBTZXAgMjAxOCAx Nzo0NDo0MSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMTNdIHRsczogZG9uJ3QgY29weSB0aGUg a2V5IG91dCBvZgogdGxzMTJfY3J5cHRvX2luZm9fYWVzX2djbV8xMjgKClsgVXBzdHJlYW0gY29t bWl0IDdjYmEwOWM2ZDViYzczZWJiZDI1YTM1Mzc0MmQ5ZGRiN2E3MTNiOTUgXQoKVGhlcmUncyBu byBuZWVkIHRvIGNvcHkgdGhlIGtleSB0byBhbiBvbi1zdGFjayBidWZmZXIgYmVmb3JlIGNhbGxp bmcKY3J5cHRvX2FlYWRfc2V0a2V5KCkuCgpGaXhlczogM2M0ZDc1NTkxNTliICgidGxzOiBrZXJu ZWwgVExTIHN1cHBvcnQiKQpTaWduZWQtb2ZmLWJ5OiBTYWJyaW5hIER1YnJvY2EgPHNkQHF1ZWFz eXNuYWlsLm5ldD4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIG5ldC90bHMvdGxzX3N3LmMgfCA1ICstLS0tCiAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3Rscy90bHNf c3cuYyBiL25ldC90bHMvdGxzX3N3LmMKaW5kZXggZmI3OWNhZjU2ZDBlLi4zMTU3YTUyYjQ4Njcg MTAwNjQ0Ci0tLSBhL25ldC90bHMvdGxzX3N3LmMKKysrIGIvbmV0L3Rscy90bHNfc3cuYwpAQCAt NjU1LDcgKzY1NSw2IEBAIHN0YXRpYyB2b2lkIHRsc19zd19mcmVlX3Jlc291cmNlcyhzdHJ1Y3Qg c29jayAqc2spCiAKIGludCB0bHNfc2V0X3N3X29mZmxvYWQoc3RydWN0IHNvY2sgKnNrLCBzdHJ1 Y3QgdGxzX2NvbnRleHQgKmN0eCkKIHsKLQljaGFyIGtleXZhbFtUTFNfQ0lQSEVSX0FFU19HQ01f MTI4X0tFWV9TSVpFXTsKIAlzdHJ1Y3QgdGxzX2NyeXB0b19pbmZvICpjcnlwdG9faW5mbzsKIAlz dHJ1Y3QgdGxzMTJfY3J5cHRvX2luZm9fYWVzX2djbV8xMjggKmdjbV8xMjhfaW5mbzsKIAlzdHJ1 Y3QgdGxzX3N3X2NvbnRleHQgKnN3X2N0eDsKQEAgLTc0Nyw5ICs3NDYsNyBAQCBpbnQgdGxzX3Nl dF9zd19vZmZsb2FkKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHRsc19jb250ZXh0ICpjdHgpCiAK IAljdHgtPnB1c2hfcGVuZGluZ19yZWNvcmQgPSB0bHNfc3dfcHVzaF9wZW5kaW5nX3JlY29yZDsK IAotCW1lbWNweShrZXl2YWwsIGdjbV8xMjhfaW5mby0+a2V5LCBUTFNfQ0lQSEVSX0FFU19HQ01f MTI4X0tFWV9TSVpFKTsKLQotCXJjID0gY3J5cHRvX2FlYWRfc2V0a2V5KHN3X2N0eC0+YWVhZF9z ZW5kLCBrZXl2YWwsCisJcmMgPSBjcnlwdG9fYWVhZF9zZXRrZXkoc3dfY3R4LT5hZWFkX3NlbmQs IGdjbV8xMjhfaW5mby0+a2V5LAogCQkJCVRMU19DSVBIRVJfQUVTX0dDTV8xMjhfS0VZX1NJWkUp OwogCWlmIChyYykKIAkJZ290byBmcmVlX2FlYWQ7Ci0tIAoyLjEzLjYKCgpGcm9tIDQxMjMwNDMz MWRkZjBlODM2YTUyNzgxOTJmOGRiYjNhN2RhNjU2MjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IFNhYnJpbmEgRHVicm9jYSA8c2RAcXVlYXN5c25haWwubmV0PgpEYXRlOiBXZWQsIDEy IFNlcCAyMDE4IDE3OjQ0OjQyICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMi8xM10gdGxzOiB6ZXJv IHRoZSBjcnlwdG8gaW5mb3JtYXRpb24gZnJvbSB0bHNfY29udGV4dAogYmVmb3JlIGZyZWVpbmcK ClsgVXBzdHJlYW0gY29tbWl0IDg2MDI5ZDEwYWYxODM4MTgxNDg4MWQ2Y2NlMmRkNjg3MjE2M2I1 OWYgXQoKVGhpcyBjb250YWlucyBrZXkgbWF0ZXJpYWwgaW4gY3J5cHRvX3NlbmRfYWVzX2djbV8x MjggYW5kCmNyeXB0b19yZWN2X2Flc19nY21fMTI4LgoKSW50cm9kdWNlIHVuaW9uIHRsc19jcnlw dG9fY29udGV4dCwgYW5kIHJlcGxhY2UgdGhlIHR3byBpZGVudGljYWwKdW5pb25zIGRpcmVjdGx5 IGVtYmVkZGVkIGluIHN0cnVjdCB0bHNfY29udGV4dCB3aXRoIGl0LiBXZSBjYW4gdGhlbgp1c2Ug dGhpcyB1bmlvbiB0byBjbGVhbiB1cCB0aGUgbWVtb3J5IGluIHRoZSBuZXcgdGxzX2N0eF9mcmVl KCkKZnVuY3Rpb24uCgpGaXhlczogM2M0ZDc1NTkxNTliICgidGxzOiBrZXJuZWwgVExTIHN1cHBv cnQiKQpTaWduZWQtb2ZmLWJ5OiBTYWJyaW5hIER1YnJvY2EgPHNkQHF1ZWFzeXNuYWlsLm5ldD4K U2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0K IGluY2x1ZGUvbmV0L3Rscy5oICB8IDE0ICsrKysrKysrLS0tLS0tCiBuZXQvdGxzL3Rsc19tYWlu LmMgfCAxNSArKysrKysrKysrKystLS0KIG5ldC90bHMvdGxzX3N3LmMgICB8ICAyICstCiAzIGZp bGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2luY2x1ZGUvbmV0L3Rscy5oIGIvaW5jbHVkZS9uZXQvdGxzLmgKaW5kZXggNDg5NDBhODgz ZDlhLi44NmVkM2RkODBmZTcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbmV0L3Rscy5oCisrKyBiL2lu Y2x1ZGUvbmV0L3Rscy5oCkBAIC03OSwxMSArNzksMTMgQEAgZW51bSB7CiAJVExTX1BFTkRJTkdf Q0xPU0VEX1JFQ09SRAogfTsKIAordW5pb24gdGxzX2NyeXB0b19jb250ZXh0IHsKKwlzdHJ1Y3Qg dGxzX2NyeXB0b19pbmZvIGluZm87CisJc3RydWN0IHRsczEyX2NyeXB0b19pbmZvX2Flc19nY21f MTI4IGFlc19nY21fMTI4OworfTsKKwogc3RydWN0IHRsc19jb250ZXh0IHsKLQl1bmlvbiB7Ci0J CXN0cnVjdCB0bHNfY3J5cHRvX2luZm8gY3J5cHRvX3NlbmQ7Ci0JCXN0cnVjdCB0bHMxMl9jcnlw dG9faW5mb19hZXNfZ2NtXzEyOCBjcnlwdG9fc2VuZF9hZXNfZ2NtXzEyODsKLQl9OworCXVuaW9u IHRsc19jcnlwdG9fY29udGV4dCBjcnlwdG9fc2VuZDsKIAogCXZvaWQgKnByaXZfY3R4OwogCkBA IC0yMDgsOCArMjEwLDggQEAgc3RhdGljIGlubGluZSB2b2lkIHRsc19maWxsX3ByZXBlbmQoc3Ry dWN0IHRsc19jb250ZXh0ICpjdHgsCiAJICogc2l6ZSBLVExTX0RUTFNfSEVBREVSX1NJWkUgKyBL VExTX0RUTFNfTk9OQ0VfRVhQTElDSVRfU0laRQogCSAqLwogCWJ1ZlswXSA9IHJlY29yZF90eXBl OwotCWJ1ZlsxXSA9IFRMU19WRVJTSU9OX01JTk9SKGN0eC0+Y3J5cHRvX3NlbmQudmVyc2lvbik7 Ci0JYnVmWzJdID0gVExTX1ZFUlNJT05fTUFKT1IoY3R4LT5jcnlwdG9fc2VuZC52ZXJzaW9uKTsK KwlidWZbMV0gPSBUTFNfVkVSU0lPTl9NSU5PUihjdHgtPmNyeXB0b19zZW5kLmluZm8udmVyc2lv bik7CisJYnVmWzJdID0gVExTX1ZFUlNJT05fTUFKT1IoY3R4LT5jcnlwdG9fc2VuZC5pbmZvLnZl cnNpb24pOwogCS8qIHdlIGNhbiB1c2UgSVYgZm9yIG5vbmNlIGV4cGxpY2l0IGFjY29yZGluZyB0 byBzcGVjICovCiAJYnVmWzNdID0gcGt0X2xlbiA+PiA4OwogCWJ1Zls0XSA9IHBrdF9sZW4gJiAw eEZGOwpkaWZmIC0tZ2l0IGEvbmV0L3Rscy90bHNfbWFpbi5jIGIvbmV0L3Rscy90bHNfbWFpbi5j CmluZGV4IDA1NWI5OTkyZDhjNy4uYTY2YzZhMzA2NjljIDEwMDY0NAotLS0gYS9uZXQvdGxzL3Rs c19tYWluLmMKKysrIGIvbmV0L3Rscy90bHNfbWFpbi5jCkBAIC0yMTgsNiArMjE4LDE1IEBAIHN0 YXRpYyB2b2lkIHRsc193cml0ZV9zcGFjZShzdHJ1Y3Qgc29jayAqc2spCiAJY3R4LT5za193cml0 ZV9zcGFjZShzayk7CiB9CiAKK3N0YXRpYyB2b2lkIHRsc19jdHhfZnJlZShzdHJ1Y3QgdGxzX2Nv bnRleHQgKmN0eCkKK3sKKwlpZiAoIWN0eCkKKwkJcmV0dXJuOworCisJbWVtemVyb19leHBsaWNp dCgmY3R4LT5jcnlwdG9fc2VuZCwgc2l6ZW9mKGN0eC0+Y3J5cHRvX3NlbmQpKTsKKwlrZnJlZShj dHgpOworfQorCiBzdGF0aWMgdm9pZCB0bHNfc2tfcHJvdG9fY2xvc2Uoc3RydWN0IHNvY2sgKnNr LCBsb25nIHRpbWVvdXQpCiB7CiAJc3RydWN0IHRsc19jb250ZXh0ICpjdHggPSB0bHNfZ2V0X2N0 eChzayk7CkBAIC0yNDYsNyArMjU1LDcgQEAgc3RhdGljIHZvaWQgdGxzX3NrX3Byb3RvX2Nsb3Nl KHN0cnVjdCBzb2NrICpzaywgbG9uZyB0aW1lb3V0KQogCWtmcmVlKGN0eC0+aXYpOwogCiAJc2tf cHJvdG9fY2xvc2UgPSBjdHgtPnNrX3Byb3RvX2Nsb3NlOwotCWtmcmVlKGN0eCk7CisJdGxzX2N0 eF9mcmVlKGN0eCk7CiAKIAlyZWxlYXNlX3NvY2soc2spOwogCXNrX3Byb3RvX2Nsb3NlKHNrLCB0 aW1lb3V0KTsKQEAgLTI3NCw3ICsyODMsNyBAQCBzdGF0aWMgaW50IGRvX3Rsc19nZXRzb2Nrb3B0 X3R4KHN0cnVjdCBzb2NrICpzaywgY2hhciBfX3VzZXIgKm9wdHZhbCwKIAl9CiAKIAkvKiBnZXQg dXNlciBjcnlwdG8gaW5mbyAqLwotCWNyeXB0b19pbmZvID0gJmN0eC0+Y3J5cHRvX3NlbmQ7CisJ Y3J5cHRvX2luZm8gPSAmY3R4LT5jcnlwdG9fc2VuZC5pbmZvOwogCiAJaWYgKCFUTFNfQ1JZUFRP X0lORk9fUkVBRFkoY3J5cHRvX2luZm8pKSB7CiAJCXJjID0gLUVCVVNZOwpAQCAtMzcxLDcgKzM4 MCw3IEBAIHN0YXRpYyBpbnQgZG9fdGxzX3NldHNvY2tvcHRfdHgoc3RydWN0IHNvY2sgKnNrLCBj aGFyIF9fdXNlciAqb3B0dmFsLAogCX0KIAogCS8qIGdldCB1c2VyIGNyeXB0byBpbmZvICovCi0J Y3J5cHRvX2luZm8gPSAmY3R4LT5jcnlwdG9fc2VuZDsKKwljcnlwdG9faW5mbyA9ICZjdHgtPmNy eXB0b19zZW5kLmluZm87CiAKIAkvKiBDdXJyZW50bHkgd2UgZG9uJ3Qgc3VwcG9ydCBzZXQgY3J5 cHRvIGluZm8gbW9yZSB0aGFuIG9uZSB0aW1lICovCiAJaWYgKFRMU19DUllQVE9fSU5GT19SRUFE WShjcnlwdG9faW5mbykpIHsKZGlmZiAtLWdpdCBhL25ldC90bHMvdGxzX3N3LmMgYi9uZXQvdGxz L3Rsc19zdy5jCmluZGV4IDMxNTdhNTJiNDg2Ny4uYjdhYmJlZjUyYzkwIDEwMDY0NAotLS0gYS9u ZXQvdGxzL3Rsc19zdy5jCisrKyBiL25ldC90bHMvdGxzX3N3LmMKQEAgLTY4MSw3ICs2ODEsNyBA QCBpbnQgdGxzX3NldF9zd19vZmZsb2FkKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHRsc19jb250 ZXh0ICpjdHgpCiAJY3R4LT5wcml2X2N0eCA9IChzdHJ1Y3QgdGxzX29mZmxvYWRfY29udGV4dCAq KXN3X2N0eDsKIAljdHgtPmZyZWVfcmVzb3VyY2VzID0gdGxzX3N3X2ZyZWVfcmVzb3VyY2VzOwog Ci0JY3J5cHRvX2luZm8gPSAmY3R4LT5jcnlwdG9fc2VuZDsKKwljcnlwdG9faW5mbyA9ICZjdHgt PmNyeXB0b19zZW5kLmluZm87CiAJc3dpdGNoIChjcnlwdG9faW5mby0+Y2lwaGVyX3R5cGUpIHsK IAljYXNlIFRMU19DSVBIRVJfQUVTX0dDTV8xMjg6IHsKIAkJbm9uY2Vfc2l6ZSA9IFRMU19DSVBI RVJfQUVTX0dDTV8xMjhfSVZfU0laRTsKLS0gCjIuMTMuNgoKCkZyb20gMmNiZTAzODUyMTAyZGIz NTBhNGM2YzQzNmIyMzE3NjVkN2NmNmY5MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog U2FicmluYSBEdWJyb2NhIDxzZEBxdWVhc3lzbmFpbC5uZXQ+CkRhdGU6IFdlZCwgMTIgU2VwIDIw MTggMTc6NDQ6NDMgKzAyMDAKU3ViamVjdDogW1BBVENIIDEzLzEzXSB0bHM6IGNsZWFyIGtleSBt YXRlcmlhbCBmcm9tIGtlcm5lbCBtZW1vcnkgd2hlbgogZG9fdGxzX3NldHNvY2tvcHRfY29uZiBm YWlscwoKWyBVcHN0cmVhbSBjb21taXQgYzg0NGViNDZiN2Q0M2MyY2Y3NjAxNjlkZjVhZTFkNWIw MzNhZjMzOCBdCgpGaXhlczogM2M0ZDc1NTkxNTliICgidGxzOiBrZXJuZWwgVExTIHN1cHBvcnQi KQpTaWduZWQtb2ZmLWJ5OiBTYWJyaW5hIER1YnJvY2EgPHNkQHF1ZWFzeXNuYWlsLm5ldD4KU2ln bmVkLW9mZi1ieTogU2FicmluYSBEdWJyb2NhIDxzZEBxdWVhc3lzbmFpbC5uZXQ+ClNpZ25lZC1v ZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvdGxz L3Rsc19tYWluLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVs ZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvdGxzL3Rsc19tYWluLmMgYi9uZXQvdGxzL3Rsc19t YWluLmMKaW5kZXggYTY2YzZhMzA2NjljLi5lZmEyY2RiYTk5ZDMgMTAwNjQ0Ci0tLSBhL25ldC90 bHMvdGxzX21haW4uYworKysgYi9uZXQvdGxzL3Rsc19tYWluLmMKQEAgLTQyNSw3ICs0MjUsNyBA QCBzdGF0aWMgaW50IGRvX3Rsc19zZXRzb2Nrb3B0X3R4KHN0cnVjdCBzb2NrICpzaywgY2hhciBf X3VzZXIgKm9wdHZhbCwKIAlnb3RvIG91dDsKIAogZXJyX2NyeXB0b19pbmZvOgotCW1lbXNldChj cnlwdG9faW5mbywgMCwgc2l6ZW9mKCpjcnlwdG9faW5mbykpOworCW1lbXplcm9fZXhwbGljaXQo Y3J5cHRvX2luZm8sIHNpemVvZih1bmlvbiB0bHNfY3J5cHRvX2NvbnRleHQpKTsKIG91dDoKIAly ZXR1cm4gcmM7CiB9Ci0tIAoyLjEzLjYKCg== ----Next_Part(Mon_Sep_24_09_46_40_2018_110)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_418.mbox" RnJvbSBhZGMzNmMwODU5NTRlMzVkYWU3MWU1M2JjZmUxYTlkOTQ5ZGU5NjJmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/VG9rZT0yMEg9QzM9QjhpbGFuZC1KPUMzPUI4 cmdlbnNlbj89IDx0b2tlQHRva2UuZGs+CkRhdGU6IFRodSwgMTMgU2VwIDIwMTggMTY6NDM6MDcg KzAyMDAKU3ViamVjdDogW1BBVENIIDAxLzIyXSBnc29fc2VnbWVudDogUmVzZXQgc2tiLT5tYWNf bGVuIGFmdGVyIG1vZGlmeWluZyBuZXR3b3JrCiBoZWFkZXIKTUlNRS1WZXJzaW9uOiAxLjAKQ29u dGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5j b2Rpbmc6IDhiaXQKClsgVXBzdHJlYW0gY29tbWl0IGM1NmNhZTIzYzZiMTY3YWNjNjgwNDNjNjgz YzQ1NzNiODBjYmNjMmMgXQoKV2hlbiBzcGxpdHRpbmcgYSBHU08gc2VnbWVudCB0aGF0IGNvbnNp c3RzIG9mIGVuY2Fwc3VsYXRlZCBwYWNrZXRzLCB0aGUKc2tiLT5tYWNfbGVuIG9mIHRoZSBzZWdt ZW50cyBjYW4gZW5kIHVwIGJlaW5nIHNldCB3cm9uZywgY2F1c2luZyBwYWNrZXQKZHJvcHMgaW4g cGFydGljdWxhciB3aGVuIHVzaW5nIGFjdF9taXJyZWQgYW5kIGlmYiBpbnRlcmZhY2VzIGluCmNv bWJpbmF0aW9uIHdpdGggYSBxZGlzYyB0aGF0IHNwbGl0cyBHU08gcGFja2V0cy4KClRoaXMgaGFw cGVucyBiZWNhdXNlIGF0IHRoZSB0aW1lIHNrYl9zZWdtZW50KCkgaXMgY2FsbGVkLCBuZXR3b3Jr X2hlYWRlcgp3aWxsIHBvaW50IHRvIHRoZSBpbm5lciBoZWFkZXIsIHRocm93aW5nIG9mZiB0aGUg Y2FsY3VsYXRpb24gaW4Kc2tiX3Jlc2V0X21hY19sZW4oKS4gVGhlIG5ldHdvcmtfaGVhZGVyIGlz IHN1YnNlcXVlbnRseSBhZGp1c3QgYnkgdGhlCm91dGVyIElQIGdzb19zZWdtZW50IGhhbmRsZXJz LCBidXQgdGhleSBkb24ndCBzZXQgdGhlIG1hY19sZW4uCgpGaXggdGhpcyBieSBhZGRpbmcgc2ti X3Jlc2V0X21hY19sZW4oKSBjYWxscyB0byBib3RoIHRoZSBJUHY0IGFuZCBJUHY2Cmdzb19zZWdt ZW50IGhhbmRsZXJzLCBhZnRlciB0aGV5IG1vZGlmeSB0aGUgbmV0d29ya19oZWFkZXIuCgpNYW55 IHRoYW5rcyB0byBFcmljIER1bWF6ZXQgZm9yIGhpcyBoZWxwIGluIGlkZW50aWZ5aW5nIHRoZSBj YXVzZSBvZgp0aGUgYnVnLgoKQWNrZWQtYnk6IERhdmUgVGFodCA8ZGF2ZS50YWh0QGdtYWlsLmNv bT4KUmV2aWV3ZWQtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KU2lnbmVk LW9mZi1ieTogVG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2VuIDx0b2tlQHRva2UuZGs+ClNpZ25lZC1v ZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2 NC9hZl9pbmV0LmMgICAgIHwgMSArCiBuZXQvaXB2Ni9pcDZfb2ZmbG9hZC5jIHwgMSArCiAyIGZp bGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L2FmX2lu ZXQuYyBiL25ldC9pcHY0L2FmX2luZXQuYwppbmRleCBiNDAzNDk5ZmRhYmUuLjBjNDNiMDUwZGFj NyAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvYWZfaW5ldC5jCisrKyBiL25ldC9pcHY0L2FmX2luZXQu YwpAQCAtMTM3Nyw2ICsxMzc3LDcgQEAgc3RydWN0IHNrX2J1ZmYgKmluZXRfZ3NvX3NlZ21lbnQo c3RydWN0IHNrX2J1ZmYgKnNrYiwKIAkJaWYgKGVuY2FwKQogCQkJc2tiX3Jlc2V0X2lubmVyX2hl YWRlcnMoc2tiKTsKIAkJc2tiLT5uZXR3b3JrX2hlYWRlciA9ICh1OCAqKWlwaCAtIHNrYi0+aGVh ZDsKKwkJc2tiX3Jlc2V0X21hY19sZW4oc2tiKTsKIAl9IHdoaWxlICgoc2tiID0gc2tiLT5uZXh0 KSk7CiAKIG91dDoKZGlmZiAtLWdpdCBhL25ldC9pcHY2L2lwNl9vZmZsb2FkLmMgYi9uZXQvaXB2 Ni9pcDZfb2ZmbG9hZC5jCmluZGV4IDViM2YyZjg5ZWY0MS4uYzZiNzVlOTY4NjhjIDEwMDY0NAot LS0gYS9uZXQvaXB2Ni9pcDZfb2ZmbG9hZC5jCisrKyBiL25ldC9pcHY2L2lwNl9vZmZsb2FkLmMK QEAgLTExNSw2ICsxMTUsNyBAQCBzdGF0aWMgc3RydWN0IHNrX2J1ZmYgKmlwdjZfZ3NvX3NlZ21l bnQoc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAkJCXBheWxvYWRfbGVuID0gc2tiLT5sZW4gLSBuaG9m ZiAtIHNpemVvZigqaXB2NmgpOwogCQlpcHY2aC0+cGF5bG9hZF9sZW4gPSBodG9ucyhwYXlsb2Fk X2xlbik7CiAJCXNrYi0+bmV0d29ya19oZWFkZXIgPSAodTggKilpcHY2aCAtIHNrYi0+aGVhZDsK KwkJc2tiX3Jlc2V0X21hY19sZW4oc2tiKTsKIAogCQlpZiAodWRwZnJhZykgewogCQkJaW50IGVy ciA9IGlwNl9maW5kXzFzdGZyYWdvcHQoc2tiLCAmcHJldmhkcik7Ci0tIAoyLjEzLjYKCgpGcm9t IDhjMzA2NTQ2N2UzZTgzYmZhNTY4MWQxNDk4Y2JkMjZjMzhmYmYzOWEgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTog RnJpLCAxNCBTZXAgMjAxOCAxMjowMjozMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMjJdIGlw djY6IGZpeCBwb3NzaWJsZSB1c2UtYWZ0ZXItZnJlZSBpbiBpcDZfeG1pdCgpCgpbIFVwc3RyZWFt IGNvbW1pdCBiYmQ2NTI4ZDI4YzFiOGU4MDgzMmIzYjAxOGVjNDAyYjZmNWMzMjE1IF0KCkluIHRo ZSB1bmxpa2VseSBjYXNlIGlwNl94bWl0KCkgaGFzIHRvIGNhbGwgc2tiX3JlYWxsb2NfaGVhZHJv b20oKSwKd2UgbmVlZCB0byBjYWxsIHNrYl9zZXRfb3duZXJfdygpIGJlZm9yZSBjb25zdW1pbmcg b3JpZ2luYWwgc2tiLApvdGhlcndpc2Ugd2UgcmlzayBhIHVzZS1hZnRlci1mcmVlLgoKQnJpbmcg SVB2NiBpbiBsaW5lIHdpdGggd2hhdCB3ZSBkbyBpbiBJUHY0IHRvIGZpeCB0aGlzLgoKRml4ZXM6 IDFkYTE3N2U0YzNmNDEgKCJMaW51eC0yLjYuMTItcmMyIikKU2lnbmVkLW9mZi1ieTogRXJpYyBE dW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90IDxzeXprYWxs ZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZl bUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY2L2lwNl9vdXRwdXQuYyB8IDYgKystLS0tCiAx IGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL25ldC9pcHY2L2lwNl9vdXRwdXQuYyBiL25ldC9pcHY2L2lwNl9vdXRwdXQuYwppbmRleCAz MTY4ODQ3YzMwZDEuLjRmNjA3YWFjZTQzYyAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvaXA2X291dHB1 dC5jCisrKyBiL25ldC9pcHY2L2lwNl9vdXRwdXQuYwpAQCAtMjE5LDEyICsyMTksMTAgQEAgaW50 IGlwNl94bWl0KGNvbnN0IHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3Ry dWN0IGZsb3dpNiAqZmw2LAogCQkJCWtmcmVlX3NrYihza2IpOwogCQkJCXJldHVybiAtRU5PQlVG UzsKIAkJCX0KKwkJCWlmIChza2ItPnNrKQorCQkJCXNrYl9zZXRfb3duZXJfdyhza2IyLCBza2It PnNrKTsKIAkJCWNvbnN1bWVfc2tiKHNrYik7CiAJCQlza2IgPSBza2IyOwotCQkJLyogc2tiX3Nl dF9vd25lcl93KCkgY2hhbmdlcyBzay0+c2tfd21lbV9hbGxvYyBhdG9taWNhbGx5LAotCQkJICog aXQgaXMgc2FmZSB0byBjYWxsIGluIG91ciBjb250ZXh0IChzb2NrZXQgbG9jayBub3QgaGVsZCkK LQkJCSAqLwotCQkJc2tiX3NldF9vd25lcl93KHNrYiwgKHN0cnVjdCBzb2NrICopc2spOwogCQl9 CiAJCWlmIChvcHQtPm9wdF9mbGVuKQogCQkJaXB2Nl9wdXNoX2ZyYWdfb3B0cyhza2IsIG9wdCwg JnByb3RvKTsKLS0gCjIuMTMuNgoKCkZyb20gZjlhMmVlOWUyZmNmNDNhMDU5YzY1OThiZDA5ZTRl YzRmYTVkMmQ3YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogV2lsbHkgVGFycmVhdSA8 d0Axd3QuZXU+CkRhdGU6IFdlZCwgMTIgU2VwIDIwMTggMDc6MzY6MzUgKzAyMDAKU3ViamVjdDog W1BBVENIIDAzLzIyXSBuZXQvYXBwbGV0YWxrOiBmaXggbWlub3IgcG9pbnRlciBsZWFrIHRvIHVz ZXJzcGFjZSBpbgogU0lPQ0ZJTkRJUEREUFJUCgpbIFVwc3RyZWFtIGNvbW1pdCA5ODI0ZGZhZTU3 NDEyNzU0NzNhMjNhN2VkNTc1NmM3YjZlZmFjYzlkIF0KCkZpZWxkcyAtPmRldiBhbmQgLT5uZXh0 IG9mIHN0cnVjdCBpcGRkcF9yb3V0ZSBtYXkgYmUgY29waWVkIHRvCnVzZXJzcGFjZSBvbiB0aGUg U0lPQ0ZJTkRJUEREUFJUIGlvY3RsLiBUaGlzIGlzIG9ubHkgYWNjZXNzaWJsZQp0byBDQVBfTkVU X0FETUlOIHRob3VnaC4gTGV0J3MgbWFudWFsbHkgY29weSB0aGUgcmVsZXZhbnQgZmllbGRzCmlu c3RlYWQgb2YgdXNpbmcgbWVtY3B5KCkuCgpCdWdMaW5rOiBodHRwOi8vYmxvZy5pbmZvc2VjdGNi ci5jb20uYXUvMjAxOC8wOS9saW51eC1rZXJuZWwtaW5mb2xlYWtzLmh0bWwKQ2M6IEphbm4gSG9y biA8amFubmhAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogV2lsbHkgVGFycmVhdSA8d0Axd3Qu ZXU+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4K LS0tCiBkcml2ZXJzL25ldC9hcHBsZXRhbGsvaXBkZHAuYyB8IDggKysrKysrLS0KIDEgZmlsZSBj aGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9uZXQvYXBwbGV0YWxrL2lwZGRwLmMgYi9kcml2ZXJzL25ldC9hcHBsZXRhbGsvaXBkZHAu YwppbmRleCA5Mzc1Y2VmMjI0MjAuLjNkMjc2MTZkOWM4NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9u ZXQvYXBwbGV0YWxrL2lwZGRwLmMKKysrIGIvZHJpdmVycy9uZXQvYXBwbGV0YWxrL2lwZGRwLmMK QEAgLTI4Myw4ICsyODMsMTIgQEAgc3RhdGljIGludCBpcGRkcF9pb2N0bChzdHJ1Y3QgbmV0X2Rl dmljZSAqZGV2LCBzdHJ1Y3QgaWZyZXEgKmlmciwgaW50IGNtZCkKICAgICAgICAgICAgICAgICBj YXNlIFNJT0NGSU5ESVBERFBSVDoKIAkJCXNwaW5fbG9ja19iaCgmaXBkZHBfcm91dGVfbG9jayk7 CiAJCQlycCA9IF9faXBkZHBfZmluZF9yb3V0ZSgmcmNwKTsKLQkJCWlmIChycCkKLQkJCQltZW1j cHkoJnJjcDIsIHJwLCBzaXplb2YocmNwMikpOworCQkJaWYgKHJwKSB7CisJCQkJbWVtc2V0KCZy Y3AyLCAwLCBzaXplb2YocmNwMikpOworCQkJCXJjcDIuaXAgICAgPSBycC0+aXA7CisJCQkJcmNw Mi5hdCAgICA9IHJwLT5hdDsKKwkJCQlyY3AyLmZsYWdzID0gcnAtPmZsYWdzOworCQkJfQogCQkJ c3Bpbl91bmxvY2tfYmgoJmlwZGRwX3JvdXRlX2xvY2spOwogCiAJCQlpZiAocnApIHsKLS0gCjIu MTMuNgoKCkZyb20gODRkYjMwYjRmMTU3NDIwZjUzNzIxNmM0Y2NkM2FmY2RmZmNhN2EyZSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQ29saW4gSWFuIEtpbmcgPGNvbGluLmtpbmdAY2Fu b25pY2FsLmNvbT4KRGF0ZTogRnJpLCAxNCBTZXAgMjAxOCAxNzozOTo1MyArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMDQvMjJdIG5ldDogaHAxMDA6IGZpeCBhbHdheXMtdHJ1ZSBjaGVjayBmb3IgbGlu ayB1cCBzdGF0ZQoKWyBVcHN0cmVhbSBjb21taXQgYTdmMzgwMDJmYjY5YjQ0ZjhmYzYyMmVjYjgz ODY2NWQwYjg2NjZhZiBdCgpUaGUgb3BlcmF0aW9uIH4ocDEwMF9pbmIoVkdfTEFOX0NGR18xKSAm IEhQMTAwX0xJTktfVVApIHJldHVybnMgYSB2YWx1ZQp0aGF0IGlzIGFsd2F5cyBub24temVybyBh bmQgaGVuY2UgdGhlIHdhaXQgZm9yIHRoZSBsaW5rIHRvIGRyb3AgYWx3YXlzCnRlcm1pbmF0ZXMg cHJlbWF0dXJlbHkuICBGaXggdGhpcyBieSB1c2luZyBhIGxvZ2ljYWwgbm90IG9wZXJhdG9yIGlu c3RlYWQKb2YgYSBiaXR3aXNlIGNvbXBsZW1lbnQuICBUaGlzIGlzc3VlIGhhcyBiZWVuIGluIHRo ZSBkcml2ZXIgc2luY2UKcHJlLTIuNi4xMi1yYzIuCgpEZXRlY3RlZCBieSBDb3Zlcml0eVNjYW4s IENJRCMxMTQxNTcgKCJMb2dpY2FsIHZzLiBiaXR3aXNlIG9wZXJhdG9yIikKClNpZ25lZC1vZmYt Ynk6IENvbGluIElhbiBLaW5nIDxjb2xpbi5raW5nQGNhbm9uaWNhbC5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25l dC9ldGhlcm5ldC9ocC9ocDEwMC5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHAv aHAxMDAuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2hwL2hwMTAwLmMKaW5kZXggYzhjN2FkMmVm Zjc3Li45YjVhNjhiNjU0MzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2hwL2hw MTAwLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHAvaHAxMDAuYwpAQCAtMjYzNCw3ICsy NjM0LDcgQEAgc3RhdGljIGludCBocDEwMF9sb2dpbl90b192Z19odWIoc3RydWN0IG5ldF9kZXZp Y2UgKmRldiwgdV9zaG9ydCBmb3JjZV9yZWxvZ2luKQogCQkvKiBXYWl0IGZvciBsaW5rIHRvIGRy b3AgKi8KIAkJdGltZSA9IGppZmZpZXMgKyAoSFogLyAxMCk7CiAJCWRvIHsKLQkJCWlmICh+KGhw MTAwX2luYihWR19MQU5fQ0ZHXzEpICYgSFAxMDBfTElOS19VUF9TVCkpCisJCQlpZiAoIShocDEw MF9pbmIoVkdfTEFOX0NGR18xKSAmIEhQMTAwX0xJTktfVVBfU1QpKQogCQkJCWJyZWFrOwogCQkJ aWYgKCFpbl9pbnRlcnJ1cHQoKSkKIAkJCQlzY2hlZHVsZV90aW1lb3V0X2ludGVycnVwdGlibGUo MSk7Ci0tIAoyLjEzLjYKCgpGcm9tIGZmNmNkYTQ5OTFmZmU0NTk3MDc4NmUwZWI5MGI4OGZmYTNi Y2QzOTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEd1aWxsYXVtZSBOYXVsdCA8Zy5u YXVsdEBhbHBoYWxpbmsuZnI+CkRhdGU6IEZyaSwgMTQgU2VwIDIwMTggMTY6Mjg6MDUgKzAyMDAK U3ViamVjdDogW1BBVENIIDA1LzIyXSBwcHBvZTogZml4IHJlY2VwdGlvbiBvZiBmcmFtZXMgd2l0 aCBubyBtYWMgaGVhZGVyCgpbIFVwc3RyZWFtIGNvbW1pdCA4NTQwODI3ZWJhYzZiNjU0YWIyZjY5 YzhmYmNlOWU0ZmJkNjMwNGEwIF0KCnBwcG9lX3JjdigpIG5lZWRzIHRvIGxvb2sgYmFjayBhdCB0 aGUgRXRoZXJuZXQgaGVhZGVyIGluIG9yZGVyIHRvCmxvb2t1cCB0aGUgUFBQb0Ugc2Vzc2lvbi4g VGhlcmVmb3JlIHdlIG5lZWQgdG8gZW5zdXJlIHRoYXQgdGhlIG1hYwpoZWFkZXIgaXMgYmlnIGVu b3VnaCB0byBjb250YWluIGFuIEV0aGVybmV0IGhlYWRlci4gT3RoZXJ3aXNlCmV0aF9oZHIoc2ti KS0+aF9zb3VyY2UgbWlnaHQgYWNjZXNzIGludmFsaWQgZGF0YS4KCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpCVUc6IEtN U0FOOiB1bmluaXQtdmFsdWUgaW4gX19nZXRfaXRlbSBkcml2ZXJzL25ldC9wcHAvcHBwb2UuYzox NzIgW2lubGluZV0KQlVHOiBLTVNBTjogdW5pbml0LXZhbHVlIGluIGdldF9pdGVtIGRyaXZlcnMv bmV0L3BwcC9wcHBvZS5jOjIzNiBbaW5saW5lXQpCVUc6IEtNU0FOOiB1bmluaXQtdmFsdWUgaW4g cHBwb2VfcmN2KzB4Y2VmLzB4MTBlMCBkcml2ZXJzL25ldC9wcHAvcHBwb2UuYzo0NTAKQ1BVOiAw IFBJRDogNDU0MyBDb21tOiBzeXotZXhlY3V0b3IzNTUgTm90IHRhaW50ZWQgNC4xNi4wKyAjODcK SGFyZHdhcmUgbmFtZTogR29vZ2xlIEdvb2dsZSBDb21wdXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0 ZSBFbmdpbmUsIEJJT1MgR29vZ2xlCjAxLzAxLzIwMTEKQ2FsbCBUcmFjZToKIF9fZHVtcF9zdGFj ayBsaWIvZHVtcF9zdGFjay5jOjE3IFtpbmxpbmVdCiBkdW1wX3N0YWNrKzB4MTg1LzB4MWQwIGxp Yi9kdW1wX3N0YWNrLmM6NTMKIGttc2FuX3JlcG9ydCsweDE0Mi8weDI0MCBtbS9rbXNhbi9rbXNh bi5jOjEwNjcKIF9fbXNhbl93YXJuaW5nXzMyKzB4NmMvMHhiMCBtbS9rbXNhbi9rbXNhbl9pbnN0 ci5jOjY4MwogX19nZXRfaXRlbSBkcml2ZXJzL25ldC9wcHAvcHBwb2UuYzoxNzIgW2lubGluZV0K IGdldF9pdGVtIGRyaXZlcnMvbmV0L3BwcC9wcHBvZS5jOjIzNiBbaW5saW5lXQogcHBwb2VfcmN2 KzB4Y2VmLzB4MTBlMCBkcml2ZXJzL25ldC9wcHAvcHBwb2UuYzo0NTAKIF9fbmV0aWZfcmVjZWl2 ZV9za2JfY29yZSsweDQ3ZGYvMHg0YTkwIG5ldC9jb3JlL2Rldi5jOjQ1NjIKIF9fbmV0aWZfcmVj ZWl2ZV9za2IgbmV0L2NvcmUvZGV2LmM6NDYyNyBbaW5saW5lXQogbmV0aWZfcmVjZWl2ZV9za2Jf aW50ZXJuYWwrMHg0OWQvMHg2MzAgbmV0L2NvcmUvZGV2LmM6NDcwMQogbmV0aWZfcmVjZWl2ZV9z a2IrMHgyMzAvMHgyNDAgbmV0L2NvcmUvZGV2LmM6NDcyNQogdHVuX3J4X2JhdGNoZWQgZHJpdmVy cy9uZXQvdHVuLmM6MTU1NSBbaW5saW5lXQogdHVuX2dldF91c2VyKzB4NzQwZi8weDdjNjAgZHJp dmVycy9uZXQvdHVuLmM6MTk2MgogdHVuX2Nocl93cml0ZV9pdGVyKzB4MWQ0LzB4MzMwIGRyaXZl cnMvbmV0L3R1bi5jOjE5OTAKIGNhbGxfd3JpdGVfaXRlciBpbmNsdWRlL2xpbnV4L2ZzLmg6MTc4 MiBbaW5saW5lXQogbmV3X3N5bmNfd3JpdGUgZnMvcmVhZF93cml0ZS5jOjQ2OSBbaW5saW5lXQog X192ZnNfd3JpdGUrMHg3ZmIvMHg5ZjAgZnMvcmVhZF93cml0ZS5jOjQ4MgogdmZzX3dyaXRlKzB4 NDYzLzB4OGQwIGZzL3JlYWRfd3JpdGUuYzo1NDQKIFNZU0Nfd3JpdGUrMHgxNzIvMHgzNjAgZnMv cmVhZF93cml0ZS5jOjU4OQogU3lTX3dyaXRlKzB4NTUvMHg4MCBmcy9yZWFkX3dyaXRlLmM6NTgx CiBkb19zeXNjYWxsXzY0KzB4MzA5LzB4NDMwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI4Nwog ZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4M2QvMHhhMgpSSVA6IDAwMzM6MHg0NDQ3 YzkKUlNQOiAwMDJiOjAwMDA3ZmZmNjRjOGZjMjggRUZMQUdTOiAwMDAwMDI5NyBPUklHX1JBWDog MDAwMDAwMDAwMDAwMDAwMQpSQVg6IGZmZmZmZmZmZmZmZmZmZGEgUkJYOiAwMDAwMDAwMDAwMDAw MDAwIFJDWDogMDAwMDAwMDAwMDQ0NDdjOQpSRFg6IDAwMDAwMDAwMDAwMGZkODcgUlNJOiAwMDAw MDAwMDIwMDAwNjAwIFJESTogMDAwMDAwMDAwMDAwMDAwNApSQlA6IDAwMDAwMDAwMDA2Y2YwMTgg UjA4OiAwMDAwN2ZmZjY0YzhmZGE4IFIwOTogMDAwMDdmZmYwMDAwNmJkYQpSMTA6IDAwMDAwMDAw MDAwMDVmZTcgUjExOiAwMDAwMDAwMDAwMDAwMjk3IFIxMjogMDAwMDAwMDAwMDQwMjBkMApSMTM6 IDAwMDAwMDAwMDA0MDIxNjAgUjE0OiAwMDAwMDAwMDAwMDAwMDAwIFIxNTogMDAwMDAwMDAwMDAw MDAwMAoKVW5pbml0IHdhcyBjcmVhdGVkIGF0Ogoga21zYW5fc2F2ZV9zdGFja193aXRoX2ZsYWdz IG1tL2ttc2FuL2ttc2FuLmM6Mjc4IFtpbmxpbmVdCiBrbXNhbl9pbnRlcm5hbF9wb2lzb25fc2hh ZG93KzB4YjgvMHgxYjAgbW0va21zYW4va21zYW4uYzoxODgKIGttc2FuX2ttYWxsb2MrMHg5NC8w eDEwMCBtbS9rbXNhbi9rbXNhbi5jOjMxNAoga21zYW5fc2xhYl9hbGxvYysweDExLzB4MjAgbW0v a21zYW4va21zYW4uYzozMjEKIHNsYWJfcG9zdF9hbGxvY19ob29rIG1tL3NsYWIuaDo0NDUgW2lu bGluZV0KIHNsYWJfYWxsb2Nfbm9kZSBtbS9zbHViLmM6MjczNyBbaW5saW5lXQogX19rbWFsbG9j X25vZGVfdHJhY2tfY2FsbGVyKzB4YWVkLzB4MTFjMCBtbS9zbHViLmM6NDM2OQogX19rbWFsbG9j X3Jlc2VydmUgbmV0L2NvcmUvc2tidWZmLmM6MTM4IFtpbmxpbmVdCiBfX2FsbG9jX3NrYisweDJj Zi8weDlmMCBuZXQvY29yZS9za2J1ZmYuYzoyMDYKIGFsbG9jX3NrYiBpbmNsdWRlL2xpbnV4L3Nr YnVmZi5oOjk4NCBbaW5saW5lXQogYWxsb2Nfc2tiX3dpdGhfZnJhZ3MrMHgxZDQvMHhiMjAgbmV0 L2NvcmUvc2tidWZmLmM6NTIzNAogc29ja19hbGxvY19zZW5kX3Bza2IrMHhiNTYvMHgxMTkwIG5l dC9jb3JlL3NvY2suYzoyMDg1CiB0dW5fYWxsb2Nfc2tiIGRyaXZlcnMvbmV0L3R1bi5jOjE1MzIg W2lubGluZV0KIHR1bl9nZXRfdXNlcisweDIyNDIvMHg3YzYwIGRyaXZlcnMvbmV0L3R1bi5jOjE4 MjkKIHR1bl9jaHJfd3JpdGVfaXRlcisweDFkNC8weDMzMCBkcml2ZXJzL25ldC90dW4uYzoxOTkw CiBjYWxsX3dyaXRlX2l0ZXIgaW5jbHVkZS9saW51eC9mcy5oOjE3ODIgW2lubGluZV0KIG5ld19z eW5jX3dyaXRlIGZzL3JlYWRfd3JpdGUuYzo0NjkgW2lubGluZV0KIF9fdmZzX3dyaXRlKzB4N2Zi LzB4OWYwIGZzL3JlYWRfd3JpdGUuYzo0ODIKIHZmc193cml0ZSsweDQ2My8weDhkMCBmcy9yZWFk X3dyaXRlLmM6NTQ0CiBTWVNDX3dyaXRlKzB4MTcyLzB4MzYwIGZzL3JlYWRfd3JpdGUuYzo1ODkK IFN5U193cml0ZSsweDU1LzB4ODAgZnMvcmVhZF93cml0ZS5jOjU4MQogZG9fc3lzY2FsbF82NCsw eDMwOS8weDQzMCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzoyODcKIGVudHJ5X1NZU0NBTExfNjRf YWZ0ZXJfaHdmcmFtZSsweDNkLzB4YTIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpGaXhlczogMjI0Y2Y1YWQxNGMwICgi cHBwOiBNb3ZlIHRoZSBQUFAgZHJpdmVycyIpClJlcG9ydGVkLWJ5OiBzeXpib3QrZjVmNjA4MDgx MWM4NDk3MzkyMTJAc3l6a2FsbGVyLmFwcHNwb3RtYWlsLmNvbQpTaWduZWQtb2ZmLWJ5OiBHdWls bGF1bWUgTmF1bHQgPGcubmF1bHRAYWxwaGFsaW5rLmZyPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvcHBwL3BwcG9l LmMgfCAzICsrKwogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L3BwcC9wcHBvZS5jIGIvZHJpdmVycy9uZXQvcHBwL3BwcG9lLmMKaW5kZXgg Y2U2MTIzMWU5NmVhLi42MmRjNTY0YjI1MWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3BwcC9w cHBvZS5jCisrKyBiL2RyaXZlcnMvbmV0L3BwcC9wcHBvZS5jCkBAIC00MjksNiArNDI5LDkgQEAg c3RhdGljIGludCBwcHBvZV9yY3Yoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5ldF9kZXZp Y2UgKmRldiwKIAlpZiAoIXNrYikKIAkJZ290byBvdXQ7CiAKKwlpZiAoc2tiX21hY19oZWFkZXJf bGVuKHNrYikgPCBFVEhfSExFTikKKwkJZ290byBkcm9wOworCiAJaWYgKCFwc2tiX21heV9wdWxs KHNrYiwgc2l6ZW9mKHN0cnVjdCBwcHBvZV9oZHIpKSkKIAkJZ290byBkcm9wOwogCi0tIAoyLjEz LjYKCgpGcm9tIDg0ZWI2NWI2ZjgzODgyZmNmY2MxZWNhYWYyMTcwMmYxOGMwZTAyNDcgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT9Caj1DMz1COHJuPTIwTW9yaz89IDxi am9ybkBtb3JrLm5vPgpEYXRlOiBNb24sIDE3IFNlcCAyMDE4IDIyOjAwOjI0ICswMjAwClN1Ympl Y3Q6IFtQQVRDSCAwNi8yMl0gcW1pX3d3YW46IHNldCBEVFIgZm9yIG1vZGVtcyBpbiBmb3JjZWQg VVNCMiBtb2RlCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hh cnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpbIFVwc3RyZWFtIGNv bW1pdCA5MjIwMDVjN2Y1MGU3ZjRiMmE2ZGJjMTgyZTljNTc1YjRmOTIzOTZiIF0KClJlY2VudCBm aXJtd2FyZSByZXZpc2lvbnMgaGF2ZSBhZGRlZCB0aGUgYWJpbGl0eSB0byBmb3JjZQp0aGVzZSBt b2RlbXMgdG8gVVNCMiBtb2RlLCBoaWRpbmcgdGhlaXIgU3VwZXJTcGVlZApjYXBhYmlsaXRpZXMg ZnJvbSB0aGUgaG9zdC4gIFRoZSBkcml2ZXIgaGFzIGJlZW4gdXNpbmcgdGhlClN1cGVyU3BlZWQg Y2FwYWJpbGl0eSwgYXMgc2hvd24gYnkgdGhlIGJjZFVTQiBmaWVsZCBvZiB0aGUKZGV2aWNlIGRl c2NyaXB0b3IsIHRvIGRldGVjdCB0aGUgbmVlZCB0byBlbmFibGUgdGhlIERUUgpxdWlyay4gIFRo aXMgbWV0aG9kIGZhaWxzIHdoZW4gdGhlIG1vZGVtcyBhcmUgZm9yY2VkIHRvClVTQjIgbW9kZSBi eSB0aGUgbW9kZW0gZmlybXdhcmUuCgpGaXggYnkgdW5jb25kaXRpb25hbGx5IGVuYWJsaW5nIHRo ZSBEVFIgcXVpcmsgZm9yIHRoZQphZmZlY3RlZCBkZXZpY2UgSURzLgoKUmVwb3J0ZWQtYnk6IEZy ZWQgVmVsZGluaSA8ZnJlZC52ZWxkaW5pQGdtYWlsLmNvbT4KUmVwb3J0ZWQtYnk6IERlc2h1IFdl biA8ZHdlbkBzaWVycmF3aXJlbGVzcy5jb20+ClNpZ25lZC1vZmYtYnk6IEJqw7hybiBNb3JrIDxi am9ybkBtb3JrLm5vPgpSZXBvcnRlZC1ieTogRnJlZCBWZWxkaW5pIDxmcmVkLnZlbGRpbmlAZ21h aWwuY29tPgpSZXBvcnRlZC1ieTogRGVzaHUgV2VuIDxkd2VuQHNpZXJyYXdpcmVsZXNzLmNvbT4K U2lnbmVkLW9mZi1ieTogQmrDuHJuIE1vcmsgPGJqb3JuQG1vcmsubm8+ClNpZ25lZC1vZmYtYnk6 IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC91 c2IvcW1pX3d3YW4uYyB8IDE0ICsrKysrKystLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNl cnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9x bWlfd3dhbi5jIGIvZHJpdmVycy9uZXQvdXNiL3FtaV93d2FuLmMKaW5kZXggY2IwY2MzMGMzZDZh Li4xZTk1ZDM3YzZlMjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCisr KyBiL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCkBAIC0xMjA2LDEzICsxMjA2LDEzIEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCBwcm9kdWN0c1tdID0gewogCXtRTUlfRklY RURfSU5URigweDExOTksIDB4OTA2MSwgOCl9LAkvKiBTaWVycmEgV2lyZWxlc3MgTW9kZW0gKi8K IAl7UU1JX0ZJWEVEX0lOVEYoMHgxMTk5LCAweDkwNjMsIDgpfSwJLyogU2llcnJhIFdpcmVsZXNz IEVNNzMwNSAqLwogCXtRTUlfRklYRURfSU5URigweDExOTksIDB4OTA2MywgMTApfSwJLyogU2ll cnJhIFdpcmVsZXNzIEVNNzMwNSAqLwotCXtRTUlfRklYRURfSU5URigweDExOTksIDB4OTA3MSwg OCl9LAkvKiBTaWVycmEgV2lyZWxlc3MgTUM3NHh4ICovCi0Je1FNSV9GSVhFRF9JTlRGKDB4MTE5 OSwgMHg5MDcxLCAxMCl9LAkvKiBTaWVycmEgV2lyZWxlc3MgTUM3NHh4ICovCi0Je1FNSV9GSVhF RF9JTlRGKDB4MTE5OSwgMHg5MDc5LCA4KX0sCS8qIFNpZXJyYSBXaXJlbGVzcyBFTTc0eHggKi8K LQl7UU1JX0ZJWEVEX0lOVEYoMHgxMTk5LCAweDkwNzksIDEwKX0sCS8qIFNpZXJyYSBXaXJlbGVz cyBFTTc0eHggKi8KLQl7UU1JX0ZJWEVEX0lOVEYoMHgxMTk5LCAweDkwN2IsIDgpfSwJLyogU2ll cnJhIFdpcmVsZXNzIEVNNzR4eCAqLwotCXtRTUlfRklYRURfSU5URigweDExOTksIDB4OTA3Yiwg MTApfSwJLyogU2llcnJhIFdpcmVsZXNzIEVNNzR4eCAqLwotCXtRTUlfRklYRURfSU5URigweDEx OTksIDB4OTA5MSwgOCl9LAkvKiBTaWVycmEgV2lyZWxlc3MgRU03NTY1ICovCisJe1FNSV9RVUlS S19TRVRfRFRSKDB4MTE5OSwgMHg5MDcxLCA4KX0sCS8qIFNpZXJyYSBXaXJlbGVzcyBNQzc0eHgg Ki8KKwl7UU1JX1FVSVJLX1NFVF9EVFIoMHgxMTk5LCAweDkwNzEsIDEwKX0sLyogU2llcnJhIFdp cmVsZXNzIE1DNzR4eCAqLworCXtRTUlfUVVJUktfU0VUX0RUUigweDExOTksIDB4OTA3OSwgOCl9 LAkvKiBTaWVycmEgV2lyZWxlc3MgRU03NHh4ICovCisJe1FNSV9RVUlSS19TRVRfRFRSKDB4MTE5 OSwgMHg5MDc5LCAxMCl9LC8qIFNpZXJyYSBXaXJlbGVzcyBFTTc0eHggKi8KKwl7UU1JX1FVSVJL X1NFVF9EVFIoMHgxMTk5LCAweDkwN2IsIDgpfSwJLyogU2llcnJhIFdpcmVsZXNzIEVNNzR4eCAq LworCXtRTUlfUVVJUktfU0VUX0RUUigweDExOTksIDB4OTA3YiwgMTApfSwvKiBTaWVycmEgV2ly ZWxlc3MgRU03NHh4ICovCisJe1FNSV9RVUlSS19TRVRfRFRSKDB4MTE5OSwgMHg5MDkxLCA4KX0s CS8qIFNpZXJyYSBXaXJlbGVzcyBFTTc1NjUgKi8KIAl7UU1JX0ZJWEVEX0lOVEYoMHgxYmJiLCAw eDAxMWUsIDQpfSwJLyogVGVsZWtvbSBTcGVlZHN0aWNrIExURSBJSSAoQWxjYXRlbCBPbmUgVG91 Y2ggTDEwMFYgTFRFKSAqLwogCXtRTUlfRklYRURfSU5URigweDFiYmIsIDB4MDIwMywgMil9LAkv KiBBbGNhdGVsIEw4MDBNQSAqLwogCXtRTUlfRklYRURfSU5URigweDIzNTcsIDB4MDIwMSwgNCl9 LAkvKiBUUC1MSU5LIEhTVVBBIE1vZGVtIE1BMTgwICovCi0tIAoyLjEzLjYKCgpGcm9tIGI1YzYz Nzc3YWY4M2EwYThkYTcyMjQwMGYyYzg0ZDIwN2VkY2NmYmEgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IFBhb2xvIEFiZW5pIDxwYWJlbmlAcmVkaGF0LmNvbT4KRGF0ZTogVGh1LCAxMyBT ZXAgMjAxOCAxNjoyNzoyMCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMjJdIHVkcDQ6IGZpeCBJ UF9DTVNHX0NIRUNLU1VNIGZvciBjb25uZWN0ZWQgc29ja2V0cwoKWyBVcHN0cmVhbSBjb21taXQg MmI1YTkyMTc0MGE1NWMwMDIyM2E3OTdkMDc1YjljNzdjNDJjYjE3MSBdCgpjb21taXQgMmFiYjdj ZGMwZGM4ICgidWRwOiBBZGQgc3VwcG9ydCBmb3IgZG9pbmcgY2hlY2tzdW0KdW5uZWNlc3Nhcnkg Y29udmVyc2lvbiIpIGxlZnQgb3V0IHRoZSBlYXJseSBkZW11eCBwYXRoIGZvcgpjb25uZWN0ZWQg c29ja2V0cy4gQXMgYSByZXN1bHQgSVBfQ01TR19DSEVDS1NVTSBnaXZlcyB3cm9uZwp2YWx1ZXMg Zm9yIHN1Y2ggc29ja2V0IHdoZW4gR1JPIGlzIG5vdCBlbmFibGVkL2F2YWlsYWJsZS4KClRoaXMg Y2hhbmdlIGFkZHJlc3NlcyB0aGUgaXNzdWUgYnkgbW92aW5nIHRoZSBjc3VtIGNvbnZlcnNpb24g dG8gYQpjb21tb24gaGVscGVyIGFuZCB1c2luZyBzdWNoIGhlbHBlciBpbiBib3RoIHRoZSBkZWZh dWx0IGFuZCB0aGUKZWFybHkgZGVtdXggcnggcGF0aC4KCkZpeGVzOiAyYWJiN2NkYzBkYzggKCJ1 ZHA6IEFkZCBzdXBwb3J0IGZvciBkb2luZyBjaGVja3N1bSB1bm5lY2Vzc2FyeSBjb252ZXJzaW9u IikKU2lnbmVkLW9mZi1ieTogUGFvbG8gQWJlbmkgPHBhYmVuaUByZWRoYXQuY29tPgpTaWduZWQt b2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lw djQvdWRwLmMgfCA0OSArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvdWRwLmMgYi9uZXQvaXB2NC91ZHAuYwppbmRleCAyNGUx MTZkZGFlNzkuLmZlZDY1YmM5ZGY4NiAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdWRwLmMKKysrIGIv bmV0L2lwdjQvdWRwLmMKQEAgLTIxMjgsNiArMjEyOCwyOCBAQCBzdGF0aWMgaW5saW5lIGludCB1 ZHA0X2NzdW1faW5pdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgdWRwaGRyICp1aCwKIAkJ CQkJCQkgaW5ldF9jb21wdXRlX3BzZXVkbyk7CiB9CiAKKy8qIHdyYXBwZXIgZm9yIHVkcF9xdWV1 ZV9yY3Zfc2tiIHRhY2tpbmcgY2FyZSBvZiBjc3VtIGNvbnZlcnNpb24gYW5kCisgKiByZXR1cm4g Y29kZSBjb252ZXJzaW9uIGZvciBpcCBsYXllciBjb25zdW1wdGlvbgorICovCitzdGF0aWMgaW50 IHVkcF91bmljYXN0X3Jjdl9za2Ioc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2ti LAorCQkJICAgICAgIHN0cnVjdCB1ZHBoZHIgKnVoKQoreworCWludCByZXQ7CisKKwlpZiAoaW5l dF9nZXRfY29udmVydF9jc3VtKHNrKSAmJiB1aC0+Y2hlY2sgJiYgIUlTX1VEUExJVEUoc2spKQor CQlza2JfY2hlY2tzdW1fdHJ5X2NvbnZlcnQoc2tiLCBJUFBST1RPX1VEUCwgdWgtPmNoZWNrLAor CQkJCQkgaW5ldF9jb21wdXRlX3BzZXVkbyk7CisKKwlyZXQgPSB1ZHBfcXVldWVfcmN2X3NrYihz aywgc2tiKTsKKworCS8qIGEgcmV0dXJuIHZhbHVlID4gMCBtZWFucyB0byByZXN1Ym1pdCB0aGUg aW5wdXQsIGJ1dAorCSAqIGl0IHdhbnRzIHRoZSByZXR1cm4gdG8gYmUgLXByb3RvY29sLCBvciAw CisJICovCisJaWYgKHJldCA+IDApCisJCXJldHVybiAtcmV0OworCXJldHVybiAwOworfQorCiAv KgogICoJQWxsIHdlIG5lZWQgdG8gZG8gaXMgZ2V0IHRoZSBzb2NrZXQsIGFuZCB0aGVuIGRvIGEg Y2hlY2tzdW0uCiAgKi8KQEAgLTIxNzQsMTQgKzIxOTYsOSBAQCBpbnQgX191ZHA0X2xpYl9yY3Yo c3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IHVkcF90YWJsZSAqdWRwdGFibGUsCiAJCWlmICh1 bmxpa2VseShzay0+c2tfcnhfZHN0ICE9IGRzdCkpCiAJCQl1ZHBfc2tfcnhfZHN0X3NldChzaywg ZHN0KTsKIAotCQlyZXQgPSB1ZHBfcXVldWVfcmN2X3NrYihzaywgc2tiKTsKKwkJcmV0ID0gdWRw X3VuaWNhc3RfcmN2X3NrYihzaywgc2tiLCB1aCk7CiAJCXNvY2tfcHV0KHNrKTsKLQkJLyogYSBy ZXR1cm4gdmFsdWUgPiAwIG1lYW5zIHRvIHJlc3VibWl0IHRoZSBpbnB1dCwgYnV0Ci0JCSAqIGl0 IHdhbnRzIHRoZSByZXR1cm4gdG8gYmUgLXByb3RvY29sLCBvciAwCi0JCSAqLwotCQlpZiAocmV0 ID4gMCkKLQkJCXJldHVybiAtcmV0OwotCQlyZXR1cm4gMDsKKwkJcmV0dXJuIHJldDsKIAl9CiAK IAlpZiAocnQtPnJ0X2ZsYWdzICYgKFJUQ0ZfQlJPQURDQVNUfFJUQ0ZfTVVMVElDQVNUKSkKQEAg LTIxODksMjIgKzIyMDYsOCBAQCBpbnQgX191ZHA0X2xpYl9yY3Yoc3RydWN0IHNrX2J1ZmYgKnNr Yiwgc3RydWN0IHVkcF90YWJsZSAqdWRwdGFibGUsCiAJCQkJCQlzYWRkciwgZGFkZHIsIHVkcHRh YmxlLCBwcm90byk7CiAKIAlzayA9IF9fdWRwNF9saWJfbG9va3VwX3NrYihza2IsIHVoLT5zb3Vy Y2UsIHVoLT5kZXN0LCB1ZHB0YWJsZSk7Ci0JaWYgKHNrKSB7Ci0JCWludCByZXQ7Ci0KLQkJaWYg KGluZXRfZ2V0X2NvbnZlcnRfY3N1bShzaykgJiYgdWgtPmNoZWNrICYmICFJU19VRFBMSVRFKHNr KSkKLQkJCXNrYl9jaGVja3N1bV90cnlfY29udmVydChza2IsIElQUFJPVE9fVURQLCB1aC0+Y2hl Y2ssCi0JCQkJCQkgaW5ldF9jb21wdXRlX3BzZXVkbyk7Ci0KLQkJcmV0ID0gdWRwX3F1ZXVlX3Jj dl9za2Ioc2ssIHNrYik7Ci0KLQkJLyogYSByZXR1cm4gdmFsdWUgPiAwIG1lYW5zIHRvIHJlc3Vi bWl0IHRoZSBpbnB1dCwgYnV0Ci0JCSAqIGl0IHdhbnRzIHRoZSByZXR1cm4gdG8gYmUgLXByb3Rv Y29sLCBvciAwCi0JCSAqLwotCQlpZiAocmV0ID4gMCkKLQkJCXJldHVybiAtcmV0OwotCQlyZXR1 cm4gMDsKLQl9CisJaWYgKHNrKQorCQlyZXR1cm4gdWRwX3VuaWNhc3RfcmN2X3NrYihzaywgc2ti LCB1aCk7CiAKIAlpZiAoIXhmcm00X3BvbGljeV9jaGVjayhOVUxMLCBYRlJNX1BPTElDWV9JTiwg c2tiKSkKIAkJZ290byBkcm9wOwotLSAKMi4xMy42CgoKRnJvbSA3NjA1NjhmZjYxMWRiNmM1OTRj M2VkMWRiNjlhMDVlMmM5MTNmOTVlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTYWJy aW5hIER1YnJvY2EgPHNkQHF1ZWFzeXNuYWlsLm5ldD4KRGF0ZTogV2VkLCAxMiBTZXAgMjAxOCAx Nzo0NDo0MSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMjJdIHRsczogZG9uJ3QgY29weSB0aGUg a2V5IG91dCBvZgogdGxzMTJfY3J5cHRvX2luZm9fYWVzX2djbV8xMjgKClsgVXBzdHJlYW0gY29t bWl0IDdjYmEwOWM2ZDViYzczZWJiZDI1YTM1Mzc0MmQ5ZGRiN2E3MTNiOTUgXQoKVGhlcmUncyBu byBuZWVkIHRvIGNvcHkgdGhlIGtleSB0byBhbiBvbi1zdGFjayBidWZmZXIgYmVmb3JlIGNhbGxp bmcKY3J5cHRvX2FlYWRfc2V0a2V5KCkuCgpGaXhlczogM2M0ZDc1NTkxNTliICgidGxzOiBrZXJu ZWwgVExTIHN1cHBvcnQiKQpTaWduZWQtb2ZmLWJ5OiBTYWJyaW5hIER1YnJvY2EgPHNkQHF1ZWFz eXNuYWlsLm5ldD4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIG5ldC90bHMvdGxzX3N3LmMgfCA1ICstLS0tCiAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3Rscy90bHNf c3cuYyBiL25ldC90bHMvdGxzX3N3LmMKaW5kZXggMWYzZDk3ODlhZjMwLi4xMzFiNmQyODJhMWQg MTAwNjQ0Ci0tLSBhL25ldC90bHMvdGxzX3N3LmMKKysrIGIvbmV0L3Rscy90bHNfc3cuYwpAQCAt MTA1Niw3ICsxMDU2LDYgQEAgdm9pZCB0bHNfc3dfZnJlZV9yZXNvdXJjZXNfcngoc3RydWN0IHNv Y2sgKnNrKQogCiBpbnQgdGxzX3NldF9zd19vZmZsb2FkKHN0cnVjdCBzb2NrICpzaywgc3RydWN0 IHRsc19jb250ZXh0ICpjdHgsIGludCB0eCkKIHsKLQljaGFyIGtleXZhbFtUTFNfQ0lQSEVSX0FF U19HQ01fMTI4X0tFWV9TSVpFXTsKIAlzdHJ1Y3QgdGxzX2NyeXB0b19pbmZvICpjcnlwdG9faW5m bzsKIAlzdHJ1Y3QgdGxzMTJfY3J5cHRvX2luZm9fYWVzX2djbV8xMjggKmdjbV8xMjhfaW5mbzsK IAlzdHJ1Y3QgdGxzX3N3X2NvbnRleHRfdHggKnN3X2N0eF90eCA9IE5VTEw7CkBAIC0xMTc2LDkg KzExNzUsNyBAQCBpbnQgdGxzX3NldF9zd19vZmZsb2FkKHN0cnVjdCBzb2NrICpzaywgc3RydWN0 IHRsc19jb250ZXh0ICpjdHgsIGludCB0eCkKIAogCWN0eC0+cHVzaF9wZW5kaW5nX3JlY29yZCA9 IHRsc19zd19wdXNoX3BlbmRpbmdfcmVjb3JkOwogCi0JbWVtY3B5KGtleXZhbCwgZ2NtXzEyOF9p bmZvLT5rZXksIFRMU19DSVBIRVJfQUVTX0dDTV8xMjhfS0VZX1NJWkUpOwotCi0JcmMgPSBjcnlw dG9fYWVhZF9zZXRrZXkoKmFlYWQsIGtleXZhbCwKKwlyYyA9IGNyeXB0b19hZWFkX3NldGtleSgq YWVhZCwgZ2NtXzEyOF9pbmZvLT5rZXksCiAJCQkJVExTX0NJUEhFUl9BRVNfR0NNXzEyOF9LRVlf U0laRSk7CiAJaWYgKHJjKQogCQlnb3RvIGZyZWVfYWVhZDsKLS0gCjIuMTMuNgoKCkZyb20gMWE5 OTliZTZkZWQ3ZDUzNjExODZmNTZmZGZlYTllZDFmMmU0MDI4YiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogU2FicmluYSBEdWJyb2NhIDxzZEBxdWVhc3lzbmFpbC5uZXQ+CkRhdGU6IFdl ZCwgMTIgU2VwIDIwMTggMTc6NDQ6NDIgKzAyMDAKU3ViamVjdDogW1BBVENIIDA5LzIyXSB0bHM6 IHplcm8gdGhlIGNyeXB0byBpbmZvcm1hdGlvbiBmcm9tIHRsc19jb250ZXh0CiBiZWZvcmUgZnJl ZWluZwoKWyBVcHN0cmVhbSBjb21taXQgODYwMjlkMTBhZjE4MzgxODE0ODgxZDZjY2UyZGQ2ODcy MTYzYjU5ZiBdCgpUaGlzIGNvbnRhaW5zIGtleSBtYXRlcmlhbCBpbiBjcnlwdG9fc2VuZF9hZXNf Z2NtXzEyOCBhbmQKY3J5cHRvX3JlY3ZfYWVzX2djbV8xMjguCgpJbnRyb2R1Y2UgdW5pb24gdGxz X2NyeXB0b19jb250ZXh0LCBhbmQgcmVwbGFjZSB0aGUgdHdvIGlkZW50aWNhbAp1bmlvbnMgZGly ZWN0bHkgZW1iZWRkZWQgaW4gc3RydWN0IHRsc19jb250ZXh0IHdpdGggaXQuIFdlIGNhbiB0aGVu CnVzZSB0aGlzIHVuaW9uIHRvIGNsZWFuIHVwIHRoZSBtZW1vcnkgaW4gdGhlIG5ldyB0bHNfY3R4 X2ZyZWUoKQpmdW5jdGlvbi4KCkZpeGVzOiAzYzRkNzU1OTE1OWIgKCJ0bHM6IGtlcm5lbCBUTFMg c3VwcG9ydCIpClNpZ25lZC1vZmYtYnk6IFNhYnJpbmEgRHVicm9jYSA8c2RAcXVlYXN5c25haWwu bmV0PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogaW5jbHVkZS9uZXQvdGxzLmggICAgICAgICAgICAgfCAxOSArKysrKysrKystLS0tLS0t LS0tCiBuZXQvdGxzL3Rsc19kZXZpY2UuYyAgICAgICAgICB8ICA0ICsrLS0KIG5ldC90bHMvdGxz X2RldmljZV9mYWxsYmFjay5jIHwgIDIgKy0KIG5ldC90bHMvdGxzX21haW4uYyAgICAgICAgICAg IHwgMjAgKysrKysrKysrKysrKysrLS0tLS0KIG5ldC90bHMvdGxzX3N3LmMgICAgICAgICAgICAg IHwgIDggKysrKy0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMjIgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvdGxzLmggYi9pbmNsdWRlL25ldC90 bHMuaAppbmRleCA3MGMyNzM3NzdmZTkuLjMyYjcxZTViMTI5MCAxMDA2NDQKLS0tIGEvaW5jbHVk ZS9uZXQvdGxzLmgKKysrIGIvaW5jbHVkZS9uZXQvdGxzLmgKQEAgLTE2NSwxNSArMTY1LDE0IEBA IHN0cnVjdCBjaXBoZXJfY29udGV4dCB7CiAJY2hhciAqcmVjX3NlcTsKIH07CiAKK3VuaW9uIHRs c19jcnlwdG9fY29udGV4dCB7CisJc3RydWN0IHRsc19jcnlwdG9faW5mbyBpbmZvOworCXN0cnVj dCB0bHMxMl9jcnlwdG9faW5mb19hZXNfZ2NtXzEyOCBhZXNfZ2NtXzEyODsKK307CisKIHN0cnVj dCB0bHNfY29udGV4dCB7Ci0JdW5pb24gewotCQlzdHJ1Y3QgdGxzX2NyeXB0b19pbmZvIGNyeXB0 b19zZW5kOwotCQlzdHJ1Y3QgdGxzMTJfY3J5cHRvX2luZm9fYWVzX2djbV8xMjggY3J5cHRvX3Nl bmRfYWVzX2djbV8xMjg7Ci0JfTsKLQl1bmlvbiB7Ci0JCXN0cnVjdCB0bHNfY3J5cHRvX2luZm8g Y3J5cHRvX3JlY3Y7Ci0JCXN0cnVjdCB0bHMxMl9jcnlwdG9faW5mb19hZXNfZ2NtXzEyOCBjcnlw dG9fcmVjdl9hZXNfZ2NtXzEyODsKLQl9OworCXVuaW9uIHRsc19jcnlwdG9fY29udGV4dCBjcnlw dG9fc2VuZDsKKwl1bmlvbiB0bHNfY3J5cHRvX2NvbnRleHQgY3J5cHRvX3JlY3Y7CiAKIAlzdHJ1 Y3QgbGlzdF9oZWFkIGxpc3Q7CiAJc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldjsKQEAgLTMzNyw4 ICszMzYsOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgdGxzX2ZpbGxfcHJlcGVuZChzdHJ1Y3QgdGxz X2NvbnRleHQgKmN0eCwKIAkgKiBzaXplIEtUTFNfRFRMU19IRUFERVJfU0laRSArIEtUTFNfRFRM U19OT05DRV9FWFBMSUNJVF9TSVpFCiAJICovCiAJYnVmWzBdID0gcmVjb3JkX3R5cGU7Ci0JYnVm WzFdID0gVExTX1ZFUlNJT05fTUlOT1IoY3R4LT5jcnlwdG9fc2VuZC52ZXJzaW9uKTsKLQlidWZb Ml0gPSBUTFNfVkVSU0lPTl9NQUpPUihjdHgtPmNyeXB0b19zZW5kLnZlcnNpb24pOworCWJ1Zlsx XSA9IFRMU19WRVJTSU9OX01JTk9SKGN0eC0+Y3J5cHRvX3NlbmQuaW5mby52ZXJzaW9uKTsKKwli dWZbMl0gPSBUTFNfVkVSU0lPTl9NQUpPUihjdHgtPmNyeXB0b19zZW5kLmluZm8udmVyc2lvbik7 CiAJLyogd2UgY2FuIHVzZSBJViBmb3Igbm9uY2UgZXhwbGljaXQgYWNjb3JkaW5nIHRvIHNwZWMg Ki8KIAlidWZbM10gPSBwa3RfbGVuID4+IDg7CiAJYnVmWzRdID0gcGt0X2xlbiAmIDB4RkY7CmRp ZmYgLS1naXQgYS9uZXQvdGxzL3Rsc19kZXZpY2UuYyBiL25ldC90bHMvdGxzX2RldmljZS5jCmlu ZGV4IGE3YThmOGUyMGZmMy4uOWJkMDI4NmQ1NDA3IDEwMDY0NAotLS0gYS9uZXQvdGxzL3Rsc19k ZXZpY2UuYworKysgYi9uZXQvdGxzL3Rsc19kZXZpY2UuYwpAQCAtNTUyLDcgKzU1Miw3IEBAIGlu dCB0bHNfc2V0X2RldmljZV9vZmZsb2FkKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHRsc19jb250 ZXh0ICpjdHgpCiAJCWdvdG8gZnJlZV9tYXJrZXJfcmVjb3JkOwogCX0KIAotCWNyeXB0b19pbmZv ID0gJmN0eC0+Y3J5cHRvX3NlbmQ7CisJY3J5cHRvX2luZm8gPSAmY3R4LT5jcnlwdG9fc2VuZC5p bmZvOwogCXN3aXRjaCAoY3J5cHRvX2luZm8tPmNpcGhlcl90eXBlKSB7CiAJY2FzZSBUTFNfQ0lQ SEVSX0FFU19HQ01fMTI4OgogCQlub25jZV9zaXplID0gVExTX0NJUEhFUl9BRVNfR0NNXzEyOF9J Vl9TSVpFOwpAQCAtNjUwLDcgKzY1MCw3IEBAIGludCB0bHNfc2V0X2RldmljZV9vZmZsb2FkKHN0 cnVjdCBzb2NrICpzaywgc3RydWN0IHRsc19jb250ZXh0ICpjdHgpCiAKIAljdHgtPnByaXZfY3R4 X3R4ID0gb2ZmbG9hZF9jdHg7CiAJcmMgPSBuZXRkZXYtPnRsc2Rldl9vcHMtPnRsc19kZXZfYWRk KG5ldGRldiwgc2ssIFRMU19PRkZMT0FEX0NUWF9ESVJfVFgsCi0JCQkJCSAgICAgJmN0eC0+Y3J5 cHRvX3NlbmQsCisJCQkJCSAgICAgJmN0eC0+Y3J5cHRvX3NlbmQuaW5mbywKIAkJCQkJICAgICB0 Y3Bfc2soc2spLT53cml0ZV9zZXEpOwogCWlmIChyYykKIAkJZ290byByZWxlYXNlX25ldGRldjsK ZGlmZiAtLWdpdCBhL25ldC90bHMvdGxzX2RldmljZV9mYWxsYmFjay5jIGIvbmV0L3Rscy90bHNf ZGV2aWNlX2ZhbGxiYWNrLmMKaW5kZXggNzQ4OTE0YWJkYjYwLi43MjE0MzY3OWQzZDYgMTAwNjQ0 Ci0tLSBhL25ldC90bHMvdGxzX2RldmljZV9mYWxsYmFjay5jCisrKyBiL25ldC90bHMvdGxzX2Rl dmljZV9mYWxsYmFjay5jCkBAIC0zMjAsNyArMzIwLDcgQEAgc3RhdGljIHN0cnVjdCBza19idWZm ICp0bHNfZW5jX3NrYihzdHJ1Y3QgdGxzX2NvbnRleHQgKnRsc19jdHgsCiAJCWdvdG8gZnJlZV9y ZXE7CiAKIAlpdiA9IGJ1ZjsKLQltZW1jcHkoaXYsIHRsc19jdHgtPmNyeXB0b19zZW5kX2Flc19n Y21fMTI4LnNhbHQsCisJbWVtY3B5KGl2LCB0bHNfY3R4LT5jcnlwdG9fc2VuZC5hZXNfZ2NtXzEy OC5zYWx0LAogCSAgICAgICBUTFNfQ0lQSEVSX0FFU19HQ01fMTI4X1NBTFRfU0laRSk7CiAJYWFk ID0gYnVmICsgVExTX0NJUEhFUl9BRVNfR0NNXzEyOF9TQUxUX1NJWkUgKwogCSAgICAgIFRMU19D SVBIRVJfQUVTX0dDTV8xMjhfSVZfU0laRTsKZGlmZiAtLWdpdCBhL25ldC90bHMvdGxzX21haW4u YyBiL25ldC90bHMvdGxzX21haW4uYwppbmRleCA0NTE4OGQ5MjAwMTMuLjRlMjgyMTBlMDM0MyAx MDA2NDQKLS0tIGEvbmV0L3Rscy90bHNfbWFpbi5jCisrKyBiL25ldC90bHMvdGxzX21haW4uYwpA QCAtMjQ1LDYgKzI0NSwxNiBAQCBzdGF0aWMgdm9pZCB0bHNfd3JpdGVfc3BhY2Uoc3RydWN0IHNv Y2sgKnNrKQogCWN0eC0+c2tfd3JpdGVfc3BhY2Uoc2spOwogfQogCitzdGF0aWMgdm9pZCB0bHNf Y3R4X2ZyZWUoc3RydWN0IHRsc19jb250ZXh0ICpjdHgpCit7CisJaWYgKCFjdHgpCisJCXJldHVy bjsKKworCW1lbXplcm9fZXhwbGljaXQoJmN0eC0+Y3J5cHRvX3NlbmQsIHNpemVvZihjdHgtPmNy eXB0b19zZW5kKSk7CisJbWVtemVyb19leHBsaWNpdCgmY3R4LT5jcnlwdG9fcmVjdiwgc2l6ZW9m KGN0eC0+Y3J5cHRvX3JlY3YpKTsKKwlrZnJlZShjdHgpOworfQorCiBzdGF0aWMgdm9pZCB0bHNf c2tfcHJvdG9fY2xvc2Uoc3RydWN0IHNvY2sgKnNrLCBsb25nIHRpbWVvdXQpCiB7CiAJc3RydWN0 IHRsc19jb250ZXh0ICpjdHggPSB0bHNfZ2V0X2N0eChzayk7CkBAIC0yOTUsNyArMzA1LDcgQEAg c3RhdGljIHZvaWQgdGxzX3NrX3Byb3RvX2Nsb3NlKHN0cnVjdCBzb2NrICpzaywgbG9uZyB0aW1l b3V0KQogI2Vsc2UKIAl7CiAjZW5kaWYKLQkJa2ZyZWUoY3R4KTsKKwkJdGxzX2N0eF9mcmVlKGN0 eCk7CiAJCWN0eCA9IE5VTEw7CiAJfQogCkBAIC0zMDYsNyArMzE2LDcgQEAgc3RhdGljIHZvaWQg dGxzX3NrX3Byb3RvX2Nsb3NlKHN0cnVjdCBzb2NrICpzaywgbG9uZyB0aW1lb3V0KQogCSAqIGZv ciBzay0+c2tfcHJvdC0+dW5oYXNoIFt0bHNfaHdfdW5oYXNoXQogCSAqLwogCWlmIChmcmVlX2N0 eCkKLQkJa2ZyZWUoY3R4KTsKKwkJdGxzX2N0eF9mcmVlKGN0eCk7CiB9CiAKIHN0YXRpYyBpbnQg ZG9fdGxzX2dldHNvY2tvcHRfdHgoc3RydWN0IHNvY2sgKnNrLCBjaGFyIF9fdXNlciAqb3B0dmFs LApAQCAtMzMxLDcgKzM0MSw3IEBAIHN0YXRpYyBpbnQgZG9fdGxzX2dldHNvY2tvcHRfdHgoc3Ry dWN0IHNvY2sgKnNrLCBjaGFyIF9fdXNlciAqb3B0dmFsLAogCX0KIAogCS8qIGdldCB1c2VyIGNy eXB0byBpbmZvICovCi0JY3J5cHRvX2luZm8gPSAmY3R4LT5jcnlwdG9fc2VuZDsKKwljcnlwdG9f aW5mbyA9ICZjdHgtPmNyeXB0b19zZW5kLmluZm87CiAKIAlpZiAoIVRMU19DUllQVE9fSU5GT19S RUFEWShjcnlwdG9faW5mbykpIHsKIAkJcmMgPSAtRUJVU1k7CkBAIC00MTgsOSArNDI4LDkgQEAg c3RhdGljIGludCBkb190bHNfc2V0c29ja29wdF9jb25mKHN0cnVjdCBzb2NrICpzaywgY2hhciBf X3VzZXIgKm9wdHZhbCwKIAl9CiAKIAlpZiAodHgpCi0JCWNyeXB0b19pbmZvID0gJmN0eC0+Y3J5 cHRvX3NlbmQ7CisJCWNyeXB0b19pbmZvID0gJmN0eC0+Y3J5cHRvX3NlbmQuaW5mbzsKIAllbHNl Ci0JCWNyeXB0b19pbmZvID0gJmN0eC0+Y3J5cHRvX3JlY3Y7CisJCWNyeXB0b19pbmZvID0gJmN0 eC0+Y3J5cHRvX3JlY3YuaW5mbzsKIAogCS8qIEN1cnJlbnRseSB3ZSBkb24ndCBzdXBwb3J0IHNl dCBjcnlwdG8gaW5mbyBtb3JlIHRoYW4gb25lIHRpbWUgKi8KIAlpZiAoVExTX0NSWVBUT19JTkZP X1JFQURZKGNyeXB0b19pbmZvKSkgewpkaWZmIC0tZ2l0IGEvbmV0L3Rscy90bHNfc3cuYyBiL25l dC90bHMvdGxzX3N3LmMKaW5kZXggMTMxYjZkMjgyYTFkLi4yNmI5NWViNTJmZWIgMTAwNjQ0Ci0t LSBhL25ldC90bHMvdGxzX3N3LmMKKysrIGIvbmV0L3Rscy90bHNfc3cuYwpAQCAtOTgxLDggKzk4 MSw4IEBAIHN0YXRpYyBpbnQgdGxzX3JlYWRfc2l6ZShzdHJ1Y3Qgc3RycGFyc2VyICpzdHJwLCBz dHJ1Y3Qgc2tfYnVmZiAqc2tiKQogCQlnb3RvIHJlYWRfZmFpbHVyZTsKIAl9CiAKLQlpZiAoaGVh ZGVyWzFdICE9IFRMU19WRVJTSU9OX01JTk9SKHRsc19jdHgtPmNyeXB0b19yZWN2LnZlcnNpb24p IHx8Ci0JICAgIGhlYWRlclsyXSAhPSBUTFNfVkVSU0lPTl9NQUpPUih0bHNfY3R4LT5jcnlwdG9f cmVjdi52ZXJzaW9uKSkgeworCWlmIChoZWFkZXJbMV0gIT0gVExTX1ZFUlNJT05fTUlOT1IodGxz X2N0eC0+Y3J5cHRvX3JlY3YuaW5mby52ZXJzaW9uKSB8fAorCSAgICBoZWFkZXJbMl0gIT0gVExT X1ZFUlNJT05fTUFKT1IodGxzX2N0eC0+Y3J5cHRvX3JlY3YuaW5mby52ZXJzaW9uKSkgewogCQly ZXQgPSAtRUlOVkFMOwogCQlnb3RvIHJlYWRfZmFpbHVyZTsKIAl9CkBAIC0xMDkxLDExICsxMDkx LDExIEBAIGludCB0bHNfc2V0X3N3X29mZmxvYWQoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3QgdGxz X2NvbnRleHQgKmN0eCwgaW50IHR4KQogCX0KIAogCWlmICh0eCkgewotCQljcnlwdG9faW5mbyA9 ICZjdHgtPmNyeXB0b19zZW5kOworCQljcnlwdG9faW5mbyA9ICZjdHgtPmNyeXB0b19zZW5kLmlu Zm87CiAJCWNjdHggPSAmY3R4LT50eDsKIAkJYWVhZCA9ICZzd19jdHhfdHgtPmFlYWRfc2VuZDsK IAl9IGVsc2UgewotCQljcnlwdG9faW5mbyA9ICZjdHgtPmNyeXB0b19yZWN2OworCQljcnlwdG9f aW5mbyA9ICZjdHgtPmNyeXB0b19yZWN2LmluZm87CiAJCWNjdHggPSAmY3R4LT5yeDsKIAkJYWVh ZCA9ICZzd19jdHhfcngtPmFlYWRfcmVjdjsKIAl9Ci0tIAoyLjEzLjYKCgpGcm9tIDcwNmVjYWFm ZTc2ZDNhMWQwYzQ0OGE2NTIxZDU4ZTc1NzlhOWQxNTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IFNhYnJpbmEgRHVicm9jYSA8c2RAcXVlYXN5c25haWwubmV0PgpEYXRlOiBXZWQsIDEy IFNlcCAyMDE4IDE3OjQ0OjQzICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMC8yMl0gdGxzOiBjbGVh ciBrZXkgbWF0ZXJpYWwgZnJvbSBrZXJuZWwgbWVtb3J5IHdoZW4KIGRvX3Rsc19zZXRzb2Nrb3B0 X2NvbmYgZmFpbHMKClsgVXBzdHJlYW0gY29tbWl0IGM4NDRlYjQ2YjdkNDNjMmNmNzYwMTY5ZGY1 YWUxZDViMDMzYWYzMzggXQoKRml4ZXM6IDNjNGQ3NTU5MTU5YiAoInRsczoga2VybmVsIFRMUyBz dXBwb3J0IikKU2lnbmVkLW9mZi1ieTogU2FicmluYSBEdWJyb2NhIDxzZEBxdWVhc3lzbmFpbC5u ZXQ+ClNpZ25lZC1vZmYtYnk6IFNhYnJpbmEgRHVicm9jYSA8c2RAcXVlYXN5c25haWwubmV0PgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog bmV0L3Rscy90bHNfbWFpbi5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCsp LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3Rscy90bHNfbWFpbi5jIGIvbmV0L3Rs cy90bHNfbWFpbi5jCmluZGV4IDRlMjgyMTBlMDM0My4uMmNjZjE5NGMzZWJiIDEwMDY0NAotLS0g YS9uZXQvdGxzL3Rsc19tYWluLmMKKysrIGIvbmV0L3Rscy90bHNfbWFpbi5jCkBAIC01MDIsNyAr NTAyLDcgQEAgc3RhdGljIGludCBkb190bHNfc2V0c29ja29wdF9jb25mKHN0cnVjdCBzb2NrICpz aywgY2hhciBfX3VzZXIgKm9wdHZhbCwKIAlnb3RvIG91dDsKIAogZXJyX2NyeXB0b19pbmZvOgot CW1lbXNldChjcnlwdG9faW5mbywgMCwgc2l6ZW9mKCpjcnlwdG9faW5mbykpOworCW1lbXplcm9f ZXhwbGljaXQoY3J5cHRvX2luZm8sIHNpemVvZih1bmlvbiB0bHNfY3J5cHRvX2NvbnRleHQpKTsK IG91dDoKIAlyZXR1cm4gcmM7CiB9Ci0tIAoyLjEzLjYKCgpGcm9tIDAwMmZjMTc3ZTFkMmVlZjIx Nzg0OWExNGY1ZTI0ZWZjMTVjZTRlNWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFZh c2lseSBLaG9ydXpoaWNrIDx2YXNpbHlraEBhcmlzdGEuY29tPgpEYXRlOiBUaHUsIDEzIFNlcCAy MDE4IDExOjEyOjAzIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxMS8yMl0gbmVpZ2hib3VyOiBjb25m aXJtIG5laWdoIGVudHJpZXMgd2hlbiBBUlAgcGFja2V0IGlzCiByZWNlaXZlZAoKWyBVcHN0cmVh bSBjb21taXQgZjBlMGQwNDQxM2ZjY2U5YmM3NjM4ODgzOTA5OWFlZTkzY2QwZDMzYiBdCgpVcGRh dGUgJ2NvbmZpcm1lZCcgdGltZXN0YW1wIHdoZW4gQVJQIHBhY2tldCBpcyByZWNlaXZlZC4gSXQg c2hvdWxkbid0CmFmZmVjdCBsb2NrdGltZSBsb2dpYyBhbmQgYW55d2F5IGVudHJ5IGNhbiBiZSBj b25maXJtZWQgYnkgYW55IGhpZ2hlci1sYXllcgpwcm90b2NvbC4gVGh1cyBpdCBtYWtlcyBzZW5z ZSB0byBjb25maXJtIGl0IHdoZW4gQVJQIHBhY2tldCBpcyByZWNlaXZlZC4KCkZpeGVzOiA3N2Q3 MTIzMzQyZGMgKCJuZWlnaGJvdXI6IHVwZGF0ZSBuZWlnaCB0aW1lc3RhbXBzIGlmZiB1cGRhdGUg aXMgZWZmZWN0aXZlIikKU2lnbmVkLW9mZi1ieTogVmFzaWx5IEtob3J1emhpY2sgPHZhc2lseWto QGFyaXN0YS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBuZXQvY29yZS9uZWlnaGJvdXIuYyB8IDEzICsrKysrKysrLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvbmV0L2NvcmUvbmVpZ2hib3VyLmMgYi9uZXQvY29yZS9uZWlnaGJvdXIuYwppbmRleCA4ZTNm ZGE5ZTcyNWMuLmNiMDFkNTA5ZDUxMSAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvbmVpZ2hib3VyLmMK KysrIGIvbmV0L2NvcmUvbmVpZ2hib3VyLmMKQEAgLTExNzksNiArMTE3OSwxMiBAQCBpbnQgbmVp Z2hfdXBkYXRlKHN0cnVjdCBuZWlnaGJvdXIgKm5laWdoLCBjb25zdCB1OCAqbGxhZGRyLCB1OCBu ZXcsCiAJCWxsYWRkciA9IG5laWdoLT5oYTsKIAl9CiAKKwkvKiBVcGRhdGUgY29uZmlybWVkIHRp bWVzdGFtcCBmb3IgbmVpZ2hib3VyIGVudHJ5IGFmdGVyIHdlCisJICogcmVjZWl2ZWQgQVJQIHBh Y2tldCBldmVuIGlmIGl0IGRvZXNuJ3QgY2hhbmdlIElQIHRvIE1BQyBiaW5kaW5nLgorCSAqLwor CWlmIChuZXcgJiBOVURfQ09OTkVDVEVEKQorCQluZWlnaC0+Y29uZmlybWVkID0gamlmZmllczsK KwogCS8qIElmIGVudHJ5IHdhcyB2YWxpZCBhbmQgYWRkcmVzcyBpcyBub3QgY2hhbmdlZCwKIAkg ICBkbyBub3QgY2hhbmdlIGVudHJ5IHN0YXRlLCBpZiBuZXcgb25lIGlzIFNUQUxFLgogCSAqLwpA QCAtMTIwMCwxNSArMTIwNiwxMiBAQCBpbnQgbmVpZ2hfdXBkYXRlKHN0cnVjdCBuZWlnaGJvdXIg Km5laWdoLCBjb25zdCB1OCAqbGxhZGRyLCB1OCBuZXcsCiAJCX0KIAl9CiAKLQkvKiBVcGRhdGUg dGltZXN0YW1wcyBvbmx5IG9uY2Ugd2Uga25vdyB3ZSB3aWxsIG1ha2UgYSBjaGFuZ2UgdG8gdGhl CisJLyogVXBkYXRlIHRpbWVzdGFtcCBvbmx5IG9uY2Ugd2Uga25vdyB3ZSB3aWxsIG1ha2UgYSBj aGFuZ2UgdG8gdGhlCiAJICogbmVpZ2hib3VyIGVudHJ5LiBPdGhlcndpc2Ugd2UgcmlzayB0byBt b3ZlIHRoZSBsb2NrdGltZSB3aW5kb3cgd2l0aAogCSAqIG5vb3AgdXBkYXRlcyBhbmQgaWdub3Jl IHJlbGV2YW50IEFSUCB1cGRhdGVzLgogCSAqLwotCWlmIChuZXcgIT0gb2xkIHx8IGxsYWRkciAh PSBuZWlnaC0+aGEpIHsKLQkJaWYgKG5ldyAmIE5VRF9DT05ORUNURUQpCi0JCQluZWlnaC0+Y29u ZmlybWVkID0gamlmZmllczsKKwlpZiAobmV3ICE9IG9sZCB8fCBsbGFkZHIgIT0gbmVpZ2gtPmhh KQogCQluZWlnaC0+dXBkYXRlZCA9IGppZmZpZXM7Ci0JfQogCiAJaWYgKG5ldyAhPSBvbGQpIHsK IAkJbmVpZ2hfZGVsX3RpbWVyKG5laWdoKTsKLS0gCjIuMTMuNgoKCkZyb20gYTkxYWJhZDA2NWNj OWJlNjI3NGNhMDA1YTg2MTJmN2QyMTIwOWU5OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogUGFvbG8gQWJlbmkgPHBhYmVuaUByZWRoYXQuY29tPgpEYXRlOiBUaHUsIDEzIFNlcCAyMDE4 IDE2OjI3OjIxICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMi8yMl0gdWRwNjogYWRkIG1pc3Npbmcg Y2hlY2tzIG9uIGVkdW11eCBwYWNrZXQgcHJvY2Vzc2luZwoKWyBVcHN0cmVhbSBjb21taXQgZWI2 M2YyOTY0ZGJlMzZmMjZkZWFjNzdkMzAxNjc5MTY3NTgyMWRlZCBdCgpDdXJyZW50bHkgdGhlIFVE UHY2IGVhcmx5IGRlbXV4IHJ4IGNvZGUgcGF0aCBsYWNrcyBzb21lIG1hbmRhdG9yeQpjaGVja3Ms IGFscmVhZHkgaW1wbGVtZW50ZWQgaW50byB0aGUgbm9ybWFsIFJYIGNvZGUgcGF0aCAtIG5hbWVs eQp0aGUgY2hlY2tzdW0gY29udmVyc2lvbiBhbmQgbm9fY2hlY2s2X3J4IGNoZWNrLgoKU2ltaWxh ciB0byB0aGUgcHJldmlvdXMgY29tbWl0LCB3ZSBtb3ZlIHRoZSBjb21tb24gcHJvY2Vzc2luZyB0 bwphbiBVRFB2NiBzcGVjaWZpYyBoZWxwZXIgYW5kIGNhbGwgaXQgZnJvbSBib3RoIGVkZW11eCBj b2RlIHBhdGgKYW5kIG5vcm1hbCBjb2RlIHBhdGguIEluIHJlc3BlY3QgdG8gdGhlIFVEUHY0LCB3 ZSBuZWVkIHRvIGFkZCBhbgpleHBsaWNpdCBjaGVjayBmb3Igbm9uIHplcm8gY3N1bSBhY2NvcmRp bmcgdG8gbm9fY2hlY2s2X3J4IHZhbHVlLgoKUmVwb3J0ZWQtYnk6IEppYW5saW4gU2hpIDxqaXNo aUByZWRoYXQuY29tPgpTdWdnZXN0ZWQtYnk6IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNv bT4KRml4ZXM6IGM5ZjJjMWFlMTIzYSAoInVkcDY6IGZpeCBzb2NrZXQgbGVhayBvbiBlYXJseSBk ZW11eCIpCkZpeGVzOiAyYWJiN2NkYzBkYzggKCJ1ZHA6IEFkZCBzdXBwb3J0IGZvciBkb2luZyBj aGVja3N1bSB1bm5lY2Vzc2FyeSBjb252ZXJzaW9uIikKU2lnbmVkLW9mZi1ieTogUGFvbG8gQWJl bmkgPHBhYmVuaUByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRh dmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjYvdWRwLmMgfCA2NSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hh bmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0 L2lwdjYvdWRwLmMgYi9uZXQvaXB2Ni91ZHAuYwppbmRleCBlNjY0NWNhZTQwM2UuLjM5ZDBjYWI5 MTliYiAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvdWRwLmMKKysrIGIvbmV0L2lwdjYvdWRwLmMKQEAg LTc0OCw2ICs3NDgsMjggQEAgc3RhdGljIHZvaWQgdWRwNl9za19yeF9kc3Rfc2V0KHN0cnVjdCBz b2NrICpzaywgc3RydWN0IGRzdF9lbnRyeSAqZHN0KQogCX0KIH0KIAorLyogd3JhcHBlciBmb3Ig dWRwX3F1ZXVlX3Jjdl9za2IgdGFja2luZyBjYXJlIG9mIGNzdW0gY29udmVyc2lvbiBhbmQKKyAq IHJldHVybiBjb2RlIGNvbnZlcnNpb24gZm9yIGlwIGxheWVyIGNvbnN1bXB0aW9uCisgKi8KK3N0 YXRpYyBpbnQgdWRwNl91bmljYXN0X3Jjdl9za2Ioc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tf YnVmZiAqc2tiLAorCQkJCXN0cnVjdCB1ZHBoZHIgKnVoKQoreworCWludCByZXQ7CisKKwlpZiAo aW5ldF9nZXRfY29udmVydF9jc3VtKHNrKSAmJiB1aC0+Y2hlY2sgJiYgIUlTX1VEUExJVEUoc2sp KQorCQlza2JfY2hlY2tzdW1fdHJ5X2NvbnZlcnQoc2tiLCBJUFBST1RPX1VEUCwgdWgtPmNoZWNr LAorCQkJCQkgaXA2X2NvbXB1dGVfcHNldWRvKTsKKworCXJldCA9IHVkcHY2X3F1ZXVlX3Jjdl9z a2Ioc2ssIHNrYik7CisKKwkvKiBhIHJldHVybiB2YWx1ZSA+IDAgbWVhbnMgdG8gcmVzdWJtaXQg dGhlIGlucHV0LCBidXQKKwkgKiBpdCB3YW50cyB0aGUgcmV0dXJuIHRvIGJlIC1wcm90b2NvbCwg b3IgMAorCSAqLworCWlmIChyZXQgPiAwKQorCQlyZXR1cm4gLXJldDsKKwlyZXR1cm4gMDsKK30K KwogaW50IF9fdWRwNl9saWJfcmN2KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB1ZHBfdGFi bGUgKnVkcHRhYmxlLAogCQkgICBpbnQgcHJvdG8pCiB7CkBAIC03OTksMTMgKzgyMSwxNCBAQCBp bnQgX191ZHA2X2xpYl9yY3Yoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IHVkcF90YWJsZSAq dWRwdGFibGUsCiAJCWlmICh1bmxpa2VseShzay0+c2tfcnhfZHN0ICE9IGRzdCkpCiAJCQl1ZHA2 X3NrX3J4X2RzdF9zZXQoc2ssIGRzdCk7CiAKLQkJcmV0ID0gdWRwdjZfcXVldWVfcmN2X3NrYihz aywgc2tiKTsKLQkJc29ja19wdXQoc2spOworCQlpZiAoIXVoLT5jaGVjayAmJiAhdWRwX3NrKHNr KS0+bm9fY2hlY2s2X3J4KSB7CisJCQlzb2NrX3B1dChzayk7CisJCQlnb3RvIHJlcG9ydF9jc3Vt X2Vycm9yOworCQl9CiAKLQkJLyogYSByZXR1cm4gdmFsdWUgPiAwIG1lYW5zIHRvIHJlc3VibWl0 IHRoZSBpbnB1dCAqLwotCQlpZiAocmV0ID4gMCkKLQkJCXJldHVybiByZXQ7Ci0JCXJldHVybiAw OworCQlyZXQgPSB1ZHA2X3VuaWNhc3RfcmN2X3NrYihzaywgc2tiLCB1aCk7CisJCXNvY2tfcHV0 KHNrKTsKKwkJcmV0dXJuIHJldDsKIAl9CiAKIAkvKgpAQCAtODE4LDMwICs4NDEsMTMgQEAgaW50 IF9fdWRwNl9saWJfcmN2KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB1ZHBfdGFibGUgKnVk cHRhYmxlLAogCS8qIFVuaWNhc3QgKi8KIAlzayA9IF9fdWRwNl9saWJfbG9va3VwX3NrYihza2Is IHVoLT5zb3VyY2UsIHVoLT5kZXN0LCB1ZHB0YWJsZSk7CiAJaWYgKHNrKSB7Ci0JCWludCByZXQ7 Ci0KLQkJaWYgKCF1aC0+Y2hlY2sgJiYgIXVkcF9zayhzayktPm5vX2NoZWNrNl9yeCkgewotCQkJ dWRwNl9jc3VtX3plcm9fZXJyb3Ioc2tiKTsKLQkJCWdvdG8gY3N1bV9lcnJvcjsKLQkJfQotCi0J CWlmIChpbmV0X2dldF9jb252ZXJ0X2NzdW0oc2spICYmIHVoLT5jaGVjayAmJiAhSVNfVURQTElU RShzaykpCi0JCQlza2JfY2hlY2tzdW1fdHJ5X2NvbnZlcnQoc2tiLCBJUFBST1RPX1VEUCwgdWgt PmNoZWNrLAotCQkJCQkJIGlwNl9jb21wdXRlX3BzZXVkbyk7Ci0KLQkJcmV0ID0gdWRwdjZfcXVl dWVfcmN2X3NrYihzaywgc2tiKTsKLQotCQkvKiBhIHJldHVybiB2YWx1ZSA+IDAgbWVhbnMgdG8g cmVzdWJtaXQgdGhlIGlucHV0ICovCi0JCWlmIChyZXQgPiAwKQotCQkJcmV0dXJuIHJldDsKLQot CQlyZXR1cm4gMDsKKwkJaWYgKCF1aC0+Y2hlY2sgJiYgIXVkcF9zayhzayktPm5vX2NoZWNrNl9y eCkKKwkJCWdvdG8gcmVwb3J0X2NzdW1fZXJyb3I7CisJCXJldHVybiB1ZHA2X3VuaWNhc3RfcmN2 X3NrYihzaywgc2tiLCB1aCk7CiAJfQogCi0JaWYgKCF1aC0+Y2hlY2spIHsKLQkJdWRwNl9jc3Vt X3plcm9fZXJyb3Ioc2tiKTsKLQkJZ290byBjc3VtX2Vycm9yOwotCX0KKwlpZiAoIXVoLT5jaGVj aykKKwkJZ290byByZXBvcnRfY3N1bV9lcnJvcjsKIAogCWlmICgheGZybTZfcG9saWN5X2NoZWNr KE5VTEwsIFhGUk1fUE9MSUNZX0lOLCBza2IpKQogCQlnb3RvIGRpc2NhcmQ7CkBAIC04NjIsNiAr ODY4LDkgQEAgaW50IF9fdWRwNl9saWJfcmN2KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB1 ZHBfdGFibGUgKnVkcHRhYmxlLAogCQkJICAgIHVsZW4sIHNrYi0+bGVuLAogCQkJICAgIGRhZGRy LCBudG9ocyh1aC0+ZGVzdCkpOwogCWdvdG8gZGlzY2FyZDsKKworcmVwb3J0X2NzdW1fZXJyb3I6 CisJdWRwNl9jc3VtX3plcm9fZXJyb3Ioc2tiKTsKIGNzdW1fZXJyb3I6CiAJX19VRFA2X0lOQ19T VEFUUyhuZXQsIFVEUF9NSUJfQ1NVTUVSUk9SUywgcHJvdG8gPT0gSVBQUk9UT19VRFBMSVRFKTsK IGRpc2NhcmQ6Ci0tIAoyLjEzLjYKCgpGcm9tIGE0OWM3ZTliODc0NTRjNzVjMzJlYWE1M2Q3MzVk OWMzNjg0NjBiMDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IERhdmlkZSBDYXJhdHRp IDxkY2FyYXR0aUByZWRoYXQuY29tPgpEYXRlOiBGcmksIDE0IFNlcCAyMDE4IDEyOjAzOjE4ICsw MjAwClN1YmplY3Q6IFtQQVRDSCAxMy8yMl0gbmV0L3NjaGVkOiBhY3Rfc2FtcGxlOiBmaXggTlVM TCBkZXJlZmVyZW5jZSBpbiB0aGUgZGF0YQogcGF0aAoKWyBVcHN0cmVhbSBjb21taXQgMzQwNDNk MjUwZjUxMzY4ZjIxNGFlZDdmNTRjMmRjMjljODE5YThjNyBdCgpNYXR0ZW8gcmVwb3J0ZWQgdGhl IGZvbGxvd2luZyBzcGxhdCwgdGVzdGluZyB0aGUgZGF0YXBhdGggb2YgVEMgJ3NhbXBsZSc6Cgog QlVHOiBLQVNBTjogbnVsbC1wdHItZGVyZWYgaW4gdGNmX3NhbXBsZV9hY3QrMHhjNC8weDMxMAog UmVhZCBvZiBzaXplIDggYXQgYWRkciAwMDAwMDAwMDAwMDAwMDAwIGJ5IHRhc2sgbmMvNDMzCgog Q1BVOiAwIFBJRDogNDMzIENvbW06IG5jIE5vdCB0YWludGVkIDQuMTkuMC1yYzMta3ZtICMxNwog SGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQQyAoUTM1ICsgSUNIOSwgMjAwOSksIEJJT1Mg Py0yMDE4MDUzMV8xNDIwMTctYnVpbGRody0wOC5waHgyLmZlZG9yYXByb2plY3Qub3JnLTEuZmMy OCAwNC8wMS8yMDE0CiBDYWxsIFRyYWNlOgogIGthc2FuX3JlcG9ydC5jb2xkLjYrMHg2Yy8weDJm YQogIHRjZl9zYW1wbGVfYWN0KzB4YzQvMHgzMTAKICA/IGRldl9oYXJkX3N0YXJ0X3htaXQrMHgx MTcvMHgxODAKICB0Y2ZfYWN0aW9uX2V4ZWMrMHhhMy8weDE2MAogIHRjZl9jbGFzc2lmeSsweGRk LzB4MWQwCiAgaHRiX2VucXVldWUrMHgxOGUvMHg2YjAKICA/IGRlcmVmX3N0YWNrX3JlZysweDdh LzB4YjAKICA/IGh0Yl9kZWxldGUrMHg0YjAvMHg0YjAKICA/IHVud2luZF9uZXh0X2ZyYW1lKzB4 ODE5LzB4OGYwCiAgPyBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0NC8weGE5CiAg X19kZXZfcXVldWVfeG1pdCsweDcyMi8weGNhMAogID8gdW53aW5kX2dldF9yZXR1cm5fYWRkcmVz c19wdHIrMHg1MC8weDUwCiAgPyBuZXRkZXZfcGlja190eCsweGUwLzB4ZTAKICA/IHNhdmVfc3Rh Y2srMHg4Yy8weGIwCiAgPyBrYXNhbl9rbWFsbG9jKzB4YmUvMHhkMAogID8gX19rbWFsbG9jX3Ry YWNrX2NhbGxlcisweGU0LzB4MWMwCiAgPyBfX2ttYWxsb2NfcmVzZXJ2ZS5pc3JhLjQ1KzB4MjQv MHg3MAogID8gX19hbGxvY19za2IrMHhkZC8weDJlMAogID8gc2tfc3RyZWFtX2FsbG9jX3NrYisw eDkxLzB4M2IwCiAgPyB0Y3Bfc2VuZG1zZ19sb2NrZWQrMHg3MWIvMHgxNWEwCiAgPyB0Y3Bfc2Vu ZG1zZysweDIyLzB4NDAKICA/IF9fc3lzX3NlbmR0bysweDFiMC8weDI1MAogID8gX194NjRfc3lz X3NlbmR0bysweDZmLzB4ODAKICA/IGRvX3N5c2NhbGxfNjQrMHg1ZC8weDE1MAogID8gZW50cnlf U1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDQvMHhhOQogID8gX19zeXNfc2VuZHRvKzB4MWIw LzB4MjUwCiAgPyBfX3g2NF9zeXNfc2VuZHRvKzB4NmYvMHg4MAogID8gZG9fc3lzY2FsbF82NCsw eDVkLzB4MTUwCiAgPyBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0NC8weGE5CiAg aXBfZmluaXNoX291dHB1dDIrMHg0OTUvMHg1OTAKICA/IGlwX2NvcHlfbWV0YWRhdGErMHgyZTAv MHgyZTAKICA/IHNrYl9nc29fdmFsaWRhdGVfbmV0d29ya19sZW4rMHg2Zi8weDExMAogID8gaXBf ZmluaXNoX291dHB1dCsweDE3NC8weDI4MAogIF9fdGNwX3RyYW5zbWl0X3NrYisweGIxNy8weDEy YjAKICA/IF9fdGNwX3NlbGVjdF93aW5kb3crMHgzODAvMHgzODAKICB0Y3Bfd3JpdGVfeG1pdCsw eDkxMy8weDFkZTAKICA/IF9fc2tfbWVtX3NjaGVkdWxlKzB4NTAvMHg4MAogIHRjcF9zZW5kbXNn X2xvY2tlZCsweDQ5ZC8weDE1YTAKICA/IHRjcF9yY3ZfZXN0YWJsaXNoZWQrMHg4ZGEvMHhhMzAK ICA/IHRjcF9zZXRfc3RhdGUrMHgyMjAvMHgyMjAKICA/IGNsZWFyX3VzZXIrMHgxZi8weDUwCiAg PyBpb3ZfaXRlcl96ZXJvKzB4MWFlLzB4NTkwCiAgPyBfX2ZnZXRfbGlnaHQrMHhhMC8weGUwCiAg dGNwX3NlbmRtc2crMHgyMi8weDQwCiAgX19zeXNfc2VuZHRvKzB4MWIwLzB4MjUwCiAgPyBfX2lh MzJfc3lzX2dldHBlZXJuYW1lKzB4NDAvMHg0MAogID8gX2NvcHlfdG9fdXNlcisweDU4LzB4NzAK ICA/IHBvbGxfc2VsZWN0X2NvcHlfcmVtYWluaW5nKzB4MTc2LzB4MjAwCiAgPyBfX3BvbGx3YWl0 KzB4MWMwLzB4MWMwCiAgPyBrdGltZV9nZXRfdHM2NCsweDExZi8weDE0MAogID8ga2Vybl9zZWxl Y3QrMHgxMDgvMHgxNTAKICA/IGNvcmVfc3lzX3NlbGVjdCsweDM2MC8weDM2MAogID8gdmZzX3Jl YWQrMHgxMjcvMHgxNTAKICA/IGtlcm5lbF93cml0ZSsweDkwLzB4OTAKICBfX3g2NF9zeXNfc2Vu ZHRvKzB4NmYvMHg4MAogIGRvX3N5c2NhbGxfNjQrMHg1ZC8weDE1MAogIGVudHJ5X1NZU0NBTExf NjRfYWZ0ZXJfaHdmcmFtZSsweDQ0LzB4YTkKIFJJUDogMDAzMzoweDdmZWZlZjJiMTI5ZAogQ29k ZTogZmYgZmYgZmYgZmYgZWIgYjYgMGYgMWYgODAgMDAgMDAgMDAgMDAgNDggOGQgMDUgNTEgMzcg MGMgMDAgNDEgODkgY2EgOGIgMDAgODUgYzAgNzUgMjAgNDUgMzEgYzkgNDUgMzEgYzAgYjggMmMg MDAgMDAgMDAgMGYgMDUgPDQ4PiAzZCAwMCBmMCBmZiBmZiA3NyA2YiBmMyBjMyA2NiAwZiAxZiA4 NCAwMCAwMCAwMCAwMCAwMCA0MSA1NiA0MQogUlNQOiAwMDJiOjAwMDA3ZmZmMmY1MzUwYzggRUZM QUdTOiAwMDAwMDI0NiBPUklHX1JBWDogMDAwMDAwMDAwMDAwMDAyYwogUkFYOiBmZmZmZmZmZmZm ZmZmZmRhIFJCWDogMDAwMDU2MTE4ZDYwYzEyMCBSQ1g6IDAwMDA3ZmVmZWYyYjEyOWQKIFJEWDog MDAwMDAwMDAwMDAwMjAwMCBSU0k6IDAwMDA1NjExOGQ2MjkzMjAgUkRJOiAwMDAwMDAwMDAwMDAw MDAzCiBSQlA6IDAwMDA1NjExOGQ1MzAzNzAgUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIwOTogMDAw MDAwMDAwMDAwMDAwMAogUjEwOiAwMDAwMDAwMDAwMDAwMDAwIFIxMTogMDAwMDAwMDAwMDAwMDI0 NiBSMTI6IDAwMDAwMDAwMDAwMDIwMDAKIFIxMzogMDAwMDU2MTE4ZDVjMmExMCBSMTQ6IDAwMDA1 NjExOGQ1YzJhMTAgUjE1OiAwMDAwNTYxMThkNTMwM2I4Cgp0Y2Zfc2FtcGxlX2FjdCgpIHRyaWVk IHRvIHVwZGF0ZSBpdHMgcGVyLWNwdSBzdGF0cywgYnV0IHRjZl9zYW1wbGVfaW5pdCgpCmZvcmdv dCB0byBhbGxvY2F0ZSB0aGVtLCBiZWNhdXNlIHRjZl9pZHJfY3JlYXRlKCkgd2FzIGNhbGxlZCB3 aXRoIGEgd3JvbmcKdmFsdWUgb2YgJ2NwdXN0YXRzJy4gU2V0dGluZyBpdCB0byB0cnVlIHByb3Zl ZCB0byBmaXggdGhlIHJlcG9ydGVkIGNyYXNoLgoKUmVwb3J0ZWQtYnk6IE1hdHRlbyBDcm9jZSA8 bWNyb2NlQHJlZGhhdC5jb20+CkZpeGVzOiA2NWEyMDZjMDFlOGUgKCJuZXQvc2NoZWQ6IENoYW5n ZSBhY3RfYXBpIGFuZCBhY3RfeHh4IG1vZHVsZXMgdG8gdXNlIElEUiIpCkZpeGVzOiA1YzU2NzBm YWU0MzAgKCJuZXQvc2NoZWQ6IEludHJvZHVjZSBzYW1wbGUgdGMgYWN0aW9uIikKVGVzdGVkLWJ5 OiBNYXR0ZW8gQ3JvY2UgPG1jcm9jZUByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZGUg Q2FyYXR0aSA8ZGNhcmF0dGlAcmVkaGF0LmNvbT4KQWNrZWQtYnk6IEppcmkgUGlya28gPGppcmlA bWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogbmV0L3NjaGVkL2FjdF9zYW1wbGUuYyB8IDIgKy0KIDEgZmlsZSBjaGFu Z2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9zY2hl ZC9hY3Rfc2FtcGxlLmMgYi9uZXQvc2NoZWQvYWN0X3NhbXBsZS5jCmluZGV4IDVkYjM1ODQ5N2M5 ZS4uZTBlMzM0YTNhNmUxIDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvYWN0X3NhbXBsZS5jCisrKyBi L25ldC9zY2hlZC9hY3Rfc2FtcGxlLmMKQEAgLTY0LDcgKzY0LDcgQEAgc3RhdGljIGludCB0Y2Zf c2FtcGxlX2luaXQoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3QgbmxhdHRyICpubGEsCiAKIAlpZiAo IWV4aXN0cykgewogCQlyZXQgPSB0Y2ZfaWRyX2NyZWF0ZSh0biwgcGFybS0+aW5kZXgsIGVzdCwg YSwKLQkJCQkgICAgICZhY3Rfc2FtcGxlX29wcywgYmluZCwgZmFsc2UpOworCQkJCSAgICAgJmFj dF9zYW1wbGVfb3BzLCBiaW5kLCB0cnVlKTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7CiAJ CXJldCA9IEFDVF9QX0NSRUFURUQ7Ci0tIAoyLjEzLjYKCgpGcm9tIGNlZDc5YzllN2MwMGZiYWYx OTg0OTY5NmZmNTVjNGYzM2NiMzg2MjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFN0 ZXBoZW4gSGVtbWluZ2VyIDxzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZz4KRGF0ZTogVGh1LCAx MyBTZXAgMjAxOCAwODowMzo0MyAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMjJdIGh2X25ldHZz YzogZml4IHNjaGVkdWxlIGluIFJDVSBjb250ZXh0CgpbIFVwc3RyZWFtIGNvbW1pdCAwMTgzNDlk NzBmMjhhNzhkNTM0M2IzNjYwY2I2NmUxNjY3MDA1ZjhhIF0KCldoZW4gbmV0dnNjIGRldmljZSBp cyByZW1vdmVkIGl0IGNhbiBjYWxsIHJlc2NoZWR1bGUgaW4gUkNVIGNvbnRleHQuClRoaXMgaGFw cGVucyBiZWNhdXNlIGNhbmNlbGluZyB0aGUgc3ViY2hhbm5lbCBzZXR1cCB3b3JrIGNvdWxkIChp biB0aGVvcnkpCmNhdXNlIGEgcmVzY2hlZHVsZSB3aGVuIG1hbmlwdWxhdGluZyB0aGUgdGltZXIu CgpUbyByZXByb2R1Y2UsIHJ1biB3aXRoIGxvY2tkZXAgZW5hYmxlZCBrZXJuZWwgYW5kIHVuYmlu ZAphIG5ldHdvcmsgZGV2aWNlIGZyb20gaHZfbmV0dnNjICh2aWEgc3lzZnMpLgoKWyAgMTYwLjY4 MjAxMV0gV0FSTklORzogc3VzcGljaW91cyBSQ1UgdXNhZ2UKWyAgMTYwLjcwNzQ2Nl0gNC4xOS4w LXJjMy11aW8rICMyIE5vdCB0YWludGVkClsgIDE2MC43MDk5MzddIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tClsgIDE2MC43MTIzNTJdIC4vaW5jbHVkZS9saW51eC9yY3VwZGF0ZS5oOjMw MiBJbGxlZ2FsIGNvbnRleHQgc3dpdGNoIGluIFJDVSByZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlv biEKWyAgMTYwLjcyMzY5MV0KWyAgMTYwLjcyMzY5MV0gb3RoZXIgaW5mbyB0aGF0IG1pZ2h0IGhl bHAgdXMgZGVidWcgdGhpczoKWyAgMTYwLjcyMzY5MV0KWyAgMTYwLjczMDk1NV0KWyAgMTYwLjcz MDk1NV0gcmN1X3NjaGVkdWxlcl9hY3RpdmUgPSAyLCBkZWJ1Z19sb2NrcyA9IDEKWyAgMTYwLjc2 MjgxM10gNSBsb2NrcyBoZWxkIGJ5IHJlYmluZC1ldGguc2gvMTgxMjoKWyAgMTYwLjc2Njg1MV0g ICMwOiAwMDAwMDAwMDhiZWZhMzdhIChzYl93cml0ZXJzIzYpey4rLit9LCBhdDogdmZzX3dyaXRl KzB4MTg0LzB4MWIwClsgIDE2MC43NzM0MTZdICAjMTogMDAwMDAwMDBiMDk3ZjIzNiAoJm9mLT5t dXRleCl7Ky4rLn0sIGF0OiBrZXJuZnNfZm9wX3dyaXRlKzB4ZTIvMHgxYTAKWyAgMTYwLjc4Mzc2 Nl0gICMyOiAwMDAwMDAwMDQxZWU2ODg5IChrbi0+Y291bnQjMyl7KysrK30sIGF0OiBrZXJuZnNf Zm9wX3dyaXRlKzB4ZWIvMHgxYTAKWyAgMTYwLjc4NzQ2NV0gICMzOiAwMDAwMDAwMDU2ZDkyYTc0 ICgmZGV2LT5tdXRleCl7Li4uLn0sIGF0OiBkZXZpY2VfcmVsZWFzZV9kcml2ZXJfaW50ZXJuYWwr MHgzOS8weDI1MApbICAxNjAuODE2OTg3XSAgIzQ6IDAwMDAwMDAwMzBmNjAzMWUgKHJjdV9yZWFk X2xvY2spey4uLi59LCBhdDogbmV0dnNjX3JlbW92ZSsweDFlLzB4MjUwIFtodl9uZXR2c2NdClsg IDE2MC44Mjg2MjldClsgIDE2MC44Mjg2MjldIHN0YWNrIGJhY2t0cmFjZToKWyAgMTYwLjgzMTk2 Nl0gQ1BVOiAxIFBJRDogMTgxMiBDb21tOiByZWJpbmQtZXRoLnNoIE5vdCB0YWludGVkIDQuMTku MC1yYzMtdWlvKyAjMgpbICAxNjAuODMyOTUyXSBIYXJkd2FyZSBuYW1lOiBNaWNyb3NvZnQgQ29y cG9yYXRpb24gVmlydHVhbCBNYWNoaW5lL1ZpcnR1YWwgTWFjaGluZSwgQklPUyBIeXBlci1WIFVF RkkgUmVsZWFzZSB2MS4wIDExLzI2LzIwMTIKWyAgMTYwLjgzMjk1Ml0gQ2FsbCBUcmFjZToKWyAg MTYwLjgzMjk1Ml0gIGR1bXBfc3RhY2srMHg4NS8weGNiClsgIDE2MC44MzI5NTJdICBfX19taWdo dF9zbGVlcCsweDFhMy8weDI0MApbICAxNjAuODMyOTUyXSAgX19mbHVzaF93b3JrKzB4NTcvMHgy ZTAKWyAgMTYwLjgzMjk1Ml0gID8gX19tdXRleF9sb2NrKzB4ODMvMHg5OTAKWyAgMTYwLjgzMjk1 Ml0gID8gX19rZXJuZnNfcmVtb3ZlKzB4MjRmLzB4MmUwClsgIDE2MC44MzI5NTJdICA/IF9fa2Vy bmZzX3JlbW92ZSsweDFiMi8weDJlMApbICAxNjAuODMyOTUyXSAgPyBtYXJrX2hlbGRfbG9ja3Mr MHg1MC8weDgwClsgIDE2MC44MzI5NTJdICA/IGdldF93b3JrX3Bvb2wrMHg5MC8weDkwClsgIDE2 MC44MzI5NTJdICBfX2NhbmNlbF93b3JrX3RpbWVyKzB4MTNjLzB4MWUwClsgIDE2MC44MzI5NTJd ICA/IG5ldHZzY19yZW1vdmUrMHgxZS8weDI1MCBbaHZfbmV0dnNjXQpbICAxNjAuODMyOTUyXSAg PyBfX2xvY2tfaXNfaGVsZCsweDU1LzB4OTAKWyAgMTYwLjgzMjk1Ml0gIG5ldHZzY19yZW1vdmUr MHg5YS8weDI1MCBbaHZfbmV0dnNjXQpbICAxNjAuODMyOTUyXSAgdm1idXNfcmVtb3ZlKzB4MjYv MHgzMApbICAxNjAuODMyOTUyXSAgZGV2aWNlX3JlbGVhc2VfZHJpdmVyX2ludGVybmFsKzB4MThh LzB4MjUwClsgIDE2MC44MzI5NTJdICB1bmJpbmRfc3RvcmUrMHhiNC8weDE4MApbICAxNjAuODMy OTUyXSAga2VybmZzX2ZvcF93cml0ZSsweDExMy8weDFhMApbICAxNjAuODMyOTUyXSAgX192ZnNf d3JpdGUrMHgzNi8weDFhMApbICAxNjAuODMyOTUyXSAgPyByY3VfcmVhZF9sb2NrX3NjaGVkX2hl bGQrMHg2Yi8weDgwClsgIDE2MC44MzI5NTJdICA/IHJjdV9zeW5jX2xvY2tkZXBfYXNzZXJ0KzB4 MmUvMHg2MApbICAxNjAuODMyOTUyXSAgPyBfX3NiX3N0YXJ0X3dyaXRlKzB4MTQxLzB4MWEwClsg IDE2MC44MzI5NTJdICA/IHZmc193cml0ZSsweDE4NC8weDFiMApbICAxNjAuODMyOTUyXSAgdmZz X3dyaXRlKzB4YmUvMHgxYjAKWyAgMTYwLjgzMjk1Ml0gIGtzeXNfd3JpdGUrMHg1NS8weGMwClsg IDE2MC44MzI5NTJdICBkb19zeXNjYWxsXzY0KzB4NjAvMHgxYjAKWyAgMTYwLjgzMjk1Ml0gIGVu dHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKWyAgMTYwLjgzMjk1Ml0gUklQ OiAwMDMzOjB4N2ZlNDhmNGM4MTU0CgpSZXNvbHZlIHRoaXMgYnkgZ2V0dGluZyBSVE5MIGVhcmxp ZXIuIFRoaXMgaXMgc2FmZSBiZWNhdXNlIHRoZSBzdWJjaGFubmVsCndvcmsgcXVldWUgZG9lcyB0 cnlsb2NrIG9uIFJUTkwgYW5kIHdpbGwgZGV0ZWN0IHRoZSByYWNlLgoKRml4ZXM6IDdiMmVlNTBj MGNkNSAoImh2X25ldHZzYzogY29tbW9uIGRldGFjaCBsb2dpYyIpClNpZ25lZC1vZmYtYnk6IFN0 ZXBoZW4gSGVtbWluZ2VyIDxzdGhlbW1pbkBtaWNyb3NvZnQuY29tPgpSZXZpZXdlZC1ieTogSGFp eWFuZyBaaGFuZyA8aGFpeWFuZ3pAbWljcm9zb2Z0LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2h5cGVydi9u ZXR2c2NfZHJ2LmMgfCA5ICsrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygr KSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9oeXBlcnYvbmV0dnNj X2Rydi5jIGIvZHJpdmVycy9uZXQvaHlwZXJ2L25ldHZzY19kcnYuYwppbmRleCA2ZDc0Y2RlNjgx NjMuLmMwZmMzMGExZjYwMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvaHlwZXJ2L25ldHZzY19k cnYuYworKysgYi9kcml2ZXJzL25ldC9oeXBlcnYvbmV0dnNjX2Rydi5jCkBAIC0yMTcyLDE3ICsy MTcyLDE1IEBAIHN0YXRpYyBpbnQgbmV0dnNjX3JlbW92ZShzdHJ1Y3QgaHZfZGV2aWNlICpkZXYp CiAKIAljYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJm5kZXZfY3R4LT5kd29yayk7CiAKLQlyY3Vf cmVhZF9sb2NrKCk7Ci0JbnZkZXYgPSByY3VfZGVyZWZlcmVuY2UobmRldl9jdHgtPm52ZGV2KTsK LQotCWlmICAobnZkZXYpCisJcnRubF9sb2NrKCk7CisJbnZkZXYgPSBydG5sX2RlcmVmZXJlbmNl KG5kZXZfY3R4LT5udmRldik7CisJaWYgKG52ZGV2KQogCQljYW5jZWxfd29ya19zeW5jKCZudmRl di0+c3ViY2hhbl93b3JrKTsKIAogCS8qCiAJICogQ2FsbCB0byB0aGUgdnNjIGRyaXZlciB0byBs ZXQgaXQga25vdyB0aGF0IHRoZSBkZXZpY2UgaXMgYmVpbmcKIAkgKiByZW1vdmVkLiBBbHNvIGJs b2NrcyBtdHUgYW5kIGNoYW5uZWwgY2hhbmdlcy4KIAkgKi8KLQlydG5sX2xvY2soKTsKIAl2Zl9u ZXRkZXYgPSBydG5sX2RlcmVmZXJlbmNlKG5kZXZfY3R4LT52Zl9uZXRkZXYpOwogCWlmICh2Zl9u ZXRkZXYpCiAJCW5ldHZzY191bnJlZ2lzdGVyX3ZmKHZmX25ldGRldik7CkBAIC0yMTk0LDcgKzIx OTIsNiBAQCBzdGF0aWMgaW50IG5ldHZzY19yZW1vdmUoc3RydWN0IGh2X2RldmljZSAqZGV2KQog CWxpc3RfZGVsKCZuZGV2X2N0eC0+bGlzdCk7CiAKIAlydG5sX3VubG9jaygpOwotCXJjdV9yZWFk X3VubG9jaygpOwogCiAJaHZfc2V0X2RydmRhdGEoZGV2LCBOVUxMKTsKIAotLSAKMi4xMy42CgoK RnJvbSBlMjczZTljZjliYWM5YjliZDZmOTJkNDlkM2Y4M2Y3NGNmMzY5OGViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgTHVubiA8YW5kcmV3QGx1bm4uY2g+CkRhdGU6IEZy aSwgMTQgU2VwIDIwMTggMjM6NDY6MTIgKzAyMDAKU3ViamVjdDogW1BBVENIIDE1LzIyXSBuZXQ6 IGRzYTogbXY4OGU2eHh4OiBGaXggQVRVIE1pc3MgVmlvbGF0aW9uCgpbIFVwc3RyZWFtIGNvbW1p dCBkZGNhMjRkZmNmMWJlYzYwODY2OGRkNDRjNDVkNDkzOTdiNzBmNTIwIF0KCkZpeCBhIGN1dC9w YXN0ZSBlcnJvciBhbmQgYSB0eXBvIHdoaWNoIHJlc3VsdHMgaW4gQVRVIG1pc3MgdmlvbGF0aW9u cwpub3QgYmVpbmcgcmVwb3J0ZWQuCgpGaXhlczogMDk3NzY0NGM1MDA1ICgibmV0OiBkc2E6IG12 ODhlNnh4eDogRGVjb2RlIEFUVSBwcm9ibGVtIGludGVycnVwdCIpClNpZ25lZC1vZmYtYnk6IEFu ZHJldyBMdW5uIDxhbmRyZXdAbHVubi5jaD4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVy IDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2RzYS9tdjg4ZTZ4eHgvZ2xv YmFsMS5oICAgICB8IDIgKy0KIGRyaXZlcnMvbmV0L2RzYS9tdjg4ZTZ4eHgvZ2xvYmFsMV9hdHUu YyB8IDIgKy0KIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2RzYS9tdjg4ZTZ4eHgvZ2xvYmFsMS5oIGIvZHJp dmVycy9uZXQvZHNhL212ODhlNnh4eC9nbG9iYWwxLmgKaW5kZXggN2M3OTFjMWRhNGI5Li5iZWYw MTMzMTI2NmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2RzYS9tdjg4ZTZ4eHgvZ2xvYmFsMS5o CisrKyBiL2RyaXZlcnMvbmV0L2RzYS9tdjg4ZTZ4eHgvZ2xvYmFsMS5oCkBAIC0xMjgsNyArMTI4 LDcgQEAKICNkZWZpbmUgTVY4OEU2WFhYX0cxX0FUVV9PUF9HRVRfQ0xSX1ZJT0xBVElPTgkJMHg3 MDAwCiAjZGVmaW5lIE1WODhFNlhYWF9HMV9BVFVfT1BfQUdFX09VVF9WSU9MQVRJT04JCUJJVCg3 KQogI2RlZmluZSBNVjg4RTZYWFhfRzFfQVRVX09QX01FTUJFUl9WSU9MQVRJT04JCUJJVCg2KQot I2RlZmluZSBNVjg4RTZYWFhfRzFfQVRVX09QX01JU1NfVklPTFRBVElPTgkJQklUKDUpCisjZGVm aW5lIE1WODhFNlhYWF9HMV9BVFVfT1BfTUlTU19WSU9MQVRJT04JCUJJVCg1KQogI2RlZmluZSBN Vjg4RTZYWFhfRzFfQVRVX09QX0ZVTExfVklPTEFUSU9OCQlCSVQoNCkKIAogLyogT2Zmc2V0IDB4 MEM6IEFUVSBEYXRhIFJlZ2lzdGVyICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9kc2EvbXY4 OGU2eHh4L2dsb2JhbDFfYXR1LmMgYi9kcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2dsb2JhbDFf YXR1LmMKaW5kZXggMzA3NDEwODk4ZmM5Li41MjAwZTRiZGNlOTMgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvbmV0L2RzYS9tdjg4ZTZ4eHgvZ2xvYmFsMV9hdHUuYworKysgYi9kcml2ZXJzL25ldC9kc2Ev bXY4OGU2eHh4L2dsb2JhbDFfYXR1LmMKQEAgLTM0OSw3ICszNDksNyBAQCBzdGF0aWMgaXJxcmV0 dXJuX3QgbXY4OGU2eHh4X2cxX2F0dV9wcm9iX2lycV90aHJlYWRfZm4oaW50IGlycSwgdm9pZCAq ZGV2X2lkKQogCQljaGlwLT5wb3J0c1tlbnRyeS5wb3J0dmVjXS5hdHVfbWVtYmVyX3Zpb2xhdGlv bisrOwogCX0KIAotCWlmICh2YWwgJiBNVjg4RTZYWFhfRzFfQVRVX09QX01FTUJFUl9WSU9MQVRJ T04pIHsKKwlpZiAodmFsICYgTVY4OEU2WFhYX0cxX0FUVV9PUF9NSVNTX1ZJT0xBVElPTikgewog CQlkZXZfZXJyX3JhdGVsaW1pdGVkKGNoaXAtPmRldiwKIAkJCQkgICAgIkFUVSBtaXNzIHZpb2xh dGlvbiBmb3IgJXBNIHBvcnR2ZWMgJXhcbiIsCiAJCQkJICAgIGVudHJ5Lm1hYywgZW50cnkucG9y dHZlYyk7Ci0tIAoyLjEzLjYKCgpGcm9tIDlmNzcxZTg1N2RiNzJhNTUxM2NkOTcyMzNlMzAwYmUx ZjQxMzVhMjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvaGFubmVzIEJlcmcgPGpv aGFubmVzLmJlcmdAaW50ZWwuY29tPgpEYXRlOiBUaHUsIDEzIFNlcCAyMDE4IDE0OjQwOjU1ICsw MjAwClN1YmplY3Q6IFtQQVRDSCAxNi8yMl0gc29ja2V0OiBmaXggc3RydWN0IGlmcmVxIHNpemUg aW4gY29tcGF0IGlvY3RsCgpbIFVwc3RyZWFtIGNvbW1pdCAxY2ViZjhmMTQzYzIxZWI0MjJjZDBm NGUyN2FiMmFlMzY2ZWI0ZDA0IF0KCkFzIHJlcG9ydGVkIGJ5IFJlb2JlcnQgTydDYWxsYWhhbiwg c2luY2UgVmlybydzIGNvbW1pdCB0byBraWxsCmRldl9pZnNpb2MoKSB3ZSBhdHRlbXB0IHRvIGNv cHkgdG9vIG11Y2ggZGF0YSBpbiBjb21wYXQgbW9kZSwKd2hpY2ggbWF5IGxlYWQgdG8gRUZBVUxU IHdoZW4gdGhlIDMyLWJpdCB2ZXJzaW9uIG9mIHN0cnVjdCBpZnJlcQpzaXRzIGF0L25lYXIgdGhl IGVuZCBvZiBhIHBhZ2UgYm91bmRhcnksIGFuZCB0aGUgbmV4dCBwYWdlIGlzbid0Cm1hcHBlZC4K CkZpeCB0aGlzIGJ5IHBhc3NpbmcgdGhlIGFwcHJvcHJhdGUgY29tcGF0L25vbi1jb21wYXQgc2l6 ZSB0byBjb3B5CmFuZCB1c2luZyB0aGF0LCBhcyBiZWZvcmUgdGhlIGRldl9pZnNpb2MoKSByZW1v dmFsLiBUaGlzIHdvcmtzCmJlY2F1c2Ugb25seSB0aGUgZW1iZWRkZWQgInN0cnVjdCBpZm1hcCIg aGFzIGRpZmZlcmVudCBzaXplLCBhbmQKdGhpcyBpcyBvbmx5IHVzZWQgaW4gU0lPQ0dJRk1BUC9T SU9DU0lGTUFQIHdoaWNoIGhhcyBhIGRpZmZlcmVudApoYW5kbGVyLiBBbGwgb3RoZXIgcGFydHMg b2YgdGhlIHVuaW9uIGFyZSBuYXR1cmFsbHkgY29tcGF0aWJsZS4KClRoaXMgZml4ZXMgaHR0cHM6 Ly9idWd6aWxsYS5rZXJuZWwub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk0NjkuCgpGaXhlczogYmY0 NDA1NzM3ZjlmICgia2lsbCBkZXZfaWZzaW9jKCkiKQpSZXBvcnRlZC1ieTogUm9iZXJ0IE8nQ2Fs bGFoYW4gPHJvYmVydEBvY2FsbGFoYW4ub3JnPgpTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBCZXJn IDxqb2hhbm5lcy5iZXJnQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVy IDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9zb2NrZXQuYyB8IDIyICsrKysrKysrKysr KysrLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL25ldC9zb2NrZXQuYyBiL25ldC9zb2NrZXQuYwppbmRleCA0YWMz YjgzNGNjZTkuLmQ0MTg3YWMxN2Q1NSAxMDA2NDQKLS0tIGEvbmV0L3NvY2tldC5jCisrKyBiL25l dC9zb2NrZXQuYwpAQCAtOTYyLDcgKzk2Miw4IEBAIHZvaWQgZGxjaV9pb2N0bF9zZXQoaW50ICgq aG9vaykgKHVuc2lnbmVkIGludCwgdm9pZCBfX3VzZXIgKikpCiBFWFBPUlRfU1lNQk9MKGRsY2lf aW9jdGxfc2V0KTsKIAogc3RhdGljIGxvbmcgc29ja19kb19pb2N0bChzdHJ1Y3QgbmV0ICpuZXQs IHN0cnVjdCBzb2NrZXQgKnNvY2ssCi0JCQkJIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxv bmcgYXJnKQorCQkJICB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZywKKwkJCSAg dW5zaWduZWQgaW50IGlmcmVxX3NpemUpCiB7CiAJaW50IGVycjsKIAl2b2lkIF9fdXNlciAqYXJn cCA9ICh2b2lkIF9fdXNlciAqKWFyZzsKQEAgLTk4OCwxMSArOTg5LDExIEBAIHN0YXRpYyBsb25n IHNvY2tfZG9faW9jdGwoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3Qgc29ja2V0ICpzb2NrLAogCX0g ZWxzZSB7CiAJCXN0cnVjdCBpZnJlcSBpZnI7CiAJCWJvb2wgbmVlZF9jb3B5b3V0OwotCQlpZiAo Y29weV9mcm9tX3VzZXIoJmlmciwgYXJncCwgc2l6ZW9mKHN0cnVjdCBpZnJlcSkpKQorCQlpZiAo Y29weV9mcm9tX3VzZXIoJmlmciwgYXJncCwgaWZyZXFfc2l6ZSkpCiAJCQlyZXR1cm4gLUVGQVVM VDsKIAkJZXJyID0gZGV2X2lvY3RsKG5ldCwgY21kLCAmaWZyLCAmbmVlZF9jb3B5b3V0KTsKIAkJ aWYgKCFlcnIgJiYgbmVlZF9jb3B5b3V0KQotCQkJaWYgKGNvcHlfdG9fdXNlcihhcmdwLCAmaWZy LCBzaXplb2Yoc3RydWN0IGlmcmVxKSkpCisJCQlpZiAoY29weV90b191c2VyKGFyZ3AsICZpZnIs IGlmcmVxX3NpemUpKQogCQkJCXJldHVybiAtRUZBVUxUOwogCX0KIAlyZXR1cm4gZXJyOwpAQCAt MTA5MSw3ICsxMDkyLDggQEAgc3RhdGljIGxvbmcgc29ja19pb2N0bChzdHJ1Y3QgZmlsZSAqZmls ZSwgdW5zaWduZWQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykKIAkJCWVyciA9IG9wZW5fcmVsYXRl ZF9ucygmbmV0LT5ucywgZ2V0X25ldF9ucyk7CiAJCQlicmVhazsKIAkJZGVmYXVsdDoKLQkJCWVy ciA9IHNvY2tfZG9faW9jdGwobmV0LCBzb2NrLCBjbWQsIGFyZyk7CisJCQllcnIgPSBzb2NrX2Rv X2lvY3RsKG5ldCwgc29jaywgY21kLCBhcmcsCisJCQkJCSAgICBzaXplb2Yoc3RydWN0IGlmcmVx KSk7CiAJCQlicmVhazsKIAkJfQogCXJldHVybiBlcnI7CkBAIC0yNzYyLDcgKzI3NjQsOCBAQCBz dGF0aWMgaW50IGRvX3Npb2Nnc3RhbXAoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3Qgc29ja2V0ICpz b2NrLAogCWludCBlcnI7CiAKIAlzZXRfZnMoS0VSTkVMX0RTKTsKLQllcnIgPSBzb2NrX2RvX2lv Y3RsKG5ldCwgc29jaywgY21kLCAodW5zaWduZWQgbG9uZykma3R2KTsKKwllcnIgPSBzb2NrX2Rv X2lvY3RsKG5ldCwgc29jaywgY21kLCAodW5zaWduZWQgbG9uZykma3R2LAorCQkJICAgIHNpemVv ZihzdHJ1Y3QgY29tcGF0X2lmcmVxKSk7CiAJc2V0X2ZzKG9sZF9mcyk7CiAJaWYgKCFlcnIpCiAJ CWVyciA9IGNvbXBhdF9wdXRfdGltZXZhbCgma3R2LCB1cCk7CkBAIC0yNzc4LDcgKzI3ODEsOCBA QCBzdGF0aWMgaW50IGRvX3Npb2Nnc3RhbXBucyhzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBzb2Nr ZXQgKnNvY2ssCiAJaW50IGVycjsKIAogCXNldF9mcyhLRVJORUxfRFMpOwotCWVyciA9IHNvY2tf ZG9faW9jdGwobmV0LCBzb2NrLCBjbWQsICh1bnNpZ25lZCBsb25nKSZrdHMpOworCWVyciA9IHNv Y2tfZG9faW9jdGwobmV0LCBzb2NrLCBjbWQsICh1bnNpZ25lZCBsb25nKSZrdHMsCisJCQkgICAg c2l6ZW9mKHN0cnVjdCBjb21wYXRfaWZyZXEpKTsKIAlzZXRfZnMob2xkX2ZzKTsKIAlpZiAoIWVy cikKIAkJZXJyID0gY29tcGF0X3B1dF90aW1lc3BlYygma3RzLCB1cCk7CkBAIC0zMDg0LDcgKzMw ODgsOCBAQCBzdGF0aWMgaW50IHJvdXRpbmdfaW9jdGwoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3Qg c29ja2V0ICpzb2NrLAogCX0KIAogCXNldF9mcyhLRVJORUxfRFMpOwotCXJldCA9IHNvY2tfZG9f aW9jdGwobmV0LCBzb2NrLCBjbWQsICh1bnNpZ25lZCBsb25nKSByKTsKKwlyZXQgPSBzb2NrX2Rv X2lvY3RsKG5ldCwgc29jaywgY21kLCAodW5zaWduZWQgbG9uZykgciwKKwkJCSAgICBzaXplb2Yo c3RydWN0IGNvbXBhdF9pZnJlcSkpOwogCXNldF9mcyhvbGRfZnMpOwogCiBvdXQ6CkBAIC0zMTk3 LDcgKzMyMDIsOCBAQCBzdGF0aWMgaW50IGNvbXBhdF9zb2NrX2lvY3RsX3RyYW5zKHN0cnVjdCBm aWxlICpmaWxlLCBzdHJ1Y3Qgc29ja2V0ICpzb2NrLAogCWNhc2UgU0lPQ0JPTkRTRVRIV0FERFI6 CiAJY2FzZSBTSU9DQk9ORENIQU5HRUFDVElWRToKIAljYXNlIFNJT0NHSUZOQU1FOgotCQlyZXR1 cm4gc29ja19kb19pb2N0bChuZXQsIHNvY2ssIGNtZCwgYXJnKTsKKwkJcmV0dXJuIHNvY2tfZG9f aW9jdGwobmV0LCBzb2NrLCBjbWQsIGFyZywKKwkJCQkgICAgIHNpemVvZihzdHJ1Y3QgY29tcGF0 X2lmcmVxKSk7CiAJfQogCiAJcmV0dXJuIC1FTk9JT0NUTENNRDsKLS0gCjIuMTMuNgoKCkZyb20g NzMwMTcyNjNjNzJkN2I4ZGVjMGI3YWRjMGI5OTJhODQ3MDJkYjQ0NSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogRGFuaWVsIEJvcmttYW5uIDxkYW5pZWxAaW9nZWFyYm94Lm5ldD4KRGF0 ZTogRnJpLCAxNCBTZXAgMjAxOCAyMzowMDo1NSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTcvMjJd IHRsczogZml4IGN1cnJlbnRseSBicm9rZW4gTVNHX1BFRUsgYmVoYXZpb3IKClsgVXBzdHJlYW0g Y29tbWl0IDUwYzZiNThhODE0ZDg2YTkzYzBmNjk2NDU3MGY4Mzk2MzI4NTQwNDQgXQoKSW4ga1RM UyBNU0dfUEVFSyBiZWhhdmlvciBpcyBjdXJyZW50bHkgZmFpbGluZywgc3RyYWNlIGV4YW1wbGU6 CgogIFtwaWQgIDI0MzBdIHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19JUCkg PSAzCiAgW3BpZCAgMjQzMF0gc29ja2V0KEFGX0lORVQsIFNPQ0tfU1RSRUFNLCBJUFBST1RPX0lQ KSA9IDQKICBbcGlkICAyNDMwXSBiaW5kKDQsIHtzYV9mYW1pbHk9QUZfSU5FVCwgc2luX3BvcnQ9 aHRvbnMoMCksIHNpbl9hZGRyPWluZXRfYWRkcigiMC4wLjAuMCIpfSwgMTYpID0gMAogIFtwaWQg IDI0MzBdIGxpc3Rlbig0LCAxMCkgICAgICAgICAgICAgICA9IDAKICBbcGlkICAyNDMwXSBnZXRz b2NrbmFtZSg0LCB7c2FfZmFtaWx5PUFGX0lORVQsIHNpbl9wb3J0PWh0b25zKDM4ODU1KSwgc2lu X2FkZHI9aW5ldF9hZGRyKCIwLjAuMC4wIil9LCBbMTZdKSA9IDAKICBbcGlkICAyNDMwXSBjb25u ZWN0KDMsIHtzYV9mYW1pbHk9QUZfSU5FVCwgc2luX3BvcnQ9aHRvbnMoMzg4NTUpLCBzaW5fYWRk cj1pbmV0X2FkZHIoIjAuMC4wLjAiKX0sIDE2KSA9IDAKICBbcGlkICAyNDMwXSBzZXRzb2Nrb3B0 KDMsIFNPTF9UQ1AsIDB4MWYgLyogVENQXz8/PyAqLywgWzc1NjQ0MDRdLCA0KSA9IDAKICBbcGlk ICAyNDMwXSBzZXRzb2Nrb3B0KDMsIDB4MTFhIC8qIFNPTF8/PyAqLywgMSwgIlwzXDAwMzNcMFww XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIi4u LiwgNDApID0gMAogIFtwaWQgIDI0MzBdIGFjY2VwdCg0LCB7c2FfZmFtaWx5PUFGX0lORVQsIHNp bl9wb3J0PWh0b25zKDQ5NjM2KSwgc2luX2FkZHI9aW5ldF9hZGRyKCIxMjcuMC4wLjEiKX0sIFsx Nl0pID0gNQogIFtwaWQgIDI0MzBdIHNldHNvY2tvcHQoNSwgU09MX1RDUCwgMHgxZiAvKiBUQ1Bf Pz8/ICovLCBbNzU2NDQwNF0sIDQpID0gMAogIFtwaWQgIDI0MzBdIHNldHNvY2tvcHQoNSwgMHgx MWEgLyogU09MXz8/ICovLCAyLCAiXDNcMDAzM1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBc MFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiLi4uLCA0MCkgPSAwCiAgW3BpZCAgMjQzMF0g Y2xvc2UoNCkgICAgICAgICAgICAgICAgICAgID0gMAogIFtwaWQgIDI0MzBdIHNlbmR0bygzLCAi dGVzdF9yZWFkX3BlZWsiLCAxNCwgMCwgTlVMTCwgMCkgPSAxNAogIFtwaWQgIDI0MzBdIHNlbmR0 bygzLCAiX211bHRfcmVjc1wwIiwgMTEsIDAsIE5VTEwsIDApID0gMTEKICBbcGlkICAyNDMwXSBy ZWN2ZnJvbSg1LCAidGVzdF9yZWFkX3BlZWt0ZXN0X3JlYWRfcGVla3Rlc3QiLi4uLCA2NCwgTVNH X1BFRUssIE5VTEwsIE5VTEwpID0gNjQKCkFzIGNhbiBiZSBzZWVuIGZyb20gc3RyYWNlLCB0aGVy ZSBhcmUgdHdvIFRMUyByZWNvcmRzIHNlbnQsCmkpICd0ZXN0X3JlYWRfcGVlaycgYW5kIGlpKSAn X211bHRfcmVjc1wwJyB3aGVyZSB3ZSBlbmQgdXAKcGVla2luZyAndGVzdF9yZWFkX3BlZWt0ZXN0 X3JlYWRfcGVla3Rlc3QnLiBUaGlzIGlzIGNsZWFybHkKd3JvbmcsIGFuZCB3aGF0IGhhcHBlbnMg aXMgdGhhdCBnaXZlbiBwZWVrIGNhbm5vdCBjYWxsIGludG8KdGxzX3N3X2FkdmFuY2Vfc2tiKCkg dG8gdW5wYXVzZSBzdHJwYXJzZXIgYW5kIHByb2NlZWQgd2l0aAp0aGUgbmV4dCBza2IsIHdlIGVu ZCB1cCBsb29waW5nIG92ZXIgdGhlIGN1cnJlbnQgb25lLCBjb3B5aW5nCnRoZSAndGVzdF9yZWFk X3BlZWsnIG92ZXIgYW5kIG92ZXIgaW50byB0aGUgdXNlciBwcm92aWRlZApidWZmZXIuCgpIZXJl LCB3ZSBjYW4gb25seSBwZWVrIGludG8gdGhlIGN1cnJlbnRseSBoZWxkIHNrYiAoY3VycmVudCwK ZnVsbCBUTFMgcmVjb3JkKSBhcyBvdGhlcndpc2Ugd2Ugd291bGQgZW5kIHVwIGhhdmluZyB0byBo b2xkCmFsbCB0aGUgb3JpZ2luYWwgc2tiKHMpIChkZXBlbmRpbmcgb24gdGhlIHBlZWsgZGVwdGgp IGluIGEKc2VwYXJhdGUgcXVldWUgd2hlbiB1bnBhdXNpbmcgc3RycGFyc2VyIHRvIHByb2Nlc3Mg bmV4dApyZWNvcmRzLCBtaW5pbWFsbHkgaW50cnVzaXZlIGlzIHRvIHJldHVybiBvbmx5IHVwIHRv IHRoZQpjdXJyZW50IHJlY29yZCdzIHNpemUgKHdoaWNoIGxpa2VseSB3YXMgd2hhdCBjNDYyMzRl YmI0ZDEKKCJ0bHM6IFJYIHBhdGggZm9yIGt0bHMiKSBvcmlnaW5hbGx5IGludGVuZGVkIGFzIHdl bGwpLiBUaHVzLAphZnRlciBwYXRjaCB3ZSBwcm9wZXJseSBwZWVrIHRoZSBmaXJzdCByZWNvcmQ6 CgogIFtwaWQgIDIwNDZdIHdhaXQ0KDIwNzUsICA8dW5maW5pc2hlZCAuLi4+CiAgW3BpZCAgMjA3 NV0gc29ja2V0KEFGX0lORVQsIFNPQ0tfU1RSRUFNLCBJUFBST1RPX0lQKSA9IDMKICBbcGlkICAy MDc1XSBzb2NrZXQoQUZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fSVApID0gNAogIFtwaWQg IDIwNzVdIGJpbmQoNCwge3NhX2ZhbWlseT1BRl9JTkVULCBzaW5fcG9ydD1odG9ucygwKSwgc2lu X2FkZHI9aW5ldF9hZGRyKCIwLjAuMC4wIil9LCAxNikgPSAwCiAgW3BpZCAgMjA3NV0gbGlzdGVu KDQsIDEwKSAgICAgICAgICAgICAgID0gMAogIFtwaWQgIDIwNzVdIGdldHNvY2tuYW1lKDQsIHtz YV9mYW1pbHk9QUZfSU5FVCwgc2luX3BvcnQ9aHRvbnMoNTUxMTUpLCBzaW5fYWRkcj1pbmV0X2Fk ZHIoIjAuMC4wLjAiKX0sIFsxNl0pID0gMAogIFtwaWQgIDIwNzVdIGNvbm5lY3QoMywge3NhX2Zh bWlseT1BRl9JTkVULCBzaW5fcG9ydD1odG9ucyg1NTExNSksIHNpbl9hZGRyPWluZXRfYWRkcigi MC4wLjAuMCIpfSwgMTYpID0gMAogIFtwaWQgIDIwNzVdIHNldHNvY2tvcHQoMywgU09MX1RDUCwg MHgxZiAvKiBUQ1BfPz8/ICovLCBbNzU2NDQwNF0sIDQpID0gMAogIFtwaWQgIDIwNzVdIHNldHNv Y2tvcHQoMywgMHgxMWEgLyogU09MXz8/ICovLCAxLCAiXDNcMDAzM1wwXDBcMFwwXDBcMFwwXDBc MFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiLi4uLCA0MCkgPSAwCiAg W3BpZCAgMjA3NV0gYWNjZXB0KDQsIHtzYV9mYW1pbHk9QUZfSU5FVCwgc2luX3BvcnQ9aHRvbnMo NDU3MzIpLCBzaW5fYWRkcj1pbmV0X2FkZHIoIjEyNy4wLjAuMSIpfSwgWzE2XSkgPSA1CiAgW3Bp ZCAgMjA3NV0gc2V0c29ja29wdCg1LCBTT0xfVENQLCAweDFmIC8qIFRDUF8/Pz8gKi8sIFs3NTY0 NDA0XSwgNCkgPSAwCiAgW3BpZCAgMjA3NV0gc2V0c29ja29wdCg1LCAweDExYSAvKiBTT0xfPz8g Ki8sIDIsICJcM1wwMDMzXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFww XDBcMFwwXDBcMFwwXDBcMCIuLi4sIDQwKSA9IDAKICBbcGlkICAyMDc1XSBjbG9zZSg0KSAgICAg ICAgICAgICAgICAgICAgPSAwCiAgW3BpZCAgMjA3NV0gc2VuZHRvKDMsICJ0ZXN0X3JlYWRfcGVl ayIsIDE0LCAwLCBOVUxMLCAwKSA9IDE0CiAgW3BpZCAgMjA3NV0gc2VuZHRvKDMsICJfbXVsdF9y ZWNzXDAiLCAxMSwgMCwgTlVMTCwgMCkgPSAxMQogIFtwaWQgIDIwNzVdIHJlY3Zmcm9tKDUsICJ0 ZXN0X3JlYWRfcGVlayIsIDY0LCBNU0dfUEVFSywgTlVMTCwgTlVMTCkgPSAxNAoKRml4ZXM6IGM0 NjIzNGViYjRkMSAoInRsczogUlggcGF0aCBmb3Iga3RscyIpClNpZ25lZC1vZmYtYnk6IERhbmll bCBCb3JrbWFubiA8ZGFuaWVsQGlvZ2VhcmJveC5uZXQ+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMu IE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvdGxzL3Rsc19zdy5jIHwgOCAr KysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25l dC90bHMvdGxzX3N3LmMgYi9uZXQvdGxzL3Rsc19zdy5jCmluZGV4IDI2Yjk1ZWI1MmZlYi4uMTc0 ODZjNjQ5NWFhIDEwMDY0NAotLS0gYS9uZXQvdGxzL3Rsc19zdy5jCisrKyBiL25ldC90bHMvdGxz X3N3LmMKQEAgLTg2NCw3ICs4NjQsMTUgQEAgaW50IHRsc19zd19yZWN2bXNnKHN0cnVjdCBzb2Nr ICpzaywKIAkJCQlpZiAoY29udHJvbCAhPSBUTFNfUkVDT1JEX1RZUEVfREFUQSkKIAkJCQkJZ290 byByZWN2X2VuZDsKIAkJCX0KKwkJfSBlbHNlIHsKKwkJCS8qIE1TR19QRUVLIHJpZ2h0IG5vdyBj YW5ub3QgbG9vayBiZXlvbmQgY3VycmVudCBza2IKKwkJCSAqIGZyb20gc3RycGFyc2VyLCBtZWFu aW5nIHdlIGNhbm5vdCBhZHZhbmNlIHNrYiBoZXJlCisJCQkgKiBhbmQgdGh1cyB1bnBhdXNlIHN0 cnBhcnNlciBzaW5jZSB3ZSdkIGxvb3NlIG9yaWdpbmFsCisJCQkgKiBvbmUuCisJCQkgKi8KKwkJ CWJyZWFrOwogCQl9CisKIAkJLyogSWYgd2UgaGF2ZSBhIG5ldyBtZXNzYWdlIGZyb20gc3RycGFy c2VyLCBjb250aW51ZSBub3cuICovCiAJCWlmIChjb3BpZWQgPj0gdGFyZ2V0ICYmICFjdHgtPnJl Y3ZfcGt0KQogCQkJYnJlYWs7Ci0tIAoyLjEzLjYKCgpGcm9tIGY1M2RmZDNkYzA5ZGZlYTc4N2M1 MzE1NzA4ZTgxMjc4ZGU5NDQ5MDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hh ZWwgQ2hhbiA8bWljaGFlbC5jaGFuQGJyb2FkY29tLmNvbT4KRGF0ZTogRnJpLCAxNCBTZXAgMjAx OCAxNTo0MToyOSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMTgvMjJdIGJueHRfZW46IEZpeCBWRiBt YWMgYWRkcmVzcyByZWdyZXNzaW9uLgoKWyBVcHN0cmVhbSBjb21taXQgMjhlYTMzNGJkMTY1N2Yz YzQzNDg1YjRhODU5MjY3MmZjNjgzNWZhYyBdCgpUaGUgcmVjZW50IGNvbW1pdCB0byBhbHdheXMg Zm9yd2FyZCB0aGUgVkYgTUFDIGFkZHJlc3MgdG8gdGhlIFBGIGZvcgphcHByb3ZhbCBtYXkgbm90 IHdvcmsgaWYgdGhlIFBGIGRyaXZlciBvciB0aGUgZmlybXdhcmUgaXMgb2xkZXIuICBUaGlzCndp bGwgY2F1c2UgdGhlIFZGIGRyaXZlciB0byBmYWlsIGR1cmluZyBwcm9iZToKCiAgYm54dF9lbiAw MDAwOjAwOjAzLjAgKHVubmFtZWQgbmV0X2RldmljZSkgKHVuaW5pdGlhbGl6ZWQpOiBod3JtIHJl cV90eXBlIDB4ZiBzZXEgaWQgMHg1IGVycm9yIDB4ZmZmZgogIGJueHRfZW4gMDAwMDowMDowMy4w ICh1bm5hbWVkIG5ldF9kZXZpY2UpICh1bmluaXRpYWxpemVkKTogVkYgTUFDIGFkZHJlc3MgMDA6 MDA6MTc6MDI6MDU6ZDAgbm90IGFwcHJvdmVkIGJ5IHRoZSBQRgogIGJueHRfZW4gMDAwMDowMDow My4wOiBVbmFibGUgdG8gaW5pdGlhbGl6ZSBtYWMgYWRkcmVzcy4KICBibnh0X2VuOiBwcm9iZSBv ZiAwMDAwOjAwOjAzLjAgZmFpbGVkIHdpdGggZXJyb3IgLTk5CgpXZSBmaXggaXQgYnkgdHJlYXRp bmcgdGhlIGVycm9yIGFzIGZhdGFsIG9ubHkgaWYgdGhlIFZGIE1BQyBhZGRyZXNzIGlzCmxvY2Fs bHkgZ2VuZXJhdGVkIGJ5IHRoZSBWRi4KCkZpeGVzOiA3MDdlN2U5NjYwMjYgKCJibnh0X2VuOiBB bHdheXMgZm9yd2FyZCBWRiBNQUMgYWRkcmVzcyB0byB0aGUgUEYuIikKUmVwb3J0ZWQtYnk6IFNl dGggRm9yc2hlZSA8c2V0aC5mb3JzaGVlQGNhbm9uaWNhbC5jb20+ClJlcG9ydGVkLWJ5OiBTaXdl aSBMaXUgPGxvc2V3ZWlnaEBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgQ2hhbiA8 bWljaGFlbC5jaGFuQGJyb2FkY29tLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVy IDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29t L2JueHQvYm54dC5jICAgICAgIHwgOSArKysrKysrLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2Jy b2FkY29tL2JueHQvYm54dF9zcmlvdi5jIHwgOSArKysrKy0tLS0KIGRyaXZlcnMvbmV0L2V0aGVy bmV0L2Jyb2FkY29tL2JueHQvYm54dF9zcmlvdi5oIHwgMiArLQogMyBmaWxlcyBjaGFuZ2VkLCAx MyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJv YWRjb20vYm54dC9ibnh0LmMKaW5kZXggNGZkZjNkMzNhYTU5Li44MGIwNTU5N2M1ZmUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dC5jCisrKyBiL2Ry aXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dC5jCkBAIC03ODg4LDcgKzc4ODgs NyBAQCBzdGF0aWMgaW50IGJueHRfY2hhbmdlX21hY19hZGRyKHN0cnVjdCBuZXRfZGV2aWNlICpk ZXYsIHZvaWQgKnApCiAJaWYgKGV0aGVyX2FkZHJfZXF1YWwoYWRkci0+c2FfZGF0YSwgZGV2LT5k ZXZfYWRkcikpCiAJCXJldHVybiAwOwogCi0JcmMgPSBibnh0X2FwcHJvdmVfbWFjKGJwLCBhZGRy LT5zYV9kYXRhKTsKKwlyYyA9IGJueHRfYXBwcm92ZV9tYWMoYnAsIGFkZHItPnNhX2RhdGEsIHRy dWUpOwogCWlmIChyYykKIAkJcmV0dXJuIHJjOwogCkBAIC04NjgzLDE0ICs4NjgzLDE5IEBAIHN0 YXRpYyBpbnQgYm54dF9pbml0X21hY19hZGRyKHN0cnVjdCBibnh0ICpicCkKIAl9IGVsc2Ugewog I2lmZGVmIENPTkZJR19CTlhUX1NSSU9WCiAJCXN0cnVjdCBibnh0X3ZmX2luZm8gKnZmID0gJmJw LT52ZjsKKwkJYm9vbCBzdHJpY3RfYXBwcm92YWwgPSB0cnVlOwogCiAJCWlmIChpc192YWxpZF9l dGhlcl9hZGRyKHZmLT5tYWNfYWRkcikpIHsKIAkJCS8qIG92ZXJ3cml0ZSBuZXRkZXYgZGV2X2Fk ZHIgd2l0aCBhZG1pbiBWRiBNQUMgKi8KIAkJCW1lbWNweShicC0+ZGV2LT5kZXZfYWRkciwgdmYt Pm1hY19hZGRyLCBFVEhfQUxFTik7CisJCQkvKiBPbGRlciBQRiBkcml2ZXIgb3IgZmlybXdhcmUg bWF5IG5vdCBhcHByb3ZlIHRoaXMKKwkJCSAqIGNvcnJlY3RseS4KKwkJCSAqLworCQkJc3RyaWN0 X2FwcHJvdmFsID0gZmFsc2U7CiAJCX0gZWxzZSB7CiAJCQlldGhfaHdfYWRkcl9yYW5kb20oYnAt PmRldik7CiAJCX0KLQkJcmMgPSBibnh0X2FwcHJvdmVfbWFjKGJwLCBicC0+ZGV2LT5kZXZfYWRk cik7CisJCXJjID0gYm54dF9hcHByb3ZlX21hYyhicCwgYnAtPmRldi0+ZGV2X2FkZHIsIHN0cmlj dF9hcHByb3ZhbCk7CiAjZW5kaWYKIAl9CiAJcmV0dXJuIHJjOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0X3NyaW92LmMgYi9kcml2ZXJzL25ldC9l dGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfc3Jpb3YuYwppbmRleCAyYzc3MDA0YTAyMmIuLjI0 ZDE2ZDNkMzNhMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54 dC9ibnh0X3NyaW92LmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9i bnh0X3NyaW92LmMKQEAgLTEwOTUsNyArMTA5NSw3IEBAIHZvaWQgYm54dF91cGRhdGVfdmZfbWFj KHN0cnVjdCBibnh0ICpicCkKIAltdXRleF91bmxvY2soJmJwLT5od3JtX2NtZF9sb2NrKTsKIH0K IAotaW50IGJueHRfYXBwcm92ZV9tYWMoc3RydWN0IGJueHQgKmJwLCB1OCAqbWFjKQoraW50IGJu eHRfYXBwcm92ZV9tYWMoc3RydWN0IGJueHQgKmJwLCB1OCAqbWFjLCBib29sIHN0cmljdCkKIHsK IAlzdHJ1Y3QgaHdybV9mdW5jX3ZmX2NmZ19pbnB1dCByZXEgPSB7MH07CiAJaW50IHJjID0gMDsK QEAgLTExMTMsMTIgKzExMTMsMTMgQEAgaW50IGJueHRfYXBwcm92ZV9tYWMoc3RydWN0IGJueHQg KmJwLCB1OCAqbWFjKQogCW1lbWNweShyZXEuZGZsdF9tYWNfYWRkciwgbWFjLCBFVEhfQUxFTik7 CiAJcmMgPSBod3JtX3NlbmRfbWVzc2FnZShicCwgJnJlcSwgc2l6ZW9mKHJlcSksIEhXUk1fQ01E X1RJTUVPVVQpOwogbWFjX2RvbmU6Ci0JaWYgKHJjKSB7CisJaWYgKHJjICYmIHN0cmljdCkgewog CQlyYyA9IC1FQUREUk5PVEFWQUlMOwogCQluZXRkZXZfd2FybihicC0+ZGV2LCAiVkYgTUFDIGFk ZHJlc3MgJXBNIG5vdCBhcHByb3ZlZCBieSB0aGUgUEZcbiIsCiAJCQkgICAgbWFjKTsKKwkJcmV0 dXJuIHJjOwogCX0KLQlyZXR1cm4gcmM7CisJcmV0dXJuIDA7CiB9CiAjZWxzZQogCkBAIC0xMTM1 LDcgKzExMzYsNyBAQCB2b2lkIGJueHRfdXBkYXRlX3ZmX21hYyhzdHJ1Y3QgYm54dCAqYnApCiB7 CiB9CiAKLWludCBibnh0X2FwcHJvdmVfbWFjKHN0cnVjdCBibnh0ICpicCwgdTggKm1hYykKK2lu dCBibnh0X2FwcHJvdmVfbWFjKHN0cnVjdCBibnh0ICpicCwgdTggKm1hYywgYm9vbCBzdHJpY3Qp CiB7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9h ZGNvbS9ibnh0L2JueHRfc3Jpb3YuaCBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2Ju eHQvYm54dF9zcmlvdi5oCmluZGV4IGU5YjIwY2QxOTg4MS4uMmVlZDllZGExMTk1IDEwMDY0NAot LS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfc3Jpb3YuaAorKysg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfc3Jpb3YuaApAQCAtMzks NSArMzksNSBAQCBpbnQgYm54dF9zcmlvdl9jb25maWd1cmUoc3RydWN0IHBjaV9kZXYgKnBkZXYs IGludCBudW1fdmZzKTsKIHZvaWQgYm54dF9zcmlvdl9kaXNhYmxlKHN0cnVjdCBibnh0ICopOwog dm9pZCBibnh0X2h3cm1fZXhlY19md2RfcmVxKHN0cnVjdCBibnh0ICopOwogdm9pZCBibnh0X3Vw ZGF0ZV92Zl9tYWMoc3RydWN0IGJueHQgKik7Ci1pbnQgYm54dF9hcHByb3ZlX21hYyhzdHJ1Y3Qg Ym54dCAqLCB1OCAqKTsKK2ludCBibnh0X2FwcHJvdmVfbWFjKHN0cnVjdCBibnh0ICosIHU4ICos IGJvb2wpOwogI2VuZGlmCi0tIAoyLjEzLjYKCgpGcm9tIGZkOGRkZjhhNmI0MGU3YTYxMTk0NDRk M2Q3YjcyNWQ2NjVmMzE5ZDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFhpbiBMb25n IDxsdWNpZW4ueGluQGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAxMSBTZXAgMjAxOCAxNDozMzo1OCAr MDgwMApTdWJqZWN0OiBbUEFUQ0ggMTkvMjJdIGlwdjY6IHVzZSBydDZfaW5mbyBtZW1iZXJzIHdo ZW4gZHN0IGlzIHNldCBpbgogcnQ2X2ZpbGxfbm9kZQoKWyBVcHN0cmVhbSBjb21taXQgMjJkMGJk ODJjYzdjZWM3ZDllZDRiZDU5MTNmM2FiNjU2NDMzNjRiZSBdCgpJbiBpbmV0Nl9ydG1fZ2V0cm91 dGUsIHNpbmNlIENvbW1pdCA5MzUzMWM2NzQzMTUgKCJuZXQvaXB2Njogc2VwYXJhdGUKaGFuZGxp bmcgb2YgRklCIGVudHJpZXMgZnJvbSBkc3QgYmFzZWQgcm91dGVzIiksIGl0IGhhcyB1c2VkIHJ0 LT5mcm9tCnRvIGR1bXAgcm91dGUgaW5mbyBpbnN0ZWFkIG9mIHJ0LgoKSG93ZXZlciBmb3Igc29t ZSByb3V0ZSBsaWtlIGNhY2hlLCBzb21lIG9mIGl0cyBpbmZvcm1hdGlvbiBsaWtlIGZsYWdzCm9y IGdhdGV3YXkgaXMgbm90IHRoZSBzYW1lIGFzIHRoYXQgb2YgdGhlICdmcm9tJyBvbmUuIEl0IGNh dXNlZCAnaXAKcm91dGUgZ2V0JyB0byBkdW1wIHRoZSB3cm9uZyByb3V0ZSBpbmZvcm1hdGlvbi4K CkluIEppYW5saW4ncyB0ZXN0aW5nLCB0aGUgb3V0cHV0IGluZm9ybWF0aW9uIGV2ZW4gbG9zdCB0 aGUgZXhwaXJhdGlvbgp0aW1lIGZvciBhIHBtdHUgcm91dGUgY2FjaGUgZHVlIHRvIHRoZSB3cm9u ZyBmaWI2X2ZsYWdzLgoKU28gY2hhbmdlIHRvIHVzZSBydDZfaW5mbyBtZW1iZXJzIGZvciBkc3Qg YWRkciwgc3JjIGFkZHIsIGZsYWdzIGFuZApnYXRld2F5IHdoZW4gaXQgdHJpZXMgdG8gZHVtcCBh IHJvdXRlIGVudHJ5IHdpdGhvdXQgZmlibWF0Y2ggc2V0LgoKdjEtPnYyOgogIC0gbm90IHVzZSBy dDZpX3ByZWZzcmMuCiAgLSBhbHNvIGZpeCB0aGUgZ3cgZHVtcCBpc3N1ZS4KCkZpeGVzOiA5MzUz MWM2NzQzMTUgKCJuZXQvaXB2Njogc2VwYXJhdGUgaGFuZGxpbmcgb2YgRklCIGVudHJpZXMgZnJv bSBkc3QgYmFzZWQgcm91dGVzIikKUmVwb3J0ZWQtYnk6IEppYW5saW4gU2hpIDxqaXNoaUByZWRo YXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+ClNp Z25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBu ZXQvaXB2Ni9yb3V0ZS5jIHwgNDIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMzAgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvcm91dGUuYyBiL25ldC9pcHY2L3JvdXRlLmMKaW5kZXgg MThlMDBjZTE3MTlhLi4zZWVkMDQ1YzY1YTUgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L3JvdXRlLmMK KysrIGIvbmV0L2lwdjYvcm91dGUuYwpAQCAtNDY3MCwyMCArNDY3MCwzMSBAQCBzdGF0aWMgaW50 IHJ0Nl9maWxsX25vZGUoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCQkJ IGludCBpaWYsIGludCB0eXBlLCB1MzIgcG9ydGlkLCB1MzIgc2VxLAogCQkJIHVuc2lnbmVkIGlu dCBmbGFncykKIHsKLQlzdHJ1Y3QgcnRtc2cgKnJ0bTsKKwlzdHJ1Y3QgcnQ2X2luZm8gKnJ0NiA9 IChzdHJ1Y3QgcnQ2X2luZm8gKilkc3Q7CisJc3RydWN0IHJ0NmtleSAqcnQ2X2RzdCwgKnJ0Nl9z cmM7CisJdTMyICpwbWV0cmljcywgdGFibGUsIHJ0Nl9mbGFnczsKIAlzdHJ1Y3Qgbmxtc2doZHIg Km5saDsKKwlzdHJ1Y3QgcnRtc2cgKnJ0bTsKIAlsb25nIGV4cGlyZXMgPSAwOwotCXUzMiAqcG1l dHJpY3M7Ci0JdTMyIHRhYmxlOwogCiAJbmxoID0gbmxtc2dfcHV0KHNrYiwgcG9ydGlkLCBzZXEs IHR5cGUsIHNpemVvZigqcnRtKSwgZmxhZ3MpOwogCWlmICghbmxoKQogCQlyZXR1cm4gLUVNU0dT SVpFOwogCisJaWYgKHJ0NikgeworCQlydDZfZHN0ID0gJnJ0Ni0+cnQ2aV9kc3Q7CisJCXJ0Nl9z cmMgPSAmcnQ2LT5ydDZpX3NyYzsKKwkJcnQ2X2ZsYWdzID0gcnQ2LT5ydDZpX2ZsYWdzOworCX0g ZWxzZSB7CisJCXJ0Nl9kc3QgPSAmcnQtPmZpYjZfZHN0OworCQlydDZfc3JjID0gJnJ0LT5maWI2 X3NyYzsKKwkJcnQ2X2ZsYWdzID0gcnQtPmZpYjZfZmxhZ3M7CisJfQorCiAJcnRtID0gbmxtc2df ZGF0YShubGgpOwogCXJ0bS0+cnRtX2ZhbWlseSA9IEFGX0lORVQ2OwotCXJ0bS0+cnRtX2RzdF9s ZW4gPSBydC0+ZmliNl9kc3QucGxlbjsKLQlydG0tPnJ0bV9zcmNfbGVuID0gcnQtPmZpYjZfc3Jj LnBsZW47CisJcnRtLT5ydG1fZHN0X2xlbiA9IHJ0Nl9kc3QtPnBsZW47CisJcnRtLT5ydG1fc3Jj X2xlbiA9IHJ0Nl9zcmMtPnBsZW47CiAJcnRtLT5ydG1fdG9zID0gMDsKIAlpZiAocnQtPmZpYjZf dGFibGUpCiAJCXRhYmxlID0gcnQtPmZpYjZfdGFibGUtPnRiNl9pZDsKQEAgLTQ2OTgsNyArNDcw OSw3IEBAIHN0YXRpYyBpbnQgcnQ2X2ZpbGxfbm9kZShzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBz a19idWZmICpza2IsCiAJcnRtLT5ydG1fc2NvcGUgPSBSVF9TQ09QRV9VTklWRVJTRTsKIAlydG0t PnJ0bV9wcm90b2NvbCA9IHJ0LT5maWI2X3Byb3RvY29sOwogCi0JaWYgKHJ0LT5maWI2X2ZsYWdz ICYgUlRGX0NBQ0hFKQorCWlmIChydDZfZmxhZ3MgJiBSVEZfQ0FDSEUpCiAJCXJ0bS0+cnRtX2Zs YWdzIHw9IFJUTV9GX0NMT05FRDsKIAogCWlmIChkZXN0KSB7CkBAIC00NzA2LDcgKzQ3MTcsNyBA QCBzdGF0aWMgaW50IHJ0Nl9maWxsX25vZGUoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3Qgc2tfYnVm ZiAqc2tiLAogCQkJZ290byBubGFfcHV0X2ZhaWx1cmU7CiAJCXJ0bS0+cnRtX2RzdF9sZW4gPSAx Mjg7CiAJfSBlbHNlIGlmIChydG0tPnJ0bV9kc3RfbGVuKQotCQlpZiAobmxhX3B1dF9pbjZfYWRk cihza2IsIFJUQV9EU1QsICZydC0+ZmliNl9kc3QuYWRkcikpCisJCWlmIChubGFfcHV0X2luNl9h ZGRyKHNrYiwgUlRBX0RTVCwgJnJ0Nl9kc3QtPmFkZHIpKQogCQkJZ290byBubGFfcHV0X2ZhaWx1 cmU7CiAjaWZkZWYgQ09ORklHX0lQVjZfU1VCVFJFRVMKIAlpZiAoc3JjKSB7CkBAIC00NzE0LDEy ICs0NzI1LDEyIEBAIHN0YXRpYyBpbnQgcnQ2X2ZpbGxfbm9kZShzdHJ1Y3QgbmV0ICpuZXQsIHN0 cnVjdCBza19idWZmICpza2IsCiAJCQlnb3RvIG5sYV9wdXRfZmFpbHVyZTsKIAkJcnRtLT5ydG1f c3JjX2xlbiA9IDEyODsKIAl9IGVsc2UgaWYgKHJ0bS0+cnRtX3NyY19sZW4gJiYKLQkJICAgbmxh X3B1dF9pbjZfYWRkcihza2IsIFJUQV9TUkMsICZydC0+ZmliNl9zcmMuYWRkcikpCisJCSAgIG5s YV9wdXRfaW42X2FkZHIoc2tiLCBSVEFfU1JDLCAmcnQ2X3NyYy0+YWRkcikpCiAJCWdvdG8gbmxh X3B1dF9mYWlsdXJlOwogI2VuZGlmCiAJaWYgKGlpZikgewogI2lmZGVmIENPTkZJR19JUFY2X01S T1VURQotCQlpZiAoaXB2Nl9hZGRyX2lzX211bHRpY2FzdCgmcnQtPmZpYjZfZHN0LmFkZHIpKSB7 CisJCWlmIChpcHY2X2FkZHJfaXNfbXVsdGljYXN0KCZydDZfZHN0LT5hZGRyKSkgewogCQkJaW50 IGVyciA9IGlwNm1yX2dldF9yb3V0ZShuZXQsIHNrYiwgcnRtLCBwb3J0aWQpOwogCiAJCQlpZiAo ZXJyID09IDApCkBAIC00NzU0LDcgKzQ3NjUsMTQgQEAgc3RhdGljIGludCBydDZfZmlsbF9ub2Rl KHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAkvKiBGb3IgbXVsdGlwYXRo IHJvdXRlcywgd2FsayB0aGUgc2libGluZ3MgbGlzdCBhbmQgYWRkCiAJICogZWFjaCBhcyBhIG5l eHRob3Agd2l0aGluIFJUQV9NVUxUSVBBVEguCiAJICovCi0JaWYgKHJ0LT5maWI2X25zaWJsaW5n cykgeworCWlmIChydDYpIHsKKwkJaWYgKHJ0Nl9mbGFncyAmIFJURl9HQVRFV0FZICYmCisJCSAg ICBubGFfcHV0X2luNl9hZGRyKHNrYiwgUlRBX0dBVEVXQVksICZydDYtPnJ0NmlfZ2F0ZXdheSkp CisJCQlnb3RvIG5sYV9wdXRfZmFpbHVyZTsKKworCQlpZiAoZHN0LT5kZXYgJiYgbmxhX3B1dF91 MzIoc2tiLCBSVEFfT0lGLCBkc3QtPmRldi0+aWZpbmRleCkpCisJCQlnb3RvIG5sYV9wdXRfZmFp bHVyZTsKKwl9IGVsc2UgaWYgKHJ0LT5maWI2X25zaWJsaW5ncykgewogCQlzdHJ1Y3QgZmliNl9p bmZvICpzaWJsaW5nLCAqbmV4dF9zaWJsaW5nOwogCQlzdHJ1Y3QgbmxhdHRyICptcDsKIApAQCAt NDc3Nyw3ICs0Nzk1LDcgQEAgc3RhdGljIGludCBydDZfZmlsbF9ub2RlKHN0cnVjdCBuZXQgKm5l dCwgc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAkJCWdvdG8gbmxhX3B1dF9mYWlsdXJlOwogCX0KIAot CWlmIChydC0+ZmliNl9mbGFncyAmIFJURl9FWFBJUkVTKSB7CisJaWYgKHJ0Nl9mbGFncyAmIFJU Rl9FWFBJUkVTKSB7CiAJCWV4cGlyZXMgPSBkc3QgPyBkc3QtPmV4cGlyZXMgOiBydC0+ZXhwaXJl czsKIAkJZXhwaXJlcyAtPSBqaWZmaWVzOwogCX0KQEAgLTQ3ODUsNyArNDgwMyw3IEBAIHN0YXRp YyBpbnQgcnQ2X2ZpbGxfbm9kZShzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBza19idWZmICpza2Is CiAJaWYgKHJ0bmxfcHV0X2NhY2hlaW5mbyhza2IsIGRzdCwgMCwgZXhwaXJlcywgZHN0ID8gZHN0 LT5lcnJvciA6IDApIDwgMCkKIAkJZ290byBubGFfcHV0X2ZhaWx1cmU7CiAKLQlpZiAobmxhX3B1 dF91OChza2IsIFJUQV9QUkVGLCBJUFY2X0VYVFJBQ1RfUFJFRihydC0+ZmliNl9mbGFncykpKQor CWlmIChubGFfcHV0X3U4KHNrYiwgUlRBX1BSRUYsIElQVjZfRVhUUkFDVF9QUkVGKHJ0Nl9mbGFn cykpKQogCQlnb3RvIG5sYV9wdXRfZmFpbHVyZTsKIAogCi0tIAoyLjEzLjYKCgpGcm9tIGRlNGUw YzU2Njg2YjRhMGIxMjYzYzcwNDkzN2ExYmE5Y2VhYjM2MmUgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IFBldGVyIE9za29sa292IDxwb3NrQGdvb2dsZS5jb20+CkRhdGU6IE1vbiwgMTcg U2VwIDIwMTggMTA6MjA6NTMgLTA3MDAKU3ViamVjdDogW1BBVENIIDIwLzIyXSBuZXQvaXB2Njog ZG8gbm90IGNvcHkgZHN0IGZsYWdzIG9uIHJ0IGluaXQKClsgVXBzdHJlYW0gY29tbWl0IDMwYmZk OTMwNjI4MTRkNjc2N2U0NTJhOGY1ZGRjZDk3ZjdlMzhjN2UgXQoKRFNUX05PQ09VTlQgaW4gZHN0 X2VudHJ5OjpmbGFncyB0cmFja3Mgd2hldGhlciB0aGUgZW50cnkgY291bnRzCnRvd2FyZCByb3V0 ZSBjYWNoZSBzaXplIChuZXQtPmlwdjYuc3lzY3RsLmlwNl9ydF9tYXhfc2l6ZSkuCgpJZiB0aGUg ZmxhZyBpcyBOT1Qgc2V0LCBkc3Rfb3BzOjpwY3B1Y19lbnRyaWVzIGNvdW50ZXIgaXMgaW5jcmVt ZW50ZWQKaW4gZGlzdF9pbml0KCkgYW5kIGRlY3JlbWVudGVkIGluIGRzdF9kZXN0cm95KCkuCgpU aGlzIGZsYWcgaXMgdGllZCB0byBhbGxvY2F0aW9uL2RlYWxsb2NhdGlvbiBvZiBkc3RfZW50cnkg YW5kCnNob3VsZCBub3QgYmUgY29waWVkIGZyb20gYW5vdGhlciBkc3Qvcm91dGUuIE90aGVyd2lz ZSBpdCBjYW4gaGFwcGVuCnRoYXQgZHN0X29wczo6cGNwdWNfZW50cmllcyBjb3VudGVyIGdyb3dz IHVudGlsIG5vIG5ldyByb3V0ZXMgY2FuCmJlIGFsbG9jYXRlZCBiZWNhdXNlIHRoZSBjb3VudGVy IHJlYWNoZWQgaXA2X3J0X21heF9zaXplIGR1ZSB0bwpEU1RfTk9DT1VOVCBub3Qgc2V0IGFuZCB0 aHVzIG5vIGNvdW50ZXIgZGVjcmVtZW50cyBvbiBnYy1lZCByb3V0ZXMuCgpGaXhlczogM2I2NzYx ZDE4YmMxICgibmV0L2lwdjY6IE1vdmUgZHN0IGZsYWdzIHRvIGJvb2xlYW5zIGluIGZpYiBlbnRy aWVzIikKQ2M6IERhdmlkIEFoZXJuIDxkc2FoZXJuQGdtYWlsLmNvbT4KQWNrZWQtYnk6IFdlaSBX YW5nIDx3ZWl3YW5AZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogUGV0ZXIgT3Nrb2xrb3YgPHBv c2tAZ29vZ2xlLmNvbT4KUmV2aWV3ZWQtYnk6IERhdmlkIEFoZXJuIDxkc2FoZXJuQGdtYWlsLmNv bT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0Pgot LS0KIG5ldC9pcHY2L3JvdXRlLmMgfCAyIC0tCiAxIGZpbGUgY2hhbmdlZCwgMiBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9yb3V0ZS5jIGIvbmV0L2lwdjYvcm91dGUuYwppbmRl eCAzZWVkMDQ1YzY1YTUuLjQ4MGE3OWY0N2M1MiAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvcm91dGUu YworKysgYi9uZXQvaXB2Ni9yb3V0ZS5jCkBAIC05NDYsOCArOTQ2LDYgQEAgc3RhdGljIHZvaWQg aXA2X3J0X2luaXRfZHN0X3JlamVjdChzdHJ1Y3QgcnQ2X2luZm8gKnJ0LCBzdHJ1Y3QgZmliNl9p bmZvICpvcnQpCiAKIHN0YXRpYyB2b2lkIGlwNl9ydF9pbml0X2RzdChzdHJ1Y3QgcnQ2X2luZm8g KnJ0LCBzdHJ1Y3QgZmliNl9pbmZvICpvcnQpCiB7Ci0JcnQtPmRzdC5mbGFncyB8PSBmaWI2X2lu Zm9fZHN0X2ZsYWdzKG9ydCk7Ci0KIAlpZiAob3J0LT5maWI2X2ZsYWdzICYgUlRGX1JFSkVDVCkg ewogCQlpcDZfcnRfaW5pdF9kc3RfcmVqZWN0KHJ0LCBvcnQpOwogCQlyZXR1cm47Ci0tIAoyLjEz LjYKCgpGcm9tIDVmMDM3NDFhY2ViNDI1Y2NkMGZiMmE1NzBjNjhkMmFhYTdhNjczY2YgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFudG9pbmUgVGVuYXJ0IDxhbnRvaW5lLnRlbmFydEBi b290bGluLmNvbT4KRGF0ZTogRnJpLCAxNCBTZXAgMjAxOCAxNjo1NjozNSArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggMjEvMjJdIG5ldDogbXZwcDI6IGxldCBwaHlsaW5rIG1hbmFnZSB0aGUgY2Fycmll ciBzdGF0ZQoKWyBVcHN0cmVhbSBjb21taXQgNDE5NDhjY2I0YTg1NmRkZGFjZmJkNGQ3ODlkNGZh ODY2M2ZlNDFiYiBdCgpOZXQgZHJpdmVycyB1c2luZyBwaHlsaW5rIHNob3VsZG4ndCBtZXNzIHdp dGggdGhlIGxpbmsgY2Fycmllcgp0aGVtc2VsdmVzIGFuZCBzaG91bGQgbGV0IHBoeWxpbmsgbWFu YWdlIGl0LiBUaGUgbXZwcDIgZHJpdmVyIHdhc24ndApmb2xsb3dpbmcgdGhpcyBiZXN0IHByYWN0 aWNlIGFzIHRoZSBtYWNfY29uZmlnKCkgZnVuY3Rpb24gbWFkZSBjYWxscyB0bwpjaGFuZ2UgdGhl IGxpbmsgY2FycmllciBzdGF0ZS4gVGhpcyBsZWQgdG8gd3JvbmdseSByZXBvcnRlZCBjYXJyaWVy IGxpbmsKc3RhdGUgd2hpY2ggdGhlbiB0cmlnZ2VyZWQgb3RoZXIgaXNzdWVzLiBUaGlzIHBhdGNo IGZpeGVzIHRoaXMKYmVoYXZpb3VyLgoKQnV0IHRoZSBQUHYyIGRyaXZlciByZWxpZWQgb24gdGhp cyBtaXNiZWhhdmlvdXIgaW4gdHdvIGNhc2VzOiBmb3IgZml4ZWQKbGlua3MgYW5kIHdoZW4gbm90 IHVzaW5nIHBoeWxpbmsgKEFDUEkgbW9kZSkuIFRoZSBsYXRlciB3YXMgZml4ZWQgYnkKYWRkaW5n IGFuIGV4cGxpY2l0IGNhbGwgdG8gbGlua191cCgpLCB3aGljaCB3aGVuIHRoZSBBQ1BJIG1vZGUg d2lsbCB1c2UKcGh5bGluayBzaG91bGQgYmUgcmVtb3ZlZC4KClRoZSBmaXhlZCBsaW5rIGNhc2Ug d2FzIHJlbHlpbmcgb24gdGhlIG1hY19jb25maWcoKSBmdW5jdGlvbiB0byBzZXQgdGhlCmxpbmsg dXAsIGFzIHdlIGZvdW5kIGFuIGlzc3VlIGluIHBoeWxpbmtfc3RhcnQoKSB3aGljaCBhc3N1bWVz IHRoZQpjYXJyaWVyIGlzIG9mZi4gSWYgbm90LCB0aGUgbGlua191cCgpIGZ1bmN0aW9uIGlzIG5l dmVyIGNhbGxlZC4gVG8gZml4CnRoaXMsIGEgY2FsbCB0byBuZXRpZl9jYXJyaWVyX29mZigpIGlz IGFkZGVkIGp1c3QgYmVmb3JlIHBoeWxpbmtfc3RhcnQoKQpzbyB0aGF0IHdlIGRvIG5vdCBpbnRy b2R1Y2UgYSByZWdyZXNzaW9uIGluIHRoZSBkcml2ZXIuCgpGaXhlczogNGJiMDQzMjYyODc4ICgi bmV0OiBtdnBwMjogcGh5bGluayBzdXBwb3J0IikKUmVwb3J0ZWQtYnk6IFJ1c3NlbGwgS2luZyA8 bGludXhAYXJtbGludXgub3JnLnVrPgpTaWduZWQtb2ZmLWJ5OiBBbnRvaW5lIFRlbmFydCA8YW50 b2luZS50ZW5hcnRAYm9vdGxpbi5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL212 cHAyL212cHAyX21haW4uYyB8IDIxICsrKysrKy0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5n ZWQsIDYgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvZXRoZXJuZXQvbWFydmVsbC9tdnBwMi9tdnBwMl9tYWluLmMgYi9kcml2ZXJzL25ldC9l dGhlcm5ldC9tYXJ2ZWxsL212cHAyL212cHAyX21haW4uYwppbmRleCAwMzE5ZWQ5ZWY4YjguLjMy M2QzZjlhMWI1NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9tdnBw Mi9tdnBwMl9tYWluLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9tdnBwMi9t dnBwMl9tYWluLmMKQEAgLTYxLDYgKzYxLDggQEAgc3RhdGljIHN0cnVjdCB7CiAgKi8KIHN0YXRp YyB2b2lkIG12cHAyX21hY19jb25maWcoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdW5zaWduZWQg aW50IG1vZGUsCiAJCQkgICAgIGNvbnN0IHN0cnVjdCBwaHlsaW5rX2xpbmtfc3RhdGUgKnN0YXRl KTsKK3N0YXRpYyB2b2lkIG12cHAyX21hY19saW5rX3VwKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYs IHVuc2lnbmVkIGludCBtb2RlLAorCQkJICAgICAgcGh5X2ludGVyZmFjZV90IGludGVyZmFjZSwg c3RydWN0IHBoeV9kZXZpY2UgKnBoeSk7CiAKIC8qIFF1ZXVlIG1vZGVzICovCiAjZGVmaW5lIE1W UFAyX1FESVNUX1NJTkdMRV9NT0RFCTAKQEAgLTMxNDIsNiArMzE0NCw3IEBAIHN0YXRpYyB2b2lk IG12cHAyX3N0YXJ0X2RldihzdHJ1Y3QgbXZwcDJfcG9ydCAqcG9ydCkKIAkJbXZwcDIyX21vZGVf cmVjb25maWd1cmUocG9ydCk7CiAKIAlpZiAocG9ydC0+cGh5bGluaykgeworCQluZXRpZl9jYXJy aWVyX29mZihwb3J0LT5kZXYpOwogCQlwaHlsaW5rX3N0YXJ0KHBvcnQtPnBoeWxpbmspOwogCX0g ZWxzZSB7CiAJCS8qIFBoeWxpbmsgaXNuJ3QgdXNlZCBhcyBvZiBub3cgZm9yIEFDUEksIHNvIHRo ZSBNQUMgaGFzIHRvIGJlCkBAIC0zMTUwLDkgKzMxNTMsMTAgQEAgc3RhdGljIHZvaWQgbXZwcDJf c3RhcnRfZGV2KHN0cnVjdCBtdnBwMl9wb3J0ICpwb3J0KQogCQkgKi8KIAkJc3RydWN0IHBoeWxp bmtfbGlua19zdGF0ZSBzdGF0ZSA9IHsKIAkJCS5pbnRlcmZhY2UgPSBwb3J0LT5waHlfaW50ZXJm YWNlLAotCQkJLmxpbmsgPSAxLAogCQl9OwogCQltdnBwMl9tYWNfY29uZmlnKHBvcnQtPmRldiwg TUxPX0FOX0lOQkFORCwgJnN0YXRlKTsKKwkJbXZwcDJfbWFjX2xpbmtfdXAocG9ydC0+ZGV2LCBN TE9fQU5fSU5CQU5ELCBwb3J0LT5waHlfaW50ZXJmYWNlLAorCQkJCSAgTlVMTCk7CiAJfQogCiAJ bmV0aWZfdHhfc3RhcnRfYWxsX3F1ZXVlcyhwb3J0LT5kZXYpOwpAQCAtNDM4OSwxMCArNDM5Myw2 IEBAIHN0YXRpYyB2b2lkIG12cHAyX21hY19jb25maWcoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwg dW5zaWduZWQgaW50IG1vZGUsCiAJCXJldHVybjsKIAl9CiAKLQluZXRpZl90eF9zdG9wX2FsbF9x dWV1ZXMocG9ydC0+ZGV2KTsKLQlpZiAoIXBvcnQtPmhhc19waHkpCi0JCW5ldGlmX2NhcnJpZXJf b2ZmKHBvcnQtPmRldik7Ci0KIAkvKiBNYWtlIHN1cmUgdGhlIHBvcnQgaXMgZGlzYWJsZWQgd2hl biByZWNvbmZpZ3VyaW5nIHRoZSBtb2RlICovCiAJbXZwcDJfcG9ydF9kaXNhYmxlKHBvcnQpOwog CkBAIC00NDE3LDE2ICs0NDE3LDcgQEAgc3RhdGljIHZvaWQgbXZwcDJfbWFjX2NvbmZpZyhzdHJ1 Y3QgbmV0X2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgbW9kZSwKIAlpZiAocG9ydC0+cHJpdi0+ aHdfdmVyc2lvbiA9PSBNVlBQMjEgJiYgcG9ydC0+ZmxhZ3MgJiBNVlBQMl9GX0xPT1BCQUNLKQog CQltdnBwMl9wb3J0X2xvb3BiYWNrX3NldChwb3J0LCBzdGF0ZSk7CiAKLQkvKiBJZiB0aGUgcG9y dCBhbHJlYWR5IHdhcyB1cCwgbWFrZSBzdXJlIGl0J3Mgc3RpbGwgaW4gdGhlIHNhbWUgc3RhdGUg Ki8KLQlpZiAoc3RhdGUtPmxpbmsgfHwgIXBvcnQtPmhhc19waHkpIHsKLQkJbXZwcDJfcG9ydF9l bmFibGUocG9ydCk7Ci0KLQkJbXZwcDJfZWdyZXNzX2VuYWJsZShwb3J0KTsKLQkJbXZwcDJfaW5n cmVzc19lbmFibGUocG9ydCk7Ci0JCWlmICghcG9ydC0+aGFzX3BoeSkKLQkJCW5ldGlmX2NhcnJp ZXJfb24oZGV2KTsKLQkJbmV0aWZfdHhfd2FrZV9hbGxfcXVldWVzKGRldik7Ci0JfQorCW12cHAy X3BvcnRfZW5hYmxlKHBvcnQpOwogfQogCiBzdGF0aWMgdm9pZCBtdnBwMl9tYWNfbGlua191cChz dHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgbW9kZSwKLS0gCjIuMTMuNgoKCkZy b20gOTUwYjlmZGEyMjE4YjY5Y2JhMjU5ZWY2MWFmZTFmMDM0NDU3NjdiMyBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogUm9vcGEgUHJhYmh1IDxyb29wYUBjdW11bHVzbmV0d29ya3MuY29t PgpEYXRlOiBXZWQsIDEyIFNlcCAyMDE4IDEzOjIxOjQ4IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAy Mi8yMl0gbmV0OiBydG5sX2NvbmZpZ3VyZV9saW5rOiBmaXggZGV2IGZsYWdzIGNoYW5nZXMgYXJn IHRvCiBfX2Rldl9ub3RpZnlfZmxhZ3MKClsgVXBzdHJlYW0gY29tbWl0IDU2YTQ5ZDcwNDg3MDNm NWZmZGI4NGQzYTBlZTAzNDEwOGZiYTY4NTAgXQoKVGhpcyBmaXggYWRkcmVzc2VzIGh0dHBzOi8v YnVnemlsbGEua2VybmVsLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMDcxCgpDb21taXQgNTAyNWY3 ZjdkNTA2IHdyb25nbHkgcmVsaWVkIG9uIF9fZGV2X2NoYW5nZV9mbGFncyB0byBub3RpZnkgdXNl cnMgb2YKZGV2IGZsYWcgY2hhbmdlcyBpbiB0aGUgY2FzZSB3aGVuIGRldi0+cnRubF9saW5rX3N0 YXRlID0gUlROTF9MSU5LX0lOSVRJQUxJWkVELgpGaXggaXQgYnkgaW5kaWNhdGluZyBmbGFnIGNo YW5nZXMgZXhwbGljaXRseSB0byBfX2Rldl9ub3RpZnlfZmxhZ3MuCgpGaXhlczogNTAyNWY3Zjdk NTA2ICgicnRuZXRsaW5rOiBhZGQgcnRubF9saW5rX3N0YXRlIGNoZWNrIGluIHJ0bmxfY29uZmln dXJlX2xpbmsiKQpSZXBvcnRlZC1CeTogTGlhbSBtY2Jpcm5pZSA8bGlhbS5tY2Jpcm5pZUBib2Vp bmcuY29tPgpTaWduZWQtb2ZmLWJ5OiBSb29wYSBQcmFiaHUgPHJvb3BhQGN1bXVsdXNuZXR3b3Jr cy5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5l dD4KLS0tCiBuZXQvY29yZS9ydG5ldGxpbmsuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9jb3JlL3J0bmV0bGlu ay5jIGIvbmV0L2NvcmUvcnRuZXRsaW5rLmMKaW5kZXggZTNmNzQzYzE0MWIzLi5iYWZhYTAzMzgy NmYgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL3J0bmV0bGluay5jCisrKyBiL25ldC9jb3JlL3J0bmV0 bGluay5jCkBAIC0yNzYwLDcgKzI3NjAsNyBAQCBpbnQgcnRubF9jb25maWd1cmVfbGluayhzdHJ1 Y3QgbmV0X2RldmljZSAqZGV2LCBjb25zdCBzdHJ1Y3QgaWZpbmZvbXNnICppZm0pCiAJfQogCiAJ aWYgKGRldi0+cnRubF9saW5rX3N0YXRlID09IFJUTkxfTElOS19JTklUSUFMSVpFRCkgewotCQlf X2Rldl9ub3RpZnlfZmxhZ3MoZGV2LCBvbGRfZmxhZ3MsIDBVKTsKKwkJX19kZXZfbm90aWZ5X2Zs YWdzKGRldiwgb2xkX2ZsYWdzLCAob2xkX2ZsYWdzIF4gZGV2LT5mbGFncykpOwogCX0gZWxzZSB7 CiAJCWRldi0+cnRubF9saW5rX3N0YXRlID0gUlROTF9MSU5LX0lOSVRJQUxJWkVEOwogCQlfX2Rl dl9ub3RpZnlfZmxhZ3MoZGV2LCBvbGRfZmxhZ3MsIH4wVSk7Ci0tIAoyLjEzLjYKCg== ----Next_Part(Mon_Sep_24_09_46_40_2018_110)----