From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH 5/5] drm: Move drm_plane_helper_check_state() into drm_atomic_helper.c Date: Thu, 23 Nov 2017 11:53:55 +0200 Message-ID: <4059064.n1VHBXv3bX@avalon> References: <20171101182920.14386-1-ville.syrjala@linux.intel.com> <20171101182920.14386-6-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from galahad.ideasonboard.com (galahad.ideasonboard.com [IPv6:2001:4b98:dc2:45:216:3eff:febb:480d]) by gabe.freedesktop.org (Postfix) with ESMTPS id A5BE96E766 for ; Thu, 23 Nov 2017 09:53:57 +0000 (UTC) In-Reply-To: <20171101182920.14386-6-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SGkgVmlsbGUsCgpUaGFuayB5b3UgZm9yIHRoZSBwYXRjaC4KCk9uIFdlZG5lc2RheSwgMSBOb3Zl bWJlciAyMDE3IDIwOjI5OjIwIEVFVCBWaWxsZSBTeXJqYWxhIHdyb3RlOgo+IEZyb206IFZpbGxl IFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gCj4gZHJtX3BsYW5l X2hlbHBlcl9jaGVja191cGRhdGUoKSBpc24ndCBhIHRyYW5zaXRpb25hbCBoZWxwZXIsIHNvIGxl dCdzCj4gcmVuYW1lIGl0IHRvIGRybV9hdG9taWNfaGVscGVyX2NoZWNrX3BsYW5lX3N0YXRlKCkg YW5kIG1vdmUgaXQgaW50bwo+IGRybV9hdG9taWNfaGVscGVyLmMuCj4gCj4gQ2M6IERhbmllbCBW ZXR0ZXIgPGRhbmllbEBmZndsbC5jaD4KPiBTdWdnZXN0ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRh bmllbEBmZndsbC5jaD4KPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5 cmphbGFAbGludXguaW50ZWwuY29tPgoKSSB3b3VsZCBtb3ZlIHRoaXMgcGF0Y2ggYmVmb3JlIDQv NSB0byBtYWtlIGl0IGVhc2llciB0byByZXZlcnQgNC81IChmb3IgdGhlIApyZWFzb24gZXhwbGFp bmluZyBhcyBhIHJlcGx5IHRvIHRoYXQgcGF0Y2gpLgoKUmV2aWV3ZWQtYnk6IExhdXJlbnQgUGlu Y2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KCj4gLS0tCj4gIGRyaXZl cnMvZ3B1L2RybS9hcm0vaGRsY2RfY3J0Yy5jICAgICAgICAgICAgfCAgIDggKy0tCj4gIGRyaXZl cnMvZ3B1L2RybS9hcm0vbWFsaWRwX3BsYW5lcy5jICAgICAgICAgfCAgIDQgKy0KPiAgZHJpdmVy cy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgICAgICAgICB8ICA5NSArKysrKysrKysrKysr KysrKysrKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmVfaGVscGVyLmMgICAgICAg ICAgfCAxMDMgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1f c2ltcGxlX2ttc19oZWxwZXIuYyAgICAgfCAgIDkgKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYyAgICAgICAgfCAgMjIgKysrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9p bXgvaXB1djMtcGxhbmUuYyAgICAgICAgICAgfCAgIDggKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9t ZWRpYXRlay9tdGtfZHJtX3BsYW5lLmMgICAgfCAgIDggKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9t ZXNvbi9tZXNvbl9wbGFuZS5jICAgICAgICAgfCAgIDggKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9t c20vbWRwL21kcDUvbWRwNV9wbGFuZS5jICAgfCAgIDUgKy0KPiAgZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvbnY1MF9kaXNwbGF5LmMgICAgICB8ICAyMCArKystLS0KPiAgZHJpdmVycy9ncHUvZHJt L3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYyB8ICAgNiArLQo+ICBkcml2ZXJzL2dwdS9kcm0v dGVncmEvZGMuYyAgICAgICAgICAgICAgICAgIHwgICA0ICstCj4gIGRyaXZlcnMvZ3B1L2RybS92 bXdnZngvdm13Z2Z4X2ttcy5jICAgICAgICAgfCAgIDggKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS96 dGUvenhfcGxhbmUuYyAgICAgICAgICAgICAgfCAgMTUgKystLQo+ICBpbmNsdWRlL2RybS9kcm1f YXRvbWljX2hlbHBlci5oICAgICAgICAgICAgIHwgICA3ICsrCj4gIGluY2x1ZGUvZHJtL2RybV9w bGFuZV9oZWxwZXIuaCAgICAgICAgICAgICAgfCAgIDYgLS0KPiAgMTcgZmlsZXMgY2hhbmdlZCwg MTcwIGluc2VydGlvbnMoKyksIDE2NiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FybS9oZGxjZF9jcnRjLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vaGRs Y2RfY3J0Yy5jIGluZGV4IDE0NzIxNzIzZmE4YS4uNjM1MTFhM2JiZjZjIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hcm0vaGRsY2RfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2FybS9oZGxjZF9jcnRjLmMKPiBAQCAtMjUyLDEwICsyNTIsMTAgQEAgc3RhdGljIGludCBoZGxj ZF9wbGFuZV9hdG9taWNfY2hlY2soc3RydWN0IGRybV9wbGFuZQo+ICpwbGFuZSwgY2xpcC54MiA9 IGNydGNfc3RhdGUtPmFkanVzdGVkX21vZGUuaGRpc3BsYXk7Cj4gIAljbGlwLnkyID0gY3J0Y19z dGF0ZS0+YWRqdXN0ZWRfbW9kZS52ZGlzcGxheTsKPiAKPiAtCXJldHVybiBkcm1fcGxhbmVfaGVs cGVyX2NoZWNrX3N0YXRlKHN0YXRlLCBjcnRjX3N0YXRlLCAmY2xpcCwKPiAtCQkJCQkgICAgRFJN X1BMQU5FX0hFTFBFUl9OT19TQ0FMSU5HLAo+IC0JCQkJCSAgICBEUk1fUExBTkVfSEVMUEVSX05P X1NDQUxJTkcsCj4gLQkJCQkJICAgIGZhbHNlLCB0cnVlKTsKPiArCXJldHVybiBkcm1fYXRvbWlj X2hlbHBlcl9jaGVja19wbGFuZV9zdGF0ZShzdGF0ZSwgY3J0Y19zdGF0ZSwgJmNsaXAsCj4gKwkJ CQkJCSAgIERSTV9QTEFORV9IRUxQRVJfTk9fU0NBTElORywKPiArCQkJCQkJICAgRFJNX1BMQU5F X0hFTFBFUl9OT19TQ0FMSU5HLAo+ICsJCQkJCQkgICBmYWxzZSwgdHJ1ZSk7Cj4gIH0KPiAKPiAg c3RhdGljIHZvaWQgaGRsY2RfcGxhbmVfYXRvbWljX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfcGxhbmVzLmMK PiBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX3BsYW5lcy5jIGluZGV4IDQ5MmQ5OWRkNTVk NC4uNzJhMDc5NTAxNjdlCj4gMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxp ZHBfcGxhbmVzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9wbGFuZXMuYwo+ IEBAIC0xNTAsOCArMTUwLDggQEAgc3RhdGljIGludCBtYWxpZHBfc2VfY2hlY2tfc2NhbGluZyhz dHJ1Y3QgbWFsaWRwX3BsYW5lCj4gKm1wLAo+IAo+ICAJY2xpcC54MiA9IGNydGNfc3RhdGUtPmFk anVzdGVkX21vZGUuaGRpc3BsYXk7Cj4gIAljbGlwLnkyID0gY3J0Y19zdGF0ZS0+YWRqdXN0ZWRf bW9kZS52ZGlzcGxheTsKPiAtCXJldCA9IGRybV9wbGFuZV9oZWxwZXJfY2hlY2tfc3RhdGUoc3Rh dGUsIGNydGNfc3RhdGUsICZjbGlwLAo+IC0JCQkJCSAgIDAsIElOVF9NQVgsIHRydWUsIHRydWUp Owo+ICsJcmV0ID0gZHJtX2F0b21pY19oZWxwZXJfY2hlY2tfcGxhbmVfc3RhdGUoc3RhdGUsIGNy dGNfc3RhdGUsICZjbGlwLAo+ICsJCQkJCQkgIDAsIElOVF9NQVgsIHRydWUsIHRydWUpOwo+ICAJ aWYgKHJldCkKPiAgCQlyZXR1cm4gcmV0Owo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pY19oZWxwZXIuYwo+IGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVs cGVyLmMgaW5kZXggNzFkNzEyZjFiNTZhLi43NTk1YWQ4YWQyZjMKPiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljX2hlbHBlci5jCj4gQEAgLTY5Niw2ICs2OTYsMTAxIEBAIGRybV9hdG9taWNf aGVscGVyX2NoZWNrX21vZGVzZXQoc3RydWN0IGRybV9kZXZpY2UKPiAqZGV2LCBFWFBPUlRfU1lN Qk9MKGRybV9hdG9taWNfaGVscGVyX2NoZWNrX21vZGVzZXQpOwo+IAo+ICAvKioKPiArICogZHJt X2F0b21pY19oZWxwZXJfY2hlY2tfcGxhbmVfc3RhdGUoKSAtIENoZWNrIHBsYW5lIHN0YXRlIGZv ciB2YWxpZGl0eQo+ICsgKiBAcGxhbmVfc3RhdGU6IHBsYW5lIHN0YXRlIHRvIGNoZWNrCj4gKyAq IEBjcnRjX3N0YXRlOiBjcnRjIHN0YXRlIHRvIGNoZWNrCj4gKyAqIEBjbGlwOiBpbnRlZ2VyIGNs aXBwaW5nIGNvb3JkaW5hdGVzCj4gKyAqIEBtaW5fc2NhbGU6IG1pbmltdW0gQHNyYzpAZGVzdCBz Y2FsaW5nIGZhY3RvciBpbiAxNi4xNiBmaXhlZCBwb2ludAo+ICsgKiBAbWF4X3NjYWxlOiBtYXhp bXVtIEBzcmM6QGRlc3Qgc2NhbGluZyBmYWN0b3IgaW4gMTYuMTYgZml4ZWQgcG9pbnQKPiArICog QGNhbl9wb3NpdGlvbjogaXMgaXQgbGVnYWwgdG8gcG9zaXRpb24gdGhlIHBsYW5lIHN1Y2ggdGhh dCBpdAo+ICsgKiAgICAgICAgICAgICAgICBkb2Vzbid0IGNvdmVyIHRoZSBlbnRpcmUgY3J0Yz8g IFRoaXMgd2lsbCBnZW5lcmFsbHkKPiArICogICAgICAgICAgICAgICAgb25seSBiZSBmYWxzZSBm b3IgcHJpbWFyeSBwbGFuZXMuCj4gKyAqIEBjYW5fdXBkYXRlX2Rpc2FibGVkOiBjYW4gdGhlIHBs YW5lIGJlIHVwZGF0ZWQgd2hpbGUgdGhlIGNydGMKPiArICogICAgICAgICAgICAgICAgICAgICAg IGlzIGRpc2FibGVkPwo+ICsgKgo+ICsgKiBDaGVja3MgdGhhdCBhIGRlc2lyZWQgcGxhbmUgdXBk YXRlIGlzIHZhbGlkLCBhbmQgdXBkYXRlcyB2YXJpb3VzCj4gKyAqIGJpdHMgb2YgZGVyaXZlZCBz dGF0ZSAoY2xpcHBlZCBjb29yZGluYXRlcyBldGMuKS4gRHJpdmVycyB0aGF0IHByb3ZpZGUKPiAr ICogdGhlaXIgb3duIHBsYW5lIGhhbmRsaW5nIHJhdGhlciB0aGFuIGhlbHBlci1wcm92aWRlZCBp bXBsZW1lbnRhdGlvbnMgbWF5Cj4gKyAqIHN0aWxsIHdpc2ggdG8gY2FsbCB0aGlzIGZ1bmN0aW9u IHRvIGF2b2lkIGR1cGxpY2F0aW9uIG9mIGVycm9yIGNoZWNraW5nCj4gKyAqIGNvZGUuCj4gKyAq Cj4gKyAqIFJFVFVSTlM6Cj4gKyAqIFplcm8gaWYgdXBkYXRlIGFwcGVhcnMgdmFsaWQsIGVycm9y IGNvZGUgb24gZmFpbHVyZQo+ICsgKi8KPiAraW50IGRybV9hdG9taWNfaGVscGVyX2NoZWNrX3Bs YW5lX3N0YXRlKHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUKPiAqcGxhbmVfc3RhdGUsICsJCQkJCWNv bnN0IHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiArCQkJCQljb25zdCBzdHJ1 Y3QgZHJtX3JlY3QgKmNsaXAsCj4gKwkJCQkJaW50IG1pbl9zY2FsZSwKPiArCQkJCQlpbnQgbWF4 X3NjYWxlLAo+ICsJCQkJCWJvb2wgY2FuX3Bvc2l0aW9uLAo+ICsJCQkJCWJvb2wgY2FuX3VwZGF0 ZV9kaXNhYmxlZCkKPiArewo+ICsJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBwbGFuZV9z dGF0ZS0+ZmI7Cj4gKwlzdHJ1Y3QgZHJtX3JlY3QgKnNyYyA9ICZwbGFuZV9zdGF0ZS0+c3JjOwo+ ICsJc3RydWN0IGRybV9yZWN0ICpkc3QgPSAmcGxhbmVfc3RhdGUtPmRzdDsKPiArCXVuc2lnbmVk IGludCByb3RhdGlvbiA9IHBsYW5lX3N0YXRlLT5yb3RhdGlvbjsKPiArCWludCBoc2NhbGUsIHZz Y2FsZTsKPiArCj4gKwlXQVJOX09OKCFjcnRjX3N0YXRlICE9ICFwbGFuZV9zdGF0ZS0+Y3J0Yyk7 Cj4gKwlXQVJOX09OKGNydGNfc3RhdGUgJiYgY3J0Y19zdGF0ZS0+Y3J0YyAhPSBwbGFuZV9zdGF0 ZS0+Y3J0Yyk7Cj4gKwo+ICsJKnNyYyA9IGRybV9wbGFuZV9zdGF0ZV9zcmMocGxhbmVfc3RhdGUp Owo+ICsJKmRzdCA9IGRybV9wbGFuZV9zdGF0ZV9kZXN0KHBsYW5lX3N0YXRlKTsKPiArCj4gKwlp ZiAoIWZiKSB7Cj4gKwkJcGxhbmVfc3RhdGUtPnZpc2libGUgPSBmYWxzZTsKPiArCQlyZXR1cm4g MDsKPiArCX0KPiArCj4gKwkvKiBjcnRjIHNob3VsZCBvbmx5IGJlIE5VTEwgd2hlbiBkaXNhYmxp bmcgKGkuZS4sICFmYikgKi8KPiArCWlmIChXQVJOX09OKCFwbGFuZV9zdGF0ZS0+Y3J0YykpIHsK PiArCQlwbGFuZV9zdGF0ZS0+dmlzaWJsZSA9IGZhbHNlOwo+ICsJCXJldHVybiAwOwo+ICsJfQo+ ICsKPiArCWlmICghY3J0Y19zdGF0ZS0+ZW5hYmxlICYmICFjYW5fdXBkYXRlX2Rpc2FibGVkKSB7 Cj4gKwkJRFJNX0RFQlVHX0tNUygiQ2Fubm90IHVwZGF0ZSBwbGFuZSBvZiBhIGRpc2FibGVkIENS VEMuXG4iKTsKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCX0KPiArCj4gKwlkcm1fcmVjdF9yb3Rh dGUoc3JjLCBmYi0+d2lkdGggPDwgMTYsIGZiLT5oZWlnaHQgPDwgMTYsIHJvdGF0aW9uKTsKPiAr Cj4gKwkvKiBDaGVjayBzY2FsaW5nICovCj4gKwloc2NhbGUgPSBkcm1fcmVjdF9jYWxjX2hzY2Fs ZShzcmMsIGRzdCwgbWluX3NjYWxlLCBtYXhfc2NhbGUpOwo+ICsJdnNjYWxlID0gZHJtX3JlY3Rf Y2FsY192c2NhbGUoc3JjLCBkc3QsIG1pbl9zY2FsZSwgbWF4X3NjYWxlKTsKPiArCWlmIChoc2Nh bGUgPCAwIHx8IHZzY2FsZSA8IDApIHsKPiArCQlEUk1fREVCVUdfS01TKCJJbnZhbGlkIHNjYWxp bmcgb2YgcGxhbmVcbiIpOwo+ICsJCWRybV9yZWN0X2RlYnVnX3ByaW50KCJzcmM6ICIsICZwbGFu ZV9zdGF0ZS0+c3JjLCB0cnVlKTsKPiArCQlkcm1fcmVjdF9kZWJ1Z19wcmludCgiZHN0OiAiLCAm cGxhbmVfc3RhdGUtPmRzdCwgZmFsc2UpOwo+ICsJCXJldHVybiAtRVJBTkdFOwo+ICsJfQo+ICsK PiArCXBsYW5lX3N0YXRlLT52aXNpYmxlID0gZHJtX3JlY3RfY2xpcF9zY2FsZWQoc3JjLCBkc3Qs IGNsaXAsIGhzY2FsZSwKPiB2c2NhbGUpOyArCj4gKwlkcm1fcmVjdF9yb3RhdGVfaW52KHNyYywg ZmItPndpZHRoIDw8IDE2LCBmYi0+aGVpZ2h0IDw8IDE2LCByb3RhdGlvbik7Cj4gKwo+ICsJaWYg KCFwbGFuZV9zdGF0ZS0+dmlzaWJsZSkKPiArCQkvKgo+ICsJCSAqIFBsYW5lIGlzbid0IHZpc2li bGU7IHNvbWUgZHJpdmVycyBjYW4gaGFuZGxlIHRoaXMKPiArCQkgKiBzbyB3ZSBqdXN0IHJldHVy biBzdWNjZXNzIGhlcmUuICBEcml2ZXJzIHRoYXQgY2FuJ3QKPiArCQkgKiAoaW5jbHVkaW5nIHRo b3NlIHRoYXQgdXNlIHRoZSBwcmltYXJ5IHBsYW5lIGhlbHBlcidzCj4gKwkJICogdXBkYXRlIGZ1 bmN0aW9uKSB3aWxsIHJldHVybiBhbiBlcnJvciBmcm9tIHRoZWlyCj4gKwkJICogdXBkYXRlX3Bs YW5lIGhhbmRsZXIuCj4gKwkJICovCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICsJaWYgKCFjYW5fcG9z aXRpb24gJiYgIWRybV9yZWN0X2VxdWFscyhkc3QsIGNsaXApKSB7Cj4gKwkJRFJNX0RFQlVHX0tN UygiUGxhbmUgbXVzdCBjb3ZlciBlbnRpcmUgQ1JUQ1xuIik7Cj4gKwkJZHJtX3JlY3RfZGVidWdf cHJpbnQoImRzdDogIiwgZHN0LCBmYWxzZSk7Cj4gKwkJZHJtX3JlY3RfZGVidWdfcHJpbnQoImNs aXA6ICIsIGNsaXAsIGZhbHNlKTsKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCX0KPiArCj4gKwly ZXR1cm4gMDsKPiArfQo+ICtFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVyX2NoZWNrX3Bs YW5lX3N0YXRlKTsKPiArCj4gKy8qKgo+ICAgKiBkcm1fYXRvbWljX2hlbHBlcl9jaGVja19wbGFu ZXMgLSB2YWxpZGF0ZSBzdGF0ZSBvYmplY3QgZm9yIHBsYW5lcwo+IGNoYW5nZXMgKiBAZGV2OiBE Uk0gZGV2aWNlCj4gICAqIEBzdGF0ZTogdGhlIGRyaXZlciBzdGF0ZSBvYmplY3QKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZV9oZWxwZXIuYwo+IGIvZHJpdmVycy9ncHUv ZHJtL2RybV9wbGFuZV9oZWxwZXIuYyBpbmRleCBhZGI4ZDk0NDg0ZjIuLmYxYmU4Y2Q0ZTM4Nwo+ IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmVfaGVscGVyLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lX2hlbHBlci5jCj4gQEAgLTEwMCwxMDEgKzEwMCw2 IEBAIHN0YXRpYyBpbnQgZ2V0X2Nvbm5lY3RvcnNfZm9yX2NydGMoc3RydWN0IGRybV9jcnRjCj4g KmNydGMsIH0KPiAKPiAgLyoqCj4gLSAqIGRybV9wbGFuZV9oZWxwZXJfY2hlY2tfc3RhdGUoKSAt IENoZWNrIHBsYW5lIHN0YXRlIGZvciB2YWxpZGl0eQo+IC0gKiBAcGxhbmVfc3RhdGU6IHBsYW5l IHN0YXRlIHRvIGNoZWNrCj4gLSAqIEBjcnRjX3N0YXRlOiBjcnRjIHN0YXRlIHRvIGNoZWNrCj4g LSAqIEBjbGlwOiBpbnRlZ2VyIGNsaXBwaW5nIGNvb3JkaW5hdGVzCj4gLSAqIEBtaW5fc2NhbGU6 IG1pbmltdW0gQHNyYzpAZGVzdCBzY2FsaW5nIGZhY3RvciBpbiAxNi4xNiBmaXhlZCBwb2ludAo+ IC0gKiBAbWF4X3NjYWxlOiBtYXhpbXVtIEBzcmM6QGRlc3Qgc2NhbGluZyBmYWN0b3IgaW4gMTYu MTYgZml4ZWQgcG9pbnQKPiAtICogQGNhbl9wb3NpdGlvbjogaXMgaXQgbGVnYWwgdG8gcG9zaXRp b24gdGhlIHBsYW5lIHN1Y2ggdGhhdCBpdAo+IC0gKiAgICAgICAgICAgICAgICBkb2Vzbid0IGNv dmVyIHRoZSBlbnRpcmUgY3J0Yz8gIFRoaXMgd2lsbCBnZW5lcmFsbHkKPiAtICogICAgICAgICAg ICAgICAgb25seSBiZSBmYWxzZSBmb3IgcHJpbWFyeSBwbGFuZXMuCj4gLSAqIEBjYW5fdXBkYXRl X2Rpc2FibGVkOiBjYW4gdGhlIHBsYW5lIGJlIHVwZGF0ZWQgd2hpbGUgdGhlIGNydGMKPiAtICog ICAgICAgICAgICAgICAgICAgICAgIGlzIGRpc2FibGVkPwo+IC0gKgo+IC0gKiBDaGVja3MgdGhh dCBhIGRlc2lyZWQgcGxhbmUgdXBkYXRlIGlzIHZhbGlkLCBhbmQgdXBkYXRlcyB2YXJpb3VzCj4g LSAqIGJpdHMgb2YgZGVyaXZlZCBzdGF0ZSAoY2xpcHBlZCBjb29yZGluYXRlcyBldGMuKS4gRHJp dmVycyB0aGF0IHByb3ZpZGUKPiAtICogdGhlaXIgb3duIHBsYW5lIGhhbmRsaW5nIHJhdGhlciB0 aGFuIGhlbHBlci1wcm92aWRlZCBpbXBsZW1lbnRhdGlvbnMgbWF5Cj4gLSAqIHN0aWxsIHdpc2gg dG8gY2FsbCB0aGlzIGZ1bmN0aW9uIHRvIGF2b2lkIGR1cGxpY2F0aW9uIG9mIGVycm9yIGNoZWNr aW5nCj4gLSAqIGNvZGUuCj4gLSAqCj4gLSAqIFJFVFVSTlM6Cj4gLSAqIFplcm8gaWYgdXBkYXRl IGFwcGVhcnMgdmFsaWQsIGVycm9yIGNvZGUgb24gZmFpbHVyZQo+IC0gKi8KPiAtaW50IGRybV9w bGFuZV9oZWxwZXJfY2hlY2tfc3RhdGUoc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3Rh dGUsCj4gLQkJCQkgY29uc3Qgc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+IC0J CQkJIGNvbnN0IHN0cnVjdCBkcm1fcmVjdCAqY2xpcCwKPiAtCQkJCSBpbnQgbWluX3NjYWxlLAo+ IC0JCQkJIGludCBtYXhfc2NhbGUsCj4gLQkJCQkgYm9vbCBjYW5fcG9zaXRpb24sCj4gLQkJCQkg Ym9vbCBjYW5fdXBkYXRlX2Rpc2FibGVkKQo+IC17Cj4gLQlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVy ICpmYiA9IHBsYW5lX3N0YXRlLT5mYjsKPiAtCXN0cnVjdCBkcm1fcmVjdCAqc3JjID0gJnBsYW5l X3N0YXRlLT5zcmM7Cj4gLQlzdHJ1Y3QgZHJtX3JlY3QgKmRzdCA9ICZwbGFuZV9zdGF0ZS0+ZHN0 Owo+IC0JdW5zaWduZWQgaW50IHJvdGF0aW9uID0gcGxhbmVfc3RhdGUtPnJvdGF0aW9uOwo+IC0J aW50IGhzY2FsZSwgdnNjYWxlOwo+IC0KPiAtCVdBUk5fT04oIWNydGNfc3RhdGUgIT0gIXBsYW5l X3N0YXRlLT5jcnRjKTsKPiAtCVdBUk5fT04oY3J0Y19zdGF0ZSAmJiBjcnRjX3N0YXRlLT5jcnRj ICE9IHBsYW5lX3N0YXRlLT5jcnRjKTsKPiAtCj4gLQkqc3JjID0gZHJtX3BsYW5lX3N0YXRlX3Ny YyhwbGFuZV9zdGF0ZSk7Cj4gLQkqZHN0ID0gZHJtX3BsYW5lX3N0YXRlX2Rlc3QocGxhbmVfc3Rh dGUpOwo+IC0KPiAtCWlmICghZmIpIHsKPiAtCQlwbGFuZV9zdGF0ZS0+dmlzaWJsZSA9IGZhbHNl Owo+IC0JCXJldHVybiAwOwo+IC0JfQo+IC0KPiAtCS8qIGNydGMgc2hvdWxkIG9ubHkgYmUgTlVM TCB3aGVuIGRpc2FibGluZyAoaS5lLiwgIWZiKSAqLwo+IC0JaWYgKFdBUk5fT04oIXBsYW5lX3N0 YXRlLT5jcnRjKSkgewo+IC0JCXBsYW5lX3N0YXRlLT52aXNpYmxlID0gZmFsc2U7Cj4gLQkJcmV0 dXJuIDA7Cj4gLQl9Cj4gLQo+IC0JaWYgKCFjcnRjX3N0YXRlLT5lbmFibGUgJiYgIWNhbl91cGRh dGVfZGlzYWJsZWQpIHsKPiAtCQlEUk1fREVCVUdfS01TKCJDYW5ub3QgdXBkYXRlIHBsYW5lIG9m IGEgZGlzYWJsZWQgQ1JUQy5cbiIpOwo+IC0JCXJldHVybiAtRUlOVkFMOwo+IC0JfQo+IC0KPiAt CWRybV9yZWN0X3JvdGF0ZShzcmMsIGZiLT53aWR0aCA8PCAxNiwgZmItPmhlaWdodCA8PCAxNiwg cm90YXRpb24pOwo+IC0KPiAtCS8qIENoZWNrIHNjYWxpbmcgKi8KPiAtCWhzY2FsZSA9IGRybV9y ZWN0X2NhbGNfaHNjYWxlKHNyYywgZHN0LCBtaW5fc2NhbGUsIG1heF9zY2FsZSk7Cj4gLQl2c2Nh bGUgPSBkcm1fcmVjdF9jYWxjX3ZzY2FsZShzcmMsIGRzdCwgbWluX3NjYWxlLCBtYXhfc2NhbGUp Owo+IC0JaWYgKGhzY2FsZSA8IDAgfHwgdnNjYWxlIDwgMCkgewo+IC0JCURSTV9ERUJVR19LTVMo IkludmFsaWQgc2NhbGluZyBvZiBwbGFuZVxuIik7Cj4gLQkJZHJtX3JlY3RfZGVidWdfcHJpbnQo InNyYzogIiwgJnBsYW5lX3N0YXRlLT5zcmMsIHRydWUpOwo+IC0JCWRybV9yZWN0X2RlYnVnX3By aW50KCJkc3Q6ICIsICZwbGFuZV9zdGF0ZS0+ZHN0LCBmYWxzZSk7Cj4gLQkJcmV0dXJuIC1FUkFO R0U7Cj4gLQl9Cj4gLQo+IC0JcGxhbmVfc3RhdGUtPnZpc2libGUgPSBkcm1fcmVjdF9jbGlwX3Nj YWxlZChzcmMsIGRzdCwgY2xpcCwgaHNjYWxlLAo+IHZzY2FsZSk7IC0KPiAtCWRybV9yZWN0X3Jv dGF0ZV9pbnYoc3JjLCBmYi0+d2lkdGggPDwgMTYsIGZiLT5oZWlnaHQgPDwgMTYsIHJvdGF0aW9u KTsKPiAtCj4gLQlpZiAoIXBsYW5lX3N0YXRlLT52aXNpYmxlKQo+IC0JCS8qCj4gLQkJICogUGxh bmUgaXNuJ3QgdmlzaWJsZTsgc29tZSBkcml2ZXJzIGNhbiBoYW5kbGUgdGhpcwo+IC0JCSAqIHNv IHdlIGp1c3QgcmV0dXJuIHN1Y2Nlc3MgaGVyZS4gIERyaXZlcnMgdGhhdCBjYW4ndAo+IC0JCSAq IChpbmNsdWRpbmcgdGhvc2UgdGhhdCB1c2UgdGhlIHByaW1hcnkgcGxhbmUgaGVscGVyJ3MKPiAt CQkgKiB1cGRhdGUgZnVuY3Rpb24pIHdpbGwgcmV0dXJuIGFuIGVycm9yIGZyb20gdGhlaXIKPiAt CQkgKiB1cGRhdGVfcGxhbmUgaGFuZGxlci4KPiAtCQkgKi8KPiAtCQlyZXR1cm4gMDsKPiAtCj4g LQlpZiAoIWNhbl9wb3NpdGlvbiAmJiAhZHJtX3JlY3RfZXF1YWxzKGRzdCwgY2xpcCkpIHsKPiAt CQlEUk1fREVCVUdfS01TKCJQbGFuZSBtdXN0IGNvdmVyIGVudGlyZSBDUlRDXG4iKTsKPiAtCQlk cm1fcmVjdF9kZWJ1Z19wcmludCgiZHN0OiAiLCBkc3QsIGZhbHNlKTsKPiAtCQlkcm1fcmVjdF9k ZWJ1Z19wcmludCgiY2xpcDogIiwgY2xpcCwgZmFsc2UpOwo+IC0JCXJldHVybiAtRUlOVkFMOwo+ IC0JfQo+IC0KPiAtCXJldHVybiAwOwo+IC19Cj4gLUVYUE9SVF9TWU1CT0woZHJtX3BsYW5lX2hl bHBlcl9jaGVja19zdGF0ZSk7Cj4gLQo+IC0vKioKPiAgICogZHJtX3BsYW5lX2hlbHBlcl9jaGVj a191cGRhdGUoKSAtIENoZWNrIHBsYW5lIHVwZGF0ZSBmb3IgdmFsaWRpdHkKPiAgICogQHBsYW5l OiBwbGFuZSBvYmplY3QgdG8gdXBkYXRlCj4gICAqIEBjcnRjOiBvd25pbmcgQ1JUQyBvZiBvd25p bmcgcGxhbmUKPiBAQCAtMjU1LDEwICsxNjAsMTAgQEAgaW50IGRybV9wbGFuZV9oZWxwZXJfY2hl Y2tfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUKPiAqcGxhbmUsIH07Cj4gIAlpbnQgcmV0Owo+IAo+ IC0JcmV0ID0gZHJtX3BsYW5lX2hlbHBlcl9jaGVja19zdGF0ZSgmcGxhbmVfc3RhdGUsICZjcnRj X3N0YXRlLCBjbGlwLAo+IC0JCQkJCSAgIG1pbl9zY2FsZSwgbWF4X3NjYWxlLAo+IC0JCQkJCSAg IGNhbl9wb3NpdGlvbiwKPiAtCQkJCQkgICBjYW5fdXBkYXRlX2Rpc2FibGVkKTsKPiArCXJldCA9 IGRybV9hdG9taWNfaGVscGVyX2NoZWNrX3BsYW5lX3N0YXRlKCZwbGFuZV9zdGF0ZSwgJmNydGNf c3RhdGUsCj4gKwkJCQkJCSAgY2xpcCwgbWluX3NjYWxlLCBtYXhfc2NhbGUsCj4gKwkJCQkJCSAg Y2FuX3Bvc2l0aW9uLAo+ICsJCQkJCQkgIGNhbl91cGRhdGVfZGlzYWJsZWQpOwo+ICAJaWYgKHJl dCkKPiAgCQlyZXR1cm4gcmV0Owo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJt X3NpbXBsZV9rbXNfaGVscGVyLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc2ltcGxlX2ttc19o ZWxwZXIuYyBpbmRleCBkNDI4YzgwNTAyNWMuLjlmM2IxYzk0ODAyYgo+IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuYwo+IEBAIC0xMDMsMTAgKzEwMywxMSBAQCBz dGF0aWMgaW50IGRybV9zaW1wbGVfa21zX3BsYW5lX2F0b21pY19jaGVjayhzdHJ1Y3QKPiBkcm1f cGxhbmUgKnBsYW5lLCBjbGlwLngyID0gY3J0Y19zdGF0ZS0+YWRqdXN0ZWRfbW9kZS5oZGlzcGxh eTsKPiAgCWNsaXAueTIgPSBjcnRjX3N0YXRlLT5hZGp1c3RlZF9tb2RlLnZkaXNwbGF5Owo+IAo+ IC0JcmV0ID0gZHJtX3BsYW5lX2hlbHBlcl9jaGVja19zdGF0ZShwbGFuZV9zdGF0ZSwgY3J0Y19z dGF0ZSwgJmNsaXAsCj4gLQkJCQkJICAgRFJNX1BMQU5FX0hFTFBFUl9OT19TQ0FMSU5HLAo+IC0J CQkJCSAgIERSTV9QTEFORV9IRUxQRVJfTk9fU0NBTElORywKPiAtCQkJCQkgICBmYWxzZSwgdHJ1 ZSk7Cj4gKwlyZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9jaGVja19wbGFuZV9zdGF0ZShwbGFuZV9z dGF0ZSwgY3J0Y19zdGF0ZSwKPiArCQkJCQkJICAmY2xpcCwKPiArCQkJCQkJICBEUk1fUExBTkVf SEVMUEVSX05PX1NDQUxJTkcsCj4gKwkJCQkJCSAgRFJNX1BMQU5FX0hFTFBFUl9OT19TQ0FMSU5H LAo+ICsJCQkJCQkgIGZhbHNlLCB0cnVlKTsKPiAgCWlmIChyZXQpCj4gIAkJcmV0dXJuIHJldDsK PiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4g Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgaW5kZXggNGE0NTk3MjZiMzZi Li5lMGZmNTk5ZDIwOTAKPiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK PiBAQCAtOTMxNiwxMiArOTMxNiwxMiBAQCBzdGF0aWMgaW50IGludGVsX2NoZWNrX2N1cnNvcihz dHJ1Y3QKPiBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLCB1MzIgb2Zmc2V0Owo+ICAJaW50 IHJldDsKPiAKPiAtCXJldCA9IGRybV9wbGFuZV9oZWxwZXJfY2hlY2tfc3RhdGUoJnBsYW5lX3N0 YXRlLT5iYXNlLAo+IC0JCQkJCSAgICZjcnRjX3N0YXRlLT5iYXNlLAo+IC0JCQkJCSAgICZwbGFu ZV9zdGF0ZS0+Y2xpcCwKPiAtCQkJCQkgICBEUk1fUExBTkVfSEVMUEVSX05PX1NDQUxJTkcsCj4g LQkJCQkJICAgRFJNX1BMQU5FX0hFTFBFUl9OT19TQ0FMSU5HLAo+IC0JCQkJCSAgIHRydWUsIHRy dWUpOwo+ICsJcmV0ID0gZHJtX2F0b21pY19oZWxwZXJfY2hlY2tfcGxhbmVfc3RhdGUoJnBsYW5l X3N0YXRlLT5iYXNlLAo+ICsJCQkJCQkgICZjcnRjX3N0YXRlLT5iYXNlLAo+ICsJCQkJCQkgICZw bGFuZV9zdGF0ZS0+Y2xpcCwKPiArCQkJCQkJICBEUk1fUExBTkVfSEVMUEVSX05PX1NDQUxJTkcs Cj4gKwkJCQkJCSAgRFJNX1BMQU5FX0hFTFBFUl9OT19TQ0FMSU5HLAo+ICsJCQkJCQkgIHRydWUs IHRydWUpOwo+ICAJaWYgKHJldCkKPiAgCQlyZXR1cm4gcmV0Owo+IAo+IEBAIC0xMjgwOCwxMSAr MTI4MDgsMTEgQEAgaW50ZWxfY2hlY2tfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgaW50ZWxfcGxhbmUK PiAqcGxhbmUsIGNhbl9wb3NpdGlvbiA9IHRydWU7Cj4gIAl9Cj4gCj4gLQlyZXQgPSBkcm1fcGxh bmVfaGVscGVyX2NoZWNrX3N0YXRlKCZzdGF0ZS0+YmFzZSwKPiAtCQkJCQkgICAmY3J0Y19zdGF0 ZS0+YmFzZSwKPiAtCQkJCQkgICAmc3RhdGUtPmNsaXAsCj4gLQkJCQkJICAgbWluX3NjYWxlLCBt YXhfc2NhbGUsCj4gLQkJCQkJICAgY2FuX3Bvc2l0aW9uLCB0cnVlKTsKPiArCXJldCA9IGRybV9h dG9taWNfaGVscGVyX2NoZWNrX3BsYW5lX3N0YXRlKCZzdGF0ZS0+YmFzZSwKPiArCQkJCQkJICAm Y3J0Y19zdGF0ZS0+YmFzZSwKPiArCQkJCQkJICAmc3RhdGUtPmNsaXAsCj4gKwkJCQkJCSAgbWlu X3NjYWxlLCBtYXhfc2NhbGUsCj4gKwkJCQkJCSAgY2FuX3Bvc2l0aW9uLCB0cnVlKTsKPiAgCWlm IChyZXQpCj4gIAkJcmV0dXJuIHJldDsKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2lteC9pcHV2My1wbGFuZS5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLXBsYW5lLmMg aW5kZXggNTFiMjNhYzE3NWUzLi41YTY3ZGFlZGNmNGQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2lteC9pcHV2My1wbGFuZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2 My1wbGFuZS5jCj4gQEAgLTM0MiwxMCArMzQyLDEwIEBAIHN0YXRpYyBpbnQgaXB1X3BsYW5lX2F0 b21pY19jaGVjayhzdHJ1Y3QgZHJtX3BsYW5lCj4gKnBsYW5lLCBjbGlwLnkxID0gMDsKPiAgCWNs aXAueDIgPSBjcnRjX3N0YXRlLT5hZGp1c3RlZF9tb2RlLmhkaXNwbGF5Owo+ICAJY2xpcC55MiA9 IGNydGNfc3RhdGUtPmFkanVzdGVkX21vZGUudmRpc3BsYXk7Cj4gLQlyZXQgPSBkcm1fcGxhbmVf aGVscGVyX2NoZWNrX3N0YXRlKHN0YXRlLCBjcnRjX3N0YXRlLCAmY2xpcCwKPiAtCQkJCQkgICBE Uk1fUExBTkVfSEVMUEVSX05PX1NDQUxJTkcsCj4gLQkJCQkJICAgRFJNX1BMQU5FX0hFTFBFUl9O T19TQ0FMSU5HLAo+IC0JCQkJCSAgIGNhbl9wb3NpdGlvbiwgdHJ1ZSk7Cj4gKwlyZXQgPSBkcm1f YXRvbWljX2hlbHBlcl9jaGVja19wbGFuZV9zdGF0ZShzdGF0ZSwgY3J0Y19zdGF0ZSwgJmNsaXAs Cj4gKwkJCQkJCSAgRFJNX1BMQU5FX0hFTFBFUl9OT19TQ0FMSU5HLAo+ICsJCQkJCQkgIERSTV9Q TEFORV9IRUxQRVJfTk9fU0NBTElORywKPiArCQkJCQkJICBjYW5fcG9zaXRpb24sIHRydWUpOwo+ ICAJaWYgKHJldCkKPiAgCQlyZXR1cm4gcmV0Owo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9wbGFuZS5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2RybV9wbGFuZS5jIGluZGV4IDdlYmIzMzY1NzcwNC4uNWVmODk4YjkzZDhkCj4gMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fcGxhbmUuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX3BsYW5lLmMKPiBAQCAtMTExLDEw ICsxMTEsMTAgQEAgc3RhdGljIGludCBtdGtfcGxhbmVfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1f cGxhbmUKPiAqcGxhbmUsIGNsaXAueDIgPSBjcnRjX3N0YXRlLT5tb2RlLmhkaXNwbGF5Owo+ICAJ Y2xpcC55MiA9IGNydGNfc3RhdGUtPm1vZGUudmRpc3BsYXk7Cj4gCj4gLQlyZXR1cm4gZHJtX3Bs YW5lX2hlbHBlcl9jaGVja19zdGF0ZShzdGF0ZSwgY3J0Y19zdGF0ZSwgJmNsaXAsCj4gLQkJCQkJ ICAgIERSTV9QTEFORV9IRUxQRVJfTk9fU0NBTElORywKPiAtCQkJCQkgICAgRFJNX1BMQU5FX0hF TFBFUl9OT19TQ0FMSU5HLAo+IC0JCQkJCSAgICB0cnVlLCB0cnVlKTsKPiArCXJldHVybiBkcm1f YXRvbWljX2hlbHBlcl9jaGVja19wbGFuZV9zdGF0ZShzdGF0ZSwgY3J0Y19zdGF0ZSwgJmNsaXAs Cj4gKwkJCQkJCSAgIERSTV9QTEFORV9IRUxQRVJfTk9fU0NBTElORywKPiArCQkJCQkJICAgRFJN X1BMQU5FX0hFTFBFUl9OT19TQ0FMSU5HLAo+ICsJCQkJCQkgICB0cnVlLCB0cnVlKTsKPiAgfQo+ IAo+ICBzdGF0aWMgdm9pZCBtdGtfcGxhbmVfYXRvbWljX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lc29uL21lc29uX3BsYW5l LmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9wbGFuZS5jIGluZGV4IDJhMDBiNzIw YzM3MS4uZDBhNmFjODM5MGYzCj4gMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lc29u L21lc29uX3BsYW5lLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fcGxhbmUu Ywo+IEBAIC02MSwxMCArNjEsMTAgQEAgc3RhdGljIGludCBtZXNvbl9wbGFuZV9hdG9taWNfY2hl Y2soc3RydWN0IGRybV9wbGFuZQo+ICpwbGFuZSwgY2xpcC54MiA9IGNydGNfc3RhdGUtPm1vZGUu aGRpc3BsYXk7Cj4gIAljbGlwLnkyID0gY3J0Y19zdGF0ZS0+bW9kZS52ZGlzcGxheTsKPiAKPiAt CXJldHVybiBkcm1fcGxhbmVfaGVscGVyX2NoZWNrX3N0YXRlKHN0YXRlLCBjcnRjX3N0YXRlLCAm Y2xpcCwKPiAtCQkJCQkgICAgRFJNX1BMQU5FX0hFTFBFUl9OT19TQ0FMSU5HLAo+IC0JCQkJCSAg ICBEUk1fUExBTkVfSEVMUEVSX05PX1NDQUxJTkcsCj4gLQkJCQkJICAgIHRydWUsIHRydWUpOwo+ ICsJcmV0dXJuIGRybV9hdG9taWNfaGVscGVyX2NoZWNrX3BsYW5lX3N0YXRlKHN0YXRlLCBjcnRj X3N0YXRlLCAmY2xpcCwKPiArCQkJCQkJICAgRFJNX1BMQU5FX0hFTFBFUl9OT19TQ0FMSU5HLAo+ ICsJCQkJCQkgICBEUk1fUExBTkVfSEVMUEVSX05PX1NDQUxJTkcsCj4gKwkJCQkJCSAgIHRydWUs IHRydWUpOwo+ICB9Cj4gCj4gIC8qIFRha2VzIGEgZml4ZWQgMTYuMTYgbnVtYmVyIGFuZCBjb252 ZXJ0cyBpdCB0byBpbnRlZ2VyLiAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNt L21kcC9tZHA1L21kcDVfcGxhbmUuYwo+IGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9t ZHA1X3BsYW5lLmMgaW5kZXgKPiAxYzE5NGE5NDUzZDkuLmRmMzM2MGFjYWNjYSAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfcGxhbmUuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9wbGFuZS5jCj4gQEAgLTM0OCw4ICszNDgs OSBAQCBzdGF0aWMgaW50IG1kcDVfcGxhbmVfYXRvbWljX2NoZWNrX3dpdGhfc3RhdGUoc3RydWN0 Cj4gZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsIG1pbl9zY2FsZSA9IEZSQUNfMTZfMTYoMSwg OCk7Cj4gIAltYXhfc2NhbGUgPSBGUkFDXzE2XzE2KDgsIDEpOwo+IAo+IC0JcmV0ID0gZHJtX3Bs YW5lX2hlbHBlcl9jaGVja19zdGF0ZShzdGF0ZSwgY3J0Y19zdGF0ZSwgJmNsaXAsCj4gLQkJCQkJ ICAgbWluX3NjYWxlLCBtYXhfc2NhbGUsIHRydWUsIHRydWUpOwo+ICsJcmV0ID0gZHJtX2F0b21p Y19oZWxwZXJfY2hlY2tfcGxhbmVfc3RhdGUoc3RhdGUsIGNydGNfc3RhdGUsICZjbGlwLAo+ICsJ CQkJCQkgIG1pbl9zY2FsZSwgbWF4X3NjYWxlLAo+ICsJCQkJCQkgIHRydWUsIHRydWUpOwo+ICAJ aWYgKHJldCkKPiAgCQlyZXR1cm4gcmV0Owo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vbm91dmVhdS9udjUwX2Rpc3BsYXkuYwo+IGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnY1 MF9kaXNwbGF5LmMgaW5kZXggN2YxMWE4OGQwNTkzLi44YWIwZmFjMzU0NGQKPiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udjUwX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZGlzcGxheS5jCj4gQEAgLTExNDMsMTEgKzExNDMsMTEg QEAgbnY1MF9jdXJzX2FjcXVpcmUoc3RydWN0IG52NTBfd25kdyAqd25kdywgc3RydWN0Cj4gbnY1 MF93bmR3X2F0b20gKmFzeXcsIHsKPiAgCWludCByZXQ7Cj4gCj4gLQlyZXQgPSBkcm1fcGxhbmVf aGVscGVyX2NoZWNrX3N0YXRlKCZhc3l3LT5zdGF0ZSwgJmFzeWgtPnN0YXRlLAo+IC0JCQkJCSAg ICZhc3l3LT5jbGlwLAo+IC0JCQkJCSAgIERSTV9QTEFORV9IRUxQRVJfTk9fU0NBTElORywKPiAt CQkJCQkgICBEUk1fUExBTkVfSEVMUEVSX05PX1NDQUxJTkcsCj4gLQkJCQkJICAgdHJ1ZSwgdHJ1 ZSk7Cj4gKwlyZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9jaGVja19wbGFuZV9zdGF0ZSgmYXN5dy0+ c3RhdGUsICZhc3loLT5zdGF0ZSwKPiArCQkJCQkJICAmYXN5dy0+Y2xpcCwKPiArCQkJCQkJICBE Uk1fUExBTkVfSEVMUEVSX05PX1NDQUxJTkcsCj4gKwkJCQkJCSAgRFJNX1BMQU5FX0hFTFBFUl9O T19TQ0FMSU5HLAo+ICsJCQkJCQkgIHRydWUsIHRydWUpOwo+ICAJYXN5aC0+Y3Vycy52aXNpYmxl ID0gYXN5dy0+c3RhdGUudmlzaWJsZTsKPiAgCWlmIChyZXQgfHwgIWFzeWgtPmN1cnMudmlzaWJs ZSkKPiAgCQlyZXR1cm4gcmV0Owo+IEBAIC0xNDMzLDExICsxNDMzLDExIEBAIG52NTBfYmFzZV9h Y3F1aXJlKHN0cnVjdCBudjUwX3duZHcgKnduZHcsIHN0cnVjdAo+IG52NTBfd25kd19hdG9tICph c3l3LCBpZiAoIWZiLT5mb3JtYXQtPmRlcHRoKQo+ICAJCXJldHVybiAtRUlOVkFMOwo+IAo+IC0J cmV0ID0gZHJtX3BsYW5lX2hlbHBlcl9jaGVja19zdGF0ZSgmYXN5dy0+c3RhdGUsICZhc3loLT5z dGF0ZSwKPiAtCQkJCQkgICAmYXN5dy0+Y2xpcCwKPiAtCQkJCQkgICBEUk1fUExBTkVfSEVMUEVS X05PX1NDQUxJTkcsCj4gLQkJCQkJICAgRFJNX1BMQU5FX0hFTFBFUl9OT19TQ0FMSU5HLAo+IC0J CQkJCSAgIGZhbHNlLCB0cnVlKTsKPiArCXJldCA9IGRybV9hdG9taWNfaGVscGVyX2NoZWNrX3Bs YW5lX3N0YXRlKCZhc3l3LT5zdGF0ZSwgJmFzeWgtPnN0YXRlLAo+ICsJCQkJCQkgICZhc3l3LT5j bGlwLAo+ICsJCQkJCQkgIERSTV9QTEFORV9IRUxQRVJfTk9fU0NBTElORywKPiArCQkJCQkJICBE Uk1fUExBTkVfSEVMUEVSX05PX1NDQUxJTkcsCj4gKwkJCQkJCSAgZmFsc2UsIHRydWUpOwo+ICAJ aWYgKHJldCkKPiAgCQlyZXR1cm4gcmV0Owo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2No aXAvcm9ja2NoaXBfZHJtX3ZvcC5jIGluZGV4Cj4gMzZkMGYxMDFlMzBkLi5iYTc1MDUyOTJiNzgg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3Au Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMKPiBA QCAtNjU5LDkgKzY1OSw5IEBAIHN0YXRpYyBpbnQgdm9wX3BsYW5lX2F0b21pY19jaGVjayhzdHJ1 Y3QgZHJtX3BsYW5lCj4gKnBsYW5lLCBjbGlwLngyID0gY3J0Y19zdGF0ZS0+YWRqdXN0ZWRfbW9k ZS5oZGlzcGxheTsKPiAgCWNsaXAueTIgPSBjcnRjX3N0YXRlLT5hZGp1c3RlZF9tb2RlLnZkaXNw bGF5Owo+IAo+IC0JcmV0ID0gZHJtX3BsYW5lX2hlbHBlcl9jaGVja19zdGF0ZShzdGF0ZSwgY3J0 Y19zdGF0ZSwgJmNsaXAsCj4gLQkJCQkJICAgbWluX3NjYWxlLCBtYXhfc2NhbGUsCj4gLQkJCQkJ ICAgdHJ1ZSwgdHJ1ZSk7Cj4gKwlyZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9jaGVja19wbGFuZV9z dGF0ZShzdGF0ZSwgY3J0Y19zdGF0ZSwgJmNsaXAsCj4gKwkJCQkJCSAgbWluX3NjYWxlLCBtYXhf c2NhbGUsCj4gKwkJCQkJCSAgdHJ1ZSwgdHJ1ZSk7Cj4gIAlpZiAocmV0KQo+ICAJCXJldHVybiBy ZXQ7Cj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jIGIvZHJpdmVy cy9ncHUvZHJtL3RlZ3JhL2RjLmMKPiBpbmRleCBlOTVkOWUyYTdmNmMuLmZjNzAzNTFiOTAxNyAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS90ZWdyYS9kYy5jCj4gQEAgLTQ5MSw4ICs0OTEsOCBAQCBzdGF0aWMgaW50IHRlZ3Jh X3BsYW5lX3N0YXRlX2FkZChzdHJ1Y3QgdGVncmFfcGxhbmUKPiAqcGxhbmUsIGNsaXAueTIgPSBj cnRjX3N0YXRlLT5tb2RlLnZkaXNwbGF5Owo+IAo+ICAJLyogQ2hlY2sgcGxhbmUgc3RhdGUgZm9y IHZpc2liaWxpdHkgYW5kIGNhbGN1bGF0ZSBjbGlwcGluZyBib3VuZHMgKi8KPiAtCWVyciA9IGRy bV9wbGFuZV9oZWxwZXJfY2hlY2tfc3RhdGUoc3RhdGUsIGNydGNfc3RhdGUsICZjbGlwLAo+IC0J CQkJCSAgIDAsIElOVF9NQVgsIHRydWUsIHRydWUpOwo+ICsJZXJyID0gZHJtX2F0b21pY19oZWxw ZXJfY2hlY2tfcGxhbmVfc3RhdGUoc3RhdGUsIGNydGNfc3RhdGUsICZjbGlwLAo+ICsJCQkJCQkg IDAsIElOVF9NQVgsIHRydWUsIHRydWUpOwo+ICAJaWYgKGVyciA8IDApCj4gIAkJcmV0dXJuIGVy cjsKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmMK PiBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5jIGluZGV4IGQ5NWU3YjFjM2Ix MS4uYTJhOTNkN2UyYTA0Cj4gMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92 bXdnZnhfa21zLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYwo+ IEBAIC00NTQsMTAgKzQ1NCwxMCBAQCBpbnQgdm13X2R1X3ByaW1hcnlfcGxhbmVfYXRvbWljX2No ZWNrKHN0cnVjdCBkcm1fcGxhbmUKPiAqcGxhbmUsIGNsaXAueTIgPSBjcnRjX3N0YXRlLT5hZGp1 c3RlZF9tb2RlLnZkaXNwbGF5Owo+ICAJfQo+IAo+IC0JcmV0ID0gZHJtX3BsYW5lX2hlbHBlcl9j aGVja19zdGF0ZShzdGF0ZSwgY3J0Y19zdGF0ZSwgJmNsaXAsCj4gLQkJCQkJICAgRFJNX1BMQU5F X0hFTFBFUl9OT19TQ0FMSU5HLAo+IC0JCQkJCSAgIERSTV9QTEFORV9IRUxQRVJfTk9fU0NBTElO RywKPiAtCQkJCQkgICBmYWxzZSwgdHJ1ZSk7Cj4gKwlyZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9j aGVja19wbGFuZV9zdGF0ZShzdGF0ZSwgY3J0Y19zdGF0ZSwgJmNsaXAsCj4gKwkJCQkJCSAgRFJN X1BMQU5FX0hFTFBFUl9OT19TQ0FMSU5HLAo+ICsJCQkJCQkgIERSTV9QTEFORV9IRUxQRVJfTk9f U0NBTElORywKPiArCQkJCQkJICBmYWxzZSwgdHJ1ZSk7Cj4gCj4gIAlpZiAoIXJldCAmJiBuZXdf ZmIpIHsKPiAgCQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBzdGF0ZS0+Y3J0YzsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL3p0 ZS96eF9wbGFuZS5jCj4gaW5kZXggZWUwMDAyNTI5YjhmLi42OGZkMmUyZGM3OGEgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9wbGFuZS5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL3p0ZS96eF9wbGFuZS5jCj4gQEAgLTgwLDkgKzgwLDkgQEAgc3RhdGljIGludCB6eF92bF9w bGFuZV9hdG9taWNfY2hlY2soc3RydWN0IGRybV9wbGFuZQo+ICpwbGFuZSwgY2xpcC54MiA9IGNy dGNfc3RhdGUtPmFkanVzdGVkX21vZGUuaGRpc3BsYXk7Cj4gIAljbGlwLnkyID0gY3J0Y19zdGF0 ZS0+YWRqdXN0ZWRfbW9kZS52ZGlzcGxheTsKPiAKPiAtCXJldHVybiBkcm1fcGxhbmVfaGVscGVy X2NoZWNrX3N0YXRlKHBsYW5lX3N0YXRlLCBjcnRjX3N0YXRlLCAmY2xpcCwKPiAtCQkJCQkgICAg bWluX3NjYWxlLCBtYXhfc2NhbGUsCj4gLQkJCQkJICAgIHRydWUsIHRydWUpOwo+ICsJcmV0dXJu IGRybV9hdG9taWNfaGVscGVyX2NoZWNrX3BsYW5lX3N0YXRlKHBsYW5lX3N0YXRlLCBjcnRjX3N0 YXRlLAo+ICsJCQkJCQkgICAmY2xpcCwgbWluX3NjYWxlLCBtYXhfc2NhbGUsCj4gKwkJCQkJCSAg IHRydWUsIHRydWUpOwo+ICB9Cj4gCj4gIHN0YXRpYyBpbnQgenhfdmxfZ2V0X2ZtdCh1aW50MzJf dCBmb3JtYXQpCj4gQEAgLTMxNSwxMCArMzE1LDExIEBAIHN0YXRpYyBpbnQgenhfZ2xfcGxhbmVf YXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fcGxhbmUKPiAqcGxhbmUsIGNsaXAueDIgPSBjcnRjX3N0 YXRlLT5hZGp1c3RlZF9tb2RlLmhkaXNwbGF5Owo+ICAJY2xpcC55MiA9IGNydGNfc3RhdGUtPmFk anVzdGVkX21vZGUudmRpc3BsYXk7Cj4gCj4gLQlyZXR1cm4gZHJtX3BsYW5lX2hlbHBlcl9jaGVj a19zdGF0ZShwbGFuZV9zdGF0ZSwgY3J0Y19zdGF0ZSwgJmNsaXAsCj4gLQkJCQkJICAgIERSTV9Q TEFORV9IRUxQRVJfTk9fU0NBTElORywKPiAtCQkJCQkgICAgRFJNX1BMQU5FX0hFTFBFUl9OT19T Q0FMSU5HLAo+IC0JCQkJCSAgICBmYWxzZSwgdHJ1ZSk7Cj4gKwlyZXR1cm4gZHJtX2F0b21pY19o ZWxwZXJfY2hlY2tfcGxhbmVfc3RhdGUocGxhbmVfc3RhdGUsIGNydGNfc3RhdGUsCj4gKwkJCQkJ CSAgICZjbGlwLAo+ICsJCQkJCQkgICBEUk1fUExBTkVfSEVMUEVSX05PX1NDQUxJTkcsCj4gKwkJ CQkJCSAgIERSTV9QTEFORV9IRUxQRVJfTk9fU0NBTElORywKPiArCQkJCQkJICAgZmFsc2UsIHRy dWUpOwo+ICB9Cj4gCj4gIHN0YXRpYyBpbnQgenhfZ2xfZ2V0X2ZtdCh1aW50MzJfdCBmb3JtYXQp Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmgKPiBiL2luY2x1 ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmggaW5kZXggZDJiNTZjYzY1N2U5Li40ODQyZWU5NDg1 Y2UgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pY19oZWxwZXIuaAo+ICsrKyBi L2luY2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmgKPiBAQCAtMzgsNiArMzgsMTMgQEAgc3Ry dWN0IGRybV9wcml2YXRlX3N0YXRlOwo+IAo+ICBpbnQgZHJtX2F0b21pY19oZWxwZXJfY2hlY2tf bW9kZXNldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJCQkJc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnN0YXRlKTsKPiAraW50IGRybV9hdG9taWNfaGVscGVyX2NoZWNrX3BsYW5lX3N0YXRl KHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUKPiAqcGxhbmVfc3RhdGUsICsJCQkJCWNvbnN0IHN0cnVj dCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiArCQkJCQljb25zdCBzdHJ1Y3QgZHJtX3Jl Y3QgKmNsaXAsCj4gKwkJCQkJaW50IG1pbl9zY2FsZSwKPiArCQkJCQlpbnQgbWF4X3NjYWxlLAo+ ICsJCQkJCWJvb2wgY2FuX3Bvc2l0aW9uLAo+ICsJCQkJCWJvb2wgY2FuX3VwZGF0ZV9kaXNhYmxl ZCk7Cj4gIGludCBkcm1fYXRvbWljX2hlbHBlcl9jaGVja19wbGFuZXMoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPiAgCQkJICAgICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7Cj4g IGludCBkcm1fYXRvbWljX2hlbHBlcl9jaGVjayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IGRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fcGxhbmVfaGVscGVyLmggYi9pbmNsdWRlL2RybS9k cm1fcGxhbmVfaGVscGVyLmgKPiBpbmRleCA0MWI4MzA5YjBhNTcuLjhhYTQ5YzBlY2Q0ZCAxMDA2 NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fcGxhbmVfaGVscGVyLmgKPiArKysgYi9pbmNsdWRl L2RybS9kcm1fcGxhbmVfaGVscGVyLmgKPiBAQCAtMzgsMTIgKzM4LDYgQEAKPiAgICovCj4gICNk ZWZpbmUgRFJNX1BMQU5FX0hFTFBFUl9OT19TQ0FMSU5HICgxPDwxNikKPiAKPiAtaW50IGRybV9w bGFuZV9oZWxwZXJfY2hlY2tfc3RhdGUoc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3Rh dGUsCj4gLQkJCQkgY29uc3Qgc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+IC0J CQkJIGNvbnN0IHN0cnVjdCBkcm1fcmVjdCAqY2xpcCwKPiAtCQkJCSBpbnQgbWluX3NjYWxlLCBp bnQgbWF4X3NjYWxlLAo+IC0JCQkJIGJvb2wgY2FuX3Bvc2l0aW9uLAo+IC0JCQkJIGJvb2wgY2Fu X3VwZGF0ZV9kaXNhYmxlZCk7Cj4gIGludCBkcm1fcGxhbmVfaGVscGVyX2NoZWNrX3VwZGF0ZShz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAgCQkJCSAgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ ICAJCQkJICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKCgotLSAKUmVnYXJkcywKCkxhdXJl bnQgUGluY2hhcnQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bAo=