From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shards.monkeyblade.net ([23.128.96.9]:52458 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726925AbeKBNA7 (ORCPT ); Fri, 2 Nov 2018 09:00:59 -0400 Received: from localhost (unknown [IPv6:2601:601:9f80:35cd::cf9]) (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 5F47913E2B9BF for ; Thu, 1 Nov 2018 20:55:16 -0700 (PDT) Date: Thu, 01 Nov 2018 20:55:15 -0700 (PDT) Message-Id: <20181101.205515.47900704540822062.davem@davemloft.net> To: stable@vger.kernel.org Subject: [PATCHES] Networking From: David Miller Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Thu_Nov__1_20_55_15_2018_511)--" Content-Transfer-Encoding: 7bit Sender: stable-owner@vger.kernel.org List-ID: ----Next_Part(Thu_Nov__1_20_55_15_2018_511)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for v4.18 and v4.19 -stable, respectively. ----Next_Part(Thu_Nov__1_20_55_15_2018_511)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_418.mbox" RnJvbSBhN2U2ODIxMzE3NmZjODZmNGE5ZjliM2UxMWFkZmYyOWVhMzIzMjU2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBIYW5nYmluIExpdSA8bGl1aGFuZ2JpbkBnbWFpbC5jb20+CkRh dGU6IEZyaSwgMjYgT2N0IDIwMTggMTA6Mjg6NDMgKzA4MDAKU3ViamVjdDogW1BBVENIIDAxLzM5 XSBicmlkZ2U6IGRvIG5vdCBhZGQgcG9ydCB0byByb3V0ZXIgbGlzdCB3aGVuIHJlY2VpdmVzCiBx dWVyeSB3aXRoIHNvdXJjZSAwLjAuMC4wCgpbIFVwc3RyZWFtIGNvbW1pdCA1YTJkZTYzZmQxYTU5 YzMwYzAyNTI2ZDQyN2JjMDE0Yjk4YWRmNTA4IF0KCkJhc2VkIG9uIFJGQyA0NTQxLCAyLjEuMS4g IElHTVAgRm9yd2FyZGluZyBSdWxlcwoKICBUaGUgc3dpdGNoIHN1cHBvcnRpbmcgSUdNUCBzbm9v cGluZyBtdXN0IG1haW50YWluIGEgbGlzdCBvZgogIG11bHRpY2FzdCByb3V0ZXJzIGFuZCB0aGUg cG9ydHMgb24gd2hpY2ggdGhleSBhcmUgYXR0YWNoZWQuICBUaGlzCiAgbGlzdCBjYW4gYmUgY29u c3RydWN0ZWQgaW4gYW55IGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgd2F5czoKCiAgYSkg VGhpcyBsaXN0IHNob3VsZCBiZSBidWlsdCBieSB0aGUgc25vb3Bpbmcgc3dpdGNoIHNlbmRpbmcK ICAgICBNdWx0aWNhc3QgUm91dGVyIFNvbGljaXRhdGlvbiBtZXNzYWdlcyBhcyBkZXNjcmliZWQg aW4gSUdNUAogICAgIE11bHRpY2FzdCBSb3V0ZXIgRGlzY292ZXJ5IFtNUkRJU0NdLiAgSXQgbWF5 IGFsc28gc25vb3AKICAgICBNdWx0aWNhc3QgUm91dGVyIEFkdmVydGlzZW1lbnQgbWVzc2FnZXMg c2VudCBieSBhbmQgdG8gb3RoZXIKICAgICBub2Rlcy4KCiAgYikgVGhlIGFycml2YWwgcG9ydCBm b3IgSUdNUCBRdWVyaWVzIChzZW50IGJ5IG11bHRpY2FzdCByb3V0ZXJzKQogICAgIHdoZXJlIHRo ZSBzb3VyY2UgYWRkcmVzcyBpcyBub3QgMC4wLjAuMC4KCldlIHNob3VsZCBub3QgYWRkIHRoZSBw b3J0IHRvIHJvdXRlciBsaXN0IHdoZW4gcmVjZWl2ZXMgcXVlcnkgd2l0aCBzb3VyY2UKMC4wLjAu MC4KClJlcG9ydGVkLWJ5OiBZaW5nIFh1IDx5aW54dUByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5 OiBIYW5nYmluIExpdSA8bGl1aGFuZ2JpbkBnbWFpbC5jb20+CkFja2VkLWJ5OiBOaWtvbGF5IEFs ZWtzYW5kcm92IDxuaWtvbGF5QGN1bXVsdXNuZXR3b3Jrcy5jb20+CkFja2VkLWJ5OiBSb29wYSBQ cmFiaHUgPHJvb3BhQGN1bXVsdXNuZXR3b3Jrcy5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMu IE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvYnJpZGdlL2JyX211bHRpY2Fz dC5jIHwgMTAgKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9icmlkZ2UvYnJfbXVsdGljYXN0LmMgYi9uZXQv YnJpZGdlL2JyX211bHRpY2FzdC5jCmluZGV4IDkyMDY2NWRkOTJkYi4uYjRlNWM1MTVhNmRhIDEw MDY0NAotLS0gYS9uZXQvYnJpZGdlL2JyX211bHRpY2FzdC5jCisrKyBiL25ldC9icmlkZ2UvYnJf bXVsdGljYXN0LmMKQEAgLTE0MjAsNyArMTQyMCwxNSBAQCBzdGF0aWMgdm9pZCBicl9tdWx0aWNh c3RfcXVlcnlfcmVjZWl2ZWQoc3RydWN0IG5ldF9icmlkZ2UgKmJyLAogCQlyZXR1cm47CiAKIAli cl9tdWx0aWNhc3RfdXBkYXRlX3F1ZXJ5X3RpbWVyKGJyLCBxdWVyeSwgbWF4X2RlbGF5KTsKLQli cl9tdWx0aWNhc3RfbWFya19yb3V0ZXIoYnIsIHBvcnQpOworCisJLyogQmFzZWQgb24gUkZDNDU0 MSwgc2VjdGlvbiAyLjEuMSBJR01QIEZvcndhcmRpbmcgUnVsZXMsCisJICogdGhlIGFycml2YWwg cG9ydCBmb3IgSUdNUCBRdWVyaWVzIHdoZXJlIHRoZSBzb3VyY2UgYWRkcmVzcworCSAqIGlzIDAu MC4wLjAgc2hvdWxkIG5vdCBiZSBhZGRlZCB0byByb3V0ZXIgcG9ydCBsaXN0LgorCSAqLworCWlm ICgoc2FkZHItPnByb3RvID09IGh0b25zKEVUSF9QX0lQKSAmJiBzYWRkci0+dS5pcDQpIHx8CisJ ICAgIChzYWRkci0+cHJvdG8gPT0gaHRvbnMoRVRIX1BfSVBWNikgJiYKKwkgICAgICFpcHY2X2Fk ZHJfYW55KCZzYWRkci0+dS5pcDYpKSkKKwkJYnJfbXVsdGljYXN0X21hcmtfcm91dGVyKGJyLCBw b3J0KTsKIH0KIAogc3RhdGljIGludCBicl9pcDRfbXVsdGljYXN0X3F1ZXJ5KHN0cnVjdCBuZXRf YnJpZGdlICpiciwKLS0gCjIuMTkuMQoKCkZyb20gNzA1ZDA4YmZjNzc0NDVkNjNmYmE4ZDAzMTc3 OTYwODZhMzQ1NzY2OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0 IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBGcmksIDEyIE9jdCAyMDE4IDE4OjU4OjUzIC0w NzAwClN1YmplY3Q6IFtQQVRDSCAwMi8zOV0gaXB2NjogbWNhc3Q6IGZpeCBhIHVzZS1hZnRlci1m cmVlIGluIGluZXQ2X21jX2NoZWNrCgpbIFVwc3RyZWFtIGNvbW1pdCBkYzAxMmYzNjI4ZWFlY2Zi NWJhNjg0MDRhNWMzMGVmNTAxZGFmNjNkIF0KCnN5emJvdCBmb3VuZCBhIHVzZS1hZnRlci1mcmVl IGluIGluZXQ2X21jX2NoZWNrIFsxXQoKVGhlIHByb2JsZW0gaGVyZSBpcyB0aGF0IGluZXQ2X21j X2NoZWNrKCkgdXNlcyByY3UKYW5kIHJlYWRfbG9jaygmaW1sLT5zZmxvY2spCgpTbyB0aGUgZmFj dCB0aGF0IGlwNl9tY19sZWF2ZV9zcmMoKSBpcyBjYWxsZWQgdW5kZXIgUlROTAphbmQgdGhlIHNv Y2tldCBsb2NrIGRvZXMgbm90IGhlbHAgdXMsIHdlIG5lZWQgdG8gYWNxdWlyZQppbWwtPnNmbG9j ayBpbiB3cml0ZSBtb2RlLgoKSW4gdGhlIGZ1dHVyZSwgd2Ugc2hvdWxkIGNvbnZlcnQgYWxsIHRo aXMgc3R1ZmYgdG8gUkNVLgoKWzFdCkJVRzogS0FTQU46IHVzZS1hZnRlci1mcmVlIGluIGlwdjZf YWRkcl9lcXVhbCBpbmNsdWRlL25ldC9pcHY2Lmg6NTIxIFtpbmxpbmVdCkJVRzogS0FTQU46IHVz ZS1hZnRlci1mcmVlIGluIGluZXQ2X21jX2NoZWNrKzB4YWU3LzB4YjQwIG5ldC9pcHY2L21jYXN0 LmM6NjQ5ClJlYWQgb2Ygc2l6ZSA4IGF0IGFkZHIgZmZmZjg4MDFjZTdmMjUxMCBieSB0YXNrIHN5 ei1leGVjdXRvcjAvMjI0MzIKCkNQVTogMSBQSUQ6IDIyNDMyIENvbW06IHN5ei1leGVjdXRvcjAg Tm90IHRhaW50ZWQgNC4xOS4wLXJjNysgIzI4MApIYXJkd2FyZSBuYW1lOiBHb29nbGUgR29vZ2xl IENvbXB1dGUgRW5naW5lL0dvb2dsZSBDb21wdXRlIEVuZ2luZSwgQklPUyBHb29nbGUgMDEvMDEv MjAxMQpDYWxsIFRyYWNlOgogX19kdW1wX3N0YWNrIGxpYi9kdW1wX3N0YWNrLmM6NzcgW2lubGlu ZV0KIGR1bXBfc3RhY2srMHgxYzQvMHgyYjQgbGliL2R1bXBfc3RhY2suYzoxMTMKIHByaW50X2Fk ZHJlc3NfZGVzY3JpcHRpb24uY29sZC44KzB4OS8weDFmZiBtbS9rYXNhbi9yZXBvcnQuYzoyNTYK IGthc2FuX3JlcG9ydF9lcnJvciBtbS9rYXNhbi9yZXBvcnQuYzozNTQgW2lubGluZV0KIGthc2Fu X3JlcG9ydC5jb2xkLjkrMHgyNDIvMHgzMDkgbW0va2FzYW4vcmVwb3J0LmM6NDEyCiBfX2FzYW5f cmVwb3J0X2xvYWQ4X25vYWJvcnQrMHgxNC8weDIwIG1tL2thc2FuL3JlcG9ydC5jOjQzMwogaXB2 Nl9hZGRyX2VxdWFsIGluY2x1ZGUvbmV0L2lwdjYuaDo1MjEgW2lubGluZV0KIGluZXQ2X21jX2No ZWNrKzB4YWU3LzB4YjQwIG5ldC9pcHY2L21jYXN0LmM6NjQ5CiBfX3Jhd192Nl9sb29rdXArMHgz MjAvMHgzZjAgbmV0L2lwdjYvcmF3LmM6OTgKIGlwdjZfcmF3X2RlbGl2ZXIgbmV0L2lwdjYvcmF3 LmM6MTgzIFtpbmxpbmVdCiByYXc2X2xvY2FsX2RlbGl2ZXIrMHgzZDMvMHhjYjAgbmV0L2lwdjYv cmF3LmM6MjQwCiBpcDZfaW5wdXRfZmluaXNoKzB4NDY3LzB4MWFhMCBuZXQvaXB2Ni9pcDZfaW5w dXQuYzozNDUKIE5GX0hPT0sgaW5jbHVkZS9saW51eC9uZXRmaWx0ZXIuaDoyODkgW2lubGluZV0K IGlwNl9pbnB1dCsweGU5LzB4NjAwIG5ldC9pcHY2L2lwNl9pbnB1dC5jOjQyNgogaXA2X21jX2lu cHV0KzB4NDhhLzB4ZDIwIG5ldC9pcHY2L2lwNl9pbnB1dC5jOjUwMwogZHN0X2lucHV0IGluY2x1 ZGUvbmV0L2RzdC5oOjQ1MCBbaW5saW5lXQogaXA2X3Jjdl9maW5pc2grMHgxN2EvMHgzMzAgbmV0 L2lwdjYvaXA2X2lucHV0LmM6NzYKIE5GX0hPT0sgaW5jbHVkZS9saW51eC9uZXRmaWx0ZXIuaDoy ODkgW2lubGluZV0KIGlwdjZfcmN2KzB4MTIwLzB4NjQwIG5ldC9pcHY2L2lwNl9pbnB1dC5jOjI3 MQogX19uZXRpZl9yZWNlaXZlX3NrYl9vbmVfY29yZSsweDE0ZC8weDIwMCBuZXQvY29yZS9kZXYu Yzo0OTEzCiBfX25ldGlmX3JlY2VpdmVfc2tiKzB4MmMvMHgxZTAgbmV0L2NvcmUvZGV2LmM6NTAy MwogbmV0aWZfcmVjZWl2ZV9za2JfaW50ZXJuYWwrMHgxMmMvMHg2MjAgbmV0L2NvcmUvZGV2LmM6 NTEyNgogbmFwaV9mcmFnc19maW5pc2ggbmV0L2NvcmUvZGV2LmM6NTY2NCBbaW5saW5lXQogbmFw aV9ncm9fZnJhZ3MrMHg3NWEvMHhjOTAgbmV0L2NvcmUvZGV2LmM6NTczNwogdHVuX2dldF91c2Vy KzB4MzE4OS8weDQyNTAgZHJpdmVycy9uZXQvdHVuLmM6MTkyMwogdHVuX2Nocl93cml0ZV9pdGVy KzB4YjkvMHgxNTQgZHJpdmVycy9uZXQvdHVuLmM6MTk2OAogY2FsbF93cml0ZV9pdGVyIGluY2x1 ZGUvbGludXgvZnMuaDoxODA4IFtpbmxpbmVdCiBkb19pdGVyX3JlYWR2X3dyaXRldisweDhiMC8w eGE4MCBmcy9yZWFkX3dyaXRlLmM6NjgwCiBkb19pdGVyX3dyaXRlKzB4MTg1LzB4NWYwIGZzL3Jl YWRfd3JpdGUuYzo5NTkKIHZmc193cml0ZXYrMHgxZjEvMHgzNjAgZnMvcmVhZF93cml0ZS5jOjEw MDQKIGRvX3dyaXRldisweDExYS8weDMxMCBmcy9yZWFkX3dyaXRlLmM6MTAzOQogX19kb19zeXNf d3JpdGV2IGZzL3JlYWRfd3JpdGUuYzoxMTEyIFtpbmxpbmVdCiBfX3NlX3N5c193cml0ZXYgZnMv cmVhZF93cml0ZS5jOjExMDkgW2lubGluZV0KIF9feDY0X3N5c193cml0ZXYrMHg3NS8weGIwIGZz L3JlYWRfd3JpdGUuYzoxMTA5CiBkb19zeXNjYWxsXzY0KzB4MWI5LzB4ODIwIGFyY2gveDg2L2Vu dHJ5L2NvbW1vbi5jOjI5MAogZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDkvMHhi ZQpSSVA6IDAwMzM6MHg0NTc0MjEKQ29kZTogNzUgMTQgYjggMTQgMDAgMDAgMDAgMGYgMDUgNDgg M2QgMDEgZjAgZmYgZmYgMGYgODMgMzQgYjUgZmIgZmYgYzMgNDggODMgZWMgMDggZTggMWEgMmQg MDAgMDAgNDggODkgMDQgMjQgYjggMTQgMDAgMDAgMDAgMGYgMDUgPDQ4PiA4YiAzYyAyNCA0OCA4 OSBjMiBlOCA2MyAyZCAwMCAwMCA0OCA4OSBkMCA0OCA4MyBjNCAwOCA0OCAzZCAwMQpSU1A6IDAw MmI6MDAwMDdmMmQzMGVjYWJhMCBFRkxBR1M6IDAwMDAwMjkzIE9SSUdfUkFYOiAwMDAwMDAwMDAw MDAwMDE0ClJBWDogZmZmZmZmZmZmZmZmZmZkYSBSQlg6IDAwMDAwMDAwMDAwMDAwM2UgUkNYOiAw MDAwMDAwMDAwNDU3NDIxClJEWDogMDAwMDAwMDAwMDAwMDAwMSBSU0k6IDAwMDA3ZjJkMzBlY2Fi ZjAgUkRJOiAwMDAwMDAwMDAwMDAwMGYwClJCUDogMDAwMDAwMDAyMDAwMDUwMCBSMDg6IDAwMDAw MDAwMDAwMDAwZjAgUjA5OiAwMDAwMDAwMDAwMDAwMDAwClIxMDogMDAwMDAwMDAwMDAwMDAwMCBS MTE6IDAwMDAwMDAwMDAwMDAyOTMgUjEyOiAwMDAwN2YyZDMwZWNiNmQ0ClIxMzogMDAwMDAwMDAw MDRjNDg5MCBSMTQ6IDAwMDAwMDAwMDA0ZDdiOTAgUjE1OiAwMDAwMDAwMGZmZmZmZmZmCgpBbGxv Y2F0ZWQgYnkgdGFzayAyMjQzNzoKIHNhdmVfc3RhY2srMHg0My8weGQwIG1tL2thc2FuL2thc2Fu LmM6NDQ4CiBzZXRfdHJhY2sgbW0va2FzYW4va2FzYW4uYzo0NjAgW2lubGluZV0KIGthc2FuX2tt YWxsb2MrMHhjNy8weGUwIG1tL2thc2FuL2thc2FuLmM6NTUzCiBfX2RvX2ttYWxsb2MgbW0vc2xh Yi5jOjM3MTggW2lubGluZV0KIF9fa21hbGxvYysweDE0ZS8weDc2MCBtbS9zbGFiLmM6MzcyNwog a21hbGxvYyBpbmNsdWRlL2xpbnV4L3NsYWIuaDo1MTggW2lubGluZV0KIHNvY2tfa21hbGxvYysw eDE1YS8weDFmMCBuZXQvY29yZS9zb2NrLmM6MTk4MwogaXA2X21jX3NvdXJjZSsweDE0ZGQvMHgx OTYwIG5ldC9pcHY2L21jYXN0LmM6NDI3CiBkb19pcHY2X3NldHNvY2tvcHQuaXNyYS45KzB4M2Fm Yi8weDQ1ZDAgbmV0L2lwdjYvaXB2Nl9zb2NrZ2x1ZS5jOjc0MwogaXB2Nl9zZXRzb2Nrb3B0KzB4 YmQvMHgxNzAgbmV0L2lwdjYvaXB2Nl9zb2NrZ2x1ZS5jOjkzMwogcmF3djZfc2V0c29ja29wdCsw eDU5LzB4MTQwIG5ldC9pcHY2L3Jhdy5jOjEwNjkKIHNvY2tfY29tbW9uX3NldHNvY2tvcHQrMHg5 YS8weGUwIG5ldC9jb3JlL3NvY2suYzozMDM4CiBfX3N5c19zZXRzb2Nrb3B0KzB4MWJhLzB4M2Mw IG5ldC9zb2NrZXQuYzoxOTAyCiBfX2RvX3N5c19zZXRzb2Nrb3B0IG5ldC9zb2NrZXQuYzoxOTEz IFtpbmxpbmVdCiBfX3NlX3N5c19zZXRzb2Nrb3B0IG5ldC9zb2NrZXQuYzoxOTEwIFtpbmxpbmVd CiBfX3g2NF9zeXNfc2V0c29ja29wdCsweGJlLzB4MTUwIG5ldC9zb2NrZXQuYzoxOTEwCiBkb19z eXNjYWxsXzY0KzB4MWI5LzB4ODIwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI5MAogZW50cnlf U1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDkvMHhiZQoKRnJlZWQgYnkgdGFzayAyMjQzMDoK IHNhdmVfc3RhY2srMHg0My8weGQwIG1tL2thc2FuL2thc2FuLmM6NDQ4CiBzZXRfdHJhY2sgbW0v a2FzYW4va2FzYW4uYzo0NjAgW2lubGluZV0KIF9fa2FzYW5fc2xhYl9mcmVlKzB4MTAyLzB4MTUw IG1tL2thc2FuL2thc2FuLmM6NTIxCiBrYXNhbl9zbGFiX2ZyZWUrMHhlLzB4MTAgbW0va2FzYW4v a2FzYW4uYzo1MjgKIF9fY2FjaGVfZnJlZSBtbS9zbGFiLmM6MzQ5OCBbaW5saW5lXQoga2ZyZWUr MHhjZi8weDIzMCBtbS9zbGFiLmM6MzgxMwogX19zb2NrX2tmcmVlX3MgbmV0L2NvcmUvc29jay5j OjIwMDQgW2lubGluZV0KIHNvY2tfa2ZyZWVfcysweDI5LzB4NjAgbmV0L2NvcmUvc29jay5jOjIw MTAKIGlwNl9tY19sZWF2ZV9zcmMrMHgxMWEvMHgxZDAgbmV0L2lwdjYvbWNhc3QuYzoyNDQ4CiBf X2lwdjZfc29ja19tY19jbG9zZSsweDIwYi8weDRlMCBuZXQvaXB2Ni9tY2FzdC5jOjMxMAogaXB2 Nl9zb2NrX21jX2Nsb3NlKzB4MTU4LzB4MWQwIG5ldC9pcHY2L21jYXN0LmM6MzI4CiBpbmV0Nl9y ZWxlYXNlKzB4NDAvMHg3MCBuZXQvaXB2Ni9hZl9pbmV0Ni5jOjQ1MgogX19zb2NrX3JlbGVhc2Ur MHhkNy8weDI1MCBuZXQvc29ja2V0LmM6NTc5CiBzb2NrX2Nsb3NlKzB4MTkvMHgyMCBuZXQvc29j a2V0LmM6MTE0MQogX19mcHV0KzB4Mzg1LzB4YTMwIGZzL2ZpbGVfdGFibGUuYzoyNzgKIF9fX19m cHV0KzB4MTUvMHgyMCBmcy9maWxlX3RhYmxlLmM6MzA5CiB0YXNrX3dvcmtfcnVuKzB4MWU4LzB4 MmEwIGtlcm5lbC90YXNrX3dvcmsuYzoxMTMKIHRyYWNlaG9va19ub3RpZnlfcmVzdW1lIGluY2x1 ZGUvbGludXgvdHJhY2Vob29rLmg6MTkzIFtpbmxpbmVdCiBleGl0X3RvX3VzZXJtb2RlX2xvb3Ar MHgzMTgvMHgzODAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6MTY2CiBwcmVwYXJlX2V4aXRfdG9f dXNlcm1vZGUgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6MTk3IFtpbmxpbmVdCiBzeXNjYWxsX3Jl dHVybl9zbG93cGF0aCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzoyNjggW2lubGluZV0KIGRvX3N5 c2NhbGxfNjQrMHg2YmUvMHg4MjAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6MjkzCiBlbnRyeV9T WVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlCgpUaGUgYnVnZ3kgYWRkcmVzcyBiZWxv bmdzIHRvIHRoZSBvYmplY3QgYXQgZmZmZjg4MDFjZTdmMjUwMAogd2hpY2ggYmVsb25ncyB0byB0 aGUgY2FjaGUga21hbGxvYy0xOTIgb2Ygc2l6ZSAxOTIKVGhlIGJ1Z2d5IGFkZHJlc3MgaXMgbG9j YXRlZCAxNiBieXRlcyBpbnNpZGUgb2YKIDE5Mi1ieXRlIHJlZ2lvbiBbZmZmZjg4MDFjZTdmMjUw MCwgZmZmZjg4MDFjZTdmMjVjMCkKVGhlIGJ1Z2d5IGFkZHJlc3MgYmVsb25ncyB0byB0aGUgcGFn ZToKcGFnZTpmZmZmZWEwMDA3MzlmYzgwIGNvdW50OjEgbWFwY291bnQ6MCBtYXBwaW5nOmZmZmY4 ODAxZGE4MDAwNDAgaW5kZXg6MHgwCmZsYWdzOiAweDJmZmZjMDAwMDAwMDEwMChzbGFiKQpyYXc6 IDAyZmZmYzAwMDAwMDAxMDAgZmZmZmVhMDAwNmY2ZTU0OCBmZmZmZWEwMDA3MzdiOTQ4IGZmZmY4 ODAxZGE4MDAwNDAKcmF3OiAwMDAwMDAwMDAwMDAwMDAwIGZmZmY4ODAxY2U3ZjIwMDAgMDAwMDAw MDEwMDAwMDAxMCAwMDAwMDAwMDAwMDAwMDAwCnBhZ2UgZHVtcGVkIGJlY2F1c2U6IGthc2FuOiBi YWQgYWNjZXNzIGRldGVjdGVkCgpNZW1vcnkgc3RhdGUgYXJvdW5kIHRoZSBidWdneSBhZGRyZXNz OgogZmZmZjg4MDFjZTdmMjQwMDogZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIg ZmIgZmIgZmIgZmIKIGZmZmY4ODAxY2U3ZjI0ODA6IGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZj IGZjIGZjIGZjIGZjIGZjIGZjIGZjCj5mZmZmODgwMWNlN2YyNTAwOiBmYiBmYiBmYiBmYiBmYiBm YiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYgogICAgICAgICAgICAgICAgICAgICAgICAg XgogZmZmZjg4MDFjZTdmMjU4MDogZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmMgZmMgZmMgZmMg ZmMgZmMgZmMgZmMKIGZmZmY4ODAxY2U3ZjI2MDA6IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAw IDAwIDAwIDAwIDAwIDAwIDAwIDAwCgpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1h emV0QGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5emthbGxlckBnb29nbGVncm91 cHMuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+Ci0tLQogbmV0L2lwdjYvbWNhc3QuYyB8IDE2ICsrKysrKysrLS0tLS0tLS0KIDEgZmlsZSBj aGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0 L2lwdjYvbWNhc3QuYyBiL25ldC9pcHY2L21jYXN0LmMKaW5kZXggZjYwZjMxMDc4NWZkLi4xMzE0 NDBlYTZiNTEgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L21jYXN0LmMKKysrIGIvbmV0L2lwdjYvbWNh c3QuYwpAQCAtMjQzNiwxNyArMjQzNiwxNyBAQCBzdGF0aWMgaW50IGlwNl9tY19sZWF2ZV9zcmMo c3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3QgaXB2Nl9tY19zb2NrbGlzdCAqaW1sLAogewogCWludCBl cnI7CiAKLQkvKiBjYWxsZXJzIGhhdmUgdGhlIHNvY2tldCBsb2NrIGFuZCBydG5sIGxvY2sKLQkg KiBzbyBubyBvdGhlciByZWFkZXJzIG9yIHdyaXRlcnMgb2YgaW1sIG9yIGl0cyBzZmxpc3QKLQkg Ki8KKwl3cml0ZV9sb2NrX2JoKCZpbWwtPnNmbG9jayk7CiAJaWYgKCFpbWwtPnNmbGlzdCkgewog CQkvKiBhbnktc291cmNlIGVtcHR5IGV4Y2x1ZGUgY2FzZSAqLwotCQlyZXR1cm4gaXA2X21jX2Rl bF9zcmMoaWRldiwgJmltbC0+YWRkciwgaW1sLT5zZm1vZGUsIDAsIE5VTEwsIDApOworCQllcnIg PSBpcDZfbWNfZGVsX3NyYyhpZGV2LCAmaW1sLT5hZGRyLCBpbWwtPnNmbW9kZSwgMCwgTlVMTCwg MCk7CisJfSBlbHNlIHsKKwkJZXJyID0gaXA2X21jX2RlbF9zcmMoaWRldiwgJmltbC0+YWRkciwg aW1sLT5zZm1vZGUsCisJCQkJaW1sLT5zZmxpc3QtPnNsX2NvdW50LCBpbWwtPnNmbGlzdC0+c2xf YWRkciwgMCk7CisJCXNvY2tfa2ZyZWVfcyhzaywgaW1sLT5zZmxpc3QsIElQNl9TRkxTSVpFKGlt bC0+c2ZsaXN0LT5zbF9tYXgpKTsKKwkJaW1sLT5zZmxpc3QgPSBOVUxMOwogCX0KLQllcnIgPSBp cDZfbWNfZGVsX3NyYyhpZGV2LCAmaW1sLT5hZGRyLCBpbWwtPnNmbW9kZSwKLQkJaW1sLT5zZmxp c3QtPnNsX2NvdW50LCBpbWwtPnNmbGlzdC0+c2xfYWRkciwgMCk7Ci0Jc29ja19rZnJlZV9zKHNr LCBpbWwtPnNmbGlzdCwgSVA2X1NGTFNJWkUoaW1sLT5zZmxpc3QtPnNsX21heCkpOwotCWltbC0+ c2ZsaXN0ID0gTlVMTDsKKwl3cml0ZV91bmxvY2tfYmgoJmltbC0+c2Zsb2NrKTsKIAlyZXR1cm4g ZXJyOwogfQogCi0tIAoyLjE5LjEKCgpGcm9tIGU3NWY2ZWM3MGRmZjgxMzA4ZDYxY2U4ZmYyODA2 MjMxNjBlYmM5MGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFN0ZWZhbm8gQnJpdmlv IDxzYnJpdmlvQHJlZGhhdC5jb20+CkRhdGU6IFdlZCwgMjQgT2N0IDIwMTggMTQ6Mzc6MjEgKzAy MDAKU3ViamVjdDogW1BBVENIIDAzLzM5XSBpcHY2L25kaXNjOiBQcmVzZXJ2ZSBJUHY2IGNvbnRy b2wgYnVmZmVyIGlmIHByb3RvY29sCiBlcnJvciBoYW5kbGVycyBhcmUgY2FsbGVkCgpbIFVwc3Ry ZWFtIGNvbW1pdCBlZTFhYmNmNjg5MzUzZjM2ZDkzMjIyMzFiNDMyMDkyNjA5NmJkZWUwIF0KCkNv bW1pdCBhNjFiYmNmMjhhOGMgKCJbTkVUXTogU3RvcmUgc2tiLT50aW1lc3RhbXAgYXMgb2Zmc2V0 IHRvIGEgYmFzZQp0aW1lc3RhbXAiKSBpbnRyb2R1Y2VzIGEgbmVpZ2hib3VyIGNvbnRyb2wgYnVm ZmVyIGFuZCB6ZXJvZXMgaXQgb3V0IGluCm5kaXNjX3JjdigpLCBhcyBuZGlzY19yZWN2X25zKCkg dXNlcyBpdC4KCkNvbW1pdCBmMjc3NmZmMDQ3MjIgKCJbSVBWNl06IEZpeCBhZGRyZXNzL2ludGVy ZmFjZSBoYW5kbGluZyBpbiBVRFAgYW5kCkRDQ1AsIGFjY29yZGluZyB0byB0aGUgc2NvcGluZyBh cmNoaXRlY3R1cmUuIikgaW50cm9kdWNlcyB0aGUgdXNhZ2Ugb2YgdGhlCklQdjYgY29udHJvbCBi dWZmZXIgaW4gcHJvdG9jb2wgZXJyb3IgaGFuZGxlcnMgKGUuZy4gaW5ldDZfaWlmKCkgaW4KcHJl c2VudC1kYXkgX191ZHA2X2xpYl9lcnIoKSkuCgpOb3csIHdpdGggY29tbWl0IGI5NGYxYzA5MDRk YSAoImlwdjY6IFVzZSBpY21wdjZfbm90aWZ5KCkgdG8gcHJvcGFnYXRlCnJlZGlyZWN0LCBpbnN0 ZWFkIG9mIHJ0Nl9yZWRpcmVjdCgpLiIpLCB3ZSBjYWxsIHByb3RvY29sIGVycm9yIGhhbmRsZXJz CmZyb20gbmRpc2NfcmVkaXJlY3RfcmN2KCksIGFmdGVyIHRoZSBjb250cm9sIGJ1ZmZlciBpcyBh bHJlYWR5IHN0b2xlbiBhbmQKc29tZSBwYXJ0cyBhcmUgYWxyZWFkeSB6ZXJvZWQgb3V0LiBUaGlz IGltcGxpZXMgdGhhdCBpbmV0Nl9paWYoKSBvbiB0aGlzCnBhdGggd2lsbCBhbHdheXMgcmV0dXJu IHplcm8uCgpUaGlzIGdpdmVzIHVuZXhwZWN0ZWQgcmVzdWx0cyBvbiBVRFAgc29ja2V0IGxvb2t1 cCBpbiBfX3VkcDZfbGliX2VycigpLCBhcwp3ZSBtaWdodCBhY3R1YWxseSBuZWVkIHRvIG1hdGNo IHNvY2tldHMgZm9yIGEgZ2l2ZW4gaW50ZXJmYWNlLgoKSW5zdGVhZCBvZiBhbHdheXMgY2xhaW1p bmcgdGhlIGNvbnRyb2wgYnVmZmVyIGluIG5kaXNjX3JjdigpLCBkbyB0aGF0IG9ubHkKd2hlbiBu ZWVkZWQuCgpGaXhlczogYjk0ZjFjMDkwNGRhICgiaXB2NjogVXNlIGljbXB2Nl9ub3RpZnkoKSB0 byBwcm9wYWdhdGUgcmVkaXJlY3QsIGluc3RlYWQgb2YgcnQ2X3JlZGlyZWN0KCkuIikKU2lnbmVk LW9mZi1ieTogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4KUmV2aWV3ZWQtYnk6 IFNhYnJpbmEgRHVicm9jYSA8c2RAcXVlYXN5c25haWwubmV0PgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjYvbmRpc2MuYyB8 IDMgKy0tCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDIgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvbmV0L2lwdjYvbmRpc2MuYyBiL25ldC9pcHY2L25kaXNjLmMKaW5kZXggMGVj MjczOTk3ZDFkLi42NzNhNGE5MzJmMmEgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L25kaXNjLmMKKysr IGIvbmV0L2lwdjYvbmRpc2MuYwpAQCAtMTczMiwxMCArMTczMiw5IEBAIGludCBuZGlzY19yY3Yo c3RydWN0IHNrX2J1ZmYgKnNrYikKIAkJcmV0dXJuIDA7CiAJfQogCi0JbWVtc2V0KE5FSUdIX0NC KHNrYiksIDAsIHNpemVvZihzdHJ1Y3QgbmVpZ2hib3VyX2NiKSk7Ci0KIAlzd2l0Y2ggKG1zZy0+ aWNtcGguaWNtcDZfdHlwZSkgewogCWNhc2UgTkRJU0NfTkVJR0hCT1VSX1NPTElDSVRBVElPTjoK KwkJbWVtc2V0KE5FSUdIX0NCKHNrYiksIDAsIHNpemVvZihzdHJ1Y3QgbmVpZ2hib3VyX2NiKSk7 CiAJCW5kaXNjX3JlY3ZfbnMoc2tiKTsKIAkJYnJlYWs7CiAKLS0gCjIuMTkuMQoKCkZyb20gZWM3 NDA3N2I5MDcxN2Q2OWEyMjg0Y2M2N2UxNDIxNTBhNDUyZmE0NiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogU2FicmluYSBEdWJyb2NhIDxzZEBxdWVhc3lzbmFpbC5uZXQ+CkRhdGU6IEZy aSwgMTIgT2N0IDIwMTggMTY6MjI6NDcgKzAyMDAKU3ViamVjdDogW1BBVENIIDA0LzM5XSBpcHY2 OiByYXRlLWxpbWl0IHByb2JlcyBmb3IgbmVpZ2hib3VybGVzcyByb3V0ZXMKClsgVXBzdHJlYW0g Y29tbWl0IGY1NDdmYWM2MjRiZTUzYWQ4YjA3ZTllYmNhNzY1NGE3ODI3YmE2MWIgXQoKV2hlbiBj b21taXQgMjcwOTcyNTU0YzkxICgiW0lQVjZdOiBST1VURTogQWRkIFJvdXRlciBSZWFjaGFiaWxp dHkKUHJvYmluZyAoUkZDNDE5MSkuIikgaW50cm9kdWNlZCByb3V0ZXIgcHJvYmluZywgdGhlIHJ0 Nl9wcm9iZSgpIGZ1bmN0aW9uCnJlcXVpcmVkIHRoYXQgYSBuZWlnaGJvdXIgZW50cnkgZXhpc3Rl ZC4gVGhpcyBuZWlnaGJvdXIgZW50cnkgaXMgdXNlZCB0bwpyZWNvcmQgdGhlIHRpbWVzdGFtcCBv ZiB0aGUgbGFzdCBwcm9iZSB2aWEgdGhlIC0+dXBkYXRlZCBmaWVsZC4KCkxhdGVyLCBjb21taXQg MjE1MmNhZWE3MTk2ICgiaXB2NjogRG8gbm90IGRlcGVuZCBvbiBydC0+biBpbiBydDZfcHJvYmUo KS4iKQpyZW1vdmVkIHRoZSByZXF1aXJlbWVudCBmb3IgYSBuZWlnaGJvdXIgZW50cnkuIE5laWdo Ym91cmxlc3Mgcm91dGVzIHNraXAKdGhlIGludGVydmFsIGNoZWNrIGFuZCBhcmUgbm90IHJhdGUt bGltaXRlZC4KClRoaXMgcGF0Y2ggYWRkcyByYXRlLWxpbWl0aW5nIGZvciBuZWlnaGJvdXJsZXNz IHJvdXRlcywgYnkgcmVjb3JkaW5nIHRoZQp0aW1lc3RhbXAgb2YgdGhlIGxhc3QgcHJvYmUgaW4g dGhlIGZpYjZfaW5mbyBpdHNlbGYuCgpGaXhlczogMjE1MmNhZWE3MTk2ICgiaXB2NjogRG8gbm90 IGRlcGVuZCBvbiBydC0+biBpbiBydDZfcHJvYmUoKS4iKQpTaWduZWQtb2ZmLWJ5OiBTYWJyaW5h IER1YnJvY2EgPHNkQHF1ZWFzeXNuYWlsLm5ldD4KUmV2aWV3ZWQtYnk6IFN0ZWZhbm8gQnJpdmlv IDxzYnJpdmlvQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBpbmNsdWRlL25ldC9pcDZfZmliLmggfCAgNCArKysrCiBu ZXQvaXB2Ni9yb3V0ZS5jICAgICAgfCAxMiArKysrKystLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwg MTAgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL25l dC9pcDZfZmliLmggYi9pbmNsdWRlL25ldC9pcDZfZmliLmgKaW5kZXggM2Q0OTMwNTI4ZGIwLi4y ZDMxZTIyYmFiZDggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbmV0L2lwNl9maWIuaAorKysgYi9pbmNs dWRlL25ldC9pcDZfZmliLmgKQEAgLTE1OSw2ICsxNTksMTAgQEAgc3RydWN0IGZpYjZfaW5mbyB7 CiAJc3RydWN0IHJ0Nl9pbmZvICogX19wZXJjcHUJKnJ0NmlfcGNwdTsKIAlzdHJ1Y3QgcnQ2X2V4 Y2VwdGlvbl9idWNrZXQgX19yY3UgKnJ0NmlfZXhjZXB0aW9uX2J1Y2tldDsKIAorI2lmZGVmIENP TkZJR19JUFY2X1JPVVRFUl9QUkVGCisJdW5zaWduZWQgbG9uZwkJCWxhc3RfcHJvYmU7CisjZW5k aWYKKwogCXUzMgkJCQlmaWI2X21ldHJpYzsKIAl1OAkJCQlmaWI2X3Byb3RvY29sOwogCXU4CQkJ CWZpYjZfdHlwZTsKZGlmZiAtLWdpdCBhL25ldC9pcHY2L3JvdXRlLmMgYi9uZXQvaXB2Ni9yb3V0 ZS5jCmluZGV4IGVkNTI2ZTI1N2RhNi4uZDllODk2MGU1OGQzIDEwMDY0NAotLS0gYS9uZXQvaXB2 Ni9yb3V0ZS5jCisrKyBiL25ldC9pcHY2L3JvdXRlLmMKQEAgLTUxNywxMCArNTE3LDExIEBAIHN0 YXRpYyB2b2lkIHJ0Nl9wcm9iZV9kZWZlcnJlZChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKncpCiAKIHN0 YXRpYyB2b2lkIHJ0Nl9wcm9iZShzdHJ1Y3QgZmliNl9pbmZvICpydCkKIHsKLQlzdHJ1Y3QgX19y dDZfcHJvYmVfd29yayAqd29yazsKKwlzdHJ1Y3QgX19ydDZfcHJvYmVfd29yayAqd29yayA9IE5V TEw7CiAJY29uc3Qgc3RydWN0IGluNl9hZGRyICpuaF9ndzsKIAlzdHJ1Y3QgbmVpZ2hib3VyICpu ZWlnaDsKIAlzdHJ1Y3QgbmV0X2RldmljZSAqZGV2OworCXN0cnVjdCBpbmV0Nl9kZXYgKmlkZXY7 CiAKIAkvKgogCSAqIE9rYXksIHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhcHByb3ByaWF0ZQpA QCAtNTM2LDE1ICs1MzcsMTIgQEAgc3RhdGljIHZvaWQgcnQ2X3Byb2JlKHN0cnVjdCBmaWI2X2lu Zm8gKnJ0KQogCW5oX2d3ID0gJnJ0LT5maWI2X25oLm5oX2d3OwogCWRldiA9IHJ0LT5maWI2X25o Lm5oX2RldjsKIAlyY3VfcmVhZF9sb2NrX2JoKCk7CisJaWRldiA9IF9faW42X2Rldl9nZXQoZGV2 KTsKIAluZWlnaCA9IF9faXB2Nl9uZWlnaF9sb29rdXBfbm9yZWYoZGV2LCBuaF9ndyk7CiAJaWYg KG5laWdoKSB7Ci0JCXN0cnVjdCBpbmV0Nl9kZXYgKmlkZXY7Ci0KIAkJaWYgKG5laWdoLT5udWRf c3RhdGUgJiBOVURfVkFMSUQpCiAJCQlnb3RvIG91dDsKIAotCQlpZGV2ID0gX19pbjZfZGV2X2dl dChkZXYpOwotCQl3b3JrID0gTlVMTDsKIAkJd3JpdGVfbG9jaygmbmVpZ2gtPmxvY2spOwogCQlp ZiAoIShuZWlnaC0+bnVkX3N0YXRlICYgTlVEX1ZBTElEKSAmJgogCQkgICAgdGltZV9hZnRlcihq aWZmaWVzLApAQCAtNTU0LDExICs1NTIsMTMgQEAgc3RhdGljIHZvaWQgcnQ2X3Byb2JlKHN0cnVj dCBmaWI2X2luZm8gKnJ0KQogCQkJCV9fbmVpZ2hfc2V0X3Byb2JlX29uY2UobmVpZ2gpOwogCQl9 CiAJCXdyaXRlX3VubG9jaygmbmVpZ2gtPmxvY2spOwotCX0gZWxzZSB7CisJfSBlbHNlIGlmICh0 aW1lX2FmdGVyKGppZmZpZXMsIHJ0LT5sYXN0X3Byb2JlICsKKwkJCQkgICAgICAgaWRldi0+Y25m LnJ0cl9wcm9iZV9pbnRlcnZhbCkpIHsKIAkJd29yayA9IGttYWxsb2Moc2l6ZW9mKCp3b3JrKSwg R0ZQX0FUT01JQyk7CiAJfQogCiAJaWYgKHdvcmspIHsKKwkJcnQtPmxhc3RfcHJvYmUgPSBqaWZm aWVzOwogCQlJTklUX1dPUksoJndvcmstPndvcmssIHJ0Nl9wcm9iZV9kZWZlcnJlZCk7CiAJCXdv cmstPnRhcmdldCA9ICpuaF9ndzsKIAkJZGV2X2hvbGQoZGV2KTsKLS0gCjIuMTkuMQoKCkZyb20g ZjkyNmE4MjA2NjkzOTI1M2I0N2E5N2ZkZTNmOTcwMmE2MjFlM2M1OSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogQ29uZyBXYW5nIDx4aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+CkRhdGU6 IFRodSwgMTEgT2N0IDIwMTggMTE6MTU6MTMgLTA3MDAKU3ViamVjdDogW1BBVENIIDA1LzM5XSBs bGM6IHNldCBTT0NLX1JDVV9GUkVFIGluIGxsY19zYXBfYWRkX3NvY2tldCgpCgpbIFVwc3RyZWFt IGNvbW1pdCA1YThlN2FlYTk1M2JkYjZkNGRhMTNhZmY2ZjFlN2Y5YzYyMDIzNDk5IF0KCldIZW4g YW4gbGxjIHNvY2sgaXMgYWRkZWQgaW50byB0aGUgc2tfbGFkZHJfaGFzaCBvZiBhbiBsbGNfc2Fw LAppdCBpcyBub3QgbWFya2VkIHdpdGggU09DS19SQ1VfRlJFRS4KClRoaXMgY2F1c2VzIHRoYXQg dGhlIHNvY2sgY291bGQgYmUgZnJlZWQgd2hpbGUgaXQgaXMgc3RpbGwgYmVpbmcKcmVhZCBieSBf X2xsY19sb29rdXBfZXN0YWJsaXNoZWQoKSB3aXRoIFJDVSByZWFkIGxvY2suIHNvY2sgaXMKcmVm Y291bnRlZCwgYnV0IHdpdGggUkNVIHJlYWQgbG9jaywgbm90aGluZyBwcmV2ZW50cyB0aGUgcmVh ZGVycwpnZXR0aW5nIGEgemVybyByZWZjbnQuCgpGaXggaXQgYnkgc2V0dGluZyBTT0NLX1JDVV9G UkVFIGluIGxsY19zYXBfYWRkX3NvY2tldCgpLgoKUmVwb3J0ZWQtYnk6IHN5emJvdCsxMWUwNWYw NGMxNWUwM2JlNTI1NEBzeXprYWxsZXIuYXBwc3BvdG1haWwuY29tClNpZ25lZC1vZmYtYnk6IENv bmcgV2FuZyA8eGl5b3Uud2FuZ2NvbmdAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2xsYy9sbGNfY29ubi5jIHwg MSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS9uZXQvbGxj L2xsY19jb25uLmMgYi9uZXQvbGxjL2xsY19jb25uLmMKaW5kZXggYzBhYzUyMmI0OGExLi40ZmY4 OWNiN2M4NmYgMTAwNjQ0Ci0tLSBhL25ldC9sbGMvbGxjX2Nvbm4uYworKysgYi9uZXQvbGxjL2xs Y19jb25uLmMKQEAgLTczNCw2ICs3MzQsNyBAQCB2b2lkIGxsY19zYXBfYWRkX3NvY2tldChzdHJ1 Y3QgbGxjX3NhcCAqc2FwLCBzdHJ1Y3Qgc29jayAqc2spCiAJbGxjX3NrKHNrKS0+c2FwID0gc2Fw OwogCiAJc3Bpbl9sb2NrX2JoKCZzYXAtPnNrX2xvY2spOworCXNvY2tfc2V0X2ZsYWcoc2ssIFNP Q0tfUkNVX0ZSRUUpOwogCXNhcC0+c2tfY291bnQrKzsKIAlza19udWxsc19hZGRfbm9kZV9yY3Uo c2ssIGxhZGRyX2hiKTsKIAlobGlzdF9hZGRfaGVhZCgmbGxjLT5kZXZfaGFzaF9ub2RlLCBkZXZf aGIpOwotLSAKMi4xOS4xCgoKRnJvbSAzZDVmZGQyYzk0OGM0N2I2MGVmZmFiYjk4YmJiMWFhZGE0 M2ZjMWRhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBGdWdhbmcgRHVhbiA8ZnVnYW5n LmR1YW5AbnhwLmNvbT4KRGF0ZTogTW9uLCAxNSBPY3QgMjAxOCAwNToxOTowMCArMDAwMApTdWJq ZWN0OiBbUEFUQ0ggMDYvMzldIG5ldDogZmVjOiBkb24ndCBkdW1wIFJYIEZJRk8gcmVnaXN0ZXIg d2hlbiBub3QKIGF2YWlsYWJsZQoKWyBVcHN0cmVhbSBjb21taXQgZWMyMGE2M2FhOGI4ZWMzMjIz ZmIyNWNkYjJhNDlmOWY5ZGZkYTg4YyBdCgpDb21taXQgZGI2NWYzNWY1MGUwICgibmV0OiBmZWM6 IGFkZCBzdXBwb3J0IG9mIGV0aHRvb2wgZ2V0X3JlZ3MiKSBpbnRyb2R1Y2UKZXRob29sICItLXJl Z2lzdGVyLWR1bXAiIGludGVyZmFjZSB0byBkdW1wIGFsbCBGRUMgcmVnaXN0ZXJzLgoKQnV0IG5v dCBhbGwgc2lsaWNvbiBpbXBsZW1lbnRhdGlvbnMgb2YgdGhlIEZyZWVzY2FsZSBGRUMgaGFyZHdh cmUgbW9kdWxlCmhhdmUgdGhlIEZSQlIgKEZJRk8gUmVjZWl2ZSBCb3VuZCBSZWdpc3RlcikgYW5k IEZSU1IgKEZJRk8gUmVjZWl2ZSBTdGFydApSZWdpc3RlcikgcmVnaXN0ZXIsIHNvIHdlIHNob3Vs ZCBub3QgYmUgdHJ5aW5nIHRvIGR1bXAgdGhlbSBvbiB0aG9zZSB0aGF0CmRvbid0LgoKVG8gZml4 IGl0IHdlIGNyZWF0ZSBhIHF1aXJrIGZsYWcsIEZFQ19RVUlSS19IQVNfUkZSRUcsIGFuZCBjaGVj ayBpdCBiZWZvcmUKZHVtcCB0aG9zZSBSWCBGSUZPIHJlZ2lzdGVycy4KClNpZ25lZC1vZmYtYnk6 IEZ1Z2FuZyBEdWFuIDxmdWdhbmcuZHVhbkBueHAuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQv ZnJlZXNjYWxlL2ZlYy5oICAgICAgfCAgNCArKysrCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVl c2NhbGUvZmVjX21haW4uYyB8IDE2ICsrKysrKysrKysrKy0tLS0KIDIgZmlsZXMgY2hhbmdlZCwg MTYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9ldGhlcm5ldC9mcmVlc2NhbGUvZmVjLmggYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2Nh bGUvZmVjLmgKaW5kZXggNDc3OGI2NjM2NTNlLi5iZjgwODU1ZGQwZGQgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9mZWMuaAorKysgYi9kcml2ZXJzL25ldC9ldGhl cm5ldC9mcmVlc2NhbGUvZmVjLmgKQEAgLTQ1Miw2ICs0NTIsMTAgQEAgc3RydWN0IGJ1ZmRlc2Nf ZXggewogICogaW5pdGlhbGlzYXRpb24uCiAgKi8KICNkZWZpbmUgRkVDX1FVSVJLX01JQl9DTEVB UgkJKDEgPDwgMTUpCisvKiBPbmx5IGkuTVgyNS9pLk1YMjcvaS5NWDI4IGNvbnRyb2xsZXIgc3Vw cG9ydHMgRlJCUixGUlNSIHJlZ2lzdGVycywKKyAqIHRob3NlIEZJRk8gcmVjZWl2ZSByZWdpc3Rl cnMgYXJlIHJlc29sdmVkIGluIG90aGVyIHBsYXRmb3Jtcy4KKyAqLworI2RlZmluZSBGRUNfUVVJ UktfSEFTX0ZSUkVHCQkoMSA8PCAxNikKIAogc3RydWN0IGJ1ZmRlc2NfcHJvcCB7CiAJaW50IHFp ZDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9mZWNfbWFpbi5j IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2ZlY19tYWluLmMKaW5kZXggYzcyOTY2 NTEwN2Y1Li5hZTI3NGIzMGM2MTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Zy ZWVzY2FsZS9mZWNfbWFpbi5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9m ZWNfbWFpbi5jCkBAIC05MCwxNCArOTAsMTYgQEAgc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2VfaWQgZmVjX2RldnR5cGVbXSA9IHsKIAkJLmRyaXZlcl9kYXRhID0gMCwKIAl9LCB7CiAJCS5u YW1lID0gImlteDI1LWZlYyIsCi0JCS5kcml2ZXJfZGF0YSA9IEZFQ19RVUlSS19VU0VfR0FTS0VU IHwgRkVDX1FVSVJLX01JQl9DTEVBUiwKKwkJLmRyaXZlcl9kYXRhID0gRkVDX1FVSVJLX1VTRV9H QVNLRVQgfCBGRUNfUVVJUktfTUlCX0NMRUFSIHwKKwkJCSAgICAgICBGRUNfUVVJUktfSEFTX0ZS UkVHLAogCX0sIHsKIAkJLm5hbWUgPSAiaW14MjctZmVjIiwKLQkJLmRyaXZlcl9kYXRhID0gRkVD X1FVSVJLX01JQl9DTEVBUiwKKwkJLmRyaXZlcl9kYXRhID0gRkVDX1FVSVJLX01JQl9DTEVBUiB8 IEZFQ19RVUlSS19IQVNfRlJSRUcsCiAJfSwgewogCQkubmFtZSA9ICJpbXgyOC1mZWMiLAogCQku ZHJpdmVyX2RhdGEgPSBGRUNfUVVJUktfRU5FVF9NQUMgfCBGRUNfUVVJUktfU1dBUF9GUkFNRSB8 Ci0JCQkJRkVDX1FVSVJLX1NJTkdMRV9NRElPIHwgRkVDX1FVSVJLX0hBU19SQUNDLAorCQkJCUZF Q19RVUlSS19TSU5HTEVfTURJTyB8IEZFQ19RVUlSS19IQVNfUkFDQyB8CisJCQkJRkVDX1FVSVJL X0hBU19GUlJFRywKIAl9LCB7CiAJCS5uYW1lID0gImlteDZxLWZlYyIsCiAJCS5kcml2ZXJfZGF0 YSA9IEZFQ19RVUlSS19FTkVUX01BQyB8IEZFQ19RVUlSS19IQVNfR0JJVCB8CkBAIC0yMTYzLDcg KzIxNjUsMTMgQEAgc3RhdGljIHZvaWQgZmVjX2VuZXRfZ2V0X3JlZ3Moc3RydWN0IG5ldF9kZXZp Y2UgKm5kZXYsCiAJbWVtc2V0KGJ1ZiwgMCwgcmVncy0+bGVuKTsKIAogCWZvciAoaSA9IDA7IGkg PCBBUlJBWV9TSVpFKGZlY19lbmV0X3JlZ2lzdGVyX29mZnNldCk7IGkrKykgewotCQlvZmYgPSBm ZWNfZW5ldF9yZWdpc3Rlcl9vZmZzZXRbaV0gLyA0OworCQlvZmYgPSBmZWNfZW5ldF9yZWdpc3Rl cl9vZmZzZXRbaV07CisKKwkJaWYgKChvZmYgPT0gRkVDX1JfQk9VTkQgfHwgb2ZmID09IEZFQ19S X0ZTVEFSVCkgJiYKKwkJICAgICEoZmVwLT5xdWlya3MgJiBGRUNfUVVJUktfSEFTX0ZSUkVHKSkK KwkJCWNvbnRpbnVlOworCisJCW9mZiA+Pj0gMjsKIAkJYnVmW29mZl0gPSByZWFkbCgmdGhlcmVn c1tvZmZdKTsKIAl9CiB9Ci0tIAoyLjE5LjEKCgpGcm9tIGEwNDhlZmM0ZTYzZTA3MjFjODE1Njg5 YzIyMThlYTE3NWRmZjExOWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IERhdmlkIEFo ZXJuIDxkc2FoZXJuQGdtYWlsLmNvbT4KRGF0ZTogRnJpLCAxOSBPY3QgMjAxOCAxMDowMDoxOSAt MDcwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMzldIG5ldC9pcHY2OiBGaXggaW5kZXggY291bnRlciBm b3IgdW5pY2FzdCBhZGRyZXNzZXMgaW4KIGluNl9kdW1wX2FkZHJzCgpbIFVwc3RyZWFtIGNvbW1p dCA0YmE0YzU2NmJhODQ0OGEwNWU2MjU3ZTBiOThhMjFmMWEwZDU1MzE1IF0KClRoZSBsb29wIHdh bnRzIHRvIHNraXAgcHJldmlvdXNseSBkdW1wZWQgYWRkcmVzc2VzLCBzbyBsb29wcyB1bnRpbApj dXJyZW50IGluZGV4ID49IHNhdmVkIGluZGV4LiBJZiB0aGUgbWVzc2FnZSBmaWxscyBpdCB3YW50 cyB0byBzYXZlCnRoZSBpbmRleCBmb3IgdGhlIG5leHQgYWRkcmVzcyB0byBkdW1wIC0gaWUuLCB0 aGUgb25lIHRoYXQgZGlkIG5vdApmaXQgaW4gdGhlIGN1cnJlbnQgbWVzc2FnZS4KCkN1cnJlbnRs eSwgaXQgaXMgaW5jcmVtZW50aW5nIHRoZSBpbmRleCBjb3VudGVyIGJlZm9yZSBjb21wYXJpbmcg dG8gdGhlCnNhdmVkIGluZGV4LCBhbmQgdGhlbiB0aGUgc2F2ZWQgaW5kZXggaXMgb2ZmIGJ5IDEg LSBpdCBhc3N1bWVzIHRoZQpjdXJyZW50IGFkZHJlc3MgaXMgZ29pbmcgdG8gZml0IGluIHRoZSBt ZXNzYWdlLgoKQ2hhbmdlIHRoZSBpbmRleCBoYW5kbGluZyB0byBpbmNyZW1lbnQgb25seSBhZnRl ciBhIHN1Y2Nlc2Z1bCBkdW1wLgoKRml4ZXM6IDUwMmEyZmZkNzM3NmEgKCJpcHY2OiBjb252ZXJ0 IGlkZXZfbGlzdCB0byBsaXN0IG1hY3JvcyIpClNpZ25lZC1vZmYtYnk6IERhdmlkIEFoZXJuIDxk c2FoZXJuQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBk YXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY2L2FkZHJjb25mLmMgfCA2ICsrKystLQogMSBmaWxl IGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9u ZXQvaXB2Ni9hZGRyY29uZi5jIGIvbmV0L2lwdjYvYWRkcmNvbmYuYwppbmRleCAzNDg0YzcwMjBm ZDkuLmFjM2RlMWFhMWNkMyAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvYWRkcmNvbmYuYworKysgYi9u ZXQvaXB2Ni9hZGRyY29uZi5jCkBAIC00OTMwLDggKzQ5MzAsOCBAQCBzdGF0aWMgaW50IGluNl9k dW1wX2FkZHJzKHN0cnVjdCBpbmV0Nl9kZXYgKmlkZXYsIHN0cnVjdCBza19idWZmICpza2IsCiAK IAkJLyogdW5pY2FzdCBhZGRyZXNzIGluY2wuIHRlbXAgYWRkciAqLwogCQlsaXN0X2Zvcl9lYWNo X2VudHJ5KGlmYSwgJmlkZXYtPmFkZHJfbGlzdCwgaWZfbGlzdCkgewotCQkJaWYgKCsraXBfaWR4 IDwgc19pcF9pZHgpCi0JCQkJY29udGludWU7CisJCQlpZiAoaXBfaWR4IDwgc19pcF9pZHgpCisJ CQkJZ290byBuZXh0OwogCQkJZXJyID0gaW5ldDZfZmlsbF9pZmFkZHIoc2tiLCBpZmEsCiAJCQkJ CQlORVRMSU5LX0NCKGNiLT5za2IpLnBvcnRpZCwKIAkJCQkJCWNiLT5ubGgtPm5sbXNnX3NlcSwK QEAgLTQ5NDAsNiArNDk0MCw4IEBAIHN0YXRpYyBpbnQgaW42X2R1bXBfYWRkcnMoc3RydWN0IGlu ZXQ2X2RldiAqaWRldiwgc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAkJCWlmIChlcnIgPCAwKQogCQkJ CWJyZWFrOwogCQkJbmxfZHVtcF9jaGVja19jb25zaXN0ZW50KGNiLCBubG1zZ19oZHIoc2tiKSk7 CituZXh0OgorCQkJaXBfaWR4Kys7CiAJCX0KIAkJYnJlYWs7CiAJfQotLSAKMi4xOS4xCgoKRnJv bSBjNjkzZDYwZDMxYjFiYjhjMjg5OWY2MzdhZjc4OWFmMTRkMjc0MzgzIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6 IFR1ZSwgMzAgT2N0IDIwMTggMDA6NTc6MjUgLTA3MDAKU3ViamVjdDogW1BBVENIIDA4LzM5XSBu ZXQvbWx4NWU6IGZpeCBjc3VtIGFkanVzdG1lbnRzIGNhdXNlZCBieSBSWEZDUwpNSU1FLVZlcnNp b246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1U cmFuc2Zlci1FbmNvZGluZzogOGJpdAoKWyBVcHN0cmVhbSBjb21taXQgZDQ4MDUxYzViODM3NjAz OGMyYjI4N2MzYjFiZDU1YjhkMzkxZDU2NyBdCgpBcyBzaG93biBieSBEbWl0cmlzLCB3ZSBuZWVk IHRvIHVzZSBjc3VtX2Jsb2NrX2FkZCgpIGluc3RlYWQgb2YgY3N1bV9hZGQoKQp3aGVuIGFkZGlu ZyB0aGUgRkNTIGNvbnRyaWJ1dGlvbiB0byBza2IgY3N1bS4KCkJlZm9yZSA0LjE4IChtb3JlIGV4 YWN0bHkgY29tbWl0IDg4MDc4ZDk4ZDFiYiAibmV0OiBwc2tiX3RyaW1fcmNzdW0oKQphbmQgQ0hF Q0tTVU1fQ09NUExFVEUgYXJlIGZyaWVuZHMiKSwgdGhlIHdob2xlIHNrYiBjc3VtIHdhcyB0aHJv d24gYXdheSwKc28gUlhGQ1MgY2hhbmdlcyB3ZXJlIGlnbm9yZWQuCgpUaGVuIGJlZm9yZSBjb21t aXQgZDU1YmVmNTA1OWRkICgibmV0OiBmaXggcHNrYl90cmltX3Jjc3VtX3Nsb3coKSB3aXRoCm9k ZCB0cmltIG9mZnNldCIpIGJvdGggbWx4NSBhbmQgcHNrYl90cmltX3Jjc3VtX3Nsb3coKSBidWdz IHdlcmUgY2FuY2VsaW5nCmVhY2ggb3RoZXIuCgpOb3cgd2UgZml4ZWQgcHNrYl90cmltX3Jjc3Vt X3Nsb3coKSB3ZSBuZWVkIHRvIGZpeCBtbHg1LgoKTm90ZSB0aGF0IHRoaXMgcGF0Y2ggYWxzbyBy ZXdyaXRlcyBtbHg1ZV9nZXRfZmNzKCkgdG8gOgoKLSBVc2Ugc2tiX2hlYWRlcl9wb2ludGVyKCkg aW5zdGVhZCBvZiByZWludmVudGluZyBpdC4KLSBVc2UgX19nZXRfdW5hbGlnbmVkX2NwdTMyKCkg dG8gYXZvaWQgcG9zc2libGUgbm9uIGFsaWduZWQgYWNjZXNzZXMKICBhcyBEbWl0cmlzIHBvaW50 ZWQgb3V0LgoKRml4ZXM6IDkwMmE1NDU5MDRjNyAoIm5ldC9tbHg1ZTogV2hlbiBSWEZDUyBpcyBz ZXQsIGFkZCBGQ1MgZGF0YSBpbnRvIGNoZWNrc3VtIGNhbGN1bGF0aW9uIikKUmVwb3J0ZWQtYnk6 IFBhd2XFgiBTdGFzemV3c2tpIDxwc3Rhc3pld3NraUBpdGNhcmUucGw+ClNpZ25lZC1vZmYtYnk6 IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KQ2M6IEVyYW4gQmVuIEVsaXNoYSA8 ZXJhbmJlQG1lbGxhbm94LmNvbT4KQ2M6IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3gu Y29tPgpDYzogRGltaXRyaXMgTWljaGFpbGlkaXMgPGRtaWNoYWlsQGdvb2dsZS5jb20+CkNjOiBD b25nIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4KQ2M6IFBhd2XFgiBTdGFzemV3c2tp IDxwc3Rhc3pld3NraUBpdGNhcmUucGw+ClJldmlld2VkLWJ5OiBFcmFuIEJlbiBFbGlzaGEgPGVy YW5iZUBtZWxsYW5veC5jb20+ClRlc3RlZC1CeTogTWFyaWEgUGFzZWNobmlrIDxtYXJpYXBAbWVs bGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+Ci0tLQogLi4uL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fcnguYyAg IHwgNDUgKysrKy0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygr KSwgMzYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVs bGFub3gvbWx4NS9jb3JlL2VuX3J4LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9t bHg1L2NvcmUvZW5fcnguYwppbmRleCBkM2ExZGQyMGU0MWQuLjY5NmVkZWZmMjU1YiAxMDA2NDQK LS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX3J4LmMKKysr IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX3J4LmMKQEAgLTY5 Myw0MyArNjkzLDE1IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc19sYXN0X2V0aGVydHlwZV9pcChz dHJ1Y3Qgc2tfYnVmZiAqc2tiLCBpbnQgKm5ldHdvcmtfZGVwdGgpCiAJcmV0dXJuIChldGhlcnR5 cGUgPT0gaHRvbnMoRVRIX1BfSVApIHx8IGV0aGVydHlwZSA9PSBodG9ucyhFVEhfUF9JUFY2KSk7 CiB9CiAKLXN0YXRpYyBfX2JlMzIgbWx4NWVfZ2V0X2ZjcyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQor c3RhdGljIHUzMiBtbHg1ZV9nZXRfZmNzKGNvbnN0IHN0cnVjdCBza19idWZmICpza2IpCiB7Ci0J aW50IGxhc3RfZnJhZ19zeiwgYnl0ZXNfaW5fcHJldiwgbnJfZnJhZ3M7Ci0JdTggKmZjc19wMSwg KmZjc19wMjsKLQlza2JfZnJhZ190ICpsYXN0X2ZyYWc7Ci0JX19iZTMyIGZjc19ieXRlczsKKwlj b25zdCB2b2lkICpmY3NfYnl0ZXM7CisJdTMyIF9mY3NfYnl0ZXM7CiAKLQlpZiAoIXNrYl9pc19u b25saW5lYXIoc2tiKSkKLQkJcmV0dXJuICooX19iZTMyICopKHNrYi0+ZGF0YSArIHNrYi0+bGVu IC0gRVRIX0ZDU19MRU4pOworCWZjc19ieXRlcyA9IHNrYl9oZWFkZXJfcG9pbnRlcihza2IsIHNr Yi0+bGVuIC0gRVRIX0ZDU19MRU4sCisJCQkJICAgICAgIEVUSF9GQ1NfTEVOLCAmX2Zjc19ieXRl cyk7CiAKLQlucl9mcmFncyA9IHNrYl9zaGluZm8oc2tiKS0+bnJfZnJhZ3M7Ci0JbGFzdF9mcmFn ID0gJnNrYl9zaGluZm8oc2tiKS0+ZnJhZ3NbbnJfZnJhZ3MgLSAxXTsKLQlsYXN0X2ZyYWdfc3og PSBza2JfZnJhZ19zaXplKGxhc3RfZnJhZyk7Ci0KLQkvKiBJZiBhbGwgRkNTIGRhdGEgaXMgaW4g bGFzdCBmcmFnICovCi0JaWYgKGxhc3RfZnJhZ19zeiA+PSBFVEhfRkNTX0xFTikKLQkJcmV0dXJu ICooX19iZTMyICopKHNrYl9mcmFnX2FkZHJlc3MobGFzdF9mcmFnKSArCi0JCQkJICAgbGFzdF9m cmFnX3N6IC0gRVRIX0ZDU19MRU4pOwotCi0JZmNzX3AyID0gKHU4ICopc2tiX2ZyYWdfYWRkcmVz cyhsYXN0X2ZyYWcpOwotCWJ5dGVzX2luX3ByZXYgPSBFVEhfRkNTX0xFTiAtIGxhc3RfZnJhZ19z ejsKLQotCS8qIEZpbmQgd2hlcmUgdGhlIG90aGVyIHBhcnQgb2YgdGhlIEZDUyBpcyAtIExpbmVh ciBvciBhbm90aGVyIGZyYWcgKi8KLQlpZiAobnJfZnJhZ3MgPT0gMSkgewotCQlmY3NfcDEgPSBz a2JfdGFpbF9wb2ludGVyKHNrYik7Ci0JfSBlbHNlIHsKLQkJc2tiX2ZyYWdfdCAqcHJldl9mcmFn ID0gJnNrYl9zaGluZm8oc2tiKS0+ZnJhZ3NbbnJfZnJhZ3MgLSAyXTsKLQotCQlmY3NfcDEgPSBz a2JfZnJhZ19hZGRyZXNzKHByZXZfZnJhZykgKwotCQkJICAgIHNrYl9mcmFnX3NpemUocHJldl9m cmFnKTsKLQl9Ci0JZmNzX3AxIC09IGJ5dGVzX2luX3ByZXY7Ci0KLQltZW1jcHkoJmZjc19ieXRl cywgZmNzX3AxLCBieXRlc19pbl9wcmV2KTsKLQltZW1jcHkoKCh1OCAqKSZmY3NfYnl0ZXMpICsg Ynl0ZXNfaW5fcHJldiwgZmNzX3AyLCBsYXN0X2ZyYWdfc3opOwotCi0JcmV0dXJuIGZjc19ieXRl czsKKwlyZXR1cm4gX19nZXRfdW5hbGlnbmVkX2NwdTMyKGZjc19ieXRlcyk7CiB9CiAKIHN0YXRp YyBpbmxpbmUgdm9pZCBtbHg1ZV9oYW5kbGVfY3N1bShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2 LApAQCAtNzYyLDggKzczNCw5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBtbHg1ZV9oYW5kbGVfY3N1 bShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LAogCQkJCQkJIG5ldHdvcmtfZGVwdGggLSBFVEhf SExFTiwKIAkJCQkJCSBza2ItPmNzdW0pOwogCQlpZiAodW5saWtlbHkobmV0ZGV2LT5mZWF0dXJl cyAmIE5FVElGX0ZfUlhGQ1MpKQotCQkJc2tiLT5jc3VtID0gY3N1bV9hZGQoc2tiLT5jc3VtLAot CQkJCQkgICAgIChfX2ZvcmNlIF9fd3N1bSltbHg1ZV9nZXRfZmNzKHNrYikpOworCQkJc2tiLT5j c3VtID0gY3N1bV9ibG9ja19hZGQoc2tiLT5jc3VtLAorCQkJCQkJICAgKF9fZm9yY2UgX193c3Vt KW1seDVlX2dldF9mY3Moc2tiKSwKKwkJCQkJCSAgIHNrYi0+bGVuIC0gRVRIX0ZDU19MRU4pOwog CQlzdGF0cy0+Y3N1bV9jb21wbGV0ZSsrOwogCQlyZXR1cm47CiAJfQotLSAKMi4xOS4xCgoKRnJv bSBkNWM4NDIzMDQxOGQ4ZjRmZTNlNDViZDUzYjQyYjEwYTk3ODU1Yzg0IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBKYWt1YiBLaWNpbnNraSA8amFrdWIua2ljaW5za2lAbmV0cm9ub21l LmNvbT4KRGF0ZTogRnJpLCAyNiBPY3QgMjAxOCAxNTo1MTowNiAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMDkvMzldIG5ldDogc2NoZWQ6IGdyZWQ6IHBhc3MgdGhlIHJpZ2h0IGF0dHJpYnV0ZSB0bwog Z3JlZF9jaGFuZ2VfdGFibGVfZGVmKCkKClsgVXBzdHJlYW0gY29tbWl0IDM4YjRmMThkNTYzNzJl MWUyMTc3MWFiN2IwMzU3Yjg1MzMzMDE4NmMgXQoKZ3JlZF9jaGFuZ2VfdGFibGVfZGVmKCkgdGFr ZXMgYSBwb2ludGVyIHRvIFRDQV9HUkVEX0RQUyBhdHRyaWJ1dGUsCmFuZCBleHBlY3RzIGl0IHdp bGwgYmUgYWJsZSB0byBpbnRlcnByZXQgaXRzIGNvbnRlbnRzIGFzCnN0cnVjdCB0Y19ncmVkX3Nv cHQuICBQYXNzIHRoZSBjb3JyZWN0IGdyZWQgYXR0cmlidXRlLCBpbnN0ZWFkIG9mClRDQV9PUFRJ T05TLgoKVGhpcyBidWcgbWVhbnQgdGhlIHRhYmxlIGRlZmluaXRpb24gY291bGQgbmV2ZXIgYmUg Y2hhbmdlZCBhZnRlcgpRZGlzYyB3YXMgaW5pdGlhbGl6ZWQgKHVubGVzcyB3aGF0ZXZlciBUQ0Ff T1BUSU9OUyBjb250YWluZWQgYm90aApwYXNzZWQgbmV0bGluayB2YWxpZGF0aW9uIGFuZCB3YXMg YSB2YWxpZCBzdHJ1Y3QgdGNfZ3JlZF9zb3B0Li4uKS4KCk9sZCBiZWhhdmlvdXI6CiQgaXAgbGlu ayBhZGQgdHlwZSBkdW1teQokIHRjIHFkaXNjIHJlcGxhY2UgZGV2IGR1bW15MCBwYXJlbnQgcm9v dCBoYW5kbGUgNzogXAogICAgIGdyZWQgc2V0dXAgdnFzIDQgZGVmYXVsdCAwCiQgdGMgcWRpc2Mg cmVwbGFjZSBkZXYgZHVtbXkwIHBhcmVudCByb290IGhhbmRsZSA3OiBcCiAgICAgZ3JlZCBzZXR1 cCB2cXMgNCBkZWZhdWx0IDAKUlRORVRMSU5LIGFuc3dlcnM6IEludmFsaWQgYXJndW1lbnQKCk5v dzoKJCBpcCBsaW5rIGFkZCB0eXBlIGR1bW15CiQgdGMgcWRpc2MgcmVwbGFjZSBkZXYgZHVtbXkw IHBhcmVudCByb290IGhhbmRsZSA3OiBcCiAgICAgZ3JlZCBzZXR1cCB2cXMgNCBkZWZhdWx0IDAK JCB0YyBxZGlzYyByZXBsYWNlIGRldiBkdW1teTAgcGFyZW50IHJvb3QgaGFuZGxlIDc6IFwKICAg ICBncmVkIHNldHVwIHZxcyA0IGRlZmF1bHQgMAokIHRjIHFkaXNjIHJlcGxhY2UgZGV2IGR1bW15 MCBwYXJlbnQgcm9vdCBoYW5kbGUgNzogXAogICAgIGdyZWQgc2V0dXAgdnFzIDQgZGVmYXVsdCAw CgpGaXhlczogZjYyZDZiOTM2ZGY1ICgiW1BLVF9TQ0hFRF06IEdSRUQ6IFVzZSBjZW50cmFsIFZR IGNoYW5nZSBwcm9jZWR1cmUiKQpTaWduZWQtb2ZmLWJ5OiBKYWt1YiBLaWNpbnNraSA8amFrdWIu a2ljaW5za2lAbmV0cm9ub21lLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxk YXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9zY2hlZC9zY2hfZ3JlZC5jIHwgMiArLQogMSBm aWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv bmV0L3NjaGVkL3NjaF9ncmVkLmMgYi9uZXQvc2NoZWQvc2NoX2dyZWQuYwppbmRleCBjYmU0ODMx ZjQ2ZjQuLjRhMDQyYWJmODQ0YyAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL3NjaF9ncmVkLmMKKysr IGIvbmV0L3NjaGVkL3NjaF9ncmVkLmMKQEAgLTQxMyw3ICs0MTMsNyBAQCBzdGF0aWMgaW50IGdy ZWRfY2hhbmdlKHN0cnVjdCBRZGlzYyAqc2NoLCBzdHJ1Y3QgbmxhdHRyICpvcHQsCiAJaWYgKHRi W1RDQV9HUkVEX1BBUk1TXSA9PSBOVUxMICYmIHRiW1RDQV9HUkVEX1NUQUJdID09IE5VTEwpIHsK IAkJaWYgKHRiW1RDQV9HUkVEX0xJTUlUXSAhPSBOVUxMKQogCQkJc2NoLT5saW1pdCA9IG5sYV9n ZXRfdTMyKHRiW1RDQV9HUkVEX0xJTUlUXSk7Ci0JCXJldHVybiBncmVkX2NoYW5nZV90YWJsZV9k ZWYoc2NoLCBvcHQpOworCQlyZXR1cm4gZ3JlZF9jaGFuZ2VfdGFibGVfZGVmKHNjaCwgdGJbVENB X0dSRURfRFBTXSk7CiAJfQogCiAJaWYgKHRiW1RDQV9HUkVEX1BBUk1TXSA9PSBOVUxMIHx8Ci0t IAoyLjE5LjEKCgpGcm9tIDI0Y2EyYTk0M2I5Njg0YTZjNTQzNDQ3ODJlMWJlZTNjNzdkZmY1YzAg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFdlbndlbiBXYW5nIDx3YW5nNjQ5NUB1bW4u ZWR1PgpEYXRlOiBUaHUsIDE4IE9jdCAyMDE4IDA5OjM2OjQ2IC0wNTAwClN1YmplY3Q6IFtQQVRD SCAxMC8zOV0gbmV0OiBzb2NrZXQ6IGZpeCBhIG1pc3NpbmctY2hlY2sgYnVnCgpbIFVwc3RyZWFt IGNvbW1pdCBiNjE2ODU2MmM4Y2UyYmQ1YTMwZTIxMzAyMTY1MDQyMmUwODc2NGRjIF0KCkluIGV0 aHRvb2xfaW9jdGwoKSwgdGhlIGlvY3RsIGNvbW1hbmQgJ2V0aGNtZCcgaXMgY2hlY2tlZCB0aHJv dWdoIGEgc3dpdGNoCnN0YXRlbWVudCB0byBzZWUgd2hldGhlciBpdCBpcyBuZWNlc3NhcnkgdG8g cHJlLXByb2Nlc3MgdGhlIGV0aHRvb2wKc3RydWN0dXJlLCBiZWNhdXNlLCBhcyBtZW50aW9uZWQg aW4gdGhlIGNvbW1lbnQsIHRoZSBzdHJ1Y3R1cmUKZXRodG9vbF9yeG5mYyBpcyBkZWZpbmVkIHdp dGggcGFkZGluZy4gSWYgeWVzLCBhIHVzZXItc3BhY2UgYnVmZmVyICdyeG5mYycKaXMgYWxsb2Nh dGVkIHRocm91Z2ggY29tcGF0X2FsbG9jX3VzZXJfc3BhY2UoKS4gT25lIHRoaW5nIHRvIG5vdGUg aGVyZSBpcwp0aGF0LCBpZiAnZXRoY21kJyBpcyBFVEhUT09MX0dSWENMU1JMQUxMLCB0aGUgc2l6 ZSBvZiB0aGUgYnVmZmVyICdyeG5mYycgaXMKcGFydGlhbGx5IGRldGVybWluZWQgYnkgJ3J1bGVf Y250Jywgd2hpY2ggaXMgYWN0dWFsbHkgYWNxdWlyZWQgZnJvbSB0aGUKdXNlci1zcGFjZSBidWZm ZXIgJ2NvbXBhdF9yeG5mYycsIGkuZS4sICdjb21wYXRfcnhuZmMtPnJ1bGVfY250JywgdGhyb3Vn aApnZXRfdXNlcigpLiBBZnRlciAncnhuZmMnIGlzIGFsbG9jYXRlZCwgdGhlIGRhdGEgaW4gdGhl IG9yaWdpbmFsIHVzZXItc3BhY2UKYnVmZmVyICdjb21wYXRfcnhuZmMnIGlzIHRoZW4gY29waWVk IHRvICdyeG5mYycgdGhyb3VnaCBjb3B5X2luX3VzZXIoKSwKaW5jbHVkaW5nIHRoZSAncnVsZV9j bnQnIGZpZWxkLiBIb3dldmVyLCBhZnRlciB0aGlzIGNvcHksIG5vIGNoZWNrIGlzCnJlLWVuZm9y Y2VkIG9uICdyeG5mYy0+cnVsZV9jbnQnLiBTbyBpdCBpcyBwb3NzaWJsZSB0aGF0IGEgbWFsaWNp b3VzIHVzZXIKcmFjZSB0byBjaGFuZ2UgdGhlIHZhbHVlIGluIHRoZSAnY29tcGF0X3J4bmZjLT5y dWxlX2NudCcgYmV0d2VlbiB0aGVzZSB0d28KY29waWVzLiBUaHJvdWdoIHRoaXMgd2F5LCB0aGUg YXR0YWNrZXIgY2FuIGJ5cGFzcyB0aGUgcHJldmlvdXMgY2hlY2sgb24KJ3J1bGVfY250JyBhbmQg aW5qZWN0IG1hbGljaW91cyBkYXRhLiBUaGlzIGNhbiBjYXVzZSB1bmRlZmluZWQgYmVoYXZpb3Ig b2YKdGhlIGtlcm5lbCBhbmQgaW50cm9kdWNlIHBvdGVudGlhbCBzZWN1cml0eSByaXNrLgoKVGhp cyBwYXRjaCBhdm9pZHMgdGhlIGFib3ZlIGlzc3VlIHZpYSBjb3B5aW5nIHRoZSB2YWx1ZSBhY3F1 aXJlZCBieQpnZXRfdXNlcigpIHRvICdyeG5mYy0+cnVsZV9jbicsIGlmICdldGhjbWQnIGlzIEVU SFRPT0xfR1JYQ0xTUkxBTEwuCgpTaWduZWQtb2ZmLWJ5OiBXZW53ZW4gV2FuZyA8d2FuZzY0OTVA dW1uLmVkdT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIG5ldC9zb2NrZXQuYyB8IDExICsrKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwg OCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9zb2NrZXQu YyBiL25ldC9zb2NrZXQuYwppbmRleCBkNDE4N2FjMTdkNTUuLmZjYjE4YTdlZDE0YiAxMDA2NDQK LS0tIGEvbmV0L3NvY2tldC5jCisrKyBiL25ldC9zb2NrZXQuYwpAQCAtMjg4Nyw5ICsyODg3LDE0 IEBAIHN0YXRpYyBpbnQgZXRodG9vbF9pb2N0bChzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBjb21w YXRfaWZyZXEgX191c2VyICppZnIzMikKIAkJICAgIGNvcHlfaW5fdXNlcigmcnhuZmMtPmZzLnJp bmdfY29va2llLAogCQkJCSAmY29tcGF0X3J4bmZjLT5mcy5yaW5nX2Nvb2tpZSwKIAkJCQkgKHZv aWQgX191c2VyICopKCZyeG5mYy0+ZnMubG9jYXRpb24gKyAxKSAtCi0JCQkJICh2b2lkIF9fdXNl ciAqKSZyeG5mYy0+ZnMucmluZ19jb29raWUpIHx8Ci0JCSAgICBjb3B5X2luX3VzZXIoJnJ4bmZj LT5ydWxlX2NudCwgJmNvbXBhdF9yeG5mYy0+cnVsZV9jbnQsCi0JCQkJIHNpemVvZihyeG5mYy0+ cnVsZV9jbnQpKSkKKwkJCQkgKHZvaWQgX191c2VyICopJnJ4bmZjLT5mcy5yaW5nX2Nvb2tpZSkp CisJCQlyZXR1cm4gLUVGQVVMVDsKKwkJaWYgKGV0aGNtZCA9PSBFVEhUT09MX0dSWENMU1JMQUxM KSB7CisJCQlpZiAocHV0X3VzZXIocnVsZV9jbnQsICZyeG5mYy0+cnVsZV9jbnQpKQorCQkJCXJl dHVybiAtRUZBVUxUOworCQl9IGVsc2UgaWYgKGNvcHlfaW5fdXNlcigmcnhuZmMtPnJ1bGVfY250 LAorCQkJCQkmY29tcGF0X3J4bmZjLT5ydWxlX2NudCwKKwkJCQkJc2l6ZW9mKHJ4bmZjLT5ydWxl X2NudCkpKQogCQkJcmV0dXJuIC1FRkFVTFQ7CiAJfQogCi0tIAoyLjE5LjEKCgpGcm9tIGRlMGM0 OGRjOWY0OTg4MTE0NzhmY2I0ZTQ3MzA5ODY2NWNiZjkwZTAgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IE5pa2xhcyBDYXNzZWwgPG5pa2xhcy5jYXNzZWxAbGluYXJvLm9yZz4KRGF0ZTog V2VkLCAzMSBPY3QgMjAxOCAxNjowODoxMCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMzldIG5l dDogc3RtbWFjOiBGaXggc3RtbWFjX21kaW9fcmVzZXQoKSB3aGVuIGJ1aWxkaW5nCiBzdG1tYWMg YXMgbW9kdWxlcwoKWyBVcHN0cmVhbSBjb21taXQgMzA1NDlhYWIxNDZjY2IxMjc1MjMwYzNiNGI0 YmM2YjQxODFmZDU0ZSBdCgpXaGVuIGJ1aWxkaW5nIHN0bW1hYywgaXQgaXMgb25seSBwb3NzaWJs ZSB0byBzZWxlY3QgQ09ORklHX0RXTUFDX0dFTkVSSUMsCm9yIGFueSBvZiB0aGUgZ2x1ZSBkcml2 ZXJzLCB3aGVuIENPTkZJR19TVE1NQUNfUExBVEZPUk0gaXMgc2V0LgpUaGUgb25seSBleGNlcHRp b24gaXMgQ09ORklHX1NUTU1BQ19QQ0kuCgpXaGVuIGNhbGxpbmcgb2ZfbWRpb2J1c19yZWdpc3Rl cigpLCBpdCB3aWxsIGNhbGwgb3VyIC0+cmVzZXQoKQpjYWxsYmFjaywgd2hpY2ggaXMgc2V0IHRv IHN0bW1hY19tZGlvX3Jlc2V0KCkuCgpNb3N0IG9mIHRoZSBjb2RlIGluIHN0bW1hY19tZGlvX3Jl c2V0KCkgaXMgcHJvdGVjdGVkIGJ5IGEKIiNpZiBkZWZpbmVkKENPTkZJR19TVE1NQUNfUExBVEZP Uk0pIiwgd2hpY2ggd2lsbCBldmFsdWF0ZQp0byBmYWxzZSB3aGVuIENPTkZJR19TVE1NQUNfUExB VEZPUk09bS4KCkJlY2F1c2Ugb2YgdGhpcywgdGhlIHBoeSByZXNldCBncGlvIHdpbGwgb25seSBi ZSBwdWxsZWQgd2hlbgpzdG1tYWMgaXMgYnVpbHQgYXMgYnVpbHQtaW4sIGJ1dCBub3Qgd2hlbiBi dWlsdCBhcyBtb2R1bGVzLgoKRml4IHRoaXMgYnkgdXNpbmcgIiNpZiBJU19FTkFCTEVEKCkiIGlu c3RlYWQgb2YgIiNpZiBkZWZpbmVkKCkiLgoKU2lnbmVkLW9mZi1ieTogTmlrbGFzIENhc3NlbCA8 bmlrbGFzLmNhc3NlbEBsaW5hcm8ub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIg PGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9z dG1tYWMvc3RtbWFjX21kaW8uYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWlj cm8vc3RtbWFjL3N0bW1hY19tZGlvLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0 bW1hYy9zdG1tYWNfbWRpby5jCmluZGV4IDVkZjFhNjA4ZTU2Ni4uNTQxNjAyZDcwYzI0IDEwMDY0 NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWRpby5j CisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmMK QEAgLTEzMyw3ICsxMzMsNyBAQCBzdGF0aWMgaW50IHN0bW1hY19tZGlvX3dyaXRlKHN0cnVjdCBt aWlfYnVzICpidXMsIGludCBwaHlhZGRyLCBpbnQgcGh5cmVnLAogICovCiBpbnQgc3RtbWFjX21k aW9fcmVzZXQoc3RydWN0IG1paV9idXMgKmJ1cykKIHsKLSNpZiBkZWZpbmVkKENPTkZJR19TVE1N QUNfUExBVEZPUk0pCisjaWYgSVNfRU5BQkxFRChDT05GSUdfU1RNTUFDX1BMQVRGT1JNKQogCXN0 cnVjdCBuZXRfZGV2aWNlICpuZGV2ID0gYnVzLT5wcml2OwogCXN0cnVjdCBzdG1tYWNfcHJpdiAq cHJpdiA9IG5ldGRldl9wcml2KG5kZXYpOwogCXVuc2lnbmVkIGludCBtaWlfYWRkcmVzcyA9IHBy aXYtPmh3LT5taWkuYWRkcjsKLS0gCjIuMTkuMQoKCkZyb20gNGE2MjAxZGVlOWNjN2I0OTMzYjc5 M2FhZjhiYmRlYTYzZGUxNGZiOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogU2VhbiBU cmFuY2hldHRpIDxzdHJhbmNoZUBjb2RlYXVyb3JhLm9yZz4KRGF0ZTogVHVlLCAyMyBPY3QgMjAx OCAxNjowNDozMSAtMDYwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMzldIG5ldDogdWRwOiBmaXggaGFu ZGxpbmcgb2YgQ0hFQ0tTVU1fQ09NUExFVEUgcGFja2V0cwoKWyBVcHN0cmVhbSBjb21taXQgZGI0 ZjFiZTNjYTliMGVmNzMzMDc2M2QwN2JmNGFjZTgzYWQ2ZjkxMyBdCgpDdXJyZW50IGhhbmRsaW5n IG9mIENIRUNLU1VNX0NPTVBMRVRFIHBhY2tldHMgYnkgdGhlIFVEUCBzdGFjayBpcwppbmNvcnJl Y3QgZm9yIGFueSBwYWNrZXQgdGhhdCBoYXMgYW4gaW5jb3JyZWN0IGNoZWNrc3VtIHZhbHVlLgoK dWRwNC82X2NzdW1faW5pdCgpIHdpbGwgYm90aCBtYWtlIGEgY2FsbCB0bwpfX3NrYl9jaGVja3N1 bV92YWxpZGF0ZV9jb21wbGV0ZSgpIHRvIGluaXRpYWxpemUvdmFsaWRhdGUgdGhlIGNzdW0KZmll bGQgd2hlbiByZWNlaXZpbmcgYSBDSEVDS1NVTV9DT01QTEVURSBwYWNrZXQuIFdoZW4gdGhpcyBw YWNrZXQKZmFpbHMgdmFsaWRhdGlvbiwgc2tiLT5jc3VtIHdpbGwgYmUgb3ZlcndyaXR0ZW4gd2l0 aCB0aGUgcHNldWRvaGVhZGVyCmNoZWNrc3VtIHNvIHRoZSBwYWNrZXQgY2FuIGJlIGZ1bGx5IHZh bGlkYXRlZCBieSBzb2Z0d2FyZSwgYnV0IHRoZQpza2ItPmlwX3N1bW1lZCB2YWx1ZSB3aWxsIGJl IGxlZnQgYXMgQ0hFQ0tTVU1fQ09NUExFVEUgc28gdGhhdCB3YXkKdGhlIHN0YWNrIGNhbiBsYXRl ciB3YXJuIHRoZSB1c2VyIGFib3V0IHRoZWlyIGhhcmR3YXJlIHNwZXdpbmcgYmFkCmNoZWNrc3Vt cy4gVW5mb3J0dW5hdGVseSwgbGVhdmluZyB0aGUgU0tCIGluIHRoaXMgc3RhdGUgY2FuIGNhdXNl CnByb2JsZW1zIGxhdGVyIG9uIGluIHRoZSBjaGVja3N1bSBjYWxjdWxhdGlvbi4KClNpbmNlIHRo ZSB0aGUgcGFja2V0IGlzIHN0aWxsIG1hcmtlZCBhcyBDSEVDS1NVTV9DT01QTEVURSwKdWRwX2Nz dW1fcHVsbF9oZWFkZXIoKSB3aWxsIFNVQlRSQUNUIHRoZSBjaGVja3N1bSBvZiB0aGUgVURQIGhl YWRlcgpmcm9tIHNrYi0+Y3N1bSBpbnN0ZWFkIG9mIGFkZGluZyBpdCwgbGVhdmluZyB1cyB3aXRo IGEgZ2FyYmFnZSB2YWx1ZQppbiB0aGF0IGZpZWxkLiBPbmNlIHdlIHRyeSB0byBjb3B5IHRoZSBw YWNrZXQgdG8gdXNlcnNwYWNlIGluIHRoZQp1ZHA0LzZfcmVjdm1zZygpLCB3ZSdsbCBtYWtlIGEg Y2FsbCB0byBza2JfY29weV9hbmRfY3N1bV9kYXRhZ3JhbV9tc2coKQp0byBjaGVja3N1bSB0aGUg cGFja2V0IGRhdGEgYW5kIGFkZCBpdCBpbiB0aGUgZ2FyYmFnZSBza2ItPmNzdW0gdmFsdWUKdG8g cGVyZm9ybSBvdXIgZmluYWwgdmFsaWRhdGlvbiBjaGVjay4KClNpbmNlIHRoZSB2YWx1ZSB3ZSdy ZSB2YWxpZGF0aW5nIGlzIG5vdCB0aGUgcHJvcGVyIGNoZWNrc3VtLCBpdCdzIHBvc3NpYmxlCnRo YXQgdGhlIGZvbGRlZCB2YWx1ZSBjb3VsZCBjb21lIG91dCB0byAwLCBjYXVzaW5nIHVzIG5vdCB0 byBkcm9wIHRoZQpwYWNrZXQuIEluc3RlYWQsIHdlIGJlbGlldmUgdGhhdCB0aGUgcGFja2V0IHdh cyBjaGVja3N1bW1lZCBpbmNvcnJlY3RseQpieSBoYXJkd2FyZSBzaW5jZSBza2ItPmlwX3N1bW1l ZCBpcyBzdGlsbCBDSEVDS1NVTV9DT01QTEVURSwgYW5kIHdlIGF0dGVtcHQKdG8gd2FybiB0aGUg dXNlciB3aXRoIG5ldGRldl9yeF9jc3VtX2ZhdWx0KHNrYi0+ZGV2KTsKClVuZm9ydHVuYXRlbHks IHNpbmNlIHRoaXMgaXMgdGhlIFVEUCBwYXRoLCBza2ItPmRldiBoYXMgYmVlbiBvdmVyd3JpdHRl bgpieSBza2ItPmRldl9zY3JhdGNoIGFuZCBpcyBubyBsb25nZXIgYSB2YWxpZCBwb2ludGVyLCBz byB3ZSBlbmQgdXAKcmVhZGluZyBpbnZhbGlkIG1lbW9yeS4KClRoaXMgcGF0Y2ggYWRkcmVzc2Vz IHRoaXMgcHJvYmxlbSBpbiB0d28gd2F5czoKCTEpIERvIG5vdCB1c2UgdGhlIGRldiBwb2ludGVy IHdoZW4gY2FsbGluZyBuZXRkZXZfcnhfY3N1bV9mYXVsdCgpCgkgICBmcm9tIHNrYl9jb3B5X2Fu ZF9jc3VtX2RhdGFncmFtX21zZygpLiBTaW5jZSB0aGlzIGdldHMgY2FsbGVkCgkgICBmcm9tIHRo ZSBVRFAgcGF0aCB3aGVyZSBza2ItPmRldiBoYXMgYmVlbiBvdmVyd3JpdHRlbiwgd2UgaGF2ZQoJ ICAgbm8gd2F5IG9mIGtub3dpbmcgaWYgdGhlIHBvaW50ZXIgaXMgc3RpbGwgdmFsaWQuIEFsc28g Zm9yIHRoZQoJICAgc2FrZSBvZiBjb25zaXN0ZW5jeSB3aXRoIHRoZSBvdGhlciB1c2VzIG9mCgkg ICBuZXRkZXZfcnhfY3N1bV9mYXVsdCgpLCBkb24ndCBhdHRlbXB0IHRvIGNhbGwgaXQgaWYgdGhl CgkgICBwYWNrZXQgd2FzIGNoZWNrc3VtbWVkIGJ5IHNvZnR3YXJlLgoKCTIpIEFkZCBiZXR0ZXIg Q0hFQ0tTVU1fQ09NUExFVEUgaGFuZGxpbmcgdG8gdWRwNC82X2NzdW1faW5pdCgpLgoJICAgSWYg d2UgcmVjZWl2ZSBhIHBhY2tldCB0aGF0J3MgQ0hFQ0tTVU1fQ09NUExFVEUgdGhhdCBmYWlscwoJ ICAgdmVyaWZpY2F0aW9uIChpLmUuIHNrYi0+Y3N1bV92YWxpZCA9PSAwKSwgY2hlY2sgd2hvIHBl cmZvcm1lZAoJICAgdGhlIGNhbGN1bGF0aW9uLiBJdCdzIHBvc3NpYmxlIHRoYXQgdGhlIGNoZWNr c3VtIHdhcyBkb25lIGluCgkgICBzb2Z0d2FyZSBieSB0aGUgbmV0d29yayBzdGFjayBlYXJsaWVy IChzdWNoIGFzIE5ldGZpbHRlcidzCgkgICBDT05OVFJBQ0sgbW9kdWxlKSwgYW5kIGlmIHRoYXQg c2F5cyB0aGUgY2hlY2tzdW0gaXMgYmFkLAoJICAgd2UgY2FuIGRyb3AgdGhlIHBhY2tldCBpbW1l ZGlhdGVseSBpbnN0ZWFkIG9mIHdhaXRpbmcgdW50aWwKCSAgIHdlIHRyeSBhbmQgY29weSBpdCB0 byB1c2Vyc3BhY2UuIE90aGVyd2lzZSwgd2UgbmVlZCB0bwoJICAgbWFyayB0aGUgU0tCIGFzIENI RUNLU1VNX05PTkUsIHNpbmNlIHRoZSBza2ItPmNzdW0gZmllbGQKCSAgIG5vIGxvbmdlciBjb250 YWlucyB0aGUgZnVsbCBwYWNrZXQgY2hlY2tzdW0gYWZ0ZXIgdGhlCgkgICBjYWxsIHRvIF9fc2ti X2NoZWNrc3VtX3ZhbGlkYXRlX2NvbXBsZXRlKCkuCgpGaXhlczogZTZhZmM4YWNlNmRkICgidWRw OiByZW1vdmUgaGVhZGVycyBmcm9tIFVEUCBwYWNrZXRzIGJlZm9yZSBxdWV1ZWluZyIpCkZpeGVz OiBjODRkOTQ5MDU3Y2EgKCJ1ZHA6IGNvcHkgc2tiLT50cnVlc2l6ZSBpbiB0aGUgZmlyc3QgY2Fj aGUgbGluZSIpCkNjOiBTYW0gS3VtYXIgPHNhbWFudGhha3VtYXJAZ29vZ2xlLmNvbT4KQ2M6IEVy aWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogU2VhbiBUcmFu Y2hldHRpIDxzdHJhbmNoZUBjb2RlYXVyb3JhLm9yZz4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4g TWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9jb3JlL2RhdGFncmFtLmMgICAg IHwgIDUgKysrLS0KIG5ldC9pcHY0L3VkcC5jICAgICAgICAgIHwgMjAgKysrKysrKysrKysrKysr KysrLS0KIG5ldC9pcHY2L2lwNl9jaGVja3N1bS5jIHwgMjAgKysrKysrKysrKysrKysrKysrLS0K IDMgZmlsZXMgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9uZXQvY29yZS9kYXRhZ3JhbS5jIGIvbmV0L2NvcmUvZGF0YWdyYW0uYwppbmRleCA5 OTM4OTUyYzVjNzguLjE2ZjBlYjA5NzBjNCAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvZGF0YWdyYW0u YworKysgYi9uZXQvY29yZS9kYXRhZ3JhbS5jCkBAIC04MDgsOCArODA4LDkgQEAgaW50IHNrYl9j b3B5X2FuZF9jc3VtX2RhdGFncmFtX21zZyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCQkJcmV0dXJu IC1FSU5WQUw7CiAJCX0KIAotCQlpZiAodW5saWtlbHkoc2tiLT5pcF9zdW1tZWQgPT0gQ0hFQ0tT VU1fQ09NUExFVEUpKQotCQkJbmV0ZGV2X3J4X2NzdW1fZmF1bHQoc2tiLT5kZXYpOworCQlpZiAo dW5saWtlbHkoc2tiLT5pcF9zdW1tZWQgPT0gQ0hFQ0tTVU1fQ09NUExFVEUpICYmCisJCSAgICAh c2tiLT5jc3VtX2NvbXBsZXRlX3N3KQorCQkJbmV0ZGV2X3J4X2NzdW1fZmF1bHQoTlVMTCk7CiAJ fQogCXJldHVybiAwOwogZmF1bHQ6CmRpZmYgLS1naXQgYS9uZXQvaXB2NC91ZHAuYyBiL25ldC9p cHY0L3VkcC5jCmluZGV4IGExMmRmODAxZGU5NC4uMmZlN2UyNzEzMzUwIDEwMDY0NAotLS0gYS9u ZXQvaXB2NC91ZHAuYworKysgYi9uZXQvaXB2NC91ZHAuYwpAQCAtMjEyNCw4ICsyMTI0LDI0IEBA IHN0YXRpYyBpbmxpbmUgaW50IHVkcDRfY3N1bV9pbml0KHN0cnVjdCBza19idWZmICpza2IsIHN0 cnVjdCB1ZHBoZHIgKnVoLAogCS8qIE5vdGUsIHdlIGFyZSBvbmx5IGludGVyZXN0ZWQgaW4gIT0g MCBvciA9PSAwLCB0aHVzIHRoZQogCSAqIGZvcmNlIHRvIGludC4KIAkgKi8KLQlyZXR1cm4gKF9f Zm9yY2UgaW50KXNrYl9jaGVja3N1bV9pbml0X3plcm9fY2hlY2soc2tiLCBwcm90bywgdWgtPmNo ZWNrLAotCQkJCQkJCSBpbmV0X2NvbXB1dGVfcHNldWRvKTsKKwllcnIgPSAoX19mb3JjZSBpbnQp c2tiX2NoZWNrc3VtX2luaXRfemVyb19jaGVjayhza2IsIHByb3RvLCB1aC0+Y2hlY2ssCisJCQkJ CQkJaW5ldF9jb21wdXRlX3BzZXVkbyk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKworCWlm IChza2ItPmlwX3N1bW1lZCA9PSBDSEVDS1NVTV9DT01QTEVURSAmJiAhc2tiLT5jc3VtX3ZhbGlk KSB7CisJCS8qIElmIFNXIGNhbGN1bGF0ZWQgdGhlIHZhbHVlLCB3ZSBrbm93IGl0J3MgYmFkICov CisJCWlmIChza2ItPmNzdW1fY29tcGxldGVfc3cpCisJCQlyZXR1cm4gMTsKKworCQkvKiBIVyBz YXlzIHRoZSB2YWx1ZSBpcyBiYWQuIExldCdzIHZhbGlkYXRlIHRoYXQuCisJCSAqIHNrYi0+Y3N1 bSBpcyBubyBsb25nZXIgdGhlIGZ1bGwgcGFja2V0IGNoZWNrc3VtLAorCQkgKiBzbyBkb24ndCB0 cmVhdCBpdCBhcyBzdWNoLgorCQkgKi8KKwkJc2tiX2NoZWNrc3VtX2NvbXBsZXRlX3Vuc2V0KHNr Yik7CisJfQorCisJcmV0dXJuIDA7CiB9CiAKIC8qIHdyYXBwZXIgZm9yIHVkcF9xdWV1ZV9yY3Zf c2tiIHRhY2tpbmcgY2FyZSBvZiBjc3VtIGNvbnZlcnNpb24gYW5kCmRpZmYgLS1naXQgYS9uZXQv aXB2Ni9pcDZfY2hlY2tzdW0uYyBiL25ldC9pcHY2L2lwNl9jaGVja3N1bS5jCmluZGV4IDU0NzUx NWU4NDUwYS4uMzc3NzE3MDQ1ZjhmIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9pcDZfY2hlY2tzdW0u YworKysgYi9uZXQvaXB2Ni9pcDZfY2hlY2tzdW0uYwpAQCAtODgsOCArODgsMjQgQEAgaW50IHVk cDZfY3N1bV9pbml0KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB1ZHBoZHIgKnVoLCBpbnQg cHJvdG8pCiAJICogTm90ZSwgd2UgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbiAhPSAwIG9yID09IDAs IHRodXMgdGhlCiAJICogZm9yY2UgdG8gaW50LgogCSAqLwotCXJldHVybiAoX19mb3JjZSBpbnQp c2tiX2NoZWNrc3VtX2luaXRfemVyb19jaGVjayhza2IsIHByb3RvLCB1aC0+Y2hlY2ssCi0JCQkJ CQkJIGlwNl9jb21wdXRlX3BzZXVkbyk7CisJZXJyID0gKF9fZm9yY2UgaW50KXNrYl9jaGVja3N1 bV9pbml0X3plcm9fY2hlY2soc2tiLCBwcm90bywgdWgtPmNoZWNrLAorCQkJCQkJCWlwNl9jb21w dXRlX3BzZXVkbyk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKworCWlmIChza2ItPmlwX3N1 bW1lZCA9PSBDSEVDS1NVTV9DT01QTEVURSAmJiAhc2tiLT5jc3VtX3ZhbGlkKSB7CisJCS8qIElm IFNXIGNhbGN1bGF0ZWQgdGhlIHZhbHVlLCB3ZSBrbm93IGl0J3MgYmFkICovCisJCWlmIChza2It PmNzdW1fY29tcGxldGVfc3cpCisJCQlyZXR1cm4gMTsKKworCQkvKiBIVyBzYXlzIHRoZSB2YWx1 ZSBpcyBiYWQuIExldCdzIHZhbGlkYXRlIHRoYXQuCisJCSAqIHNrYi0+Y3N1bSBpcyBubyBsb25n ZXIgdGhlIGZ1bGwgcGFja2V0IGNoZWNrc3VtLAorCQkgKiBzbyBkb24ndCB0cmVhdCBpcyBhcyBz dWNoLgorCQkgKi8KKwkJc2tiX2NoZWNrc3VtX2NvbXBsZXRlX3Vuc2V0KHNrYik7CisJfQorCisJ cmV0dXJuIDA7CiB9CiBFWFBPUlRfU1lNQk9MKHVkcDZfY3N1bV9pbml0KTsKIAotLSAKMi4xOS4x CgoKRnJvbSBhNWU4ZjY5Yzg3YjM4ODliNTAxYzExZDZlZGVkNmZkNTNhNmY3YTNjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIZWluZXIgS2FsbHdlaXQgPGhrYWxsd2VpdDFAZ21haWwu Y29tPgpEYXRlOiBUaHUsIDE4IE9jdCAyMDE4IDE5OjU2OjAxICswMjAwClN1YmplY3Q6IFtQQVRD SCAxMy8zOV0gcjgxNjk6IGZpeCBOQVBJIGhhbmRsaW5nIHVuZGVyIGhpZ2ggbG9hZAoKWyBVcHN0 cmVhbSBjb21taXQgNmI4MzliNmNmOWVhZGEzMGIwODZlZmZiNTFlNWQ2MDc2YmFmYzc2MSBdCgpy dGxfcngoKSBhbmQgcnRsX3R4KCkgYXJlIGNhbGxlZCBvbmx5IGlmIHRoZSByZXNwZWN0aXZlIGJp dHMgYXJlIHNldAppbiB0aGUgaW50ZXJydXB0IHN0YXR1cyByZWdpc3Rlci4gVW5kZXIgaGlnaCBs b2FkIE5BUEkgbWF5IG5vdCBiZQphYmxlIHRvIHByb2Nlc3MgYWxsIGRhdGEgKHdvcmtfZG9uZSA9 PSBidWRnZXQpIGFuZCBpdCB3aWxsIHNjaGVkdWxlCnN1YnNlcXVlbnQgY2FsbHMgdG8gdGhlIHBv bGwgY2FsbGJhY2suCnJ0bF9hY2tfZXZlbnRzKCkgaG93ZXZlciByZXNldHMgdGhlIGJpdHMgaW4g dGhlIGludGVycnVwdCBzdGF0dXMKcmVnaXN0ZXIsIHRoZXJlZm9yZSBzdWJzZXF1ZW50IGNhbGxz IHRvIHJ0bDgxNjlfcG9sbCgpIHdvbid0IGNhbGwKcnRsX3J4KCkgYW5kIHJ0bF90eCgpIC0gY2hp cCBpbnRlcnJ1cHRzIGFyZSBzdGlsbCBkaXNhYmxlZC4KCkZpeCB0aGlzIGJ5IGNhbGxpbmcgcnRs X3J4KCkgYW5kIHJ0bF90eCgpIGluZGVwZW5kZW50IG9mIHRoZSBiaXRzCnNldCBpbiB0aGUgaW50 ZXJydXB0IHN0YXR1cyByZWdpc3Rlci4gQm90aCBmdW5jdGlvbnMgd2lsbCBkZXRlY3QKaWYgdGhl cmUncyBub3RoaW5nIHRvIGRvIGZvciB0aGVtLgoKRml4ZXM6IGRhNzhkYmZmMmUwNSAoInI4MTY5 OiByZW1vdmUgd29yayBmcm9tIGlycSBoYW5kbGVyLiIpClNpZ25lZC1vZmYtYnk6IEhlaW5lciBL YWxsd2VpdCA8aGthbGx3ZWl0MUBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1p bGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9yZWFs dGVrL3I4MTY5LmMgfCA4ICsrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCsp LCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3JlYWx0 ZWsvcjgxNjkuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3JlYWx0ZWsvcjgxNjkuYwppbmRleCA2 MjdjNWNkOGY3ODYuLmYxODA4NzEwMmQ0MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvcmVhbHRlay9yODE2OS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3JlYWx0ZWsvcjgx NjkuYwpAQCAtNzA0NCwxNyArNzA0NCwxNSBAQCBzdGF0aWMgaW50IHJ0bDgxNjlfcG9sbChzdHJ1 Y3QgbmFwaV9zdHJ1Y3QgKm5hcGksIGludCBidWRnZXQpCiAJc3RydWN0IHJ0bDgxNjlfcHJpdmF0 ZSAqdHAgPSBjb250YWluZXJfb2YobmFwaSwgc3RydWN0IHJ0bDgxNjlfcHJpdmF0ZSwgbmFwaSk7 CiAJc3RydWN0IG5ldF9kZXZpY2UgKmRldiA9IHRwLT5kZXY7CiAJdTE2IGVuYWJsZV9tYXNrID0g UlRMX0VWRU5UX05BUEkgfCB0cC0+ZXZlbnRfc2xvdzsKLQlpbnQgd29ya19kb25lPSAwOworCWlu dCB3b3JrX2RvbmU7CiAJdTE2IHN0YXR1czsKIAogCXN0YXR1cyA9IHJ0bF9nZXRfZXZlbnRzKHRw KTsKIAlydGxfYWNrX2V2ZW50cyh0cCwgc3RhdHVzICYgfnRwLT5ldmVudF9zbG93KTsKIAotCWlm IChzdGF0dXMgJiBSVExfRVZFTlRfTkFQSV9SWCkKLQkJd29ya19kb25lID0gcnRsX3J4KGRldiwg dHAsICh1MzIpIGJ1ZGdldCk7CisJd29ya19kb25lID0gcnRsX3J4KGRldiwgdHAsICh1MzIpIGJ1 ZGdldCk7CiAKLQlpZiAoc3RhdHVzICYgUlRMX0VWRU5UX05BUElfVFgpCi0JCXJ0bF90eChkZXYs IHRwKTsKKwlydGxfdHgoZGV2LCB0cCk7CiAKIAlpZiAoc3RhdHVzICYgdHAtPmV2ZW50X3Nsb3cp IHsKIAkJZW5hYmxlX21hc2sgJj0gfnRwLT5ldmVudF9zbG93OwotLSAKMi4xOS4xCgoKRnJvbSBj YjVjMWZmOTU5MzJkOGM2NGI2Zjg5NmUyNWYzYmJjZDU3MDJjNmMzIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBJZG8gU2NoaW1tZWwgPGlkb3NjaEBtZWxsYW5veC5jb20+CkRhdGU6IE1v biwgMjkgT2N0IDIwMTggMjA6MzY6NDMgKzAwMDAKU3ViamVjdDogW1BBVENIIDE0LzM5XSBydG5l dGxpbms6IERpc2FsbG93IEZEQiBjb25maWd1cmF0aW9uIGZvciBub24tRXRoZXJuZXQKIGRldmlj ZQoKWyBVcHN0cmVhbSBjb21taXQgZGE3MTU3NzU0NWE1MmJlM2UwZTkyMjVhOTQ2ZTVmZDc5Y2Zh YjAxNSBdCgpXaGVuIGFuIEZEQiBlbnRyeSBpcyBjb25maWd1cmVkLCB0aGUgYWRkcmVzcyBpcyB2 YWxpZGF0ZWQgdG8gaGF2ZSB0aGUKbGVuZ3RoIG9mIGFuIEV0aGVybmV0IGFkZHJlc3MsIGJ1dCB0 aGUgZGV2aWNlIGZvciB3aGljaCB0aGUgYWRkcmVzcyBpcwpjb25maWd1cmVkIGNhbiBiZSBvZiBh bnkgdHlwZS4KClRoZSBhYm92ZSBjYW4gcmVzdWx0IGluIHRoZSB1c2Ugb2YgdW5pbml0aWFsaXpl ZCBtZW1vcnkgd2hlbiB0aGUgYWRkcmVzcwppcyBsYXRlciBjb21wYXJlZCBhZ2FpbnN0IGV4aXN0 aW5nIGFkZHJlc3NlcyBzaW5jZSAnZGV2LT5hZGRyX2xlbicgaXMKdXNlZCBhbmQgaXQgbWF5IGJl IGdyZWF0ZXIgdGhhbiBFVEhfQUxFTiwgYXMgd2l0aCBpcDZ0bmwgZGV2aWNlcy4KCkZpeCB0aGlz IGJ5IG1ha2luZyBzdXJlIHRoYXQgRkRCIGVudHJpZXMgYXJlIG9ubHkgY29uZmlndXJlZCBmb3IK RXRoZXJuZXQgZGV2aWNlcy4KCkJVRzogS01TQU46IHVuaW5pdC12YWx1ZSBpbiBtZW1jbXArMHgx MWQvMHgxODAgbGliL3N0cmluZy5jOjg2MwpDUFU6IDEgUElEOiA0MzE4IENvbW06IHN5ei1leGVj dXRvcjk5OCBOb3QgdGFpbnRlZCA0LjE5LjAtcmMzKyAjNDkKSGFyZHdhcmUgbmFtZTogR29vZ2xl IEdvb2dsZSBDb21wdXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0ZSBFbmdpbmUsIEJJT1MKR29vZ2xl IDAxLzAxLzIwMTEKQ2FsbCBUcmFjZToKICBfX2R1bXBfc3RhY2sgbGliL2R1bXBfc3RhY2suYzo3 NyBbaW5saW5lXQogIGR1bXBfc3RhY2srMHgxNGIvMHgxOTAgbGliL2R1bXBfc3RhY2suYzoxMTMK ICBrbXNhbl9yZXBvcnQrMHgxODMvMHgyYjAgbW0va21zYW4va21zYW4uYzo5NTYKICBfX21zYW5f d2FybmluZysweDcwLzB4YzAgbW0va21zYW4va21zYW5faW5zdHIuYzo2NDUKICBtZW1jbXArMHgx MWQvMHgxODAgbGliL3N0cmluZy5jOjg2MwogIGRldl91Y19hZGRfZXhjbCsweDE2NS8weDdiMCBu ZXQvY29yZS9kZXZfYWRkcl9saXN0cy5jOjQ2NAogIG5kb19kZmx0X2ZkYl9hZGQgbmV0L2NvcmUv cnRuZXRsaW5rLmM6MzQ2MyBbaW5saW5lXQogIHJ0bmxfZmRiX2FkZCsweDEwODEvMHgxMjcwIG5l dC9jb3JlL3J0bmV0bGluay5jOjM1NTgKICBydG5ldGxpbmtfcmN2X21zZysweGEwYi8weDE1MzAg bmV0L2NvcmUvcnRuZXRsaW5rLmM6NDcxNQogIG5ldGxpbmtfcmN2X3NrYisweDM2ZS8weDVmMCBu ZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MjQ1NAogIHJ0bmV0bGlua19yY3YrMHg1MC8weDYwIG5l dC9jb3JlL3J0bmV0bGluay5jOjQ3MzMKICBuZXRsaW5rX3VuaWNhc3Rfa2VybmVsIG5ldC9uZXRs aW5rL2FmX25ldGxpbmsuYzoxMzE3IFtpbmxpbmVdCiAgbmV0bGlua191bmljYXN0KzB4MTYzOC8w eDE3MjAgbmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjEzNDMKICBuZXRsaW5rX3NlbmRtc2crMHgx MjA1LzB4MTI5MCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MTkwOAogIHNvY2tfc2VuZG1zZ19u b3NlYyBuZXQvc29ja2V0LmM6NjIxIFtpbmxpbmVdCiAgc29ja19zZW5kbXNnIG5ldC9zb2NrZXQu Yzo2MzEgW2lubGluZV0KICBfX19zeXNfc2VuZG1zZysweGU3MC8weDEyOTAgbmV0L3NvY2tldC5j OjIxMTQKICBfX3N5c19zZW5kbXNnIG5ldC9zb2NrZXQuYzoyMTUyIFtpbmxpbmVdCiAgX19kb19z eXNfc2VuZG1zZyBuZXQvc29ja2V0LmM6MjE2MSBbaW5saW5lXQogIF9fc2Vfc3lzX3NlbmRtc2cr MHgyYTMvMHgzZDAgbmV0L3NvY2tldC5jOjIxNTkKICBfX3g2NF9zeXNfc2VuZG1zZysweDRhLzB4 NzAgbmV0L3NvY2tldC5jOjIxNTkKICBkb19zeXNjYWxsXzY0KzB4YjgvMHgxMDAgYXJjaC94ODYv ZW50cnkvY29tbW9uLmM6MjkxCiAgZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NjMv MHhlNwpSSVA6IDAwMzM6MHg0NDBlZTkKQ29kZTogZTggY2MgYWIgMDIgMDAgNDggODMgYzQgMTgg YzMgMGYgMWYgODAgMDAgMDAgMDAgMDAgNDggODkgZjggNDggODkgZjcKNDggODkgZDYgNDggODkg Y2EgNGQgODkgYzIgNGQgODkgYzggNGMgOGIgNGMgMjQgMDggMGYgMDUgPDQ4PiAzZCAwMSBmMCBm ZgpmZiAwZiA4MyBiYiAwYSBmYyBmZiBjMyA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMApSU1A6 IDAwMmI6MDAwMDdmZmY2YTkzYjUxOCBFRkxBR1M6IDAwMDAwMjEzIE9SSUdfUkFYOiAwMDAwMDAw MDAwMDAwMDJlClJBWDogZmZmZmZmZmZmZmZmZmZkYSBSQlg6IDAwMDAwMDAwMDAwMDAwMDAgUkNY OiAwMDAwMDAwMDAwNDQwZWU5ClJEWDogMDAwMDAwMDAwMDAwMDAwMCBSU0k6IDAwMDAwMDAwMjAw MDAyNDAgUkRJOiAwMDAwMDAwMDAwMDAwMDAzClJCUDogMDAwMDAwMDAwMDAwMDAwMCBSMDg6IDAw MDAwMDAwMDA0MDAyYzggUjA5OiAwMDAwMDAwMDAwNDAwMmM4ClIxMDogMDAwMDAwMDAwMDQwMDJj OCBSMTE6IDAwMDAwMDAwMDAwMDAyMTMgUjEyOiAwMDAwMDAwMDAwMDBiNGIwClIxMzogMDAwMDAw MDAwMDQwMWVjMCBSMTQ6IDAwMDAwMDAwMDAwMDAwMDAgUjE1OiAwMDAwMDAwMDAwMDAwMDAwCgpV bmluaXQgd2FzIGNyZWF0ZWQgYXQ6CiAga21zYW5fc2F2ZV9zdGFja193aXRoX2ZsYWdzIG1tL2tt c2FuL2ttc2FuLmM6MjU2IFtpbmxpbmVdCiAga21zYW5faW50ZXJuYWxfcG9pc29uX3NoYWRvdysw eGI4LzB4MWIwIG1tL2ttc2FuL2ttc2FuLmM6MTgxCiAga21zYW5fa21hbGxvYysweDk4LzB4MTAw IG1tL2ttc2FuL2ttc2FuX2hvb2tzLmM6OTEKICBrbXNhbl9zbGFiX2FsbG9jKzB4MTAvMHgyMCBt bS9rbXNhbi9rbXNhbl9ob29rcy5jOjEwMAogIHNsYWJfcG9zdF9hbGxvY19ob29rIG1tL3NsYWIu aDo0NDYgW2lubGluZV0KICBzbGFiX2FsbG9jX25vZGUgbW0vc2x1Yi5jOjI3MTggW2lubGluZV0K ICBfX2ttYWxsb2Nfbm9kZV90cmFja19jYWxsZXIrMHg5ZTcvMHgxMTYwIG1tL3NsdWIuYzo0MzUx CiAgX19rbWFsbG9jX3Jlc2VydmUgbmV0L2NvcmUvc2tidWZmLmM6MTM4IFtpbmxpbmVdCiAgX19h bGxvY19za2IrMHgyZjUvMHg5ZTAgbmV0L2NvcmUvc2tidWZmLmM6MjA2CiAgYWxsb2Nfc2tiIGlu Y2x1ZGUvbGludXgvc2tidWZmLmg6OTk2IFtpbmxpbmVdCiAgbmV0bGlua19hbGxvY19sYXJnZV9z a2IgbmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjExODkgW2lubGluZV0KICBuZXRsaW5rX3NlbmRt c2crMHhiNDkvMHgxMjkwIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsuYzoxODgzCiAgc29ja19zZW5k bXNnX25vc2VjIG5ldC9zb2NrZXQuYzo2MjEgW2lubGluZV0KICBzb2NrX3NlbmRtc2cgbmV0L3Nv Y2tldC5jOjYzMSBbaW5saW5lXQogIF9fX3N5c19zZW5kbXNnKzB4ZTcwLzB4MTI5MCBuZXQvc29j a2V0LmM6MjExNAogIF9fc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5jOjIxNTIgW2lubGluZV0KICBf X2RvX3N5c19zZW5kbXNnIG5ldC9zb2NrZXQuYzoyMTYxIFtpbmxpbmVdCiAgX19zZV9zeXNfc2Vu ZG1zZysweDJhMy8weDNkMCBuZXQvc29ja2V0LmM6MjE1OQogIF9feDY0X3N5c19zZW5kbXNnKzB4 NGEvMHg3MCBuZXQvc29ja2V0LmM6MjE1OQogIGRvX3N5c2NhbGxfNjQrMHhiOC8weDEwMCBhcmNo L3g4Ni9lbnRyeS9jb21tb24uYzoyOTEKICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUr MHg2My8weGU3Cgp2MjoKKiBNYWtlIGVycm9yIG1lc3NhZ2UgbW9yZSBzcGVjaWZpYyAoRGF2aWQp CgpGaXhlczogMDkwMDk2YmYzZGIxICgibmV0OiBnZW5lcmljIGZkYiBzdXBwb3J0IGZvciBkcml2 ZXJzIHdpdGhvdXQgbmRvX2ZkYl88b3A+IikKU2lnbmVkLW9mZi1ieTogSWRvIFNjaGltbWVsIDxp ZG9zY2hAbWVsbGFub3guY29tPgpSZXBvcnRlZC1hbmQtdGVzdGVkLWJ5OiBzeXpib3QrM2EyODhk NWY1NTMwYjkwMTMxMGVAc3l6a2FsbGVyLmFwcHNwb3RtYWlsLmNvbQpSZXBvcnRlZC1hbmQtdGVz dGVkLWJ5OiBzeXpib3QrZDUzYWI0ZTkyYTFkYjA0MTEwZmZAc3l6a2FsbGVyLmFwcHNwb3RtYWls LmNvbQpDYzogVmxhZCBZYXNldmljaCA8dnlhc2V2aWNoQGdtYWlsLmNvbT4KQ2M6IERhdmlkIEFo ZXJuIDxkc2FoZXJuQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IERhdmlkIEFoZXJuIDxkc2FoZXJu QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIG5ldC9jb3JlL3J0bmV0bGluay5jIHwgMTAgKysrKysrKysrKwogMSBmaWxl IGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9uZXQvY29yZS9ydG5ldGxp bmsuYyBiL25ldC9jb3JlL3J0bmV0bGluay5jCmluZGV4IDE4ZGUzOWRiZGMzMC4uNGIyNWZkMTRi YzVhIDEwMDY0NAotLS0gYS9uZXQvY29yZS9ydG5ldGxpbmsuYworKysgYi9uZXQvY29yZS9ydG5l dGxpbmsuYwpAQCAtMzQ4MCw2ICszNDgwLDExIEBAIHN0YXRpYyBpbnQgcnRubF9mZGJfYWRkKHN0 cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBubG1zZ2hkciAqbmxoLAogCQlyZXR1cm4gLUVJTlZB TDsKIAl9CiAKKwlpZiAoZGV2LT50eXBlICE9IEFSUEhSRF9FVEhFUikgeworCQlOTF9TRVRfRVJS X01TRyhleHRhY2ssICJGREIgZGVsZXRlIG9ubHkgc3VwcG9ydGVkIGZvciBFdGhlcm5ldCBkZXZp Y2VzIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwogCWFkZHIgPSBubGFfZGF0YSh0YltOREFf TExBRERSXSk7CiAKIAllcnIgPSBmZGJfdmlkX3BhcnNlKHRiW05EQV9WTEFOXSwgJnZpZCwgZXh0 YWNrKTsKQEAgLTM1ODQsNiArMzU4OSwxMSBAQCBzdGF0aWMgaW50IHJ0bmxfZmRiX2RlbChzdHJ1 Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3Qgbmxtc2doZHIgKm5saCwKIAkJcmV0dXJuIC1FSU5WQUw7 CiAJfQogCisJaWYgKGRldi0+dHlwZSAhPSBBUlBIUkRfRVRIRVIpIHsKKwkJTkxfU0VUX0VSUl9N U0coZXh0YWNrLCAiRkRCIGFkZCBvbmx5IHN1cHBvcnRlZCBmb3IgRXRoZXJuZXQgZGV2aWNlcyIp OworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKIAlhZGRyID0gbmxhX2RhdGEodGJbTkRBX0xMQURE Ul0pOwogCiAJZXJyID0gZmRiX3ZpZF9wYXJzZSh0YltOREFfVkxBTl0sICZ2aWQsIGV4dGFjayk7 Ci0tIAoyLjE5LjEKCgpGcm9tIGM0ZGIwYTRjOGUwNjdkMmQyMjk1ZDA2YmNmNGIzZWQ2YmY2ZDZl Y2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1hcmNlbG8gUmljYXJkbyBMZWl0bmVy IDxtYXJjZWxvLmxlaXRuZXJAZ21haWwuY29tPgpEYXRlOiBUdWUsIDE2IE9jdCAyMDE4IDE1OjE4 OjE3IC0wMzAwClN1YmplY3Q6IFtQQVRDSCAxNS8zOV0gc2N0cDogZml4IHJhY2Ugb24gc2N0cF9p ZDJhc29jCgpbIFVwc3RyZWFtIGNvbW1pdCBiMzM2ZGVjYWIyMjE1ODkzNzk3NTI5M2FlYTc5Mzk2 NTI1ZjkyYmIzIF0KCnN5emJvdCByZXBvcnRlZCBhbiB1c2UtYWZ0ZXItZnJlZSBpbnZvbHZpbmcg c2N0cF9pZDJhc29jLiAgRG1pdHJ5IFZ5dWtvdgpoZWxwZWQgdG8gcm9vdCBjYXVzZSBpdCBhbmQg aXQgaXMgYmVjYXVzZSBvZiByZWFkaW5nIHRoZSBhc29jIGFmdGVyIGl0CndhcyBmcmVlZDoKCiAg ICAgICAgQ1BVIDEgICAgICAgICAgICAgICAgICAgICAgIENQVSAyCih3b3JraW5nIG9uIHNvY2tl dCAxKSAgICAgICAgICAgICh3b3JraW5nIG9uIHNvY2tldCAyKQoJICAgICAgICAgICAgICAgICAg ICAgICAgIHNjdHBfYXNzb2NpYXRpb25fZGVzdHJveQpzY3RwX2lkMmFzb2MKICAgc3BpbiBsb2Nr CiAgICAgZ3JhYiB0aGUgYXNvYyBmcm9tIGlkcgogICBzcGluIHVubG9jawogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNwaW4gbG9jawoJCQkJICAgICByZW1vdmUgYXNvYyBmcm9t IGlkcgoJCQkJICAgc3BpbiB1bmxvY2sKCQkJCSAgIGZyZWUoYXNvYykKICAgaWYgYXNvYy0+YmFz ZS5zayAhPSBzayAuLi4gWypdCgpUaGlzIGNhbiBvbmx5IGJlIGhpdCBpZiB0cnlpbmcgdG8gZmV0 Y2ggYXNvY3MgZnJvbSBkaWZmZXJlbnQgc29ja2V0cy4gQXMKd2UgaGF2ZSBhIHNpbmdsZSBJRFIg Zm9yIGFsbCBhc29jcywgaW4gYWxsIFNDVFAgc29ja2V0cywgdGhlaXIgaWQgaXMKdW5pcXVlIG9u IHRoZSBzeXN0ZW0uIEFuIGFwcGxpY2F0aW9uIGNhbiB0cnkgdG8gc2VuZCBzdHVmZiBvbiBhbiBp ZAp0aGF0IG1hdGNoZXMgb24gYW5vdGhlciBzb2NrZXQsIGFuZCB0aGUgaWYgaW4gWypdIHdpbGwg cHJvdGVjdCBmcm9tIHN1Y2gKdXNhZ2UuIEJ1dCBpdCBkaWRuJ3QgY29uc2lkZXIgdGhhdCBhcyB0 aGF0IGFzb2MgbWF5IGJlbG9uZyB0byBhbm90aGVyCnNvY2tldCwgaXQgbWF5IGJlIGZyZWVkIGlu IHBhcmFsbGVsIChyZWFkOiB1bmRlciBhbm90aGVyIHNvY2tldCBsb2NrKS4KCldlIGZpeCBpdCBi eSBtb3ZpbmcgdGhlIGNoZWNrcyBpbiBbKl0gaW50byB0aGUgcHJvdGVjdGVkIHJlZ2lvbi4gVGhp cwpmaXhlcyBpdCBiZWNhdXNlIHRoZSBhc29jIGNhbm5vdCBiZSBmcmVlZCB3aGlsZSB0aGUgbG9j ayBpcyBoZWxkLgoKUmVwb3J0ZWQtYnk6IHN5emJvdCtjN2RkNTVkN2FlYzQ5ZDQ4ZTQ5YUBzeXpr YWxsZXIuYXBwc3BvdG1haWwuY29tCkFja2VkLWJ5OiBEbWl0cnkgVnl1a292IDxkdnl1a292QGdv b2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IE1hcmNlbG8gUmljYXJkbyBMZWl0bmVyIDxtYXJjZWxv LmxlaXRuZXJAZ21haWwuY29tPgpBY2tlZC1ieTogTmVpbCBIb3JtYW4gPG5ob3JtYW5AdHV4ZHJp dmVyLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIG5ldC9zY3RwL3NvY2tldC5jIHwgNSArKy0tLQogMSBmaWxlIGNoYW5nZWQsIDIg aW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvc2N0cC9zb2Nr ZXQuYyBiL25ldC9zY3RwL3NvY2tldC5jCmluZGV4IDUwZWUwN2NkMjBjNC4uYjBmNTBhOGU4ZmM2 IDEwMDY0NAotLS0gYS9uZXQvc2N0cC9zb2NrZXQuYworKysgYi9uZXQvc2N0cC9zb2NrZXQuYwpA QCAtMjcwLDExICsyNzAsMTAgQEAgc3RydWN0IHNjdHBfYXNzb2NpYXRpb24gKnNjdHBfaWQyYXNz b2Moc3RydWN0IHNvY2sgKnNrLCBzY3RwX2Fzc29jX3QgaWQpCiAKIAlzcGluX2xvY2tfYmgoJnNj dHBfYXNzb2NzX2lkX2xvY2spOwogCWFzb2MgPSAoc3RydWN0IHNjdHBfYXNzb2NpYXRpb24gKilp ZHJfZmluZCgmc2N0cF9hc3NvY3NfaWQsIChpbnQpaWQpOworCWlmIChhc29jICYmIChhc29jLT5i YXNlLnNrICE9IHNrIHx8IGFzb2MtPmJhc2UuZGVhZCkpCisJCWFzb2MgPSBOVUxMOwogCXNwaW5f dW5sb2NrX2JoKCZzY3RwX2Fzc29jc19pZF9sb2NrKTsKIAotCWlmICghYXNvYyB8fCAoYXNvYy0+ YmFzZS5zayAhPSBzaykgfHwgYXNvYy0+YmFzZS5kZWFkKQotCQlyZXR1cm4gTlVMTDsKLQogCXJl dHVybiBhc29jOwogfQogCi0tIAoyLjE5LjEKCgpGcm9tIDQ4OTllZjEyZTIwMzE1ZGJmYjM4Y2My MjA0NmI0MWVmZWZiZmM5ZjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFR1bmcgTmd1 eWVuIDx0dW5nLnEubmd1eWVuQGRla3RlY2guY29tLmF1PgpEYXRlOiBGcmksIDEyIE9jdCAyMDE4 IDIyOjQ2OjU1ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxNi8zOV0gdGlwYzogZml4IHVuc2FmZSBy Y3UgbG9ja2luZyB3aGVuIGFjY2Vzc2luZyBwdWJsaWNhdGlvbgogbGlzdAoKWyBVcHN0cmVhbSBj b21taXQgZDMwOTJiMmVmY2ExY2QxZDQ5MmQwYjA4NDk5YTIwNjZjNWNhOGNlYyBdCgpUaGUgYmlu ZGluZyB0YWJsZSdzICdjbHVzdGVyX3Njb3BlJyBsaXN0IGlzIHJjdSBwcm90ZWN0ZWQgdG8gaGFu ZGxlCnJhY2VzIGJldHdlZW4gdGhyZWFkcyBjaGFuZ2luZyB0aGUgbGlzdCBhbmQgdGhvc2UgdHJh dmVyc2luZyB0aGUgbGlzdCBhdAp0aGUgc2FtZSBtb21lbnQuIFdlIGhhdmUgbm93IGZvdW5kIHRo YXQgdGhlIGZ1bmN0aW9uIG5hbWVkX2Rpc3RyaWJ1dGUoKQp1c2VzIHRoZSByZWd1bGFyIGxpc3Rf Zm9yX2VhY2goKSBtYWNybyB0byB0cmF2ZXJzZSB0aGUgc2FpZCBsaXN0LgpMaWtld2lzZSwgdGhl IGZ1bmN0aW9uIHRpcGNfbmFtZWRfd2l0aGRyYXcoKSBpcyByZW1vdmluZyBpdGVtcyBmcm9tIHRo ZQpzYW1lIGxpc3QgdXNpbmcgdGhlIHJlZ3VsYXIgbGlzdF9kZWwoKSBjYWxsLiBXaGVuIHRoZXNl IHR3byBmdW5jdGlvbnMKZXhlY3V0ZSBpbiBwYXJhbGxlbCB3ZSBzZWUgb2NjYXNpb25hbCBjcmFz aGVzLgoKVGhpcyBjb21taXQgZml4ZXMgdGhpcyBieSBhZGRpbmcgdGhlIG1pc3NpbmcgX3JjdSgp IHN1ZmZpeGVzLgoKU2lnbmVkLW9mZi1ieTogVHVuZyBOZ3V5ZW4gPHR1bmcucS5uZ3V5ZW5AZGVr dGVjaC5jb20uYXU+ClNpZ25lZC1vZmYtYnk6IEpvbiBNYWxveSA8am9uLm1hbG95QGVyaWNzc29u LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0 PgotLS0KIG5ldC90aXBjL25hbWVfZGlzdHIuYyB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIg aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvdGlwYy9uYW1l X2Rpc3RyLmMgYi9uZXQvdGlwYy9uYW1lX2Rpc3RyLmMKaW5kZXggNTFiNGI5NmY4OWRiLi4zY2Zl YjlkZjY0YjAgMTAwNjQ0Ci0tLSBhL25ldC90aXBjL25hbWVfZGlzdHIuYworKysgYi9uZXQvdGlw Yy9uYW1lX2Rpc3RyLmMKQEAgLTExNSw3ICsxMTUsNyBAQCBzdHJ1Y3Qgc2tfYnVmZiAqdGlwY19u YW1lZF93aXRoZHJhdyhzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBwdWJsaWNhdGlvbiAqcHVibCkK IAlzdHJ1Y3Qgc2tfYnVmZiAqYnVmOwogCXN0cnVjdCBkaXN0cl9pdGVtICppdGVtOwogCi0JbGlz dF9kZWwoJnB1YmwtPmJpbmRpbmdfbm9kZSk7CisJbGlzdF9kZWxfcmN1KCZwdWJsLT5iaW5kaW5n X25vZGUpOwogCiAJaWYgKHB1YmwtPnNjb3BlID09IFRJUENfTk9ERV9TQ09QRSkKIAkJcmV0dXJu IE5VTEw7CkBAIC0xNDcsNyArMTQ3LDcgQEAgc3RhdGljIHZvaWQgbmFtZWRfZGlzdHJpYnV0ZShz dHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBza19idWZmX2hlYWQgKmxpc3QsCiAJCQlJVEVNX1NJWkUp ICogSVRFTV9TSVpFOwogCXUzMiBtc2dfcmVtID0gbXNnX2RzejsKIAotCWxpc3RfZm9yX2VhY2hf ZW50cnkocHVibCwgcGxzLCBiaW5kaW5nX25vZGUpIHsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3Jj dShwdWJsLCBwbHMsIGJpbmRpbmdfbm9kZSkgewogCQkvKiBQcmVwYXJlIG5leHQgYnVmZmVyOiAq LwogCQlpZiAoIXNrYikgewogCQkJc2tiID0gbmFtZWRfcHJlcGFyZV9idWYobmV0LCBQVUJMSUNB VElPTiwgbXNnX3JlbSwKLS0gCjIuMTkuMQoKCkZyb20gY2IwYTE1NmRjZDE0ZTMxYTViZTcxNzRh YWNjOTIyMDdlMjNlZDk0YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUGFvbG8gQWJl bmkgPHBhYmVuaUByZWRoYXQuY29tPgpEYXRlOiBXZWQsIDE3IE9jdCAyMDE4IDExOjQ0OjA0ICsw MjAwClN1YmplY3Q6IFtQQVRDSCAxNy8zOV0gdWRwNjogZml4IGVuY2FwIHJldHVybiBjb2RlIGZv ciByZXN1Ym1pdHRpbmcKClsgVXBzdHJlYW0gY29tbWl0IDg0ZGFkNTU5NTFiMGQwMDkzNzJlYzIx NzYwYjY1MDYzNDI0NmUxNDQgXQoKVGhlIGNvbW1pdCBlYjYzZjI5NjRkYmUgKCJ1ZHA2OiBhZGQg bWlzc2luZyBjaGVja3Mgb24gZWR1bXV4IHBhY2tldApwcm9jZXNzaW5nIikgdXNlZCB0aGUgc2Ft ZSByZXR1cm4gY29kZSBjb252ZW50aW9uIG9mIHRoZSBpcHY0IGNvdW50ZXJwYXJ0LApidXQgaXB2 NiB1c2VzIHRoZSBvcHBvc2l0ZSBvbmU6IHBvc2l0aXZlIHZhbHVlcyBtZWFucyByZXN1Ym1pdC4K ClRoaXMgY2hhbmdlIGFkZHJlc3NlcyB0aGUgaXNzdWUsIHVzaW5nIHBvc2l0aXZlIHJldHVybiB2 YWx1ZSBmb3IKcmVzdWJtaXR0aW5nLiBBbHNvIHVwZGF0ZSB0aGUgcmVsYXRlZCBjb21tZW50LCB3 aGljaCB3YXMgYnJva2VuLCB0b28uCgpGaXhlczogZWI2M2YyOTY0ZGJlICgidWRwNjogYWRkIG1p c3NpbmcgY2hlY2tzIG9uIGVkdW11eCBwYWNrZXQgcHJvY2Vzc2luZyIpClNpZ25lZC1vZmYtYnk6 IFBhb2xvIEFiZW5pIDxwYWJlbmlAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4g TWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY2L3VkcC5jIHwgNiArKy0t LS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvbmV0L2lwdjYvdWRwLmMgYi9uZXQvaXB2Ni91ZHAuYwppbmRleCAzOWQwY2FiOTE5 YmIuLjRmMmM3YTE5NjM2NSAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvdWRwLmMKKysrIGIvbmV0L2lw djYvdWRwLmMKQEAgLTc2MiwxMSArNzYyLDkgQEAgc3RhdGljIGludCB1ZHA2X3VuaWNhc3RfcmN2 X3NrYihzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2IsCiAKIAlyZXQgPSB1ZHB2 Nl9xdWV1ZV9yY3Zfc2tiKHNrLCBza2IpOwogCi0JLyogYSByZXR1cm4gdmFsdWUgPiAwIG1lYW5z IHRvIHJlc3VibWl0IHRoZSBpbnB1dCwgYnV0Ci0JICogaXQgd2FudHMgdGhlIHJldHVybiB0byBi ZSAtcHJvdG9jb2wsIG9yIDAKLQkgKi8KKwkvKiBhIHJldHVybiB2YWx1ZSA+IDAgbWVhbnMgdG8g cmVzdWJtaXQgdGhlIGlucHV0ICovCiAJaWYgKHJldCA+IDApCi0JCXJldHVybiAtcmV0OworCQly ZXR1cm4gcmV0OwogCXJldHVybiAwOwogfQogCi0tIAoyLjE5LjEKCgpGcm9tIGI0ZjEyOTMwYzQ1 NjExZWVlZGJlMjk1MWIwOTBlY2ZkY2YxZDk5ZGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IEphc29uIFdhbmcgPGphc293YW5nQHJlZGhhdC5jb20+CkRhdGU6IFR1ZSwgMzAgT2N0IDIw MTggMTQ6MTA6NDkgKzA4MDAKU3ViamVjdDogW1BBVENIIDE4LzM5XSB2aG9zdDogRml4IFNwZWN0 cmUgVjEgdnVsbmVyYWJpbGl0eQoKWyBVcHN0cmVhbSBjb21taXQgZmYwMDIyNjlhNGVlOWM3Njlk YmY5MzY1YWNlZjYzM2ViY2JkNmNiZSBdCgpUaGUgaWR4IGluIHZob3N0X3ZyaW5nX2lvY3RsKCkg d2FzIGNvbnRyb2xsZWQgYnkgdXNlcnNwYWNlLCBoZW5jZSBhCnBvdGVudGlhbCBleHBsb2l0YXRp b24gb2YgdGhlIFNwZWN0cmUgdmFyaWFudCAxIHZ1bG5lcmFiaWxpdHkuCgpGaXhpbmcgdGhpcyBi eSBzYW5pdGl6aW5nIGlkeCBiZWZvcmUgdXNpbmcgaXQgdG8gaW5kZXggZC0+dnFzLgoKQ2M6IE1p Y2hhZWwgUy4gVHNpcmtpbiA8bXN0QHJlZGhhdC5jb20+CkNjOiBKb3NoIFBvaW1ib2V1ZiA8anBv aW1ib2VAcmVkaGF0LmNvbT4KQ2M6IEFuZHJlYSBBcmNhbmdlbGkgPGFhcmNhbmdlQHJlZGhhdC5j b20+ClNpZ25lZC1vZmYtYnk6IEphc29uIFdhbmcgPGphc293YW5nQHJlZGhhdC5jb20+ClNpZ25l ZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2 ZXJzL3Zob3N0L3Zob3N0LmMgfCAyICsrCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCsp CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aG9zdC92aG9zdC5jIGIvZHJpdmVycy92aG9zdC92aG9z dC5jCmluZGV4IDU2MGVkODcxMTcwNi4uYzQ0MjRjYmQ5OTQzIDEwMDY0NAotLS0gYS9kcml2ZXJz L3Zob3N0L3Zob3N0LmMKKysrIGIvZHJpdmVycy92aG9zdC92aG9zdC5jCkBAIC0zMCw2ICszMCw3 IEBACiAjaW5jbHVkZSA8bGludXgvc2NoZWQvbW0uaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC9z aWduYWwuaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnZhbF90cmVlX2dlbmVyaWMuaD4KKyNpbmNs dWRlIDxsaW51eC9ub3NwZWMuaD4KIAogI2luY2x1ZGUgInZob3N0LmgiCiAKQEAgLTEzNjIsNiAr MTM2Myw3IEBAIGxvbmcgdmhvc3RfdnJpbmdfaW9jdGwoc3RydWN0IHZob3N0X2RldiAqZCwgdW5z aWduZWQgaW50IGlvY3RsLCB2b2lkIF9fdXNlciAqYXJnCiAJaWYgKGlkeCA+PSBkLT5udnFzKQog CQlyZXR1cm4gLUVOT0JVRlM7CiAKKwlpZHggPSBhcnJheV9pbmRleF9ub3NwZWMoaWR4LCBkLT5u dnFzKTsKIAl2cSA9IGQtPnZxc1tpZHhdOwogCiAJbXV0ZXhfbG9jaygmdnEtPm11dGV4KTsKLS0g CjIuMTkuMQoKCkZyb20gNTYzZGQ5MzE2M2E2ZmNhMzFmMWU3MmIxNTM0M2MzZjdkOGE4Y2I5YSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQWtlIEtvb21zaW4gPGFrZUBpZ2VsLmNvLmpw PgpEYXRlOiBXZWQsIDE3IE9jdCAyMDE4IDE5OjQ0OjEyICswOTAwClN1YmplY3Q6IFtQQVRDSCAx OS8zOV0gdmlydGlvX25ldDogYXZvaWQgdXNpbmcgbmV0aWZfdHhfZGlzYWJsZSgpIGZvcgogc2Vy aWFsaXppbmcgdHggcm91dGluZQoKWyBVcHN0cmVhbSBjb21taXQgMDVjOTk4YjczOGZkZDNlNWQ2 YTI1N2JjYWNjOGYzNGI2Mjg0ZDc5NSBdCgpDb21taXQgNzEzYTk4ZDkwYzVlICgidmlydGlvLW5l dDogc2VyaWFsaXplIHR4IHJvdXRpbmUgZHVyaW5nIHJlc2V0IikKaW50cm9kdWNlcyBuZXRpZl90 eF9kaXNhYmxlKCkgYWZ0ZXIgbmV0aWZfZGV2aWNlX2RldGFjaCgpIGluIG9yZGVyIHRvCmF2b2lk IHVzZS1hZnRlci1mcmVlIG9mIHR4IHF1ZXVlcy4gSG93ZXZlciwgdGhlcmUgYXJlIHR3byBpc3N1 ZXMuCgoxKSBJdHMgb3BlcmF0aW9uIGlzIHJlZHVuZGFudCB3aXRoIG5ldGlmX2RldmljZV9kZXRh Y2goKSBpbiBjYXNlIHRoZQogICBpbnRlcmZhY2UgaXMgcnVubmluZy4KMikgSW4gY2FzZSBvZiB0 aGUgaW50ZXJmYWNlIGlzIG5vdCBydW5uaW5nIGJlZm9yZSBzdXNwZW5kaW5nIGFuZAogICByZXN1 bWluZywgdGhlIHR4IGRvZXMgbm90IGdldCByZXN1bWVkIGJ5IG5ldGlmX2RldmljZV9hdHRhY2go KS4KICAgVGhpcyByZXN1bHRzIGluIGxvc2luZyBuZXR3b3JrIGNvbm5lY3Rpdml0eS4KCkl0IGlz IGJldHRlciB0byB1c2UgbmV0aWZfdHhfbG9ja19iaCgpL25ldGlmX3R4X3VubG9ja19iaCgpIGlu c3RlYWQgZm9yCnNlcmlhbGl6aW5nIHR4IHJvdXRpbmUgZHVyaW5nIHJlc2V0LiBUaGlzIGFsc28g cHJlc2VydmVzIHRoZSBzeW1tZXRyeQpvZiBuZXRpZl9kZXZpY2VfZGV0YWNoKCkgYW5kIG5ldGlm X2RldmljZV9hdHRhY2goKS4KCkZpeGVzIGNvbW1pdCA3MTNhOThkOTBjNWUgKCJ2aXJ0aW8tbmV0 OiBzZXJpYWxpemUgdHggcm91dGluZSBkdXJpbmcgcmVzZXQiKQpTaWduZWQtb2ZmLWJ5OiBBa2Ug S29vbXNpbiA8YWtlQGlnZWwuY28uanA+CkFja2VkLWJ5OiBKYXNvbiBXYW5nIDxqYXNvd2FuZ0By ZWRoYXQuY29tPgpBY2tlZC1ieTogTWljaGFlbCBTLiBUc2lya2luIDxtc3RAcmVkaGF0LmNvbT4K U2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0K IGRyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYyB8IDUgKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA0IGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92aXJ0 aW9fbmV0LmMgYi9kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMKaW5kZXggMmI2ZWM5Mjc4MDllLi41 MDBlMmQ4ZjEwYmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYworKysgYi9k cml2ZXJzL25ldC92aXJ0aW9fbmV0LmMKQEAgLTIxNjIsOCArMjE2Miw5IEBAIHN0YXRpYyB2b2lk IHZpcnRuZXRfZnJlZXplX2Rvd24oc3RydWN0IHZpcnRpb19kZXZpY2UgKnZkZXYpCiAJLyogTWFr ZSBzdXJlIG5vIHdvcmsgaGFuZGxlciBpcyBhY2Nlc3NpbmcgdGhlIGRldmljZSAqLwogCWZsdXNo X3dvcmsoJnZpLT5jb25maWdfd29yayk7CiAKKwluZXRpZl90eF9sb2NrX2JoKHZpLT5kZXYpOwog CW5ldGlmX2RldmljZV9kZXRhY2godmktPmRldik7Ci0JbmV0aWZfdHhfZGlzYWJsZSh2aS0+ZGV2 KTsKKwluZXRpZl90eF91bmxvY2tfYmgodmktPmRldik7CiAJY2FuY2VsX2RlbGF5ZWRfd29ya19z eW5jKCZ2aS0+cmVmaWxsKTsKIAogCWlmIChuZXRpZl9ydW5uaW5nKHZpLT5kZXYpKSB7CkBAIC0y MTk5LDcgKzIyMDAsOSBAQCBzdGF0aWMgaW50IHZpcnRuZXRfcmVzdG9yZV91cChzdHJ1Y3Qgdmly dGlvX2RldmljZSAqdmRldikKIAkJfQogCX0KIAorCW5ldGlmX3R4X2xvY2tfYmgodmktPmRldik7 CiAJbmV0aWZfZGV2aWNlX2F0dGFjaCh2aS0+ZGV2KTsKKwluZXRpZl90eF91bmxvY2tfYmgodmkt PmRldik7CiAJcmV0dXJuIGVycjsKIH0KIAotLSAKMi4xOS4xCgoKRnJvbSBkMzY1YWEwZTUwY2M0 YjI2NzNiNjIzYWU3NWMzMjIyMjkxMzJlOTZkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBXZW53ZW4gV2FuZyA8d2FuZzY0OTVAdW1uLmVkdT4KRGF0ZTogTW9uLCA4IE9jdCAyMDE4IDEw OjQ5OjM1IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAyMC8zOV0gZXRodG9vbDogZml4IGEgcHJpdmls ZWdlIGVzY2FsYXRpb24gYnVnCgpbIFVwc3RyZWFtIGNvbW1pdCA1OGY1YmJlMzMxYzU2NmY0OWM5 NTU5NTY4Zjk4MjIwMmEyNzhhYTc4IF0KCkluIGRldl9ldGh0b29sKCksIHRoZSBldGggY29tbWFu ZCAnZXRoY21kJyBpcyBmaXJzdGx5IGNvcGllZCBmcm9tIHRoZQp1c2Utc3BhY2UgYnVmZmVyICd1 c2VyYWRkcicgYW5kIGNoZWNrZWQgdG8gc2VlIHdoZXRoZXIgaXQgaXMKRVRIVE9PTF9QRVJRVUVV RS4gSWYgeWVzLCB0aGUgc3ViLWNvbW1hbmQgJ3N1Yl9jbWQnIGlzIGZ1cnRoZXIgY29waWVkIGZy b20KdGhlIHVzZXIgc3BhY2UuIE90aGVyd2lzZSwgJ3N1Yl9jbWQnIGlzIHRoZSBzYW1lIGFzICdl dGhjbWQnLiBOZXh0LAphY2NvcmRpbmcgdG8gJ3N1Yl9jbWQnLCBhIHBlcm1pc3Npb24gY2hlY2sg aXMgZW5mb3JjZWQgdGhyb3VnaCB0aGUgZnVuY3Rpb24KbnNfY2FwYWJsZSgpLiBGb3IgZXhhbXBs ZSwgdGhlIHBlcm1pc3Npb24gY2hlY2sgaXMgcmVxdWlyZWQgaWYgJ3N1Yl9jbWQnIGlzCkVUSFRP T0xfU0NPQUxFU0NFLCBidXQgaXQgaXMgbm90IG5lY2Vzc2FyeSBpZiAnc3ViX2NtZCcgaXMKRVRI VE9PTF9HQ09BTEVTQ0UsIGFzIHN1Z2dlc3RlZCBpbiB0aGUgY29tbWVudCAiQWxsb3cgc29tZSBj b21tYW5kcyB0byBiZQpkb25lIGJ5IGFueW9uZSIuIFRoZSBmb2xsb3dpbmcgZXhlY3V0aW9uIGlu dm9rZXMgZGlmZmVyZW50IGhhbmRsZXJzCmFjY29yZGluZyB0byAnZXRoY21kJy4gU3BlY2lmaWNh bGx5LCBpZiAnZXRoY21kJyBpcyBFVEhUT09MX1BFUlFVRVVFLApldGh0b29sX3NldF9wZXJfcXVl dWUoKSBpcyBjYWxsZWQuIEluIGV0aHRvb2xfc2V0X3Blcl9xdWV1ZSgpLCB0aGUga2VybmVsCm9i amVjdCAncGVyX3F1ZXVlX29wdCcgaXMgY29waWVkIGFnYWluIGZyb20gdGhlIHVzZXItc3BhY2Ug YnVmZmVyCid1c2VyYWRkcicgYW5kICdwZXJfcXVldWVfb3B0LnN1Yl9jb21tYW5kJyBpcyB1c2Vk IHRvIGRldGVybWluZSB3aGljaApvcGVyYXRpb24gc2hvdWxkIGJlIHBlcmZvcm1lZC4gR2l2ZW4g dGhhdCB0aGUgYnVmZmVyICd1c2VyYWRkcicgaXMgaW4gdGhlCnVzZXIgc3BhY2UsIGEgbWFsaWNp b3VzIHVzZXIgY2FuIHJhY2UgdG8gY2hhbmdlIHRoZSBzdWItY29tbWFuZCBiZXR3ZWVuIHRoZQp0 d28gY29waWVzLiBJbiBwYXJ0aWN1bGFyLCB0aGUgYXR0YWNrZXIgY2FuIHN1cHBseSBFVEhUT09M X1BFUlFVRVVFIGFuZApFVEhUT09MX0dDT0FMRVNDRSB0byBieXBhc3MgdGhlIHBlcm1pc3Npb24g Y2hlY2sgaW4gZGV2X2V0aHRvb2woKS4gVGhlbgpiZWZvcmUgZXRodG9vbF9zZXRfcGVyX3F1ZXVl KCkgaXMgY2FsbGVkLCB0aGUgYXR0YWNrZXIgY2hhbmdlcwpFVEhUT09MX0dDT0FMRVNDRSB0byBF VEhUT09MX1NDT0FMRVNDRS4gSW4gdGhpcyB3YXksIHRoZSBhdHRhY2tlciBjYW4KYnlwYXNzIHRo ZSBwZXJtaXNzaW9uIGNoZWNrIGFuZCBleGVjdXRlIEVUSFRPT0xfU0NPQUxFU0NFLgoKVGhpcyBw YXRjaCBlbmZvcmNlcyBhIGNoZWNrIGluIGV0aHRvb2xfc2V0X3Blcl9xdWV1ZSgpIGFmdGVyIHRo ZSBzZWNvbmQKY29weSBmcm9tICd1c2VyYWRkcicuIElmIHRoZSBzdWItY29tbWFuZCBpcyBkaWZm ZXJlbnQgZnJvbSB0aGUgb25lIG9idGFpbmVkCmluIHRoZSBmaXJzdCBjb3B5IGluIGRldl9ldGh0 b29sKCksIGFuIGVycm9yIGNvZGUgRUlOVkFMIHdpbGwgYmUgcmV0dXJuZWQuCgpGaXhlczogZjM4 ZDEzOGE3ZGE2ICgibmV0L2V0aHRvb2w6IHN1cHBvcnQgc2V0IGNvYWxlc2NlIHBlciBxdWV1ZSIp ClNpZ25lZC1vZmYtYnk6IFdlbndlbiBXYW5nIDx3YW5nNjQ5NUB1bW4uZWR1PgpSZXZpZXdlZC1i eTogTWljaGFsIEt1YmVjZWsgPG1rdWJlY2VrQHN1c2UuY3o+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvY29yZS9ldGh0b29sLmMg fCA4ICsrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL25ldC9jb3JlL2V0aHRvb2wuYyBiL25ldC9jb3JlL2V0aHRvb2wu YwppbmRleCA2YzA0ZjFiZjM3N2QuLjU0OGQwZTYxNWJjNyAxMDA2NDQKLS0tIGEvbmV0L2NvcmUv ZXRodG9vbC5jCisrKyBiL25ldC9jb3JlL2V0aHRvb2wuYwpAQCAtMjQ2MSwxMyArMjQ2MSwxNyBA QCBzdGF0aWMgaW50IGV0aHRvb2xfc2V0X3Blcl9xdWV1ZV9jb2FsZXNjZShzdHJ1Y3QgbmV0X2Rl dmljZSAqZGV2LAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgZXRodG9vbF9zZXRfcGVy X3F1ZXVlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHZvaWQgX191c2VyICp1c2VyYWRkcikKK3N0 YXRpYyBpbnQgZXRodG9vbF9zZXRfcGVyX3F1ZXVlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCisJ CQkJIHZvaWQgX191c2VyICp1c2VyYWRkciwgdTMyIHN1Yl9jbWQpCiB7CiAJc3RydWN0IGV0aHRv b2xfcGVyX3F1ZXVlX29wIHBlcl9xdWV1ZV9vcHQ7CiAKIAlpZiAoY29weV9mcm9tX3VzZXIoJnBl cl9xdWV1ZV9vcHQsIHVzZXJhZGRyLCBzaXplb2YocGVyX3F1ZXVlX29wdCkpKQogCQlyZXR1cm4g LUVGQVVMVDsKIAorCWlmIChwZXJfcXVldWVfb3B0LnN1Yl9jb21tYW5kICE9IHN1Yl9jbWQpCisJ CXJldHVybiAtRUlOVkFMOworCiAJc3dpdGNoIChwZXJfcXVldWVfb3B0LnN1Yl9jb21tYW5kKSB7 CiAJY2FzZSBFVEhUT09MX0dDT0FMRVNDRToKIAkJcmV0dXJuIGV0aHRvb2xfZ2V0X3Blcl9xdWV1 ZV9jb2FsZXNjZShkZXYsIHVzZXJhZGRyLCAmcGVyX3F1ZXVlX29wdCk7CkBAIC0yODM4LDcgKzI4 NDIsNyBAQCBpbnQgZGV2X2V0aHRvb2woc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3QgaWZyZXEgKmlm cikKIAkJcmMgPSBldGh0b29sX2dldF9waHlfc3RhdHMoZGV2LCB1c2VyYWRkcik7CiAJCWJyZWFr OwogCWNhc2UgRVRIVE9PTF9QRVJRVUVVRToKLQkJcmMgPSBldGh0b29sX3NldF9wZXJfcXVldWUo ZGV2LCB1c2VyYWRkcik7CisJCXJjID0gZXRodG9vbF9zZXRfcGVyX3F1ZXVlKGRldiwgdXNlcmFk ZHIsIHN1Yl9jbWQpOwogCQlicmVhazsKIAljYXNlIEVUSFRPT0xfR0xJTktTRVRUSU5HUzoKIAkJ cmMgPSBldGh0b29sX2dldF9saW5rX2tzZXR0aW5ncyhkZXYsIHVzZXJhZGRyKTsKLS0gCjIuMTku MQoKCkZyb20gMDIwZDIyYTA5ODQwNGE0M2M3ZDM3MjY0NjUyNzZjMGVlOTdjMDAzYiBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogVG9iaWFzIEp1bmdlbCA8dG9iaWFzLmp1bmdlbEBnbWFp bC5jb20+CkRhdGU6IFN1biwgMjggT2N0IDIwMTggMTI6NTQ6MTAgKzAxMDAKU3ViamVjdDogW1BB VENIIDIxLzM5XSBib25kaW5nOiBmaXggbGVuZ3RoIG9mIGFjdG9yIHN5c3RlbQoKWyBVcHN0cmVh bSBjb21taXQgNDE0ZGQ2ZmI5YTFhMWI1OTk4M2FlYTdiZjBmNzlmMDA4NWVjYzViOCBdCgpUaGUg YXR0cmlidXRlIElGTEFfQk9ORF9BRF9BQ1RPUl9TWVNURU0gaXMgc2VudCB0byB1c2VyIHNwYWNl IGhhdmluZyB0aGUKbGVuZ3RoIG9mIHNpemVvZihib25kLT5wYXJhbXMuYWRfYWN0b3Jfc3lzdGVt KSB3aGljaCBpcyA4IGJ5dGUuIFRoaXMKcGF0Y2ggYWxpZ25zIHRoZSBsZW5ndGggdG8gRVRIX0FM RU4gdG8gaGF2ZSB0aGUgc2FtZSBNQUMgYWRkcmVzcyBleHBvc2VkCmFzIHVzaW5nIHN5c2ZzLgoK Rml4ZXM6IGY4N2ZkYTAwYjZlZDIgKCJib25kaW5nOiBwcmV2ZW50IG91dCBvZiBib3VuZCBhY2Nl c3NlcyIpClNpZ25lZC1vZmYtYnk6IFRvYmlhcyBKdW5nZWwgPHRvYmlhcy5qdW5nZWxAZ21haWwu Y29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogZHJpdmVycy9uZXQvYm9uZGluZy9ib25kX25ldGxpbmsuYyB8IDMgKy0tCiAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9uZXQvYm9uZGluZy9ib25kX25ldGxpbmsuYyBiL2RyaXZlcnMvbmV0L2JvbmRpbmcvYm9u ZF9uZXRsaW5rLmMKaW5kZXggOTY5Nzk3N2I4MGYwLi42YjlhZDg2NzMyMTggMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9uZXRsaW5rLmMKKysrIGIvZHJpdmVycy9uZXQvYm9u ZGluZy9ib25kX25ldGxpbmsuYwpAQCAtNjM4LDggKzYzOCw3IEBAIHN0YXRpYyBpbnQgYm9uZF9m aWxsX2luZm8oc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAkJCQlnb3RvIG5sYV9wdXRfZmFpbHVyZTsK IAogCQkJaWYgKG5sYV9wdXQoc2tiLCBJRkxBX0JPTkRfQURfQUNUT1JfU1lTVEVNLAotCQkJCSAg ICBzaXplb2YoYm9uZC0+cGFyYW1zLmFkX2FjdG9yX3N5c3RlbSksCi0JCQkJICAgICZib25kLT5w YXJhbXMuYWRfYWN0b3Jfc3lzdGVtKSkKKwkJCQkgICAgRVRIX0FMRU4sICZib25kLT5wYXJhbXMu YWRfYWN0b3Jfc3lzdGVtKSkKIAkJCQlnb3RvIG5sYV9wdXRfZmFpbHVyZTsKIAkJfQogCQlpZiAo IWJvbmRfM2FkX2dldF9hY3RpdmVfYWdnX2luZm8oYm9uZCwgJmluZm8pKSB7Ci0tIAoyLjE5LjEK CgpGcm9tIDcxYWY0YmViY2JhMTAyOWY3ODJmOWY4YjA2MWMyOTYxMjdhMjViMGQgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+ CkRhdGU6IFRodSwgMTggT2N0IDIwMTggMjE6MjU6MDcgKzAyMDAKU3ViamVjdDogW1BBVENIIDIy LzM5XSBpcDZfdHVubmVsOiBGaXggZW5jYXBzdWxhdGlvbiBsYXlvdXQKClsgVXBzdHJlYW0gY29t bWl0IGQ0ZDU3NmY1YWI3ZWRjYjc1N2JiMzNlNmE1NjAwNjY2YTBiMTIzMmQgXQoKQ29tbWl0IDA1 ODIxNGE0ZDFkZiAoImlwNl90dW46IEFkZCBpbmZyYXN0cnVjdHVyZSBmb3IgZG9pbmcKZW5jYXBz dWxhdGlvbiIpIGFkZGVkIHRoZSBpcDZfdG5sX2VuY2FwKCkgY2FsbCBpbiBpcDZfdG5sX3htaXQo KSwgYmVmb3JlCnRoZSBjYWxsIHRvIGlwdjZfcHVzaF9mcmFnX29wdHMoKSB0byBhcHBlbmQgdGhl IElQdjYgVHVubmVsIEVuY2Fwc3VsYXRpb24KTGltaXQgb3B0aW9uIChvcHRpb24gNCwgUkZDIDI0 NzMsIHBhci4gNS4xKSB0byB0aGUgb3V0ZXIgSVB2NiBoZWFkZXIuCgpBcyBsb25nIGFzIHRoZSBv cHRpb24gZGlkbid0IGFjdHVhbGx5IGVuZCB1cCBpbiBnZW5lcmF0ZWQgcGFja2V0cywgdGhpcwp3 YXNuJ3QgYW4gaXNzdWUuIFRoZW4gY29tbWl0IDg5YTIzYzhiNTI4YiAoImlwNl90dW5uZWw6IEZp eCBtaXNzaW5nIHR1bm5lbAplbmNhcHN1bGF0aW9uIGxpbWl0IG9wdGlvbiIpIGZpeGVkIHNlbmRp bmcgb2YgdGhpcyBvcHRpb24sIGFuZCB0aGUKcmVzdWx0aW5nIGxheW91dCwgZS5nLiBmb3IgRm9V LCBpczoKCi4tLS0tLS0tLS0tLS0tLS0tLS0tLi0tLS0tLS0tLS0tLS4tLS0tLS0tLS0tLi0tLS0t LS0tLS0tLS0tLS0tLS0uLS0tLS0gLSAtCnwgT3V0ZXIgSVB2NiBIZWFkZXIgfCBVRFAgaGVhZGVy IHwgT3B0aW9uIDQgfCBJbm5lciBJUHY2IEhlYWRlciB8IFBheWxvYWQKJy0tLS0tLS0tLS0tLS0t LS0tLS0nLS0tLS0tLS0tLS0tJy0tLS0tLS0tLS0nLS0tLS0tLS0tLS0tLS0tLS0tLSctLS0tLSAt IC0KCk5lZWRsZXNzIHRvIHNheSwgRm9VIGFuZCBHVUUgKGF0IGxlYXN0KSB3b24ndCB3b3JrIG92 ZXIgSVB2Ni4gVGhlIG9wdGlvbgppcyBhcHBlbmRlZCBieSBkZWZhdWx0LCBhbmQgSSBjb3VsZG4n dCBmaW5kIGEgd2F5IHRvIGRpc2FibGUgaXQgd2l0aCB0aGUKY3VycmVudCBpcHJvdXRlMi4KClR1 cm4gdGhpcyBpbnRvIGEgbW9yZSByZWFzb25hYmxlOgoKLi0tLS0tLS0tLS0tLS0tLS0tLS0uLS0t LS0tLS0tLS4tLS0tLS0tLS0tLS0uLS0tLS0tLS0tLS0tLS0tLS0tLS4tLS0tLSAtIC0KfCBPdXRl ciBJUHY2IEhlYWRlciB8IE9wdGlvbiA0IHwgVURQIGhlYWRlciB8IElubmVyIElQdjYgSGVhZGVy IHwgUGF5bG9hZAonLS0tLS0tLS0tLS0tLS0tLS0tLSctLS0tLS0tLS0tJy0tLS0tLS0tLS0tLSct LS0tLS0tLS0tLS0tLS0tLS0tJy0tLS0tIC0gLQoKV2l0aCB0aGlzLCBhbmQgd2l0aCA4NGRhZDU1 OTUxYjAgKCJ1ZHA2OiBmaXggZW5jYXAgcmV0dXJuIGNvZGUgZm9yCnJlc3VibWl0dGluZyIpLCBG b1UgYW5kIEdVRSB3b3JrIGFnYWluIG92ZXIgSVB2Ni4KCkZpeGVzOiAwNTgyMTRhNGQxZGYgKCJp cDZfdHVuOiBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIGRvaW5nIGVuY2Fwc3VsYXRpb24iKQpTaWdu ZWQtb2ZmLWJ5OiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPgpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjYv aXA2X3R1bm5lbC5jIHwgOSArKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMo KyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvaXA2X3R1bm5lbC5jIGIv bmV0L2lwdjYvaXA2X3R1bm5lbC5jCmluZGV4IGY1YjViMDU3NGEyZC4uMDA5YjUwODEyN2U2IDEw MDY0NAotLS0gYS9uZXQvaXB2Ni9pcDZfdHVubmVsLmMKKysrIGIvbmV0L2lwdjYvaXA2X3R1bm5l bC5jCkBAIC0xMTg0LDEwICsxMTg0LDYgQEAgaW50IGlwNl90bmxfeG1pdChzdHJ1Y3Qgc2tfYnVm ZiAqc2tiLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBfX3U4IGRzZmllbGQsCiAJfQogCXNrYl9k c3Rfc2V0KHNrYiwgZHN0KTsKIAotCWlmIChlbmNhcF9saW1pdCA+PSAwKSB7Ci0JCWluaXRfdGVs X3R4b3B0KCZvcHQsIGVuY2FwX2xpbWl0KTsKLQkJaXB2Nl9wdXNoX2ZyYWdfb3B0cyhza2IsICZv cHQub3BzLCAmcHJvdG8pOwotCX0KIAlob3BfbGltaXQgPSBob3BfbGltaXQgPyA6IGlwNl9kc3Rf aG9wbGltaXQoZHN0KTsKIAogCS8qIENhbGN1bGF0ZSBtYXggaGVhZHJvb20gZm9yIGFsbCB0aGUg aGVhZGVycyBhbmQgYWRqdXN0CkBAIC0xMjAyLDYgKzExOTgsMTEgQEAgaW50IGlwNl90bmxfeG1p dChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBfX3U4IGRzZmll bGQsCiAJaWYgKGVycikKIAkJcmV0dXJuIGVycjsKIAorCWlmIChlbmNhcF9saW1pdCA+PSAwKSB7 CisJCWluaXRfdGVsX3R4b3B0KCZvcHQsIGVuY2FwX2xpbWl0KTsKKwkJaXB2Nl9wdXNoX2ZyYWdf b3B0cyhza2IsICZvcHQub3BzLCAmcHJvdG8pOworCX0KKwogCXNrYl9wdXNoKHNrYiwgc2l6ZW9m KHN0cnVjdCBpcHY2aGRyKSk7CiAJc2tiX3Jlc2V0X25ldHdvcmtfaGVhZGVyKHNrYik7CiAJaXB2 NmggPSBpcHY2X2hkcihza2IpOwotLSAKMi4xOS4xCgoKRnJvbSAwY2I3ZTJlMTM5ZDcwZWE1MDc5 MWFjOTY3ZTExNDk5YzY2MDMxYWQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VU Ri04P3E/SmFpbWU9MjBDYWFtYT1DMz1CMW89MjBSdWl6Pz0gPGpjYWFtYW5vQHN1c2UuY29tPgpE YXRlOiBXZWQsIDMxIE9jdCAyMDE4IDE4OjUyOjAzICswMTAwClN1YmplY3Q6IFtQQVRDSCAyMy8z OV0gb3BlbnZzd2l0Y2g6IEZpeCBwdXNoL3BvcCBldGhlcm5ldCB2YWxpZGF0aW9uCk1JTUUtVmVy c2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50 LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpbIFVwc3RyZWFtIGNvbW1pdCA0NmViZTI4MzRiYTVi NTQxZjI4ZWU3MmU1NTZhM2ZlZDQyYzQ3NTcwIF0KCldoZW4gdGhlcmUgYXJlIGJvdGggcG9wIGFu ZCBwdXNoIGV0aGVybmV0IGhlYWRlciBhY3Rpb25zIGFtb25nIHRoZQphY3Rpb25zIHRvIGJlIGFw cGxpZWQgdG8gYSBwYWNrZXQsIGFuIHVuZXhwZWN0ZWQgRUlOVkFMIChJbnZhbGlkCmFyZ3VtZW50 KSBlcnJvciBpcyBvYnRhaW5lZC4gVGhpcyBpcyBkdWUgdG8gbWFjX3Byb3RvIG5vdCBiZWluZyBy ZXNldApjb3JyZWN0bHkgd2hlbiB0aG9zZSBhY3Rpb25zIGFyZSB2YWxpZGF0ZWQuCgpSZXBvcnRl ZC1hdDoKaHR0cHM6Ly9tYWlsLm9wZW52c3dpdGNoLm9yZy9waXBlcm1haWwvb3ZzLWRpc2N1c3Mv MjAxOC1PY3RvYmVyLzA0NzU1NC5odG1sCkZpeGVzOiA5MTgyMGRhNmFlODUgKCJvcGVudnN3aXRj aDogYWRkIEV0aGVybmV0IHB1c2ggYW5kIHBvcCBhY3Rpb25zIikKU2lnbmVkLW9mZi1ieTogSmFp bWUgQ2FhbWHDsW8gUnVpeiA8amNhYW1hbm9Ac3VzZS5jb20+ClRlc3RlZC1ieTogR3JlZyBSb3Nl IDxndnJvc2U4MTkyQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IEdyZWcgUm9zZSA8Z3Zyb3NlODE5 MkBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBuZXQvb3BlbnZzd2l0Y2gvZmxvd19uZXRsaW5rLmMgfCA0ICsrLS0KIDEg ZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvbmV0L29wZW52c3dpdGNoL2Zsb3dfbmV0bGluay5jIGIvbmV0L29wZW52c3dpdGNoL2Zsb3df bmV0bGluay5jCmluZGV4IDQ5MmFiMGMzNmY3Yy4uOGIxYmE0M2IxZWNlIDEwMDY0NAotLS0gYS9u ZXQvb3BlbnZzd2l0Y2gvZmxvd19uZXRsaW5rLmMKKysrIGIvbmV0L29wZW52c3dpdGNoL2Zsb3df bmV0bGluay5jCkBAIC0yOTkwLDcgKzI5OTAsNyBAQCBzdGF0aWMgaW50IF9fb3ZzX25sYV9jb3B5 X2FjdGlvbnMoc3RydWN0IG5ldCAqbmV0LCBjb25zdCBzdHJ1Y3QgbmxhdHRyICphdHRyLAogCQkJ ICogaXMgYWxyZWFkeSBwcmVzZW50ICovCiAJCQlpZiAobWFjX3Byb3RvICE9IE1BQ19QUk9UT19O T05FKQogCQkJCXJldHVybiAtRUlOVkFMOwotCQkJbWFjX3Byb3RvID0gTUFDX1BST1RPX05PTkU7 CisJCQltYWNfcHJvdG8gPSBNQUNfUFJPVE9fRVRIRVJORVQ7CiAJCQlicmVhazsKIAogCQljYXNl IE9WU19BQ1RJT05fQVRUUl9QT1BfRVRIOgpAQCAtMjk5OCw3ICsyOTk4LDcgQEAgc3RhdGljIGlu dCBfX292c19ubGFfY29weV9hY3Rpb25zKHN0cnVjdCBuZXQgKm5ldCwgY29uc3Qgc3RydWN0IG5s YXR0ciAqYXR0ciwKIAkJCQlyZXR1cm4gLUVJTlZBTDsKIAkJCWlmICh2bGFuX3RjaSAmIGh0b25z KFZMQU5fVEFHX1BSRVNFTlQpKQogCQkJCXJldHVybiAtRUlOVkFMOwotCQkJbWFjX3Byb3RvID0g TUFDX1BST1RPX0VUSEVSTkVUOworCQkJbWFjX3Byb3RvID0gTUFDX1BST1RPX05PTkU7CiAJCQli cmVhazsKIAogCQljYXNlIE9WU19BQ1RJT05fQVRUUl9QVVNIX05TSDoKLS0gCjIuMTkuMQoKCkZy b20gOGIwOTg2YTQ2YTkxMjU2ZDRmZjJiYTgzOGM2YzVmYjY1ZDA3MjZmMCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogTmlrb2xheSBBbGVrc2FuZHJvdiA8bmlrb2xheUBjdW11bHVzbmV0 d29ya3MuY29tPgpEYXRlOiBXZWQsIDE3IE9jdCAyMDE4IDIyOjM0OjM0ICswMzAwClN1YmplY3Q6 IFtQQVRDSCAyNC8zOV0gbmV0OiBpcG1yOiBmaXggdW5yZXNvbHZlZCBlbnRyeSBkdW1wcwoKWyBV cHN0cmVhbSBjb21taXQgZWRkZjAxNmI5MTA0ODZkMjEyMzY3NWE2YjVmZDdkNjRmNzdjZGNhOCBd CgpJZiB0aGUgc2tiIHNwYWNlIGVuZHMgaW4gYW4gdW5yZXNvbHZlZCBlbnRyeSB3aGlsZSBkdW1w aW5nIHdlJ2xsIG1pc3MKc29tZSB1bnJlc29sdmVkIGVudHJpZXMuIFRoZSByZWFzb24gaXMgZHVl IHRvIHplcm9pbmcgdGhlIGVudHJ5IGNvdW50ZXIKYmV0d2VlbiBkdW1waW5nIHJlc29sdmVkIGFu ZCB1bnJlc29sdmVkIG1mYyBlbnRyaWVzLiBXZSBzaG91bGQganVzdAprZWVwIGNvdW50aW5nIHVu dGlsIHRoZSB3aG9sZSB0YWJsZSBpcyBkdW1wZWQgYW5kIHplcm8gd2hlbiB3ZSBtb3ZlIHRvCnRo ZSBuZXh0IGFzIHdlIGhhdmUgYSBzZXBhcmF0ZSB0YWJsZSBjb3VudGVyLgoKUmVwb3J0ZWQtYnk6 IENvbGluIElhbiBLaW5nIDxjb2xpbi5raW5nQGNhbm9uaWNhbC5jb20+CkZpeGVzOiA4ZmI0NzJj MDliOWQgKCJpcG1yOiBpbXByb3ZlIGhhc2ggc2NhbGFiaWxpdHkiKQpTaWduZWQtb2ZmLWJ5OiBO aWtvbGF5IEFsZWtzYW5kcm92IDxuaWtvbGF5QGN1bXVsdXNuZXR3b3Jrcy5jb20+ClNpZ25lZC1v ZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2 NC9pcG1yX2Jhc2UuYyB8IDIgLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL25ldC9pcHY0L2lwbXJfYmFzZS5jIGIvbmV0L2lwdjQvaXBtcl9iYXNlLmMKaW5k ZXggY2FmYjA1MDZjOGM5Li4zM2JlMDk3OTFjNzQgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L2lwbXJf YmFzZS5jCisrKyBiL25ldC9pcHY0L2lwbXJfYmFzZS5jCkBAIC0yOTUsOCArMjk1LDYgQEAgaW50 IG1yX3J0bV9kdW1wcm91dGUoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5ldGxpbmtfY2Fs bGJhY2sgKmNiLAogbmV4dF9lbnRyeToKIAkJCWUrKzsKIAkJfQotCQllID0gMDsKLQkJc19lID0g MDsKIAogCQlzcGluX2xvY2tfYmgobG9jayk7CiAJCWxpc3RfZm9yX2VhY2hfZW50cnkobWZjLCAm bXJ0LT5tZmNfdW5yZXNfcXVldWUsIGxpc3QpIHsKLS0gCjIuMTkuMQoKCkZyb20gYWFhZTFlNGZm NWVkYjJmNDFiZDA2ZmQ0MTA0MmJmNzUzM2JhNmU5YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogSHV5IE5ndXllbiA8aHV5bkBtZWxsYW5veC5jb20+CkRhdGU6IFR1ZSwgMTEgU2VwIDIw MTggMTQ6NTg6MjIgLTA1MDAKU3ViamVjdDogW1BBVENIIDI1LzM5XSBuZXQvbWx4NTogVGFrZSBv bmx5IGJpdCAyNC0yNiBvZiB3cWUucGZ0eXBlX3dxIGZvciBwYWdlCiBmYXVsdCB0eXBlCgpbIFVw c3RyZWFtIGNvbW1pdCBhNDhiYzUxMzE1OWQ0NzY3Zjk5ODhmMGQ4NTdiMmIwYzM4YTRkNjE0IF0K ClRoZSBIVyBzcGVjIGRlZmluZXMgb25seSBiaXRzIDI0LTI2IG9mIHBmdHlwZV93cSBhcyB0aGUg cGFnZSBmYXVsdCB0eXBlLAp1c2UgdGhlIHJlcXVpcmVkIG1hc2sgdG8gZW5zdXJlIHRoYXQuCgpG aXhlczogZDlhYWVkODM4NzY1ICgie25ldCxJQn0vbWx4NTogUmVmYWN0b3IgcGFnZSBmYXVsdCBo YW5kbGluZyIpClNpZ25lZC1vZmYtYnk6IEh1eSBOZ3V5ZW4gPGh1eW5AbWVsbGFub3guY29tPgpT aWduZWQtb2ZmLWJ5OiBFbGkgQ29oZW4gPGVsaUBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6 IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPgotLS0KIGRyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lcS5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEg aW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VxLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxs YW5veC9tbHg1L2NvcmUvZXEuYwppbmRleCA0MDZjMjM4NjJmNWYuLjAxY2NjODIwMTA1MiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VxLmMKKysr IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VxLmMKQEAgLTI2OSw3 ICsyNjksNyBAQCBzdGF0aWMgdm9pZCBlcV9wZl9wcm9jZXNzKHN0cnVjdCBtbHg1X2VxICplcSkK IAkJY2FzZSBNTFg1X1BGQVVMVF9TVUJUWVBFX1dRRToKIAkJCS8qIFdRRSBiYXNlZCBldmVudCAq LwogCQkJcGZhdWx0LT50eXBlID0KLQkJCQliZTMyX3RvX2NwdShwZl9lcWUtPndxZS5wZnR5cGVf d3EpID4+IDI0OworCQkJCShiZTMyX3RvX2NwdShwZl9lcWUtPndxZS5wZnR5cGVfd3EpID4+IDI0 KSAmIDB4NzsKIAkJCXBmYXVsdC0+dG9rZW4gPQogCQkJCWJlMzJfdG9fY3B1KHBmX2VxZS0+d3Fl LnRva2VuKTsKIAkJCXBmYXVsdC0+d3FlLndxX251bSA9Ci0tIAoyLjE5LjEKCgpGcm9tIDgyYWNm YzZiNWZhMmVkNmVlY2Q1ODQ4YWZhYzUyYWNmODFkMGQwNGIgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEZsb3JpYW4gRmFpbmVsbGkgPGYuZmFpbmVsbGlAZ21haWwuY29tPgpEYXRlOiBU aHUsIDExIE9jdCAyMDE4IDE1OjA2OjMzIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAyNi8zOV0gbmV0 OiBiY21nZW5ldDogUG9sbCBpbnRlcm5hbCBQSFkgZm9yIEdFTkVUdjUKClsgVXBzdHJlYW0gY29t bWl0IDY0YmQ5YzgxMzU3NTFiNTYxZjI3ZWRhYWZmZTkzZDA3MDkzZjgxYWYgXQoKT24gR0VORVR2 NSwgdGhlcmUgaXMgYSBoYXJkd2FyZSBpc3N1ZSB3aGljaCBwcmV2ZW50cyB0aGUgR0VORVQgaGFy ZHdhcmUKZnJvbSBnZW5lcmF0aW5nIGEgbGluayBVUCBpbnRlcnJ1cHQgd2hlbiB0aGUgbGluayBp cyBvcGVyYXRpbmcgYXQKMTBNYml0cy9zZWMuIFNpbmNlIHdlIGRvIG5vdCBoYXZlIGFueSB3YXkg dG8gY29uZmlndXJlIHRoZSBsaW5rCmRldGVjdGlvbiBsb2dpYywgZmFsbGJhY2sgdG8gcG9sbGlu ZyBpbiB0aGF0IGNhc2UuCgpGaXhlczogNDIxMzgwODU2ZDljICgibmV0OiBiY21nZW5ldDogYWRk IHN1cHBvcnQgZm9yIHRoZSBHRU5FVHY1IGhhcmR3YXJlIikKU2lnbmVkLW9mZi1ieTogRmxvcmlh biBGYWluZWxsaSA8Zi5mYWluZWxsaUBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMu IE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9i cm9hZGNvbS9nZW5ldC9iY21taWkuYyB8IDcgKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5z ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhl cm5ldC9icm9hZGNvbS9nZW5ldC9iY21taWkuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2Fk Y29tL2dlbmV0L2JjbW1paS5jCmluZGV4IDQyNDFhZTkyOGQ0YS4uMzRhZjVmMTU2OWM4IDEwMDY0 NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9nZW5ldC9iY21taWkuYworKysg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9nZW5ldC9iY21taWkuYwpAQCAtMzIxLDkg KzMyMSwxMiBAQCBpbnQgYmNtZ2VuZXRfbWlpX3Byb2JlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYp CiAJcGh5ZGV2LT5hZHZlcnRpc2luZyA9IHBoeWRldi0+c3VwcG9ydGVkOwogCiAJLyogVGhlIGlu dGVybmFsIFBIWSBoYXMgaXRzIGxpbmsgaW50ZXJydXB0cyByb3V0ZWQgdG8gdGhlCi0JICogRXRo ZXJuZXQgTUFDIElTUnMKKwkgKiBFdGhlcm5ldCBNQUMgSVNScy4gT24gR0VORVR2NSB0aGVyZSBp cyBhIGhhcmR3YXJlIGlzc3VlCisJICogdGhhdCBwcmV2ZW50cyB0aGUgc2lnbmFsaW5nIG9mIGxp bmsgVVAgaW50ZXJydXB0cyB3aGVuCisJICogdGhlIGxpbmsgb3BlcmF0ZXMgYXQgMTBNYnBzLCBz byBmYWxsYmFjayB0byBwb2xsaW5nIGZvcgorCSAqIHRob3NlIHZlcnNpb25zIG9mIEdFTkVULgog CSAqLwotCWlmIChwcml2LT5pbnRlcm5hbF9waHkpCisJaWYgKHByaXYtPmludGVybmFsX3BoeSAm JiAhR0VORVRfSVNfVjUocHJpdikpCiAJCWRldi0+cGh5ZGV2LT5pcnEgPSBQSFlfSUdOT1JFX0lO VEVSUlVQVDsKIAogCXJldHVybiAwOwotLSAKMi4xOS4xCgoKRnJvbSBmZjA1ZWQyYjc3NGQxMGIw ZGExY2I1MTY2MWQ5NjM0Zjg5NTE0MmMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQ aGlsIFN1dHRlciA8cGhpbEBud2wuY2M+CkRhdGU6IFRodSwgMTggT2N0IDIwMTggMTA6MzQ6MjYg KzAyMDAKU3ViamVjdDogW1BBVENIIDI3LzM5XSBuZXQ6IHNjaGVkOiBGaXggZm9yIGR1cGxpY2F0 ZSBjbGFzcyBkdW1wCgpbIFVwc3RyZWFtIGNvbW1pdCAzYzUzZWQ4ZmVmNjg4MWE4NjRmMGVlODI0 MGVkMjc5M2VmNzNhZDBkIF0KCldoZW4gZHVtcGluZyBjbGFzc2VzIGJ5IHBhcmVudCwga2VybmVs IHdvdWxkIHJldHVybiBjbGFzc2VzIHR3aWNlOgoKfCAjIHRjIHFkaXNjIGFkZCBkZXYgbG8gcm9v dCBwcmlvCnwgIyB0YyBjbGFzcyBzaG93IGRldiBsbwp8IGNsYXNzIHByaW8gODAwMToxIHBhcmVu dCA4MDAxOgp8IGNsYXNzIHByaW8gODAwMToyIHBhcmVudCA4MDAxOgp8IGNsYXNzIHByaW8gODAw MTozIHBhcmVudCA4MDAxOgp8ICMgdGMgY2xhc3Mgc2hvdyBkZXYgbG8gcGFyZW50IDgwMDE6Cnwg Y2xhc3MgcHJpbyA4MDAxOjEgcGFyZW50IDgwMDE6CnwgY2xhc3MgcHJpbyA4MDAxOjIgcGFyZW50 IDgwMDE6CnwgY2xhc3MgcHJpbyA4MDAxOjMgcGFyZW50IDgwMDE6CnwgY2xhc3MgcHJpbyA4MDAx OjEgcGFyZW50IDgwMDE6CnwgY2xhc3MgcHJpbyA4MDAxOjIgcGFyZW50IDgwMDE6CnwgY2xhc3Mg cHJpbyA4MDAxOjMgcGFyZW50IDgwMDE6CgpUaGlzIGNvbWVzIGZyb20gcWRpc2NfbWF0Y2hfZnJv bV9yb290KCkgcG90ZW50aWFsbHkgcmV0dXJuaW5nIHRoZSByb290CnFkaXNjIGl0c2VsZiBpZiBp dHMgaGFuZGxlIG1hdGNoZWQuIFRob3VnaCBpbiB0aGF0IGNhc2UsIHJvb3QncyBjbGFzc2VzCndl cmUgYWxyZWFkeSBkdW1wZWQgYSBmZXcgbGluZXMgYWJvdmUuCgpGaXhlczogY2IzOTViMjAxMDg3 OSAoIm5ldDogc2NoZWQ6IG9wdGltaXplIGNsYXNzIGR1bXBzIikKU2lnbmVkLW9mZi1ieTogUGhp bCBTdXR0ZXIgPHBoaWxAbndsLmNjPgpSZXZpZXdlZC1ieTogSmlyaSBQaXJrbyA8amlyaUBtZWxs YW5veC5jb20+ClJldmlld2VkLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0t CiBuZXQvc2NoZWQvc2NoX2FwaS5jIHwgMyArKy0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvc2NoX2FwaS5jIGIv bmV0L3NjaGVkL3NjaF9hcGkuYwppbmRleCA5OWNjMjVhYWU1MDMuLjU3ZjcxNzY1ZmViZSAxMDA2 NDQKLS0tIGEvbmV0L3NjaGVkL3NjaF9hcGkuYworKysgYi9uZXQvc2NoZWQvc2NoX2FwaS5jCkBA IC0yMDUyLDcgKzIwNTIsOCBAQCBzdGF0aWMgaW50IHRjX2R1bXBfdGNsYXNzX3Jvb3Qoc3RydWN0 IFFkaXNjICpyb290LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCiAJaWYgKHRjbS0+dGNtX3BhcmVu dCkgewogCQlxID0gcWRpc2NfbWF0Y2hfZnJvbV9yb290KHJvb3QsIFRDX0hfTUFKKHRjbS0+dGNt X3BhcmVudCkpOwotCQlpZiAocSAmJiB0Y19kdW1wX3RjbGFzc19xZGlzYyhxLCBza2IsIHRjbSwg Y2IsIHRfcCwgc190KSA8IDApCisJCWlmIChxICYmIHEgIT0gcm9vdCAmJgorCQkgICAgdGNfZHVt cF90Y2xhc3NfcWRpc2MocSwgc2tiLCB0Y20sIGNiLCB0X3AsIHNfdCkgPCAwKQogCQkJcmV0dXJu IC0xOwogCQlyZXR1cm4gMDsKIAl9Ci0tIAoyLjE5LjEKCgpGcm9tIDQwNGRiNmEyNDAwYjE3ZDVl ODUwZjg4NjdkZmJhMTk5OThiNTkyNDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IERh dmlkZSBDYXJhdHRpIDxkY2FyYXR0aUByZWRoYXQuY29tPgpEYXRlOiBXZWQsIDEwIE9jdCAyMDE4 IDIyOjAwOjU4ICswMjAwClN1YmplY3Q6IFtQQVRDSCAyOC8zOV0gbmV0L3NjaGVkOiBjbHNfYXBp OiBhZGQgbWlzc2luZyB2YWxpZGF0aW9uIG9mIG5ldGxpbmsKIGF0dHJpYnV0ZXMKClsgVXBzdHJl YW0gY29tbWl0IGUzMzE0NzNmZWUzZDUwMGJiMGQyNTgyYTFmZTU5OGRmMzMyNmQ4Y2QgXQoKU2lt aWxhcmx5IHRvIHdoYXQgaGFzIGJlZW4gZG9uZSBpbiA4YjRjM2NkZDlkZDggKCJuZXQ6IHNjaGVk OiBBZGQgcG9saWN5CnZhbGlkYXRpb24gZm9yIHRjIGF0dHJpYnV0ZXMiKSwgZml4IGNsYXNzaWZp ZXIgY29kZSB0byBhZGQgdmFsaWRhdGlvbiBvZgpUQ0FfQ0hBSU4gYW5kIFRDQV9LSU5EIG5ldGxp bmsgYXR0cmlidXRlcy4KCnRlc3RlZCB3aXRoOgogIyAuL3RkYy5weSAtYyBmaWx0ZXIKCnYyOiBM ZXQgc2NoX2FwaSBhbmQgY2xzX2FwaSBzaGFyZSBubGFfcG9saWN5IHRoZXkgaGF2ZSBpbiBjb21t b24sIHRoYW5rcwogICAgdG8gRGF2aWQgQWhlcm4uCnYzOiBBdm9pZCBFWFBPUlRfU1lNQk9MKCks IGFzIHZhbGlkYXRpb24gb2YgdGhvc2UgYXR0cmlidXRlcyBpcyBub3QgZG9uZQogICAgYnkgVEMg bW9kdWxlcywgdGhhbmtzIHRvIENvbmcgV2FuZy4KICAgIFdoaWxlIGF0IGl0LCByZXN0b3JlIHRo ZSAnRGVsZXRlIC8gZ2V0IHFkaXNjJyBjb21tZW50IHRvIGl0cyBvcmdpbmFsCiAgICBwb3NpdGlv biwganVzdCBhYm92ZSB0Y19nZXRfcWRpc2MoKSBmdW5jdGlvbiBwcm90b3R5cGUuCgpGaXhlczog NWJjMTcwMTg4MWUzOSAoIm5ldDogc2NoZWQ6IGludHJvZHVjZSBtdWx0aWNoYWluIHN1cHBvcnQg Zm9yIGZpbHRlcnMiKQpTaWduZWQtb2ZmLWJ5OiBEYXZpZGUgQ2FyYXR0aSA8ZGNhcmF0dGlAcmVk aGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIG5ldC9zY2hlZC9jbHNfYXBpLmMgfCAxMSArKysrKysrLS0tLQogMSBmaWxlIGNo YW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQv c2NoZWQvY2xzX2FwaS5jIGIvbmV0L3NjaGVkL2Nsc19hcGkuYwppbmRleCBmNzQ1MTNhN2M3YTgu LmM4NTVmZDA0NWEzYyAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL2Nsc19hcGkuYworKysgYi9uZXQv c2NoZWQvY2xzX2FwaS5jCkBAIC0zMSw2ICszMSw4IEBACiAjaW5jbHVkZSA8bmV0L3BrdF9zY2hl ZC5oPgogI2luY2x1ZGUgPG5ldC9wa3RfY2xzLmg+CiAKK2V4dGVybiBjb25zdCBzdHJ1Y3Qgbmxh X3BvbGljeSBydG1fdGNhX3BvbGljeVtUQ0FfTUFYICsgMV07CisKIC8qIFRoZSBsaXN0IG9mIGFs bCBpbnN0YWxsZWQgY2xhc3NpZmllciB0eXBlcyAqLwogc3RhdGljIExJU1RfSEVBRCh0Y2ZfcHJv dG9fYmFzZSk7CiAKQEAgLTEwODMsNyArMTA4NSw3IEBAIHN0YXRpYyBpbnQgdGNfbmV3X3RmaWx0 ZXIoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5sbXNnaGRyICpuLAogcmVwbGF5OgogCXRw X2NyZWF0ZWQgPSAwOwogCi0JZXJyID0gbmxtc2dfcGFyc2Uobiwgc2l6ZW9mKCp0KSwgdGNhLCBU Q0FfTUFYLCBOVUxMLCBleHRhY2spOworCWVyciA9IG5sbXNnX3BhcnNlKG4sIHNpemVvZigqdCks IHRjYSwgVENBX01BWCwgcnRtX3RjYV9wb2xpY3ksIGV4dGFjayk7CiAJaWYgKGVyciA8IDApCiAJ CXJldHVybiBlcnI7CiAKQEAgLTEyMjYsNyArMTIyOCw3IEBAIHN0YXRpYyBpbnQgdGNfZGVsX3Rm aWx0ZXIoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5sbXNnaGRyICpuLAogCWlmICghbmV0 bGlua19uc19jYXBhYmxlKHNrYiwgbmV0LT51c2VyX25zLCBDQVBfTkVUX0FETUlOKSkKIAkJcmV0 dXJuIC1FUEVSTTsKIAotCWVyciA9IG5sbXNnX3BhcnNlKG4sIHNpemVvZigqdCksIHRjYSwgVENB X01BWCwgTlVMTCwgZXh0YWNrKTsKKwllcnIgPSBubG1zZ19wYXJzZShuLCBzaXplb2YoKnQpLCB0 Y2EsIFRDQV9NQVgsIHJ0bV90Y2FfcG9saWN5LCBleHRhY2spOwogCWlmIChlcnIgPCAwKQogCQly ZXR1cm4gZXJyOwogCkBAIC0xMzM0LDcgKzEzMzYsNyBAQCBzdGF0aWMgaW50IHRjX2dldF90Zmls dGVyKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBubG1zZ2hkciAqbiwKIAl2b2lkICpmaCA9 IE5VTEw7CiAJaW50IGVycjsKIAotCWVyciA9IG5sbXNnX3BhcnNlKG4sIHNpemVvZigqdCksIHRj YSwgVENBX01BWCwgTlVMTCwgZXh0YWNrKTsKKwllcnIgPSBubG1zZ19wYXJzZShuLCBzaXplb2Yo KnQpLCB0Y2EsIFRDQV9NQVgsIHJ0bV90Y2FfcG9saWN5LCBleHRhY2spOwogCWlmIChlcnIgPCAw KQogCQlyZXR1cm4gZXJyOwogCkBAIC0xNDg4LDcgKzE0OTAsOCBAQCBzdGF0aWMgaW50IHRjX2R1 bXBfdGZpbHRlcihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmV0bGlua19jYWxsYmFjayAq Y2IpCiAJaWYgKG5sbXNnX2xlbihjYi0+bmxoKSA8IHNpemVvZigqdGNtKSkKIAkJcmV0dXJuIHNr Yi0+bGVuOwogCi0JZXJyID0gbmxtc2dfcGFyc2UoY2ItPm5saCwgc2l6ZW9mKCp0Y20pLCB0Y2Es IFRDQV9NQVgsIE5VTEwsIE5VTEwpOworCWVyciA9IG5sbXNnX3BhcnNlKGNiLT5ubGgsIHNpemVv ZigqdGNtKSwgdGNhLCBUQ0FfTUFYLCBydG1fdGNhX3BvbGljeSwKKwkJCSAgTlVMTCk7CiAJaWYg KGVycikKIAkJcmV0dXJuIGVycjsKIAotLSAKMi4xOS4xCgoKRnJvbSBhM2QzOTkyOTQ1ZjUyZWUw MDIzNmM1M2VhMTI4NTE0OGQzOTRlNzA3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBE YXZpZCBBaGVybiA8ZHNhaGVybkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjQgT2N0IDIwMTggMTM6 NTg6MzkgLTA3MDAKU3ViamVjdDogW1BBVENIIDI5LzM5XSBuZXQvaXB2NjogQWxsb3cgb25saW5r IHJvdXRlcyB0byBoYXZlIGEgZGV2aWNlIG1pc21hdGNoCiBpZiBpdCBpcyB0aGUgZGVmYXVsdCBy b3V0ZQoKWyBVcHN0cmVhbSBjb21taXQgNGVkNTkxYzhhYjQ0ZTcxMWU1NmI4ZTAyMWZmYWY0ZjQw N2MwNDVmNSBdCgpUaGUgaW50ZW50IG9mIGlwNl9yb3V0ZV9jaGVja19uaF9vbmxpbmsgaXMgdG8g bWFrZSBzdXJlIHRoZSBnYXRld2F5CmdpdmVuIGZvciBhbiBvbmxpbmsgcm91dGUgaXMgbm90IGFj dHVhbGx5IG9uIGEgY29ubmVjdGVkIHJvdXRlIGZvcgphIGRpZmZlcmVudCBpbnRlcmZhY2UgKGUu Zy4sIDIwMDE6ZGI4OjE6Oi82NCBpcyBvbiBkZXYgZXRoMSBhbmQgdGhlbgphbiBvbmxpbmsgcm91 dGUgaGFzIGEgdmlhIDIwMDE6ZGI4OjE6OjEgZGV2IGV0aDIpLiBJZiB0aGUgZ2F0ZXdheQpsb29r dXAgaGl0cyB0aGUgZGVmYXVsdCByb3V0ZSB0aGVuIGl0IG1vc3QgbGlrZWx5IHdpbGwgYmUgYSBk aWZmZXJlbnQKaW50ZXJmYWNlIHRoYW4gdGhlIG9ubGluayByb3V0ZSB3aGljaCBpcyBvay4KClVw ZGF0ZSBpcDZfcm91dGVfY2hlY2tfbmhfb25saW5rIHRvIGRpc3JlZ2FyZCB0aGUgZGV2aWNlIG1p c21hdGNoCmlmIHRoZSBnYXRld2F5IGxvb2t1cCBoaXRzIHRoZSBkZWZhdWx0IHJvdXRlLiBUdXJu cyBvdXQgdGhlIGV4aXN0aW5nCm9ubGluayB0ZXN0cyBhcmUgcGFzc2luZyBiZWNhdXNlIHRoZXJl IGlzIG5vIGRlZmF1bHQgcm91dGUgb3IgaXQgaXMKYW4gdW5yZWFjaGFibGUgZGVmYXVsdCwgc28g dXBkYXRlIHRoZSBvbmxpbmsgdGVzdHMgdG8gaGF2ZSBhIGRlZmF1bHQKcm91dGUgb3RoZXIgdGhh biB1bnJlYWNoYWJsZS4KCkZpeGVzOiBmYzFlNjRlMTA5MmY2ICgibmV0L2lwdjY6IEFkZCBzdXBw b3J0IGZvciBvbmxpbmsgZmxhZyIpClNpZ25lZC1vZmYtYnk6IERhdmlkIEFoZXJuIDxkc2FoZXJu QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIG5ldC9pcHY2L3JvdXRlLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDIgKysKIHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9maWItb25saW5rLXRlc3Rz LnNoIHwgMTQgKysrKysrKy0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCsp LCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY2L3JvdXRlLmMgYi9uZXQvaXB2 Ni9yb3V0ZS5jCmluZGV4IGQ5ZTg5NjBlNThkMy4uYTI0M2Q1MjQ5YjUxIDEwMDY0NAotLS0gYS9u ZXQvaXB2Ni9yb3V0ZS5jCisrKyBiL25ldC9pcHY2L3JvdXRlLmMKQEAgLTI3OTIsNiArMjc5Miw4 IEBAIHN0YXRpYyBpbnQgaXA2X3JvdXRlX2NoZWNrX25oX29ubGluayhzdHJ1Y3QgbmV0ICpuZXQs CiAJZ3J0ID0gaXA2X25oX2xvb2t1cF90YWJsZShuZXQsIGNmZywgZ3dfYWRkciwgdGJpZCwgMCk7 CiAJaWYgKGdydCkgewogCQlpZiAoIWdydC0+ZHN0LmVycm9yICYmCisJCSAgICAvKiBpZ25vcmUg bWF0Y2ggaWYgaXQgaXMgdGhlIGRlZmF1bHQgcm91dGUgKi8KKwkJICAgIGdydC0+ZnJvbSAmJiAh aXB2Nl9hZGRyX2FueSgmZ3J0LT5mcm9tLT5maWI2X2RzdC5hZGRyKSAmJgogCQkgICAgKGdydC0+ cnQ2aV9mbGFncyAmIGZsYWdzIHx8IGRldiAhPSBncnQtPmRzdC5kZXYpKSB7CiAJCQlOTF9TRVRf RVJSX01TRyhleHRhY2ssCiAJCQkJICAgICAgICJOZXh0aG9wIGhhcyBpbnZhbGlkIGdhdGV3YXkg b3IgZGV2aWNlIG1pc21hdGNoIik7CmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0 cy9uZXQvZmliLW9ubGluay10ZXN0cy5zaCBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9m aWItb25saW5rLXRlc3RzLnNoCmluZGV4IDM5OTFhZDFhMzY4ZC4uODY0Zjg2NWVlZTU1IDEwMDc1 NQotLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvZmliLW9ubGluay10ZXN0cy5zaAor KysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvZmliLW9ubGluay10ZXN0cy5zaApAQCAt MTY3LDggKzE2Nyw4IEBAIHNldHVwKCkKIAkjIGFkZCB2cmYgdGFibGUKIAlpcCBsaSBhZGQgJHtW UkZ9IHR5cGUgdnJmIHRhYmxlICR7VlJGX1RBQkxFfQogCWlwIGxpIHNldCAke1ZSRn0gdXAKLQlp cCBybyBhZGQgdGFibGUgJHtWUkZfVEFCTEV9IHVucmVhY2hhYmxlIGRlZmF1bHQKLQlpcCAtNiBy byBhZGQgdGFibGUgJHtWUkZfVEFCTEV9IHVucmVhY2hhYmxlIGRlZmF1bHQKKwlpcCBybyBhZGQg dGFibGUgJHtWUkZfVEFCTEV9IHVucmVhY2hhYmxlIGRlZmF1bHQgbWV0cmljIDgxOTIKKwlpcCAt NiBybyBhZGQgdGFibGUgJHtWUkZfVEFCTEV9IHVucmVhY2hhYmxlIGRlZmF1bHQgbWV0cmljIDgx OTIKIAogCSMgY3JlYXRlIHRlc3QgaW50ZXJmYWNlcwogCWlwIGxpIGFkZCAke05FVElGU1twMV19 IHR5cGUgdmV0aCBwZWVyIG5hbWUgJHtORVRJRlNbcDJdfQpAQCAtMTg1LDIwICsxODUsMjAgQEAg c2V0dXAoKQogCWZvciBuIGluIDEgMyA1IDc7IGRvCiAJCWlwIGxpIHNldCAke05FVElGU1twJHtu fV19IHVwCiAJCWlwIGFkZHIgYWRkICR7VjRBRERSU1twJHtufV19LzI0IGRldiAke05FVElGU1tw JHtufV19Ci0JCWlwIGFkZHIgYWRkICR7VjZBRERSU1twJHtufV19LzY0IGRldiAke05FVElGU1tw JHtufV19CisJCWlwIGFkZHIgYWRkICR7VjZBRERSU1twJHtufV19LzY0IGRldiAke05FVElGU1tw JHtufV19IG5vZGFkCiAJZG9uZQogCiAJIyBtb3ZlIHBlZXIgaW50ZXJmYWNlcyB0byBuYW1lc3Bh Y2UgYW5kIGFkZCBhZGRyZXNzZXMKIAlmb3IgbiBpbiAyIDQgNiA4OyBkbwogCQlpcCBsaSBzZXQg JHtORVRJRlNbcCR7bn1dfSBuZXRucyAke1BFRVJfTlN9IHVwCiAJCWlwIC1uZXRucyAke1BFRVJf TlN9IGFkZHIgYWRkICR7VjRBRERSU1twJHtufV19LzI0IGRldiAke05FVElGU1twJHtufV19Ci0J CWlwIC1uZXRucyAke1BFRVJfTlN9IGFkZHIgYWRkICR7VjZBRERSU1twJHtufV19LzY0IGRldiAk e05FVElGU1twJHtufV19CisJCWlwIC1uZXRucyAke1BFRVJfTlN9IGFkZHIgYWRkICR7VjZBRERS U1twJHtufV19LzY0IGRldiAke05FVElGU1twJHtufV19IG5vZGFkCiAJZG9uZQogCi0Jc2V0ICtl CisJaXAgLTYgcm8gYWRkIGRlZmF1bHQgdmlhICR7VjZBRERSU1twM10vOjpbMC05XS86OjY0fQor CWlwIC02IHJvIGFkZCB0YWJsZSAke1ZSRl9UQUJMRX0gZGVmYXVsdCB2aWEgJHtWNkFERFJTW3A3 XS86OlswLTldLzo6NjR9CiAKLQkjIGxldCBEQUQgY29tcGxldGUgLSBhc3N1bWUgZGVmYXVsdCBv ZiAxIHByb2JlCi0Jc2xlZXAgMQorCXNldCArZQogfQogCiBjbGVhbnVwKCkKLS0gCjIuMTkuMQoK CkZyb20gNDlhMTE2YzU3ZTU4YTQwOWMwZjY5ZTdhOGRjZTRiMjAxYjliYWFiOSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogWGluIExvbmcgPGx1Y2llbi54aW5AZ21haWwuY29tPgpEYXRl OiBXZWQsIDE3IE9jdCAyMDE4IDIxOjExOjI3ICswODAwClN1YmplY3Q6IFtQQVRDSCAzMC8zOV0g c2N0cDogZml4IHRoZSBkYXRhIHNpemUgY2FsY3VsYXRpb24gaW4gc2N0cF9kYXRhX3NpemUKClsg VXBzdHJlYW0gY29tbWl0IDU2NjBiOWQ5ZDZhMjljMmMzY2MxMmY2MmFlNDRiZmI1NmIwYTE1YTkg XQoKc2N0cCBkYXRhIHNpemUgc2hvdWxkIGJlIGNhbGN1bGF0ZWQgYnkgc3VidHJhY3RpbmcgZGF0 YSBjaHVuayBoZWFkZXIncwpsZW5ndGggZnJvbSBjaHVua19oZHItPmxlbmd0aCwgbm90IGp1c3Qg ZGF0YSBoZWFkZXIuCgpGaXhlczogNjY4YzliZWI5MDIwICgic2N0cDogaW1wbGVtZW50IGFzc2ln bl9udW1iZXIgZm9yIHNjdHBfc3RyZWFtX2ludGVybGVhdmUiKQpTaWduZWQtb2ZmLWJ5OiBYaW4g TG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+CkFja2VkLWJ5OiBNYXJjZWxvIFJpY2FyZG8gTGVp dG5lciA8bWFyY2Vsby5sZWl0bmVyQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4g TWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGluY2x1ZGUvbmV0L3NjdHAvc20uaCB8 IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvbmV0L3NjdHAvc20uaCBiL2luY2x1ZGUvbmV0L3NjdHAvc20uaApp bmRleCA1ZWYxYmFkODFlZjUuLjllM2QzMjc0NjQzMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9uZXQv c2N0cC9zbS5oCisrKyBiL2luY2x1ZGUvbmV0L3NjdHAvc20uaApAQCAtMzQ3LDcgKzM0Nyw3IEBA IHN0YXRpYyBpbmxpbmUgX191MTYgc2N0cF9kYXRhX3NpemUoc3RydWN0IHNjdHBfY2h1bmsgKmNo dW5rKQogCV9fdTE2IHNpemU7CiAKIAlzaXplID0gbnRvaHMoY2h1bmstPmNodW5rX2hkci0+bGVu Z3RoKTsKLQlzaXplIC09IHNjdHBfZGF0YWhkcl9sZW4oJmNodW5rLT5hc29jLT5zdHJlYW0pOwor CXNpemUgLT0gc2N0cF9kYXRhY2hrX2xlbigmY2h1bmstPmFzb2MtPnN0cmVhbSk7CiAKIAlyZXR1 cm4gc2l6ZTsKIH0KLS0gCjIuMTkuMQoKCkZyb20gOWI0NDE4N2UyMjdhNjBjOTRiMzUxNzdhYjNk ZWM0OGZjYzliMmQ0MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogWGluIExvbmcgPGx1 Y2llbi54aW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDE3IE9jdCAyMDE4IDAzOjA2OjEyICswODAw ClN1YmplY3Q6IFtQQVRDSCAzMS8zOV0gc2N0cDogbm90IGZyZWUgdGhlIG5ldyBhc29jIHdoZW4g c2N0cF93YWl0X2Zvcl9jb25uZWN0CiByZXR1cm5zIGVycgoKWyBVcHN0cmVhbSBjb21taXQgYzg2 Mzg1MGNlMjJlMWIwYmIzNjVkNDljYWRmNTFmNDc2NTE1M2FlNCBdCgpXaGVuIHNjdHBfd2FpdF9m b3JfY29ubmVjdCBpcyBjYWxsZWQgdG8gd2FpdCBmb3IgY29ubmVjdCByZWFkeQpmb3Igc3AtPnN0 cm1faW50ZXJsZWF2ZSBpbiBzY3RwX3NlbmRtc2dfdG9fYXNvYywgYSBwYW5pYyBjb3VsZApiZSB0 cmlnZ2VyZWQgaWYgY3B1IGlzIHNjaGVkdWxlZCBvdXQgYW5kIHRoZSBuZXcgYXNvYyBpcyBmcmVl ZAplbHNld2hlcmUsIGFzIGl0IHdpbGwgcmV0dXJuIGVyciBhbmQgbGF0ZXIgdGhlIGFzb2MgZ2V0 cyBmcmVlZAphZ2FpbiBpbiBzY3RwX3NlbmRtc2cuCgpbICAyODUuODQwNzY0XSBsaXN0X2RlbCBj b3JydXB0aW9uLCBmZmZmOWYwZjdiMjg0MDc4LT5uZXh0IGlzIExJU1RfUE9JU09OMSAoZGVhZDAw MDAwMDAwMDEwMCkKWyAgMjg1Ljg0MzU5MF0gV0FSTklORzogQ1BVOiAxIFBJRDogODg2MSBhdCBs aWIvbGlzdF9kZWJ1Zy5jOjQ3IF9fbGlzdF9kZWxfZW50cnlfdmFsaWQrMHg1MC8weGEwClsgIDI4 NS44NDYxOTNdIEtlcm5lbCBwYW5pYyAtIG5vdCBzeW5jaW5nOiBwYW5pY19vbl93YXJuIHNldCAu Li4KWyAgMjg1Ljg0NjE5M10KWyAgMjg1Ljg0ODIwNl0gQ1BVOiAxIFBJRDogODg2MSBDb21tOiBz Y3RwX25kYXRhIEtkdW1wOiBsb2FkZWQgTm90IHRhaW50ZWQgNC4xOS4wLXJjNy5sYWJlbCAjNTg0 ClsgIDI4NS44NTA1NTldIEhhcmR3YXJlIG5hbWU6IFJlZCBIYXQgS1ZNLCBCSU9TIDAuNS4xIDAx LzAxLzIwMTEKWyAgMjg1Ljg1MjE2NF0gQ2FsbCBUcmFjZToKLi4uClsgIDI4NS44NzIyMTBdICA/ IF9fbGlzdF9kZWxfZW50cnlfdmFsaWQrMHg1MC8weGEwClsgIDI4NS44NzI4OTRdICBzY3RwX2Fz c29jaWF0aW9uX2ZyZWUrMHg0Mi8weDJkMCBbc2N0cF0KWyAgMjg1Ljg3MzYxMl0gIHNjdHBfc2Vu ZG1zZysweDVhNC8weDZiMCBbc2N0cF0KWyAgMjg1Ljg3NDIzNl0gIHNvY2tfc2VuZG1zZysweDMw LzB4NDAKWyAgMjg1Ljg3NDc0MV0gIF9fX3N5c19zZW5kbXNnKzB4MjdhLzB4MjkwClsgIDI4NS44 NzUzMDRdICA/IF9fc3dpdGNoX3RvX2FzbSsweDM0LzB4NzAKWyAgMjg1Ljg3NTg3Ml0gID8gX19z d2l0Y2hfdG9fYXNtKzB4NDAvMHg3MApbICAyODUuODc2NDM4XSAgPyBwdGVwX3NldF9hY2Nlc3Nf ZmxhZ3MrMHgyYS8weDMwClsgIDI4NS44NzcwODNdICA/IGRvX3dwX3BhZ2UrMHgxNTEvMHg1NDAK WyAgMjg1Ljg3NzYxNF0gIF9fc3lzX3NlbmRtc2crMHg1OC8weGEwClsgIDI4NS44NzgxMzhdICBk b19zeXNjYWxsXzY0KzB4NTUvMHgxODAKWyAgMjg1Ljg3ODY2OV0gIGVudHJ5X1NZU0NBTExfNjRf YWZ0ZXJfaHdmcmFtZSsweDQ0LzB4YTkKClRoaXMgaXMgYSBzaW1pbGFyIGlzc3VlIHdpdGggdGhl IG9uZSBmaXhlZCBpbiBDb21taXQgY2EzYWY0ZGQyOGNmCigic2N0cDogZG8gbm90IGZyZWUgYXNv YyB3aGVuIGl0IGlzIGFscmVhZHkgZGVhZCBpbiBzY3RwX3NlbmRtc2ciKS4KQnV0IHRoaXMgb25l IGNhbid0IGJlIGZpeGVkIGJ5IHJldHVybmluZyAtRVNSQ0ggZm9yIHRoZSBkZWFkIGFzb2MKaW4g c2N0cF93YWl0X2Zvcl9jb25uZWN0LCBhcyBpdCB3aWxsIGJyZWFrIHNjdHBfY29ubmVjdCdzIHJl dHVybgp2YWx1ZSB0byB1c2Vycy4KClRoaXMgcGF0Y2ggaXMgdG8gc2ltcGx5IHNldCBlcnIgdG8g LUVTUkNIIGJlZm9yZSBpdCByZXR1cm5zIHRvCnNjdHBfc2VuZG1zZyB3aGVuIGFueSBlcnIgaXMg cmV0dXJuZWQgYnkgc2N0cF93YWl0X2Zvcl9jb25uZWN0CmZvciBzcC0+c3RybV9pbnRlcmxlYXZl LCBzbyB0aGF0IG5vIGFzb2Mgd291bGQgYmUgZnJlZWQgZHVlIHRvCnRoaXMuCgpXaGVuIHVzZXJz IHNlZSB0aGlzIGVycm9yLCB0aGV5IHdpbGwga25vdyB0aGUgcGFja2V0IGhhc24ndCBiZWVuCnNl bnQuIEFuZCBpdCBhbHNvIG1ha2VzIHNlbnNlIHRvIG5vdCBmcmVlIGFzb2MgYmVjYXVzZSB3YWl0 aW5nCmNvbm5lY3QgZmFpbHMsIGxpa2UgdGhlIHNlY29uZCBjYWxsIGZvciBzY3RwX3dhaXRfZm9y X2Nvbm5lY3QgaW4Kc2N0cF9zZW5kbXNnX3RvX2Fzb2MuCgpGaXhlczogNjY4YzliZWI5MDIwICgi c2N0cDogaW1wbGVtZW50IGFzc2lnbl9udW1iZXIgZm9yIHNjdHBfc3RyZWFtX2ludGVybGVhdmUi KQpTaWduZWQtb2ZmLWJ5OiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+CkFja2VkLWJ5 OiBNYXJjZWxvIFJpY2FyZG8gTGVpdG5lciA8bWFyY2Vsby5sZWl0bmVyQGdtYWlsLmNvbT4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5l dC9zY3RwL3NvY2tldC5jIHwgNCArKystCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3NjdHAvc29ja2V0LmMgYi9uZXQvc2N0 cC9zb2NrZXQuYwppbmRleCBiMGY1MGE4ZThmYzYuLjlkOTAzYjg3MDc5MCAxMDA2NDQKLS0tIGEv bmV0L3NjdHAvc29ja2V0LmMKKysrIGIvbmV0L3NjdHAvc29ja2V0LmMKQEAgLTE5MzksOCArMTkz OSwxMCBAQCBzdGF0aWMgaW50IHNjdHBfc2VuZG1zZ190b19hc29jKHN0cnVjdCBzY3RwX2Fzc29j aWF0aW9uICphc29jLAogCQlpZiAoc3AtPnN0cm1faW50ZXJsZWF2ZSkgewogCQkJdGltZW8gPSBz b2NrX3NuZHRpbWVvKHNrLCAwKTsKIAkJCWVyciA9IHNjdHBfd2FpdF9mb3JfY29ubmVjdChhc29j LCAmdGltZW8pOwotCQkJaWYgKGVycikKKwkJCWlmIChlcnIpIHsKKwkJCQllcnIgPSAtRVNSQ0g7 CiAJCQkJZ290byBlcnI7CisJCQl9CiAJCX0gZWxzZSB7CiAJCQl3YWl0X2Nvbm5lY3QgPSB0cnVl OwogCQl9Ci0tIAoyLjE5LjEKCgpGcm9tIDU0ZGIwZDcwZjkzOTk4NzI4OTJiMzg2N2EzMWY5MDcy ODdlY2U5NzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFRhbGF0IEJhdGhlZXNoIDx0 YWxhdGJAbWVsbGFub3guY29tPgpEYXRlOiBUaHUsIDMwIEF1ZyAyMDE4IDE2OjMxOjUyICswMzAw ClN1YmplY3Q6IFtQQVRDSCAzMi8zOV0gbmV0L21seDU6IEZpeCBtZW1vcnkgbGVhayB3aGVuIHNl dHRpbmcgZnBnYSBpcHNlYyBjYXBzCgpbIFVwc3RyZWFtIGNvbW1pdCBmZDdlODQ4MDc3YzFhNDY2 YjkxODc1MzdhZGNlMTY2NThmN2NiOTRiIF0KCkFsbG9jYXRlZCBtZW1vcnkgZm9yIGNvbnRleHQg c2hvdWxkIGJlIGZyZWVkIG9uY2UKZmluaXNoZWQgd29ya2luZyB3aXRoIGl0LgoKRml4ZXM6IGQ2 YzRmMDI5OGNlYyAoIm5ldC9tbHg1OiBSZWZhY3RvciBhY2NlbCBJUFNlYyBjb2RlIikKU2lnbmVk LW9mZi1ieTogVGFsYXQgQmF0aGVlc2ggPHRhbGF0YkBtZWxsYW5veC5jb20+ClJldmlld2VkLWJ5 OiBPciBHZXJsaXR6IDxvZ2VybGl0ekBtZWxsYW5veC5jb20+ClJldmlld2VkLWJ5OiBUYXJpcSBU b3VrYW4gPHRhcmlxdEBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVk IDxzYWVlZG1AbWVsbGFub3guY29tPgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94 L21seDUvY29yZS9mcGdhL2lwc2VjLmMgfCA5ICsrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQg aW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZnBnYS9pcHNlYy5jIGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2ZwZ2EvaXBzZWMuYwppbmRleCA1NjQ1YTRmYWNhZDIu LmI4ZWU5MTAxYzUwNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gv bWx4NS9jb3JlL2ZwZ2EvaXBzZWMuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvZnBnYS9pcHNlYy5jCkBAIC0yNDUsNyArMjQ1LDcgQEAgc3RhdGljIHZvaWQg Km1seDVfZnBnYV9pcHNlY19jbWRfZXhlYyhzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqbWRldiwKIAkJ cmV0dXJuIEVSUl9QVFIocmVzKTsKIAl9CiAKLQkvKiBDb250ZXh0IHdpbGwgYmUgZnJlZWQgYnkg d2FpdCBmdW5jIGFmdGVyIGNvbXBsZXRpb24gKi8KKwkvKiBDb250ZXh0IHNob3VsZCBiZSBmcmVl ZCBieSB0aGUgY2FsbGVyIGFmdGVyIGNvbXBsZXRpb24uICovCiAJcmV0dXJuIGNvbnRleHQ7CiB9 CiAKQEAgLTQxOCwxMCArNDE4LDggQEAgc3RhdGljIGludCBtbHg1X2ZwZ2FfaXBzZWNfc2V0X2Nh cHMoc3RydWN0IG1seDVfY29yZV9kZXYgKm1kZXYsIHUzMiBmbGFncykKIAljbWQuY21kID0gaHRv bmwoTUxYNV9GUEdBX0lQU0VDX0NNRF9PUF9TRVRfQ0FQKTsKIAljbWQuZmxhZ3MgPSBodG9ubChm bGFncyk7CiAJY29udGV4dCA9IG1seDVfZnBnYV9pcHNlY19jbWRfZXhlYyhtZGV2LCAmY21kLCBz aXplb2YoY21kKSk7Ci0JaWYgKElTX0VSUihjb250ZXh0KSkgewotCQllcnIgPSBQVFJfRVJSKGNv bnRleHQpOwotCQlnb3RvIG91dDsKLQl9CisJaWYgKElTX0VSUihjb250ZXh0KSkKKwkJcmV0dXJu IFBUUl9FUlIoY29udGV4dCk7CiAKIAllcnIgPSBtbHg1X2ZwZ2FfaXBzZWNfY21kX3dhaXQoY29u dGV4dCk7CiAJaWYgKGVycikKQEAgLTQzNSw2ICs0MzMsNyBAQCBzdGF0aWMgaW50IG1seDVfZnBn YV9pcHNlY19zZXRfY2FwcyhzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqbWRldiwgdTMyIGZsYWdzKQog CX0KIAogb3V0OgorCWtmcmVlKGNvbnRleHQpOwogCXJldHVybiBlcnI7CiB9CiAKLS0gCjIuMTku MQoKCkZyb20gOTBiNTY4NDgwYzE2OWJjOGRmYzg1ZTk1OTYyZDM4Mjk2MWNkMTk2ZCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2Fyc3RlbiBHcmF1bCA8a2dyYXVsQGxpbnV4LmlibS5j b20+CkRhdGU6IFRodSwgMjUgT2N0IDIwMTggMTM6MjU6MjggKzAyMDAKU3ViamVjdDogW1BBVENI IDMzLzM5XSBuZXQvc21jOiBmaXggc21jX2J1Zl91bnVzZSB0byB1c2UgdGhlIGxnciBwb2ludGVy CgpbIFVwc3RyZWFtIGNvbW1pdCBmYjY5MmVjNDExN2Y2ZmQyNTA0NGNmYjU3MjBkNmI3OWQ0MDBk YzY1IF0KClRoZSBwb2ludGVyIHRvIHRoZSBsaW5rIGdyb3VwIGlzIHVuc2V0IGluIHRoZSBzbWMg Y29ubmVjdGlvbiBzdHJ1Y3R1cmUKcmlnaHQgYmVmb3JlIHRoZSBjYWxsIHRvIHNtY19idWZfdW51 c2UuIFByb3ZpZGUgdGhlIGxnciBwb2ludGVyIHRvCnNtY19idWZfdW51c2UgZXhwbGljaXRseS4K QW5kIG1vdmUgdGhlIGNhbGwgdG8gc21jX2xncl9zY2hlZHVsZV9mcmVlX3dvcmsgdG8gdGhlIGVu ZCBvZgpzbWNfY29ubl9mcmVlLgoKRml4ZXM6IGE2OTIwZDFkMTMwYyAoIm5ldC9zbWM6IGhhbmRs ZSB1bnJlZ2lzdGVyZWQgYnVmZmVycyIpClNpZ25lZC1vZmYtYnk6IEthcnN0ZW4gR3JhdWwgPGtn cmF1bEBsaW51eC5pYm0uY29tPgpTaWduZWQtb2ZmLWJ5OiBVcnN1bGEgQnJhdW4gPHVicmF1bkBs aW51eC5pYm0uY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogbmV0L3NtYy9zbWNfY29yZS5jIHwgMjMgKysrKysrKysrKystLS0tLS0t LS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9uZXQvc21jL3NtY19jb3JlLmMgYi9uZXQvc21jL3NtY19jb3JlLmMKaW5k ZXggYWRkODJiMDI2NmYzLi4zYmU5NWY3N2VjN2YgMTAwNjQ0Ci0tLSBhL25ldC9zbWMvc21jX2Nv cmUuYworKysgYi9uZXQvc21jL3NtY19jb3JlLmMKQEAgLTExNCwyMiArMTE0LDE3IEBAIHN0YXRp YyB2b2lkIF9fc21jX2xncl91bnJlZ2lzdGVyX2Nvbm4oc3RydWN0IHNtY19jb25uZWN0aW9uICpj b25uKQogCXNvY2tfcHV0KCZzbWMtPnNrKTsgLyogc29ja19ob2xkIGluIHNtY19sZ3JfcmVnaXN0 ZXJfY29ubigpICovCiB9CiAKLS8qIFVucmVnaXN0ZXIgY29ubmVjdGlvbiBhbmQgdHJpZ2dlciBs Z3IgZnJlZWluZyBpZiBhcHBsaWNhYmxlCisvKiBVbnJlZ2lzdGVyIGNvbm5lY3Rpb24gZnJvbSBs Z3IKICAqLwogc3RhdGljIHZvaWQgc21jX2xncl91bnJlZ2lzdGVyX2Nvbm4oc3RydWN0IHNtY19j b25uZWN0aW9uICpjb25uKQogewogCXN0cnVjdCBzbWNfbGlua19ncm91cCAqbGdyID0gY29ubi0+ bGdyOwotCWludCByZWR1Y2VkID0gMDsKIAogCXdyaXRlX2xvY2tfYmgoJmxnci0+Y29ubnNfbG9j ayk7CiAJaWYgKGNvbm4tPmFsZXJ0X3Rva2VuX2xvY2FsKSB7Ci0JCXJlZHVjZWQgPSAxOwogCQlf X3NtY19sZ3JfdW5yZWdpc3Rlcl9jb25uKGNvbm4pOwogCX0KIAl3cml0ZV91bmxvY2tfYmgoJmxn ci0+Y29ubnNfbG9jayk7Ci0JaWYgKCFyZWR1Y2VkIHx8IGxnci0+Y29ubnNfbnVtKQotCQlyZXR1 cm47Ci0Jc21jX2xncl9zY2hlZHVsZV9mcmVlX3dvcmsobGdyKTsKIH0KIAogc3RhdGljIHZvaWQg c21jX2xncl9mcmVlX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQpAQCAtMjM4LDcgKzIz Myw4IEBAIHN0YXRpYyBpbnQgc21jX2xncl9jcmVhdGUoc3RydWN0IHNtY19zb2NrICpzbWMsCiAJ cmV0dXJuIHJjOwogfQogCi1zdGF0aWMgdm9pZCBzbWNfYnVmX3VudXNlKHN0cnVjdCBzbWNfY29u bmVjdGlvbiAqY29ubikKK3N0YXRpYyB2b2lkIHNtY19idWZfdW51c2Uoc3RydWN0IHNtY19jb25u ZWN0aW9uICpjb25uLAorCQkJICBzdHJ1Y3Qgc21jX2xpbmtfZ3JvdXAgKmxncikKIHsKIAlpZiAo Y29ubi0+c25kYnVmX2Rlc2MpCiAJCWNvbm4tPnNuZGJ1Zl9kZXNjLT51c2VkID0gMDsKQEAgLTI0 OCw4ICsyNDQsNiBAQCBzdGF0aWMgdm9pZCBzbWNfYnVmX3VudXNlKHN0cnVjdCBzbWNfY29ubmVj dGlvbiAqY29ubikKIAkJCWNvbm4tPnJtYl9kZXNjLT51c2VkID0gMDsKIAkJfSBlbHNlIHsKIAkJ CS8qIGJ1ZiByZWdpc3RyYXRpb24gZmFpbGVkLCByZXVzZSBub3QgcG9zc2libGUgKi8KLQkJCXN0 cnVjdCBzbWNfbGlua19ncm91cCAqbGdyID0gY29ubi0+bGdyOwotCiAJCQl3cml0ZV9sb2NrX2Jo KCZsZ3ItPnJtYnNfbG9jayk7CiAJCQlsaXN0X2RlbCgmY29ubi0+cm1iX2Rlc2MtPmxpc3QpOwog CQkJd3JpdGVfdW5sb2NrX2JoKCZsZ3ItPnJtYnNfbG9jayk7CkBAIC0yNjIsMTEgKzI1NiwxNiBA QCBzdGF0aWMgdm9pZCBzbWNfYnVmX3VudXNlKHN0cnVjdCBzbWNfY29ubmVjdGlvbiAqY29ubikK IC8qIHJlbW92ZSBhIGZpbmlzaGVkIGNvbm5lY3Rpb24gZnJvbSBpdHMgbGluayBncm91cCAqLwog dm9pZCBzbWNfY29ubl9mcmVlKHN0cnVjdCBzbWNfY29ubmVjdGlvbiAqY29ubikKIHsKLQlpZiAo IWNvbm4tPmxncikKKwlzdHJ1Y3Qgc21jX2xpbmtfZ3JvdXAgKmxnciA9IGNvbm4tPmxncjsKKwor CWlmICghbGdyKQogCQlyZXR1cm47CiAJc21jX2NkY190eF9kaXNtaXNzX3Nsb3RzKGNvbm4pOwot CXNtY19sZ3JfdW5yZWdpc3Rlcl9jb25uKGNvbm4pOwotCXNtY19idWZfdW51c2UoY29ubik7CisJ c21jX2xncl91bnJlZ2lzdGVyX2Nvbm4oY29ubik7CQkvKiB1bnNldHMgY29ubi0+bGdyICovCisJ c21jX2J1Zl91bnVzZShjb25uLCBsZ3IpOwkJLyogYWxsb3cgYnVmZmVyIHJldXNlICovCisKKwlp ZiAoIWxnci0+Y29ubnNfbnVtKQorCQlzbWNfbGdyX3NjaGVkdWxlX2ZyZWVfd29yayhsZ3IpOwog fQogCiBzdGF0aWMgdm9pZCBzbWNfbGlua19jbGVhcihzdHJ1Y3Qgc21jX2xpbmsgKmxuaykKLS0g CjIuMTkuMQoKCkZyb20gMGNmZGY2NmYyOWFkZTllYzIzOGY1YmIwMjlmYjYzY2M4NWFjYmVjNCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUGV0ciBNYWNoYXRhIDxwZXRybUBtZWxsYW5v eC5jb20+CkRhdGU6IE1vbiwgMjkgT2N0IDIwMTggMTQ6MjY6MTQgKzAwMDAKU3ViamVjdDogW1BB VENIIDM0LzM5XSBtbHhzdzogc3BlY3RydW1fc3dpdGNoZGV2OiBEb24ndCBpZ25vcmUgZGVsZXRp b25zIG9mCiBsZWFybmVkIE1BQ3MKClsgVXBzdHJlYW0gY29tbWl0IGFkMGI5ZDk0MTgyYmU4MzU2 OTc4ZDIyMGM4MmY5ODM3Y2ZmZWI3YTkgXQoKRGVtYW5kcyB0byByZW1vdmUgRkRCIGVudHJpZXMg c2hvdWxkIGJlIGhvbm9yZWQgZXZlbiBpZiB0aGUgRkRCIGVudHJ5IGluCnF1ZXN0aW9uIHdhcyBv cmlnaW5hbGx5IGxlYXJuZWQsIGFuZCBub3QgYWRkZWQgYnkgdGhlIHVzZXIuIFRoZXJlZm9yZQpp Z25vcmUgdGhlIGFkZGVkX2J5X3VzZXIgZGF0dW0gZm9yIFNXSVRDSERFVl9GREJfREVMX1RPX0RF VklDRS4KCkZpeGVzOiA4MTZhM2JlZDk1NDkgKCJzd2l0Y2hkZXY6IEFkZCBmZGIuYWRkZWRfYnlf dXNlciB0byBzd2l0Y2hkZXYgbm90aWZpY2F0aW9ucyIpClNpZ25lZC1vZmYtYnk6IFBldHIgTWFj aGF0YSA8cGV0cm1AbWVsbGFub3guY29tPgpTdWdnZXN0ZWQtYnk6IElkbyBTY2hpbW1lbCA8aWRv c2NoQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogSWRvIFNjaGltbWVsIDxpZG9zY2hAbWVs bGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW1f c3dpdGNoZGV2LmMgfCAyIC0tCiAxIGZpbGUgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bV9zd2l0 Y2hkZXYuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3L3NwZWN0cnVtX3N3 aXRjaGRldi5jCmluZGV4IDZjYjQzZGRhODIzMi4uOTg4M2U0OGQ4YTIxIDEwMDY0NAotLS0gYS9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bV9zd2l0Y2hkZXYuYwor KysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bV9zd2l0Y2hk ZXYuYwpAQCAtMjMwNyw4ICsyMzA3LDYgQEAgc3RhdGljIHZvaWQgbWx4c3dfc3Bfc3dpdGNoZGV2 X2V2ZW50X3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCQlicmVhazsKIAljYXNlIFNX SVRDSERFVl9GREJfREVMX1RPX0RFVklDRToKIAkJZmRiX2luZm8gPSAmc3dpdGNoZGV2X3dvcmst PmZkYl9pbmZvOwotCQlpZiAoIWZkYl9pbmZvLT5hZGRlZF9ieV91c2VyKQotCQkJYnJlYWs7CiAJ CW1seHN3X3NwX3BvcnRfZmRiX3NldChtbHhzd19zcF9wb3J0LCBmZGJfaW5mbywgZmFsc2UpOwog CQlicmVhazsKIAljYXNlIFNXSVRDSERFVl9GREJfQUREX1RPX0JSSURHRTogLyogZmFsbCB0aHJv dWdoICovCi0tIAoyLjE5LjEKCgpGcm9tIDg0Y2EyZDJlYzdjYWFmMTQ5YjgyODlkOGY1YTRjNzVj OGJlMWM2MDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFRhZWhlZSBZb28gPGFwNDIw MDczQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxNyBPY3QgMjAxOCAwMDozNToxMCArMDkwMApTdWJq ZWN0OiBbUEFUQ0ggMzUvMzldIG5ldDogYnBmaWx0ZXI6IHVzZSBnZXRfcGlkX3Rhc2sgaW5zdGVh ZCBvZiBwaWRfdGFzawoKWyBVcHN0cmVhbSBjb21taXQgODQyNTg0MzhlOGNlMTJkNjg4OGI2OGEx MjM4YmJhOWNiMjUzMDdlMiBdCgpwaWRfdGFzaygpIGRlcmVmZXJlbmNlcyByY3UgcHJvdGVjdGVk IHRhc2tzIGFycmF5LgpCdXQgdGhlcmUgaXMgbm8gcmN1X3JlYWRfbG9jaygpIGluIHNodXRkb3du X3VtaCgpIHJvdXRpbmUgc28gdGhhdApyY3VfcmVhZF9sb2NrKCkgaXMgbmVlZGVkLgpnZXRfcGlk X3Rhc2soKSBpcyB3cmFwcGVyIGZ1bmN0aW9uIG9mIHBpZF90YXNrLiBpdCBob2xkcyByY3VfcmVh ZF9sb2NrKCkKdGhlbiBjYWxscyBwaWRfdGFzaygpLiBpZiB0YXNrIGlzbid0IE5VTEwsIGl0IGlu Y3JlYXNlcyByZWZlcmVuY2UgY291bnQKb2YgdGFzay4KCnRlc3QgY29tbWFuZHM6CiAgICVtb2Rw cm9iZSBicGZpbHRlcgogICAlbW9kcHJvYmUgLXJ2IGJwZmlsdGVyCgpzcGxhdCBsb29rcyBsaWtl OgpbMTUxMDIuMDMwOTMyXSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpbMTUxMDIuMDMw OTU3XSBXQVJOSU5HOiBzdXNwaWNpb3VzIFJDVSB1c2FnZQpbMTUxMDIuMDMwOTg1XSA0LjE5LjAt cmM3KyAjMjEgTm90IHRhaW50ZWQKWzE1MTAyLjAzMTAxMF0gLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KWzE1MTAyLjAzMTAzOF0ga2VybmVsL3BpZC5jOjMzMCBzdXNwaWNpb3VzIHJjdV9k ZXJlZmVyZW5jZV9jaGVjaygpIHVzYWdlIQpbMTUxMDIuMDMxMDYzXQoJICAgICAgIG90aGVyIGlu Zm8gdGhhdCBtaWdodCBoZWxwIHVzIGRlYnVnIHRoaXM6CgpbMTUxMDIuMDMxMzMyXQoJICAgICAg IHJjdV9zY2hlZHVsZXJfYWN0aXZlID0gMiwgZGVidWdfbG9ja3MgPSAxClsxNTEwMi4wMzEzNjNd IDEgbG9jayBoZWxkIGJ5IG1vZHByb2JlLzE1NzA6ClsxNTEwMi4wMzEzODldICAjMDogMDAwMDAw MDA1ODBlZjJiMCAoYnBmaWx0ZXJfbG9jayl7Ky4rLn0sIGF0OiBzdG9wX3VtaCsweDEzLzB4NTIg W2JwZmlsdGVyXQpbMTUxMDIuMDMxNTUyXQogICAgICAgICAgICAgICBzdGFjayBiYWNrdHJhY2U6 ClsxNTEwMi4wMzE1ODNdIENQVTogMSBQSUQ6IDE1NzAgQ29tbTogbW9kcHJvYmUgTm90IHRhaW50 ZWQgNC4xOS4wLXJjNysgIzIxClsxNTEwMi4wMzE2MDddIEhhcmR3YXJlIG5hbWU6IFRvIGJlIGZp bGxlZCBieSBPLkUuTS4gVG8gYmUgZmlsbGVkIGJ5IE8uRS5NLi9BcHRpbyBDUkIsIEJJT1MgNS42 LjUgMDcvMDgvMjAxNQpbMTUxMDIuMDMxNjI4XSBDYWxsIFRyYWNlOgpbMTUxMDIuMDMxNjc2XSAg ZHVtcF9zdGFjaysweGM5LzB4MTZiClsxNTEwMi4wMzE3MjNdICA/IHNob3dfcmVnc19wcmludF9p bmZvKzB4NS8weDUKWzE1MTAyLjAzMTgwMV0gID8gbG9ja2RlcF9yY3Vfc3VzcGljaW91cysweDEx Ny8weDE2MApbMTUxMDIuMDMxODU1XSAgcGlkX3Rhc2srMHgxMzQvMHgxNjAKWzE1MTAyLjAzMTkw MF0gID8gZmluZF92cGlkKzB4ZjAvMHhmMApbMTUxMDIuMDMyMDE3XSAgc2h1dGRvd25fdW1oLmNv bnN0cHJvcC4xKzB4MWUvMHg1MyBbYnBmaWx0ZXJdClsxNTEwMi4wMzIwNTVdICBzdG9wX3VtaCsw eDQ2LzB4NTIgW2JwZmlsdGVyXQpbMTUxMDIuMDMyMDkyXSAgX194NjRfc3lzX2RlbGV0ZV9tb2R1 bGUrMHg0N2UvMHg1NzAKWyAuLi4gXQoKRml4ZXM6IGQyYmEwOWMxN2EwNiAoIm5ldDogYWRkIHNr ZWxldG9uIG9mIGJwZmlsdGVyIGtlcm5lbCBtb2R1bGUiKQpTaWduZWQtb2ZmLWJ5OiBUYWVoZWUg WW9vIDxhcDQyMDA3M0BnbWFpbC5jb20+CkFja2VkLWJ5OiBBbGV4ZWkgU3Rhcm92b2l0b3YgPGFz dEBrZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogbmV0L2JwZmlsdGVyL2JwZmlsdGVyX2tlcm4uYyB8IDYgKysrKy0tCiAx IGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL25ldC9icGZpbHRlci9icGZpbHRlcl9rZXJuLmMgYi9uZXQvYnBmaWx0ZXIvYnBmaWx0ZXJf a2Vybi5jCmluZGV4IGYwZmMxODJkM2RiNy4uZDVkZDZiOGI0MjQ4IDEwMDY0NAotLS0gYS9uZXQv YnBmaWx0ZXIvYnBmaWx0ZXJfa2Vybi5jCisrKyBiL25ldC9icGZpbHRlci9icGZpbHRlcl9rZXJu LmMKQEAgLTIzLDkgKzIzLDExIEBAIHN0YXRpYyB2b2lkIHNodXRkb3duX3VtaChzdHJ1Y3QgdW1o X2luZm8gKmluZm8pCiAKIAlpZiAoIWluZm8tPnBpZCkKIAkJcmV0dXJuOwotCXRzayA9IHBpZF90 YXNrKGZpbmRfdnBpZChpbmZvLT5waWQpLCBQSURUWVBFX1BJRCk7Ci0JaWYgKHRzaykKKwl0c2sg PSBnZXRfcGlkX3Rhc2soZmluZF92cGlkKGluZm8tPnBpZCksIFBJRFRZUEVfUElEKTsKKwlpZiAo dHNrKSB7CiAJCWZvcmNlX3NpZyhTSUdLSUxMLCB0c2spOworCQlwdXRfdGFza19zdHJ1Y3QodHNr KTsKKwl9CiAJZnB1dChpbmZvLT5waXBlX3RvX3VtaCk7CiAJZnB1dChpbmZvLT5waXBlX2Zyb21f dW1oKTsKIAlpbmZvLT5waWQgPSAwOwotLSAKMi4xOS4xCgoKRnJvbSBlMmYzYTYxMTNjOTllNTcy YTZkMmYxNTQ0MTZjY2Q1MjMzOTkyOTAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBD b25nIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4KRGF0ZTogVGh1LCAxIE5vdiAyMDE4 IDEyOjAyOjM3IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAzNi8zOV0gbmV0OiBkcm9wIHNrYiBvbiBm YWlsdXJlIGluIGlwX2NoZWNrX2RlZnJhZygpCgpbIFVwc3RyZWFtIGNvbW1pdCA3ZGU0MTRhOWRk OTE0MjYzMThkZjdiNjNkYTAyNGIyYjA3ZTUzZGY1IF0KCk1vc3QgY2FsbGVycyBvZiBwc2tiX3Ry aW1fcmNzdW0oKSBzaW1wbHkgZHJvcCB0aGUgc2tiIHdoZW4KaXQgZmFpbHMsIGhvd2V2ZXIsIGlw X2NoZWNrX2RlZnJhZygpIHN0aWxsIGNvbnRpbnVlcyB0byBwYXNzCnRoZSBza2IgdXAgdG8gc3Rh Y2suIFRoaXMgaXMgc3VzcGljaW91cy4KCkluIGlwX2NoZWNrX2RlZnJhZygpLCBhZnRlciB3ZSBs ZWFybiB0aGUgc2tiIGlzIGFuIElQIGZyYWdtZW50LApwYXNzaW5nIHRoZSBza2IgdG8gY2FsbGVy cyBtYWtlcyBubyBzZW5zZSwgYmVjYXVzZSBjYWxsZXJzIGV4cGVjdApmcmFnbWVudHMgYXJlIGRl ZnJhZydlZCBvbiBzdWNjZXNzLiBTbywgZHJvcHBpbmcgdGhlIHNrYiB3aGVuIHdlCmNhbid0IGRl ZnJhZyBpdCBpcyByZWFzb25hYmxlLgoKTm90ZSwgcHJpb3IgdG8gY29tbWl0IDg4MDc4ZDk4ZDFi YiwgdGhpcyBpcyBub3QgYSBiaWcgcHJvYmxlbSBhcwpjaGVja3N1bSB3aWxsIGJlIGZpeGVkIHVw IGFueXdheS4gQWZ0ZXIgaXQsIHRoZSBjaGVja3N1bSBpcyBub3QKY29ycmVjdCBvbiBmYWlsdXJl LgoKRm91bmQgdGhpcyBkdXJpbmcgY29kZSByZXZpZXcuCgpGaXhlczogODgwNzhkOThkMWJiICgi bmV0OiBwc2tiX3RyaW1fcmNzdW0oKSBhbmQgQ0hFQ0tTVU1fQ09NUExFVEUgYXJlIGZyaWVuZHMi KQpDYzogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBD b25nIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IEVyaWMgRHVt YXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVy IDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY0L2lwX2ZyYWdtZW50LmMgfCAxMiAr KysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvaXBfZnJhZ21lbnQuYyBiL25ldC9pcHY0L2lwX2Zy YWdtZW50LmMKaW5kZXggZDE0ZDc0MWZiMDVlLi45ZDNiZGNlMWFkOGEgMTAwNjQ0Ci0tLSBhL25l dC9pcHY0L2lwX2ZyYWdtZW50LmMKKysrIGIvbmV0L2lwdjQvaXBfZnJhZ21lbnQuYwpAQCAtNjU3 LDEwICs2NTcsMTQgQEAgc3RydWN0IHNrX2J1ZmYgKmlwX2NoZWNrX2RlZnJhZyhzdHJ1Y3QgbmV0 ICpuZXQsIHN0cnVjdCBza19idWZmICpza2IsIHUzMiB1c2VyKQogCWlmIChpcF9pc19mcmFnbWVu dCgmaXBoKSkgewogCQlza2IgPSBza2Jfc2hhcmVfY2hlY2soc2tiLCBHRlBfQVRPTUlDKTsKIAkJ aWYgKHNrYikgewotCQkJaWYgKCFwc2tiX21heV9wdWxsKHNrYiwgbmV0b2ZmICsgaXBoLmlobCAq IDQpKQotCQkJCXJldHVybiBza2I7Ci0JCQlpZiAocHNrYl90cmltX3Jjc3VtKHNrYiwgbmV0b2Zm ICsgbGVuKSkKLQkJCQlyZXR1cm4gc2tiOworCQkJaWYgKCFwc2tiX21heV9wdWxsKHNrYiwgbmV0 b2ZmICsgaXBoLmlobCAqIDQpKSB7CisJCQkJa2ZyZWVfc2tiKHNrYik7CisJCQkJcmV0dXJuIE5V TEw7CisJCQl9CisJCQlpZiAocHNrYl90cmltX3Jjc3VtKHNrYiwgbmV0b2ZmICsgbGVuKSkgewor CQkJCWtmcmVlX3NrYihza2IpOworCQkJCXJldHVybiBOVUxMOworCQkJfQogCQkJbWVtc2V0KElQ Q0Ioc2tiKSwgMCwgc2l6ZW9mKHN0cnVjdCBpbmV0X3NrYl9wYXJtKSk7CiAJCQlpZiAoaXBfZGVm cmFnKG5ldCwgc2tiLCB1c2VyKSkKIAkJCQlyZXR1cm4gTlVMTDsKLS0gCjIuMTkuMQoKCkZyb20g YzhhOTBkMjAyYzdhOTViMmI2MjNlODNmYTVjMjg4OWQxOWIyODdlYiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogRGltaXRyaXMgTWljaGFpbGlkaXMgPGRtaWNoYWlsQGdvb2dsZS5jb20+ CkRhdGU6IEZyaSwgMTkgT2N0IDIwMTggMTc6MDc6MTMgLTA3MDAKU3ViamVjdDogW1BBVENIIDM3 LzM5XSBuZXQ6IGZpeCBwc2tiX3RyaW1fcmNzdW1fc2xvdygpIHdpdGggb2RkIHRyaW0gb2Zmc2V0 CgpbIFVwc3RyZWFtIGNvbW1pdCBkNTViZWY1MDU5ZGQwNTdiZDA3NzE1NTM3NWM1ODFiNDlkMjVi ZTdlIF0KCldlJ3ZlIGJlZW4gZ2V0dGluZyBjaGVja3N1bSBlcnJvcnMgaW52b2x2aW5nIHNtYWxs IFVEUCBwYWNrZXRzLCB1c3VhbGx5CjU5QiBwYWNrZXRzIHdpdGggMSBleHRyYSBub24temVybyBw YWRkaW5nIGJ5dGUuIG5ldGRldl9yeF9jc3VtX2ZhdWx0KCkKaGFzIGJlZW4gY29tcGxhaW5pbmcg dGhhdCBIVyBpcyBwcm92aWRpbmcgYmFkIGNoZWNrc3Vtcy4gVHVybnMgb3V0IHRoZQpwcm9ibGVt IGlzIGluIHBza2JfdHJpbV9yY3N1bV9zbG93KCksIGludHJvZHVjZWQgaW4gY29tbWl0IDg4MDc4 ZDk4ZDFiYgooIm5ldDogcHNrYl90cmltX3Jjc3VtKCkgYW5kIENIRUNLU1VNX0NPTVBMRVRFIGFy ZSBmcmllbmRzIikuCgpUaGUgc291cmNlIG9mIHRoZSBwcm9ibGVtIGlzIHRoYXQgd2hlbiB0aGUg Ynl0ZXMgd2UgYXJlIHRyaW1taW5nIHN0YXJ0CmF0IGFuIG9kZCBhZGRyZXNzLCBhcyBpbiB0aGUg Y2FzZSBvZiB0aGUgMSBwYWRkaW5nIGJ5dGUgYWJvdmUsCnNrYl9jaGVja3N1bSgpIHJldHVybnMg YSBieXRlLXN3YXBwZWQgdmFsdWUuIFdlIGNhbm5vdCBqdXN0IGNvbWJpbmUgdGhpcwp3aXRoIHNr Yi0+Y3N1bSB1c2luZyBjc3VtX3N1YigpLiBXZSBuZWVkIHRvIHVzZSBjc3VtX2Jsb2NrX3N1Yigp IGhlcmUKdGhhdCB0YWtlcyBpbnRvIGFjY291bnQgdGhlIHBhcml0eSBvZiB0aGUgc3RhcnQgYWRk cmVzcyBhbmQgaGFuZGxlcyB0aGUKc3dhcHBpbmcuCgpNYXRjaGVzIGV4aXN0aW5nIGNvZGUgaW4g X19za2JfcG9zdHB1bGxfcmNzdW0oKSBhbmQgZXNwX3JlbW92ZV90cmFpbGVyKCkuCgpGaXhlczog ODgwNzhkOThkMWJiICgibmV0OiBwc2tiX3RyaW1fcmNzdW0oKSBhbmQgQ0hFQ0tTVU1fQ09NUExF VEUgYXJlIGZyaWVuZHMiKQpTaWduZWQtb2ZmLWJ5OiBEaW1pdHJpcyBNaWNoYWlsaWRpcyA8ZG1p Y2hhaWxAZ29vZ2xlLmNvbT4KUmV2aWV3ZWQtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29v Z2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIG5ldC9jb3JlL3NrYnVmZi5jIHwgNSArKystLQogMSBmaWxlIGNoYW5nZWQsIDMg aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvY29yZS9za2J1 ZmYuYyBiL25ldC9jb3JlL3NrYnVmZi5jCmluZGV4IDM2ODA5MTJmMDU2YS4uYzQ1OTE2YjkxYTlj IDEwMDY0NAotLS0gYS9uZXQvY29yZS9za2J1ZmYuYworKysgYi9uZXQvY29yZS9za2J1ZmYuYwpA QCAtMTg0NSw4ICsxODQ1LDkgQEAgaW50IHBza2JfdHJpbV9yY3N1bV9zbG93KHN0cnVjdCBza19i dWZmICpza2IsIHVuc2lnbmVkIGludCBsZW4pCiAJaWYgKHNrYi0+aXBfc3VtbWVkID09IENIRUNL U1VNX0NPTVBMRVRFKSB7CiAJCWludCBkZWx0YSA9IHNrYi0+bGVuIC0gbGVuOwogCi0JCXNrYi0+ Y3N1bSA9IGNzdW1fc3ViKHNrYi0+Y3N1bSwKLQkJCQkgICAgIHNrYl9jaGVja3N1bShza2IsIGxl biwgZGVsdGEsIDApKTsKKwkJc2tiLT5jc3VtID0gY3N1bV9ibG9ja19zdWIoc2tiLT5jc3VtLAor CQkJCQkgICBza2JfY2hlY2tzdW0oc2tiLCBsZW4sIGRlbHRhLCAwKSwKKwkJCQkJICAgbGVuKTsK IAl9CiAJcmV0dXJuIF9fcHNrYl90cmltKHNrYiwgbGVuKTsKIH0KLS0gCjIuMTkuMQoKCkZyb20g NzYwNDM5YjVlYTgwM2VkNGYyZjg2Mzc2ZDk0NmVmYjhhM2U1YTIzYiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogVGFyaXEgVG91a2FuIDx0YXJpcXRAbWVsbGFub3guY29tPgpEYXRlOiBU dWUsIDIxIEF1ZyAyMDE4IDE0OjQxOjQxICswMzAwClN1YmplY3Q6IFtQQVRDSCAzOC8zOV0gbmV0 L21seDU6IFdRLCBmaXhlcyBmb3IgZnJhZ21lbnRlZCBXUSBidWZmZXJzIEFQSQoKWyBVcHN0cmVh bSBjb21taXQgMzdmZGZmYjIxN2E0NTYwOWVkY2NiYjhiNDA3ZDAzMTE0M2Y1NTFjMCBdCgptbHg1 ZSBuZXRkZXZpY2UgdXNlZCB0byBjYWxjdWxhdGUgZnJhZ21lbnQgZWRnZXMgYnkgYSBjYWxsIHRv Cm1seDVfd3FfY3ljX2dldF9mcmFnX3NpemUoKS4gVGhpcyBjYWxjdWxhdGlvbiBkaWQgbm90IGdp dmUgdGhlIGNvcnJlY3QKaW5kaWNhdGlvbiBmb3IgcXVldWVzIHNtYWxsZXIgdGhhbiBhIFBBR0Vf U0laRSwgKGJyb2tlbiBieSBkZWZhdWx0IG9uClBvd2VyUEMsIHdoZXJlIFBBR0VfU0laRSA9PSA2 NEtCKS4gIEhlcmUgaXQgaXMgcmVwbGFjZWQgYnkgdGhlIGNvcnJlY3QgbmV3CmNhbGxzL0FQSS4K ClNpbmNlIChUWC9SWCkgV29yayBRdWV1ZXMgYnVmZmVycyBhcmUgZnJhZ21lbnRlZCwgaGVyZSB3 ZSBpbnRyb2R1Y2UKY2hhbmdlcyB0byB0aGUgQVBJIGluIGNvcmUgZHJpdmVyLCBzbyB0aGF0IGl0 IGdldHMgYSBzdHJpZGUgaW5kZXggYW5kCnJldHVybnMgdGhlIGluZGV4IG9mIGxhc3Qgc3RyaWRl IG9uIHNhbWUgZnJhZ21lbnQsIGFuZCBhbiBhZGRpdGlvbmFsCndyYXBwaW5nIGZ1bmN0aW9uIHRo YXQgcmV0dXJucyB0aGUgbnVtYmVyIG9mIHBoeXNpY2FsbHkgY29udGlndW91cwpzdHJpZGVzIHRo YXQgY2FuIGJlIHdyaXR0ZW4gY29udGlndW91c2x5IHRvIHRoZSB3b3JrIHF1ZXVlLgoKVGhpcyBv YnNvbGV0ZXMgdGhlIGZvbGxvd2luZyBBUEkgZnVuY3Rpb25zLCBhbmQgdGhlaXIgYnVnZ3kKdXNh Z2UgaW4gRU4gZHJpdmVyOgoqIG1seDVfd3FfY3ljX2dldF9mcmFnX3NpemUoKQoqIG1seDVfd3Ff Y3ljX2N0cjJmcmFnaXgoKQoKVGhlIG5ldyBBUEkgaW1wcm92ZXMgbW9kdWxhcml0eSBhbmQgaGlk ZXMgdGhlIGRldGFpbHMgb2Ygc3VjaApjYWxjdWxhdGlvbiBmb3IgbWx4NWUgbmV0ZGV2aWNlIGFu ZCBtbHg1X2liIHJkbWEgZHJpdmVycy4KCk5ldyBjYWxjdWxhdGlvbiBpcyBhbHNvIG1vcmUgZWZm aWNpZW50LCBhbmQgaW1wcm92ZXMgcGVyZm9ybWFuY2UKYXMgZm9sbG93czoKClBhY2tldCByYXRl IHRlc3Q6IHBrdGdlbiwgVURQIC8gSVB2NCwgNjRieXRlLCBzaW5nbGUgcmluZywgOEsgcmluZyBz aXplLgoKQmVmb3JlOiAxNiw0NzcsNjE5IHBwcwpBZnRlcjogIDE3LDA4NSw3OTMgcHBzCgozLjcl IGltcHJvdmVtZW50CgpGaXhlczogM2EyZjcwMzMxMjI2ICgibmV0L21seDU6IFVzZSBvcmRlci0w IGFsbG9jYXRpb25zIGZvciBhbGwgV1EgdHlwZXMiKQpTaWduZWQtb2ZmLWJ5OiBUYXJpcSBUb3Vr YW4gPHRhcmlxdEBtZWxsYW5veC5jb20+ClJldmlld2VkLWJ5OiBFcmFuIEJlbiBFbGlzaGEgPGVy YW5iZUBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1A bWVsbGFub3guY29tPgotLS0KIC4uLi9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vu X3J4LmMgICB8IDEyICsrKysrLS0tLS0KIC4uLi9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9j b3JlL2VuX3R4LmMgICB8IDIyICsrKysrKysrKy0tLS0tLS0tLS0KIC4uLi9ldGhlcm5ldC9tZWxs YW5veC9tbHg1L2NvcmUvaXBvaWIvaXBvaWIuaCB8ICA1ICsrLS0tCiBkcml2ZXJzL25ldC9ldGhl cm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvd3EuYyAgfCAgNSAtLS0tLQogZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL3dxLmggIHwgMTEgKysrKystLS0tLQogaW5jbHVkZS9s aW51eC9tbHg1L2RyaXZlci5oICAgICAgICAgICAgICAgICAgIHwgIDggKysrKysrKwogNiBmaWxl cyBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fcnguYyBiL2RyaXZl cnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9yeC5jCmluZGV4IDY5NmVkZWZm MjU1Yi4uZmI2YzcyY2Y3MGEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxs YW5veC9tbHg1L2NvcmUvZW5fcnguYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvZW5fcnguYwpAQCAtNDI5LDEwICs0MjksOSBAQCBzdGF0aWMgaW5saW5lIHUx NiBtbHg1ZV9pY29zcV93cmFwX2NudChzdHJ1Y3QgbWx4NWVfaWNvc3EgKnNxKQogCiBzdGF0aWMg aW5saW5lIHZvaWQgbWx4NWVfZmlsbF9pY29zcV9mcmFnX2VkZ2Uoc3RydWN0IG1seDVlX2ljb3Nx ICpzcSwKIAkJCQkJICAgICAgc3RydWN0IG1seDVfd3FfY3ljICp3cSwKLQkJCQkJICAgICAgdTE2 IHBpLCB1MTYgZnJhZ19waSkKKwkJCQkJICAgICAgdTE2IHBpLCB1MTYgbm5vcHMpCiB7CiAJc3Ry dWN0IG1seDVlX3NxX3dxZV9pbmZvICplZGdlX3dpLCAqd2kgPSAmc3EtPmRiLmljb193cWVbcGld OwotCXU4IG5ub3BzID0gbWx4NV93cV9jeWNfZ2V0X2ZyYWdfc2l6ZSh3cSkgLSBmcmFnX3BpOwog CiAJZWRnZV93aSA9IHdpICsgbm5vcHM7CiAKQEAgLTQ1MSwxNSArNDUwLDE0IEBAIHN0YXRpYyBp bnQgbWx4NWVfYWxsb2NfcnhfbXB3cWUoc3RydWN0IG1seDVlX3JxICpycSwgdTE2IGl4KQogCXN0 cnVjdCBtbHg1X3dxX2N5YyAqd3EgPSAmc3EtPndxOwogCXN0cnVjdCBtbHg1ZV91bXJfd3FlICp1 bXJfd3FlOwogCXUxNiB4bHRfb2Zmc2V0ID0gaXggPDwgKE1MWDVFX0xPR19BTElHTkVEX01QV1FF X1BQVyAtIDEpOwotCXUxNiBwaSwgZnJhZ19waTsKKwl1MTYgcGksIGNvbnRpZ193cWViYnNfcm9v bTsKIAlpbnQgZXJyOwogCWludCBpOwogCiAJcGkgPSBtbHg1X3dxX2N5Y19jdHIyaXgod3EsIHNx LT5wYyk7Ci0JZnJhZ19waSA9IG1seDVfd3FfY3ljX2N0cjJmcmFnaXgod3EsIHNxLT5wYyk7Ci0K LQlpZiAodW5saWtlbHkoZnJhZ19waSArIE1MWDVFX1VNUl9XUUVCQlMgPiBtbHg1X3dxX2N5Y19n ZXRfZnJhZ19zaXplKHdxKSkpIHsKLQkJbWx4NWVfZmlsbF9pY29zcV9mcmFnX2VkZ2Uoc3EsIHdx LCBwaSwgZnJhZ19waSk7CisJY29udGlnX3dxZWJic19yb29tID0gbWx4NV93cV9jeWNfZ2V0X2Nv bnRpZ193cWViYnMod3EsIHBpKTsKKwlpZiAodW5saWtlbHkoY29udGlnX3dxZWJic19yb29tIDwg TUxYNUVfVU1SX1dRRUJCUykpIHsKKwkJbWx4NWVfZmlsbF9pY29zcV9mcmFnX2VkZ2Uoc3EsIHdx LCBwaSwgY29udGlnX3dxZWJic19yb29tKTsKIAkJcGkgPSBtbHg1X3dxX2N5Y19jdHIyaXgod3Es IHNxLT5wYyk7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvZW5fdHguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUv Y29yZS9lbl90eC5jCmluZGV4IGYyOWRlYjQ0YmYzYi4uMWU3NzRkOTc5Yzg1IDEwMDY0NAotLS0g YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fdHguYworKysgYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fdHguYwpAQCAtMjg3LDEw ICsyODcsOSBAQCBtbHg1ZV90eHdxZV9idWlsZF9kc2VncyhzdHJ1Y3QgbWx4NWVfdHhxc3EgKnNx LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCiBzdGF0aWMgaW5saW5lIHZvaWQgbWx4NWVfZmlsbF9z cV9mcmFnX2VkZ2Uoc3RydWN0IG1seDVlX3R4cXNxICpzcSwKIAkJCQkJICAgc3RydWN0IG1seDVf d3FfY3ljICp3cSwKLQkJCQkJICAgdTE2IHBpLCB1MTYgZnJhZ19waSkKKwkJCQkJICAgdTE2IHBp LCB1MTYgbm5vcHMpCiB7CiAJc3RydWN0IG1seDVlX3R4X3dxZV9pbmZvICplZGdlX3dpLCAqd2kg PSAmc3EtPmRiLndxZV9pbmZvW3BpXTsKLQl1OCBubm9wcyA9IG1seDVfd3FfY3ljX2dldF9mcmFn X3NpemUod3EpIC0gZnJhZ19waTsKIAogCWVkZ2Vfd2kgPSB3aSArIG5ub3BzOwogCkBAIC0zNDUs OCArMzQ0LDggQEAgbmV0ZGV2X3R4X3QgbWx4NWVfc3FfeG1pdChzdHJ1Y3QgbWx4NWVfdHhxc3Eg KnNxLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCXN0cnVjdCBtbHg1ZV90eF93cWVfaW5mbyAqd2k7 CiAKIAlzdHJ1Y3QgbWx4NWVfc3Ffc3RhdHMgKnN0YXRzID0gc3EtPnN0YXRzOworCXUxNiBoZWFk bGVuLCBpaHMsIGNvbnRpZ193cWViYnNfcm9vbTsKIAl1MTYgZHNfY250LCBkc19jbnRfaW5sID0g MDsKLQl1MTYgaGVhZGxlbiwgaWhzLCBmcmFnX3BpOwogCXU4IG51bV93cWViYnMsIG9wY29kZTsK IAl1MzIgbnVtX2J5dGVzOwogCWludCBudW1fZG1hOwpAQCAtMzgzLDkgKzM4Miw5IEBAIG5ldGRl dl90eF90IG1seDVlX3NxX3htaXQoc3RydWN0IG1seDVlX3R4cXNxICpzcSwgc3RydWN0IHNrX2J1 ZmYgKnNrYiwKIAl9CiAKIAludW1fd3FlYmJzID0gRElWX1JPVU5EX1VQKGRzX2NudCwgTUxYNV9T RU5EX1dRRUJCX05VTV9EUyk7Ci0JZnJhZ19waSA9IG1seDVfd3FfY3ljX2N0cjJmcmFnaXgod3Es IHNxLT5wYyk7Ci0JaWYgKHVubGlrZWx5KGZyYWdfcGkgKyBudW1fd3FlYmJzID4gbWx4NV93cV9j eWNfZ2V0X2ZyYWdfc2l6ZSh3cSkpKSB7Ci0JCW1seDVlX2ZpbGxfc3FfZnJhZ19lZGdlKHNxLCB3 cSwgcGksIGZyYWdfcGkpOworCWNvbnRpZ193cWViYnNfcm9vbSA9IG1seDVfd3FfY3ljX2dldF9j b250aWdfd3FlYmJzKHdxLCBwaSk7CisJaWYgKHVubGlrZWx5KGNvbnRpZ193cWViYnNfcm9vbSA8 IG51bV93cWViYnMpKSB7CisJCW1seDVlX2ZpbGxfc3FfZnJhZ19lZGdlKHNxLCB3cSwgcGksIGNv bnRpZ193cWViYnNfcm9vbSk7CiAJCW1seDVlX3NxX2ZldGNoX3dxZShzcSwgJndxZSwgJnBpKTsK IAl9CiAKQEAgLTYyOSw3ICs2MjgsNyBAQCBuZXRkZXZfdHhfdCBtbHg1aV9zcV94bWl0KHN0cnVj dCBtbHg1ZV90eHFzcSAqc3EsIHN0cnVjdCBza19idWZmICpza2IsCiAJc3RydWN0IG1seDVlX3R4 X3dxZV9pbmZvICp3aTsKIAogCXN0cnVjdCBtbHg1ZV9zcV9zdGF0cyAqc3RhdHMgPSBzcS0+c3Rh dHM7Ci0JdTE2IGhlYWRsZW4sIGlocywgcGksIGZyYWdfcGk7CisJdTE2IGhlYWRsZW4sIGlocywg cGksIGNvbnRpZ193cWViYnNfcm9vbTsKIAl1MTYgZHNfY250LCBkc19jbnRfaW5sID0gMDsKIAl1 OCBudW1fd3FlYmJzLCBvcGNvZGU7CiAJdTMyIG51bV9ieXRlczsKQEAgLTY2NSwxMyArNjY0LDE0 IEBAIG5ldGRldl90eF90IG1seDVpX3NxX3htaXQoc3RydWN0IG1seDVlX3R4cXNxICpzcSwgc3Ry dWN0IHNrX2J1ZmYgKnNrYiwKIAl9CiAKIAludW1fd3FlYmJzID0gRElWX1JPVU5EX1VQKGRzX2Nu dCwgTUxYNV9TRU5EX1dRRUJCX05VTV9EUyk7Ci0JZnJhZ19waSA9IG1seDVfd3FfY3ljX2N0cjJm cmFnaXgod3EsIHNxLT5wYyk7Ci0JaWYgKHVubGlrZWx5KGZyYWdfcGkgKyBudW1fd3FlYmJzID4g bWx4NV93cV9jeWNfZ2V0X2ZyYWdfc2l6ZSh3cSkpKSB7CisJcGkgPSBtbHg1X3dxX2N5Y19jdHIy aXgod3EsIHNxLT5wYyk7CisJY29udGlnX3dxZWJic19yb29tID0gbWx4NV93cV9jeWNfZ2V0X2Nv bnRpZ193cWViYnMod3EsIHBpKTsKKwlpZiAodW5saWtlbHkoY29udGlnX3dxZWJic19yb29tIDwg bnVtX3dxZWJicykpIHsKKwkJbWx4NWVfZmlsbF9zcV9mcmFnX2VkZ2Uoc3EsIHdxLCBwaSwgY29u dGlnX3dxZWJic19yb29tKTsKIAkJcGkgPSBtbHg1X3dxX2N5Y19jdHIyaXgod3EsIHNxLT5wYyk7 Ci0JCW1seDVlX2ZpbGxfc3FfZnJhZ19lZGdlKHNxLCB3cSwgcGksIGZyYWdfcGkpOwogCX0KIAot CW1seDVpX3NxX2ZldGNoX3dxZShzcSwgJndxZSwgJnBpKTsKKwltbHg1aV9zcV9mZXRjaF93cWUo c3EsICZ3cWUsIHBpKTsKIAogCS8qIGZpbGwgd3FlICovCiAJd2kgICAgICAgPSAmc3EtPmRiLndx ZV9pbmZvW3BpXTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21s eDUvY29yZS9pcG9pYi9pcG9pYi5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4 NS9jb3JlL2lwb2liL2lwb2liLmgKaW5kZXggMDhlYWM5MmZjMjZjLi4wOTgyYzU3OWVjNzQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9pcG9pYi9p cG9pYi5oCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9pcG9p Yi9pcG9pYi5oCkBAIC0xMDksMTIgKzEwOSwxMSBAQCBzdHJ1Y3QgbWx4NWlfdHhfd3FlIHsKIAog c3RhdGljIGlubGluZSB2b2lkIG1seDVpX3NxX2ZldGNoX3dxZShzdHJ1Y3QgbWx4NWVfdHhxc3Eg KnNxLAogCQkJCSAgICAgIHN0cnVjdCBtbHg1aV90eF93cWUgKip3cWUsCi0JCQkJICAgICAgdTE2 ICpwaSkKKwkJCQkgICAgICB1MTYgcGkpCiB7CiAJc3RydWN0IG1seDVfd3FfY3ljICp3cSA9ICZz cS0+d3E7CiAKLQkqcGkgID0gbWx4NV93cV9jeWNfY3RyMml4KHdxLCBzcS0+cGMpOwotCSp3cWUg PSBtbHg1X3dxX2N5Y19nZXRfd3FlKHdxLCAqcGkpOworCSp3cWUgPSBtbHg1X3dxX2N5Y19nZXRf d3FlKHdxLCBwaSk7CiAJbWVtc2V0KCp3cWUsIDAsIHNpemVvZigqKndxZSkpOwogfQogCmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvd3EuYyBiL2Ry aXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS93cS5jCmluZGV4IGQ4MzhhZjk1 MzliMS4uOTA0NjQ3NWM1MzFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxs YW5veC9tbHg1L2NvcmUvd3EuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9t bHg1L2NvcmUvd3EuYwpAQCAtMzksMTEgKzM5LDYgQEAgdTMyIG1seDVfd3FfY3ljX2dldF9zaXpl KHN0cnVjdCBtbHg1X3dxX2N5YyAqd3EpCiAJcmV0dXJuICh1MzIpd3EtPmZiYy5zel9tMSArIDE7 CiB9CiAKLXUxNiBtbHg1X3dxX2N5Y19nZXRfZnJhZ19zaXplKHN0cnVjdCBtbHg1X3dxX2N5YyAq d3EpCi17Ci0JcmV0dXJuIHdxLT5mYmMuZnJhZ19zel9tMSArIDE7Ci19Ci0KIHUzMiBtbHg1X2Nx d3FfZ2V0X3NpemUoc3RydWN0IG1seDVfY3F3cSAqd3EpCiB7CiAJcmV0dXJuIHdxLT5mYmMuc3pf bTEgKyAxOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9j b3JlL3dxLmggYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvd3EuaApp bmRleCAxNjQ3NmNjMWE2MDIuLjMxMTI1NjU1NDUyMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL3dxLmgKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJu ZXQvbWVsbGFub3gvbWx4NS9jb3JlL3dxLmgKQEAgLTgwLDcgKzgwLDYgQEAgaW50IG1seDVfd3Ff Y3ljX2NyZWF0ZShzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqbWRldiwgc3RydWN0IG1seDVfd3FfcGFy YW0gKnBhcmFtLAogCQkgICAgICAgdm9pZCAqd3FjLCBzdHJ1Y3QgbWx4NV93cV9jeWMgKndxLAog CQkgICAgICAgc3RydWN0IG1seDVfd3FfY3RybCAqd3FfY3RybCk7CiB1MzIgbWx4NV93cV9jeWNf Z2V0X3NpemUoc3RydWN0IG1seDVfd3FfY3ljICp3cSk7Ci11MTYgbWx4NV93cV9jeWNfZ2V0X2Zy YWdfc2l6ZShzdHJ1Y3QgbWx4NV93cV9jeWMgKndxKTsKIAogaW50IG1seDVfd3FfcXBfY3JlYXRl KHN0cnVjdCBtbHg1X2NvcmVfZGV2ICptZGV2LCBzdHJ1Y3QgbWx4NV93cV9wYXJhbSAqcGFyYW0s CiAJCSAgICAgIHZvaWQgKnFwYywgc3RydWN0IG1seDVfd3FfcXAgKndxLApAQCAtMTQwLDExICsx MzksNiBAQCBzdGF0aWMgaW5saW5lIHUxNiBtbHg1X3dxX2N5Y19jdHIyaXgoc3RydWN0IG1seDVf d3FfY3ljICp3cSwgdTE2IGN0cikKIAlyZXR1cm4gY3RyICYgd3EtPmZiYy5zel9tMTsKIH0KIAot c3RhdGljIGlubGluZSB1MTYgbWx4NV93cV9jeWNfY3RyMmZyYWdpeChzdHJ1Y3QgbWx4NV93cV9j eWMgKndxLCB1MTYgY3RyKQotewotCXJldHVybiBjdHIgJiB3cS0+ZmJjLmZyYWdfc3pfbTE7Ci19 Ci0KIHN0YXRpYyBpbmxpbmUgdTE2IG1seDVfd3FfY3ljX2dldF9oZWFkKHN0cnVjdCBtbHg1X3dx X2N5YyAqd3EpCiB7CiAJcmV0dXJuIG1seDVfd3FfY3ljX2N0cjJpeCh3cSwgd3EtPndxZV9jdHIp OwpAQCAtMTYwLDYgKzE1NCwxMSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgKm1seDVfd3FfY3ljX2dl dF93cWUoc3RydWN0IG1seDVfd3FfY3ljICp3cSwgdTE2IGl4KQogCXJldHVybiBtbHg1X2ZyYWdf YnVmX2dldF93cWUoJndxLT5mYmMsIGl4KTsKIH0KIAorc3RhdGljIGlubGluZSB1MTYgbWx4NV93 cV9jeWNfZ2V0X2NvbnRpZ193cWViYnMoc3RydWN0IG1seDVfd3FfY3ljICp3cSwgdTE2IGl4KQor eworCXJldHVybiBtbHg1X2ZyYWdfYnVmX2dldF9pZHhfbGFzdF9jb250aWdfc3RyaWRlKCZ3cS0+ ZmJjLCBpeCkgLSBpeCArIDE7Cit9CisKIHN0YXRpYyBpbmxpbmUgaW50IG1seDVfd3FfY3ljX2Nj X2JpZ2dlcih1MTYgY2MxLCB1MTYgY2MyKQogewogCWludCBlcXVhbCAgID0gKGNjMSA9PSBjYzIp OwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tbHg1L2RyaXZlci5oIGIvaW5jbHVkZS9saW51 eC9tbHg1L2RyaXZlci5oCmluZGV4IDY0ZjQ1MDU5M2I1NC4uYjQ5YmZjOGU2OGIwIDEwMDY0NAot LS0gYS9pbmNsdWRlL2xpbnV4L21seDUvZHJpdmVyLmgKKysrIGIvaW5jbHVkZS9saW51eC9tbHg1 L2RyaXZlci5oCkBAIC0xMDIyLDYgKzEwMjIsMTQgQEAgc3RhdGljIGlubGluZSB2b2lkICptbHg1 X2ZyYWdfYnVmX2dldF93cWUoc3RydWN0IG1seDVfZnJhZ19idWZfY3RybCAqZmJjLAogCQkoKGZi Yy0+ZnJhZ19zel9tMSAmIGl4KSA8PCBmYmMtPmxvZ19zdHJpZGUpOwogfQogCitzdGF0aWMgaW5s aW5lIHUzMgorbWx4NV9mcmFnX2J1Zl9nZXRfaWR4X2xhc3RfY29udGlnX3N0cmlkZShzdHJ1Y3Qg bWx4NV9mcmFnX2J1Zl9jdHJsICpmYmMsIHUzMiBpeCkKK3sKKwl1MzIgbGFzdF9mcmFnX3N0cmlk ZV9pZHggPSAoaXggKyBmYmMtPnN0cmlkZXNfb2Zmc2V0KSB8IGZiYy0+ZnJhZ19zel9tMTsKKwor CXJldHVybiBtaW5fdCh1MzIsIGxhc3RfZnJhZ19zdHJpZGVfaWR4IC0gZmJjLT5zdHJpZGVzX29m ZnNldCwgZmJjLT5zel9tMSk7Cit9CisKIGludCBtbHg1X2NtZF9pbml0KHN0cnVjdCBtbHg1X2Nv cmVfZGV2ICpkZXYpOwogdm9pZCBtbHg1X2NtZF9jbGVhbnVwKHN0cnVjdCBtbHg1X2NvcmVfZGV2 ICpkZXYpOwogdm9pZCBtbHg1X2NtZF91c2VfZXZlbnRzKHN0cnVjdCBtbHg1X2NvcmVfZGV2ICpk ZXYpOwotLSAKMi4xOS4xCgoKRnJvbSBjMWZhY2Y1ZDA3MmVmMGNhNjkyM2NmNDY1YmQxOTY1MjE1 OTJiNDYzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTaGFsb20gVG9sZWRvIDxzaGFs b210QG1lbGxhbm94LmNvbT4KRGF0ZTogTW9uLCAyOSBPY3QgMjAxOCAxNDoyNjoxNiArMDAwMApT dWJqZWN0OiBbUEFUQ0ggMzkvMzldIG1seHN3OiBjb3JlOiBGaXggZGV2bGluayB1bnJlZ2lzdGVy IGZsb3cKClsgVXBzdHJlYW0gY29tbWl0IGEyMjcxMmE5NjI5MTJmYWYyNTdlODU3YWI2ODU3ZjU2 YTkzY2ZiMzQgXQoKQWZ0ZXIgYSBmYWlsZWQgcmVsb2FkLCB0aGUgZHJpdmVyIGlzIHN0aWxsIHJl Z2lzdGVyZWQgdG8gZGV2bGluaywgaXRzCmRldmxpbmsgaW5zdGFuY2UgaXMgc3RpbGwgYWxsb2Nh dGVkIGFuZCB0aGUgJ3JlbG9hZF9mYWlsJyBmbGFnIGlzIHNldC4KVGhlbiwgaW4gdGhlIG5leHQg cmVsb2FkIHRyeSwgdGhlIGRyaXZlcidzIGFsbG9jYXRlZCBkZXZsaW5rIGluc3RhbmNlIHdpbGwK YmUgZnJlZWQgd2l0aG91dCB1bnJlZ2lzdGVyaW5nIGZyb20gZGV2bGluayBhbmQgaXRzIGNvbXBv bmVudHMgKGUuZywKcmVzb3VyY2VzKS4gVGhpcyBzY2VuYXJpbyBjYW4gY2F1c2UgYSB1c2UtYWZ0 ZXItZnJlZSBpZiB0aGUgdXNlciB0cmllcyB0bwpleGVjdXRlIGNvbW1hbmQgdmlhIGRldmxpbmsg dXNlci1zcGFjZSB0b29sLgoKRml4IGJ5IG5vdCBmcmVlaW5nIHRoZSBkZXZsaW5rIGluc3RhbmNl IGR1cmluZyByZWxvYWQgKGZhaWxlZCBvciBub3QpLgoKRml4ZXM6IDI0Y2M2OGFkNmM0NiAoIm1s eHN3OiBjb3JlOiBBZGQgc3VwcG9ydCBmb3IgcmVsb2FkIikKU2lnbmVkLW9mZi1ieTogU2hhbG9t IFRvbGVkbyA8c2hhbG9tdEBtZWxsYW5veC5jb20+ClJldmlld2VkLWJ5OiBKaXJpIFBpcmtvIDxq aXJpQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogSWRvIFNjaGltbWVsIDxpZG9zY2hAbWVs bGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvY29yZS5jIHwg MjQgKysrKysrKysrKysrKysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE3IGluc2VydGlvbnMo KyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVs bGFub3gvbWx4c3cvY29yZS5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cv Y29yZS5jCmluZGV4IGY5YzcyNDc1MmEzMi4uMTM2MzZhNTM3ZjM3IDEwMDY0NAotLS0gYS9kcml2 ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9jb3JlLmMKKysrIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvY29yZS5jCkBAIC05ODUsOCArOTg1LDggQEAgc3RhdGlj IGludCBtbHhzd19kZXZsaW5rX2NvcmVfYnVzX2RldmljZV9yZWxvYWQoc3RydWN0IGRldmxpbmsg KmRldmxpbmssCiAJCQkJCSAgICAgbWx4c3dfY29yZS0+YnVzLAogCQkJCQkgICAgIG1seHN3X2Nv cmUtPmJ1c19wcml2LCB0cnVlLAogCQkJCQkgICAgIGRldmxpbmspOwotCWlmIChlcnIpCi0JCW1s eHN3X2NvcmUtPnJlbG9hZF9mYWlsID0gdHJ1ZTsKKwltbHhzd19jb3JlLT5yZWxvYWRfZmFpbCA9 ICEhZXJyOworCiAJcmV0dXJuIGVycjsKIH0KIApAQCAtMTEyNiw4ICsxMTI2LDE1IEBAIHZvaWQg bWx4c3dfY29yZV9idXNfZGV2aWNlX3VucmVnaXN0ZXIoc3RydWN0IG1seHN3X2NvcmUgKm1seHN3 X2NvcmUsCiAJY29uc3QgY2hhciAqZGV2aWNlX2tpbmQgPSBtbHhzd19jb3JlLT5idXNfaW5mby0+ ZGV2aWNlX2tpbmQ7CiAJc3RydWN0IGRldmxpbmsgKmRldmxpbmsgPSBwcml2X3RvX2Rldmxpbmso bWx4c3dfY29yZSk7CiAKLQlpZiAobWx4c3dfY29yZS0+cmVsb2FkX2ZhaWwpCi0JCWdvdG8gcmVs b2FkX2ZhaWw7CisJaWYgKG1seHN3X2NvcmUtPnJlbG9hZF9mYWlsKSB7CisJCWlmICghcmVsb2Fk KQorCQkJLyogT25seSB0aGUgcGFydHMgdGhhdCB3ZXJlIG5vdCBkZS1pbml0aWFsaXplZCBpbiB0 aGUKKwkJCSAqIGZhaWxlZCByZWxvYWQgYXR0ZW1wdCBuZWVkIHRvIGJlIGRlLWluaXRpYWxpemVk LgorCQkJICovCisJCQlnb3RvIHJlbG9hZF9mYWlsX2RlaW5pdDsKKwkJZWxzZQorCQkJcmV0dXJu OworCX0KIAogCWlmIChtbHhzd19jb3JlLT5kcml2ZXItPmZpbmkpCiAJCW1seHN3X2NvcmUtPmRy aXZlci0+ZmluaShtbHhzd19jb3JlKTsKQEAgLTExNDAsOSArMTE0NywxMiBAQCB2b2lkIG1seHN3 X2NvcmVfYnVzX2RldmljZV91bnJlZ2lzdGVyKHN0cnVjdCBtbHhzd19jb3JlICptbHhzd19jb3Jl LAogCWlmICghcmVsb2FkKQogCQlkZXZsaW5rX3Jlc291cmNlc191bnJlZ2lzdGVyKGRldmxpbmss IE5VTEwpOwogCW1seHN3X2NvcmUtPmJ1cy0+ZmluaShtbHhzd19jb3JlLT5idXNfcHJpdik7Ci0J aWYgKHJlbG9hZCkKLQkJcmV0dXJuOwotcmVsb2FkX2ZhaWw6CisKKwlyZXR1cm47CisKK3JlbG9h ZF9mYWlsX2RlaW5pdDoKKwlkZXZsaW5rX3VucmVnaXN0ZXIoZGV2bGluayk7CisJZGV2bGlua19y ZXNvdXJjZXNfdW5yZWdpc3RlcihkZXZsaW5rLCBOVUxMKTsKIAlkZXZsaW5rX2ZyZWUoZGV2bGlu ayk7CiAJbWx4c3dfY29yZV9kcml2ZXJfcHV0KGRldmljZV9raW5kKTsKIH0KLS0gCjIuMTkuMQoK ----Next_Part(Thu_Nov__1_20_55_15_2018_511)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_419.mbox" RnJvbSBiNWEyMzc0ODIwZDc3NzRhZGI1ZGE0YzVlMWIxNTAxNWUzNTQ4NzhmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBIYW5nYmluIExpdSA8bGl1aGFuZ2JpbkBnbWFpbC5jb20+CkRh dGU6IEZyaSwgMjYgT2N0IDIwMTggMTA6Mjg6NDMgKzA4MDAKU3ViamVjdDogW1BBVENIIDAxLzIw XSBicmlkZ2U6IGRvIG5vdCBhZGQgcG9ydCB0byByb3V0ZXIgbGlzdCB3aGVuIHJlY2VpdmVzCiBx dWVyeSB3aXRoIHNvdXJjZSAwLjAuMC4wCgpbIFVwc3RyZWFtIGNvbW1pdCA1YTJkZTYzZmQxYTU5 YzMwYzAyNTI2ZDQyN2JjMDE0Yjk4YWRmNTA4IF0KCkJhc2VkIG9uIFJGQyA0NTQxLCAyLjEuMS4g IElHTVAgRm9yd2FyZGluZyBSdWxlcwoKICBUaGUgc3dpdGNoIHN1cHBvcnRpbmcgSUdNUCBzbm9v cGluZyBtdXN0IG1haW50YWluIGEgbGlzdCBvZgogIG11bHRpY2FzdCByb3V0ZXJzIGFuZCB0aGUg cG9ydHMgb24gd2hpY2ggdGhleSBhcmUgYXR0YWNoZWQuICBUaGlzCiAgbGlzdCBjYW4gYmUgY29u c3RydWN0ZWQgaW4gYW55IGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgd2F5czoKCiAgYSkg VGhpcyBsaXN0IHNob3VsZCBiZSBidWlsdCBieSB0aGUgc25vb3Bpbmcgc3dpdGNoIHNlbmRpbmcK ICAgICBNdWx0aWNhc3QgUm91dGVyIFNvbGljaXRhdGlvbiBtZXNzYWdlcyBhcyBkZXNjcmliZWQg aW4gSUdNUAogICAgIE11bHRpY2FzdCBSb3V0ZXIgRGlzY292ZXJ5IFtNUkRJU0NdLiAgSXQgbWF5 IGFsc28gc25vb3AKICAgICBNdWx0aWNhc3QgUm91dGVyIEFkdmVydGlzZW1lbnQgbWVzc2FnZXMg c2VudCBieSBhbmQgdG8gb3RoZXIKICAgICBub2Rlcy4KCiAgYikgVGhlIGFycml2YWwgcG9ydCBm b3IgSUdNUCBRdWVyaWVzIChzZW50IGJ5IG11bHRpY2FzdCByb3V0ZXJzKQogICAgIHdoZXJlIHRo ZSBzb3VyY2UgYWRkcmVzcyBpcyBub3QgMC4wLjAuMC4KCldlIHNob3VsZCBub3QgYWRkIHRoZSBw b3J0IHRvIHJvdXRlciBsaXN0IHdoZW4gcmVjZWl2ZXMgcXVlcnkgd2l0aCBzb3VyY2UKMC4wLjAu MC4KClJlcG9ydGVkLWJ5OiBZaW5nIFh1IDx5aW54dUByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5 OiBIYW5nYmluIExpdSA8bGl1aGFuZ2JpbkBnbWFpbC5jb20+CkFja2VkLWJ5OiBOaWtvbGF5IEFs ZWtzYW5kcm92IDxuaWtvbGF5QGN1bXVsdXNuZXR3b3Jrcy5jb20+CkFja2VkLWJ5OiBSb29wYSBQ cmFiaHUgPHJvb3BhQGN1bXVsdXNuZXR3b3Jrcy5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMu IE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvYnJpZGdlL2JyX211bHRpY2Fz dC5jIHwgMTAgKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9icmlkZ2UvYnJfbXVsdGljYXN0LmMgYi9uZXQv YnJpZGdlL2JyX211bHRpY2FzdC5jCmluZGV4IDIwZWQ3YWRjZjFjYy4uZWYwZWZiM2U2YjkxIDEw MDY0NAotLS0gYS9uZXQvYnJpZGdlL2JyX211bHRpY2FzdC5jCisrKyBiL25ldC9icmlkZ2UvYnJf bXVsdGljYXN0LmMKQEAgLTE0MjAsNyArMTQyMCwxNSBAQCBzdGF0aWMgdm9pZCBicl9tdWx0aWNh c3RfcXVlcnlfcmVjZWl2ZWQoc3RydWN0IG5ldF9icmlkZ2UgKmJyLAogCQlyZXR1cm47CiAKIAli cl9tdWx0aWNhc3RfdXBkYXRlX3F1ZXJ5X3RpbWVyKGJyLCBxdWVyeSwgbWF4X2RlbGF5KTsKLQli cl9tdWx0aWNhc3RfbWFya19yb3V0ZXIoYnIsIHBvcnQpOworCisJLyogQmFzZWQgb24gUkZDNDU0 MSwgc2VjdGlvbiAyLjEuMSBJR01QIEZvcndhcmRpbmcgUnVsZXMsCisJICogdGhlIGFycml2YWwg cG9ydCBmb3IgSUdNUCBRdWVyaWVzIHdoZXJlIHRoZSBzb3VyY2UgYWRkcmVzcworCSAqIGlzIDAu MC4wLjAgc2hvdWxkIG5vdCBiZSBhZGRlZCB0byByb3V0ZXIgcG9ydCBsaXN0LgorCSAqLworCWlm ICgoc2FkZHItPnByb3RvID09IGh0b25zKEVUSF9QX0lQKSAmJiBzYWRkci0+dS5pcDQpIHx8CisJ ICAgIChzYWRkci0+cHJvdG8gPT0gaHRvbnMoRVRIX1BfSVBWNikgJiYKKwkgICAgICFpcHY2X2Fk ZHJfYW55KCZzYWRkci0+dS5pcDYpKSkKKwkJYnJfbXVsdGljYXN0X21hcmtfcm91dGVyKGJyLCBw b3J0KTsKIH0KIAogc3RhdGljIHZvaWQgYnJfaXA0X211bHRpY2FzdF9xdWVyeShzdHJ1Y3QgbmV0 X2JyaWRnZSAqYnIsCi0tIAoyLjE5LjEKCgpGcm9tIGZjYzhmZjNkZWE3YzkwYTgwYjY0OWJmZWU2 ZTM2YmFhMzhkNjg3ODkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFN0ZWZhbm8gQnJp dmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+CkRhdGU6IFdlZCwgMjQgT2N0IDIwMTggMTQ6Mzc6MjEg KzAyMDAKU3ViamVjdDogW1BBVENIIDAyLzIwXSBpcHY2L25kaXNjOiBQcmVzZXJ2ZSBJUHY2IGNv bnRyb2wgYnVmZmVyIGlmIHByb3RvY29sCiBlcnJvciBoYW5kbGVycyBhcmUgY2FsbGVkCgpbIFVw c3RyZWFtIGNvbW1pdCBlZTFhYmNmNjg5MzUzZjM2ZDkzMjIyMzFiNDMyMDkyNjA5NmJkZWUwIF0K CkNvbW1pdCBhNjFiYmNmMjhhOGMgKCJbTkVUXTogU3RvcmUgc2tiLT50aW1lc3RhbXAgYXMgb2Zm c2V0IHRvIGEgYmFzZQp0aW1lc3RhbXAiKSBpbnRyb2R1Y2VzIGEgbmVpZ2hib3VyIGNvbnRyb2wg YnVmZmVyIGFuZCB6ZXJvZXMgaXQgb3V0IGluCm5kaXNjX3JjdigpLCBhcyBuZGlzY19yZWN2X25z KCkgdXNlcyBpdC4KCkNvbW1pdCBmMjc3NmZmMDQ3MjIgKCJbSVBWNl06IEZpeCBhZGRyZXNzL2lu dGVyZmFjZSBoYW5kbGluZyBpbiBVRFAgYW5kCkRDQ1AsIGFjY29yZGluZyB0byB0aGUgc2NvcGlu ZyBhcmNoaXRlY3R1cmUuIikgaW50cm9kdWNlcyB0aGUgdXNhZ2Ugb2YgdGhlCklQdjYgY29udHJv bCBidWZmZXIgaW4gcHJvdG9jb2wgZXJyb3IgaGFuZGxlcnMgKGUuZy4gaW5ldDZfaWlmKCkgaW4K cHJlc2VudC1kYXkgX191ZHA2X2xpYl9lcnIoKSkuCgpOb3csIHdpdGggY29tbWl0IGI5NGYxYzA5 MDRkYSAoImlwdjY6IFVzZSBpY21wdjZfbm90aWZ5KCkgdG8gcHJvcGFnYXRlCnJlZGlyZWN0LCBp bnN0ZWFkIG9mIHJ0Nl9yZWRpcmVjdCgpLiIpLCB3ZSBjYWxsIHByb3RvY29sIGVycm9yIGhhbmRs ZXJzCmZyb20gbmRpc2NfcmVkaXJlY3RfcmN2KCksIGFmdGVyIHRoZSBjb250cm9sIGJ1ZmZlciBp cyBhbHJlYWR5IHN0b2xlbiBhbmQKc29tZSBwYXJ0cyBhcmUgYWxyZWFkeSB6ZXJvZWQgb3V0LiBU aGlzIGltcGxpZXMgdGhhdCBpbmV0Nl9paWYoKSBvbiB0aGlzCnBhdGggd2lsbCBhbHdheXMgcmV0 dXJuIHplcm8uCgpUaGlzIGdpdmVzIHVuZXhwZWN0ZWQgcmVzdWx0cyBvbiBVRFAgc29ja2V0IGxv b2t1cCBpbiBfX3VkcDZfbGliX2VycigpLCBhcwp3ZSBtaWdodCBhY3R1YWxseSBuZWVkIHRvIG1h dGNoIHNvY2tldHMgZm9yIGEgZ2l2ZW4gaW50ZXJmYWNlLgoKSW5zdGVhZCBvZiBhbHdheXMgY2xh aW1pbmcgdGhlIGNvbnRyb2wgYnVmZmVyIGluIG5kaXNjX3JjdigpLCBkbyB0aGF0IG9ubHkKd2hl biBuZWVkZWQuCgpGaXhlczogYjk0ZjFjMDkwNGRhICgiaXB2NjogVXNlIGljbXB2Nl9ub3RpZnko KSB0byBwcm9wYWdhdGUgcmVkaXJlY3QsIGluc3RlYWQgb2YgcnQ2X3JlZGlyZWN0KCkuIikKU2ln bmVkLW9mZi1ieTogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4KUmV2aWV3ZWQt Ynk6IFNhYnJpbmEgRHVicm9jYSA8c2RAcXVlYXN5c25haWwubmV0PgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjYvbmRpc2Mu YyB8IDMgKy0tCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDIgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvbmRpc2MuYyBiL25ldC9pcHY2L25kaXNjLmMKaW5kZXgg MGVjMjczOTk3ZDFkLi42NzNhNGE5MzJmMmEgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L25kaXNjLmMK KysrIGIvbmV0L2lwdjYvbmRpc2MuYwpAQCAtMTczMiwxMCArMTczMiw5IEBAIGludCBuZGlzY19y Y3Yoc3RydWN0IHNrX2J1ZmYgKnNrYikKIAkJcmV0dXJuIDA7CiAJfQogCi0JbWVtc2V0KE5FSUdI X0NCKHNrYiksIDAsIHNpemVvZihzdHJ1Y3QgbmVpZ2hib3VyX2NiKSk7Ci0KIAlzd2l0Y2ggKG1z Zy0+aWNtcGguaWNtcDZfdHlwZSkgewogCWNhc2UgTkRJU0NfTkVJR0hCT1VSX1NPTElDSVRBVElP TjoKKwkJbWVtc2V0KE5FSUdIX0NCKHNrYiksIDAsIHNpemVvZihzdHJ1Y3QgbmVpZ2hib3VyX2Ni KSk7CiAJCW5kaXNjX3JlY3ZfbnMoc2tiKTsKIAkJYnJlYWs7CiAKLS0gCjIuMTkuMQoKCkZyb20g NWViZTY0NDgzZWY1MmY4YjdhNzliZmMyN2ViNGQxYTY5NTAxOTk2YyBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBU dWUsIDMwIE9jdCAyMDE4IDAwOjU3OjI1IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwMy8yMF0gbmV0 L21seDVlOiBmaXggY3N1bSBhZGp1c3RtZW50cyBjYXVzZWQgYnkgUlhGQ1MKTUlNRS1WZXJzaW9u OiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJh bnNmZXItRW5jb2Rpbmc6IDhiaXQKClsgVXBzdHJlYW0gY29tbWl0IGQ0ODA1MWM1YjgzNzYwMzhj MmIyODdjM2IxYmQ1NWI4ZDM5MWQ1NjcgXQoKQXMgc2hvd24gYnkgRG1pdHJpcywgd2UgbmVlZCB0 byB1c2UgY3N1bV9ibG9ja19hZGQoKSBpbnN0ZWFkIG9mIGNzdW1fYWRkKCkKd2hlbiBhZGRpbmcg dGhlIEZDUyBjb250cmlidXRpb24gdG8gc2tiIGNzdW0uCgpCZWZvcmUgNC4xOCAobW9yZSBleGFj dGx5IGNvbW1pdCA4ODA3OGQ5OGQxYmIgIm5ldDogcHNrYl90cmltX3Jjc3VtKCkKYW5kIENIRUNL U1VNX0NPTVBMRVRFIGFyZSBmcmllbmRzIiksIHRoZSB3aG9sZSBza2IgY3N1bSB3YXMgdGhyb3du IGF3YXksCnNvIFJYRkNTIGNoYW5nZXMgd2VyZSBpZ25vcmVkLgoKVGhlbiBiZWZvcmUgY29tbWl0 IGQ1NWJlZjUwNTlkZCAoIm5ldDogZml4IHBza2JfdHJpbV9yY3N1bV9zbG93KCkgd2l0aApvZGQg dHJpbSBvZmZzZXQiKSBib3RoIG1seDUgYW5kIHBza2JfdHJpbV9yY3N1bV9zbG93KCkgYnVncyB3 ZXJlIGNhbmNlbGluZwplYWNoIG90aGVyLgoKTm93IHdlIGZpeGVkIHBza2JfdHJpbV9yY3N1bV9z bG93KCkgd2UgbmVlZCB0byBmaXggbWx4NS4KCk5vdGUgdGhhdCB0aGlzIHBhdGNoIGFsc28gcmV3 cml0ZXMgbWx4NWVfZ2V0X2ZjcygpIHRvIDoKCi0gVXNlIHNrYl9oZWFkZXJfcG9pbnRlcigpIGlu c3RlYWQgb2YgcmVpbnZlbnRpbmcgaXQuCi0gVXNlIF9fZ2V0X3VuYWxpZ25lZF9jcHUzMigpIHRv IGF2b2lkIHBvc3NpYmxlIG5vbiBhbGlnbmVkIGFjY2Vzc2VzCiAgYXMgRG1pdHJpcyBwb2ludGVk IG91dC4KCkZpeGVzOiA5MDJhNTQ1OTA0YzcgKCJuZXQvbWx4NWU6IFdoZW4gUlhGQ1MgaXMgc2V0 LCBhZGQgRkNTIGRhdGEgaW50byBjaGVja3N1bSBjYWxjdWxhdGlvbiIpClJlcG9ydGVkLWJ5OiBQ YXdlxYIgU3Rhc3pld3NraSA8cHN0YXN6ZXdza2lAaXRjYXJlLnBsPgpTaWduZWQtb2ZmLWJ5OiBF cmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkNjOiBFcmFuIEJlbiBFbGlzaGEgPGVy YW5iZUBtZWxsYW5veC5jb20+CkNjOiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNv bT4KQ2M6IERpbWl0cmlzIE1pY2hhaWxpZGlzIDxkbWljaGFpbEBnb29nbGUuY29tPgpDYzogQ29u ZyBXYW5nIDx4aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+CkNjOiBQYXdlxYIgU3Rhc3pld3NraSA8 cHN0YXN6ZXdza2lAaXRjYXJlLnBsPgpSZXZpZXdlZC1ieTogRXJhbiBCZW4gRWxpc2hhIDxlcmFu YmVAbWVsbGFub3guY29tPgpUZXN0ZWQtQnk6IE1hcmlhIFBhc2VjaG5payA8bWFyaWFwQG1lbGxh bm94LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIC4uLi9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX3J4LmMgICB8 IDQ1ICsrKystLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyks IDM2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxh bm94L21seDUvY29yZS9lbl9yeC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4 NS9jb3JlL2VuX3J4LmMKaW5kZXggMDAxNzJkZWU1MzM5Li5hMTQ0MTQ2Yjc2OWMgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9yeC5jCisrKyBi L2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9yeC5jCkBAIC02OTYs NDMgKzY5NiwxNSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNfbGFzdF9ldGhlcnR5cGVfaXAoc3Ry dWN0IHNrX2J1ZmYgKnNrYiwgaW50ICpuZXR3b3JrX2RlcHRoKQogCXJldHVybiAoZXRoZXJ0eXBl ID09IGh0b25zKEVUSF9QX0lQKSB8fCBldGhlcnR5cGUgPT0gaHRvbnMoRVRIX1BfSVBWNikpOwog fQogCi1zdGF0aWMgX19iZTMyIG1seDVlX2dldF9mY3Moc3RydWN0IHNrX2J1ZmYgKnNrYikKK3N0 YXRpYyB1MzIgbWx4NWVfZ2V0X2Zjcyhjb25zdCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogewotCWlu dCBsYXN0X2ZyYWdfc3osIGJ5dGVzX2luX3ByZXYsIG5yX2ZyYWdzOwotCXU4ICpmY3NfcDEsICpm Y3NfcDI7Ci0Jc2tiX2ZyYWdfdCAqbGFzdF9mcmFnOwotCV9fYmUzMiBmY3NfYnl0ZXM7CisJY29u c3Qgdm9pZCAqZmNzX2J5dGVzOworCXUzMiBfZmNzX2J5dGVzOwogCi0JaWYgKCFza2JfaXNfbm9u bGluZWFyKHNrYikpCi0JCXJldHVybiAqKF9fYmUzMiAqKShza2ItPmRhdGEgKyBza2ItPmxlbiAt IEVUSF9GQ1NfTEVOKTsKKwlmY3NfYnl0ZXMgPSBza2JfaGVhZGVyX3BvaW50ZXIoc2tiLCBza2It PmxlbiAtIEVUSF9GQ1NfTEVOLAorCQkJCSAgICAgICBFVEhfRkNTX0xFTiwgJl9mY3NfYnl0ZXMp OwogCi0JbnJfZnJhZ3MgPSBza2Jfc2hpbmZvKHNrYiktPm5yX2ZyYWdzOwotCWxhc3RfZnJhZyA9 ICZza2Jfc2hpbmZvKHNrYiktPmZyYWdzW25yX2ZyYWdzIC0gMV07Ci0JbGFzdF9mcmFnX3N6ID0g c2tiX2ZyYWdfc2l6ZShsYXN0X2ZyYWcpOwotCi0JLyogSWYgYWxsIEZDUyBkYXRhIGlzIGluIGxh c3QgZnJhZyAqLwotCWlmIChsYXN0X2ZyYWdfc3ogPj0gRVRIX0ZDU19MRU4pCi0JCXJldHVybiAq KF9fYmUzMiAqKShza2JfZnJhZ19hZGRyZXNzKGxhc3RfZnJhZykgKwotCQkJCSAgIGxhc3RfZnJh Z19zeiAtIEVUSF9GQ1NfTEVOKTsKLQotCWZjc19wMiA9ICh1OCAqKXNrYl9mcmFnX2FkZHJlc3Mo bGFzdF9mcmFnKTsKLQlieXRlc19pbl9wcmV2ID0gRVRIX0ZDU19MRU4gLSBsYXN0X2ZyYWdfc3o7 Ci0KLQkvKiBGaW5kIHdoZXJlIHRoZSBvdGhlciBwYXJ0IG9mIHRoZSBGQ1MgaXMgLSBMaW5lYXIg b3IgYW5vdGhlciBmcmFnICovCi0JaWYgKG5yX2ZyYWdzID09IDEpIHsKLQkJZmNzX3AxID0gc2ti X3RhaWxfcG9pbnRlcihza2IpOwotCX0gZWxzZSB7Ci0JCXNrYl9mcmFnX3QgKnByZXZfZnJhZyA9 ICZza2Jfc2hpbmZvKHNrYiktPmZyYWdzW25yX2ZyYWdzIC0gMl07Ci0KLQkJZmNzX3AxID0gc2ti X2ZyYWdfYWRkcmVzcyhwcmV2X2ZyYWcpICsKLQkJCSAgICBza2JfZnJhZ19zaXplKHByZXZfZnJh Zyk7Ci0JfQotCWZjc19wMSAtPSBieXRlc19pbl9wcmV2OwotCi0JbWVtY3B5KCZmY3NfYnl0ZXMs IGZjc19wMSwgYnl0ZXNfaW5fcHJldik7Ci0JbWVtY3B5KCgodTggKikmZmNzX2J5dGVzKSArIGJ5 dGVzX2luX3ByZXYsIGZjc19wMiwgbGFzdF9mcmFnX3N6KTsKLQotCXJldHVybiBmY3NfYnl0ZXM7 CisJcmV0dXJuIF9fZ2V0X3VuYWxpZ25lZF9jcHUzMihmY3NfYnl0ZXMpOwogfQogCiBzdGF0aWMg aW5saW5lIHZvaWQgbWx4NWVfaGFuZGxlX2NzdW0oc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldiwK QEAgLTc2NSw4ICs3MzcsOSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgbWx4NWVfaGFuZGxlX2NzdW0o c3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldiwKIAkJCQkJCSBuZXR3b3JrX2RlcHRoIC0gRVRIX0hM RU4sCiAJCQkJCQkgc2tiLT5jc3VtKTsKIAkJaWYgKHVubGlrZWx5KG5ldGRldi0+ZmVhdHVyZXMg JiBORVRJRl9GX1JYRkNTKSkKLQkJCXNrYi0+Y3N1bSA9IGNzdW1fYWRkKHNrYi0+Y3N1bSwKLQkJ CQkJICAgICAoX19mb3JjZSBfX3dzdW0pbWx4NWVfZ2V0X2Zjcyhza2IpKTsKKwkJCXNrYi0+Y3N1 bSA9IGNzdW1fYmxvY2tfYWRkKHNrYi0+Y3N1bSwKKwkJCQkJCSAgIChfX2ZvcmNlIF9fd3N1bSlt bHg1ZV9nZXRfZmNzKHNrYiksCisJCQkJCQkgICBza2ItPmxlbiAtIEVUSF9GQ1NfTEVOKTsKIAkJ c3RhdHMtPmNzdW1fY29tcGxldGUrKzsKIAkJcmV0dXJuOwogCX0KLS0gCjIuMTkuMQoKCkZyb20g MWE5MGNiOTZhZDM2ZmM4NzVjNTE2YzUxZmZhMDk4MmQ1NDYxYzUzOCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogSmFrdWIgS2ljaW5za2kgPGpha3ViLmtpY2luc2tpQG5ldHJvbm9tZS5j b20+CkRhdGU6IEZyaSwgMjYgT2N0IDIwMTggMTU6NTE6MDYgLTA3MDAKU3ViamVjdDogW1BBVENI IDA0LzIwXSBuZXQ6IHNjaGVkOiBncmVkOiBwYXNzIHRoZSByaWdodCBhdHRyaWJ1dGUgdG8KIGdy ZWRfY2hhbmdlX3RhYmxlX2RlZigpCgpbIFVwc3RyZWFtIGNvbW1pdCAzOGI0ZjE4ZDU2MzcyZTFl MjE3NzFhYjdiMDM1N2I4NTMzMzAxODZjIF0KCmdyZWRfY2hhbmdlX3RhYmxlX2RlZigpIHRha2Vz IGEgcG9pbnRlciB0byBUQ0FfR1JFRF9EUFMgYXR0cmlidXRlLAphbmQgZXhwZWN0cyBpdCB3aWxs IGJlIGFibGUgdG8gaW50ZXJwcmV0IGl0cyBjb250ZW50cyBhcwpzdHJ1Y3QgdGNfZ3JlZF9zb3B0 LiAgUGFzcyB0aGUgY29ycmVjdCBncmVkIGF0dHJpYnV0ZSwgaW5zdGVhZCBvZgpUQ0FfT1BUSU9O Uy4KClRoaXMgYnVnIG1lYW50IHRoZSB0YWJsZSBkZWZpbml0aW9uIGNvdWxkIG5ldmVyIGJlIGNo YW5nZWQgYWZ0ZXIKUWRpc2Mgd2FzIGluaXRpYWxpemVkICh1bmxlc3Mgd2hhdGV2ZXIgVENBX09Q VElPTlMgY29udGFpbmVkIGJvdGgKcGFzc2VkIG5ldGxpbmsgdmFsaWRhdGlvbiBhbmQgd2FzIGEg dmFsaWQgc3RydWN0IHRjX2dyZWRfc29wdC4uLikuCgpPbGQgYmVoYXZpb3VyOgokIGlwIGxpbmsg YWRkIHR5cGUgZHVtbXkKJCB0YyBxZGlzYyByZXBsYWNlIGRldiBkdW1teTAgcGFyZW50IHJvb3Qg aGFuZGxlIDc6IFwKICAgICBncmVkIHNldHVwIHZxcyA0IGRlZmF1bHQgMAokIHRjIHFkaXNjIHJl cGxhY2UgZGV2IGR1bW15MCBwYXJlbnQgcm9vdCBoYW5kbGUgNzogXAogICAgIGdyZWQgc2V0dXAg dnFzIDQgZGVmYXVsdCAwClJUTkVUTElOSyBhbnN3ZXJzOiBJbnZhbGlkIGFyZ3VtZW50CgpOb3c6 CiQgaXAgbGluayBhZGQgdHlwZSBkdW1teQokIHRjIHFkaXNjIHJlcGxhY2UgZGV2IGR1bW15MCBw YXJlbnQgcm9vdCBoYW5kbGUgNzogXAogICAgIGdyZWQgc2V0dXAgdnFzIDQgZGVmYXVsdCAwCiQg dGMgcWRpc2MgcmVwbGFjZSBkZXYgZHVtbXkwIHBhcmVudCByb290IGhhbmRsZSA3OiBcCiAgICAg Z3JlZCBzZXR1cCB2cXMgNCBkZWZhdWx0IDAKJCB0YyBxZGlzYyByZXBsYWNlIGRldiBkdW1teTAg cGFyZW50IHJvb3QgaGFuZGxlIDc6IFwKICAgICBncmVkIHNldHVwIHZxcyA0IGRlZmF1bHQgMAoK Rml4ZXM6IGY2MmQ2YjkzNmRmNSAoIltQS1RfU0NIRURdOiBHUkVEOiBVc2UgY2VudHJhbCBWUSBj aGFuZ2UgcHJvY2VkdXJlIikKU2lnbmVkLW9mZi1ieTogSmFrdWIgS2ljaW5za2kgPGpha3ViLmtp Y2luc2tpQG5ldHJvbm9tZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQvc2NoX2dyZWQuYyB8IDIgKy0KIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25l dC9zY2hlZC9zY2hfZ3JlZC5jIGIvbmV0L3NjaGVkL3NjaF9ncmVkLmMKaW5kZXggY2JlNDgzMWY0 NmY0Li40YTA0MmFiZjg0NGMgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9zY2hfZ3JlZC5jCisrKyBi L25ldC9zY2hlZC9zY2hfZ3JlZC5jCkBAIC00MTMsNyArNDEzLDcgQEAgc3RhdGljIGludCBncmVk X2NoYW5nZShzdHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0IG5sYXR0ciAqb3B0LAogCWlmICh0YltU Q0FfR1JFRF9QQVJNU10gPT0gTlVMTCAmJiB0YltUQ0FfR1JFRF9TVEFCXSA9PSBOVUxMKSB7CiAJ CWlmICh0YltUQ0FfR1JFRF9MSU1JVF0gIT0gTlVMTCkKIAkJCXNjaC0+bGltaXQgPSBubGFfZ2V0 X3UzMih0YltUQ0FfR1JFRF9MSU1JVF0pOwotCQlyZXR1cm4gZ3JlZF9jaGFuZ2VfdGFibGVfZGVm KHNjaCwgb3B0KTsKKwkJcmV0dXJuIGdyZWRfY2hhbmdlX3RhYmxlX2RlZihzY2gsIHRiW1RDQV9H UkVEX0RQU10pOwogCX0KIAogCWlmICh0YltUQ0FfR1JFRF9QQVJNU10gPT0gTlVMTCB8fAotLSAK Mi4xOS4xCgoKRnJvbSAxY2UxNWRhOGUzNTQxYmI0ZTI2NDcxZDQyZjY5MGMzY2QyMjkxOWRjIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOaWtsYXMgQ2Fzc2VsIDxuaWtsYXMuY2Fzc2Vs QGxpbmFyby5vcmc+CkRhdGU6IFdlZCwgMzEgT2N0IDIwMTggMTY6MDg6MTAgKzAxMDAKU3ViamVj dDogW1BBVENIIDA1LzIwXSBuZXQ6IHN0bW1hYzogRml4IHN0bW1hY19tZGlvX3Jlc2V0KCkgd2hl biBidWlsZGluZwogc3RtbWFjIGFzIG1vZHVsZXMKClsgVXBzdHJlYW0gY29tbWl0IDMwNTQ5YWFi MTQ2Y2NiMTI3NTIzMGMzYjRiNGJjNmI0MTgxZmQ1NGUgXQoKV2hlbiBidWlsZGluZyBzdG1tYWMs IGl0IGlzIG9ubHkgcG9zc2libGUgdG8gc2VsZWN0IENPTkZJR19EV01BQ19HRU5FUklDLApvciBh bnkgb2YgdGhlIGdsdWUgZHJpdmVycywgd2hlbiBDT05GSUdfU1RNTUFDX1BMQVRGT1JNIGlzIHNl dC4KVGhlIG9ubHkgZXhjZXB0aW9uIGlzIENPTkZJR19TVE1NQUNfUENJLgoKV2hlbiBjYWxsaW5n IG9mX21kaW9idXNfcmVnaXN0ZXIoKSwgaXQgd2lsbCBjYWxsIG91ciAtPnJlc2V0KCkKY2FsbGJh Y2ssIHdoaWNoIGlzIHNldCB0byBzdG1tYWNfbWRpb19yZXNldCgpLgoKTW9zdCBvZiB0aGUgY29k ZSBpbiBzdG1tYWNfbWRpb19yZXNldCgpIGlzIHByb3RlY3RlZCBieSBhCiIjaWYgZGVmaW5lZChD T05GSUdfU1RNTUFDX1BMQVRGT1JNKSIsIHdoaWNoIHdpbGwgZXZhbHVhdGUKdG8gZmFsc2Ugd2hl biBDT05GSUdfU1RNTUFDX1BMQVRGT1JNPW0uCgpCZWNhdXNlIG9mIHRoaXMsIHRoZSBwaHkgcmVz ZXQgZ3BpbyB3aWxsIG9ubHkgYmUgcHVsbGVkIHdoZW4Kc3RtbWFjIGlzIGJ1aWx0IGFzIGJ1aWx0 LWluLCBidXQgbm90IHdoZW4gYnVpbHQgYXMgbW9kdWxlcy4KCkZpeCB0aGlzIGJ5IHVzaW5nICIj aWYgSVNfRU5BQkxFRCgpIiBpbnN0ZWFkIG9mICIjaWYgZGVmaW5lZCgpIi4KClNpZ25lZC1vZmYt Ynk6IE5pa2xhcyBDYXNzZWwgPG5pa2xhcy5jYXNzZWxAbGluYXJvLm9yZz4KU2lnbmVkLW9mZi1i eTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0 L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tZGlvLmMgfCAyICstCiAxIGZpbGUgY2hh bmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWRpby5jIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYwppbmRleCBiNzJlZjE3MTQ3N2Uu LmJkZDM1MTU5N2I1NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9z dG1tYWMvc3RtbWFjX21kaW8uYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0 bW1hYy9zdG1tYWNfbWRpby5jCkBAIC0yNDMsNyArMjQzLDcgQEAgc3RhdGljIGludCBzdG1tYWNf bWRpb193cml0ZShzdHJ1Y3QgbWlpX2J1cyAqYnVzLCBpbnQgcGh5YWRkciwgaW50IHBoeXJlZywK ICAqLwogaW50IHN0bW1hY19tZGlvX3Jlc2V0KHN0cnVjdCBtaWlfYnVzICpidXMpCiB7Ci0jaWYg ZGVmaW5lZChDT05GSUdfU1RNTUFDX1BMQVRGT1JNKQorI2lmIElTX0VOQUJMRUQoQ09ORklHX1NU TU1BQ19QTEFURk9STSkKIAlzdHJ1Y3QgbmV0X2RldmljZSAqbmRldiA9IGJ1cy0+cHJpdjsKIAlz dHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihuZGV2KTsKIAl1bnNpZ25lZCBp bnQgbWlpX2FkZHJlc3MgPSBwcml2LT5ody0+bWlpLmFkZHI7Ci0tIAoyLjE5LjEKCgpGcm9tIDg4 YTliZWViNTM5YjI0YmJiZGQ5MDI4OGExYWJlZWIwNmYyNDFhMmQgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IFNlYW4gVHJhbmNoZXR0aSA8c3RyYW5jaGVAY29kZWF1cm9yYS5vcmc+CkRh dGU6IFR1ZSwgMjMgT2N0IDIwMTggMTY6MDQ6MzEgLTA2MDAKU3ViamVjdDogW1BBVENIIDA2LzIw XSBuZXQ6IHVkcDogZml4IGhhbmRsaW5nIG9mIENIRUNLU1VNX0NPTVBMRVRFIHBhY2tldHMKClsg VXBzdHJlYW0gY29tbWl0IGRiNGYxYmUzY2E5YjBlZjczMzA3NjNkMDdiZjRhY2U4M2FkNmY5MTMg XQoKQ3VycmVudCBoYW5kbGluZyBvZiBDSEVDS1NVTV9DT01QTEVURSBwYWNrZXRzIGJ5IHRoZSBV RFAgc3RhY2sgaXMKaW5jb3JyZWN0IGZvciBhbnkgcGFja2V0IHRoYXQgaGFzIGFuIGluY29ycmVj dCBjaGVja3N1bSB2YWx1ZS4KCnVkcDQvNl9jc3VtX2luaXQoKSB3aWxsIGJvdGggbWFrZSBhIGNh bGwgdG8KX19za2JfY2hlY2tzdW1fdmFsaWRhdGVfY29tcGxldGUoKSB0byBpbml0aWFsaXplL3Zh bGlkYXRlIHRoZSBjc3VtCmZpZWxkIHdoZW4gcmVjZWl2aW5nIGEgQ0hFQ0tTVU1fQ09NUExFVEUg cGFja2V0LiBXaGVuIHRoaXMgcGFja2V0CmZhaWxzIHZhbGlkYXRpb24sIHNrYi0+Y3N1bSB3aWxs IGJlIG92ZXJ3cml0dGVuIHdpdGggdGhlIHBzZXVkb2hlYWRlcgpjaGVja3N1bSBzbyB0aGUgcGFj a2V0IGNhbiBiZSBmdWxseSB2YWxpZGF0ZWQgYnkgc29mdHdhcmUsIGJ1dCB0aGUKc2tiLT5pcF9z dW1tZWQgdmFsdWUgd2lsbCBiZSBsZWZ0IGFzIENIRUNLU1VNX0NPTVBMRVRFIHNvIHRoYXQgd2F5 CnRoZSBzdGFjayBjYW4gbGF0ZXIgd2FybiB0aGUgdXNlciBhYm91dCB0aGVpciBoYXJkd2FyZSBz cGV3aW5nIGJhZApjaGVja3N1bXMuIFVuZm9ydHVuYXRlbHksIGxlYXZpbmcgdGhlIFNLQiBpbiB0 aGlzIHN0YXRlIGNhbiBjYXVzZQpwcm9ibGVtcyBsYXRlciBvbiBpbiB0aGUgY2hlY2tzdW0gY2Fs Y3VsYXRpb24uCgpTaW5jZSB0aGUgdGhlIHBhY2tldCBpcyBzdGlsbCBtYXJrZWQgYXMgQ0hFQ0tT VU1fQ09NUExFVEUsCnVkcF9jc3VtX3B1bGxfaGVhZGVyKCkgd2lsbCBTVUJUUkFDVCB0aGUgY2hl Y2tzdW0gb2YgdGhlIFVEUCBoZWFkZXIKZnJvbSBza2ItPmNzdW0gaW5zdGVhZCBvZiBhZGRpbmcg aXQsIGxlYXZpbmcgdXMgd2l0aCBhIGdhcmJhZ2UgdmFsdWUKaW4gdGhhdCBmaWVsZC4gT25jZSB3 ZSB0cnkgdG8gY29weSB0aGUgcGFja2V0IHRvIHVzZXJzcGFjZSBpbiB0aGUKdWRwNC82X3JlY3Zt c2coKSwgd2UnbGwgbWFrZSBhIGNhbGwgdG8gc2tiX2NvcHlfYW5kX2NzdW1fZGF0YWdyYW1fbXNn KCkKdG8gY2hlY2tzdW0gdGhlIHBhY2tldCBkYXRhIGFuZCBhZGQgaXQgaW4gdGhlIGdhcmJhZ2Ug c2tiLT5jc3VtIHZhbHVlCnRvIHBlcmZvcm0gb3VyIGZpbmFsIHZhbGlkYXRpb24gY2hlY2suCgpT aW5jZSB0aGUgdmFsdWUgd2UncmUgdmFsaWRhdGluZyBpcyBub3QgdGhlIHByb3BlciBjaGVja3N1 bSwgaXQncyBwb3NzaWJsZQp0aGF0IHRoZSBmb2xkZWQgdmFsdWUgY291bGQgY29tZSBvdXQgdG8g MCwgY2F1c2luZyB1cyBub3QgdG8gZHJvcCB0aGUKcGFja2V0LiBJbnN0ZWFkLCB3ZSBiZWxpZXZl IHRoYXQgdGhlIHBhY2tldCB3YXMgY2hlY2tzdW1tZWQgaW5jb3JyZWN0bHkKYnkgaGFyZHdhcmUg c2luY2Ugc2tiLT5pcF9zdW1tZWQgaXMgc3RpbGwgQ0hFQ0tTVU1fQ09NUExFVEUsIGFuZCB3ZSBh dHRlbXB0CnRvIHdhcm4gdGhlIHVzZXIgd2l0aCBuZXRkZXZfcnhfY3N1bV9mYXVsdChza2ItPmRl dik7CgpVbmZvcnR1bmF0ZWx5LCBzaW5jZSB0aGlzIGlzIHRoZSBVRFAgcGF0aCwgc2tiLT5kZXYg aGFzIGJlZW4gb3ZlcndyaXR0ZW4KYnkgc2tiLT5kZXZfc2NyYXRjaCBhbmQgaXMgbm8gbG9uZ2Vy IGEgdmFsaWQgcG9pbnRlciwgc28gd2UgZW5kIHVwCnJlYWRpbmcgaW52YWxpZCBtZW1vcnkuCgpU aGlzIHBhdGNoIGFkZHJlc3NlcyB0aGlzIHByb2JsZW0gaW4gdHdvIHdheXM6CgkxKSBEbyBub3Qg dXNlIHRoZSBkZXYgcG9pbnRlciB3aGVuIGNhbGxpbmcgbmV0ZGV2X3J4X2NzdW1fZmF1bHQoKQoJ ICAgZnJvbSBza2JfY29weV9hbmRfY3N1bV9kYXRhZ3JhbV9tc2coKS4gU2luY2UgdGhpcyBnZXRz IGNhbGxlZAoJICAgZnJvbSB0aGUgVURQIHBhdGggd2hlcmUgc2tiLT5kZXYgaGFzIGJlZW4gb3Zl cndyaXR0ZW4sIHdlIGhhdmUKCSAgIG5vIHdheSBvZiBrbm93aW5nIGlmIHRoZSBwb2ludGVyIGlz IHN0aWxsIHZhbGlkLiBBbHNvIGZvciB0aGUKCSAgIHNha2Ugb2YgY29uc2lzdGVuY3kgd2l0aCB0 aGUgb3RoZXIgdXNlcyBvZgoJICAgbmV0ZGV2X3J4X2NzdW1fZmF1bHQoKSwgZG9uJ3QgYXR0ZW1w dCB0byBjYWxsIGl0IGlmIHRoZQoJICAgcGFja2V0IHdhcyBjaGVja3N1bW1lZCBieSBzb2Z0d2Fy ZS4KCgkyKSBBZGQgYmV0dGVyIENIRUNLU1VNX0NPTVBMRVRFIGhhbmRsaW5nIHRvIHVkcDQvNl9j c3VtX2luaXQoKS4KCSAgIElmIHdlIHJlY2VpdmUgYSBwYWNrZXQgdGhhdCdzIENIRUNLU1VNX0NP TVBMRVRFIHRoYXQgZmFpbHMKCSAgIHZlcmlmaWNhdGlvbiAoaS5lLiBza2ItPmNzdW1fdmFsaWQg PT0gMCksIGNoZWNrIHdobyBwZXJmb3JtZWQKCSAgIHRoZSBjYWxjdWxhdGlvbi4gSXQncyBwb3Nz aWJsZSB0aGF0IHRoZSBjaGVja3N1bSB3YXMgZG9uZSBpbgoJICAgc29mdHdhcmUgYnkgdGhlIG5l dHdvcmsgc3RhY2sgZWFybGllciAoc3VjaCBhcyBOZXRmaWx0ZXIncwoJICAgQ09OTlRSQUNLIG1v ZHVsZSksIGFuZCBpZiB0aGF0IHNheXMgdGhlIGNoZWNrc3VtIGlzIGJhZCwKCSAgIHdlIGNhbiBk cm9wIHRoZSBwYWNrZXQgaW1tZWRpYXRlbHkgaW5zdGVhZCBvZiB3YWl0aW5nIHVudGlsCgkgICB3 ZSB0cnkgYW5kIGNvcHkgaXQgdG8gdXNlcnNwYWNlLiBPdGhlcndpc2UsIHdlIG5lZWQgdG8KCSAg IG1hcmsgdGhlIFNLQiBhcyBDSEVDS1NVTV9OT05FLCBzaW5jZSB0aGUgc2tiLT5jc3VtIGZpZWxk CgkgICBubyBsb25nZXIgY29udGFpbnMgdGhlIGZ1bGwgcGFja2V0IGNoZWNrc3VtIGFmdGVyIHRo ZQoJICAgY2FsbCB0byBfX3NrYl9jaGVja3N1bV92YWxpZGF0ZV9jb21wbGV0ZSgpLgoKRml4ZXM6 IGU2YWZjOGFjZTZkZCAoInVkcDogcmVtb3ZlIGhlYWRlcnMgZnJvbSBVRFAgcGFja2V0cyBiZWZv cmUgcXVldWVpbmciKQpGaXhlczogYzg0ZDk0OTA1N2NhICgidWRwOiBjb3B5IHNrYi0+dHJ1ZXNp emUgaW4gdGhlIGZpcnN0IGNhY2hlIGxpbmUiKQpDYzogU2FtIEt1bWFyIDxzYW1hbnRoYWt1bWFy QGdvb2dsZS5jb20+CkNjOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClNpZ25l ZC1vZmYtYnk6IFNlYW4gVHJhbmNoZXR0aSA8c3RyYW5jaGVAY29kZWF1cm9yYS5vcmc+ClNpZ25l ZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQv Y29yZS9kYXRhZ3JhbS5jICAgICB8ICA1ICsrKy0tCiBuZXQvaXB2NC91ZHAuYyAgICAgICAgICB8 IDIwICsrKysrKysrKysrKysrKysrKy0tCiBuZXQvaXB2Ni9pcDZfY2hlY2tzdW0uYyB8IDIwICsr KysrKysrKysrKysrKysrKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDYg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2NvcmUvZGF0YWdyYW0uYyBiL25ldC9jb3Jl L2RhdGFncmFtLmMKaW5kZXggOWFhYzBkNjNkNTNlLi5kZjE2NDkzMjMyYWEgMTAwNjQ0Ci0tLSBh L25ldC9jb3JlL2RhdGFncmFtLmMKKysrIGIvbmV0L2NvcmUvZGF0YWdyYW0uYwpAQCAtODA4LDgg KzgwOCw5IEBAIGludCBza2JfY29weV9hbmRfY3N1bV9kYXRhZ3JhbV9tc2coc3RydWN0IHNrX2J1 ZmYgKnNrYiwKIAkJCXJldHVybiAtRUlOVkFMOwogCQl9CiAKLQkJaWYgKHVubGlrZWx5KHNrYi0+ aXBfc3VtbWVkID09IENIRUNLU1VNX0NPTVBMRVRFKSkKLQkJCW5ldGRldl9yeF9jc3VtX2ZhdWx0 KHNrYi0+ZGV2KTsKKwkJaWYgKHVubGlrZWx5KHNrYi0+aXBfc3VtbWVkID09IENIRUNLU1VNX0NP TVBMRVRFKSAmJgorCQkgICAgIXNrYi0+Y3N1bV9jb21wbGV0ZV9zdykKKwkJCW5ldGRldl9yeF9j c3VtX2ZhdWx0KE5VTEwpOwogCX0KIAlyZXR1cm4gMDsKIGZhdWx0OgpkaWZmIC0tZ2l0IGEvbmV0 L2lwdjQvdWRwLmMgYi9uZXQvaXB2NC91ZHAuYwppbmRleCBjMzJhNGMxNmI3ZmYuLmY4MTgzZmRj ZTViMiAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdWRwLmMKKysrIGIvbmV0L2lwdjQvdWRwLmMKQEAg LTIxMjAsOCArMjEyMCwyNCBAQCBzdGF0aWMgaW5saW5lIGludCB1ZHA0X2NzdW1faW5pdChzdHJ1 Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgdWRwaGRyICp1aCwKIAkvKiBOb3RlLCB3ZSBhcmUgb25s eSBpbnRlcmVzdGVkIGluICE9IDAgb3IgPT0gMCwgdGh1cyB0aGUKIAkgKiBmb3JjZSB0byBpbnQu CiAJICovCi0JcmV0dXJuIChfX2ZvcmNlIGludClza2JfY2hlY2tzdW1faW5pdF96ZXJvX2NoZWNr KHNrYiwgcHJvdG8sIHVoLT5jaGVjaywKLQkJCQkJCQkgaW5ldF9jb21wdXRlX3BzZXVkbyk7CisJ ZXJyID0gKF9fZm9yY2UgaW50KXNrYl9jaGVja3N1bV9pbml0X3plcm9fY2hlY2soc2tiLCBwcm90 bywgdWgtPmNoZWNrLAorCQkJCQkJCWluZXRfY29tcHV0ZV9wc2V1ZG8pOworCWlmIChlcnIpCisJ CXJldHVybiBlcnI7CisKKwlpZiAoc2tiLT5pcF9zdW1tZWQgPT0gQ0hFQ0tTVU1fQ09NUExFVEUg JiYgIXNrYi0+Y3N1bV92YWxpZCkgeworCQkvKiBJZiBTVyBjYWxjdWxhdGVkIHRoZSB2YWx1ZSwg d2Uga25vdyBpdCdzIGJhZCAqLworCQlpZiAoc2tiLT5jc3VtX2NvbXBsZXRlX3N3KQorCQkJcmV0 dXJuIDE7CisKKwkJLyogSFcgc2F5cyB0aGUgdmFsdWUgaXMgYmFkLiBMZXQncyB2YWxpZGF0ZSB0 aGF0LgorCQkgKiBza2ItPmNzdW0gaXMgbm8gbG9uZ2VyIHRoZSBmdWxsIHBhY2tldCBjaGVja3N1 bSwKKwkJICogc28gZG9uJ3QgdHJlYXQgaXQgYXMgc3VjaC4KKwkJICovCisJCXNrYl9jaGVja3N1 bV9jb21wbGV0ZV91bnNldChza2IpOworCX0KKworCXJldHVybiAwOwogfQogCiAvKiB3cmFwcGVy IGZvciB1ZHBfcXVldWVfcmN2X3NrYiB0YWNraW5nIGNhcmUgb2YgY3N1bSBjb252ZXJzaW9uIGFu ZApkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvaXA2X2NoZWNrc3VtLmMgYi9uZXQvaXB2Ni9pcDZfY2hl Y2tzdW0uYwppbmRleCA1NDc1MTVlODQ1MGEuLjM3NzcxNzA0NWY4ZiAxMDA2NDQKLS0tIGEvbmV0 L2lwdjYvaXA2X2NoZWNrc3VtLmMKKysrIGIvbmV0L2lwdjYvaXA2X2NoZWNrc3VtLmMKQEAgLTg4 LDggKzg4LDI0IEBAIGludCB1ZHA2X2NzdW1faW5pdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1 Y3QgdWRwaGRyICp1aCwgaW50IHByb3RvKQogCSAqIE5vdGUsIHdlIGFyZSBvbmx5IGludGVyZXN0 ZWQgaW4gIT0gMCBvciA9PSAwLCB0aHVzIHRoZQogCSAqIGZvcmNlIHRvIGludC4KIAkgKi8KLQly ZXR1cm4gKF9fZm9yY2UgaW50KXNrYl9jaGVja3N1bV9pbml0X3plcm9fY2hlY2soc2tiLCBwcm90 bywgdWgtPmNoZWNrLAotCQkJCQkJCSBpcDZfY29tcHV0ZV9wc2V1ZG8pOworCWVyciA9IChfX2Zv cmNlIGludClza2JfY2hlY2tzdW1faW5pdF96ZXJvX2NoZWNrKHNrYiwgcHJvdG8sIHVoLT5jaGVj aywKKwkJCQkJCQlpcDZfY29tcHV0ZV9wc2V1ZG8pOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7 CisKKwlpZiAoc2tiLT5pcF9zdW1tZWQgPT0gQ0hFQ0tTVU1fQ09NUExFVEUgJiYgIXNrYi0+Y3N1 bV92YWxpZCkgeworCQkvKiBJZiBTVyBjYWxjdWxhdGVkIHRoZSB2YWx1ZSwgd2Uga25vdyBpdCdz IGJhZCAqLworCQlpZiAoc2tiLT5jc3VtX2NvbXBsZXRlX3N3KQorCQkJcmV0dXJuIDE7CisKKwkJ LyogSFcgc2F5cyB0aGUgdmFsdWUgaXMgYmFkLiBMZXQncyB2YWxpZGF0ZSB0aGF0LgorCQkgKiBz a2ItPmNzdW0gaXMgbm8gbG9uZ2VyIHRoZSBmdWxsIHBhY2tldCBjaGVja3N1bSwKKwkJICogc28g ZG9uJ3QgdHJlYXQgaXMgYXMgc3VjaC4KKwkJICovCisJCXNrYl9jaGVja3N1bV9jb21wbGV0ZV91 bnNldChza2IpOworCX0KKworCXJldHVybiAwOwogfQogRVhQT1JUX1NZTUJPTCh1ZHA2X2NzdW1f aW5pdCk7CiAKLS0gCjIuMTkuMQoKCkZyb20gN2E2Yzk5ZmFlYWJkZTNkYWVhNGQ2MjUyNDkzNTAz ZGEyOThjMDIxNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2Fyc3RlbiBHcmF1bCA8 a2dyYXVsQGxpbnV4LmlibS5jb20+CkRhdGU6IFR1ZSwgMjMgT2N0IDIwMTggMTM6NDA6MzkgKzAy MDAKU3ViamVjdDogW1BBVENIIDA3LzIwXSBSZXZlcnQgIm5ldDogc2ltcGxpZnkgc29ja19wb2xs X3dhaXQiCgpbIFVwc3RyZWFtIGNvbW1pdCA4OWFiMDY2ZDQyMjlhY2QzMmUzMjNmMTU2OTgzMzMw MjU0NGE0MTg2IF0KClRoaXMgcmV2ZXJ0cyBjb21taXQgZGQ5NzliNGRmODE3ZTk5NzZmMThmYjZm OWQxMzRkNmJjNGEzYzMxNy4KClRoaXMgYnJva2UgdGNwX3BvbGwgZm9yIFNNQyBmYWxsYmFjazog QW4gQUZfU01DIHNvY2tldCBlc3RhYmxpc2hlcyBhbgppbnRlcm5hbCBUQ1Agc29ja2V0IGZvciB0 aGUgaW5pdGlhbCBoYW5kc2hha2Ugd2l0aCB0aGUgcmVtb3RlIHBlZXIuCldoZW5ldmVyIHRoZSBT TUMgY29ubmVjdGlvbiBjYW4gbm90IGJlIGVzdGFibGlzaGVkIHRoaXMgVENQIHNvY2tldCBpcwp1 c2VkIGFzIGEgZmFsbGJhY2suIEFsbCBzb2NrZXQgb3BlcmF0aW9ucyBvbiB0aGUgU01DIHNvY2tl dCBhcmUgdGhlbgpmb3J3YXJkZWQgdG8gdGhlIFRDUCBzb2NrZXQuIEluIGNhc2Ugb2YgcG9sbCwg dGhlIGZpbGUtPnByaXZhdGVfZGF0YQpwb2ludGVyIHJlZmVyZW5jZXMgdGhlIFNNQyBzb2NrZXQg YmVjYXVzZSB0aGUgVENQIHNvY2tldCBoYXMgbm8gZmlsZQphc3NpZ25lZC4gVGhpcyBjYXVzZXMg dGNwX3BvbGwgdG8gd2FpdCBvbiB0aGUgd3Jvbmcgc29ja2V0LgoKU2lnbmVkLW9mZi1ieTogS2Fy c3RlbiBHcmF1bCA8a2dyYXVsQGxpbnV4LmlibS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMu IE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBjcnlwdG8vYWZfYWxnLmMgICAgICAg IHwgIDIgKy0KIGluY2x1ZGUvbmV0L3NvY2suaCAgICAgfCAxMiArKysrKysrKystLS0KIG5ldC9h dG0vY29tbW9uLmMgICAgICAgfCAgMiArLQogbmV0L2NhaWYvY2FpZl9zb2NrZXQuYyB8ICAyICst CiBuZXQvY29yZS9kYXRhZ3JhbS5jICAgIHwgIDIgKy0KIG5ldC9kY2NwL3Byb3RvLmMgICAgICAg fCAgMiArLQogbmV0L2lwdjQvdGNwLmMgICAgICAgICB8ICAyICstCiBuZXQvaXVjdi9hZl9pdWN2 LmMgICAgIHwgIDIgKy0KIG5ldC9uZmMvbGxjcF9zb2NrLmMgICAgfCAgMiArLQogbmV0L3J4cnBj L2FmX3J4cnBjLmMgICB8ICAyICstCiBuZXQvc21jL2FmX3NtYy5jICAgICAgIHwgIDIgKy0KIG5l dC90aXBjL3NvY2tldC5jICAgICAgfCAgMiArLQogbmV0L3VuaXgvYWZfdW5peC5jICAgICB8ICA0 ICsrLS0KIDEzIGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2NyeXB0by9hZl9hbGcuYyBiL2NyeXB0by9hZl9hbGcuYwppbmRleCBi MDUzMTc5ZTBiYzUuLjE3ZWIwOWQyMjJmZiAxMDA2NDQKLS0tIGEvY3J5cHRvL2FmX2FsZy5jCisr KyBiL2NyeXB0by9hZl9hbGcuYwpAQCAtMTA3MSw3ICsxMDcxLDcgQEAgX19wb2xsX3QgYWZfYWxn X3BvbGwoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBzb2NrZXQgKnNvY2ssCiAJc3RydWN0IGFm X2FsZ19jdHggKmN0eCA9IGFzay0+cHJpdmF0ZTsKIAlfX3BvbGxfdCBtYXNrOwogCi0Jc29ja19w b2xsX3dhaXQoZmlsZSwgd2FpdCk7CisJc29ja19wb2xsX3dhaXQoZmlsZSwgc29jaywgd2FpdCk7 CiAJbWFzayA9IDA7CiAKIAlpZiAoIWN0eC0+bW9yZSB8fCBjdHgtPnVzZWQpCmRpZmYgLS1naXQg YS9pbmNsdWRlL25ldC9zb2NrLmggYi9pbmNsdWRlL25ldC9zb2NrLmgKaW5kZXggNDMzZjQ1ZmMy ZDY4Li5jNjRhMWNmZjllYjMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbmV0L3NvY2suaAorKysgYi9p bmNsdWRlL25ldC9zb2NrLmgKQEAgLTIwNTcsMTQgKzIwNTcsMjAgQEAgc3RhdGljIGlubGluZSBi b29sIHNrd3FfaGFzX3NsZWVwZXIoc3RydWN0IHNvY2tldF93cSAqd3EpCiAvKioKICAqIHNvY2tf cG9sbF93YWl0IC0gcGxhY2UgbWVtb3J5IGJhcnJpZXIgYmVoaW5kIHRoZSBwb2xsX3dhaXQgY2Fs bC4KICAqIEBmaWxwOiAgICAgICAgICAgZmlsZQorICogQHNvY2s6ICAgICAgICAgICBzb2NrZXQg dG8gd2FpdCBvbgogICogQHA6ICAgICAgICAgICAgICBwb2xsX3RhYmxlCiAgKgogICogU2VlIHRo ZSBjb21tZW50cyBpbiB0aGUgd3FfaGFzX3NsZWVwZXIgZnVuY3Rpb24uCisgKgorICogRG8gbm90 IGRlcml2ZSBzb2NrIGZyb20gZmlscC0+cHJpdmF0ZV9kYXRhIGhlcmUuIEFuIFNNQyBzb2NrZXQg ZXN0YWJsaXNoZXMKKyAqIGFuIGludGVybmFsIFRDUCBzb2NrZXQgdGhhdCBpcyB1c2VkIGluIHRo ZSBmYWxsYmFjayBjYXNlLiBBbGwgc29ja2V0CisgKiBvcGVyYXRpb25zIG9uIHRoZSBTTUMgc29j a2V0IGFyZSB0aGVuIGZvcndhcmRlZCB0byB0aGUgVENQIHNvY2tldC4gSW4gY2FzZSBvZgorICog cG9sbCwgdGhlIGZpbHAtPnByaXZhdGVfZGF0YSBwb2ludGVyIHJlZmVyZW5jZXMgdGhlIFNNQyBz b2NrZXQgYmVjYXVzZSB0aGUKKyAqIFRDUCBzb2NrZXQgaGFzIG5vIGZpbGUgYXNzaWduZWQuCiAg Ki8KLXN0YXRpYyBpbmxpbmUgdm9pZCBzb2NrX3BvbGxfd2FpdChzdHJ1Y3QgZmlsZSAqZmlscCwg cG9sbF90YWJsZSAqcCkKK3N0YXRpYyBpbmxpbmUgdm9pZCBzb2NrX3BvbGxfd2FpdChzdHJ1Y3Qg ZmlsZSAqZmlscCwgc3RydWN0IHNvY2tldCAqc29jaywKKwkJCQkgIHBvbGxfdGFibGUgKnApCiB7 Ci0Jc3RydWN0IHNvY2tldCAqc29jayA9IGZpbHAtPnByaXZhdGVfZGF0YTsKLQogCWlmICghcG9s bF9kb2VzX25vdF93YWl0KHApKSB7CiAJCXBvbGxfd2FpdChmaWxwLCAmc29jay0+d3EtPndhaXQs IHApOwogCQkvKiBXZSBuZWVkIHRvIGJlIHN1cmUgd2UgYXJlIGluIHN5bmMgd2l0aCB0aGUKZGlm ZiAtLWdpdCBhL25ldC9hdG0vY29tbW9uLmMgYi9uZXQvYXRtL2NvbW1vbi5jCmluZGV4IDlmOGNi MGQyZTcxZS4uYTM4YzE3NGZjNzY2IDEwMDY0NAotLS0gYS9uZXQvYXRtL2NvbW1vbi5jCisrKyBi L25ldC9hdG0vY29tbW9uLmMKQEAgLTY1Myw3ICs2NTMsNyBAQCBfX3BvbGxfdCB2Y2NfcG9sbChz dHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IHNvY2tldCAqc29jaywgcG9sbF90YWJsZSAqd2FpdCkK IAlzdHJ1Y3QgYXRtX3ZjYyAqdmNjOwogCV9fcG9sbF90IG1hc2s7CiAKLQlzb2NrX3BvbGxfd2Fp dChmaWxlLCB3YWl0KTsKKwlzb2NrX3BvbGxfd2FpdChmaWxlLCBzb2NrLCB3YWl0KTsKIAltYXNr ID0gMDsKIAogCXZjYyA9IEFUTV9TRChzb2NrKTsKZGlmZiAtLWdpdCBhL25ldC9jYWlmL2NhaWZf c29ja2V0LmMgYi9uZXQvY2FpZi9jYWlmX3NvY2tldC5jCmluZGV4IGQxODk2NWYzMjkxZi4uNDE2 NzE3YzU3Y2QxIDEwMDY0NAotLS0gYS9uZXQvY2FpZi9jYWlmX3NvY2tldC5jCisrKyBiL25ldC9j YWlmL2NhaWZfc29ja2V0LmMKQEAgLTk0MSw3ICs5NDEsNyBAQCBzdGF0aWMgX19wb2xsX3QgY2Fp Zl9wb2xsKHN0cnVjdCBmaWxlICpmaWxlLAogCV9fcG9sbF90IG1hc2s7CiAJc3RydWN0IGNhaWZz b2NrICpjZl9zayA9IGNvbnRhaW5lcl9vZihzaywgc3RydWN0IGNhaWZzb2NrLCBzayk7CiAKLQlz b2NrX3BvbGxfd2FpdChmaWxlLCB3YWl0KTsKKwlzb2NrX3BvbGxfd2FpdChmaWxlLCBzb2NrLCB3 YWl0KTsKIAltYXNrID0gMDsKIAogCS8qIGV4Y2VwdGlvbmFsIGV2ZW50cz8gKi8KZGlmZiAtLWdp dCBhL25ldC9jb3JlL2RhdGFncmFtLmMgYi9uZXQvY29yZS9kYXRhZ3JhbS5jCmluZGV4IGRmMTY0 OTMyMzJhYS4uNTdmM2E2ZmNmYzFlIDEwMDY0NAotLS0gYS9uZXQvY29yZS9kYXRhZ3JhbS5jCisr KyBiL25ldC9jb3JlL2RhdGFncmFtLmMKQEAgLTgzOCw3ICs4MzgsNyBAQCBfX3BvbGxfdCBkYXRh Z3JhbV9wb2xsKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3Qgc29ja2V0ICpzb2NrLAogCXN0cnVj dCBzb2NrICpzayA9IHNvY2stPnNrOwogCV9fcG9sbF90IG1hc2s7CiAKLQlzb2NrX3BvbGxfd2Fp dChmaWxlLCB3YWl0KTsKKwlzb2NrX3BvbGxfd2FpdChmaWxlLCBzb2NrLCB3YWl0KTsKIAltYXNr ID0gMDsKIAogCS8qIGV4Y2VwdGlvbmFsIGV2ZW50cz8gKi8KZGlmZiAtLWdpdCBhL25ldC9kY2Nw L3Byb3RvLmMgYi9uZXQvZGNjcC9wcm90by5jCmluZGV4IDg3NTg1OGM4YjA1OS4uNDM3MzNhY2Nm NThlIDEwMDY0NAotLS0gYS9uZXQvZGNjcC9wcm90by5jCisrKyBiL25ldC9kY2NwL3Byb3RvLmMK QEAgLTMyNSw3ICszMjUsNyBAQCBfX3BvbGxfdCBkY2NwX3BvbGwoc3RydWN0IGZpbGUgKmZpbGUs IHN0cnVjdCBzb2NrZXQgKnNvY2ssCiAJX19wb2xsX3QgbWFzazsKIAlzdHJ1Y3Qgc29jayAqc2sg PSBzb2NrLT5zazsKIAotCXNvY2tfcG9sbF93YWl0KGZpbGUsIHdhaXQpOworCXNvY2tfcG9sbF93 YWl0KGZpbGUsIHNvY2ssIHdhaXQpOwogCWlmIChzay0+c2tfc3RhdGUgPT0gRENDUF9MSVNURU4p CiAJCXJldHVybiBpbmV0X2Nza19saXN0ZW5fcG9sbChzayk7CiAKZGlmZiAtLWdpdCBhL25ldC9p cHY0L3RjcC5jIGIvbmV0L2lwdjQvdGNwLmMKaW5kZXggMTBjNjI0NjM5NmNjLi5iYmQwNzczNmZi MGYgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3RjcC5jCisrKyBiL25ldC9pcHY0L3RjcC5jCkBAIC01 MDcsNyArNTA3LDcgQEAgX19wb2xsX3QgdGNwX3BvbGwoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVj dCBzb2NrZXQgKnNvY2ssIHBvbGxfdGFibGUgKndhaXQpCiAJY29uc3Qgc3RydWN0IHRjcF9zb2Nr ICp0cCA9IHRjcF9zayhzayk7CiAJaW50IHN0YXRlOwogCi0Jc29ja19wb2xsX3dhaXQoZmlsZSwg d2FpdCk7CisJc29ja19wb2xsX3dhaXQoZmlsZSwgc29jaywgd2FpdCk7CiAKIAlzdGF0ZSA9IGlu ZXRfc2tfc3RhdGVfbG9hZChzayk7CiAJaWYgKHN0YXRlID09IFRDUF9MSVNURU4pCmRpZmYgLS1n aXQgYS9uZXQvaXVjdi9hZl9pdWN2LmMgYi9uZXQvaXVjdi9hZl9pdWN2LmMKaW5kZXggZTJmMTZh MDE3M2E5Li5mMDI0OTE0ZGExYjIgMTAwNjQ0Ci0tLSBhL25ldC9pdWN2L2FmX2l1Y3YuYworKysg Yi9uZXQvaXVjdi9hZl9pdWN2LmMKQEAgLTE1MDUsNyArMTUwNSw3IEBAIF9fcG9sbF90IGl1Y3Zf c29ja19wb2xsKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3Qgc29ja2V0ICpzb2NrLAogCXN0cnVj dCBzb2NrICpzayA9IHNvY2stPnNrOwogCV9fcG9sbF90IG1hc2sgPSAwOwogCi0Jc29ja19wb2xs X3dhaXQoZmlsZSwgd2FpdCk7CisJc29ja19wb2xsX3dhaXQoZmlsZSwgc29jaywgd2FpdCk7CiAK IAlpZiAoc2stPnNrX3N0YXRlID09IElVQ1ZfTElTVEVOKQogCQlyZXR1cm4gaXVjdl9hY2NlcHRf cG9sbChzayk7CmRpZmYgLS1naXQgYS9uZXQvbmZjL2xsY3Bfc29jay5jIGIvbmV0L25mYy9sbGNw X3NvY2suYwppbmRleCBkZDRhZGY4YjExNjcuLmFlMjk2MjczY2UzZCAxMDA2NDQKLS0tIGEvbmV0 L25mYy9sbGNwX3NvY2suYworKysgYi9uZXQvbmZjL2xsY3Bfc29jay5jCkBAIC01NTYsNyArNTU2 LDcgQEAgc3RhdGljIF9fcG9sbF90IGxsY3Bfc29ja19wb2xsKHN0cnVjdCBmaWxlICpmaWxlLCBz dHJ1Y3Qgc29ja2V0ICpzb2NrLAogCiAJcHJfZGVidWcoIiVwXG4iLCBzayk7CiAKLQlzb2NrX3Bv bGxfd2FpdChmaWxlLCB3YWl0KTsKKwlzb2NrX3BvbGxfd2FpdChmaWxlLCBzb2NrLCB3YWl0KTsK IAogCWlmIChzay0+c2tfc3RhdGUgPT0gTExDUF9MSVNURU4pCiAJCXJldHVybiBsbGNwX2FjY2Vw dF9wb2xsKHNrKTsKZGlmZiAtLWdpdCBhL25ldC9yeHJwYy9hZl9yeHJwYy5jIGIvbmV0L3J4cnBj L2FmX3J4cnBjLmMKaW5kZXggYWM0NGQ4YWZmZmIxLi4zYzM5Yjg4MDVkMDEgMTAwNjQ0Ci0tLSBh L25ldC9yeHJwYy9hZl9yeHJwYy5jCisrKyBiL25ldC9yeHJwYy9hZl9yeHJwYy5jCkBAIC03NDEs NyArNzQxLDcgQEAgc3RhdGljIF9fcG9sbF90IHJ4cnBjX3BvbGwoc3RydWN0IGZpbGUgKmZpbGUs IHN0cnVjdCBzb2NrZXQgKnNvY2ssCiAJc3RydWN0IHJ4cnBjX3NvY2sgKnJ4ID0gcnhycGNfc2so c2spOwogCV9fcG9sbF90IG1hc2s7CiAKLQlzb2NrX3BvbGxfd2FpdChmaWxlLCB3YWl0KTsKKwlz b2NrX3BvbGxfd2FpdChmaWxlLCBzb2NrLCB3YWl0KTsKIAltYXNrID0gMDsKIAogCS8qIHRoZSBz b2NrZXQgaXMgcmVhZGFibGUgaWYgdGhlcmUgYXJlIGFueSBtZXNzYWdlcyB3YWl0aW5nIG9uIHRo ZSBSeApkaWZmIC0tZ2l0IGEvbmV0L3NtYy9hZl9zbWMuYyBiL25ldC9zbWMvYWZfc21jLmMKaW5k ZXggMDE1MjMxNzg5ZWQyLi44MGUyMTE5ZjFjNzAgMTAwNjQ0Ci0tLSBhL25ldC9zbWMvYWZfc21j LmMKKysrIGIvbmV0L3NtYy9hZl9zbWMuYwpAQCAtMTU0Myw3ICsxNTQzLDcgQEAgc3RhdGljIF9f cG9sbF90IHNtY19wb2xsKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3Qgc29ja2V0ICpzb2NrLAog CQkJbWFzayB8PSBFUE9MTEVSUjsKIAl9IGVsc2UgewogCQlpZiAoc2stPnNrX3N0YXRlICE9IFNN Q19DTE9TRUQpCi0JCQlzb2NrX3BvbGxfd2FpdChmaWxlLCB3YWl0KTsKKwkJCXNvY2tfcG9sbF93 YWl0KGZpbGUsIHNvY2ssIHdhaXQpOwogCQlpZiAoc2stPnNrX2VycikKIAkJCW1hc2sgfD0gRVBP TExFUlI7CiAJCWlmICgoc2stPnNrX3NodXRkb3duID09IFNIVVRET1dOX01BU0spIHx8CmRpZmYg LS1naXQgYS9uZXQvdGlwYy9zb2NrZXQuYyBiL25ldC90aXBjL3NvY2tldC5jCmluZGV4IDQ5ODEw ZmRmZjRjNS4uMGJmOGFkNDg2YzVlIDEwMDY0NAotLS0gYS9uZXQvdGlwYy9zb2NrZXQuYworKysg Yi9uZXQvdGlwYy9zb2NrZXQuYwpAQCAtNzE1LDcgKzcxNSw3IEBAIHN0YXRpYyBfX3BvbGxfdCB0 aXBjX3BvbGwoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBzb2NrZXQgKnNvY2ssCiAJc3RydWN0 IHRpcGNfc29jayAqdHNrID0gdGlwY19zayhzayk7CiAJX19wb2xsX3QgcmV2ZW50cyA9IDA7CiAK LQlzb2NrX3BvbGxfd2FpdChmaWxlLCB3YWl0KTsKKwlzb2NrX3BvbGxfd2FpdChmaWxlLCBzb2Nr LCB3YWl0KTsKIAogCWlmIChzay0+c2tfc2h1dGRvd24gJiBSQ1ZfU0hVVERPV04pCiAJCXJldmVu dHMgfD0gRVBPTExSREhVUCB8IEVQT0xMSU4gfCBFUE9MTFJETk9STTsKZGlmZiAtLWdpdCBhL25l dC91bml4L2FmX3VuaXguYyBiL25ldC91bml4L2FmX3VuaXguYwppbmRleCBkMWVkZmEzY2FkNjEu LmM3NTRmM2E5MGEyZSAxMDA2NDQKLS0tIGEvbmV0L3VuaXgvYWZfdW5peC5jCisrKyBiL25ldC91 bml4L2FmX3VuaXguYwpAQCAtMjY0MCw3ICsyNjQwLDcgQEAgc3RhdGljIF9fcG9sbF90IHVuaXhf cG9sbChzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IHNvY2tldCAqc29jaywgcG9sbF90YWJsZSAq d2EKIAlzdHJ1Y3Qgc29jayAqc2sgPSBzb2NrLT5zazsKIAlfX3BvbGxfdCBtYXNrOwogCi0Jc29j a19wb2xsX3dhaXQoZmlsZSwgd2FpdCk7CisJc29ja19wb2xsX3dhaXQoZmlsZSwgc29jaywgd2Fp dCk7CiAJbWFzayA9IDA7CiAKIAkvKiBleGNlcHRpb25hbCBldmVudHM/ICovCkBAIC0yNjc3LDcg KzI2NzcsNyBAQCBzdGF0aWMgX19wb2xsX3QgdW5peF9kZ3JhbV9wb2xsKHN0cnVjdCBmaWxlICpm aWxlLCBzdHJ1Y3Qgc29ja2V0ICpzb2NrLAogCXVuc2lnbmVkIGludCB3cml0YWJsZTsKIAlfX3Bv bGxfdCBtYXNrOwogCi0Jc29ja19wb2xsX3dhaXQoZmlsZSwgd2FpdCk7CisJc29ja19wb2xsX3dh aXQoZmlsZSwgc29jaywgd2FpdCk7CiAJbWFzayA9IDA7CiAKIAkvKiBleGNlcHRpb25hbCBldmVu dHM/ICovCi0tIAoyLjE5LjEKCgpGcm9tIGI0MzIxNjUzN2M4YmRhY2Y0ZjJkZmE2ZTA4M2M4ODIy MTYzMmJlOGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IElkbyBTY2hpbW1lbCA8aWRv c2NoQG1lbGxhbm94LmNvbT4KRGF0ZTogTW9uLCAyOSBPY3QgMjAxOCAyMDozNjo0MyArMDAwMApT dWJqZWN0OiBbUEFUQ0ggMDgvMjBdIHJ0bmV0bGluazogRGlzYWxsb3cgRkRCIGNvbmZpZ3VyYXRp b24gZm9yIG5vbi1FdGhlcm5ldAogZGV2aWNlCgpbIFVwc3RyZWFtIGNvbW1pdCBkYTcxNTc3NTQ1 YTUyYmUzZTBlOTIyNWE5NDZlNWZkNzljZmFiMDE1IF0KCldoZW4gYW4gRkRCIGVudHJ5IGlzIGNv bmZpZ3VyZWQsIHRoZSBhZGRyZXNzIGlzIHZhbGlkYXRlZCB0byBoYXZlIHRoZQpsZW5ndGggb2Yg YW4gRXRoZXJuZXQgYWRkcmVzcywgYnV0IHRoZSBkZXZpY2UgZm9yIHdoaWNoIHRoZSBhZGRyZXNz IGlzCmNvbmZpZ3VyZWQgY2FuIGJlIG9mIGFueSB0eXBlLgoKVGhlIGFib3ZlIGNhbiByZXN1bHQg aW4gdGhlIHVzZSBvZiB1bmluaXRpYWxpemVkIG1lbW9yeSB3aGVuIHRoZSBhZGRyZXNzCmlzIGxh dGVyIGNvbXBhcmVkIGFnYWluc3QgZXhpc3RpbmcgYWRkcmVzc2VzIHNpbmNlICdkZXYtPmFkZHJf bGVuJyBpcwp1c2VkIGFuZCBpdCBtYXkgYmUgZ3JlYXRlciB0aGFuIEVUSF9BTEVOLCBhcyB3aXRo IGlwNnRubCBkZXZpY2VzLgoKRml4IHRoaXMgYnkgbWFraW5nIHN1cmUgdGhhdCBGREIgZW50cmll cyBhcmUgb25seSBjb25maWd1cmVkIGZvcgpFdGhlcm5ldCBkZXZpY2VzLgoKQlVHOiBLTVNBTjog dW5pbml0LXZhbHVlIGluIG1lbWNtcCsweDExZC8weDE4MCBsaWIvc3RyaW5nLmM6ODYzCkNQVTog MSBQSUQ6IDQzMTggQ29tbTogc3l6LWV4ZWN1dG9yOTk4IE5vdCB0YWludGVkIDQuMTkuMC1yYzMr ICM0OQpIYXJkd2FyZSBuYW1lOiBHb29nbGUgR29vZ2xlIENvbXB1dGUgRW5naW5lL0dvb2dsZSBD b21wdXRlIEVuZ2luZSwgQklPUwpHb29nbGUgMDEvMDEvMjAxMQpDYWxsIFRyYWNlOgogIF9fZHVt cF9zdGFjayBsaWIvZHVtcF9zdGFjay5jOjc3IFtpbmxpbmVdCiAgZHVtcF9zdGFjaysweDE0Yi8w eDE5MCBsaWIvZHVtcF9zdGFjay5jOjExMwogIGttc2FuX3JlcG9ydCsweDE4My8weDJiMCBtbS9r bXNhbi9rbXNhbi5jOjk1NgogIF9fbXNhbl93YXJuaW5nKzB4NzAvMHhjMCBtbS9rbXNhbi9rbXNh bl9pbnN0ci5jOjY0NQogIG1lbWNtcCsweDExZC8weDE4MCBsaWIvc3RyaW5nLmM6ODYzCiAgZGV2 X3VjX2FkZF9leGNsKzB4MTY1LzB4N2IwIG5ldC9jb3JlL2Rldl9hZGRyX2xpc3RzLmM6NDY0CiAg bmRvX2RmbHRfZmRiX2FkZCBuZXQvY29yZS9ydG5ldGxpbmsuYzozNDYzIFtpbmxpbmVdCiAgcnRu bF9mZGJfYWRkKzB4MTA4MS8weDEyNzAgbmV0L2NvcmUvcnRuZXRsaW5rLmM6MzU1OAogIHJ0bmV0 bGlua19yY3ZfbXNnKzB4YTBiLzB4MTUzMCBuZXQvY29yZS9ydG5ldGxpbmsuYzo0NzE1CiAgbmV0 bGlua19yY3Zfc2tiKzB4MzZlLzB4NWYwIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsuYzoyNDU0CiAg cnRuZXRsaW5rX3JjdisweDUwLzB4NjAgbmV0L2NvcmUvcnRuZXRsaW5rLmM6NDczMwogIG5ldGxp bmtfdW5pY2FzdF9rZXJuZWwgbmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjEzMTcgW2lubGluZV0K ICBuZXRsaW5rX3VuaWNhc3QrMHgxNjM4LzB4MTcyMCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6 MTM0MwogIG5ldGxpbmtfc2VuZG1zZysweDEyMDUvMHgxMjkwIG5ldC9uZXRsaW5rL2FmX25ldGxp bmsuYzoxOTA4CiAgc29ja19zZW5kbXNnX25vc2VjIG5ldC9zb2NrZXQuYzo2MjEgW2lubGluZV0K ICBzb2NrX3NlbmRtc2cgbmV0L3NvY2tldC5jOjYzMSBbaW5saW5lXQogIF9fX3N5c19zZW5kbXNn KzB4ZTcwLzB4MTI5MCBuZXQvc29ja2V0LmM6MjExNAogIF9fc3lzX3NlbmRtc2cgbmV0L3NvY2tl dC5jOjIxNTIgW2lubGluZV0KICBfX2RvX3N5c19zZW5kbXNnIG5ldC9zb2NrZXQuYzoyMTYxIFtp bmxpbmVdCiAgX19zZV9zeXNfc2VuZG1zZysweDJhMy8weDNkMCBuZXQvc29ja2V0LmM6MjE1OQog IF9feDY0X3N5c19zZW5kbXNnKzB4NGEvMHg3MCBuZXQvc29ja2V0LmM6MjE1OQogIGRvX3N5c2Nh bGxfNjQrMHhiOC8weDEwMCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzoyOTEKICBlbnRyeV9TWVND QUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg2My8weGU3ClJJUDogMDAzMzoweDQ0MGVlOQpDb2RlOiBl OCBjYyBhYiAwMiAwMCA0OCA4MyBjNCAxOCBjMyAwZiAxZiA4MCAwMCAwMCAwMCAwMCA0OCA4OSBm OCA0OCA4OSBmNwo0OCA4OSBkNiA0OCA4OSBjYSA0ZCA4OSBjMiA0ZCA4OSBjOCA0YyA4YiA0YyAy NCAwOCAwZiAwNSA8NDg+IDNkIDAxIGYwIGZmCmZmIDBmIDgzIGJiIDBhIGZjIGZmIGMzIDY2IDJl IDBmIDFmIDg0IDAwIDAwIDAwIDAwClJTUDogMDAyYjowMDAwN2ZmZjZhOTNiNTE4IEVGTEFHUzog MDAwMDAyMTMgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAwMmUKUkFYOiBmZmZmZmZmZmZmZmZmZmRh IFJCWDogMDAwMDAwMDAwMDAwMDAwMCBSQ1g6IDAwMDAwMDAwMDA0NDBlZTkKUkRYOiAwMDAwMDAw MDAwMDAwMDAwIFJTSTogMDAwMDAwMDAyMDAwMDI0MCBSREk6IDAwMDAwMDAwMDAwMDAwMDMKUkJQ OiAwMDAwMDAwMDAwMDAwMDAwIFIwODogMDAwMDAwMDAwMDQwMDJjOCBSMDk6IDAwMDAwMDAwMDA0 MDAyYzgKUjEwOiAwMDAwMDAwMDAwNDAwMmM4IFIxMTogMDAwMDAwMDAwMDAwMDIxMyBSMTI6IDAw MDAwMDAwMDAwMGI0YjAKUjEzOiAwMDAwMDAwMDAwNDAxZWMwIFIxNDogMDAwMDAwMDAwMDAwMDAw MCBSMTU6IDAwMDAwMDAwMDAwMDAwMDAKClVuaW5pdCB3YXMgY3JlYXRlZCBhdDoKICBrbXNhbl9z YXZlX3N0YWNrX3dpdGhfZmxhZ3MgbW0va21zYW4va21zYW4uYzoyNTYgW2lubGluZV0KICBrbXNh bl9pbnRlcm5hbF9wb2lzb25fc2hhZG93KzB4YjgvMHgxYjAgbW0va21zYW4va21zYW4uYzoxODEK ICBrbXNhbl9rbWFsbG9jKzB4OTgvMHgxMDAgbW0va21zYW4va21zYW5faG9va3MuYzo5MQogIGtt c2FuX3NsYWJfYWxsb2MrMHgxMC8weDIwIG1tL2ttc2FuL2ttc2FuX2hvb2tzLmM6MTAwCiAgc2xh Yl9wb3N0X2FsbG9jX2hvb2sgbW0vc2xhYi5oOjQ0NiBbaW5saW5lXQogIHNsYWJfYWxsb2Nfbm9k ZSBtbS9zbHViLmM6MjcxOCBbaW5saW5lXQogIF9fa21hbGxvY19ub2RlX3RyYWNrX2NhbGxlcisw eDllNy8weDExNjAgbW0vc2x1Yi5jOjQzNTEKICBfX2ttYWxsb2NfcmVzZXJ2ZSBuZXQvY29yZS9z a2J1ZmYuYzoxMzggW2lubGluZV0KICBfX2FsbG9jX3NrYisweDJmNS8weDllMCBuZXQvY29yZS9z a2J1ZmYuYzoyMDYKICBhbGxvY19za2IgaW5jbHVkZS9saW51eC9za2J1ZmYuaDo5OTYgW2lubGlu ZV0KICBuZXRsaW5rX2FsbG9jX2xhcmdlX3NrYiBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MTE4 OSBbaW5saW5lXQogIG5ldGxpbmtfc2VuZG1zZysweGI0OS8weDEyOTAgbmV0L25ldGxpbmsvYWZf bmV0bGluay5jOjE4ODMKICBzb2NrX3NlbmRtc2dfbm9zZWMgbmV0L3NvY2tldC5jOjYyMSBbaW5s aW5lXQogIHNvY2tfc2VuZG1zZyBuZXQvc29ja2V0LmM6NjMxIFtpbmxpbmVdCiAgX19fc3lzX3Nl bmRtc2crMHhlNzAvMHgxMjkwIG5ldC9zb2NrZXQuYzoyMTE0CiAgX19zeXNfc2VuZG1zZyBuZXQv c29ja2V0LmM6MjE1MiBbaW5saW5lXQogIF9fZG9fc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5jOjIx NjEgW2lubGluZV0KICBfX3NlX3N5c19zZW5kbXNnKzB4MmEzLzB4M2QwIG5ldC9zb2NrZXQuYzoy MTU5CiAgX194NjRfc3lzX3NlbmRtc2crMHg0YS8weDcwIG5ldC9zb2NrZXQuYzoyMTU5CiAgZG9f c3lzY2FsbF82NCsweGI4LzB4MTAwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI5MQogIGVudHJ5 X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDYzLzB4ZTcKCnYyOgoqIE1ha2UgZXJyb3IgbWVz c2FnZSBtb3JlIHNwZWNpZmljIChEYXZpZCkKCkZpeGVzOiAwOTAwOTZiZjNkYjEgKCJuZXQ6IGdl bmVyaWMgZmRiIHN1cHBvcnQgZm9yIGRyaXZlcnMgd2l0aG91dCBuZG9fZmRiXzxvcD4iKQpTaWdu ZWQtb2ZmLWJ5OiBJZG8gU2NoaW1tZWwgPGlkb3NjaEBtZWxsYW5veC5jb20+ClJlcG9ydGVkLWFu ZC10ZXN0ZWQtYnk6IHN5emJvdCszYTI4OGQ1ZjU1MzBiOTAxMzEwZUBzeXprYWxsZXIuYXBwc3Bv dG1haWwuY29tClJlcG9ydGVkLWFuZC10ZXN0ZWQtYnk6IHN5emJvdCtkNTNhYjRlOTJhMWRiMDQx MTBmZkBzeXprYWxsZXIuYXBwc3BvdG1haWwuY29tCkNjOiBWbGFkIFlhc2V2aWNoIDx2eWFzZXZp Y2hAZ21haWwuY29tPgpDYzogRGF2aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwuY29tPgpSZXZpZXdl ZC1ieTogRGF2aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2NvcmUvcnRuZXRsaW5r LmMgfCAxMCArKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKQoKZGlm ZiAtLWdpdCBhL25ldC9jb3JlL3J0bmV0bGluay5jIGIvbmV0L2NvcmUvcnRuZXRsaW5rLmMKaW5k ZXggMzdjNzkzNjEyNGU2Li42ZTVkNjFhMjBhNzAgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL3J0bmV0 bGluay5jCisrKyBiL25ldC9jb3JlL3J0bmV0bGluay5jCkBAIC0zNTMwLDYgKzM1MzAsMTEgQEAg c3RhdGljIGludCBydG5sX2ZkYl9hZGQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5sbXNn aGRyICpubGgsCiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAorCWlmIChkZXYtPnR5cGUgIT0gQVJQ SFJEX0VUSEVSKSB7CisJCU5MX1NFVF9FUlJfTVNHKGV4dGFjaywgIkZEQiBkZWxldGUgb25seSBz dXBwb3J0ZWQgZm9yIEV0aGVybmV0IGRldmljZXMiKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQor CiAJYWRkciA9IG5sYV9kYXRhKHRiW05EQV9MTEFERFJdKTsKIAogCWVyciA9IGZkYl92aWRfcGFy c2UodGJbTkRBX1ZMQU5dLCAmdmlkLCBleHRhY2spOwpAQCAtMzYzNCw2ICszNjM5LDExIEBAIHN0 YXRpYyBpbnQgcnRubF9mZGJfZGVsKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBubG1zZ2hk ciAqbmxoLAogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKKwlpZiAoZGV2LT50eXBlICE9IEFSUEhS RF9FVEhFUikgeworCQlOTF9TRVRfRVJSX01TRyhleHRhY2ssICJGREIgYWRkIG9ubHkgc3VwcG9y dGVkIGZvciBFdGhlcm5ldCBkZXZpY2VzIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwogCWFk ZHIgPSBubGFfZGF0YSh0YltOREFfTExBRERSXSk7CiAKIAllcnIgPSBmZGJfdmlkX3BhcnNlKHRi W05EQV9WTEFOXSwgJnZpZCwgZXh0YWNrKTsKLS0gCjIuMTkuMQoKCkZyb20gODUxOGE3NGExMGMy MjQ2NTg5NzljOWUwZjMzZWVjYTAyOTY3NmJmNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogSmFzb24gV2FuZyA8amFzb3dhbmdAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAzMCBPY3QgMjAx OCAxNDoxMDo0OSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDkvMjBdIHZob3N0OiBGaXggU3BlY3Ry ZSBWMSB2dWxuZXJhYmlsaXR5CgpbIFVwc3RyZWFtIGNvbW1pdCBmZjAwMjI2OWE0ZWU5Yzc2OWRi ZjkzNjVhY2VmNjMzZWJjYmQ2Y2JlIF0KClRoZSBpZHggaW4gdmhvc3RfdnJpbmdfaW9jdGwoKSB3 YXMgY29udHJvbGxlZCBieSB1c2Vyc3BhY2UsIGhlbmNlIGEKcG90ZW50aWFsIGV4cGxvaXRhdGlv biBvZiB0aGUgU3BlY3RyZSB2YXJpYW50IDEgdnVsbmVyYWJpbGl0eS4KCkZpeGluZyB0aGlzIGJ5 IHNhbml0aXppbmcgaWR4IGJlZm9yZSB1c2luZyBpdCB0byBpbmRleCBkLT52cXMuCgpDYzogTWlj aGFlbCBTLiBUc2lya2luIDxtc3RAcmVkaGF0LmNvbT4KQ2M6IEpvc2ggUG9pbWJvZXVmIDxqcG9p bWJvZUByZWRoYXQuY29tPgpDYzogQW5kcmVhIEFyY2FuZ2VsaSA8YWFyY2FuZ2VAcmVkaGF0LmNv bT4KU2lnbmVkLW9mZi1ieTogSmFzb24gV2FuZyA8amFzb3dhbmdAcmVkaGF0LmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZl cnMvdmhvc3Qvdmhvc3QuYyB8IDIgKysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykK CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Zob3N0L3Zob3N0LmMgYi9kcml2ZXJzL3Zob3N0L3Zob3N0 LmMKaW5kZXggYjEzYzZiNGIyYzY2Li5lYjk1ZGFhM2U1YTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv dmhvc3Qvdmhvc3QuYworKysgYi9kcml2ZXJzL3Zob3N0L3Zob3N0LmMKQEAgLTMwLDYgKzMwLDcg QEAKICNpbmNsdWRlIDxsaW51eC9zY2hlZC9tbS5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkL3Np Z25hbC5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVydmFsX3RyZWVfZ2VuZXJpYy5oPgorI2luY2x1 ZGUgPGxpbnV4L25vc3BlYy5oPgogCiAjaW5jbHVkZSAidmhvc3QuaCIKIApAQCAtMTM5Nyw2ICsx Mzk4LDcgQEAgbG9uZyB2aG9zdF92cmluZ19pb2N0bChzdHJ1Y3Qgdmhvc3RfZGV2ICpkLCB1bnNp Z25lZCBpbnQgaW9jdGwsIHZvaWQgX191c2VyICphcmcKIAlpZiAoaWR4ID49IGQtPm52cXMpCiAJ CXJldHVybiAtRU5PQlVGUzsKIAorCWlkeCA9IGFycmF5X2luZGV4X25vc3BlYyhpZHgsIGQtPm52 cXMpOwogCXZxID0gZC0+dnFzW2lkeF07CiAKIAltdXRleF9sb2NrKCZ2cS0+bXV0ZXgpOwotLSAK Mi4xOS4xCgoKRnJvbSA2ZDBlNTQxZmRlZTE4Mzk3ZDMzYzUzNTQ1MjFlYTU3MTQ5M2JmOWE4IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUb2JpYXMgSnVuZ2VsIDx0b2JpYXMuanVuZ2Vs QGdtYWlsLmNvbT4KRGF0ZTogU3VuLCAyOCBPY3QgMjAxOCAxMjo1NDoxMCArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMTAvMjBdIGJvbmRpbmc6IGZpeCBsZW5ndGggb2YgYWN0b3Igc3lzdGVtCgpbIFVw c3RyZWFtIGNvbW1pdCA0MTRkZDZmYjlhMWExYjU5OTgzYWVhN2JmMGY3OWYwMDg1ZWNjNWI4IF0K ClRoZSBhdHRyaWJ1dGUgSUZMQV9CT05EX0FEX0FDVE9SX1NZU1RFTSBpcyBzZW50IHRvIHVzZXIg c3BhY2UgaGF2aW5nIHRoZQpsZW5ndGggb2Ygc2l6ZW9mKGJvbmQtPnBhcmFtcy5hZF9hY3Rvcl9z eXN0ZW0pIHdoaWNoIGlzIDggYnl0ZS4gVGhpcwpwYXRjaCBhbGlnbnMgdGhlIGxlbmd0aCB0byBF VEhfQUxFTiB0byBoYXZlIHRoZSBzYW1lIE1BQyBhZGRyZXNzIGV4cG9zZWQKYXMgdXNpbmcgc3lz ZnMuCgpGaXhlczogZjg3ZmRhMDBiNmVkMiAoImJvbmRpbmc6IHByZXZlbnQgb3V0IG9mIGJvdW5k IGFjY2Vzc2VzIikKU2lnbmVkLW9mZi1ieTogVG9iaWFzIEp1bmdlbCA8dG9iaWFzLmp1bmdlbEBn bWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0 Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfbmV0bGluay5jIHwgMyArLS0KIDEg ZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfbmV0bGluay5jIGIvZHJpdmVycy9uZXQvYm9uZGlu Zy9ib25kX25ldGxpbmsuYwppbmRleCA5Njk3OTc3YjgwZjAuLjZiOWFkODY3MzIxOCAxMDA2NDQK LS0tIGEvZHJpdmVycy9uZXQvYm9uZGluZy9ib25kX25ldGxpbmsuYworKysgYi9kcml2ZXJzL25l dC9ib25kaW5nL2JvbmRfbmV0bGluay5jCkBAIC02MzgsOCArNjM4LDcgQEAgc3RhdGljIGludCBi b25kX2ZpbGxfaW5mbyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCQkJCWdvdG8gbmxhX3B1dF9mYWls dXJlOwogCiAJCQlpZiAobmxhX3B1dChza2IsIElGTEFfQk9ORF9BRF9BQ1RPUl9TWVNURU0sCi0J CQkJICAgIHNpemVvZihib25kLT5wYXJhbXMuYWRfYWN0b3Jfc3lzdGVtKSwKLQkJCQkgICAgJmJv bmQtPnBhcmFtcy5hZF9hY3Rvcl9zeXN0ZW0pKQorCQkJCSAgICBFVEhfQUxFTiwgJmJvbmQtPnBh cmFtcy5hZF9hY3Rvcl9zeXN0ZW0pKQogCQkJCWdvdG8gbmxhX3B1dF9mYWlsdXJlOwogCQl9CiAJ CWlmICghYm9uZF8zYWRfZ2V0X2FjdGl2ZV9hZ2dfaW5mbyhib25kLCAmaW5mbykpIHsKLS0gCjIu MTkuMQoKCkZyb20gYmJmNGFiY2QxMTIzZDg4ZDcxYTJhZDc3ODcwMzY3OGZkYTgzNGY3YyBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP0phaW1lPTIwQ2FhbWE9QzM9QjFv PTIwUnVpej89IDxqY2FhbWFub0BzdXNlLmNvbT4KRGF0ZTogV2VkLCAzMSBPY3QgMjAxOCAxODo1 MjowMyArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMjBdIG9wZW52c3dpdGNoOiBGaXggcHVzaC9w b3AgZXRoZXJuZXQgdmFsaWRhdGlvbgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRl eHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoK WyBVcHN0cmVhbSBjb21taXQgNDZlYmUyODM0YmE1YjU0MWYyOGVlNzJlNTU2YTNmZWQ0MmM0NzU3 MCBdCgpXaGVuIHRoZXJlIGFyZSBib3RoIHBvcCBhbmQgcHVzaCBldGhlcm5ldCBoZWFkZXIgYWN0 aW9ucyBhbW9uZyB0aGUKYWN0aW9ucyB0byBiZSBhcHBsaWVkIHRvIGEgcGFja2V0LCBhbiB1bmV4 cGVjdGVkIEVJTlZBTCAoSW52YWxpZAphcmd1bWVudCkgZXJyb3IgaXMgb2J0YWluZWQuIFRoaXMg aXMgZHVlIHRvIG1hY19wcm90byBub3QgYmVpbmcgcmVzZXQKY29ycmVjdGx5IHdoZW4gdGhvc2Ug YWN0aW9ucyBhcmUgdmFsaWRhdGVkLgoKUmVwb3J0ZWQtYXQ6Cmh0dHBzOi8vbWFpbC5vcGVudnN3 aXRjaC5vcmcvcGlwZXJtYWlsL292cy1kaXNjdXNzLzIwMTgtT2N0b2Jlci8wNDc1NTQuaHRtbApG aXhlczogOTE4MjBkYTZhZTg1ICgib3BlbnZzd2l0Y2g6IGFkZCBFdGhlcm5ldCBwdXNoIGFuZCBw b3AgYWN0aW9ucyIpClNpZ25lZC1vZmYtYnk6IEphaW1lIENhYW1hw7FvIFJ1aXogPGpjYWFtYW5v QHN1c2UuY29tPgpUZXN0ZWQtYnk6IEdyZWcgUm9zZSA8Z3Zyb3NlODE5MkBnbWFpbC5jb20+ClJl dmlld2VkLWJ5OiBHcmVnIFJvc2UgPGd2cm9zZTgxOTJAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5 OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L29wZW52c3dp dGNoL2Zsb3dfbmV0bGluay5jIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25z KCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9vcGVudnN3aXRjaC9mbG93X25l dGxpbmsuYyBiL25ldC9vcGVudnN3aXRjaC9mbG93X25ldGxpbmsuYwppbmRleCBhNzAwOTdlY2Yz M2MuLjg2NWVjZWY2ODE5NiAxMDA2NDQKLS0tIGEvbmV0L29wZW52c3dpdGNoL2Zsb3dfbmV0bGlu ay5jCisrKyBiL25ldC9vcGVudnN3aXRjaC9mbG93X25ldGxpbmsuYwpAQCAtMzAzMCw3ICszMDMw LDcgQEAgc3RhdGljIGludCBfX292c19ubGFfY29weV9hY3Rpb25zKHN0cnVjdCBuZXQgKm5ldCwg Y29uc3Qgc3RydWN0IG5sYXR0ciAqYXR0ciwKIAkJCSAqIGlzIGFscmVhZHkgcHJlc2VudCAqLwog CQkJaWYgKG1hY19wcm90byAhPSBNQUNfUFJPVE9fTk9ORSkKIAkJCQlyZXR1cm4gLUVJTlZBTDsK LQkJCW1hY19wcm90byA9IE1BQ19QUk9UT19OT05FOworCQkJbWFjX3Byb3RvID0gTUFDX1BST1RP X0VUSEVSTkVUOwogCQkJYnJlYWs7CiAKIAkJY2FzZSBPVlNfQUNUSU9OX0FUVFJfUE9QX0VUSDoK QEAgLTMwMzgsNyArMzAzOCw3IEBAIHN0YXRpYyBpbnQgX19vdnNfbmxhX2NvcHlfYWN0aW9ucyhz dHJ1Y3QgbmV0ICpuZXQsIGNvbnN0IHN0cnVjdCBubGF0dHIgKmF0dHIsCiAJCQkJcmV0dXJuIC1F SU5WQUw7CiAJCQlpZiAodmxhbl90Y2kgJiBodG9ucyhWTEFOX1RBR19QUkVTRU5UKSkKIAkJCQly ZXR1cm4gLUVJTlZBTDsKLQkJCW1hY19wcm90byA9IE1BQ19QUk9UT19FVEhFUk5FVDsKKwkJCW1h Y19wcm90byA9IE1BQ19QUk9UT19OT05FOwogCQkJYnJlYWs7CiAKIAkJY2FzZSBPVlNfQUNUSU9O X0FUVFJfUFVTSF9OU0g6Ci0tIAoyLjE5LjEKCgpGcm9tIGY4YzVjYjQwNzdiMmUzYTA5ZGJmOTQz Nzk0MWFmZjAxYmE5MTQ2Y2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IERhdmlkIEFo ZXJuIDxkc2FoZXJuQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyNCBPY3QgMjAxOCAxMzo1ODozOSAt MDcwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMjBdIG5ldC9pcHY2OiBBbGxvdyBvbmxpbmsgcm91dGVz IHRvIGhhdmUgYSBkZXZpY2UgbWlzbWF0Y2gKIGlmIGl0IGlzIHRoZSBkZWZhdWx0IHJvdXRlCgpb IFVwc3RyZWFtIGNvbW1pdCA0ZWQ1OTFjOGFiNDRlNzExZTU2YjhlMDIxZmZhZjRmNDA3YzA0NWY1 IF0KClRoZSBpbnRlbnQgb2YgaXA2X3JvdXRlX2NoZWNrX25oX29ubGluayBpcyB0byBtYWtlIHN1 cmUgdGhlIGdhdGV3YXkKZ2l2ZW4gZm9yIGFuIG9ubGluayByb3V0ZSBpcyBub3QgYWN0dWFsbHkg b24gYSBjb25uZWN0ZWQgcm91dGUgZm9yCmEgZGlmZmVyZW50IGludGVyZmFjZSAoZS5nLiwgMjAw MTpkYjg6MTo6LzY0IGlzIG9uIGRldiBldGgxIGFuZCB0aGVuCmFuIG9ubGluayByb3V0ZSBoYXMg YSB2aWEgMjAwMTpkYjg6MTo6MSBkZXYgZXRoMikuIElmIHRoZSBnYXRld2F5Cmxvb2t1cCBoaXRz IHRoZSBkZWZhdWx0IHJvdXRlIHRoZW4gaXQgbW9zdCBsaWtlbHkgd2lsbCBiZSBhIGRpZmZlcmVu dAppbnRlcmZhY2UgdGhhbiB0aGUgb25saW5rIHJvdXRlIHdoaWNoIGlzIG9rLgoKVXBkYXRlIGlw Nl9yb3V0ZV9jaGVja19uaF9vbmxpbmsgdG8gZGlzcmVnYXJkIHRoZSBkZXZpY2UgbWlzbWF0Y2gK aWYgdGhlIGdhdGV3YXkgbG9va3VwIGhpdHMgdGhlIGRlZmF1bHQgcm91dGUuIFR1cm5zIG91dCB0 aGUgZXhpc3RpbmcKb25saW5rIHRlc3RzIGFyZSBwYXNzaW5nIGJlY2F1c2UgdGhlcmUgaXMgbm8g ZGVmYXVsdCByb3V0ZSBvciBpdCBpcwphbiB1bnJlYWNoYWJsZSBkZWZhdWx0LCBzbyB1cGRhdGUg dGhlIG9ubGluayB0ZXN0cyB0byBoYXZlIGEgZGVmYXVsdApyb3V0ZSBvdGhlciB0aGFuIHVucmVh Y2hhYmxlLgoKRml4ZXM6IGZjMWU2NGUxMDkyZjYgKCJuZXQvaXB2NjogQWRkIHN1cHBvcnQgZm9y IG9ubGluayBmbGFnIikKU2lnbmVkLW9mZi1ieTogRGF2aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwu Y29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogbmV0L2lwdjYvcm91dGUuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg MiArKwogdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L2ZpYi1vbmxpbmstdGVzdHMuc2ggfCAx NCArKysrKysrLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDcgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvcm91dGUuYyBiL25ldC9pcHY2L3JvdXRl LmMKaW5kZXggYWJjYjVhZTc3MzE5Li4xY2YwMGQ4NTdmYzEgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2 L3JvdXRlLmMKKysrIGIvbmV0L2lwdjYvcm91dGUuYwpAQCAtMjc5OSw2ICsyNzk5LDggQEAgc3Rh dGljIGludCBpcDZfcm91dGVfY2hlY2tfbmhfb25saW5rKHN0cnVjdCBuZXQgKm5ldCwKIAlncnQg PSBpcDZfbmhfbG9va3VwX3RhYmxlKG5ldCwgY2ZnLCBnd19hZGRyLCB0YmlkLCAwKTsKIAlpZiAo Z3J0KSB7CiAJCWlmICghZ3J0LT5kc3QuZXJyb3IgJiYKKwkJICAgIC8qIGlnbm9yZSBtYXRjaCBp ZiBpdCBpcyB0aGUgZGVmYXVsdCByb3V0ZSAqLworCQkgICAgZ3J0LT5mcm9tICYmICFpcHY2X2Fk ZHJfYW55KCZncnQtPmZyb20tPmZpYjZfZHN0LmFkZHIpICYmCiAJCSAgICAoZ3J0LT5ydDZpX2Zs YWdzICYgZmxhZ3MgfHwgZGV2ICE9IGdydC0+ZHN0LmRldikpIHsKIAkJCU5MX1NFVF9FUlJfTVNH KGV4dGFjaywKIAkJCQkgICAgICAgIk5leHRob3AgaGFzIGludmFsaWQgZ2F0ZXdheSBvciBkZXZp Y2UgbWlzbWF0Y2giKTsKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9m aWItb25saW5rLXRlc3RzLnNoIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L2ZpYi1vbmxp bmstdGVzdHMuc2gKaW5kZXggMzk5MWFkMWEzNjhkLi44NjRmODY1ZWVlNTUgMTAwNzU1Ci0tLSBh L3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9maWItb25saW5rLXRlc3RzLnNoCisrKyBiL3Rv b2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9maWItb25saW5rLXRlc3RzLnNoCkBAIC0xNjcsOCAr MTY3LDggQEAgc2V0dXAoKQogCSMgYWRkIHZyZiB0YWJsZQogCWlwIGxpIGFkZCAke1ZSRn0gdHlw ZSB2cmYgdGFibGUgJHtWUkZfVEFCTEV9CiAJaXAgbGkgc2V0ICR7VlJGfSB1cAotCWlwIHJvIGFk ZCB0YWJsZSAke1ZSRl9UQUJMRX0gdW5yZWFjaGFibGUgZGVmYXVsdAotCWlwIC02IHJvIGFkZCB0 YWJsZSAke1ZSRl9UQUJMRX0gdW5yZWFjaGFibGUgZGVmYXVsdAorCWlwIHJvIGFkZCB0YWJsZSAk e1ZSRl9UQUJMRX0gdW5yZWFjaGFibGUgZGVmYXVsdCBtZXRyaWMgODE5MgorCWlwIC02IHJvIGFk ZCB0YWJsZSAke1ZSRl9UQUJMRX0gdW5yZWFjaGFibGUgZGVmYXVsdCBtZXRyaWMgODE5MgogCiAJ IyBjcmVhdGUgdGVzdCBpbnRlcmZhY2VzCiAJaXAgbGkgYWRkICR7TkVUSUZTW3AxXX0gdHlwZSB2 ZXRoIHBlZXIgbmFtZSAke05FVElGU1twMl19CkBAIC0xODUsMjAgKzE4NSwyMCBAQCBzZXR1cCgp CiAJZm9yIG4gaW4gMSAzIDUgNzsgZG8KIAkJaXAgbGkgc2V0ICR7TkVUSUZTW3Ake259XX0gdXAK IAkJaXAgYWRkciBhZGQgJHtWNEFERFJTW3Ake259XX0vMjQgZGV2ICR7TkVUSUZTW3Ake259XX0K LQkJaXAgYWRkciBhZGQgJHtWNkFERFJTW3Ake259XX0vNjQgZGV2ICR7TkVUSUZTW3Ake259XX0K KwkJaXAgYWRkciBhZGQgJHtWNkFERFJTW3Ake259XX0vNjQgZGV2ICR7TkVUSUZTW3Ake259XX0g bm9kYWQKIAlkb25lCiAKIAkjIG1vdmUgcGVlciBpbnRlcmZhY2VzIHRvIG5hbWVzcGFjZSBhbmQg YWRkIGFkZHJlc3NlcwogCWZvciBuIGluIDIgNCA2IDg7IGRvCiAJCWlwIGxpIHNldCAke05FVElG U1twJHtufV19IG5ldG5zICR7UEVFUl9OU30gdXAKIAkJaXAgLW5ldG5zICR7UEVFUl9OU30gYWRk ciBhZGQgJHtWNEFERFJTW3Ake259XX0vMjQgZGV2ICR7TkVUSUZTW3Ake259XX0KLQkJaXAgLW5l dG5zICR7UEVFUl9OU30gYWRkciBhZGQgJHtWNkFERFJTW3Ake259XX0vNjQgZGV2ICR7TkVUSUZT W3Ake259XX0KKwkJaXAgLW5ldG5zICR7UEVFUl9OU30gYWRkciBhZGQgJHtWNkFERFJTW3Ake259 XX0vNjQgZGV2ICR7TkVUSUZTW3Ake259XX0gbm9kYWQKIAlkb25lCiAKLQlzZXQgK2UKKwlpcCAt NiBybyBhZGQgZGVmYXVsdCB2aWEgJHtWNkFERFJTW3AzXS86OlswLTldLzo6NjR9CisJaXAgLTYg cm8gYWRkIHRhYmxlICR7VlJGX1RBQkxFfSBkZWZhdWx0IHZpYSAke1Y2QUREUlNbcDddLzo6WzAt OV0vOjo2NH0KIAotCSMgbGV0IERBRCBjb21wbGV0ZSAtIGFzc3VtZSBkZWZhdWx0IG9mIDEgcHJv YmUKLQlzbGVlcCAxCisJc2V0ICtlCiB9CiAKIGNsZWFudXAoKQotLSAKMi4xOS4xCgoKRnJvbSBm NWNiMDI2OTBhYWVkZjM0MGFiZjI0YjY1NjE3ZjhkMjk0YTJiNTVjIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBLYXJzdGVuIEdyYXVsIDxrZ3JhdWxAbGludXguaWJtLmNvbT4KRGF0ZTog VGh1LCAyNSBPY3QgMjAxOCAxMzoyNToyOCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTMvMjBdIG5l dC9zbWM6IGZpeCBzbWNfYnVmX3VudXNlIHRvIHVzZSB0aGUgbGdyIHBvaW50ZXIKClsgVXBzdHJl YW0gY29tbWl0IGZiNjkyZWM0MTE3ZjZmZDI1MDQ0Y2ZiNTcyMGQ2Yjc5ZDQwMGRjNjUgXQoKVGhl IHBvaW50ZXIgdG8gdGhlIGxpbmsgZ3JvdXAgaXMgdW5zZXQgaW4gdGhlIHNtYyBjb25uZWN0aW9u IHN0cnVjdHVyZQpyaWdodCBiZWZvcmUgdGhlIGNhbGwgdG8gc21jX2J1Zl91bnVzZS4gUHJvdmlk ZSB0aGUgbGdyIHBvaW50ZXIgdG8Kc21jX2J1Zl91bnVzZSBleHBsaWNpdGx5LgpBbmQgbW92ZSB0 aGUgY2FsbCB0byBzbWNfbGdyX3NjaGVkdWxlX2ZyZWVfd29yayB0byB0aGUgZW5kIG9mCnNtY19j b25uX2ZyZWUuCgpGaXhlczogYTY5MjBkMWQxMzBjICgibmV0L3NtYzogaGFuZGxlIHVucmVnaXN0 ZXJlZCBidWZmZXJzIikKU2lnbmVkLW9mZi1ieTogS2Fyc3RlbiBHcmF1bCA8a2dyYXVsQGxpbnV4 LmlibS5jb20+ClNpZ25lZC1vZmYtYnk6IFVyc3VsYSBCcmF1biA8dWJyYXVuQGxpbnV4LmlibS5j b20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4K LS0tCiBuZXQvc21jL3NtY19jb3JlLmMgfCAyNSArKysrKysrKysrKystLS0tLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvbmV0L3NtYy9zbWNfY29yZS5jIGIvbmV0L3NtYy9zbWNfY29yZS5jCmluZGV4IGU4NzEz Njg1MDBlMy4uMThkYWViY2VmMTgxIDEwMDY0NAotLS0gYS9uZXQvc21jL3NtY19jb3JlLmMKKysr IGIvbmV0L3NtYy9zbWNfY29yZS5jCkBAIC0xMjIsMjIgKzEyMiwxNyBAQCBzdGF0aWMgdm9pZCBf X3NtY19sZ3JfdW5yZWdpc3Rlcl9jb25uKHN0cnVjdCBzbWNfY29ubmVjdGlvbiAqY29ubikKIAlz b2NrX3B1dCgmc21jLT5zayk7IC8qIHNvY2tfaG9sZCBpbiBzbWNfbGdyX3JlZ2lzdGVyX2Nvbm4o KSAqLwogfQogCi0vKiBVbnJlZ2lzdGVyIGNvbm5lY3Rpb24gYW5kIHRyaWdnZXIgbGdyIGZyZWVp bmcgaWYgYXBwbGljYWJsZQorLyogVW5yZWdpc3RlciBjb25uZWN0aW9uIGZyb20gbGdyCiAgKi8K IHN0YXRpYyB2b2lkIHNtY19sZ3JfdW5yZWdpc3Rlcl9jb25uKHN0cnVjdCBzbWNfY29ubmVjdGlv biAqY29ubikKIHsKIAlzdHJ1Y3Qgc21jX2xpbmtfZ3JvdXAgKmxnciA9IGNvbm4tPmxncjsKLQlp bnQgcmVkdWNlZCA9IDA7CiAKIAl3cml0ZV9sb2NrX2JoKCZsZ3ItPmNvbm5zX2xvY2spOwogCWlm IChjb25uLT5hbGVydF90b2tlbl9sb2NhbCkgewotCQlyZWR1Y2VkID0gMTsKIAkJX19zbWNfbGdy X3VucmVnaXN0ZXJfY29ubihjb25uKTsKIAl9CiAJd3JpdGVfdW5sb2NrX2JoKCZsZ3ItPmNvbm5z X2xvY2spOwotCWlmICghcmVkdWNlZCB8fCBsZ3ItPmNvbm5zX251bSkKLQkJcmV0dXJuOwotCXNt Y19sZ3Jfc2NoZWR1bGVfZnJlZV93b3JrKGxncik7CiB9CiAKIC8qIFNlbmQgZGVsZXRlIGxpbmss IGVpdGhlciBhcyBjbGllbnQgdG8gcmVxdWVzdCB0aGUgaW5pdGlhdGlvbgpAQCAtMjkxLDcgKzI4 Niw4IEBAIHN0YXRpYyBpbnQgc21jX2xncl9jcmVhdGUoc3RydWN0IHNtY19zb2NrICpzbWMsIGJv b2wgaXNfc21jZCwKIAlyZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyB2b2lkIHNtY19idWZfdW51c2Uo c3RydWN0IHNtY19jb25uZWN0aW9uICpjb25uKQorc3RhdGljIHZvaWQgc21jX2J1Zl91bnVzZShz dHJ1Y3Qgc21jX2Nvbm5lY3Rpb24gKmNvbm4sCisJCQkgIHN0cnVjdCBzbWNfbGlua19ncm91cCAq bGdyKQogewogCWlmIChjb25uLT5zbmRidWZfZGVzYykKIAkJY29ubi0+c25kYnVmX2Rlc2MtPnVz ZWQgPSAwOwpAQCAtMzAxLDggKzI5Nyw2IEBAIHN0YXRpYyB2b2lkIHNtY19idWZfdW51c2Uoc3Ry dWN0IHNtY19jb25uZWN0aW9uICpjb25uKQogCQkJY29ubi0+cm1iX2Rlc2MtPnVzZWQgPSAwOwog CQl9IGVsc2UgewogCQkJLyogYnVmIHJlZ2lzdHJhdGlvbiBmYWlsZWQsIHJldXNlIG5vdCBwb3Nz aWJsZSAqLwotCQkJc3RydWN0IHNtY19saW5rX2dyb3VwICpsZ3IgPSBjb25uLT5sZ3I7Ci0KIAkJ CXdyaXRlX2xvY2tfYmgoJmxnci0+cm1ic19sb2NrKTsKIAkJCWxpc3RfZGVsKCZjb25uLT5ybWJf ZGVzYy0+bGlzdCk7CiAJCQl3cml0ZV91bmxvY2tfYmgoJmxnci0+cm1ic19sb2NrKTsKQEAgLTMx NSwxNiArMzA5LDIxIEBAIHN0YXRpYyB2b2lkIHNtY19idWZfdW51c2Uoc3RydWN0IHNtY19jb25u ZWN0aW9uICpjb25uKQogLyogcmVtb3ZlIGEgZmluaXNoZWQgY29ubmVjdGlvbiBmcm9tIGl0cyBs aW5rIGdyb3VwICovCiB2b2lkIHNtY19jb25uX2ZyZWUoc3RydWN0IHNtY19jb25uZWN0aW9uICpj b25uKQogewotCWlmICghY29ubi0+bGdyKQorCXN0cnVjdCBzbWNfbGlua19ncm91cCAqbGdyID0g Y29ubi0+bGdyOworCisJaWYgKCFsZ3IpCiAJCXJldHVybjsKLQlpZiAoY29ubi0+bGdyLT5pc19z bWNkKSB7CisJaWYgKGxnci0+aXNfc21jZCkgewogCQlzbWNfaXNtX3Vuc2V0X2Nvbm4oY29ubik7 CiAJCXRhc2tsZXRfa2lsbCgmY29ubi0+cnhfdHNrbGV0KTsKIAl9IGVsc2UgewogCQlzbWNfY2Rj X3R4X2Rpc21pc3Nfc2xvdHMoY29ubik7CiAJfQotCXNtY19sZ3JfdW5yZWdpc3Rlcl9jb25uKGNv bm4pOwotCXNtY19idWZfdW51c2UoY29ubik7CisJc21jX2xncl91bnJlZ2lzdGVyX2Nvbm4oY29u bik7CQkvKiB1bnNldHMgY29ubi0+bGdyICovCisJc21jX2J1Zl91bnVzZShjb25uLCBsZ3IpOwkJ LyogYWxsb3cgYnVmZmVyIHJldXNlICovCisKKwlpZiAoIWxnci0+Y29ubnNfbnVtKQorCQlzbWNf bGdyX3NjaGVkdWxlX2ZyZWVfd29yayhsZ3IpOwogfQogCiBzdGF0aWMgdm9pZCBzbWNfbGlua19j bGVhcihzdHJ1Y3Qgc21jX2xpbmsgKmxuaykKLS0gCjIuMTkuMQoKCkZyb20gMTZmOWQxNGRlOTE2 MTc0NzU0MjQ2MDdiMDM3NDM0OWQ3NGQ3NTI5NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogUGV0ciBNYWNoYXRhIDxwZXRybUBtZWxsYW5veC5jb20+CkRhdGU6IE1vbiwgMjkgT2N0IDIw MTggMTQ6MjY6MTQgKzAwMDAKU3ViamVjdDogW1BBVENIIDE0LzIwXSBtbHhzdzogc3BlY3RydW1f c3dpdGNoZGV2OiBEb24ndCBpZ25vcmUgZGVsZXRpb25zIG9mCiBsZWFybmVkIE1BQ3MKClsgVXBz dHJlYW0gY29tbWl0IGFkMGI5ZDk0MTgyYmU4MzU2OTc4ZDIyMGM4MmY5ODM3Y2ZmZWI3YTkgXQoK RGVtYW5kcyB0byByZW1vdmUgRkRCIGVudHJpZXMgc2hvdWxkIGJlIGhvbm9yZWQgZXZlbiBpZiB0 aGUgRkRCIGVudHJ5IGluCnF1ZXN0aW9uIHdhcyBvcmlnaW5hbGx5IGxlYXJuZWQsIGFuZCBub3Qg YWRkZWQgYnkgdGhlIHVzZXIuIFRoZXJlZm9yZQppZ25vcmUgdGhlIGFkZGVkX2J5X3VzZXIgZGF0 dW0gZm9yIFNXSVRDSERFVl9GREJfREVMX1RPX0RFVklDRS4KCkZpeGVzOiA4MTZhM2JlZDk1NDkg KCJzd2l0Y2hkZXY6IEFkZCBmZGIuYWRkZWRfYnlfdXNlciB0byBzd2l0Y2hkZXYgbm90aWZpY2F0 aW9ucyIpClNpZ25lZC1vZmYtYnk6IFBldHIgTWFjaGF0YSA8cGV0cm1AbWVsbGFub3guY29tPgpT dWdnZXN0ZWQtYnk6IElkbyBTY2hpbW1lbCA8aWRvc2NoQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9m Zi1ieTogSWRvIFNjaGltbWVsIDxpZG9zY2hAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW1fc3dpdGNoZGV2LmMgfCAyIC0tCiAxIGZpbGUg Y2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5l dC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bV9zd2l0Y2hkZXYuYyBiL2RyaXZlcnMvbmV0L2V0aGVy bmV0L21lbGxhbm94L21seHN3L3NwZWN0cnVtX3N3aXRjaGRldi5jCmluZGV4IGRiNzE1ZGE3YmFi Ny4uNzcxNWYxZWQyYmNiIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHhzdy9zcGVjdHJ1bV9zd2l0Y2hkZXYuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9t ZWxsYW5veC9tbHhzdy9zcGVjdHJ1bV9zd2l0Y2hkZXYuYwpAQCAtMjMxNyw4ICsyMzE3LDYgQEAg c3RhdGljIHZvaWQgbWx4c3dfc3Bfc3dpdGNoZGV2X2V2ZW50X3dvcmsoc3RydWN0IHdvcmtfc3Ry dWN0ICp3b3JrKQogCQlicmVhazsKIAljYXNlIFNXSVRDSERFVl9GREJfREVMX1RPX0RFVklDRToK IAkJZmRiX2luZm8gPSAmc3dpdGNoZGV2X3dvcmstPmZkYl9pbmZvOwotCQlpZiAoIWZkYl9pbmZv LT5hZGRlZF9ieV91c2VyKQotCQkJYnJlYWs7CiAJCW1seHN3X3NwX3BvcnRfZmRiX3NldChtbHhz d19zcF9wb3J0LCBmZGJfaW5mbywgZmFsc2UpOwogCQlicmVhazsKIAljYXNlIFNXSVRDSERFVl9G REJfQUREX1RPX0JSSURHRTogLyogZmFsbCB0aHJvdWdoICovCi0tIAoyLjE5LjEKCgpGcm9tIDEz N2I0NzJhYmU0YmE5OTliNWRiZTU1NGZmNTc2MmM0ZDNhM2ExYWMgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IFNoYWxvbSBUb2xlZG8gPHNoYWxvbXRAbWVsbGFub3guY29tPgpEYXRlOiBN b24sIDI5IE9jdCAyMDE4IDE0OjI2OjE2ICswMDAwClN1YmplY3Q6IFtQQVRDSCAxNS8yMF0gbWx4 c3c6IGNvcmU6IEZpeCBkZXZsaW5rIHVucmVnaXN0ZXIgZmxvdwoKWyBVcHN0cmVhbSBjb21taXQg YTIyNzEyYTk2MjkxMmZhZjI1N2U4NTdhYjY4NTdmNTZhOTNjZmIzNCBdCgpBZnRlciBhIGZhaWxl ZCByZWxvYWQsIHRoZSBkcml2ZXIgaXMgc3RpbGwgcmVnaXN0ZXJlZCB0byBkZXZsaW5rLCBpdHMK ZGV2bGluayBpbnN0YW5jZSBpcyBzdGlsbCBhbGxvY2F0ZWQgYW5kIHRoZSAncmVsb2FkX2ZhaWwn IGZsYWcgaXMgc2V0LgpUaGVuLCBpbiB0aGUgbmV4dCByZWxvYWQgdHJ5LCB0aGUgZHJpdmVyJ3Mg YWxsb2NhdGVkIGRldmxpbmsgaW5zdGFuY2Ugd2lsbApiZSBmcmVlZCB3aXRob3V0IHVucmVnaXN0 ZXJpbmcgZnJvbSBkZXZsaW5rIGFuZCBpdHMgY29tcG9uZW50cyAoZS5nLApyZXNvdXJjZXMpLiBU aGlzIHNjZW5hcmlvIGNhbiBjYXVzZSBhIHVzZS1hZnRlci1mcmVlIGlmIHRoZSB1c2VyIHRyaWVz IHRvCmV4ZWN1dGUgY29tbWFuZCB2aWEgZGV2bGluayB1c2VyLXNwYWNlIHRvb2wuCgpGaXggYnkg bm90IGZyZWVpbmcgdGhlIGRldmxpbmsgaW5zdGFuY2UgZHVyaW5nIHJlbG9hZCAoZmFpbGVkIG9y IG5vdCkuCgpGaXhlczogMjRjYzY4YWQ2YzQ2ICgibWx4c3c6IGNvcmU6IEFkZCBzdXBwb3J0IGZv ciByZWxvYWQiKQpTaWduZWQtb2ZmLWJ5OiBTaGFsb20gVG9sZWRvIDxzaGFsb210QG1lbGxhbm94 LmNvbT4KUmV2aWV3ZWQtYnk6IEppcmkgUGlya28gPGppcmlAbWVsbGFub3guY29tPgpTaWduZWQt b2ZmLWJ5OiBJZG8gU2NoaW1tZWwgPGlkb3NjaEBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6 IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHhzdy9jb3JlLmMgfCAyNCArKysrKysrKysrKysrKystLS0tLS0t CiAxIGZpbGUgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9jb3JlLmMgYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9jb3JlLmMKaW5kZXggOTM3ZDBhY2U2OTlh Li4zMGY3NTFlNjk2OTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94 L21seHN3L2NvcmUuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9j b3JlLmMKQEAgLTk0Myw4ICs5NDMsOCBAQCBzdGF0aWMgaW50IG1seHN3X2RldmxpbmtfY29yZV9i dXNfZGV2aWNlX3JlbG9hZChzdHJ1Y3QgZGV2bGluayAqZGV2bGluaywKIAkJCQkJICAgICBtbHhz d19jb3JlLT5idXMsCiAJCQkJCSAgICAgbWx4c3dfY29yZS0+YnVzX3ByaXYsIHRydWUsCiAJCQkJ CSAgICAgZGV2bGluayk7Ci0JaWYgKGVycikKLQkJbWx4c3dfY29yZS0+cmVsb2FkX2ZhaWwgPSB0 cnVlOworCW1seHN3X2NvcmUtPnJlbG9hZF9mYWlsID0gISFlcnI7CisKIAlyZXR1cm4gZXJyOwog fQogCkBAIC0xMDgzLDggKzEwODMsMTUgQEAgdm9pZCBtbHhzd19jb3JlX2J1c19kZXZpY2VfdW5y ZWdpc3RlcihzdHJ1Y3QgbWx4c3dfY29yZSAqbWx4c3dfY29yZSwKIHsKIAlzdHJ1Y3QgZGV2bGlu ayAqZGV2bGluayA9IHByaXZfdG9fZGV2bGluayhtbHhzd19jb3JlKTsKIAotCWlmIChtbHhzd19j b3JlLT5yZWxvYWRfZmFpbCkKLQkJZ290byByZWxvYWRfZmFpbDsKKwlpZiAobWx4c3dfY29yZS0+ cmVsb2FkX2ZhaWwpIHsKKwkJaWYgKCFyZWxvYWQpCisJCQkvKiBPbmx5IHRoZSBwYXJ0cyB0aGF0 IHdlcmUgbm90IGRlLWluaXRpYWxpemVkIGluIHRoZQorCQkJICogZmFpbGVkIHJlbG9hZCBhdHRl bXB0IG5lZWQgdG8gYmUgZGUtaW5pdGlhbGl6ZWQuCisJCQkgKi8KKwkJCWdvdG8gcmVsb2FkX2Zh aWxfZGVpbml0OworCQllbHNlCisJCQlyZXR1cm47CisJfQogCiAJaWYgKG1seHN3X2NvcmUtPmRy aXZlci0+ZmluaSkKIAkJbWx4c3dfY29yZS0+ZHJpdmVyLT5maW5pKG1seHN3X2NvcmUpOwpAQCAt MTA5OCw5ICsxMTA1LDEyIEBAIHZvaWQgbWx4c3dfY29yZV9idXNfZGV2aWNlX3VucmVnaXN0ZXIo c3RydWN0IG1seHN3X2NvcmUgKm1seHN3X2NvcmUsCiAJaWYgKCFyZWxvYWQpCiAJCWRldmxpbmtf cmVzb3VyY2VzX3VucmVnaXN0ZXIoZGV2bGluaywgTlVMTCk7CiAJbWx4c3dfY29yZS0+YnVzLT5m aW5pKG1seHN3X2NvcmUtPmJ1c19wcml2KTsKLQlpZiAocmVsb2FkKQotCQlyZXR1cm47Ci1yZWxv YWRfZmFpbDoKKworCXJldHVybjsKKworcmVsb2FkX2ZhaWxfZGVpbml0OgorCWRldmxpbmtfdW5y ZWdpc3RlcihkZXZsaW5rKTsKKwlkZXZsaW5rX3Jlc291cmNlc191bnJlZ2lzdGVyKGRldmxpbmss IE5VTEwpOwogCWRldmxpbmtfZnJlZShkZXZsaW5rKTsKIH0KIEVYUE9SVF9TWU1CT0wobWx4c3df Y29yZV9idXNfZGV2aWNlX3VucmVnaXN0ZXIpOwotLSAKMi4xOS4xCgoKRnJvbSAwMWE3Mjg3NGRl NWE5ODJhNzAwM2M4N2ViNzJjMzc4YzYyNzI3MmQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBDb25nIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4KRGF0ZTogVGh1LCAxIE5v diAyMDE4IDEyOjAyOjM3IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxNi8yMF0gbmV0OiBkcm9wIHNr YiBvbiBmYWlsdXJlIGluIGlwX2NoZWNrX2RlZnJhZygpCgpbIFVwc3RyZWFtIGNvbW1pdCA3ZGU0 MTRhOWRkOTE0MjYzMThkZjdiNjNkYTAyNGIyYjA3ZTUzZGY1IF0KCk1vc3QgY2FsbGVycyBvZiBw c2tiX3RyaW1fcmNzdW0oKSBzaW1wbHkgZHJvcCB0aGUgc2tiIHdoZW4KaXQgZmFpbHMsIGhvd2V2 ZXIsIGlwX2NoZWNrX2RlZnJhZygpIHN0aWxsIGNvbnRpbnVlcyB0byBwYXNzCnRoZSBza2IgdXAg dG8gc3RhY2suIFRoaXMgaXMgc3VzcGljaW91cy4KCkluIGlwX2NoZWNrX2RlZnJhZygpLCBhZnRl ciB3ZSBsZWFybiB0aGUgc2tiIGlzIGFuIElQIGZyYWdtZW50LApwYXNzaW5nIHRoZSBza2IgdG8g Y2FsbGVycyBtYWtlcyBubyBzZW5zZSwgYmVjYXVzZSBjYWxsZXJzIGV4cGVjdApmcmFnbWVudHMg YXJlIGRlZnJhZydlZCBvbiBzdWNjZXNzLiBTbywgZHJvcHBpbmcgdGhlIHNrYiB3aGVuIHdlCmNh bid0IGRlZnJhZyBpdCBpcyByZWFzb25hYmxlLgoKTm90ZSwgcHJpb3IgdG8gY29tbWl0IDg4MDc4 ZDk4ZDFiYiwgdGhpcyBpcyBub3QgYSBiaWcgcHJvYmxlbSBhcwpjaGVja3N1bSB3aWxsIGJlIGZp eGVkIHVwIGFueXdheS4gQWZ0ZXIgaXQsIHRoZSBjaGVja3N1bSBpcyBub3QKY29ycmVjdCBvbiBm YWlsdXJlLgoKRm91bmQgdGhpcyBkdXJpbmcgY29kZSByZXZpZXcuCgpGaXhlczogODgwNzhkOThk MWJiICgibmV0OiBwc2tiX3RyaW1fcmNzdW0oKSBhbmQgQ0hFQ0tTVU1fQ09NUExFVEUgYXJlIGZy aWVuZHMiKQpDYzogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpTaWduZWQtb2Zm LWJ5OiBDb25nIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IEVy aWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4g TWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY0L2lwX2ZyYWdtZW50LmMg fCAxMiArKysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDQgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvaXBfZnJhZ21lbnQuYyBiL25ldC9pcHY0 L2lwX2ZyYWdtZW50LmMKaW5kZXggZTcyMjcxMjhkZjJjLi5jYjhmYTVkN2FmZTEgMTAwNjQ0Ci0t LSBhL25ldC9pcHY0L2lwX2ZyYWdtZW50LmMKKysrIGIvbmV0L2lwdjQvaXBfZnJhZ21lbnQuYwpA QCAtNzIwLDEwICs3MjAsMTQgQEAgc3RydWN0IHNrX2J1ZmYgKmlwX2NoZWNrX2RlZnJhZyhzdHJ1 Y3QgbmV0ICpuZXQsIHN0cnVjdCBza19idWZmICpza2IsIHUzMiB1c2VyKQogCWlmIChpcF9pc19m cmFnbWVudCgmaXBoKSkgewogCQlza2IgPSBza2Jfc2hhcmVfY2hlY2soc2tiLCBHRlBfQVRPTUlD KTsKIAkJaWYgKHNrYikgewotCQkJaWYgKCFwc2tiX21heV9wdWxsKHNrYiwgbmV0b2ZmICsgaXBo LmlobCAqIDQpKQotCQkJCXJldHVybiBza2I7Ci0JCQlpZiAocHNrYl90cmltX3Jjc3VtKHNrYiwg bmV0b2ZmICsgbGVuKSkKLQkJCQlyZXR1cm4gc2tiOworCQkJaWYgKCFwc2tiX21heV9wdWxsKHNr YiwgbmV0b2ZmICsgaXBoLmlobCAqIDQpKSB7CisJCQkJa2ZyZWVfc2tiKHNrYik7CisJCQkJcmV0 dXJuIE5VTEw7CisJCQl9CisJCQlpZiAocHNrYl90cmltX3Jjc3VtKHNrYiwgbmV0b2ZmICsgbGVu KSkgeworCQkJCWtmcmVlX3NrYihza2IpOworCQkJCXJldHVybiBOVUxMOworCQkJfQogCQkJbWVt c2V0KElQQ0Ioc2tiKSwgMCwgc2l6ZW9mKHN0cnVjdCBpbmV0X3NrYl9wYXJtKSk7CiAJCQlpZiAo aXBfZGVmcmFnKG5ldCwgc2tiLCB1c2VyKSkKIAkJCQlyZXR1cm4gTlVMTDsKLS0gCjIuMTkuMQoK CkZyb20gOTk1NTk3MTdhYjg3OTI0NjQ2NjQ5NTdiYTExN2M4ZGJmNzc0NGU4YSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogIkRhdmlkIFMuIE1pbGxlciIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+CkRhdGU6IFN1biwgMjggT2N0IDIwMTggMTA6MzU6MTIgLTA3MDAKU3ViamVjdDogW1BBVENI IDE3LzIwXSBuZXQ6IFByb3Blcmx5IHVubGluayBHUk8gcGFja2V0cyBvbiBvdmVyZmxvdy4KClsg VXBzdHJlYW0gY29tbXRpIGVjZTIzNzExZGQ5NTZjZDUwNTNjOWNiMDNlOWZlMDY2OGY5Yzg4OTQg XQoKSnVzdCBsaWtlIHdpdGggbm9ybWFsIEdSTyBwcm9jZXNzaW5nLCB3ZSBoYXZlIHRvIGluaXRp YWxpemUKc2tiLT5uZXh0IHRvIE5VTEwgd2hlbiB3ZSB1bmxpbmsgb3ZlcmZsb3cgcGFja2V0cyBm cm9tIHRoZQpHUk8gaGFzaCBsaXN0cy4KCkZpeGVzOiBkNDU0NmMyNTA5YjEgKCJuZXQ6IENvbnZl cnQgR1JPIFNLQiBoYW5kbGluZyB0byBsaXN0X2hlYWQuIikKUmVwb3J0ZWQtYnk6IE9sZWtzYW5k ciBOYXRhbGVua28gPG9sZWtzYW5kckBuYXRhbGVua28ubmFtZT4KVGVzdGVkLWJ5OiBPbGVrc2Fu ZHIgTmF0YWxlbmtvIDxvbGVrc2FuZHJAbmF0YWxlbmtvLm5hbWU+ClNpZ25lZC1vZmYtYnk6IERh dmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvY29yZS9kZXYuYyB8 IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvbmV0L2Nv cmUvZGV2LmMgYi9uZXQvY29yZS9kZXYuYwppbmRleCA5MzI0MzQ3OTA4NWYuLmUxNmJhMzYyNTQw MCAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvZGV2LmMKKysrIGIvbmV0L2NvcmUvZGV2LmMKQEAgLTU0 MzEsNiArNTQzMSw3IEBAIHN0YXRpYyB2b2lkIGdyb19mbHVzaF9vbGRlc3Qoc3RydWN0IGxpc3Rf aGVhZCAqaGVhZCkKIAkgKiBTS0IgdG8gdGhlIGNoYWluLgogCSAqLwogCWxpc3RfZGVsKCZvbGRl c3QtPmxpc3QpOworCW9sZGVzdC0+bmV4dCA9IE5VTEw7CiAJbmFwaV9ncm9fY29tcGxldGUob2xk ZXN0KTsKIH0KIAotLSAKMi4xOS4xCgoKRnJvbSA4YTNhYzM4OGVlMjRhZjg4MDIwNGFjYzA4MWRi OTE2YjIwNTg3NzEyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIZWluZXIgS2FsbHdl aXQgPGhrYWxsd2VpdDFAZ21haWwuY29tPgpEYXRlOiBUaHUsIDI1IE9jdCAyMDE4IDE4OjQwOjE5 ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxOC8yMF0gcjgxNjk6IGZpeCBicm9rZW4gV2FrZS1vbi1M QU4gZnJvbSBTNSAocG93ZXJvZmYpCgpbIFVwc3RyZWFtIGNvbW1pdCA2NDlmMDgzN2E4Y2MyYjM5 MzI5ZjJkZTAwZmEwZDA0YjAyOTI5MWM1IF0KCkl0IHdhcyByZXBvcnRlZCB0aGF0IFdvTCBmcm9t IFM1IGlzIGJyb2tlbiAoV29MIGZyb20gUzMgd29ya3MpIGFuZCB0aGUKYW5hbHlzaXMgc2hvd2Vk IHRoYXQgZHVyaW5nIHN5c3RlbSBzaHV0ZG93biB0aGUgbmV0d29yayBpbnRlcmZhY2Ugd2FzCmJy b3VnaHQgZG93biBhbHJlYWR5IHdoZW4gdGhlIGFjdHVhbCBrZXJuZWwgc2h1dGRvd24gc3RhcnRl ZC4KVGhlcmVmb3JlIG5ldGlmX3J1bm5pbmcoKSByZXR1cm5lZCBmYWxzZSBhbmQgYXMgYSBjb25z ZXF1ZW5jZSB0aGUgUEhZCndhcyBzdXNwZW5kZWQuIE9idmlvdXNseSBXb0wgd2Fzbid0IHdvcmtp bmcgdGhlbi4KVG8gZml4IHRoaXMgdGhlIG9yaWdpbmFsIHBhdGNoIG5lZWRzIHRvIGJlIGVmZmVj dGl2ZWx5IHJldmVydGVkLgpBIHNpZGUgZWZmZWN0IGlzIHRoYXQgd2hlbiBub3JtYWxseSBicmlu Z2luZyBkb3duIHRoZSBpbnRlcmZhY2UgYW5kCldvTCBpcyBlbmFibGVkIHRoZSBQSFkgd2lsbCBy ZW1haW4gcG93ZXJlZCBvbiAobGlrZSBpdCB3YXMgYmVmb3JlIHRoZQpvcmlnaW5hbCBwYXRjaCku CgpGaXhlczogZmU4N2JlZjAxZjliICgicjgxNjk6IGRvbid0IGNoZWNrIFdvTCB3aGVuIHBvd2Vy aW5nIGRvd24gUEhZIGFuZCBpbnRlcmZhY2UgaXMgZG93biIpClJlcG9ydGVkLWJ5OiBOZWlsIE1h Y0xlb2QgPG5laWxAbm1hY2xlb2QuY29tPgpTaWduZWQtb2ZmLWJ5OiBIZWluZXIgS2FsbHdlaXQg PGhrYWxsd2VpdDFAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRh dmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2 OS5jIHwgOSArKysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDIgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2 OS5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2OS5jCmluZGV4IDJjMzUwMDk5 YjgzYy4uNDkzMGUwMzc1YzFkIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9yZWFs dGVrL3I4MTY5LmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2OS5jCkBA IC00MTc1LDEwICs0MTc1LDE1IEBAIHN0YXRpYyB2b2lkIHJ0bF93b2xfc3VzcGVuZF9xdWlyayhz dHJ1Y3QgcnRsODE2OV9wcml2YXRlICp0cCkKIAogc3RhdGljIGJvb2wgcnRsX3dvbF9wbGxfcG93 ZXJfZG93bihzdHJ1Y3QgcnRsODE2OV9wcml2YXRlICp0cCkKIHsKLQlpZiAoIW5ldGlmX3J1bm5p bmcodHAtPmRldikgfHwgIV9fcnRsODE2OV9nZXRfd29sKHRwKSkKKwlzdHJ1Y3QgcGh5X2Rldmlj ZSAqcGh5ZGV2OworCisJaWYgKCFfX3J0bDgxNjlfZ2V0X3dvbCh0cCkpCiAJCXJldHVybiBmYWxz ZTsKIAotCXBoeV9zcGVlZF9kb3duKHRwLT5kZXYtPnBoeWRldiwgZmFsc2UpOworCS8qIHBoeWRl diBtYXkgbm90IGJlIGF0dGFjaGVkIHRvIG5ldGRldmljZSAqLworCXBoeWRldiA9IG1kaW9idXNf Z2V0X3BoeSh0cC0+bWlpX2J1cywgMCk7CisKKwlwaHlfc3BlZWRfZG93bihwaHlkZXYsIGZhbHNl KTsKIAlydGxfd29sX3N1c3BlbmRfcXVpcmsodHApOwogCiAJcmV0dXJuIHRydWU7Ci0tIAoyLjE5 LjEKCgpGcm9tIGQzN2M2M2MyMzZjMjMxMjdlMWFhM2EyYTc2ZmNmYzMyYTkyYjI1ZGMgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEl2YW4gVmVjZXJhIDxpdmVjZXJhQHJlZGhhdC5jb20+ CkRhdGU6IFR1ZSwgMjMgT2N0IDIwMTggMTY6NDA6MjYgKzAyMDAKU3ViamVjdDogW1BBVENIIDE5 LzIwXSBSZXZlcnQgImJlMm5ldDogcmVtb3ZlIGRlc2MgZmllbGQgZnJvbSBiZV9lcV9vYmoiCgpb IFVwc3RyZWFtIGNvbW1pdCA1ZWY3OTE1MWMyZmJjNDAxY2YzODMyNWU5YTMyZTc3YjlmYzU5M2Fl IF0KClRoZSBtZW50aW9uZWQgY29tbWl0IG5lZWRzIHRvIGJlIHJldmVydGVkIGJlY2F1c2Ugd2Ug Y2Fubm90IHBhc3MKc3RyaW5nIGFsbG9jYXRlZCBvbiBzdGFjayB0byByZXF1ZXN0X2lycSgpLiBU aGlzIGZ1bmN0aW9uIHN0b3Jlcwp1c2VzIHRoaXMgcG9pbnRlciBmb3IgbGF0ZXIgdXNlIChlLmcu IC9wcm9jL2ludGVycnVwdHMpIHNvIHdlIG5lZWQKdG8ga2VlcCB0aGlzIHN0cmluZyBwZXJzaXN0 ZW50bHkuCgpGaXhlczogZDZkOTcwNGFmOGY0ICgiYmUybmV0OiByZW1vdmUgZGVzYyBmaWVsZCBm cm9tIGJlX2VxX29iaiIpClNpZ25lZC1vZmYtYnk6IEl2YW4gVmVjZXJhIDxpdmVjZXJhQHJlZGhh dC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5l dD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9lbXVsZXgvYmVuZXQvYmUuaCAgICAgIHwgMSAr CiBkcml2ZXJzL25ldC9ldGhlcm5ldC9lbXVsZXgvYmVuZXQvYmVfbWFpbi5jIHwgNiArKy0tLS0K IDIgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2VtdWxleC9iZW5ldC9iZS5oIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvZW11bGV4L2JlbmV0L2JlLmgKaW5kZXggNThiY2VlOGYwYTU4Li5jZTA0MWM5 MGFkYjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2VtdWxleC9iZW5ldC9iZS5o CisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2VtdWxleC9iZW5ldC9iZS5oCkBAIC0xODUsNiAr MTg1LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHF1ZXVlX3RhaWxfaW5jKHN0cnVjdCBiZV9xdWV1 ZV9pbmZvICpxKQogCiBzdHJ1Y3QgYmVfZXFfb2JqIHsKIAlzdHJ1Y3QgYmVfcXVldWVfaW5mbyBx OworCWNoYXIgZGVzY1szMl07CiAKIAlzdHJ1Y3QgYmVfYWRhcHRlciAqYWRhcHRlcjsKIAlzdHJ1 Y3QgbmFwaV9zdHJ1Y3QgbmFwaTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Vt dWxleC9iZW5ldC9iZV9tYWluLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9lbXVsZXgvYmVuZXQv YmVfbWFpbi5jCmluZGV4IDUzNDc4NzI5MWI0NC4uYmZmNzQ3NTJjZWYxIDEwMDY0NAotLS0gYS9k cml2ZXJzL25ldC9ldGhlcm5ldC9lbXVsZXgvYmVuZXQvYmVfbWFpbi5jCisrKyBiL2RyaXZlcnMv bmV0L2V0aGVybmV0L2VtdWxleC9iZW5ldC9iZV9tYWluLmMKQEAgLTM0ODgsMTEgKzM0ODgsOSBA QCBzdGF0aWMgaW50IGJlX21zaXhfcmVnaXN0ZXIoc3RydWN0IGJlX2FkYXB0ZXIgKmFkYXB0ZXIp CiAJaW50IHN0YXR1cywgaSwgdmVjOwogCiAJZm9yX2FsbF9ldnRfcXVldWVzKGFkYXB0ZXIsIGVx bywgaSkgewotCQljaGFyIGlycV9uYW1lW0lGTkFNU0laKzRdOwotCi0JCXNucHJpbnRmKGlycV9u YW1lLCBzaXplb2YoaXJxX25hbWUpLCAiJXMtcSVkIiwgbmV0ZGV2LT5uYW1lLCBpKTsKKwkJc3By aW50ZihlcW8tPmRlc2MsICIlcy1xJWQiLCBuZXRkZXYtPm5hbWUsIGkpOwogCQl2ZWMgPSBiZV9t c2l4X3ZlY19nZXQoYWRhcHRlciwgZXFvKTsKLQkJc3RhdHVzID0gcmVxdWVzdF9pcnEodmVjLCBi ZV9tc2l4LCAwLCBpcnFfbmFtZSwgZXFvKTsKKwkJc3RhdHVzID0gcmVxdWVzdF9pcnEodmVjLCBi ZV9tc2l4LCAwLCBlcW8tPmRlc2MsIGVxbyk7CiAJCWlmIChzdGF0dXMpCiAJCQlnb3RvIGVycl9t c2l4OwogCi0tIAoyLjE5LjEKCgpGcm9tIDgyOTBlYzI4NTMwM2Y4NmRmMTYxNDBjYjNjY2RmZTIz ZmMzMDk3NDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFhpbiBMb25nIDxsdWNpZW4u eGluQGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAyOSBPY3QgMjAxOCAyMzoxMzoxMSArMDgwMApTdWJq ZWN0OiBbUEFUQ0ggMjAvMjBdIHNjdHA6IGNoZWNrIHBvbGljeSBtb3JlIGNhcmVmdWxseSB3aGVu IGdldHRpbmcgcHIKIHN0YXR1cwoKWyBVcHN0cmVhbSBjb21taXQgNzEzMzU4MzY5MzgyY2ViZjky ZjZlOThjZTIwMDVmOTRlNzM0NDkzMSBdCgpXaGVuIGdldHRpbmcgcHJfYXNzb2NzdGF0dXMgYW5k IHByX3N0cmVhbXN0YXR1cyBieSBzY3RwX2dldHNvY2tvcHQsCml0IGRvZXNuJ3QgY29ycmVjdGx5 IHByb2Nlc3MgdGhlIGNhc2Ugd2hlbiBwb2xpY3kgaXMgc2V0IHdpdGgKU0NUUF9QUl9TQ1RQX0FM TCB8IFNDVFBfUFJfU0NUUF9NQVNLLiBJdCBldmVuIGNhdXNlcyBhCnNsYWItb3V0LW9mLWJvdW5k cyBpbiBzY3RwX2dldHNvY2tvcHRfcHJfc3RyZWFtc3RhdHVzKCkuCgpUaGlzIHBhdGNoIGZpeGVz IGl0IGJ5IHJldHVybiAtRUlOVkFMIGZvciB0aGlzIGNhc2UuCgpGaXhlczogMGFjMTA3N2UzYTU0 ICgic2N0cDogZ2V0IHByX2Fzc29jIGFuZCBwcl9zdHJlYW0gYWxsIHN0YXR1cyB3aXRoIFNDVFBf UFJfU0NUUF9BTEwiKQpSZXBvcnRlZC1ieTogc3l6Ym90KzVkYTBkMGE3MmE5ZTdkNzkxNzQ4QHN5 emthbGxlci5hcHBzcG90bWFpbC5jb20KU3VnZ2VzdGVkLWJ5OiBNYXJjZWxvIFJpY2FyZG8gTGVp dG5lciA8bWFyY2Vsby5sZWl0bmVyQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogWGluIExvbmcg PGx1Y2llbi54aW5AZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRh dmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3NjdHAvc29ja2V0LmMgfCA4ICsrKysrLS0tCiAx IGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL25ldC9zY3RwL3NvY2tldC5jIGIvbmV0L3NjdHAvc29ja2V0LmMKaW5kZXggYzFjMWJkYTMz NGE0Li5jMTY5M2UyOGFlZDQgMTAwNjQ0Ci0tLSBhL25ldC9zY3RwL3NvY2tldC5jCisrKyBiL25l dC9zY3RwL3NvY2tldC5jCkBAIC03MTAxLDE0ICs3MTAxLDE1IEBAIHN0YXRpYyBpbnQgc2N0cF9n ZXRzb2Nrb3B0X3ByX2Fzc29jc3RhdHVzKHN0cnVjdCBzb2NrICpzaywgaW50IGxlbiwKIAl9CiAK IAlwb2xpY3kgPSBwYXJhbXMuc3Byc3RhdF9wb2xpY3k7Ci0JaWYgKCFwb2xpY3kgfHwgKHBvbGlj eSAmIH4oU0NUUF9QUl9TQ1RQX01BU0sgfCBTQ1RQX1BSX1NDVFBfQUxMKSkpCisJaWYgKCFwb2xp Y3kgfHwgKHBvbGljeSAmIH4oU0NUUF9QUl9TQ1RQX01BU0sgfCBTQ1RQX1BSX1NDVFBfQUxMKSkg fHwKKwkgICAgKChwb2xpY3kgJiBTQ1RQX1BSX1NDVFBfQUxMKSAmJiAocG9saWN5ICYgU0NUUF9Q Ul9TQ1RQX01BU0spKSkKIAkJZ290byBvdXQ7CiAKIAlhc29jID0gc2N0cF9pZDJhc3NvYyhzaywg cGFyYW1zLnNwcnN0YXRfYXNzb2NfaWQpOwogCWlmICghYXNvYykKIAkJZ290byBvdXQ7CiAKLQlp ZiAocG9saWN5ICYgU0NUUF9QUl9TQ1RQX0FMTCkgeworCWlmIChwb2xpY3kgPT0gU0NUUF9QUl9T Q1RQX0FMTCkgewogCQlwYXJhbXMuc3Byc3RhdF9hYmFuZG9uZWRfdW5zZW50ID0gMDsKIAkJcGFy YW1zLnNwcnN0YXRfYWJhbmRvbmVkX3NlbnQgPSAwOwogCQlmb3IgKHBvbGljeSA9IDA7IHBvbGlj eSA8PSBTQ1RQX1BSX0lOREVYKE1BWCk7IHBvbGljeSsrKSB7CkBAIC03MTYwLDcgKzcxNjEsOCBA QCBzdGF0aWMgaW50IHNjdHBfZ2V0c29ja29wdF9wcl9zdHJlYW1zdGF0dXMoc3RydWN0IHNvY2sg KnNrLCBpbnQgbGVuLAogCX0KIAogCXBvbGljeSA9IHBhcmFtcy5zcHJzdGF0X3BvbGljeTsKLQlp ZiAoIXBvbGljeSB8fCAocG9saWN5ICYgfihTQ1RQX1BSX1NDVFBfTUFTSyB8IFNDVFBfUFJfU0NU UF9BTEwpKSkKKwlpZiAoIXBvbGljeSB8fCAocG9saWN5ICYgfihTQ1RQX1BSX1NDVFBfTUFTSyB8 IFNDVFBfUFJfU0NUUF9BTEwpKSB8fAorCSAgICAoKHBvbGljeSAmIFNDVFBfUFJfU0NUUF9BTEwp ICYmIChwb2xpY3kgJiBTQ1RQX1BSX1NDVFBfTUFTSykpKQogCQlnb3RvIG91dDsKIAogCWFzb2Mg PSBzY3RwX2lkMmFzc29jKHNrLCBwYXJhbXMuc3Byc3RhdF9hc3NvY19pZCk7Ci0tIAoyLjE5LjEK Cg== ----Next_Part(Thu_Nov__1_20_55_15_2018_511)----