From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v9 08/24] drm/i915/dp: Compute DSC pipe config in atomic check Date: Mon, 19 Nov 2018 22:11:04 +0200 Message-ID: <20181119201104.GL9144@intel.com> References: <20181114015232.21952-1-manasi.d.navare@intel.com> <20181114015232.21952-9-manasi.d.navare@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20181114015232.21952-9-manasi.d.navare@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Manasi Navare Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBOb3YgMTMsIDIwMTggYXQgMDU6NTI6MTZQTSAtMDgwMCwgTWFuYXNpIE5hdmFyZSB3 cm90ZToKPiBEU0MgcGFyYW1zIGxpa2UgdGhlIGVuYWJsZSwgY29tcHJlc3NlZCBicHAsIHNsaWNl IGNvdW50IGFuZAo+IGRzY19zcGxpdCBhcmUgYWRkZWQgdG8gdGhlIGludGVsX2NydGNfc3RhdGUu IFRoZXNlIHBhcmFtZXRlcnMKPiBhcmUgc2V0IGJhc2VkIG9uIHRoZSByZXF1ZXN0ZWQgbW9kZSBh bmQgYXZhaWxhYmxlIGxpbmsgcGFyYW1ldGVycwo+IGR1cmluZyB0aGUgcGlwZSBjb25maWd1cmF0 aW9uIGluIGF0b21pYyBjaGVjayBwaGFzZS4KPiBUaGVzZSB2YWx1ZXMgYXJlIHRoZW4gbGF0ZXIg dXNlZCB0byBwb3B1bGF0ZSB0aGUgcmVtYWluaW5nIERTQwo+IGFuZCBSQyBwYXJhbWV0ZXJzIGJl Zm9yZSBlbmJhbGluZyBEU0MgaW4gYXRvbWljIGNvbW1pdC4KPiAKPiB2MTM6Cj4gKiBDb21wdXRl IERTQyBicGMgb25seSB3aGVuIERTQyBpcyByZXEgdG8gYmUgZW5hYmxlZCAoVmlsbGUpCj4gdjEy Ogo+ICogT3ZlcnJpZGUgYnBwIHdpdGggZHNjIGRwY2QgY29sb3IgZGVwdGggKE1hbmFzaSkKPiB2 MTE6Cj4gKiBDb25zdCBjcnRjX3N0YXRlLCByZWplY3QgRFNDIG9uIERQIHdpdGhvdXQgRkVDIChW aWxsZSkKPiAqIERvbnQgc2V0IGRzY19zcGxpdCB0byBmYWxzZSAoVmlsbGUpCj4gdjEwOgo+ICog QWRkIGEgaGVscGVyIGZvciBkcF9kc2Mgc3VwcG9ydCAoVmlsbGUpCj4gKiBTZXQgcGlwZV9jb25m aWcgdG8gbWF4IGJwcCwgbGluayBwYXJhbXMgZm9yIERTQyBmb3Igbm93IChWaWxsZSkKPiAqIENv bXB1dGUgYnBwIC0gdXNlIGRwIGRzYyBzdXBwb3J0IGhlbHBlciAoVmlsbGUpCj4gdjk6Cj4gKiBS ZWJhc2Ugb24gdG9wIG9mIGRybS10aXAgdGhhdCBub3cgdXNlcyBmYXN0X25hcnJvdyBjb25maWcK PiBmb3IgZWRwIChNYW5hc2kpCj4gdjg6Cj4gKiBDaGVjayBmb3IgRFNDIGJwYyBub3QgMCAobWFu YXNpKQo+IAo+IHY3Ogo+ICogRml4IGluZGVudGF0aW9uIGluIGNvbXB1dGVfbV9uIChNYW5hc2kp Cj4gCj4gdjYgKEZyb20gR2F1cmF2KToKPiAqIFJlbW92ZSBmdW5jdGlvbiBjYWxsIG9mIGludGVs X2RwX2NvbXB1dGVfZHNjX3BhcmFtcygpIGFuZAo+IGludm9rZSBpbnRlbF9kcF9jb21wdXRlX2Rz Y19wYXJhbXMoKSBpbiB0aGUgcGF0Y2ggd2hlcmUKPiBpdCBpcyBkZWZpbmVkIHRvIGZpeCBjb21w aWxhdGlvbiB3YXJuaW5nIChHYXVyYXYpCj4gCj4gdjU6Cj4gQWRkIGRybV9kc2NfY2ZnIGluIGlu dGVsX2NydGNfc3RhdGUgKE1hbmFzaSkKPiAKPiB2NDoKPiAqIFJlYmFzZSBvbiByZWZhY3Rvcmlu ZyBvZiBpbnRlbF9kcF9jb21wdXRlX2NvbmZpZyBvbiB0aXAgKE1hbmFzaSkKPiAqIEFkZCBhIGNv bW1lbnQgd2h5IHdlIG5lZWQgdG8gY2hlY2sgUFNSIHdoaWxlIGVuYWJsaW5nIERTQyAoR2F1cmF2 KQo+IAo+IHYzOgo+ICogQ2hlY2sgUFBSID4gbWF4X2NkY2xvY2sgdG8gdXNlIDIgVkRTQyBpbnN0 YW5jZXMgKFZpbGxlKQo+IAo+IHYyOgo+ICogQWRkIGlmLWVsc2UgZm9yIGVEUC9EUCAoR2F1cmF2 KQo+IAo+IENjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAbGludXguaW50ZWwuY29tPgo+IENj OiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiBDYzogQW51 c2hhIFNyaXZhdHNhIDxhbnVzaGEuc3JpdmF0c2FAaW50ZWwuY29tPgo+IENjOiBHYXVyYXYgSyBT aW5naCA8Z2F1cmF2Lmsuc2luZ2hAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IE1hbmFzaSBO YXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+Cj4gUmV2aWV3ZWQtYnk6IEFudXNoYSBT cml2YXRzYSA8YW51c2hhLnNyaXZhdHNhQGludGVsLmNvbT4KPiBBY2tlZC1ieTogSmFuaSBOaWt1 bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgIDIwICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmggfCAgIDMgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAu YyAgICAgIHwgMTg3ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcF9tc3QuYyAgfCAgIDIgKy0KPiAgNCBmaWxlcyBjaGFuZ2VkLCAxODQg aW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwo+IGluZGV4IDEzMmU5NzgyMjdmYi4uMzkwYzRiMzk3MGRiIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC02NDgzLDcgKzY0ODMsNyBAQCBzdGF0 aWMgaW50IGlyb25sYWtlX2ZkaV9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YywKPiAgCj4gIAlwaXBlX2NvbmZpZy0+ZmRpX2xhbmVzID0gbGFuZTsKPiAgCj4gLQlp bnRlbF9saW5rX2NvbXB1dGVfbV9uKHBpcGVfY29uZmlnLT5waXBlX2JwcCwgbGFuZSwgZmRpX2Rv dGNsb2NrLAo+ICsJaW50ZWxfbGlua19jb21wdXRlX21fbihwaXBlX2NvbmZpZy0+cGlwZV9icHAs IDAsIGxhbmUsIGZkaV9kb3RjbG9jaywKPiAgCQkJICAgICAgIGxpbmtfYncsICZwaXBlX2NvbmZp Zy0+ZmRpX21fbiwgZmFsc2UpOwo+ICAKPiAgCXJldCA9IGlyb25sYWtlX2NoZWNrX2ZkaV9sYW5l cyhkZXYsIGludGVsX2NydGMtPnBpcGUsIHBpcGVfY29uZmlnKTsKPiBAQCAtNjcyMywxNyArNjcy MywyNSBAQCBzdGF0aWMgdm9pZCBjb21wdXRlX21fbih1bnNpZ25lZCBpbnQgbSwgdW5zaWduZWQg aW50IG4sCj4gIH0KPiAgCj4gIHZvaWQKPiAtaW50ZWxfbGlua19jb21wdXRlX21fbihpbnQgYml0 c19wZXJfcGl4ZWwsIGludCBubGFuZXMsCj4gK2ludGVsX2xpbmtfY29tcHV0ZV9tX24oaW50IGJp dHNfcGVyX3BpeGVsLCB1aW50MTZfdCBjb21wcmVzc2VkX2JwcCwKPiArCQkgICAgICAgaW50IG5s YW5lcywKPiAgCQkgICAgICAgaW50IHBpeGVsX2Nsb2NrLCBpbnQgbGlua19jbG9jaywKPiAgCQkg ICAgICAgc3RydWN0IGludGVsX2xpbmtfbV9uICptX24sCj4gIAkJICAgICAgIGJvb2wgY29uc3Rh bnRfbikKPiAgewo+ICAJbV9uLT50dSA9IDY0Owo+ICAKPiAtCWNvbXB1dGVfbV9uKGJpdHNfcGVy X3BpeGVsICogcGl4ZWxfY2xvY2ssCj4gLQkJICAgIGxpbmtfY2xvY2sgKiBubGFuZXMgKiA4LAo+ IC0JCSAgICAmbV9uLT5nbWNoX20sICZtX24tPmdtY2hfbiwKPiAtCQkgICAgY29uc3RhbnRfbik7 Cj4gKwkvKiBGb3IgRFNDLCBEYXRhIE0vTiBjYWxjdWxhdGlvbiB1c2VzIGNvbXByZXNzZWQgQlBQ ICovCj4gKwlpZiAoY29tcHJlc3NlZF9icHApCgpUaGUgZXh0cmEgcGFyYW1ldGVyIHNlZW1zIHRv IGJlIHBvaW50bGVzcy4gSnVzdCBwYXNzCmNvbXByZXNzZWRfYnBwIGluc3RlYWQgb2YgcGlwZV9i cHAgYW5kIGl0J2xsIGRvIHdoYXQKeW91IHdhbnQuCgo+ICsJCWNvbXB1dGVfbV9uKGNvbXByZXNz ZWRfYnBwICogcGl4ZWxfY2xvY2ssCj4gKwkJCSAgICBsaW5rX2Nsb2NrICogbmxhbmVzICogOCwK PiArCQkJICAgICZtX24tPmdtY2hfbSwgJm1fbi0+Z21jaF9uLAo+ICsJCQkgICAgY29uc3RhbnRf bik7Cj4gKwllbHNlCj4gKwkJY29tcHV0ZV9tX24oYml0c19wZXJfcGl4ZWwgKiBwaXhlbF9jbG9j aywKPiArCQkJICAgIGxpbmtfY2xvY2sgKiBubGFuZXMgKiA4LAo+ICsJCQkgICAgJm1fbi0+Z21j aF9tLCAmbV9uLT5nbWNoX24sCj4gKwkJCSAgICBjb25zdGFudF9uKTsKPiAgCj4gIAljb21wdXRl X21fbihwaXhlbF9jbG9jaywgbGlua19jbG9jaywKPiAgCQkgICAgJm1fbi0+bGlua19tLCAmbV9u LT5saW5rX24sCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuaAo+IGluZGV4IDVkNTBk ZWNiY2JiNS4uYjBiMjNlMWU5MzkyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuaAo+IEBAIC00MDcsNyArNDA3LDggQEAgc3RydWN0IGludGVsX2xpbmtfbV9uIHsKPiAgCSAg ICAgKF9faSkrKykgXAo+ICAJCWZvcl9lYWNoX2lmKHBsYW5lKQo+ICAKPiAtdm9pZCBpbnRlbF9s aW5rX2NvbXB1dGVfbV9uKGludCBicHAsIGludCBubGFuZXMsCj4gK3ZvaWQgaW50ZWxfbGlua19j b21wdXRlX21fbihpbnQgYnBwLCB1aW50MTZfdCBjb21wcmVzc2VkX2JwcCwKPiArCQkJICAgIGlu dCBubGFuZXMsCj4gIAkJCSAgICBpbnQgcGl4ZWxfY2xvY2ssIGludCBsaW5rX2Nsb2NrLAo+ICAJ CQkgICAgc3RydWN0IGludGVsX2xpbmtfbV9uICptX24sCj4gIAkJCSAgICBib29sIGNvbnN0YW50 X24pOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+IGluZGV4IDJiMDkwNjA5YmVlMi4uOTMxYzNj N2U1NWMxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gQEAgLTQ3LDYgKzQ3LDggQEAK PiAgCj4gIC8qIERQIERTQyBzbWFsbCBqb2luZXIgaGFzIDIgRklGT3MgZWFjaCBvZiA2NDAgeCA2 IGJ5dGVzICovCj4gICNkZWZpbmUgRFBfRFNDX01BWF9TTUFMTF9KT0lORVJfUkFNX0JVRkZFUgk2 MTQ0MAo+ICsjZGVmaW5lIERQX0RTQ19NSU5fU1VQUE9SVEVEX0JQQwkJOAo+ICsjZGVmaW5lIERQ X0RTQ19NQVhfU1VQUE9SVEVEX0JQQwkJMTAKPiAgCj4gIC8qIERQIERTQyB0aHJvdWdocHV0IHZh bHVlcyB1c2VkIGZvciBzbGljZSBjb3VudCBjYWxjdWxhdGlvbnMgS1BpeGVscy9zICovCj4gICNk ZWZpbmUgRFBfRFNDX1BFQUtfUElYRUxfUkFURQkJCTI3MjAwMDAKPiBAQCAtMTcwOCw2ICsxNzEw LDI5IEBAIHN0cnVjdCBsaW5rX2NvbmZpZ19saW1pdHMgewo+ICAJaW50IG1pbl9icHAsIG1heF9i cHA7Cj4gIH07Cj4gIAo+ICtzdGF0aWMgYm9vbCBpbnRlbF9kcF9zb3VyY2Vfc3VwcG9ydHNfZHNj KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4gKwkJCQkJIGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpwaXBlX2NvbmZpZykKPiArewo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZHBfdG9faTkxNShpbnRlbF9kcCk7Cj4gKwo+ICsJLyogRklYTUU6IEZFQyBu ZWVkZWQgZm9yIGV4dGVybmFsIERQIHVudGlsIHRoZW4gcmVqZWN0IERTQyBvbiBEUCAqLwo+ICsJ aWYgKCFpbnRlbF9kcF9pc19lZHAoaW50ZWxfZHApKQo+ICsJCXJldHVybiBmYWxzZTsKPiArCj4g KwlyZXR1cm4gSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMCAmJgo+ICsJCXBpcGVfY29uZmlnLT5j cHVfdHJhbnNjb2RlciAhPSBUUkFOU0NPREVSX0E7Cj4gK30KPiArCj4gK3N0YXRpYyBib29sIGlu dGVsX2RwX3N1cHBvcnRzX2RzYyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICsJCQkJICBj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCj4gK3sKPiArCWlmICgh aW50ZWxfZHBfc291cmNlX3N1cHBvcnRzX2RzYyhpbnRlbF9kcCwgcGlwZV9jb25maWcpIHx8Cj4g KwkgICAgIWRybV9kcF9zaW5rX3N1cHBvcnRzX2RzYyhpbnRlbF9kcC0+ZHNjX2RwY2QpKQo+ICsJ CXJldHVybiBmYWxzZTsKCk9yIHNsaWdodGx5IG1vcmUgc3RyYWlnaHRmb3J3YXJkOgoKcmV0dXJu IGludGVsX2RwX3NvdXJjZV9zdXBwb3J0c19kc2MoKSAmJgoJZHJtX2RwX3Npbmtfc3VwcG9ydHNf ZHNjKCk7CgpJIGdlbmVyYWxseSBsaWtlIHRvIHJlYWQgdGhlc2Ugc29ydCBvZiB0aGluZ3Mgb3V0 bG91ZCB0byBteXNlbGYuClRoYXQgdXN1YWxseSBoZWxwcyBwaWNrIG91dCB0aGUgbGVhc3QgY29u dm9sdXRlZCBmb3JtLgoKPiArCj4gKwlyZXR1cm4gdHJ1ZTsKPiArfQo+ICsKPiAgc3RhdGljIGlu dCBpbnRlbF9kcF9jb21wdXRlX2JwcChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICAJCQkJ c3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+ICB7Cj4gQEAgLTE4NDIsMTQg KzE4NjcsMTE4IEBAIGludGVsX2RwX2NvbXB1dGVfbGlua19jb25maWdfZmFzdChzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwLAo+ICAJcmV0dXJuIGZhbHNlOwo+ICB9Cj4gIAo+ICtzdGF0aWMgaW50 IGludGVsX2RwX2RzY19jb21wdXRlX2JwcChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCB1OCBk c2NfbWF4X2JwYykKPiArewo+ICsJaW50IGk7Cj4gKwl1OCBkc2Nfc2lua19jb2xvcl9kZXB0aF9j YXBbOF0gPSB7MH07CgpUaGUgdmFyaWFibGUgbmFtZSBpc24ndCB2ZXJ5IGRlc2NyaXB0aXZlLiBK dXN0IGJwY1tdLCBkc2NfYnBjW10gZXRjLiB3b3VsZApzZWVtIGJldHRlci4gQW5kIHRocmVlIGVs ZW1lbnRzIHNob3VsZCBiZSBhbGwgd2UgbmVlZC4KCj4gKwo+ICsJZHJtX2RwX2RzY19zaW5rX2Nv bG9yX2RlcHRoX2NhcChpbnRlbF9kcC0+ZHNjX2RwY2QsCj4gKwkJCQkJZHNjX3NpbmtfY29sb3Jf ZGVwdGhfY2FwKTsKClRoZSBmdW5jdGlvbiBuYW1lIGlzbid0IGFsbCB0aGF0IGRlc2NyaXB0aXZl IGVpdGhlci4KZHJtX2RwX2RzY19zdXBwb3J0ZWRfaW5wdXRfYnBjcygpIG1heWJlPwoKPiArCWZv ciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGRzY19zaW5rX2NvbG9yX2RlcHRoX2NhcCk7IGkrKykg ewo+ICsJCWlmIChkc2NfbWF4X2JwYyA8PSBkc2Nfc2lua19jb2xvcl9kZXB0aF9jYXBbaV0pCgpU aGlzIHRlc3Qgc2VlbXMgdGhlIHdyb25nIHdheSBhcm91bmQuCgo+ICsJCQlyZXR1cm4gZHNjX3Np bmtfY29sb3JfZGVwdGhfY2FwW2ldICogMzsKPiArCX0KPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ ICsKPiArc3RhdGljIGJvb2wgaW50ZWxfZHBfZHNjX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHAsCj4gKwkJCQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29u ZmlnLAo+ICsJCQkJCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlLAo+ICsJ CQkJCXN0cnVjdCBsaW5rX2NvbmZpZ19saW1pdHMgKmxpbWl0cykKPiArewo+ICsJc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7Cj4g KwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRpZ19wb3J0LT5i YXNlLmJhc2UuZGV2KTsKPiArCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2Rl ID0gJnBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4gKwl1OCBkc2NfbWF4X2JwYzsK PiArCXUxNiBkc2NfbWF4X291dHB1dF9icHAgPSAwOwo+ICsJdTggZHNjX2RwX3NsaWNlX2NvdW50 ID0gMDsKPiArCWludCBwaXBlX2JwcDsKPiArCj4gKwlpZiAoIWludGVsX2RwX3N1cHBvcnRzX2Rz YyhpbnRlbF9kcCwgcGlwZV9jb25maWcpKQo+ICsJCXJldHVybiBmYWxzZTsKPiArCj4gKwlkc2Nf bWF4X2JwYyA9IG1pbl90KHU4LCBEUF9EU0NfTUFYX1NVUFBPUlRFRF9CUEMsCj4gKwkJCSAgICBj b25uX3N0YXRlLT5tYXhfcmVxdWVzdGVkX2JwYyk7Cj4gKwo+ICsJaWYgKGRzY19tYXhfYnBjIDwg RFBfRFNDX01JTl9TVVBQT1JURURfQlBDKSB7Cj4gKwkJRFJNX0RFQlVHX0tNUygiTm8gRFNDIHN1 cHBvcnQgZm9yIGxlc3MgdGhhbiA4YnBjXG4iKTsKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwl9CgpX ZSBkb24ndCByZWFsbHkgbmVlZCB0aGlzIGNoZWNrIGhlcmUuIGludGVsX2RwX2RzY19jb21wdXRl X2JwcCgpCndpbGwgcmV0dXJuIDAgaWYgdGhlIG1heCBpcyBiZWxvdyBhbnkgc3VwcG9ydGVkIHZh bHVlLiBTbyB3ZSBjYW4KcmVseSBvbiB0aGUgY2hlY2sgYWZ0ZXJ3YXJkcy4KCj4gKwlwaXBlX2Jw cCA9IGludGVsX2RwX2RzY19jb21wdXRlX2JwcChpbnRlbF9kcCwgZHNjX21heF9icGMpOwo+ICsJ aWYgKCFwaXBlX2JwcCB8fCBwaXBlX2JwcCA8IERQX0RTQ19NSU5fU1VQUE9SVEVEX0JQQyAqIDMp IHsKClRoZSAhcGlwZV9icHAgY2hlY2sgaXMgcmVkdW5kYW50LgoKPiArCQlEUk1fREVCVUdfS01T KCJObyBEU0Mgc3VwcG9ydCBmb3IgbGVzcyB0aGFuIDhicGNcbiIpOwo+ICsJCXJldHVybiBmYWxz ZTsKPiArCX0KPiArCj4gKwkvKgo+ICsJICogRm9yIG5vdyBlbmFibGUgRFNDIGZvciBtYXggYnBw LCBtYXggbGluayByYXRlLCBtYXggbGFuZSBjb3VudC4KPiArCSAqIE9wdGltaXplIHRoaXMgbGF0 ZXIgZm9yIHRoZSBtaW5pbXVtIHBvc3NpYmxlIGxpbmsgcmF0ZS9sYW5lIGNvdW50Cj4gKwkgKiB3 aXRoIERTQyBlbmFibGVkIGZvciB0aGUgcmVxdWVzdGVkIG1vZGUuCj4gKwkgKi8KPiArCXBpcGVf Y29uZmlnLT5waXBlX2JwcCA9IHBpcGVfYnBwOwo+ICsJcGlwZV9jb25maWctPnBvcnRfY2xvY2sg PSBpbnRlbF9kcC0+Y29tbW9uX3JhdGVzW2xpbWl0cy0+bWF4X2Nsb2NrXTsKPiArCXBpcGVfY29u ZmlnLT5sYW5lX2NvdW50ID0gbGltaXRzLT5tYXhfbGFuZV9jb3VudDsKPiArCj4gKwlpZiAoaW50 ZWxfZHBfaXNfZWRwKGludGVsX2RwKSkgewo+ICsJCXBpcGVfY29uZmlnLT5kc2NfcGFyYW1zLmNv bXByZXNzZWRfYnBwID0KPiArCQkJbWluX3QodTE2LCBkcm1fZWRwX2RzY19zaW5rX291dHB1dF9i cHAoaW50ZWxfZHAtPmRzY19kcGNkKSA+PiA0LAo+ICsJCQkgICAgICBwaXBlX2NvbmZpZy0+cGlw ZV9icHApOwo+ICsJCXBpcGVfY29uZmlnLT5kc2NfcGFyYW1zLnNsaWNlX2NvdW50ID0KPiArCQkJ ZHJtX2RwX2RzY19zaW5rX21heF9zbGljZV9jb3VudChpbnRlbF9kcC0+ZHNjX2RwY2QsCj4gKwkJ CQkJCQl0cnVlKTsKPiArCX0gZWxzZSB7Cj4gKwkJZHNjX21heF9vdXRwdXRfYnBwID0KPiArCQkJ aW50ZWxfZHBfZHNjX2dldF9vdXRwdXRfYnBwKHBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrLAo+ICsJ CQkJCQkgICAgcGlwZV9jb25maWctPmxhbmVfY291bnQsCj4gKwkJCQkJCSAgICBhZGp1c3RlZF9t b2RlLT5jcnRjX2Nsb2NrLAo+ICsJCQkJCQkgICAgYWRqdXN0ZWRfbW9kZS0+Y3J0Y19oZGlzcGxh eSk7Cj4gKwkJCWRzY19kcF9zbGljZV9jb3VudCA9Cj4gKwkJCQlpbnRlbF9kcF9kc2NfZ2V0X3Ns aWNlX2NvdW50KGludGVsX2RwLAo+ICsJCQkJCQkJICAgICBhZGp1c3RlZF9tb2RlLT5jcnRjX2Ns b2NrLAo+ICsJCQkJCQkJICAgICBhZGp1c3RlZF9tb2RlLT5jcnRjX2hkaXNwbGF5KTsKPiArCQlp ZiAoIShkc2NfbWF4X291dHB1dF9icHAgJiYgZHNjX2RwX3NsaWNlX2NvdW50KSkgewo+ICsJCQlE Uk1fREVCVUdfS01TKCJDb21wcmVzc2VkIEJQUC9TbGljZSBDb3VudCBub3Qgc3VwcG9ydGVkXG4i KTsKPiArCQkJcmV0dXJuIGZhbHNlOwo+ICsJCX0KPiArCQlwaXBlX2NvbmZpZy0+ZHNjX3BhcmFt cy5jb21wcmVzc2VkX2JwcCA9IG1pbl90KHUxNiwKPiArCQkJCQkJCSAgICAgICBkc2NfbWF4X291 dHB1dF9icHAgPj4gNCwKPiArCQkJCQkJCSAgICAgICBwaXBlX2NvbmZpZy0+cGlwZV9icHApOwo+ ICsJCXBpcGVfY29uZmlnLT5kc2NfcGFyYW1zLnNsaWNlX2NvdW50ID0gZHNjX2RwX3NsaWNlX2Nv dW50Owo+ICsJfQo+ICsJLyoKPiArCSAqIFZEU0MgZW5naW5lIG9wZXJhdGVzIGF0IDEgUGl4ZWwg cGVyIGNsb2NrLCBzbyBpZiBwZWFrIHBpeGVsIHJhdGUKPiArCSAqIGlzIGdyZWF0ZXIgdGhhbiB0 aGUgbWF4aW11bSBDZGNsb2NrIGFuZCBpZiBzbGljZSBjb3VudCBpcyBldmVuCj4gKwkgKiB0aGVu IHdlIG5lZWQgdG8gdXNlIDIgVkRTQyBpbnN0YW5jZXMuCj4gKwkgKi8KPiArCWlmIChhZGp1c3Rl ZF9tb2RlLT5jcnRjX2Nsb2NrID4gZGV2X3ByaXYtPm1heF9jZGNsa19mcmVxKSB7Cj4gKwkJaWYg KHBpcGVfY29uZmlnLT5kc2NfcGFyYW1zLnNsaWNlX2NvdW50ID4gMSkgewo+ICsJCQlwaXBlX2Nv bmZpZy0+ZHNjX3BhcmFtcy5kc2Nfc3BsaXQgPSB0cnVlOwo+ICsJCX0gZWxzZSB7Cj4gKwkJCURS TV9ERUJVR19LTVMoIkNhbm5vdCBzcGxpdCBzdHJlYW0gdG8gdXNlIDIgVkRTQyBpbnN0YW5jZXNc biIpOwo+ICsJCQlyZXR1cm4gZmFsc2U7Cj4gKwkJfQo+ICsJfQo+ICsJcGlwZV9jb25maWctPmRz Y19wYXJhbXMuY29tcHJlc3Npb25fZW5hYmxlID0gdHJ1ZTsKPiArCURSTV9ERUJVR19LTVMoIkRQ IERTQyBjb21wdXRlZCB3aXRoIElucHV0IEJwcCA9ICVkICIKPiArCQkgICAgICAiQ29tcHJlc3Nl ZCBCcHAgPSAlZCBTbGljZSBDb3VudCA9ICVkXG4iLAo+ICsJCSAgICAgIHBpcGVfY29uZmlnLT5w aXBlX2JwcCwKPiArCQkgICAgICBwaXBlX2NvbmZpZy0+ZHNjX3BhcmFtcy5jb21wcmVzc2VkX2Jw cCwKPiArCQkgICAgICBwaXBlX2NvbmZpZy0+ZHNjX3BhcmFtcy5zbGljZV9jb3VudCk7Cj4gKwo+ ICsJcmV0dXJuIHRydWU7Cj4gK30KPiArCj4gIHN0YXRpYyBib29sCj4gIGludGVsX2RwX2NvbXB1 dGVfbGlua19jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gLQkJCSAgICAg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+ICsJCQkgICAgIHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiArCQkJICAgICBzdHJ1Y3QgZHJtX2Nvbm5l Y3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKPiAgewo+ICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUg KmFkanVzdGVkX21vZGUgPSAmcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiAgCXN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVuY29kZXItPmJhc2Up Owo+ICAJc3RydWN0IGxpbmtfY29uZmlnX2xpbWl0cyBsaW1pdHM7Cj4gIAlpbnQgY29tbW9uX2xl bjsKPiArCWJvb2wgcmV0ID0gZmFsc2U7CgpVbmVjZXNzYXJ5IGluaXRpYWxpemF0aW9uIEFGQUlD Uy4KCj4gIAo+ICAJY29tbW9uX2xlbiA9IGludGVsX2RwX2NvbW1vbl9sZW5fcmF0ZV9saW1pdChp bnRlbF9kcCwKPiAgCQkJCQkJICAgIGludGVsX2RwLT5tYXhfbGlua19yYXRlKTsKPiBAQCAtMTg2 Myw4ICsxOTkyLDggQEAgaW50ZWxfZHBfY29tcHV0ZV9saW5rX2NvbmZpZyhzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKPiAgCWxpbWl0cy5taW5fbGFuZV9jb3VudCA9IDE7Cj4gIAlsaW1p dHMubWF4X2xhbmVfY291bnQgPSBpbnRlbF9kcF9tYXhfbGFuZV9jb3VudChpbnRlbF9kcCk7Cj4g IAo+IC0JbGltaXRzLm1pbl9icHAgPSA2ICogMzsKPiAgCWxpbWl0cy5tYXhfYnBwID0gaW50ZWxf ZHBfY29tcHV0ZV9icHAoaW50ZWxfZHAsIHBpcGVfY29uZmlnKTsKPiArCWxpbWl0cy5taW5fYnBw ID0gNiAqIDM7CgpMZWZ0b3ZlcnMKCj4gIAo+ICAJaWYgKGludGVsX2RwX2lzX2VkcChpbnRlbF9k cCkgJiYgaW50ZWxfZHAtPmVkcF9kcGNkWzBdIDwgRFBfRURQXzE0KSB7Cj4gIAkJLyoKPiBAQCAt MTg4OCw3ICsyMDE3LDcgQEAgaW50ZWxfZHBfY29tcHV0ZV9saW5rX2NvbmZpZyhzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQkgICAgICBpbnRlbF9kcC0+Y29tbW9uX3JhdGVzW2xp bWl0cy5tYXhfY2xvY2tdLAo+ICAJCSAgICAgIGxpbWl0cy5tYXhfYnBwLCBhZGp1c3RlZF9tb2Rl LT5jcnRjX2Nsb2NrKTsKPiAgCj4gLQlpZiAoaW50ZWxfZHBfaXNfZWRwKGludGVsX2RwKSkgewo+ ICsJaWYgKGludGVsX2RwX2lzX2VkcChpbnRlbF9kcCkpCj4gIAkJLyoKPiAgCQkgKiBPcHRpbWl6 ZSBmb3IgZmFzdCBhbmQgbmFycm93LiBlRFAgMS4zIHNlY3Rpb24gMy4zIGFuZCBlRFAgMS40Cj4g IAkJICogc2VjdGlvbiBBLjE6ICJJdCBpcyByZWNvbW1lbmRlZCB0aGF0IHRoZSBtaW5pbXVtIG51 bWJlciBvZgo+IEBAIC0xODk4LDI2ICsyMDI3LDQyIEBAIGludGVsX2RwX2NvbXB1dGVfbGlua19j b25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJICogTm90ZSB0aGF0IHdl IHVzZSB0aGUgbWF4IGNsb2NrIGFuZCBsYW5lIGNvdW50IGZvciBlRFAgMS4zIGFuZAo+ICAJCSAq IGVhcmxpZXIsIGFuZCBmYXN0IHZzLiB3aWRlIGlzIGlycmVsZXZhbnQuCj4gIAkJICovCj4gLQkJ aWYgKCFpbnRlbF9kcF9jb21wdXRlX2xpbmtfY29uZmlnX2Zhc3QoaW50ZWxfZHAsIHBpcGVfY29u ZmlnLAo+IC0JCQkJCQkgICAgICAgJmxpbWl0cykpCj4gLQkJCXJldHVybiBmYWxzZTsKPiAtCX0g ZWxzZSB7Cj4gKwkJcmV0ID0gaW50ZWxfZHBfY29tcHV0ZV9saW5rX2NvbmZpZ19mYXN0KGludGVs X2RwLCBwaXBlX2NvbmZpZywKPiArCQkJCQkJCSZsaW1pdHMpOwo+ICsJIGVsc2UKPiAgCQkvKiBP cHRpbWl6ZSBmb3Igc2xvdyBhbmQgd2lkZS4gKi8KPiAtCQlpZiAoIWludGVsX2RwX2NvbXB1dGVf bGlua19jb25maWdfd2lkZShpbnRlbF9kcCwgcGlwZV9jb25maWcsCj4gLQkJCQkJCSAgICAgICAm bGltaXRzKSkKPiArCQlyZXQgPSBpbnRlbF9kcF9jb21wdXRlX2xpbmtfY29uZmlnX3dpZGUoaW50 ZWxfZHAsIHBpcGVfY29uZmlnLAo+ICsJCQkJCQkJJmxpbWl0cyk7Cj4gKwo+ICsJLyogZW5hYmxl IGNvbXByZXNzaW9uIGlmIHRoZSBtb2RlIGRvZXNuJ3QgZml0IGF2YWlsYWJsZSBCVyAqLwo+ICsJ aWYgKCFyZXQpIHsKPiArCQlpZiAoIWludGVsX2RwX2RzY19jb21wdXRlX2NvbmZpZyhpbnRlbF9k cCwgcGlwZV9jb25maWcsCj4gKwkJCQkJCSBjb25uX3N0YXRlLCAmbGltaXRzKSkKPiAgCQkJcmV0 dXJuIGZhbHNlOwo+ICAJfQo+ICAKPiAtCURSTV9ERUJVR19LTVMoIkRQIGxhbmUgY291bnQgJWQg Y2xvY2sgJWQgYnBwICVkXG4iLAo+IC0JCSAgICAgIHBpcGVfY29uZmlnLT5sYW5lX2NvdW50LCBw aXBlX2NvbmZpZy0+cG9ydF9jbG9jaywKPiAtCQkgICAgICBwaXBlX2NvbmZpZy0+cGlwZV9icHAp Owo+ICsJaWYgKHBpcGVfY29uZmlnLT5kc2NfcGFyYW1zLmNvbXByZXNzaW9uX2VuYWJsZSkgewo+ ICsJCURSTV9ERUJVR19LTVMoIkRQIGxhbmUgY291bnQgJWQgY2xvY2sgJWQgSW5wdXQgYnBwICVk IENvbXByZXNzZWQgYnBwICVkXG4iLAo+ICsJCQkgICAgICBwaXBlX2NvbmZpZy0+bGFuZV9jb3Vu dCwgcGlwZV9jb25maWctPnBvcnRfY2xvY2ssCj4gKwkJCSAgICAgIHBpcGVfY29uZmlnLT5waXBl X2JwcCwKPiArCQkJICAgICAgcGlwZV9jb25maWctPmRzY19wYXJhbXMuY29tcHJlc3NlZF9icHAp Owo+ICAKPiAtCURSTV9ERUJVR19LTVMoIkRQIGxpbmsgcmF0ZSByZXF1aXJlZCAlaSBhdmFpbGFi bGUgJWlcbiIsCj4gLQkJICAgICAgaW50ZWxfZHBfbGlua19yZXF1aXJlZChhZGp1c3RlZF9tb2Rl LT5jcnRjX2Nsb2NrLAo+IC0JCQkJCSAgICAgcGlwZV9jb25maWctPnBpcGVfYnBwKSwKPiAtCQkg ICAgICBpbnRlbF9kcF9tYXhfZGF0YV9yYXRlKHBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrLAo+IC0J CQkJCSAgICAgcGlwZV9jb25maWctPmxhbmVfY291bnQpKTsKPiArCQlEUk1fREVCVUdfS01TKCJE UCBsaW5rIHJhdGUgcmVxdWlyZWQgJWkgYXZhaWxhYmxlICVpXG4iLAo+ICsJCQkgICAgICBpbnRl bF9kcF9saW5rX3JlcXVpcmVkKGFkanVzdGVkX21vZGUtPmNydGNfY2xvY2ssCj4gKwkJCQkJCSAg ICAgcGlwZV9jb25maWctPmRzY19wYXJhbXMuY29tcHJlc3NlZF9icHApLAo+ICsJCQkgICAgICBp bnRlbF9kcF9tYXhfZGF0YV9yYXRlKHBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrLAo+ICsJCQkJCQkg ICAgIHBpcGVfY29uZmlnLT5sYW5lX2NvdW50KSk7Cj4gKwl9IGVsc2Ugewo+ICsJCURSTV9ERUJV R19LTVMoIkRQIGxhbmUgY291bnQgJWQgY2xvY2sgJWQgYnBwICVkXG4iLAo+ICsJCQkgICAgICBw aXBlX2NvbmZpZy0+bGFuZV9jb3VudCwgcGlwZV9jb25maWctPnBvcnRfY2xvY2ssCj4gKwkJCSAg ICAgIHBpcGVfY29uZmlnLT5waXBlX2JwcCk7Cj4gIAo+ICsJCURSTV9ERUJVR19LTVMoIkRQIGxp bmsgcmF0ZSByZXF1aXJlZCAlaSBhdmFpbGFibGUgJWlcbiIsCj4gKwkJCSAgICAgIGludGVsX2Rw X2xpbmtfcmVxdWlyZWQoYWRqdXN0ZWRfbW9kZS0+Y3J0Y19jbG9jaywKPiArCQkJCQkJICAgICBw aXBlX2NvbmZpZy0+cGlwZV9icHApLAo+ICsJCQkgICAgICBpbnRlbF9kcF9tYXhfZGF0YV9yYXRl KHBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrLAo+ICsJCQkJCQkgICAgIHBpcGVfY29uZmlnLT5sYW5l X2NvdW50KSk7Cj4gKwl9Cj4gIAlyZXR1cm4gdHJ1ZTsKPiAgfQo+ICAKPiBAQCAtMTk4Myw3ICsy MTI4LDcgQEAgaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCj4gIAlpZiAoYWRqdXN0ZWRfbW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0RCTENM SykKPiAgCQlyZXR1cm4gZmFsc2U7Cj4gIAo+IC0JaWYgKCFpbnRlbF9kcF9jb21wdXRlX2xpbmtf Y29uZmlnKGVuY29kZXIsIHBpcGVfY29uZmlnKSkKPiArCWlmICghaW50ZWxfZHBfY29tcHV0ZV9s aW5rX2NvbmZpZyhlbmNvZGVyLCBwaXBlX2NvbmZpZywgY29ubl9zdGF0ZSkpCj4gIAkJcmV0dXJu IGZhbHNlOwo+ICAKPiAgCWlmIChpbnRlbF9jb25uX3N0YXRlLT5icm9hZGNhc3RfcmdiID09IElO VEVMX0JST0FEQ0FTVF9SR0JfQVVUTykgewo+IEBAIC0yMDAxLDcgKzIxNDYsOSBAQCBpbnRlbF9k cF9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJaW50 ZWxfY29ubl9zdGF0ZS0+YnJvYWRjYXN0X3JnYiA9PSBJTlRFTF9CUk9BRENBU1RfUkdCX0xJTUlU RUQ7Cj4gIAl9Cj4gIAo+IC0JaW50ZWxfbGlua19jb21wdXRlX21fbihwaXBlX2NvbmZpZy0+cGlw ZV9icHAsIHBpcGVfY29uZmlnLT5sYW5lX2NvdW50LAo+ICsJaW50ZWxfbGlua19jb21wdXRlX21f bihwaXBlX2NvbmZpZy0+cGlwZV9icHAsCj4gKwkJCSAgICAgICBwaXBlX2NvbmZpZy0+ZHNjX3Bh cmFtcy5jb21wcmVzc2VkX2JwcCwKPiArCQkJICAgICAgIHBpcGVfY29uZmlnLT5sYW5lX2NvdW50 LAo+ICAJCQkgICAgICAgYWRqdXN0ZWRfbW9kZS0+Y3J0Y19jbG9jaywKPiAgCQkJICAgICAgIHBp cGVfY29uZmlnLT5wb3J0X2Nsb2NrLAo+ICAJCQkgICAgICAgJnBpcGVfY29uZmlnLT5kcF9tX24s Cj4gQEAgLTIwMTAsNyArMjE1Nyw3IEBAIGludGVsX2RwX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJaWYgKGludGVsX2Nvbm5lY3Rvci0+cGFuZWwuZG93 bmNsb2NrX21vZGUgIT0gTlVMTCAmJgo+ICAJCWRldl9wcml2LT5kcnJzLnR5cGUgPT0gU0VBTUxF U1NfRFJSU19TVVBQT1JUKSB7Cj4gIAkJCXBpcGVfY29uZmlnLT5oYXNfZHJycyA9IHRydWU7Cj4g LQkJCWludGVsX2xpbmtfY29tcHV0ZV9tX24ocGlwZV9jb25maWctPnBpcGVfYnBwLAo+ICsJCQlp bnRlbF9saW5rX2NvbXB1dGVfbV9uKHBpcGVfY29uZmlnLT5waXBlX2JwcCwgMCwKPiAgCQkJCQkg ICAgICAgcGlwZV9jb25maWctPmxhbmVfY291bnQsCj4gIAkJCQkJICAgICAgIGludGVsX2Nvbm5l Y3Rvci0+cGFuZWwuZG93bmNsb2NrX21vZGUtPmNsb2NrLAo+ICAJCQkJCSAgICAgICBwaXBlX2Nv bmZpZy0+cG9ydF9jbG9jaywKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHBfbXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwo+IGluZGV4 IDRkZTI0N2RkZjA1Zi4uM2YzNDZiMmUzYjQ4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwX21zdC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHBfbXN0LmMKPiBAQCAtOTAsNyArOTAsNyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9kcF9tc3RfY29t cHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJfQo+ICAJfQo+ ICAKPiAtCWludGVsX2xpbmtfY29tcHV0ZV9tX24oYnBwLCBsYW5lX2NvdW50LAo+ICsJaW50ZWxf bGlua19jb21wdXRlX21fbihicHAsIDAsIGxhbmVfY291bnQsCj4gIAkJCSAgICAgICBhZGp1c3Rl ZF9tb2RlLT5jcnRjX2Nsb2NrLAo+ICAJCQkgICAgICAgcGlwZV9jb25maWctPnBvcnRfY2xvY2ss Cj4gIAkJCSAgICAgICAmcGlwZV9jb25maWctPmRwX21fbiwKPiAtLSAKPiAyLjE5LjEKCi0tIApW aWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==