From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sujaritha Subject: Re: [PATCH v6 2/3] drm/i915/guc : Removing i915_modparams.enable_guc_loading module parameter Date: Mon, 16 Oct 2017 09:36:51 -0700 Message-ID: <5e88bbb8-7c63-57b0-68e7-fa72e3383dc5@intel.com> References: <1507660366-4899-1-git-send-email-sujaritha.sundaresan@intel.com> <1507660366-4899-3-git-send-email-sujaritha.sundaresan@intel.com> <7ad494d6-74be-6502-35bd-f5522338aa9e@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 604DB6E48A for ; Mon, 16 Oct 2017 16:40:02 +0000 (UTC) In-Reply-To: <7ad494d6-74be-6502-35bd-f5522338aa9e@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Sagar Arun Kamble , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org CgpPbiAxMC8xMy8yMDE3IDAyOjQyIEFNLCBTYWdhciBBcnVuIEthbWJsZSB3cm90ZToKPgo+Cj4g T24gMTAvMTEvMjAxNyAxMjowMiBBTSwgU3VqYXJpdGhhIFN1bmRhcmVzYW4gd3JvdGU6Cj4+IFdl IGN1cnJlbnRseSBoYXZlIHR3byBtb2R1bGUgcGFyYW1ldGVycyB0aGF0IGNvbnRyb2wgR3VDOiAK Pj4gImVuYWJsZV9ndWNfbG9hZGluZyIgYW5kICJlbmFibGVfZ3VjX3N1Ym1pc3Npb24iLgo+PiBX aGVuZXZlciB3ZSBuZWVkIGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfc3VibWlzc2lvbj0xLCB3 ZSBhbHNvIG5lZWQgCj4+IGVuYWJsZV9ndWNfbG9hZGluZz0xLgo+PiBXZSBhbHNvIG5lZWQgZW5h YmxlX2d1Y19sb2FkaW5nPTEgd2hlbiB3ZSB3YW50IHRvIHZlcmlmeSB0aGUgSHVDLAo+PiB3aGlj aCBpcyBldmVyeSB0aW1lIHdlIGhhdmUgYSBIdUMgKGJ1dCBhbGwgcGxhdGZvcm1zIHdpdGggSHVD IGhhdmUgYSAKPj4gR3VDIGFuZCB2aWNldmVyc2EpLgo+Pgo+PiB2MjogQ2xhcmlmeWluZyB0aGUg Y29tbWl0IG1lc3NhZ2UgKEFudXNoYSkKPj4KPj4gdjM6IFVuaWZ5IHNlcV9wdXRzIG1lc3NhZ2Vz LCBSZS1mYWN0b3JpbmcgY29kZSBhcyBwZXIgcmV2aWV3IChNaWNoYWwpCj4+Cj4+IHY0OiBSZWJh c2UKPj4KPj4gdjU6IFNlcGFyYXRpbmcgbWVzc2FnZSB1bmlmaWNhdGlvbiBpbnRvIGEgc2VwYXJh dGUgcGF0Y2gKPj4KPj4gdjY6IFJlLWZhY3RvcmluZyBjb2RlIChTYWdhciwgTWljaGFsKQo+PiDC oMKgwqDCoCBSZWJhc2UKPj4KPj4gU3VnZ2VzdGVkIGJ5OiBPc2NhciBNYXRlbyA8b3NjYXIubWF0 ZW9AaW50ZWwuY29tPgo+PiBTaWduZWQtb2ZmLWJ5OiBTdWphcml0aGEgU3VuZGFyZXNhbiA8c3Vq YXJpdGhhLnN1bmRhcmVzYW5AaW50ZWwuY29tPgo+PiBDYzogTWljaGFsIFdhamRlY3prbyA8bWlj aGFsLndhamRlY3prb0BpbnRlbC5jb20+Cj4+IENjOiBTYWdhciBBcnVuIEthbWJsZSA8c2FnYXIu YS5rYW1ibGVAaW50ZWwuY29tPgo+PiBDYzogQW51c2hhIFNyaXZhdHNhIDxhbnVzaGEuc3JpdmF0 c2FAaW50ZWwuY29tPgo+PiBDYzogT3NjYXIgTWF0ZW8gPG9zY2FyLm1hdGVvQGludGVsLmNvbT4K Pj4gLS0tCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jwqDCoMKgwqAg fMKgIDYgKy0tCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmjCoMKgwqDCoMKg wqDCoMKgIHzCoCA5ICsrKy0tCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2Nv bnRleHQuYyB8wqAgMiArLQo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu Y8KgwqDCoMKgIHzCoCAyICstCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmPC oMKgwqDCoMKgwqDCoMKgIHzCoCAyICstCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cGFyYW1zLmPCoMKgwqDCoMKgIHzCoCA0IC0tCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcGFyYW1zLmjCoMKgwqDCoMKgIHzCoCAxIC0KPj4gwqAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZ3VjLmjCoMKgwqDCoMKgwqDCoCB8wqAgMiArLQo+PiDCoCBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMgfMKgIDkgKystLS0KPj4gwqAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfaHVjLmPCoMKgwqDCoMKgwqDCoCB8wqAgNCArLQo+PiDCoCBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF91Yy5jwqDCoMKgwqDCoMKgwqDCoCB8IDcyIAo+PiArKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0KPj4gwqAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf dW5jb3JlLmPCoMKgwqDCoCB8wqAgMyArLQo+PiDCoCAxMiBmaWxlcyBjaGFuZ2VkLCA1OSBpbnNl cnRpb25zKCspLCA1NyBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZGVidWdmcy5jCj4+IGluZGV4IDlkMGMyN2IuLjhhYmM0N2MgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jCj4+IEBAIC0yMzkwLDcgKzIzOTAsNyBAQCBzdGF0aWMgaW50IGk5 MTVfaHVjX2xvYWRfc3RhdHVzX2luZm8oc3RydWN0IAo+PiBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0 YSkKPj4gwqDCoMKgwqDCoCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBub2Rl X3RvX2k5MTUobS0+cHJpdmF0ZSk7Cj4+IMKgwqDCoMKgwqAgc3RydWN0IGludGVsX3VjX2Z3ICpo dWNfZncgPSAmZGV2X3ByaXYtPmh1Yy5mdzsKPj4gwqAgLcKgwqDCoCBpZiAoIUhBU19IVUNfVUNP REUoZGV2X3ByaXYpKQo+PiArwqDCoMKgIGlmICghSEFTX0dVQyhkZXZfcHJpdikpCj4+IMKgwqDC oMKgwqDCoMKgwqDCoCBzZXFfcHV0cyhtLCAibm90IHN1cHBvcnRlZFxuIik7Cj4+IMKgwqDCoMKg wqDCoMKgwqDCoCByZXR1cm4gMDsKPj4gwqAgQEAgLTI0MjQsNyArMjQyNCw3IEBAIHN0YXRpYyBp bnQgaTkxNV9ndWNfbG9hZF9zdGF0dXNfaW5mbyhzdHJ1Y3QgCj4+IHNlcV9maWxlICptLCB2b2lk ICpkYXRhKQo+PiDCoMKgwqDCoMKgIHN0cnVjdCBpbnRlbF91Y19mdyAqZ3VjX2Z3ID0gJmRldl9w cml2LT5ndWMuZnc7Cj4+IMKgwqDCoMKgwqAgdTMyIHRtcCwgaTsKPj4gwqAgLcKgwqDCoCBpZiAo IUhBU19HVUNfVUNPREUoZGV2X3ByaXYpKQo+PiArwqDCoMKgIGlmICghSEFTX0dVQyhkZXZfcHJp dikpCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBzZXFfcHV0cyhtLCAibm90IHN1cHBvcnRlZFxuIik7 Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gMDsKPj4gwqAgQEAgLTI1MjEsNyArMjUyMSw3 IEBAIHN0YXRpYyBib29sIGNoZWNrX2d1Y19zdWJtaXNzaW9uKHN0cnVjdCAKPj4gc2VxX2ZpbGUg Km0pCj4+IMKgIMKgwqDCoMKgwqAgaWYgKCFndWMtPmV4ZWNidWZfY2xpZW50KSB7Cj4+IMKgwqDC oMKgwqDCoMKgwqDCoCBzZXFfcHJpbnRmKG0sICJHdUMgc3VibWlzc2lvbiAlc1xuIiwKPj4gLcKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgSEFTX0dVQ19TQ0hFRChkZXZfcHJpdikgPwo+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBIQVNfR1VDKGRldl9wcml2KSA/Cj4+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJkaXNhYmxlZCIgOgo+PiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAibm90IHN1cHBvcnRlZCIpOwo+PiDCoMKgwqDCoMKgwqDCoMKg wqAgcmV0dXJuIGZhbHNlOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4+IGluZGV4IDc3 MDMwNWIuLjE5NGNiYzkgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+PiBAQCAtMzE4 Miw5ICszMTgyLDEyIEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IAo+PiBpOTE1X3NnX3Nl Z21lbnRfc2l6ZSh2b2lkKQo+PiDCoMKgICovCj4+IMKgICNkZWZpbmUgSEFTX0dVQyhkZXZfcHJp dinCoMKgwqAgKChkZXZfcHJpdiktPmluZm8uaGFzX2d1YykKPj4gwqAgI2RlZmluZSBIQVNfR1VD X0NUKGRldl9wcml2KSAoKGRldl9wcml2KS0+aW5mby5oYXNfZ3VjX2N0KQo+PiAtI2RlZmluZSBI QVNfR1VDX1VDT0RFKGRldl9wcml2KcKgwqDCoCAoSEFTX0dVQyhkZXZfcHJpdikpCj4+IC0jZGVm aW5lIEhBU19HVUNfU0NIRUQoZGV2X3ByaXYpwqDCoMKgIChIQVNfR1VDKGRldl9wcml2KSkKPj4g LSNkZWZpbmUgSEFTX0hVQ19VQ09ERShkZXZfcHJpdinCoMKgwqAgKEhBU19HVUMoZGV2X3ByaXYp KQo+PiArI2RlZmluZSBIQVNfR1VDX1VDT0RFKGRldl9wcml2KcKgwqDCoCAoKGRldl9wcml2KS0+ Z3VjLmZ3LnBhdGggIT0gTlVMTCkKPj4gKyNkZWZpbmUgSEFTX0hVQ19VQ09ERShkZXZfcHJpdinC oMKgwqAgKChkZXZfcHJpdiktPmh1Yy5mdy5wYXRoICE9IE5VTEwpCj4+ICsKPj4gKyNkZWZpbmUg TkVFRFNfR1VDX0xPQURJTkcoZGV2X3ByaXYpIFwKPj4gK8KgwqDCoCAoSEFTX0dVQyhkZXZfcHJp dikgJiYgXAo+PiArwqDCoMKgIChpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX3N1Ym1pc3Npb24g fHwgSEFTX0hVQ19VQ09ERShkZXZfcHJpdikpKQo+PiDCoCDCoCAjZGVmaW5lIEhBU19SRVNPVVJD RV9TVFJFQU1FUihkZXZfcHJpdikgCj4+ICgoZGV2X3ByaXYpLT5pbmZvLmhhc19yZXNvdXJjZV9z dHJlYW1lcikKPj4gwqAgZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2NvbnRleHQuYyAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMK Pj4gaW5kZXggNWJmOTZhMi4uNjkyZDYwOSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2NvbnRleHQuYwo+PiBAQCAtMzE0LDcgKzMxNCw3IEBAIHN0YXRpYyB1MzIgZGVmYXVs dF9kZXNjX3RlbXBsYXRlKGNvbnN0IHN0cnVjdCAKPj4gZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwK Pj4gwqDCoMKgwqDCoMKgICogcHJlc2VudCBvciBub3QgaW4gdXNlIHdlIHN0aWxsIG5lZWQgYSBz bWFsbCBiaWFzIGFzIHJpbmcgCj4+IHdyYXBhcm91bmQKPj4gwqDCoMKgwqDCoMKgICogYXQgb2Zm c2V0IDAgc29tZXRpbWVzIGhhbmdzLiBObyBpZGVhIHdoeS4KPj4gwqDCoMKgwqDCoMKgICovCj4+ IC3CoMKgwqAgaWYgKEhBU19HVUMoZGV2X3ByaXYpICYmIGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9n dWNfbG9hZGluZykKPj4gK8KgwqDCoCBpZiAoTkVFRFNfR1VDX0xPQURJTkcoZGV2X3ByaXYpKQo+ PiDCoMKgwqDCoMKgwqDCoMKgwqAgY3R4LT5nZ3R0X29mZnNldF9iaWFzID0gR1VDX1dPUENNX1RP UDsKPj4gwqDCoMKgwqDCoCBlbHNlCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBjdHgtPmdndHRfb2Zm c2V0X2JpYXMgPSBJOTE1X0dUVF9QQUdFX1NJWkU7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9ndHQuYwo+PiBpbmRleCA0YzYwNTc4Li5iNzFmZDI0IDEwMDY0NAo+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9ndHQuYwo+PiBAQCAtMzQ4Myw3ICszNDgzLDcgQEAgaW50IGk5MTVfZ2d0 dF9wcm9iZV9odyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAKPj4gKmRldl9wcml2KQo+PiDCoMKg wqDCoMKgwqAgKiBjdXJyZW50bHkgZG9uJ3QgaGF2ZSBhbnkgYml0cyBzcGFyZSB0byBwYXNzIGlu IHRoaXMgdXBwZXIKPj4gwqDCoMKgwqDCoMKgICogcmVzdHJpY3Rpb24hCj4+IMKgwqDCoMKgwqDC oCAqLwo+PiAtwqDCoMKgIGlmIChIQVNfR1VDKGRldl9wcml2KSAmJiBpOTE1X21vZHBhcmFtcy5l bmFibGVfZ3VjX2xvYWRpbmcpIHsKPj4gK8KgwqDCoCBpZiAoTkVFRFNfR1VDX0xPQURJTkcoZGV2 X3ByaXYpKSB7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBnZ3R0LT5iYXNlLnRvdGFsID0gbWluX3Qo dTY0LCBnZ3R0LT5iYXNlLnRvdGFsLCBHVUNfR0dUVF9UT1ApOwo+PiDCoMKgwqDCoMKgwqDCoMKg wqAgZ2d0dC0+bWFwcGFibGVfZW5kID0gbWluKGdndHQtPm1hcHBhYmxlX2VuZCwgCj4+IGdndHQt PmJhc2UudG90YWwpOwo+PiDCoMKgwqDCoMKgIH0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfaXJxLmMgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEu Ywo+PiBpbmRleCBkZTc3NzEzLi4xOWFkNGRjIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2lycS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJx LmMKPj4gQEAgLTQwMjIsNyArNDAyMiw3IEBAIHZvaWQgaW50ZWxfaXJxX2luaXQoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgCj4+ICpkZXZfcHJpdikKPj4gwqDCoMKgwqDCoCBmb3IgKGkgPSAwOyBp IDwgTUFYX0wzX1NMSUNFUzsgKytpKQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZGV2X3ByaXYtPmwz X3Bhcml0eS5yZW1hcF9pbmZvW2ldID0gTlVMTDsKPj4gwqAgLcKgwqDCoCBpZiAoSEFTX0dVQ19T Q0hFRChkZXZfcHJpdikpCj4+ICvCoMKgwqAgaWYgKE5FRURTX0dVQ19MT0FESU5HKGRldl9wcml2 KSkKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGRldl9wcml2LT5wbV9ndWNfZXZlbnRzID0gR0VOOV9H VUNfVE9fSE9TVF9JTlRfRVZFTlQ7Cj4gQXQgdGhpcyBwb2ludCBlbmFibGVfZ3VjX3N1Ym1pc3Np b24gcGFyYW1ldGVyIGlzIG5vdCBzYW5pdGl6ZWQuIGl0IGlzIAo+IHNhbml0aXplZCBkdXJpbmcg ZHJpdmVyX2luaXRfaHcgdGhhdAo+IGhhcHBlbnMgcG9zdCBkcml2ZXJfaW5pdF9lYXJseShpbnRl bF9pcnFfaW5pdCkuIFNvIEkgdGhpbmsgdGhpcyBzaG91bGQgCj4gYmUgb25seSBIQVNfR1VDLgoK VGhhbmtzIGZvciBwb2ludGluZyB0aGlzIG91dC4gSSB3aWxsIG1ha2UgdGhlIGNoYW5nZS4KPj4g wqAgwqDCoMKgwqDCoCAvKiBMZXQncyB0cmFjayB0aGUgZW5hYmxlZCBycHMgZXZlbnRzICovCj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jIAo+PiBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmMKPj4gaW5kZXggYjRmYWViNi4uMWMyNWY0 NSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYwo+PiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jCj4+IEBAIC0xNjIsMTAgKzE2 Miw2IEBAIHN0cnVjdCBpOTE1X3BhcmFtcyBpOTE1X21vZHBhcmFtcyBfX3JlYWRfbW9zdGx5ID0g ewo+PiDCoMKgwqDCoMKgICIoMD11c2UgdmFsdWUgZnJvbSB2YnQgW2RlZmF1bHRdLCAxPWxvdyBw b3dlciBzd2luZygyMDBtViksIgo+PiDCoMKgwqDCoMKgICIyPWRlZmF1bHQgc3dpbmcoNDAwbVYp KSIpOwo+PiDCoCAtaTkxNV9wYXJhbV9uYW1lZF91bnNhZmUoZW5hYmxlX2d1Y19sb2FkaW5nLCBp bnQsIDA0MDAsCj4+IC3CoMKgwqAgIkVuYWJsZSBHdUMgZmlybXdhcmUgbG9hZGluZyAiCj4+IC3C oMKgwqAgIigtMT1hdXRvLCAwPW5ldmVyIFtkZWZhdWx0XSwgMT1pZiBhdmFpbGFibGUsIDI9cmVx dWlyZWQpIik7Cj4+IC0KPj4gwqAgaTkxNV9wYXJhbV9uYW1lZF91bnNhZmUoZW5hYmxlX2d1Y19z dWJtaXNzaW9uLCBpbnQsIDA0MDAsCj4+IMKgwqDCoMKgwqAgIkVuYWJsZSBHdUMgc3VibWlzc2lv biAiCj4+IMKgwqDCoMKgwqAgIigtMT1hdXRvLCAwPW5ldmVyIFtkZWZhdWx0XSwgMT1pZiBhdmFp bGFibGUsIDI9cmVxdWlyZWQpIik7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3BhcmFtcy5oIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmgK Pj4gaW5kZXggYzcyOTIyNi4uOWUxZTIzMSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9wYXJhbXMuaAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Bh cmFtcy5oCj4+IEBAIC00NCw3ICs0NCw2IEBACj4+IMKgwqDCoMKgwqAgcGFyYW0oaW50LCBkaXNh YmxlX3Bvd2VyX3dlbGwsIC0xKSBcCj4+IMKgwqDCoMKgwqAgcGFyYW0oaW50LCBlbmFibGVfaXBz LCAxKSBcCj4+IMKgwqDCoMKgwqAgcGFyYW0oaW50LCBpbnZlcnRfYnJpZ2h0bmVzcywgMCkgXAo+ PiAtwqDCoMKgIHBhcmFtKGludCwgZW5hYmxlX2d1Y19sb2FkaW5nLCAwKSBcCj4+IMKgwqDCoMKg wqAgcGFyYW0oaW50LCBlbmFibGVfZ3VjX3N1Ym1pc3Npb24sIDApIFwKPj4gwqDCoMKgwqDCoCBw YXJhbShpbnQsIGd1Y19sb2dfbGV2ZWwsIC0xKSBcCj4+IMKgwqDCoMKgwqAgcGFyYW0oY2hhciAq LCBndWNfZmlybXdhcmVfcGF0aCwgTlVMTCkgXAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZ3VjLmggCj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3Vj LmgKPj4gaW5kZXggYWE5YTdiNS4uZmEwOWMyYiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZ3VjLmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Z3VjLmgKPj4gQEAgLTEwMyw3ICsxMDMsNyBAQCBzdGF0aWMgaW5saW5lIHUzMiBndWNfZ2d0dF9v ZmZzZXQoc3RydWN0IGk5MTVfdm1hIAo+PiAqdm1hKQo+PiDCoCBpbnQgaW50ZWxfZ3VjX3Jlc3Vt ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+PiDCoCBzdHJ1Y3QgaTkxNV92 bWEgKmludGVsX2d1Y19hbGxvY2F0ZV92bWEoc3RydWN0IGludGVsX2d1YyAqZ3VjLCB1MzIgCj4+ IHNpemUpOwo+PiDCoCAtaW50IGludGVsX2d1Y19zZWxlY3RfZncoc3RydWN0IGludGVsX2d1YyAq Z3VjKTsKPj4gK3ZvaWQgaW50ZWxfZ3VjX3NlbGVjdF9mdyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMp Owo+PiDCoCBpbnQgaW50ZWxfZ3VjX2luaXRfaHcoc3RydWN0IGludGVsX2d1YyAqZ3VjKTsKPj4g wqAgdTMyIGludGVsX2d1Y193b3BjbV9zaXplKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdik7Cj4+IMKgIGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNf bG9hZGVyLmMgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5jCj4+ IGluZGV4IGM3YTgwMGEuLmNhZTgzMzMgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2d1Y19sb2FkZXIuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ndWNfbG9hZGVyLmMKPj4gQEAgLTM4MCw5ICszODAsOCBAQCBpbnQgaW50ZWxfZ3VjX2luaXRf aHcoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+PiDCoMKgICogaW50ZWxfZ3VjX3NlbGVjdF9mdygp IC0gc2VsZWN0cyBHdUMgZmlybXdhcmUgZm9yIGxvYWRpbmcKPj4gwqDCoCAqIEBndWM6wqDCoMKg IGludGVsX2d1YyBzdHJ1Y3QKPj4gwqDCoCAqCj4+IC0gKiBSZXR1cm46IHplcm8gd2hlbiB3ZSBr bm93IGZpcm13YXJlLCBub24temVybyBpbiBvdGhlciBjYXNlCj4gVGhpcyBjaGFuZ2UgY2FuIGJl IGEgbmV3IHBhdGNoIGFuZCBzaW5jZSB0aGlzL21vc3Qgb2YgdGhlIHBhdGNoIGlzIAo+IGRlcGVu ZGluZyBvbiBNaWNoYWwncyBzZXJpZXMgSSB3b3VsZCBzdWdnZXN0IHRvIHBvc3QgdGhlIHNlcmll cyBvbmNlCj4gdGhhdCBnZXRzIG1lcmdlZC4KCldpbGwgZG8uCj4+IMKgwqAgKi8KPj4gLWludCBp bnRlbF9ndWNfc2VsZWN0X2Z3KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPj4gK3ZvaWQgaW50ZWxf Z3VjX3NlbGVjdF9mdyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCj4+IMKgIHsKPj4gwqDCoMKgwqDC oCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBndWNfdG9faTkxNShndWMpOwo+ PiDCoCBAQCAtNDA5LDkgKzQwOCw5IEBAIGludCBpbnRlbF9ndWNfc2VsZWN0X2Z3KHN0cnVjdCBp bnRlbF9ndWMgKmd1YykKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGd1Yy0+ZncubWFqb3JfdmVyX3dh bnRlZCA9IEdMS19GV19NQUpPUjsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGd1Yy0+ZncubWlub3Jf dmVyX3dhbnRlZCA9IEdMS19GV19NSU5PUjsKPj4gwqDCoMKgwqDCoCB9IGVsc2Ugewo+PiAtwqDC oMKgwqDCoMKgwqAgRFJNX0VSUk9SKCJObyBHdUMgZmlybXdhcmUga25vd24gZm9yIHBsYXRmb3Jt IHdpdGggR3VDIVxuIik7Cj4+IC3CoMKgwqDCoMKgwqDCoCByZXR1cm4gLUVOT0VOVDsKPj4gK8Kg wqDCoMKgwqDCoMKgIGlmKEhBU19HVUMoZGV2X3ByaXYpKQo+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBEUk1fRVJST1IoIk5vIEdVQyBGVyBrbm93biBmb3IgYSBwbGF0Zm9ybSB3aXRoIEd1QyFc biIpOwo+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuOwo+PiDCoMKgwqDCoMKgIH0KPj4gwqAgLcKg wqDCoCByZXR1cm4gMDsKPj4gwqAgfQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfaHVjLmMgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaHVjLmMKPj4g aW5kZXggNGI0Y2Y1Ni4uN2Y1OWM4ZSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfaHVjLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaHVjLmMK Pj4gQEAgLTE3NSw3ICsxNzUsOSBAQCB2b2lkIGludGVsX2h1Y19zZWxlY3RfZncoc3RydWN0IGlu dGVsX2h1YyAqaHVjKQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgaHVjLT5mdy5tYWpvcl92ZXJfd2Fu dGVkID0gR0xLX0hVQ19GV19NQUpPUjsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGh1Yy0+ZncubWlu b3JfdmVyX3dhbnRlZCA9IEdMS19IVUNfRldfTUlOT1I7Cj4+IMKgwqDCoMKgwqAgfSBlbHNlIHsK Pj4gLcKgwqDCoMKgwqDCoMKgIERSTV9FUlJPUigiTm8gSHVDIGZpcm13YXJlIGtub3duIGZvciBw bGF0Zm9ybSB3aXRoIEh1QyFcbiIpOwo+PiArwqDCoMKgwqDCoMKgwqAgLyogRm9yIG5vdywgZXZl cnl0aGluZyB3aXRoIGEgR3VDIGFsc28gaGFzIGEgSHVDICovCj4+ICvCoMKgwqDCoMKgwqDCoCBp ZiAoSEFTX0dVQyhkZXZfcHJpdikpCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERSTV9FUlJP UigiTm8gSHVDIEZXIGtub3duIGZvciBhIHBsYXRmb3JtIHdpdGggSHVDIVxuIik7Cj4+IMKgwqDC oMKgwqDCoMKgwqDCoCByZXR1cm47Cj4+IMKgwqDCoMKgwqAgfQo+PiDCoCB9Cj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5jIAo+PiBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3VjLmMKPj4gaW5kZXggN2I5MzhlOC4uYjY4N2Q5NyAxMDA2NDQKPj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF91Yy5jCj4+IEBAIC00OSw0NSArNDksNTMgQEAgc3RhdGljIGludCBfX2lu dGVsX3VjX3Jlc2V0X2h3KHN0cnVjdCAKPj4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+ IMKgIMKgIHZvaWQgaW50ZWxfdWNfc2FuaXRpemVfb3B0aW9ucyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCj4+IMKgIHsKPj4gK8KgwqDCoCAvKiBWZXJpZnkgaGFyZHdhcmUgc3Vw cG9ydCAqLwo+PiDCoMKgwqDCoMKgIGlmICghSEFTX0dVQyhkZXZfcHJpdikpIHsKPj4gLcKgwqDC oMKgwqDCoMKgIGlmIChpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX2xvYWRpbmcgPiAwIHx8Cj4+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfc3VibWlz c2lvbiA+IDApCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERSTV9JTkZPKCJJZ25vcmluZyBH dUMgb3B0aW9ucywgbm8gaGFyZHdhcmVcbiIpOwo+PiAtCj4+IC3CoMKgwqDCoMKgwqDCoCBpOTE1 X21vZHBhcmFtcy5lbmFibGVfZ3VjX2xvYWRpbmcgPSAwOwo+PiAtwqDCoMKgwqDCoMKgwqAgaTkx NV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19zdWJtaXNzaW9uID0gMDsKPj4gK8KgwqDCoMKgwqDCoMKg IGlmIChpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX3N1Ym1pc3Npb24gPiAwKQo+PiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERSTV9JTkZPKCJJZ25vcmluZyBHdUMgc3VibWlzc2lv biBlbmFibGUsIG5vIEhXXG4iKTsKPiBDYW4gd2Ugc2F5IG9wdGlvbiBpbiB0aGUgbWVzc2FnZSAt ICJJZ25vcmluZyBHdUMgc3VibWlzc2lvbiBlbmFibGUgCj4gb3B0aW9uLCBubyBoYXJkd2FyZSIK PiBzcGxpdCB0aGUgbWVzc2FnZSBvdmVyIHR3byBsaW5lcy4KCldpbGwgZG8uCj4+ICsgaTkxNV9t b2RwYXJhbXMuZW5hYmxlX2d1Y19zdWJtaXNzaW9uID0gMDsKPj4gwqDCoMKgwqDCoMKgwqDCoMKg IHJldHVybjsKPj4gwqDCoMKgwqDCoCB9Cj4+IMKgIC3CoMKgwqAgLyogQSBuZWdhdGl2ZSB2YWx1 ZSBtZWFucyAidXNlIHBsYXRmb3JtIGRlZmF1bHQiICovCj4+IC3CoMKgwqAgaWYgKGk5MTVfbW9k cGFyYW1zLmVuYWJsZV9ndWNfbG9hZGluZyA8IDApCj4+IC3CoMKgwqDCoMKgwqDCoCBpOTE1X21v ZHBhcmFtcy5lbmFibGVfZ3VjX2xvYWRpbmcgPSBIQVNfR1VDX1VDT0RFKGRldl9wcml2KTsKPj4g K8KgwqDCoCAvKiBWZXJpZnkgZmlybXdhcmUgc3VwcG9ydCAqLwo+PiArwqDCoMKgIGlmICghSEFT X0dVQ19VQ09ERShkZXZfcHJpdikpIHsKPj4gK8KgwqDCoMKgwqDCoMKgIGlmIChpOTE1X21vZHBh cmFtcy5lbmFibGVfZ3VjX3N1Ym1pc3Npb24gPT0gMSkgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIERSTV9JTkZPKCJJZ25vcmluZyBHdUMgc3VibWlzc2lvbiBlbmFibGUsIG5v IEZXXG4iKTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpOTE1X21vZHBhcmFt cy5lbmFibGVfZ3VjX3N1Ym1pc3Npb24gPSAwOwo+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuOwo+ IHRoaXMgcmV0dXJuIGlzIG5vdCBhbGlnbmVkIHByb3Blcmx5LiBjb2RlIGluZGVudGF0aW9uwqAg bmVlZHMgdG8gdXBkYXRlZC4KPiBwbGVhc2UgcnVuICJzY3JpcHRzL2NoZWNrcGF0Y2gucGwgLS1z dHJpY3QiIG9uIGFsbCBwYXRjaGVzIHRoYXQgaGVscHMgCj4gaWRlbnRpZnkgc3VjaCBpc3N1ZXMg ZmFzdGVyLgoKSSB3aWxsIGNoZWNrIHRoZSBhbGlnbm1lbnQuCj4+ICvCoMKgwqDCoMKgwqDCoCB9 Cj4+IMKgIC3CoMKgwqAgLyogVmVyaWZ5IGZpcm13YXJlIHZlcnNpb24gKi8KPj4gLcKgwqDCoCBp ZiAoaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19sb2FkaW5nKSB7Cj4+IC3CoMKgwqDCoMKgwqDC oCBpZiAoSEFTX0hVQ19VQ09ERShkZXZfcHJpdikpCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGludGVsX2h1Y19zZWxlY3RfZncoJmRldl9wcml2LT5odWMpOwo+PiArwqDCoMKgwqDCoMKgwqAg aWYgKGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfc3VibWlzc2lvbiA8IDApIHsKPj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX3N1Ym1p c3Npb24gPSAwOwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm47Cj4+ICvCoMKgwqDC oMKgwqDCoCB9Cj4+IMKgIC3CoMKgwqDCoMKgwqDCoCBpZiAoaW50ZWxfZ3VjX3NlbGVjdF9mdygm ZGV2X3ByaXYtPmd1YykpCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGk5MTVfbW9kcGFyYW1z LmVuYWJsZV9ndWNfbG9hZGluZyA9IDA7Cj4+ICvCoMKgwqDCoMKgwqDCoCAvKgo+PiArwqDCoMKg wqDCoMKgwqDCoCAqIElmICJyZXF1aXJlZCIgKD4gMSksIGxldCBpdCBjb250aW51ZSBhbmQgd2Ug d2lsbCBmYWlsIGxhdGVyCj4+ICvCoMKgwqDCoMKgwqDCoMKgICogZHVlIHRvIHRoZSBsYWNrIG9m IGZpcm13YXJlCj4+ICvCoMKgwqDCoMKgwqDCoMKgICovCj4+IMKgwqDCoMKgwqAgfQo+PiDCoCAt wqDCoMKgIC8qIENhbid0IGVuYWJsZSBndWMgc3VibWlzc2lvbiB3aXRob3V0IGd1YyBsb2FkZWQg Ki8KPj4gLcKgwqDCoCBpZiAoIWk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfbG9hZGluZykKPj4g LcKgwqDCoMKgwqDCoMKgIGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfc3VibWlzc2lvbiA9IDA7 Cj4+IC0KPj4gLcKgwqDCoCAvKiBBIG5lZ2F0aXZlIHZhbHVlIG1lYW5zICJ1c2UgcGxhdGZvcm0g ZGVmYXVsdCIgKi8KPj4gK8KgwqDCoCAvKgo+PiArwqDCoMKgwqAgKiBBIG5lZ2F0aXZlIHZhbHVl IG1lYW5zICJ1c2UgcGxhdGZvcm0gZGVmYXVsdCIgKGVuYWJsZWQgaWYgd2UgCj4+IGhhdmUKPj4g K8KgwqDCoMKgICogc3Vydml2ZWQgdG8gZ2V0IGhlcmUpCj4+ICvCoMKgwqDCoCAqLwo+PiDCoMKg wqDCoMKgIGlmIChpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX3N1Ym1pc3Npb24gPCAwKQo+PiAt wqDCoMKgwqDCoMKgwqAgaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19zdWJtaXNzaW9uID0gSEFT X0dVQ19TQ0hFRChkZXZfcHJpdik7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGk5MTVfbW9k cGFyYW1zLmVuYWJsZV9ndWNfc3VibWlzc2lvbiA9IEhBU19HVUMoZGV2X3ByaXYpOwo+PiArCj4+ IMKgIH0KPj4gwqAgwqAgdm9pZCBpbnRlbF91Y19pbml0X2Vhcmx5KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKPj4gwqAgewo+PiDCoMKgwqDCoMKgIGludGVsX2d1Y19pbml0X2Vh cmx5KCZkZXZfcHJpdi0+Z3VjKTsKPj4gK8KgwqDCoCBpbnRlbF9ndWNfc2VsZWN0X2Z3KCZkZXZf cHJpdi0+Z3VjKTsKPj4gK8KgwqDCoCBpbnRlbF9odWNfc2VsZWN0X2Z3KCZkZXZfcHJpdi0+aHVj KTsKPj4gwqAgfQo+PiDCoCDCoCB2b2lkIGludGVsX3VjX2luaXRfZncoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQo+PiDCoCB7Cj4+ICvCoMKgwqAgaWYgKCFIQVNfR1VDKGRldl9w cml2KSkKPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybjsKPj4gwqDCoMKgwqDCoCBpbnRlbF91Y19m d19mZXRjaChkZXZfcHJpdiwgJmRldl9wcml2LT5odWMuZncpOwo+PiDCoMKgwqDCoMKgIGludGVs X3VjX2Z3X2ZldGNoKGRldl9wcml2LCAmZGV2X3ByaXYtPmd1Yy5mdyk7Cj4+IMKgIH0KPj4gQEAg LTE1NCw3ICsxNjIsNyBAQCBpbnQgaW50ZWxfdWNfaW5pdF9odyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAKPj4gKmRldl9wcml2KQo+PiDCoMKgwqDCoMKgIHN0cnVjdCBpbnRlbF9ndWMgKmd1YyA9 ICZkZXZfcHJpdi0+Z3VjOwo+PiDCoMKgwqDCoMKgIGludCByZXQsIGF0dGVtcHRzOwo+PiDCoCAt wqDCoMKgIGlmICghaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19sb2FkaW5nKQo+PiArwqDCoMKg IGlmICghTkVFRFNfR1VDX0xPQURJTkcoZGV2X3ByaXYpKQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAg cmV0dXJuIDA7Cj4+IMKgIMKgwqDCoMKgwqAgZ3VjX2Rpc2FibGVfY29tbXVuaWNhdGlvbihndWMp Owo+PiBAQCAtMjQ0LDE5ICsyNTIsMTUgQEAgaW50IGludGVsX3VjX2luaXRfaHcoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgCj4+ICpkZXZfcHJpdikKPj4gwqDCoMKgwqDCoCBpOTE1X2dndHRfZGlz YWJsZV9ndWMoZGV2X3ByaXYpOwo+PiDCoCDCoMKgwqDCoMKgIERSTV9FUlJPUigiR3VDIGluaXQg ZmFpbGVkXG4iKTsKPj4gLcKgwqDCoCBpZiAoaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19sb2Fk aW5nID4gMSB8fAo+PiAtwqDCoMKgwqDCoMKgwqAgaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19z dWJtaXNzaW9uID4gMSkKPj4gK8KgwqDCoCBpZiAoaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19z dWJtaXNzaW9uID4gMSkgewo+PiArwqDCoMKgwqDCoMKgwqAgRFJNX05PVEUoIkd1QyBpcyByZXF1 aXJlZCwgc28gbWFya2luZyB0aGUgR1BVIGFzIHdlZGdlZFxuIik7Cj4+IMKgwqDCoMKgwqDCoMKg wqDCoCByZXQgPSAtRUlPOwo+PiAtwqDCoMKgIGVsc2UKPj4gLcKgwqDCoMKgwqDCoMKgIHJldCA9 IDA7Cj4+IC0KPj4gLcKgwqDCoCBpZiAoaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19zdWJtaXNz aW9uKSB7Cj4+IC3CoMKgwqDCoMKgwqDCoCBpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX3N1Ym1p c3Npb24gPSAwOwo+PiArwqDCoMKgIH0gZWxzZSBpZiAoaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1 Y19zdWJtaXNzaW9uID09IDEpIHsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIERSTV9OT1RFKCJGYWxs aW5nIGJhY2sgZnJvbSBHdUMgc3VibWlzc2lvbiB0byBleGVjbGlzdCAKPj4gbW9kZVxuIik7Cj4+ IC3CoMKgwqAgfQo+PiAtCj4+IC3CoMKgwqAgaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19sb2Fk aW5nID0gMDsKPj4gLcKgwqDCoCBEUk1fTk9URSgiR3VDIGZpcm13YXJlIGxvYWRpbmcgZGlzYWJs ZWRcbiIpOwo+PiArwqDCoMKgwqDCoMKgwqAgaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19zdWJt aXNzaW9uID0gMDsKPj4gK8KgwqDCoMKgwqDCoMKgIHJldCA9IDA7Cj4+ICvCoMKgwqAgfSBlbHNl Cj4+ICvCoMKgwqDCoMKgwqDCoCByZXQgPSAwOwo+PiDCoCDCoMKgwqDCoMKgIHJldHVybiByZXQ7 Cj4+IMKgIH0KPj4gQEAgLTI2NSw3ICsyNjksNyBAQCB2b2lkIGludGVsX3VjX2ZpbmlfaHcoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgCj4+ICpkZXZfcHJpdikKPj4gwqAgewo+PiDCoMKgwqDCoMKg IGd1Y19mcmVlX2xvYWRfZXJyX2xvZygmZGV2X3ByaXYtPmd1Yyk7Cj4+IMKgIC3CoMKgwqAgaWYg KCFpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX2xvYWRpbmcpCj4+ICvCoMKgwqAgaWYgKCFORUVE U19HVUNfTE9BRElORyhkZXZfcHJpdikpCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm47Cj4+ IMKgIMKgwqDCoMKgwqAgaWYgKGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfc3VibWlzc2lvbikK Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jIAo+PiBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCj4+IGluZGV4IDk4MzYxN2IuLjY5 NmUxMWYgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5j Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCj4+IEBAIC0xODAy LDggKzE4MDIsNyBAQCBpbnQgaW50ZWxfZ3VjX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl IAo+PiAqZGV2X3ByaXYpCj4+IMKgIHsKPj4gwqDCoMKgwqDCoCBpbnQgcmV0Owo+PiDCoCAtwqDC oMKgIGlmICghSEFTX0dVQyhkZXZfcHJpdikpCj4+IC3CoMKgwqDCoMKgwqDCoCByZXR1cm4gLUVJ TlZBTDsKPj4gK8KgwqDCoCBHRU1fQlVHX09OKCFIQVNfR1VDKGRldl9wcml2KSk7Cj4+IMKgIMKg wqDCoMKgwqAgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9nZXQoZGV2X3ByaXYsIEZPUkNFV0FLRV9B TEwpOwo+PiDCoMKgwqDCoMKgIHJldCA9IGdlbjZfaHdfZG9tYWluX3Jlc2V0KGRldl9wcml2LCBH RU45X0dSRE9NX0dVQyk7Cj4gT3ZlcmFsbCBwYXRjaCBsb2dpYyBsb29rcyBmaW5lLiBXaWxsIG5l ZWQgc29tZSBtb3JlIHVwZGF0ZXMvcmViYXNlIAo+IGxhdGVyIGFzIHN1Z2dlc3RlZC4KCkkgd2ls bCB3YWl0IGZvciBNaWNoYWwncyBzZXJpZXMgYmVmb3JlIHNlbmRpbmcgdGhlIG5leHQgcmV2aXNp b24uCgpUaGFua3MgZm9yIHRoZSByZXZpZXcuCgpSZWdhcmRzLAoKU3VqYXJpdGhhCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK