From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [RFC][PATCH 04/11] drm: Split the display info into static and dynamic parts Date: Wed, 28 Feb 2018 14:16:38 +0530 Message-ID: <6608ad2e-1d1c-dcf7-8613-d2f5525978ff@intel.com> References: <20180227125700.6527-1-ville.syrjala@linux.intel.com> <20180227125700.6527-5-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180227125700.6527-5-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville Syrjala , dri-devel@lists.freedesktop.org Cc: Marek Vasut , linux-renesas-soc@vger.kernel.org, Daniel Vetter , intel-gfx@lists.freedesktop.org, Alison Wang , Archit Taneja , Stefan Agner , Andrzej Hajda , Hans de Goede , Laurent Pinchart , Philipp Zabel , Manfred Schlaegl , Maxime Ripard , Linus Walleij List-Id: dri-devel@lists.freedesktop.org Zm9yIEk5MTU6IEFja2VkLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRl bC5jb20+CgpSZWdhcmRzClNoYXNoYW5rCk9uIDIvMjcvMjAxOCA2OjI2IFBNLCBWaWxsZSBTeXJq YWxhIHdyb3RlOgo+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+Cj4KPiBDdXJyZW50bHkgd2UgaGF2ZSBhIG1peCBvZiBzdGF0aWMgYW5kIGR5bmFt aWMgaW5mb3JtYXRpb24gc3RvcmVkIGluCj4gdGhlIGRpc3BsYXkgaW5mbyBzdHJ1Y3R1cmUuIFRo YXQgbWFrZXMgaXQgcmF0aGVyIGRpZmZpY3VsdCB0byByZXBvcHVsYXRlCj4gdGhlIGR5bmFtaWMg cGFydHMgd2hlbiBhIG5ldyBFRElEIGFwcGVhcnMuIExldCdzIG1ha2UgbGlmZSBlYXNpZXIgYnkK PiBzcGxpdHRpbmcgdGhlIHN0cnVjdHVyZSB1cCBpbnRvIHN0YXRpYyBhbmQgZHluYW1pYyBwYXJ0 cy4KPgo+IFRoZSBzdGF0aWMgcGFydCB3aWxsIGNvbnNpc3Qgb2Ygc3VicGl4ZWxfb3JkZXIsIHBh bmVsX29yaWVudGF0aW9uLAo+IGFuZCBidXNfZm9ybWF0cy4KPgo+IEFjdHVhbGx5IEknbSBub3Qg c3VyZSB3aGVyZSBidXNfZm9ybWF0cyAmIGNvLiBmaXQgaW4gYWxsIHRoaXMuIEZvciBzb21lCj4g ZHJpdmVycyB0aG9zZSBzZWVtIHRvIGJlIHN0YXRpYywgZXZlbiB0aG91Z2ggdGhleSBtaWdodCBm aWxsIHRoZW0gb3V0Cj4gZnJvbSAuZ2V0X21vZGVzKCkuIEZvciBvdGhlciBkcml2ZXJzIHRoaXMg c3R1ZmYgZXZlbiBnZXRzIGZyb2JiZWQgYXQKPiBydW50aW1lLCBtYWtpbmcgaXQgbW9yZSBzb21l IGtpbmQgb2YgYSBiYXN0YXJkIGVuY29kZXIvY29ubmVjdG9yIHN0YXRlLgo+IEknbGwganVzdCBz dGljayBpdCBpbnRvIHRoZSBzdGF0aWMgc2lkZSBzbyB0aGF0IHRoZSBiZWhhdmlvdXIgZG9lc24n dAo+IGNoYW5nZSB3aGVuIEkgc3RhcnQgY2xlYXIgb3V0IHRoZSBlbnRpcmUgZHluYW1pYyBzdGF0 ZSB3aXRoIG1lbXNldCgpLgo+Cj4gQ2M6IEtlaXRoIFBhY2thcmQgPGtlaXRocEBrZWl0aHAuY29t Pgo+IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgo+IENjOiBIYW5z IGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgo+IENjOiBTaGFzaGFuayBTaGFybWEgPHNo YXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4gQ2M6IFN0ZWZhbiBBZ25lciA8c3RlZmFuQGFnbmVy LmNoPgo+IENjOiBUaGllcnJ5IFJlZGluZyA8dGhpZXJyeS5yZWRpbmdAZ21haWwuY29tPgo+IENj OiBCb3JpcyBCcmV6aWxsb24gPGJvcmlzLmJyZXppbGxvbkBib290bGluLmNvbT4KPiBDYzogUGhp bGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KPiBDYzogTGF1cmVudCBQaW5jaGFy dCA8bGF1cmVudC5waW5jaGFydEBpZGVhc29uYm9hcmQuY29tPgo+IENjOiBNYW5mcmVkIFNjaGxh ZWdsIDxtYW5mcmVkLnNjaGxhZWdsQGdteC5hdD4KPiBDYzogTWFyZWsgVmFzdXQgPG1hcmV4QGRl bnguZGU+Cj4gQ2M6IEFyY2hpdCBUYW5lamEgPGFyY2hpdHRAY29kZWF1cm9yYS5vcmc+Cj4gQ2M6 IEFuZHJ6ZWogSGFqZGEgPGEuaGFqZGFAc2Ftc3VuZy5jb20+Cj4gQ2M6IEFsaXNvbiBXYW5nIDxh bGlzb24ud2FuZ0BmcmVlc2NhbGUuY29tPgo+IENjOiBFcmljIEFuaG9sdCA8ZXJpY0BhbmhvbHQu bmV0Pgo+IENjOiBMaW51cyBXYWxsZWlqIDxsaW51cy53YWxsZWlqQGxpbmFyby5vcmc+Cj4gQ2M6 IGxpbnV4LXJlbmVzYXMtc29jQHZnZXIua2VybmVsLm9yZwo+IENjOiBNYXhpbWUgUmlwYXJkIDxt YXhpbWUucmlwYXJkQGJvb3RsaW4uY29tPgo+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzD pCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfY29ubmVjdG9ycy5jICAgICB8ICAgMiArLQo+ICAgZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3ZpcnR1YWwuYyAgICAgICAgICAgfCAgIDIgKy0KPiAg IGRyaXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19jcnRjLmMgICAgIHwgICAy ICstCj4gICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYyAgICAgICAgICAgICAgICAg ICB8ICAgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90YzM1ODc2Ny5jICAgICAgICAg ICAgICAgICAgfCAgIDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgICAg ICAgICAgICAgICAgICAgIHwgIDEyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBl ci5jICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2ZzbC1k Y3UvZnNsX2RjdV9kcm1fY3J0Yy5jICAgICAgICAgfCAgIDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2Ry bS9nbWE1MDAvY2R2X2ludGVsX2hkbWkuYyAgICAgICAgICAgIHwgICAyICstCj4gICBkcml2ZXJz L2dwdS9kcm0vZ21hNTAwL2Nkdl9pbnRlbF9sdmRzLmMgICAgICAgICAgICB8ICAgMiArLQo+ICAg ZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9tZGZsZF9kc2lfb3V0cHV0LmMgICAgICAgICAgfCAgIDIg Ky0KPiAgIGRyaXZlcnMvZ3B1L2RybS9nbWE1MDAvb2FrdHJhaWxfaGRtaS5jICAgICAgICAgICAg IHwgICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vZ21hNTAwL29ha3RyYWlsX2x2ZHMuYyAgICAg ICAgICAgICB8ICAgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9wc2JfaW50ZWxfbHZk cy5jICAgICAgICAgICAgfCAgIDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNiX2lu dGVsX3Nkdm8uYyAgICAgICAgICAgIHwgICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2RlYnVnZnMuYyAgICAgICAgICAgICAgICB8ICAgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHNpLmMgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0KPiAgIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2R2by5jICAgICAgICAgICAgICAgICAgIHwgICAyICstCj4gICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMgICAgICAgICAgICAgICAgICB8ICAgMiAr LQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jICAgICAgICAgICAgICAgICAg fCAgIDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pbXgvaW14LWxkYi5jICAgICAgICAgICAgICAg ICAgICAgIHwgICA0ICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaW14L3BhcmFsbGVsLWRpc3BsYXku YyAgICAgICAgICAgICB8ICAgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL214c2ZiL214c2ZiX2Ny dGMuYyAgICAgICAgICAgICAgICAgfCAgIDYgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC1hcm0tdmVyc2F0aWxlLmMgICAgICAgIHwgICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0v cGFuZWwvcGFuZWwtaWxpdGVrLWlsaTkzMjIuYyAgICAgICB8ICAgOCArLQo+ICAgZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLWx2ZHMuYyAgICAgICAgICAgICAgICAgfCAgIDQgKy0KPiAgIC4u Li9ncHUvZHJtL3BhbmVsL3BhbmVsLXJhc3BiZXJyeXBpLXRvdWNoc2NyZWVuLmMgIHwgICAyICst Cj4gICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Vpa28tNDN3dmYxZy5jICAgICAgICB8 ICAgNCArLQo+ICAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpbXBsZS5jICAgICAgICAg ICAgICAgfCAgIDQgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9wbDExMS9wbDExMV9kaXNwbGF5LmMg ICAgICAgICAgICAgIHwgICA0ICstCj4gICBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9j b25uZWN0b3JzLmMgICAgICAgICB8ICAgNCArLQo+ICAgZHJpdmVycy9ncHUvZHJtL3JjYXItZHUv cmNhcl9kdV9lbmNvZGVyLmMgICAgICAgICAgfCAgIDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9z dW40aS9zdW40aV90Y29uLmMgICAgICAgICAgICAgICAgIHwgICA0ICstCj4gICBkcml2ZXJzL2dw dS9kcm0vdHZlMjAwL3R2ZTIwMF9kaXNwbGF5LmMgICAgICAgICAgICB8ICAgMiArLQo+ICAgZHJp dmVycy9ncHUvZHJtL3ZjNC92YzRfZHBpLmMgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0K PiAgIGluY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCAgICAgICAgICAgICAgICAgICAgICAgIHwg MTIzICsrKysrKysrKysrKy0tLS0tLS0tLQo+ICAgMzYgZmlsZXMgY2hhbmdlZCwgMTI1IGluc2Vy dGlvbnMoKyksIDEwNiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfY29ubmVjdG9ycy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2Nvbm5lY3RvcnMuYwo+IGluZGV4IDc0ZDJlZmFlYzUyZi4uMWJhNzJkYzJh ODViIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jb25u ZWN0b3JzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY29ubmVj dG9ycy5jCj4gQEAgLTE5MjcsNyArMTkyNyw3IEBAIGFtZGdwdV9jb25uZWN0b3JfYWRkKHN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICAgCX0gZWxzZQo+ICAgCQljb25uZWN0b3ItPnBvbGxl ZCA9IERSTV9DT05ORUNUT1JfUE9MTF9IUEQ7Cj4gICAKPiAtCWNvbm5lY3Rvci0+ZGlzcGxheV9p bmZvLnN1YnBpeGVsX29yZGVyID0gc3VicGl4ZWxfb3JkZXI7Cj4gKwljb25uZWN0b3ItPnN0YXRp Y19kaXNwbGF5X2luZm8uc3VicGl4ZWxfb3JkZXIgPSBzdWJwaXhlbF9vcmRlcjsKPiAgIAlkcm1f Y29ubmVjdG9yX3JlZ2lzdGVyKGNvbm5lY3Rvcik7Cj4gICAKPiAgIAlpZiAoaGFzX2F1eCkKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3ZpcnR1YWwuYyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92aXJ0dWFsLmMKPiBpbmRleCAxMjBkZDNiMjZm YzIuLjdlOWY3ZjFhYjFiMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9kY2VfdmlydHVhbC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Zp cnR1YWwuYwo+IEBAIC02MzksNyArNjM5LDcgQEAgc3RhdGljIGludCBkY2VfdmlydHVhbF9jb25u ZWN0b3JfZW5jb2Rlcl9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICAgCWRybV9j b25uZWN0b3JfaW5pdChhZGV2LT5kZGV2LCBjb25uZWN0b3IsICZkY2VfdmlydHVhbF9jb25uZWN0 b3JfZnVuY3MsCj4gICAJCQkgICBEUk1fTU9ERV9DT05ORUNUT1JfVklSVFVBTCk7Cj4gICAJZHJt X2Nvbm5lY3Rvcl9oZWxwZXJfYWRkKGNvbm5lY3RvciwgJmRjZV92aXJ0dWFsX2Nvbm5lY3Rvcl9o ZWxwZXJfZnVuY3MpOwo+IC0JY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uc3VicGl4ZWxfb3JkZXIg PSBTdWJQaXhlbEhvcml6b250YWxSR0I7Cj4gKwljb25uZWN0b3ItPnN0YXRpY19kaXNwbGF5X2lu Zm8uc3VicGl4ZWxfb3JkZXIgPSBTdWJQaXhlbEhvcml6b250YWxSR0I7Cj4gICAJY29ubmVjdG9y LT5pbnRlcmxhY2VfYWxsb3dlZCA9IGZhbHNlOwo+ICAgCWNvbm5lY3Rvci0+ZG91Ymxlc2Nhbl9h bGxvd2VkID0gZmFsc2U7Cj4gICAJZHJtX2Nvbm5lY3Rvcl9yZWdpc3Rlcihjb25uZWN0b3IpOwo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfY3J0 Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX2NydGMuYwo+IGlu ZGV4IGQ3MzI4MTA5NWZhYy4uMmQxOGM4ZWYyMmEwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19jcnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfY3J0Yy5jCj4gQEAgLTIzOCw3ICsyMzgsNyBAQCBz dGF0aWMgaW50IGF0bWVsX2hsY2RjX2NydGNfc2VsZWN0X291dHB1dF9tb2RlKHN0cnVjdCBkcm1f Y3J0Y19zdGF0ZSAqc3RhdGUpCj4gICAJY3J0YyA9IGRybV9jcnRjX3RvX2F0bWVsX2hsY2RjX2Ny dGMoc3RhdGUtPmNydGMpOwo+ICAgCj4gICAJZm9yX2VhY2hfbmV3X2Nvbm5lY3Rvcl9pbl9zdGF0 ZShzdGF0ZS0+c3RhdGUsIGNvbm5lY3RvciwgY3N0YXRlLCBpKSB7Cj4gLQkJc3RydWN0IGRybV9k aXNwbGF5X2luZm8gKmluZm8gPSAmY29ubmVjdG9yLT5kaXNwbGF5X2luZm87Cj4gKwkJc3RydWN0 IGRybV9zdGF0aWNfZGlzcGxheV9pbmZvICppbmZvID0gJmNvbm5lY3Rvci0+c3RhdGljX2Rpc3Bs YXlfaW5mbzsKPiAgIAkJdW5zaWduZWQgaW50IHN1cHBvcnRlZF9mbXRzID0gMDsKPiAgIAkJaW50 IGo7Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMg Yi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYwo+IGluZGV4IGIxYWI0YWIwOTUzMi4u YWJkMGJjZTljMzFlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAy eC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMKPiBAQCAtMTc0LDcg KzE3NCw3IEBAIHN0YXRpYyBpbnQgc2lpOTAyeF9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKPiAgIAkJa2ZyZWUoZWRpZCk7Cj4gICAJfQo+ICAgCj4gLQlyZXQgPSBk cm1fZGlzcGxheV9pbmZvX3NldF9idXNfZm9ybWF0cygmY29ubmVjdG9yLT5kaXNwbGF5X2luZm8s Cj4gKwlyZXQgPSBkcm1fZGlzcGxheV9pbmZvX3NldF9idXNfZm9ybWF0cygmY29ubmVjdG9yLT5z dGF0aWNfZGlzcGxheV9pbmZvLAo+ICAgCQkJCQkgICAgICAgJmJ1c19mb3JtYXQsIDEpOwo+ICAg CWlmIChyZXQpCj4gICAJCXJldHVybiByZXQ7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2UvdGMzNTg3NjcuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGMzNTg3NjcuYwo+ IGluZGV4IDA4YWI3ZDZhZWE2NS4uMDQyZGVkOWNhNzQ5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9icmlkZ2UvdGMzNTg3NjcuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv dGMzNTg3NjcuYwo+IEBAIC0xMTkzLDcgKzExOTMsNyBAQCBzdGF0aWMgaW50IHRjX2JyaWRnZV9h dHRhY2goc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKPiAgIAlpZiAodGMtPnBhbmVsKQo+ICAg CQlkcm1fcGFuZWxfYXR0YWNoKHRjLT5wYW5lbCwgJnRjLT5jb25uZWN0b3IpOwo+ICAgCj4gLQlk cm1fZGlzcGxheV9pbmZvX3NldF9idXNfZm9ybWF0cygmdGMtPmNvbm5lY3Rvci5kaXNwbGF5X2lu Zm8sCj4gKwlkcm1fZGlzcGxheV9pbmZvX3NldF9idXNfZm9ybWF0cygmdGMtPmNvbm5lY3Rvci5z dGF0aWNfZGlzcGxheV9pbmZvLAo+ICAgCQkJCQkgJmJ1c19mb3JtYXQsIDEpOwo+ICAgCWRybV9t b2RlX2Nvbm5lY3Rvcl9hdHRhY2hfZW5jb2RlcigmdGMtPmNvbm5lY3RvciwgdGMtPmJyaWRnZS5l bmNvZGVyKTsKPiAgIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rv ci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+IGluZGV4IGIzY2RlODk3Y2Q4 MC4uZDczZTk3ZWQ3ZGZmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVj dG9yLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gQEAgLTIzNyw3 ICsyMzcsNyBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs Cj4gICAJbXV0ZXhfaW5pdCgmY29ubmVjdG9yLT5tdXRleCk7Cj4gICAJY29ubmVjdG9yLT5lZGlk X2Jsb2JfcHRyID0gTlVMTDsKPiAgIAljb25uZWN0b3ItPnN0YXR1cyA9IGNvbm5lY3Rvcl9zdGF0 dXNfdW5rbm93bjsKPiAtCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLnBhbmVsX29yaWVudGF0aW9u ID0KPiArCWNvbm5lY3Rvci0+c3RhdGljX2Rpc3BsYXlfaW5mby5wYW5lbF9vcmllbnRhdGlvbiA9 Cj4gICAJCURSTV9NT0RFX1BBTkVMX09SSUVOVEFUSU9OX1VOS05PV047Cj4gICAKPiAgIAlkcm1f Y29ubmVjdG9yX2dldF9jbWRsaW5lX21vZGUoY29ubmVjdG9yKTsKPiBAQCAtMzY2LDcgKzM2Niw3 IEBAIHZvaWQgZHJtX2Nvbm5lY3Rvcl9jbGVhbnVwKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IpCj4gICAJaWRhX3NpbXBsZV9yZW1vdmUoJmRldi0+bW9kZV9jb25maWcuY29ubmVjdG9y X2lkYSwKPiAgIAkJCSAgY29ubmVjdG9yLT5pbmRleCk7Cj4gICAKPiAtCWtmcmVlKGNvbm5lY3Rv ci0+ZGlzcGxheV9pbmZvLmJ1c19mb3JtYXRzKTsKPiArCWtmcmVlKGNvbm5lY3Rvci0+c3RhdGlj X2Rpc3BsYXlfaW5mby5idXNfZm9ybWF0cyk7Cj4gICAJZHJtX21vZGVfb2JqZWN0X3VucmVnaXN0 ZXIoZGV2LCAmY29ubmVjdG9yLT5iYXNlKTsKPiAgIAlrZnJlZShjb25uZWN0b3ItPm5hbWUpOwo+ ICAgCWNvbm5lY3Rvci0+bmFtZSA9IE5VTEw7Cj4gQEAgLTY3NCw3ICs2NzQsNyBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IGRybV9wcm9wX2VudW1fbGlzdCBkcm1fbGlua19zdGF0dXNfZW51bV9saXN0 W10gPSB7Cj4gICAKPiAgIC8qKgo+ICAgICogZHJtX2Rpc3BsYXlfaW5mb19zZXRfYnVzX2Zvcm1h dHMgLSBzZXQgdGhlIHN1cHBvcnRlZCBidXMgZm9ybWF0cwo+IC0gKiBAaW5mbzogZGlzcGxheSBp bmZvIHRvIHN0b3JlIGJ1cyBmb3JtYXRzIGluCj4gKyAqIEBpbmZvOiBmaXhlZCBkaXNwbGF5IGlu Zm8gdG8gc3RvcmUgYnVzIGZvcm1hdHMgaW4KPiAgICAqIEBmb3JtYXRzOiBhcnJheSBjb250YWlu aW5nIHRoZSBzdXBwb3J0ZWQgYnVzIGZvcm1hdHMKPiAgICAqIEBudW1fZm9ybWF0czogdGhlIG51 bWJlciBvZiBlbnRyaWVzIGluIHRoZSBmbXRzIGFycmF5Cj4gICAgKgo+IEBAIC02ODIsNyArNjgy LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgZHJtX2xpbmtfc3Rh dHVzX2VudW1fbGlzdFtdID0gewo+ICAgICogU2VlIE1FRElBX0JVU19GTVRfKiBkZWZpbml0aW9u cyBpbiBpbmNsdWRlL3VhcGkvbGludXgvbWVkaWEtYnVzLWZvcm1hdC5oIGZvcgo+ICAgICogYSBm dWxsIGxpc3Qgb2YgYXZhaWxhYmxlIGZvcm1hdHMuCj4gICAgKi8KPiAtaW50IGRybV9kaXNwbGF5 X2luZm9fc2V0X2J1c19mb3JtYXRzKHN0cnVjdCBkcm1fZGlzcGxheV9pbmZvICppbmZvLAo+ICtp bnQgZHJtX2Rpc3BsYXlfaW5mb19zZXRfYnVzX2Zvcm1hdHMoc3RydWN0IGRybV9zdGF0aWNfZGlz cGxheV9pbmZvICppbmZvLAo+ICAgCQkJCSAgICAgY29uc3QgdTMyICpmb3JtYXRzLAo+ICAgCQkJ CSAgICAgdW5zaWduZWQgaW50IG51bV9mb3JtYXRzKQo+ICAgewo+IEBAIC0xNDYwLDcgKzE0NjAs NyBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9pbml0X3BhbmVsX29yaWVudGF0aW9uX3Byb3BlcnR5KAo+ ICAgCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGludCB3aWR0aCwgaW50IGhlaWdo dCkKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7Cj4g LQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAqaW5mbyA9ICZjb25uZWN0b3ItPmRpc3BsYXlfaW5m bzsKPiArCXN0cnVjdCBkcm1fc3RhdGljX2Rpc3BsYXlfaW5mbyAqaW5mbyA9ICZjb25uZWN0b3It PnN0YXRpY19kaXNwbGF5X2luZm87Cj4gICAJc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcDsKPiAg IAlpbnQgb3JpZW50YXRpb25fcXVpcms7Cj4gICAKPiBAQCAtMTYwMiw3ICsxNjAyLDcgQEAgaW50 IGRybV9tb2RlX2dldGNvbm5lY3RvcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRh LAo+ICAgCj4gICAJb3V0X3Jlc3AtPm1tX3dpZHRoID0gY29ubmVjdG9yLT5kaXNwbGF5X2luZm8u d2lkdGhfbW07Cj4gICAJb3V0X3Jlc3AtPm1tX2hlaWdodCA9IGNvbm5lY3Rvci0+ZGlzcGxheV9p bmZvLmhlaWdodF9tbTsKPiAtCW91dF9yZXNwLT5zdWJwaXhlbCA9IGNvbm5lY3Rvci0+ZGlzcGxh eV9pbmZvLnN1YnBpeGVsX29yZGVyOwo+ICsJb3V0X3Jlc3AtPnN1YnBpeGVsID0gY29ubmVjdG9y LT5zdGF0aWNfZGlzcGxheV9pbmZvLnN1YnBpeGVsX29yZGVyOwo+ICAgCW91dF9yZXNwLT5jb25u ZWN0aW9uID0gY29ubmVjdG9yLT5zdGF0dXM7Cj4gICAKPiAgIAkvKiBkZWxheWVkIHNvIHdlIGdl dCBtb2RlcyByZWdhcmRsZXNzIG9mIHByZS1maWxsX21vZGVzIHN0YXRlICovCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2ZiX2hlbHBlci5jCj4gaW5kZXggMDM1Nzg0ZGRkMTMzLi4xOGNiNjNiMzBlMzMgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZmJfaGVscGVyLmMKPiBAQCAtMjQzMyw3ICsyNDMzLDcgQEAgc3RhdGljIHZvaWQg ZHJtX3NldHVwX2NydGNfcm90YXRpb24oc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwK PiAgIAo+ICAgCWZiX2NydGMtPnJvdGF0aW9uID0gRFJNX01PREVfUk9UQVRFXzA7Cj4gICAKPiAt CXN3aXRjaCAoY29ubmVjdG9yLT5kaXNwbGF5X2luZm8ucGFuZWxfb3JpZW50YXRpb24pIHsKPiAr CXN3aXRjaCAoY29ubmVjdG9yLT5zdGF0aWNfZGlzcGxheV9pbmZvLnBhbmVsX29yaWVudGF0aW9u KSB7Cj4gICAJY2FzZSBEUk1fTU9ERV9QQU5FTF9PUklFTlRBVElPTl9CT1RUT01fVVA6Cj4gICAJ CXJvdGF0aW9uID0gRFJNX01PREVfUk9UQVRFXzE4MDsKPiAgIAkJYnJlYWs7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX2NydGMuYyBiL2RyaXZlcnMv Z3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX2NydGMuYwo+IGluZGV4IDBlMzc1MjQzN2U0NC4u MjQ0NGMxNDYzOWVmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9k Y3VfZHJtX2NydGMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJt X2NydGMuYwo+IEBAIC05OSw3ICs5OSw3IEBAIHN0YXRpYyB2b2lkIGZzbF9kY3VfZHJtX2NydGNf bW9kZV9zZXRfbm9mYihzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gICAJdnN3ID0gbW9kZS0+dnN5 bmNfZW5kIC0gbW9kZS0+dnN5bmNfc3RhcnQ7Cj4gICAKPiAgIAkvKiBJTlZfUFhDSyBhcyBkZWZh dWx0IChtb3N0IGRpc3BsYXkgc2FtcGxlIGRhdGEgb24gcmlzaW5nIGVkZ2UpICovCj4gLQlpZiAo IShjb24tPmRpc3BsYXlfaW5mby5idXNfZmxhZ3MgJiBEUk1fQlVTX0ZMQUdfUElYREFUQV9QT1NF REdFKSkKPiArCWlmICghKGNvbi0+c3RhdGljX2Rpc3BsYXlfaW5mby5idXNfZmxhZ3MgJiBEUk1f QlVTX0ZMQUdfUElYREFUQV9QT1NFREdFKSkKPiAgIAkJcG9sIHw9IERDVV9TWU5fUE9MX0lOVl9Q WENLOwo+ICAgCj4gICAJaWYgKG1vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR19OSFNZTkMpCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvY2R2X2ludGVsX2hkbWkuYyBiL2Ry aXZlcnMvZ3B1L2RybS9nbWE1MDAvY2R2X2ludGVsX2hkbWkuYwo+IGluZGV4IDU2M2YxOTNmY2Zh Yy4uNmQ2MDhjZTI2MDc2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvY2R2 X2ludGVsX2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvY2R2X2ludGVsX2hk bWkuYwo+IEBAIC0zMjIsNyArMzIyLDcgQEAgdm9pZCBjZHZfaGRtaV9pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCj4gICAJZHJtX2VuY29kZXJfaGVscGVyX2FkZChlbmNvZGVyLCAmY2R2X2hk bWlfaGVscGVyX2Z1bmNzKTsKPiAgIAlkcm1fY29ubmVjdG9yX2hlbHBlcl9hZGQoY29ubmVjdG9y LAo+ICAgCQkJCSAmY2R2X2hkbWlfY29ubmVjdG9yX2hlbHBlcl9mdW5jcyk7Cj4gLQljb25uZWN0 b3ItPmRpc3BsYXlfaW5mby5zdWJwaXhlbF9vcmRlciA9IFN1YlBpeGVsSG9yaXpvbnRhbFJHQjsK PiArCWNvbm5lY3Rvci0+c3RhdGljX2Rpc3BsYXlfaW5mby5zdWJwaXhlbF9vcmRlciA9IFN1YlBp eGVsSG9yaXpvbnRhbFJHQjsKPiAgIAljb25uZWN0b3ItPmludGVybGFjZV9hbGxvd2VkID0gZmFs c2U7Cj4gICAJY29ubmVjdG9yLT5kb3VibGVzY2FuX2FsbG93ZWQgPSBmYWxzZTsKPiAgIAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL2Nkdl9pbnRlbF9sdmRzLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZ21hNTAwL2Nkdl9pbnRlbF9sdmRzLmMKPiBpbmRleCBlNjQ5NjBkYjMyMjQu LjI5MDIyMWY3M2NiZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL2Nkdl9p bnRlbF9sdmRzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL2Nkdl9pbnRlbF9sdmRz LmMKPiBAQCAtNjM3LDcgKzYzNyw3IEBAIHZvaWQgY2R2X2ludGVsX2x2ZHNfaW5pdChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAo+ICAgCWRybV9lbmNvZGVyX2hlbHBlcl9hZGQoZW5jb2RlciwgJmNk dl9pbnRlbF9sdmRzX2hlbHBlcl9mdW5jcyk7Cj4gICAJZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfYWRk KGNvbm5lY3RvciwKPiAgIAkJCQkgJmNkdl9pbnRlbF9sdmRzX2Nvbm5lY3Rvcl9oZWxwZXJfZnVu Y3MpOwo+IC0JY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uc3VicGl4ZWxfb3JkZXIgPSBTdWJQaXhl bEhvcml6b250YWxSR0I7Cj4gKwljb25uZWN0b3ItPnN0YXRpY19kaXNwbGF5X2luZm8uc3VicGl4 ZWxfb3JkZXIgPSBTdWJQaXhlbEhvcml6b250YWxSR0I7Cj4gICAJY29ubmVjdG9yLT5pbnRlcmxh Y2VfYWxsb3dlZCA9IGZhbHNlOwo+ICAgCWNvbm5lY3Rvci0+ZG91Ymxlc2Nhbl9hbGxvd2VkID0g ZmFsc2U7Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9tZGZsZF9k c2lfb3V0cHV0LmMgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL21kZmxkX2RzaV9vdXRwdXQuYwo+ IGluZGV4IDQxZTdmMjViYTdlMC4uNjA1Yzg2ZGVkMTRmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9nbWE1MDAvbWRmbGRfZHNpX291dHB1dC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2dtYTUwMC9tZGZsZF9kc2lfb3V0cHV0LmMKPiBAQCAtNTU1LDcgKzU1NSw3IEBAIHZvaWQgbWRm bGRfZHNpX291dHB1dF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gICAJCQkJCQlEUk1f TU9ERV9DT05ORUNUT1JfTFZEUyk7Cj4gICAJZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfYWRkKGNvbm5l Y3RvciwgJm1kZmxkX2RzaV9jb25uZWN0b3JfaGVscGVyX2Z1bmNzKTsKPiAgIAo+IC0JY29ubmVj dG9yLT5kaXNwbGF5X2luZm8uc3VicGl4ZWxfb3JkZXIgPSBTdWJQaXhlbEhvcml6b250YWxSR0I7 Cj4gKwljb25uZWN0b3ItPnN0YXRpY19kaXNwbGF5X2luZm8uc3VicGl4ZWxfb3JkZXIgPSBTdWJQ aXhlbEhvcml6b250YWxSR0I7Cj4gICAJY29ubmVjdG9yLT5pbnRlcmxhY2VfYWxsb3dlZCA9IGZh bHNlOwo+ICAgCWNvbm5lY3Rvci0+ZG91Ymxlc2Nhbl9hbGxvd2VkID0gZmFsc2U7Cj4gICAKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9vYWt0cmFpbF9oZG1pLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZ21hNTAwL29ha3RyYWlsX2hkbWkuYwo+IGluZGV4IDhiMmViMzJlZTk4OC4u YzRlMTZhYjI1ZDFhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvb2FrdHJh aWxfaGRtaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9vYWt0cmFpbF9oZG1pLmMK PiBAQCAtNjYxLDcgKzY2MSw3IEBAIHZvaWQgb2FrdHJhaWxfaGRtaV9pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCj4gICAJZHJtX2VuY29kZXJfaGVscGVyX2FkZChlbmNvZGVyLCAmb2FrdHJh aWxfaGRtaV9oZWxwZXJfZnVuY3MpOwo+ICAgCWRybV9jb25uZWN0b3JfaGVscGVyX2FkZChjb25u ZWN0b3IsICZvYWt0cmFpbF9oZG1pX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MpOwo+ICAgCj4gLQlj b25uZWN0b3ItPmRpc3BsYXlfaW5mby5zdWJwaXhlbF9vcmRlciA9IFN1YlBpeGVsSG9yaXpvbnRh bFJHQjsKPiArCWNvbm5lY3Rvci0+c3RhdGljX2Rpc3BsYXlfaW5mby5zdWJwaXhlbF9vcmRlciA9 IFN1YlBpeGVsSG9yaXpvbnRhbFJHQjsKPiAgIAljb25uZWN0b3ItPmludGVybGFjZV9hbGxvd2Vk ID0gZmFsc2U7Cj4gICAJY29ubmVjdG9yLT5kb3VibGVzY2FuX2FsbG93ZWQgPSBmYWxzZTsKPiAg IAlkcm1fY29ubmVjdG9yX3JlZ2lzdGVyKGNvbm5lY3Rvcik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9nbWE1MDAvb2FrdHJhaWxfbHZkcy5jIGIvZHJpdmVycy9ncHUvZHJtL2dtYTUw MC9vYWt0cmFpbF9sdmRzLmMKPiBpbmRleCBlNjk0M2ZlZjA2MTEuLjRiOGQyYjZlNzIwMiAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL29ha3RyYWlsX2x2ZHMuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvb2FrdHJhaWxfbHZkcy5jCj4gQEAgLTMzMSw3ICszMzEs NyBAQCB2b2lkIG9ha3RyYWlsX2x2ZHNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAg CWRybV9lbmNvZGVyX2hlbHBlcl9hZGQoZW5jb2RlciwgJm9ha3RyYWlsX2x2ZHNfaGVscGVyX2Z1 bmNzKTsKPiAgIAlkcm1fY29ubmVjdG9yX2hlbHBlcl9hZGQoY29ubmVjdG9yLAo+ICAgCQkJCSAm cHNiX2ludGVsX2x2ZHNfY29ubmVjdG9yX2hlbHBlcl9mdW5jcyk7Cj4gLQljb25uZWN0b3ItPmRp c3BsYXlfaW5mby5zdWJwaXhlbF9vcmRlciA9IFN1YlBpeGVsSG9yaXpvbnRhbFJHQjsKPiArCWNv bm5lY3Rvci0+c3RhdGljX2Rpc3BsYXlfaW5mby5zdWJwaXhlbF9vcmRlciA9IFN1YlBpeGVsSG9y aXpvbnRhbFJHQjsKPiAgIAljb25uZWN0b3ItPmludGVybGFjZV9hbGxvd2VkID0gZmFsc2U7Cj4g ICAJY29ubmVjdG9yLT5kb3VibGVzY2FuX2FsbG93ZWQgPSBmYWxzZTsKPiAgIAo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL3BzYl9pbnRlbF9sdmRzLmMgYi9kcml2ZXJzL2dw dS9kcm0vZ21hNTAwL3BzYl9pbnRlbF9sdmRzLmMKPiBpbmRleCBiZTNlZWZlYzUxNTIuLmZlNDY2 N2ViYTg1ZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL3BzYl9pbnRlbF9s dmRzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL3BzYl9pbnRlbF9sdmRzLmMKPiBA QCAtNzA2LDcgKzcwNiw3IEBAIHZvaWQgcHNiX2ludGVsX2x2ZHNfaW5pdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAo+ICAgCWRybV9lbmNvZGVyX2hlbHBlcl9hZGQoZW5jb2RlciwgJnBzYl9pbnRl bF9sdmRzX2hlbHBlcl9mdW5jcyk7Cj4gICAJZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfYWRkKGNvbm5l Y3RvciwKPiAgIAkJCQkgJnBzYl9pbnRlbF9sdmRzX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MpOwo+ IC0JY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uc3VicGl4ZWxfb3JkZXIgPSBTdWJQaXhlbEhvcml6 b250YWxSR0I7Cj4gKwljb25uZWN0b3ItPnN0YXRpY19kaXNwbGF5X2luZm8uc3VicGl4ZWxfb3Jk ZXIgPSBTdWJQaXhlbEhvcml6b250YWxSR0I7Cj4gICAJY29ubmVjdG9yLT5pbnRlcmxhY2VfYWxs b3dlZCA9IGZhbHNlOwo+ICAgCWNvbm5lY3Rvci0+ZG91Ymxlc2Nhbl9hbGxvd2VkID0gZmFsc2U7 Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9wc2JfaW50ZWxfc2R2 by5jIGIvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9wc2JfaW50ZWxfc2R2by5jCj4gaW5kZXggODQ1 MDc5MTJiZTg0Li4zYjMxZGRlNGMwNWEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2dt YTUwMC9wc2JfaW50ZWxfc2R2by5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9wc2Jf aW50ZWxfc2R2by5jCj4gQEAgLTIwMTYsNyArMjAxNiw3IEBAIHBzYl9pbnRlbF9zZHZvX2Nvbm5l Y3Rvcl9pbml0KHN0cnVjdCBwc2JfaW50ZWxfc2R2b19jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAg IAo+ICAgCWNvbm5lY3Rvci0+YmFzZS5iYXNlLmludGVybGFjZV9hbGxvd2VkID0gMDsKPiAgIAlj b25uZWN0b3ItPmJhc2UuYmFzZS5kb3VibGVzY2FuX2FsbG93ZWQgPSAwOwo+IC0JY29ubmVjdG9y LT5iYXNlLmJhc2UuZGlzcGxheV9pbmZvLnN1YnBpeGVsX29yZGVyID0gU3ViUGl4ZWxIb3Jpem9u dGFsUkdCOwo+ICsJY29ubmVjdG9yLT5iYXNlLmJhc2Uuc3RhdGljX2Rpc3BsYXlfaW5mby5zdWJw aXhlbF9vcmRlciA9IFN1YlBpeGVsSG9yaXpvbnRhbFJHQjsKPiAgIAo+ICAgCWNvbm5lY3Rvci0+ YmFzZS5zYXZlID0gcHNiX2ludGVsX3Nkdm9fc2F2ZTsKPiAgIAljb25uZWN0b3ItPmJhc2UucmVz dG9yZSA9IHBzYl9pbnRlbF9zZHZvX3Jlc3RvcmU7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMKPiBpbmRleCAzM2ZiZjM5NjUzMDkuLmVkMzZiNGU2ZTRhZSAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gQEAgLTI5NzIsNyArMjk3Miw3IEBAIHN0YXRpYyB2b2lk IGludGVsX2Nvbm5lY3Rvcl9pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwKPiAgIAkJCSAgIGNvbm5l Y3Rvci0+ZGlzcGxheV9pbmZvLndpZHRoX21tLAo+ICAgCQkJICAgY29ubmVjdG9yLT5kaXNwbGF5 X2luZm8uaGVpZ2h0X21tKTsKPiAgIAkJc2VxX3ByaW50ZihtLCAiXHRzdWJwaXhlbCBvcmRlcjog JXNcbiIsCj4gLQkJCSAgIGRybV9nZXRfc3VicGl4ZWxfb3JkZXJfbmFtZShjb25uZWN0b3ItPmRp c3BsYXlfaW5mby5zdWJwaXhlbF9vcmRlcikpOwo+ICsJCQkgICBkcm1fZ2V0X3N1YnBpeGVsX29y ZGVyX25hbWUoY29ubmVjdG9yLT5zdGF0aWNfZGlzcGxheV9pbmZvLnN1YnBpeGVsX29yZGVyKSk7 Cj4gICAJCXNlcV9wcmludGYobSwgIlx0Q0VBIHJldjogJWRcbiIsCj4gICAJCQkgICBjb25uZWN0 b3ItPmRpc3BsYXlfaW5mby5jZWFfcmV2KTsKPiAgIAl9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNp LmMKPiBpbmRleCBjOGNmM2Q1Yzc3ODMuLjNlYWY5YmI4NDk4ZCAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RzaS5jCj4gQEAgLTE3MDIsNyArMTcwMiw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2Rz aV9hZGRfcHJvcGVydGllcyhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4gICAK PiAgIAkJY29ubmVjdG9yLT5iYXNlLnN0YXRlLT5zY2FsaW5nX21vZGUgPSBEUk1fTU9ERV9TQ0FM RV9BU1BFQ1Q7Cj4gICAKPiAtCQljb25uZWN0b3ItPmJhc2UuZGlzcGxheV9pbmZvLnBhbmVsX29y aWVudGF0aW9uID0KPiArCQljb25uZWN0b3ItPmJhc2Uuc3RhdGljX2Rpc3BsYXlfaW5mby5wYW5l bF9vcmllbnRhdGlvbiA9Cj4gICAJCQlpbnRlbF9kc2lfZ2V0X3BhbmVsX29yaWVudGF0aW9uKGNv bm5lY3Rvcik7Cj4gICAJCWRybV9jb25uZWN0b3JfaW5pdF9wYW5lbF9vcmllbnRhdGlvbl9wcm9w ZXJ0eSgKPiAgIAkJCQkmY29ubmVjdG9yLT5iYXNlLAo+IEBAIC0xODI2LDcgKzE4MjYsNyBAQCB2 b2lkIGludGVsX2RzaV9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAg IAo+ICAgCWRybV9jb25uZWN0b3JfaGVscGVyX2FkZChjb25uZWN0b3IsICZpbnRlbF9kc2lfY29u bmVjdG9yX2hlbHBlcl9mdW5jcyk7Cj4gICAKPiAtCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLnN1 YnBpeGVsX29yZGVyID0gU3ViUGl4ZWxIb3Jpem9udGFsUkdCOyAvKlhYWCovCj4gKwljb25uZWN0 b3ItPnN0YXRpY19kaXNwbGF5X2luZm8uc3VicGl4ZWxfb3JkZXIgPSBTdWJQaXhlbEhvcml6b250 YWxSR0I7IC8qWFhYKi8KPiAgIAljb25uZWN0b3ItPmludGVybGFjZV9hbGxvd2VkID0gZmFsc2U7 Cj4gICAJY29ubmVjdG9yLT5kb3VibGVzY2FuX2FsbG93ZWQgPSBmYWxzZTsKPiAgIAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2R2by5jCj4gaW5kZXggZWIwYzU1OWIyNzE1Li42OGZlNDU4NzQ0MWYgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHZvLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYwo+IEBAIC01MjAsNyArNTIwLDcgQEAgdm9pZCBp bnRlbF9kdm9faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gICAKPiAg IAkJZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfYWRkKGNvbm5lY3RvciwKPiAgIAkJCQkJICZpbnRlbF9k dm9fY29ubmVjdG9yX2hlbHBlcl9mdW5jcyk7Cj4gLQkJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8u c3VicGl4ZWxfb3JkZXIgPSBTdWJQaXhlbEhvcml6b250YWxSR0I7Cj4gKwkJY29ubmVjdG9yLT5z dGF0aWNfZGlzcGxheV9pbmZvLnN1YnBpeGVsX29yZGVyID0gU3ViUGl4ZWxIb3Jpem9udGFsUkdC Owo+ICAgCQljb25uZWN0b3ItPmludGVybGFjZV9hbGxvd2VkID0gZmFsc2U7Cj4gICAJCWNvbm5l Y3Rvci0+ZG91Ymxlc2Nhbl9hbGxvd2VkID0gZmFsc2U7Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHZkcy5jCj4gaW5kZXggY2RhZTQ5MzRiODg1Li5jMzVmODQ2NDJjNzkgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHZkcy5jCj4gQEAgLTEwNTAsNyArMTA1MCw3IEBAIHZvaWQgaW50ZWxf bHZkc19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgIAkJaW50ZWxf ZW5jb2Rlci0+Y3J0Y19tYXNrID0gKDEgPDwgMSk7Cj4gICAKPiAgIAlkcm1fY29ubmVjdG9yX2hl bHBlcl9hZGQoY29ubmVjdG9yLCAmaW50ZWxfbHZkc19jb25uZWN0b3JfaGVscGVyX2Z1bmNzKTsK PiAtCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLnN1YnBpeGVsX29yZGVyID0gU3ViUGl4ZWxIb3Jp em9udGFsUkdCOwo+ICsJY29ubmVjdG9yLT5zdGF0aWNfZGlzcGxheV9pbmZvLnN1YnBpeGVsX29y ZGVyID0gU3ViUGl4ZWxIb3Jpem9udGFsUkdCOwo+ICAgCWNvbm5lY3Rvci0+aW50ZXJsYWNlX2Fs bG93ZWQgPSBmYWxzZTsKPiAgIAljb25uZWN0b3ItPmRvdWJsZXNjYW5fYWxsb3dlZCA9IGZhbHNl Owo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYwo+IGluZGV4IDBjMTRkMWMwNGNiZC4u NjMwOWExZDlmODdlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nk dm8uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYwo+IEBAIC0yNDQw LDcgKzI0NDAsNyBAQCBpbnRlbF9zZHZvX2Nvbm5lY3Rvcl9pbml0KHN0cnVjdCBpbnRlbF9zZHZv X2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAgCj4gICAJY29ubmVjdG9yLT5iYXNlLmJhc2UuaW50 ZXJsYWNlX2FsbG93ZWQgPSAxOwo+ICAgCWNvbm5lY3Rvci0+YmFzZS5iYXNlLmRvdWJsZXNjYW5f YWxsb3dlZCA9IDA7Cj4gLQljb25uZWN0b3ItPmJhc2UuYmFzZS5kaXNwbGF5X2luZm8uc3VicGl4 ZWxfb3JkZXIgPSBTdWJQaXhlbEhvcml6b250YWxSR0I7Cj4gKwljb25uZWN0b3ItPmJhc2UuYmFz ZS5zdGF0aWNfZGlzcGxheV9pbmZvLnN1YnBpeGVsX29yZGVyID0gU3ViUGl4ZWxIb3Jpem9udGFs UkdCOwo+ICAgCWNvbm5lY3Rvci0+YmFzZS5nZXRfaHdfc3RhdGUgPSBpbnRlbF9zZHZvX2Nvbm5l Y3Rvcl9nZXRfaHdfc3RhdGU7Cj4gICAKPiAgIAlpbnRlbF9jb25uZWN0b3JfYXR0YWNoX2VuY29k ZXIoJmNvbm5lY3Rvci0+YmFzZSwgJmVuY29kZXItPmJhc2UpOwo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaW14L2lteC1sZGIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgvaW14LWxkYi5j Cj4gaW5kZXggNTZkZDdhOWE4ZTI1Li40OTA5ZmU4OWUxNjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2lteC9pbXgtbGRiLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaW14L2lteC1s ZGIuYwo+IEBAIC0yOTksNyArMjk5LDcgQEAgaW14X2xkYl9lbmNvZGVyX2F0b21pY19tb2RlX3Nl dChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gICAKPiAgIAlpZiAoIWJ1c19mb3JtYXQp IHsKPiAgIAkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9IGNvbm5lY3Rvcl9zdGF0 ZS0+Y29ubmVjdG9yOwo+IC0JCXN0cnVjdCBkcm1fZGlzcGxheV9pbmZvICpkaSA9ICZjb25uZWN0 b3ItPmRpc3BsYXlfaW5mbzsKPiArCQlzdHJ1Y3QgZHJtX3N0YXRpY19kaXNwbGF5X2luZm8gKmRp ID0gJmNvbm5lY3Rvci0+c3RhdGljX2Rpc3BsYXlfaW5mbzsKPiAgIAo+ICAgCQlpZiAoZGktPm51 bV9idXNfZm9ybWF0cykKPiAgIAkJCWJ1c19mb3JtYXQgPSBkaS0+YnVzX2Zvcm1hdHNbMF07Cj4g QEAgLTM1OCw3ICszNTgsNyBAQCBzdGF0aWMgaW50IGlteF9sZGJfZW5jb2Rlcl9hdG9taWNfY2hl Y2soc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ICAgewo+ICAgCXN0cnVjdCBpbXhfY3J0 Y19zdGF0ZSAqaW14X2NydGNfc3RhdGUgPSB0b19pbXhfY3J0Y19zdGF0ZShjcnRjX3N0YXRlKTsK PiAgIAlzdHJ1Y3QgaW14X2xkYl9jaGFubmVsICppbXhfbGRiX2NoID0gZW5jX3RvX2lteF9sZGJf Y2goZW5jb2Rlcik7Cj4gLQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAqZGkgPSAmY29ubl9zdGF0 ZS0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm87Cj4gKwlzdHJ1Y3QgZHJtX3N0YXRpY19kaXNwbGF5 X2luZm8gKmRpID0gJmNvbm5fc3RhdGUtPmNvbm5lY3Rvci0+c3RhdGljX2Rpc3BsYXlfaW5mbzsK PiAgIAl1MzIgYnVzX2Zvcm1hdCA9IGlteF9sZGJfY2gtPmJ1c19mb3JtYXQ7Cj4gICAKPiAgIAkv KiBCdXMgZm9ybWF0IGRlc2NyaXB0aW9uIGluIERUIG92ZXJyaWRlcyBjb25uZWN0b3IgZGlzcGxh eSBpbmZvLiAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaW14L3BhcmFsbGVsLWRp c3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgvcGFyYWxsZWwtZGlzcGxheS5jCj4gaW5kZXgg YWVkZWNkYTk3MjhhLi4yYWE4MDQ4NGEzOWQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2lteC9wYXJhbGxlbC1kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaW14L3BhcmFs bGVsLWRpc3BsYXkuYwo+IEBAIC0xMTgsNyArMTE4LDcgQEAgc3RhdGljIGludCBpbXhfcGRfZW5j b2Rlcl9hdG9taWNfY2hlY2soc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ICAgCQkJCSAg ICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKPiAgIHsKPiAgIAlz dHJ1Y3QgaW14X2NydGNfc3RhdGUgKmlteF9jcnRjX3N0YXRlID0gdG9faW14X2NydGNfc3RhdGUo Y3J0Y19zdGF0ZSk7Cj4gLQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAqZGkgPSAmY29ubl9zdGF0 ZS0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm87Cj4gKwlzdHJ1Y3QgZHJtX3N0YXRpY19kaXNwbGF5 X2luZm8gKmRpID0gJmNvbm5fc3RhdGUtPmNvbm5lY3Rvci0+c3RhdGljX2Rpc3BsYXlfaW5mbzsK PiAgIAlzdHJ1Y3QgaW14X3BhcmFsbGVsX2Rpc3BsYXkgKmlteHBkID0gZW5jX3RvX2lteHBkKGVu Y29kZXIpOwo+ICAgCj4gICAJaWYgKCFpbXhwZC0+YnVzX2Zvcm1hdCAmJiBkaS0+bnVtX2J1c19m b3JtYXRzKSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9jcnRj LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXhzZmIvbXhzZmJfY3J0Yy5jCj4gaW5kZXggMGFiZTc3Njc1 Yjc2Li4wNDI5MDA2Mjg4ZDYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL214c2ZiL214 c2ZiX2NydGMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9jcnRjLmMKPiBA QCAtMTAxLDggKzEwMSw4IEBAIHN0YXRpYyB2b2lkIG14c2ZiX3NldF9idXNfZm10KHN0cnVjdCBt eHNmYl9kcm1fcHJpdmF0ZSAqbXhzZmIpCj4gICAKPiAgIAlyZWcgPSByZWFkbChteHNmYi0+YmFz ZSArIExDRENfQ1RSTCk7Cj4gICAKPiAtCWlmIChteHNmYi0+Y29ubmVjdG9yLmRpc3BsYXlfaW5m by5udW1fYnVzX2Zvcm1hdHMpCj4gLQkJYnVzX2Zvcm1hdCA9IG14c2ZiLT5jb25uZWN0b3IuZGlz cGxheV9pbmZvLmJ1c19mb3JtYXRzWzBdOwo+ICsJaWYgKG14c2ZiLT5jb25uZWN0b3Iuc3RhdGlj X2Rpc3BsYXlfaW5mby5udW1fYnVzX2Zvcm1hdHMpCj4gKwkJYnVzX2Zvcm1hdCA9IG14c2ZiLT5j b25uZWN0b3Iuc3RhdGljX2Rpc3BsYXlfaW5mby5idXNfZm9ybWF0c1swXTsKPiAgIAo+ICAgCXJl ZyAmPSB+Q1RSTF9CVVNfV0lEVEhfTUFTSzsKPiAgIAlzd2l0Y2ggKGJ1c19mb3JtYXQpIHsKPiBA QCAtMTk5LDcgKzE5OSw3IEBAIHN0YXRpYyBpbnQgbXhzZmJfcmVzZXRfYmxvY2sodm9pZCBfX2lv bWVtICpyZXNldF9hZGRyKQo+ICAgc3RhdGljIHZvaWQgbXhzZmJfY3J0Y19tb2RlX3NldF9ub2Zi KHN0cnVjdCBteHNmYl9kcm1fcHJpdmF0ZSAqbXhzZmIpCj4gICB7Cj4gICAJc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKm0gPSAmbXhzZmItPnBpcGUuY3J0Yy5zdGF0ZS0+YWRqdXN0ZWRfbW9kZTsK PiAtCWNvbnN0IHUzMiBidXNfZmxhZ3MgPSBteHNmYi0+Y29ubmVjdG9yLmRpc3BsYXlfaW5mby5i dXNfZmxhZ3M7Cj4gKwljb25zdCB1MzIgYnVzX2ZsYWdzID0gbXhzZmItPmNvbm5lY3Rvci5zdGF0 aWNfZGlzcGxheV9pbmZvLmJ1c19mbGFnczsKPiAgIAl1MzIgdmRjdHJsMCwgdnN5bmNfcHVsc2Vf bGVuLCBoc3luY19wdWxzZV9sZW47Cj4gICAJaW50IGVycjsKPiAgIAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYXJtLXZlcnNhdGlsZS5jIGIvZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLWFybS12ZXJzYXRpbGUuYwo+IGluZGV4IGI0MjhjNDY3ODEwNi4uMjU5 NThiYzRjNWNhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1hcm0t dmVyc2F0aWxlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYXJtLXZlcnNh dGlsZS5jCj4gQEAgLTI2OCw3ICsyNjgsNyBAQCBzdGF0aWMgaW50IHZlcnNhdGlsZV9wYW5lbF9n ZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gICAJCURSTV9ESVNQTEFZX0lORk9f TEVOKTsKPiAgIAljb25uZWN0b3ItPmRpc3BsYXlfaW5mby53aWR0aF9tbSA9IHZwYW5lbC0+cGFu ZWxfdHlwZS0+d2lkdGhfbW07Cj4gICAJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGVpZ2h0X21t ID0gdnBhbmVsLT5wYW5lbF90eXBlLT5oZWlnaHRfbW07Cj4gLQljb25uZWN0b3ItPmRpc3BsYXlf aW5mby5idXNfZmxhZ3MgPSB2cGFuZWwtPnBhbmVsX3R5cGUtPmJ1c19mbGFnczsKPiArCWNvbm5l Y3Rvci0+c3RhdGljX2Rpc3BsYXlfaW5mby5idXNfZmxhZ3MgPSB2cGFuZWwtPnBhbmVsX3R5cGUt PmJ1c19mbGFnczsKPiAgIAo+ICAgCW1vZGUgPSBkcm1fbW9kZV9kdXBsaWNhdGUocGFuZWwtPmRy bSwgJnZwYW5lbC0+cGFuZWxfdHlwZS0+bW9kZSk7Cj4gICAJZHJtX21vZGVfc2V0X25hbWUobW9k ZSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1pbGl0ZWstaWxp OTMyMi5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWlsaXRlay1pbGk5MzIyLmMKPiBp bmRleCBiNGVjMGVjZmY4MDcuLjFiYTg5Mzk0MmEyYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtaWxpdGVrLWlsaTkzMjIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9wYW5lbC1pbGl0ZWstaWxpOTMyMi5jCj4gQEAgLTQxMSwxOSArNDExLDE5IEBAIHN0 YXRpYyBpbnQgaWxpOTMyMl9pbml0KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsLCBzdHJ1Y3QgaWxp OTMyMiAqaWxpKQo+ICAgCSAqLwo+ICAgCWlmIChpbGktPmNvbmYtPmRjbGtfYWN0aXZlX2hpZ2gp IHsKPiAgIAkJcmVnID0gSUxJOTMyMl9QT0xfRENMSzsKPiAtCQljb25uZWN0b3ItPmRpc3BsYXlf aW5mby5idXNfZmxhZ3MgfD0KPiArCQljb25uZWN0b3ItPnN0YXRpY19kaXNwbGF5X2luZm8uYnVz X2ZsYWdzIHw9Cj4gICAJCQlEUk1fQlVTX0ZMQUdfUElYREFUQV9QT1NFREdFOwo+ICAgCX0gZWxz ZSB7Cj4gICAJCXJlZyA9IDA7Cj4gLQkJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uYnVzX2ZsYWdz IHw9Cj4gKwkJY29ubmVjdG9yLT5zdGF0aWNfZGlzcGxheV9pbmZvLmJ1c19mbGFncyB8PQo+ICAg CQkJRFJNX0JVU19GTEFHX1BJWERBVEFfTkVHRURHRTsKPiAgIAl9Cj4gICAJaWYgKGlsaS0+Y29u Zi0+ZGVfYWN0aXZlX2hpZ2gpIHsKPiAgIAkJcmVnIHw9IElMSTkzMjJfUE9MX0RFOwo+IC0JCWNv bm5lY3Rvci0+ZGlzcGxheV9pbmZvLmJ1c19mbGFncyB8PQo+ICsJCWNvbm5lY3Rvci0+c3RhdGlj X2Rpc3BsYXlfaW5mby5idXNfZmxhZ3MgfD0KPiAgIAkJCURSTV9CVVNfRkxBR19ERV9ISUdIOwo+ ICAgCX0gZWxzZSB7Cj4gLQkJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uYnVzX2ZsYWdzIHw9Cj4g KwkJY29ubmVjdG9yLT5zdGF0aWNfZGlzcGxheV9pbmZvLmJ1c19mbGFncyB8PQo+ICAgCQkJRFJN X0JVU19GTEFHX0RFX0xPVzsKPiAgIAl9Cj4gICAJaWYgKGlsaS0+Y29uZi0+aHN5bmNfYWN0aXZl X2hpZ2gpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1sdmRzLmMg Yi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbHZkcy5jCj4gaW5kZXggYjVlMzk5NGYwYWE4 Li5iNTIwOTU2NjZiZGEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVs LWx2ZHMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1sdmRzLmMKPiBAQCAt MTI3LDkgKzEyNyw5IEBAIHN0YXRpYyBpbnQgcGFuZWxfbHZkc19nZXRfbW9kZXMoc3RydWN0IGRy bV9wYW5lbCAqcGFuZWwpCj4gICAKPiAgIAljb25uZWN0b3ItPmRpc3BsYXlfaW5mby53aWR0aF9t bSA9IGx2ZHMtPndpZHRoOwo+ICAgCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhlaWdodF9tbSA9 IGx2ZHMtPmhlaWdodDsKPiAtCWRybV9kaXNwbGF5X2luZm9fc2V0X2J1c19mb3JtYXRzKCZjb25u ZWN0b3ItPmRpc3BsYXlfaW5mbywKPiArCWRybV9kaXNwbGF5X2luZm9fc2V0X2J1c19mb3JtYXRz KCZjb25uZWN0b3ItPnN0YXRpY19kaXNwbGF5X2luZm8sCj4gICAJCQkJCSAmbHZkcy0+YnVzX2Zv cm1hdCwgMSk7Cj4gLQljb25uZWN0b3ItPmRpc3BsYXlfaW5mby5idXNfZmxhZ3MgPSBsdmRzLT5k YXRhX21pcnJvcgo+ICsJY29ubmVjdG9yLT5zdGF0aWNfZGlzcGxheV9pbmZvLmJ1c19mbGFncyA9 IGx2ZHMtPmRhdGFfbWlycm9yCj4gICAJCQkJCSAgPyBEUk1fQlVTX0ZMQUdfREFUQV9MU0JfVE9f TVNCCj4gICAJCQkJCSAgOiBEUk1fQlVTX0ZMQUdfREFUQV9NU0JfVE9fTFNCOwo+ICAgCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yYXNwYmVycnlwaS10b3VjaHNj cmVlbi5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJhc3BiZXJyeXBpLXRvdWNoc2Ny ZWVuLmMKPiBpbmRleCBkOTY0ZDQ1NGU0YWUuLjk1MjY0NjFjMGViMyAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcmFzcGJlcnJ5cGktdG91Y2hzY3JlZW4uYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yYXNwYmVycnlwaS10b3VjaHNjcmVlbi5j Cj4gQEAgLTM1Niw3ICszNTYsNyBAQCBzdGF0aWMgaW50IHJwaV90b3VjaHNjcmVlbl9nZXRfbW9k ZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gICAJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8u YnBjID0gODsKPiAgIAljb25uZWN0b3ItPmRpc3BsYXlfaW5mby53aWR0aF9tbSA9IDE1NDsKPiAg IAljb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSA4NjsKPiAtCWRybV9kaXNwbGF5 X2luZm9fc2V0X2J1c19mb3JtYXRzKCZjb25uZWN0b3ItPmRpc3BsYXlfaW5mbywKPiArCWRybV9k aXNwbGF5X2luZm9fc2V0X2J1c19mb3JtYXRzKCZjb25uZWN0b3ItPnN0YXRpY19kaXNwbGF5X2lu Zm8sCj4gICAJCQkJCSAmYnVzX2Zvcm1hdCwgMSk7Cj4gICAKPiAgIAlyZXR1cm4gbnVtOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Vpa28tNDN3dmYxZy5jIGIv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNlaWtvLTQzd3ZmMWcuYwo+IGluZGV4IDcxYzA5 ZWQ0MzZhZS4uZmZhOWQxYjZmODYzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC1zZWlrby00M3d2ZjFnLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtc2Vpa28tNDN3dmYxZy5jCj4gQEAgLTExNSw5ICsxMTUsOSBAQCBzdGF0aWMgaW50IHNlaWtv X3BhbmVsX2dldF9maXhlZF9tb2RlcyhzdHJ1Y3Qgc2Vpa29fcGFuZWwgKnBhbmVsKQo+ICAgCWNv bm5lY3Rvci0+ZGlzcGxheV9pbmZvLndpZHRoX21tID0gcGFuZWwtPmRlc2MtPnNpemUud2lkdGg7 Cj4gICAJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGVpZ2h0X21tID0gcGFuZWwtPmRlc2MtPnNp emUuaGVpZ2h0Owo+ICAgCWlmIChwYW5lbC0+ZGVzYy0+YnVzX2Zvcm1hdCkKPiAtCQlkcm1fZGlz cGxheV9pbmZvX3NldF9idXNfZm9ybWF0cygmY29ubmVjdG9yLT5kaXNwbGF5X2luZm8sCj4gKwkJ ZHJtX2Rpc3BsYXlfaW5mb19zZXRfYnVzX2Zvcm1hdHMoJmNvbm5lY3Rvci0+c3RhdGljX2Rpc3Bs YXlfaW5mbywKPiAgIAkJCQkJCSAmcGFuZWwtPmRlc2MtPmJ1c19mb3JtYXQsIDEpOwo+IC0JY29u bmVjdG9yLT5kaXNwbGF5X2luZm8uYnVzX2ZsYWdzID0gcGFuZWwtPmRlc2MtPmJ1c19mbGFnczsK PiArCWNvbm5lY3Rvci0+c3RhdGljX2Rpc3BsYXlfaW5mby5idXNfZmxhZ3MgPSBwYW5lbC0+ZGVz Yy0+YnVzX2ZsYWdzOwo+ICAgCj4gICAJcmV0dXJuIG51bTsKPiAgIH0KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpbXBsZS5jIGIvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLXNpbXBsZS5jCj4gaW5kZXggNTU5MTk4NGEzOTJiLi5iYTNmODViNzMzOGYgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpbXBsZS5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpbXBsZS5jCj4gQEAgLTE1Miw5ICsxNTIsOSBA QCBzdGF0aWMgaW50IHBhbmVsX3NpbXBsZV9nZXRfZml4ZWRfbW9kZXMoc3RydWN0IHBhbmVsX3Np bXBsZSAqcGFuZWwpCj4gICAJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSBwYW5l bC0+ZGVzYy0+c2l6ZS53aWR0aDsKPiAgIAljb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRf bW0gPSBwYW5lbC0+ZGVzYy0+c2l6ZS5oZWlnaHQ7Cj4gICAJaWYgKHBhbmVsLT5kZXNjLT5idXNf Zm9ybWF0KQo+IC0JCWRybV9kaXNwbGF5X2luZm9fc2V0X2J1c19mb3JtYXRzKCZjb25uZWN0b3It PmRpc3BsYXlfaW5mbywKPiArCQlkcm1fZGlzcGxheV9pbmZvX3NldF9idXNfZm9ybWF0cygmY29u bmVjdG9yLT5zdGF0aWNfZGlzcGxheV9pbmZvLAo+ICAgCQkJCQkJICZwYW5lbC0+ZGVzYy0+YnVz X2Zvcm1hdCwgMSk7Cj4gLQljb25uZWN0b3ItPmRpc3BsYXlfaW5mby5idXNfZmxhZ3MgPSBwYW5l bC0+ZGVzYy0+YnVzX2ZsYWdzOwo+ICsJY29ubmVjdG9yLT5zdGF0aWNfZGlzcGxheV9pbmZvLmJ1 c19mbGFncyA9IHBhbmVsLT5kZXNjLT5idXNfZmxhZ3M7Cj4gICAKPiAgIAlyZXR1cm4gbnVtOwo+ ICAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGwxMTEvcGwxMTFfZGlzcGxheS5j IGIvZHJpdmVycy9ncHUvZHJtL3BsMTExL3BsMTExX2Rpc3BsYXkuYwo+IGluZGV4IDViODM2OGM3 NjczNC4uYWZmZDA1MGVlNDA5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wbDExMS9w bDExMV9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGwxMTEvcGwxMTFfZGlzcGxh eS5jCj4gQEAgLTE0OCwxMCArMTQ4LDEwIEBAIHN0YXRpYyB2b2lkIHBsMTExX2Rpc3BsYXlfZW5h YmxlKHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSwKPiAgIAkJdGltMiB8PSBU SU0yX0lWUzsKPiAgIAo+ICAgCWlmIChjb25uZWN0b3IpIHsKPiAtCQlpZiAoY29ubmVjdG9yLT5k aXNwbGF5X2luZm8uYnVzX2ZsYWdzICYgRFJNX0JVU19GTEFHX0RFX0xPVykKPiArCQlpZiAoY29u bmVjdG9yLT5zdGF0aWNfZGlzcGxheV9pbmZvLmJ1c19mbGFncyAmIERSTV9CVVNfRkxBR19ERV9M T1cpCj4gICAJCQl0aW0yIHw9IFRJTTJfSU9FOwo+ICAgCj4gLQkJaWYgKGNvbm5lY3Rvci0+ZGlz cGxheV9pbmZvLmJ1c19mbGFncyAmCj4gKwkJaWYgKGNvbm5lY3Rvci0+c3RhdGljX2Rpc3BsYXlf aW5mby5idXNfZmxhZ3MgJgo+ICAgCQkgICAgRFJNX0JVU19GTEFHX1BJWERBVEFfTkVHRURHRSkK PiAgIAkJCXRpbTIgfD0gVElNMl9JUEM7Cj4gICAJfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3JhZGVvbl9jb25uZWN0b3JzLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbl9jb25uZWN0b3JzLmMKPiBpbmRleCAyZTJjYTNjNmI0N2QuLmM4YTBmODU2Zjg0ZSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9jb25uZWN0b3JzLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9jb25uZWN0b3JzLmMKPiBAQCAt MjM2Myw3ICsyMzYzLDcgQEAgcmFkZW9uX2FkZF9hdG9tX2Nvbm5lY3RvcihzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAo+ICAgCX0gZWxzZQo+ICAgCQljb25uZWN0b3ItPnBvbGxlZCA9IERSTV9DT05O RUNUT1JfUE9MTF9IUEQ7Cj4gICAKPiAtCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLnN1YnBpeGVs X29yZGVyID0gc3VicGl4ZWxfb3JkZXI7Cj4gKwljb25uZWN0b3ItPnN0YXRpY19kaXNwbGF5X2lu Zm8uc3VicGl4ZWxfb3JkZXIgPSBzdWJwaXhlbF9vcmRlcjsKPiAgIAlkcm1fY29ubmVjdG9yX3Jl Z2lzdGVyKGNvbm5lY3Rvcik7Cj4gICAKPiAgIAlpZiAoaGFzX2F1eCkKPiBAQCAtMjUyNiw3ICsy NTI2LDcgQEAgcmFkZW9uX2FkZF9sZWdhY3lfY29ubmVjdG9yKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCj4gICAJfSBlbHNlCj4gICAJCWNvbm5lY3Rvci0+cG9sbGVkID0gRFJNX0NPTk5FQ1RPUl9Q T0xMX0hQRDsKPiAgIAo+IC0JY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uc3VicGl4ZWxfb3JkZXIg PSBzdWJwaXhlbF9vcmRlcjsKPiArCWNvbm5lY3Rvci0+c3RhdGljX2Rpc3BsYXlfaW5mby5zdWJw aXhlbF9vcmRlciA9IHN1YnBpeGVsX29yZGVyOwo+ICAgCWRybV9jb25uZWN0b3JfcmVnaXN0ZXIo Y29ubmVjdG9yKTsKPiAgIH0KPiAgIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmNh ci1kdS9yY2FyX2R1X2VuY29kZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVf ZW5jb2Rlci5jCj4gaW5kZXggYmE4ZDI4MDRjMWQxLi43MjcyM2E4MGIxZTMgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9lbmNvZGVyLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2VuY29kZXIuYwo+IEBAIC0xMDIsNyArMTAyLDcg QEAgc3RhdGljIHZvaWQgcmNhcl9kdV9lbmNvZGVyX21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jb2RlciwKPiAgIAkJCQkgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25u X3N0YXRlKQo+ICAgewo+ICAgCXN0cnVjdCByY2FyX2R1X2VuY29kZXIgKnJlbmMgPSB0b19yY2Fy X2VuY29kZXIoZW5jb2Rlcik7Cj4gLQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAqaW5mbyA9ICZj b25uX3N0YXRlLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mbzsKPiArCXN0cnVjdCBkcm1fc3RhdGlj X2Rpc3BsYXlfaW5mbyAqaW5mbyA9ICZjb25uX3N0YXRlLT5jb25uZWN0b3ItPnN0YXRpY19kaXNw bGF5X2luZm87Cj4gICAJZW51bSByY2FyX2x2ZHNfbW9kZSBtb2RlOwo+ICAgCj4gICAJcmNhcl9k dV9jcnRjX3JvdXRlX291dHB1dChjcnRjX3N0YXRlLT5jcnRjLCByZW5jLT5vdXRwdXQpOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfdGNvbi5jIGIvZHJpdmVycy9n cHUvZHJtL3N1bjRpL3N1bjRpX3Rjb24uYwo+IGluZGV4IDFkNzE0YzA2ZWM5ZC4uZDIwYTg3NmJh NGM2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV90Y29uLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfdGNvbi5jCj4gQEAgLTU1LDEzICs1NSwx MyBAQCBzdGF0aWMgc3RydWN0IGRybV9jb25uZWN0b3IgKnN1bjRpX3Rjb25fZ2V0X2Nvbm5lY3Rv cihjb25zdCBzdHJ1Y3QgZHJtX2VuY29kZXIgKgo+ICAgc3RhdGljIGludCBzdW40aV90Y29uX2dl dF9waXhlbF9kZXB0aChjb25zdCBzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gICB7Cj4g ICAJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKPiAtCXN0cnVjdCBkcm1fZGlzcGxh eV9pbmZvICppbmZvOwo+ICsJc3RydWN0IGRybV9zdGF0aWNfZGlzcGxheV9pbmZvICppbmZvOwo+ ICAgCj4gICAJY29ubmVjdG9yID0gc3VuNGlfdGNvbl9nZXRfY29ubmVjdG9yKGVuY29kZXIpOwo+ ICAgCWlmICghY29ubmVjdG9yKQo+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgIAo+IC0JaW5mbyA9 ICZjb25uZWN0b3ItPmRpc3BsYXlfaW5mbzsKPiArCWluZm8gPSAmY29ubmVjdG9yLT5zdGF0aWNf ZGlzcGxheV9pbmZvOwo+ICAgCWlmIChpbmZvLT5udW1fYnVzX2Zvcm1hdHMgIT0gMSkKPiAgIAkJ cmV0dXJuIC1FSU5WQUw7Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3R2ZTIw MC90dmUyMDBfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL3R2ZTIwMC90dmUyMDBfZGlzcGxh eS5jCj4gaW5kZXggZGIzOTdmY2IzNDVhLi5hYTgwNWUyYmMwZmUgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL3R2ZTIwMC90dmUyMDBfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL3R2ZTIwMC90dmUyMDBfZGlzcGxheS5jCj4gQEAgLTE0OCw3ICsxNDgsNyBAQCBzdGF0aWMg dm9pZCB0dmUyMDBfZGlzcGxheV9lbmFibGUoc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBl ICpwaXBlLAo+ICAgCS8qIFZzeW5jIElSUSBhdCBzdGFydCBvZiBWc3luYyBhdCBmaXJzdCAqLwo+ ICAgCWN0cmwxIHw9IFRWRTIwMF9WU1RTVFlQRV9WU1lOQzsKPiAgIAo+IC0JaWYgKGNvbm5lY3Rv ci0+ZGlzcGxheV9pbmZvLmJ1c19mbGFncyAmIERSTV9CVVNfRkxBR19QSVhEQVRBX05FR0VER0Up Cj4gKwlpZiAoY29ubmVjdG9yLT5zdGF0aWNfZGlzcGxheV9pbmZvLmJ1c19mbGFncyAmIERSTV9C VVNfRkxBR19QSVhEQVRBX05FR0VER0UpCj4gICAJCWN0cmwxIHw9IFRWRTIwMF9DVFJMX1RWQ0xL UDsKPiAgIAo+ICAgCWlmICgobW9kZS0+aGRpc3BsYXkgPT0gMzUyICYmIG1vZGUtPnZkaXNwbGF5 ID09IDI0MCkgfHwgLyogU0lGKDUyNSkgKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3ZjNC92YzRfZHBpLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcGkuYwo+IGluZGV4IDcy YzlkYmQ4MWQ3Zi4uYTc1N2EyNjcwMzUzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92 YzQvdmM0X2RwaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHBpLmMKPiBAQCAt MTcwLDggKzE3MCw4IEBAIHN0YXRpYyB2b2lkIHZjNF9kcGlfZW5jb2Rlcl9lbmFibGUoc3RydWN0 IGRybV9lbmNvZGVyICplbmNvZGVyKQo+ICAgCXUzMiBkcGlfYyA9IERQSV9FTkFCTEUgfCBEUElf T1VUUFVUX0VOQUJMRV9NT0RFOwo+ICAgCWludCByZXQ7Cj4gICAKPiAtCWlmIChkcGktPmNvbm5l Y3Rvci0+ZGlzcGxheV9pbmZvLm51bV9idXNfZm9ybWF0cykgewo+IC0JCXUzMiBidXNfZm9ybWF0 ID0gZHBpLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby5idXNfZm9ybWF0c1swXTsKPiArCWlmIChk cGktPmNvbm5lY3Rvci0+c3RhdGljX2Rpc3BsYXlfaW5mby5udW1fYnVzX2Zvcm1hdHMpIHsKPiAr CQl1MzIgYnVzX2Zvcm1hdCA9IGRwaS0+Y29ubmVjdG9yLT5zdGF0aWNfZGlzcGxheV9pbmZvLmJ1 c19mb3JtYXRzWzBdOwo+ICAgCj4gICAJCXN3aXRjaCAoYnVzX2Zvcm1hdCkgewo+ICAgCQljYXNl IE1FRElBX0JVU19GTVRfUkdCODg4XzFYMjQ6Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2Ry bV9jb25uZWN0b3IuaCBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+IGluZGV4IDY3NWNj M2Y4Y2Y4NS4uYWFkMzI1OGZhY2YyIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9jb25u ZWN0b3IuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+IEBAIC0xNzcsNyAr MTc3LDcgQEAgZW51bSBkcm1fbGlua19zdGF0dXMgewo+ICAgfTsKPiAgIAo+ICAgLyoqCj4gLSAq IGVudW0gZHJtX3BhbmVsX29yaWVudGF0aW9uIC0gcGFuZWxfb3JpZW50YXRpb24gaW5mbyBmb3Ig JmRybV9kaXNwbGF5X2luZm8KPiArICogZW51bSBkcm1fcGFuZWxfb3JpZW50YXRpb24gLSBwYW5l bF9vcmllbnRhdGlvbiBpbmZvIGZvciAmZHJtX3N0YXRpY19kaXNwbGF5X2luZm8KPiAgICAqCj4g ICAgKiBUaGlzIGVudW0gaXMgdXNlZCB0byB0cmFjayB0aGUgKExDRCkgcGFuZWwgb3JpZW50YXRp b24uIFRoZXJlIGFyZSBubwo+ICAgICogc2VwYXJhdGUgI2RlZmluZXMgZm9yIHRoZSB1YXBpIQo+ IEBAIC0yMDYsMTQgKzIwNiw2NyBAQCBlbnVtIGRybV9wYW5lbF9vcmllbnRhdGlvbiB7Cj4gICB9 Owo+ICAgCj4gICAvKioKPiAtICogc3RydWN0IGRybV9kaXNwbGF5X2luZm8gLSBydW50aW1lIGRh dGEgYWJvdXQgdGhlIGNvbm5lY3RlZCBzaW5rCj4gKyAqIHN0cnVjdCBkcm1fc3RhdGljX2Rpc3Bs YXlfaW5mbyAtIGRhdGEgYWJvdXQgdGhlIGNvbm5lY3RlZCBzaW5rCj4gKyAqCj4gKyAqIFN0YXRp YyBkYXRhIChhcyBpbiBub3QgcGFyc2VkIGZyb20gRURJRCkgYWJvdXQgdGhlIGNvbm5lY3RlZCBz aW5rLgo+ICsgKiBUaGlzIHdpbGwgbm90IGJlIHJlc2V0IG9uY2Ugc2V0LCBzbyBkcml2ZXJzIGNh biBzYWZlbHkgcG9wdWxhdGUgdGhpcwo+ICsgKiBhdCBjb25uZWN0b3IgaW5pdCB0aW1lLiBUaGV5 IGNhbiBhbHNvIGFkanVzdCBpdCBkeW5hbWljYWxseSBhcyBsb25nCj4gKyAqIGFzIHRoZSBkb24n dCBsZWF2ZSBzdGFsZSBnYXJiYWdlIGJlaGluZC4KPiArICovCj4gK3N0cnVjdCBkcm1fc3RhdGlj X2Rpc3BsYXlfaW5mbyB7Cj4gKwkvKioKPiArCSAqIEBzdWJwaXhlbF9vcmRlcjogU3VicGl4ZWwg b3JkZXIgb2YgTENEIHBhbmVscy4KPiArCSAqLwo+ICsJZW51bSBzdWJwaXhlbF9vcmRlciBzdWJw aXhlbF9vcmRlcjsKPiArCj4gKwkvKioKPiArCSAqIEBwYW5lbF9vcmllbnRhdGlvbjogUmVhZCBv bmx5IGNvbm5lY3RvciBwcm9wZXJ0eSBmb3IgYnVpbHQtaW4gcGFuZWxzLAo+ICsJICogaW5kaWNh dGluZyB0aGUgb3JpZW50YXRpb24gb2YgdGhlIHBhbmVsIHZzIHRoZSBkZXZpY2UncyBjYXNpbmcu Cj4gKwkgKiBkcm1fY29ubmVjdG9yX2luaXQoKSBzZXRzIHRoaXMgdG8gRFJNX01PREVfUEFORUxf T1JJRU5UQVRJT05fVU5LTk9XTi4KPiArCSAqIFdoZW4gbm90IFVOS05PV04gdGhpcyBnZXRzIHVz ZWQgYnkgdGhlIGRybV9mYl9oZWxwZXJzIHRvIHJvdGF0ZSB0aGUKPiArCSAqIGZiIHRvIGNvbXBl bnNhdGUgYW5kIGdldHMgZXhwb3J0ZWQgYXMgcHJvcCB0byB1c2Vyc3BhY2UuCj4gKwkgKi8KPiAr CWludCBwYW5lbF9vcmllbnRhdGlvbjsKPiArCj4gKwkvKioKPiArCSAqIEBidXNfZm9ybWF0czog UGl4ZWwgZGF0YSBmb3JtYXQgb24gdGhlIHdpcmUsIHNvbWV3aGF0IHJlZHVuZGFudCB3aXRoCj4g KwkgKiBAY29sb3JfZm9ybWF0cy4gQXJyYXkgb2Ygc2l6ZSBAbnVtX2J1c19mb3JtYXRzIGVuY29k ZWQgdXNpbmcKPiArCSAqIE1FRElBX0JVU19GTVRcXyBkZWZpbmVzIHNoYXJlZCB3aXRoIHY0bCBh bmQgbWVkaWEgZHJpdmVycy4KPiArCSAqLwo+ICsJY29uc3QgdTMyICpidXNfZm9ybWF0czsKPiAr CS8qKgo+ICsJICogQG51bV9idXNfZm9ybWF0czogU2l6ZSBvZiBAYnVzX2Zvcm1hdHMgYXJyYXku Cj4gKwkgKi8KPiArCXVuc2lnbmVkIGludCBudW1fYnVzX2Zvcm1hdHM7Cj4gKwo+ICsjZGVmaW5l IERSTV9CVVNfRkxBR19ERV9MT1cJCSgxPDwwKQo+ICsjZGVmaW5lIERSTV9CVVNfRkxBR19ERV9I SUdICQkoMTw8MSkKPiArLyogZHJpdmUgZGF0YSBvbiBwb3MuIGVkZ2UgKi8KPiArI2RlZmluZSBE Uk1fQlVTX0ZMQUdfUElYREFUQV9QT1NFREdFCSgxPDwyKQo+ICsvKiBkcml2ZSBkYXRhIG9uIG5l Zy4gZWRnZSAqLwo+ICsjZGVmaW5lIERSTV9CVVNfRkxBR19QSVhEQVRBX05FR0VER0UJKDE8PDMp Cj4gKy8qIGRhdGEgaXMgdHJhbnNtaXR0ZWQgTVNCIHRvIExTQiBvbiB0aGUgYnVzICovCj4gKyNk ZWZpbmUgRFJNX0JVU19GTEFHX0RBVEFfTVNCX1RPX0xTQgkoMTw8NCkKPiArLyogZGF0YSBpcyB0 cmFuc21pdHRlZCBMU0IgdG8gTVNCIG9uIHRoZSBidXMgKi8KPiArI2RlZmluZSBEUk1fQlVTX0ZM QUdfREFUQV9MU0JfVE9fTVNCCSgxPDw1KQo+ICsKPiArCS8qKgo+ICsJICogQGJ1c19mbGFnczog QWRkaXRpb25hbCBpbmZvcm1hdGlvbiAobGlrZSBwaXhlbCBzaWduYWwgcG9sYXJpdHkpIGZvcgo+ ICsJICogdGhlIHBpeGVsIGRhdGEgb24gdGhlIGJ1cywgdXNpbmcgRFJNX0JVU19GTEFHU1xfIGRl ZmluZXMuCj4gKwkgKi8KPiArCXUzMiBidXNfZmxhZ3M7Cj4gK307Cj4gKwo+ICsvKioKPiArICog c3RydWN0IGRybV9kaXNwbGF5X2luZm8gLSBEeW5hbWljIGRhdGEgYWJvdXQgdGhlIGNvbm5lY3Rl ZCBzaW5rCj4gICAgKgo+ICAgICogRGVzY3JpYmVzIGEgZ2l2ZW4gZGlzcGxheSAoZS5nLiBDUlQg b3IgZmxhdCBwYW5lbCkgYW5kIGl0cyBsaW1pdGF0aW9ucy4gRm9yCj4gICAgKiBmaXhlZCBkaXNw bGF5IHNpbmtzIGxpa2UgYnVpbHQtaW4gcGFuZWxzIHRoZXJlJ3Mgbm90IG11Y2ggZGlmZmVyZW5j ZSBiZXR3ZWVuCj4gICAgKiB0aGlzIGFuZCAmc3RydWN0IGRybV9jb25uZWN0b3IuIEJ1dCBmb3Ig c2lua3Mgd2l0aCBhIHJlYWwgY2FibGUgdGhpcwo+ICAgICogc3RydWN0dXJlIGlzIG1lYW50IHRv IGRlc2NyaWJlIGFsbCB0aGUgdGhpbmdzIGF0IHRoZSBvdGhlciBlbmQgb2YgdGhlIGNhYmxlLgo+ ICAgICoKPiAtICogRm9yIHNpbmtzIHdoaWNoIHByb3ZpZGUgYW4gRURJRCB0aGlzIGNhbiBiZSBm aWxsZWQgb3V0IGJ5IGNhbGxpbmcKPiArICogVGhpcyBzaG91bGQgYmUgZmlsbGVkIG91dCBieSB0 aGUgY29ubmVjdG9yIC5maWxsX21vZGVzKCkvLmdldF9tb2RlcygpCj4gKyAqIGhvb2tzLiBGb3Ig c2lua3Mgd2hpY2ggcHJvdmlkZSBhbiBFRElEIHRoaXMgY2FuIGJlIGZpbGxlZCBvdXQgYnkgY2Fs bGluZwo+ICAgICogZHJtX2FkZF9lZGlkX21vZGVzKCkuCj4gICAgKi8KPiAgIHN0cnVjdCBkcm1f ZGlzcGxheV9pbmZvIHsKPiBAQCAtMjI1LDcgKzI3OCw3IEBAIHN0cnVjdCBkcm1fZGlzcGxheV9p bmZvIHsKPiAgIAkvKioKPiAgIAkgKiBAd2lkdGhfbW06IFBoeXNpY2FsIHdpZHRoIGluIG1tLgo+ ICAgCSAqLwo+IC0gICAgICAgIHVuc2lnbmVkIGludCB3aWR0aF9tbTsKPiArCXVuc2lnbmVkIGlu dCB3aWR0aF9tbTsKPiAgIAkvKioKPiAgIAkgKiBAaGVpZ2h0X21tOiBQaHlzaWNhbCBoZWlnaHQg aW4gbW0uCj4gICAJICovCj4gQEAgLTI0MiwyNiArMjk1LDEyIEBAIHN0cnVjdCBkcm1fZGlzcGxh eV9pbmZvIHsKPiAgIAkgKi8KPiAgIAl1bnNpZ25lZCBpbnQgYnBjOwo+ICAgCj4gLQkvKioKPiAt CSAqIEBzdWJwaXhlbF9vcmRlcjogU3VicGl4ZWwgb3JkZXIgb2YgTENEIHBhbmVscy4KPiAtCSAq Lwo+IC0JZW51bSBzdWJwaXhlbF9vcmRlciBzdWJwaXhlbF9vcmRlcjsKPiAtCj4gICAjZGVmaW5l IERSTV9DT0xPUl9GT1JNQVRfUkdCNDQ0CQkoMTw8MCkKPiAgICNkZWZpbmUgRFJNX0NPTE9SX0ZP Uk1BVF9ZQ1JDQjQ0NAkoMTw8MSkKPiAgICNkZWZpbmUgRFJNX0NPTE9SX0ZPUk1BVF9ZQ1JDQjQy MgkoMTw8MikKPiAgICNkZWZpbmUgRFJNX0NPTE9SX0ZPUk1BVF9ZQ1JDQjQyMAkoMTw8MykKPiAg IAo+ICAgCS8qKgo+IC0JICogQHBhbmVsX29yaWVudGF0aW9uOiBSZWFkIG9ubHkgY29ubmVjdG9y IHByb3BlcnR5IGZvciBidWlsdC1pbiBwYW5lbHMsCj4gLQkgKiBpbmRpY2F0aW5nIHRoZSBvcmll bnRhdGlvbiBvZiB0aGUgcGFuZWwgdnMgdGhlIGRldmljZSdzIGNhc2luZy4KPiAtCSAqIGRybV9j b25uZWN0b3JfaW5pdCgpIHNldHMgdGhpcyB0byBEUk1fTU9ERV9QQU5FTF9PUklFTlRBVElPTl9V TktOT1dOLgo+IC0JICogV2hlbiBub3QgVU5LTk9XTiB0aGlzIGdldHMgdXNlZCBieSB0aGUgZHJt X2ZiX2hlbHBlcnMgdG8gcm90YXRlIHRoZQo+IC0JICogZmIgdG8gY29tcGVuc2F0ZSBhbmQgZ2V0 cyBleHBvcnRlZCBhcyBwcm9wIHRvIHVzZXJzcGFjZS4KPiAtCSAqLwo+IC0JaW50IHBhbmVsX29y aWVudGF0aW9uOwo+IC0KPiAtCS8qKgo+ICAgCSAqIEBjb2xvcl9mb3JtYXRzOiBIRE1JIENvbG9y IGZvcm1hdHMsIHNlbGVjdHMgYmV0d2VlbiBSR0IgYW5kIFlDckNiCj4gICAJICogbW9kZXMuIFVz ZWQgRFJNX0NPTE9SX0ZPUk1BVFxfIGRlZmluZXMsIHdoaWNoIGFyZSBfbm90XyB0aGUgc2FtZSBv bmVzCj4gICAJICogYXMgdXNlZCB0byBkZXNjcmliZSB0aGUgcGl4ZWwgZm9ybWF0IGluIGZyYW1l YnVmZmVycywgYW5kIGFsc28gZG9uJ3QKPiBAQCAtMjcwLDM0ICszMDksNiBAQCBzdHJ1Y3QgZHJt X2Rpc3BsYXlfaW5mbyB7Cj4gICAJdTMyIGNvbG9yX2Zvcm1hdHM7Cj4gICAKPiAgIAkvKioKPiAt CSAqIEBidXNfZm9ybWF0czogUGl4ZWwgZGF0YSBmb3JtYXQgb24gdGhlIHdpcmUsIHNvbWV3aGF0 IHJlZHVuZGFudCB3aXRoCj4gLQkgKiBAY29sb3JfZm9ybWF0cy4gQXJyYXkgb2Ygc2l6ZSBAbnVt X2J1c19mb3JtYXRzIGVuY29kZWQgdXNpbmcKPiAtCSAqIE1FRElBX0JVU19GTVRcXyBkZWZpbmVz IHNoYXJlZCB3aXRoIHY0bCBhbmQgbWVkaWEgZHJpdmVycy4KPiAtCSAqLwo+IC0JY29uc3QgdTMy ICpidXNfZm9ybWF0czsKPiAtCS8qKgo+IC0JICogQG51bV9idXNfZm9ybWF0czogU2l6ZSBvZiBA YnVzX2Zvcm1hdHMgYXJyYXkuCj4gLQkgKi8KPiAtCXVuc2lnbmVkIGludCBudW1fYnVzX2Zvcm1h dHM7Cj4gLQo+IC0jZGVmaW5lIERSTV9CVVNfRkxBR19ERV9MT1cJCSgxPDwwKQo+IC0jZGVmaW5l IERSTV9CVVNfRkxBR19ERV9ISUdICQkoMTw8MSkKPiAtLyogZHJpdmUgZGF0YSBvbiBwb3MuIGVk Z2UgKi8KPiAtI2RlZmluZSBEUk1fQlVTX0ZMQUdfUElYREFUQV9QT1NFREdFCSgxPDwyKQo+IC0v KiBkcml2ZSBkYXRhIG9uIG5lZy4gZWRnZSAqLwo+IC0jZGVmaW5lIERSTV9CVVNfRkxBR19QSVhE QVRBX05FR0VER0UJKDE8PDMpCj4gLS8qIGRhdGEgaXMgdHJhbnNtaXR0ZWQgTVNCIHRvIExTQiBv biB0aGUgYnVzICovCj4gLSNkZWZpbmUgRFJNX0JVU19GTEFHX0RBVEFfTVNCX1RPX0xTQgkoMTw8 NCkKPiAtLyogZGF0YSBpcyB0cmFuc21pdHRlZCBMU0IgdG8gTVNCIG9uIHRoZSBidXMgKi8KPiAt I2RlZmluZSBEUk1fQlVTX0ZMQUdfREFUQV9MU0JfVE9fTVNCCSgxPDw1KQo+IC0KPiAtCS8qKgo+ IC0JICogQGJ1c19mbGFnczogQWRkaXRpb25hbCBpbmZvcm1hdGlvbiAobGlrZSBwaXhlbCBzaWdu YWwgcG9sYXJpdHkpIGZvcgo+IC0JICogdGhlIHBpeGVsIGRhdGEgb24gdGhlIGJ1cywgdXNpbmcg RFJNX0JVU19GTEFHU1xfIGRlZmluZXMuCj4gLQkgKi8KPiAtCXUzMiBidXNfZmxhZ3M7Cj4gLQo+ IC0JLyoqCj4gICAJICogQG1heF90bWRzX2Nsb2NrOiBNYXhpbXVtIFRNRFMgY2xvY2sgcmF0ZSBz dXBwb3J0ZWQgYnkgdGhlCj4gICAJICogc2luayBpbiBrSHouIDAgbWVhbnMgdW5kZWZpbmVkLgo+ ICAgCSAqLwo+IEBAIC0zMzUsNyArMzQ2LDcgQEAgc3RydWN0IGRybV9kaXNwbGF5X2luZm8gewo+ ICAgCWJvb2wgbm9uX2Rlc2t0b3A7Cj4gICB9Owo+ICAgCj4gLWludCBkcm1fZGlzcGxheV9pbmZv X3NldF9idXNfZm9ybWF0cyhzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAqaW5mbywKPiAraW50IGRy bV9kaXNwbGF5X2luZm9fc2V0X2J1c19mb3JtYXRzKHN0cnVjdCBkcm1fc3RhdGljX2Rpc3BsYXlf aW5mbyAqaW5mbywKPiAgIAkJCQkgICAgIGNvbnN0IHUzMiAqZm9ybWF0cywKPiAgIAkJCQkgICAg IHVuc2lnbmVkIGludCBudW1fZm9ybWF0cyk7Cj4gICAKPiBAQCAtODUxLDE1ICs4NjIsMjMgQEAg c3RydWN0IGRybV9jb25uZWN0b3Igewo+ICAgCXN0cnVjdCBsaXN0X2hlYWQgcHJvYmVkX21vZGVz Owo+ICAgCj4gICAJLyoqCj4gLQkgKiBAZGlzcGxheV9pbmZvOiBEaXNwbGF5IGluZm9ybWF0aW9u IGlzIGZpbGxlZCBmcm9tIEVESUQgaW5mb3JtYXRpb24KPiAtCSAqIHdoZW4gYSBkaXNwbGF5IGlz IGRldGVjdGVkLiBGb3Igbm9uIGhvdC1wbHVnZ2FibGUgZGlzcGxheXMgc3VjaCBhcwo+IC0JICog ZmxhdCBwYW5lbHMgaW4gZW1iZWRkZWQgc3lzdGVtcywgdGhlIGRyaXZlciBzaG91bGQgaW5pdGlh bGl6ZSB0aGUKPiAtCSAqICZkcm1fZGlzcGxheV9pbmZvLndpZHRoX21tIGFuZCAmZHJtX2Rpc3Bs YXlfaW5mby5oZWlnaHRfbW0gZmllbGRzCj4gLQkgKiB3aXRoIHRoZSBwaHlzaWNhbCBzaXplIG9m IHRoZSBkaXNwbGF5Lgo+ICsJICogQHN0YXRpY19kaXNwbGF5X2luZm86IERpc3BsYXkgaW5mb3Jt YXRpb24gaXMgZmlsbGVkIGJ5IHRoZSBkcml2ZXIKPiArCSAqCj4gKwkgKiBQcm90ZWN0ZWQgYnkg JmRybV9tb2RlX2NvbmZpZy5tdXRleC4KPiArCSAqLwo+ICsJc3RydWN0IGRybV9zdGF0aWNfZGlz cGxheV9pbmZvIHN0YXRpY19kaXNwbGF5X2luZm87Cj4gKwkvKioKPiArCSAqIEBkaXNwbGF5X2lu Zm86IER5bmFtaWMgZGlzcGxheSBpbmZvcm1hdGlvbiBpcyBmaWxsZWQgZnJvbSBFRElECj4gKwkg KiBpbmZvcm1hdGlvbiB3aGVuIGEgZGlzcGxheSBpcyBkZXRlY3RlZC4gRm9yIG5vbiBob3QtcGx1 Z2dhYmxlCj4gKwkgKiBkaXNwbGF5cyBzdWNoIGFzIGZsYXQgcGFuZWxzIGluIGVtYmVkZGVkIHN5 c3RlbXMsIHRoZSBkcml2ZXIKPiArCSAqIHNob3VsZCBpbml0aWFsaXplIHRoZSAmZHJtX2Rpc3Bs YXlfaW5mby53aWR0aF9tbSBhbmQKPiArCSAqICZkcm1fZGlzcGxheV9pbmZvLmhlaWdodF9tbSBm aWVsZHMgd2l0aCB0aGUgcGh5c2ljYWwgc2l6ZSBvZgo+ICsJICogdGhlIGRpc3BsYXkuCj4gICAJ ICoKPiAgIAkgKiBQcm90ZWN0ZWQgYnkgJmRybV9tb2RlX2NvbmZpZy5tdXRleC4KPiAgIAkgKi8K PiAgIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyBkaXNwbGF5X2luZm87Cj4gKwo+ICAgCWNvbnN0 IHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNzICpmdW5jczsKPiAgIAo+ICAgCXN0cnVjdCBkcm1f cHJvcGVydHlfYmxvYiAqZWRpZF9ibG9iX3B0cjsKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=