From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Vivi, Rodrigo" Subject: Re: [PATCH i-g-t 3/5] kms_frontbuffer_tracking: Skip on unreliable CRC. Date: Thu, 3 Dec 2015 22:32:29 +0000 Message-ID: <1449181967.1387.175.camel@intel.com> References: <1449160758-20198-1-git-send-email-rodrigo.vivi@intel.com> <1449160758-20198-3-git-send-email-rodrigo.vivi@intel.com> <1449171861.1387.173.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 8B9ED6ECC2 for ; Thu, 3 Dec 2015 14:32:31 -0800 (PST) In-Reply-To: Content-Language: en-US Content-ID: <7F5278FA592BF74A87825F8E2771AF5B@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "przanoni@gmail.com" Cc: "daniel.vetter@ffwll.ch" , "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMDE1LTEyLTAzIGF0IDE3OjU5IC0wMjAwLCBQYXVsbyBaYW5vbmkgd3JvdGU6DQo+ IDIwMTUtMTItMDMgMTc6NDQgR01ULTAyOjAwIFZpdmksIFJvZHJpZ28gPHJvZHJpZ28udml2aUBp bnRlbC5jb20+Og0KPiA+IE9uIFRodSwgMjAxNS0xMi0wMyBhdCAxNTowNSAtMDIwMCwgUGF1bG8g WmFub25pIHdyb3RlOg0KPiA+ID4gMjAxNS0xMi0wMyAxNDozOSBHTVQtMDI6MDAgUm9kcmlnbyBW aXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPjoNCj4gPiA+ID4gRXZlbiB3aXRoIGFsbCBzaW5r IGNyYyByZS13b3JrcyB3ZSBzdGlsbCBoYXZlIHBsYXRmb3Jtcw0KPiA+ID4gPiB3aGVyZSBhZnRl ciA2IHZibGFua3MgaXQgaXMgdW5hYmxlIHRvIGNhbGN1bGF0ZSB0aGUNCj4gPiA+ID4gc2luayBj cmMuIEJ1dCBpZiB3ZSBkb24ndCBnZXQgdGhlIHNpbmsgY3JjIGl0IGlzbid0IHRydWUNCj4gPiA+ ID4gdGhhdCB0ZXN0IGZhaWxlZCwgYnV0IHRoYXQgd2UgaGF2ZSBubyB3YXlzIHRvIHNheSB0ZXN0 DQo+ID4gPiA+IHBhc3NlZCBvciBmYWlsZWQuDQo+ID4gPiA+IA0KPiA+ID4gPiBTbyBsZXQncyBw cmludCBhIG1lc3NhZ2UgYW5kIG1vdmUgZm9yd2FyZCBpbiBjYXNlIHNpbmsgY3JjDQo+ID4gPiA+ IGNhbm5vdCBoZWxwIHVzIHRvIGtub3cgaWYgdGhlIHNjcmVlbiBoYXMgYmVlbiB1cGRhdGVkLg0K PiA+ID4gPiANCj4gPiA+ID4gdjI6IEFsc28gaW5jbHVkZSBhIG1lc3NhZ2Ugb24gc2V0dXBfc2lu a19jcmMgYW5kIGFsc28NCj4gPiA+ID4gb25seSBza2lwIHdoZW4gaXQgaXMgbWFuZGF0b3J5LCBp LmUuIHdoZW4gcnVubmluZyBmb3IgUFNSLg0KPiA+ID4gDQo+ID4gPiBJZiBJIGFzc3VtZSB0aGF0 IHRoZSBpZGVhIHlvdSdyZSBpbXBsZW1lbnRpbmcgaXMgd2hhdCB3ZSB3YW50LCANCj4gPiA+IHRo ZW4NCj4gPiA+IHRoZSBwYXRjaCBsb29rcyBjb3JyZWN0IGFuZCBBY2tlZC1ieTogUGF1bG8gWmFu b25pDQo+ID4gPiA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPiAuDQo+ID4gPiANCj4gPiA+IE15 IHByb2JsZW0gaXMgdGhlIHdob2xlIGlkZWEgb2YgInNpbGVudGx5IiBza2lwcGluZyB0aGUgdGVz dHMgaW4gDQo+ID4gPiBjYXNlDQo+ID4gPiB0aGUgc2luayBDUkMgZmFpbHMuIFdoYXQgaWYgUUEn cyBvbmx5IG1hY2hpbmVzIGFsd2F5cyBoYXZlIHRoaXMNCj4gPiA+IHByb2JsZW0gd2l0aCBzaW5r IENSQ3MgYW5kIGFsd2F5cyBza2lwIGV2ZXJ5IHNpbmdsZSBQU1IgdGVzdCANCj4gPiA+IGR1cmlu Zw0KPiA+ID4gYXV0b21hdGljIHRlc3Rpbmc/IFdlIHdvbid0IGRpc2NvdmVyIHRoYXQgaXQncyBz a2lwcGluZywgYW5kIA0KPiA+ID4gd2UnbGwNCj4gPiA+IGVuZA0KPiA+ID4gdXAgYXNzdW1pbmcg UFNSIHdvcmtzIGR1ZSB0byBubyB0ZXN0IGZhaWx1cmVzLCB3aGlsZSBpbiBmYWN0IGl0J3MgDQo+ ID4gPiBub3QNCj4gPiA+IGV2ZW4gYmVpbmcgdGVzdGVkLiBUaGF0IHNhaWQsIEkgZG9uJ3QgcmVh bGx5IGhhdmUgYSBzb2x1dGlvbiBmb3INCj4gPiA+IHRoaXMuDQo+ID4gDQo+ID4gWWVhaCwgdGhp cyBpcyBhIGdvb2QgcG9pbnQuIFRoaXMgaXMgb25lIG9mIHRoZSByZWFzb25zIEkgd2FudCB0byAN Cj4gPiBhZGQNCj4gPiB0aGF0IGF1eCBmaXggc29vbiBhcyB3ZWxsLiBXaXRoIHRoYXQgaW4gcGxh Y2UgdGhlIHNpbmsgQ1JDIGlzIG5vdCANCj4gPiB0aGF0DQo+ID4gdW5yZWxpYWJsZSBhbmQgaWYg c2tpcCB3aWxsIGJlIHJhcmUgYW5kIHJhbmRvbS4NCj4gPiBJIHJ1biB0aGUgdGVzdHMgaW4gbWFu eSBkaWZmZXJlbnQgcGxhdGZvcm1zIGhlcmUgYW5kIG1hbnkgdGltZXMgYW5kIA0KPiA+IGl0DQo+ ID4gaXMgcmVhbGx5IHJhcmUgdG8gc2tpcCBzbyBJIHByZWZlciB0byBza2lwIHdoZW4gdGhhdCBo YXBwZW5zIHRoYW4gDQo+ID4gaGF2ZQ0KPiA+IG5ldyBidWcgZW50cnkgZm9yIGV2ZXJ5IGZhbHNl IHBvc2l0aXZlIHRoYXQgbWlnaHQgcmFuZG9tbHkgaGFwcGVuLg0KPiA+IEFsc28gd2Uga25vdyBp dCBpcyBhIHNpbmsgQ1JDIGlzc3VlIGFuZCBub3QgYSBQU1Igb25lLCBidXQgcGVvcGxlDQo+ID4g bG9va2luZyB0byB0aGUgdGVzdCB3aWxsIGJlbGlldmUgdGhhdCBQU1IgZmFpbGVkIGFuZCBub3Qg c2luayANCj4gPiBjcmMuLi4NCj4gDQo+IElmIHRoZSBjdXJyZW50IGZhaWx1cmVzIGRvbid0IGhh cHBlbiAxMDAlIG9mIHRoZSB0aW1lLCBJIHdvbmRlciBpZiBpdA0KPiB3b3VsZG4ndCBiZSBiZXR0 ZXIgdG8ganVzdCByZS1ydW4gdGhlIHNhbWUgc3VidGVzdCBhbGwgb3ZlciBhZ2Fpbg0KPiAoaW5j bHVkaW5nIHRoZSBtb2RlIHVuc2V0L3NldHMpIHVudGlsIHRoZSBDUkNzIHdvcmsuDQoNClllYWgs IEkgYWdyZWUgdGhpcyBpcyBhIGJlc3QgYXBwcm9hY2guIExldCdzIHN0YXkgd2l0aCB0aGlzIHNr aXAgZm9yDQpub3cgYW5kIGFwcGx5IHRoaXMgcmV0cnkgb24gdG9wDQoNCj4gDQo+ID4gDQo+ID4g PiBNYXliZSBzb21lb25lIGVsc2UgY291bGQgaGF2ZSBhbiBpZGVhIGhlcmU/DQo+ID4gPiANCj4g PiA+ID4gDQo+ID4gPiA+IENjOiBQYXVsbyBaYW5vbmkgPHBhdWxvLnIuemFub25pQGludGVsLmNv bT4NCj4gPiA+ID4gU2lnbmVkLW9mZi1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50 ZWwuY29tPg0KPiA+ID4gPiAtLS0NCj4gPiA+ID4gIHRlc3RzL2ttc19mcm9udGJ1ZmZlcl90cmFj a2luZy5jIHwgMzcgDQo+ID4gPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0NCj4gPiA+ ID4gLS0tLS0tLS0tDQo+ID4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwg MTIgZGVsZXRpb25zKC0pDQo+ID4gPiA+IA0KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvdGVzdHMva21z X2Zyb250YnVmZmVyX3RyYWNraW5nLmMNCj4gPiA+ID4gYi90ZXN0cy9rbXNfZnJvbnRidWZmZXJf dHJhY2tpbmcuYw0KPiA+ID4gPiBpbmRleCBkZGNlYzc1Li5lMjAwOTc1IDEwMDY0NA0KPiA+ID4g PiAtLS0gYS90ZXN0cy9rbXNfZnJvbnRidWZmZXJfdHJhY2tpbmcuYw0KPiA+ID4gPiArKysgYi90 ZXN0cy9rbXNfZnJvbnRidWZmZXJfdHJhY2tpbmcuYw0KPiA+ID4gPiBAQCAtODU5LDEyICs4NTks MjIgQEAgc3RhdGljIGJvb2wgcHNyX3dhaXRfdW50aWxfZW5hYmxlZCh2b2lkKQ0KPiA+ID4gPiAg I2RlZmluZSBwc3JfZW5hYmxlKCkgaWd0X3NldF9tb2R1bGVfcGFyYW1faW50KCJlbmFibGVfcHNy IiwgMSkNCj4gPiA+ID4gICNkZWZpbmUgcHNyX2Rpc2FibGUoKSBpZ3Rfc2V0X21vZHVsZV9wYXJh bV9pbnQoImVuYWJsZV9wc3IiLCANCj4gPiA+ID4gMCkNCj4gPiA+ID4gDQo+ID4gPiA+IC1zdGF0 aWMgdm9pZCBnZXRfc2lua19jcmMoc2lua19jcmNfdCAqY3JjKQ0KPiA+ID4gPiArc3RhdGljIHZv aWQgZ2V0X3NpbmtfY3JjKHNpbmtfY3JjX3QgKmNyYywgYm9vbCBtYW5kYXRvcnkpDQo+ID4gPiA+ ICB7DQo+ID4gPiA+ICsgICAgICAgaW50IHJjLCBlcnJub187DQo+ID4gPiA+ICsNCj4gPiA+ID4g ICAgICAgICBsc2VlayhzaW5rX2NyYy5mZCwgMCwgU0VFS19TRVQpOw0KPiA+ID4gPiANCj4gPiA+ ID4gLSAgICAgICBpZ3RfYXNzZXJ0KHJlYWQoc2lua19jcmMuZmQsIGNyYy0+ZGF0YSwgU0lOS19D UkNfU0laRSkgDQo+ID4gPiA+ID09DQo+ID4gPiA+IC0gICAgICAgICAgICAgICAgICBTSU5LX0NS Q19TSVpFKTsNCj4gPiA+ID4gKyAgICAgICByYyA9IHJlYWQoc2lua19jcmMuZmQsIGNyYy0+ZGF0 YSwgU0lOS19DUkNfU0laRSk7DQo+ID4gPiA+ICsgICAgICAgZXJybm9fID0gZXJybm87DQo+ID4g PiA+ICsNCj4gPiA+ID4gKyAgICAgICBpZiAocmMgPT0gLTEgJiYgZXJybm9fID09IEVUSU1FRE9V VCkgew0KPiA+ID4gPiArICAgICAgICAgICAgICAgaWYgKG1hbmRhdG9yeSkNCj4gPiA+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgaWd0X3NraXAoIlNpbmsgQ1JDIGlzIHVucmVsaWFibGUgb24g DQo+ID4gPiA+IHRoaXMNCj4gPiA+ID4gbWFjaGluZS4gVHJ5IHJ1bm5pbmcgdGhpcyB0ZXN0IGFn YWluIGluZGl2aWR1YWxseVxuIik7DQo+ID4gPiA+ICsgICAgICAgICAgICAgICBlbHNlDQo+ID4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGlndF9pbmZvKCJTaW5rIENSQyBpcyB1bnJlbGlh YmxlIG9uIA0KPiA+ID4gPiB0aGlzDQo+ID4gPiA+IG1hY2hpbmUuIFRyeSBydW5uaW5nIHRoaXMg dGVzdCBhZ2FpbiBpbmRpdmlkdWFsbHlcbiIpOw0KPiA+ID4gPiArICAgICAgIH0NCj4gPiA+ID4g KyAgICAgICBpZ3RfYXNzZXJ0KHJjID09IFNJTktfQ1JDX1NJWkUpOw0KPiA+ID4gPiAgfQ0KPiA+ ID4gPiANCj4gPiA+ID4gIHN0YXRpYyBib29sIHNpbmtfY3JjX2VxdWFsKHNpbmtfY3JjX3QgKmEs IHNpbmtfY3JjX3QgKmIpDQo+ID4gPiA+IEBAIC0xMTQ4LDE3ICsxMTU4LDE3IEBAIHN0YXRpYyB2 b2lkIHByaW50X2NyYyhjb25zdCBjaGFyICpzdHIsDQo+ID4gPiA+IHN0cnVjdCBib3RoX2NyY3Mg KmNyYykNCj4gPiA+ID4gICAgICAgICBmcmVlKHBpcGVfc3RyKTsNCj4gPiA+ID4gIH0NCj4gPiA+ ID4gDQo+ID4gPiA+IC1zdGF0aWMgdm9pZCBjb2xsZWN0X2NyY3Moc3RydWN0IGJvdGhfY3JjcyAq Y3JjcykNCj4gPiA+ID4gK3N0YXRpYyB2b2lkIGNvbGxlY3RfY3JjcyhzdHJ1Y3QgYm90aF9jcmNz ICpjcmNzLCBib29sDQo+ID4gPiA+IG1hbmRhdG9yeV9zaW5rX2NyYykNCj4gPiA+ID4gIHsNCj4g PiA+ID4gICAgICAgICBpZ3RfcGlwZV9jcmNfY29sbGVjdF9jcmMocGlwZV9jcmMsICZjcmNzLT5w aXBlKTsNCj4gPiA+ID4gDQo+ID4gPiA+ICAgICAgICAgaWYgKHNpbmtfY3JjLnN1cHBvcnRlZCkN Cj4gPiA+ID4gLSAgICAgICAgICAgICAgIGdldF9zaW5rX2NyYygmY3Jjcy0+c2luayk7DQo+ID4g PiA+ICsgICAgICAgICAgICAgICBnZXRfc2lua19jcmMoJmNyY3MtPnNpbmssIG1hbmRhdG9yeV9z aW5rX2NyYyk7DQo+ID4gPiA+ICAgICAgICAgZWxzZQ0KPiA+ID4gPiAgICAgICAgICAgICAgICAg bWVtY3B5KCZjcmNzLT5zaW5rLCAidW5zdXBwb3J0ZWQhIiwgDQo+ID4gPiA+IFNJTktfQ1JDX1NJ WkUpOw0KPiA+ID4gPiAgfQ0KPiA+ID4gPiANCj4gPiA+ID4gLXN0YXRpYyB2b2lkIGluaXRfYmx1 ZV9jcmMoZW51bSBwaXhlbF9mb3JtYXQgZm9ybWF0KQ0KPiA+ID4gPiArc3RhdGljIHZvaWQgaW5p dF9ibHVlX2NyYyhlbnVtIHBpeGVsX2Zvcm1hdCBmb3JtYXQsIGJvb2wNCj4gPiA+ID4gbWFuZGF0 b3J5X3NpbmtfY3JjKQ0KPiA+ID4gPiAgew0KPiA+ID4gPiAgICAgICAgIHN0cnVjdCBpZ3RfZmIg Ymx1ZTsNCj4gPiA+ID4gICAgICAgICBpbnQgcmM7DQo+ID4gPiA+IEBAIC0xMTc2LDcgKzExODYs NyBAQCBzdGF0aWMgdm9pZCBpbml0X2JsdWVfY3JjKGVudW0gDQo+ID4gPiA+IHBpeGVsX2Zvcm1h dA0KPiA+ID4gPiBmb3JtYXQpDQo+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi bHVlLmZiX2lkLCAwLCAwLA0KPiA+ID4gPiAmcHJpbV9tb2RlX3BhcmFtcy5jb25uZWN0b3JfaWQs IDEsDQo+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltX21vZGVfcGFyYW1z Lm1vZGUpOw0KPiA+ID4gPiAgICAgICAgIGlndF9hc3NlcnRfZXEocmMsIDApOw0KPiA+ID4gPiAt ICAgICAgIGNvbGxlY3RfY3JjcygmYmx1ZV9jcmNzW2Zvcm1hdF0uY3JjKTsNCj4gPiA+ID4gKyAg ICAgICBjb2xsZWN0X2NyY3MoJmJsdWVfY3Jjc1tmb3JtYXRdLmNyYywgDQo+ID4gPiA+IG1hbmRh dG9yeV9zaW5rX2NyYyk7DQo+ID4gPiA+IA0KPiA+ID4gPiAgICAgICAgIHByaW50X2NyYygiQmx1 ZSBDUkM6ICAiLCAmYmx1ZV9jcmNzW2Zvcm1hdF0uY3JjKTsNCj4gPiA+ID4gDQo+ID4gPiA+IEBA IC0xMTg4LDcgKzExOTgsOCBAQCBzdGF0aWMgdm9pZCBpbml0X2JsdWVfY3JjKGVudW0gDQo+ID4g PiA+IHBpeGVsX2Zvcm1hdA0KPiA+ID4gPiBmb3JtYXQpDQo+ID4gPiA+ICB9DQo+ID4gPiA+IA0K PiA+ID4gPiAgc3RhdGljIHZvaWQgaW5pdF9jcmNzKGVudW0gcGl4ZWxfZm9ybWF0IGZvcm1hdCwN Cj4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcmF3X3BhdHRlcm5faW5mbyAq cGF0dGVybikNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcmF3X3BhdHRl cm5faW5mbyAqcGF0dGVybiwNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIGJvb2wgbWFu ZGF0b3J5X3NpbmtfY3JjKQ0KPiA+ID4gPiAgew0KPiA+ID4gPiAgICAgICAgIGludCByLCByXywg cmM7DQo+ID4gPiA+ICAgICAgICAgc3RydWN0IGlndF9mYiB0bXBfZmJzW3BhdHRlcm4tPm5fcmVj dHNdOw0KPiA+ID4gPiBAQCAtMTIyNCw3ICsxMjM1LDcgQEAgc3RhdGljIHZvaWQgaW5pdF9jcmNz KGVudW0gcGl4ZWxfZm9ybWF0DQo+ID4gPiA+IGZvcm1hdCwNCj4gPiA+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIA0KPiA+ID4gPiAgJnByaW1fbW9kZV9wYXJhbXMuY29ubmVj dG9yX2lkLA0KPiA+ID4gPiAxLA0KPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHByaW1fbW9kZV9wYXJhbXMubW9kZSk7DQo+ID4gPiA+ICAgICAgICAgICAgICAgICBp Z3RfYXNzZXJ0X2VxKHJjLCAwKTsNCj4gPiA+ID4gLSAgICAgICAgICAgICAgIGNvbGxlY3RfY3Jj cygmcGF0dGVybi0+Y3Jjc1tmb3JtYXRdW3JdKTsNCj4gPiA+ID4gKyAgICAgICAgICAgICAgIGNv bGxlY3RfY3JjcygmcGF0dGVybi0+Y3Jjc1tmb3JtYXRdW3JdLA0KPiA+ID4gPiBtYW5kYXRvcnlf c2lua19jcmMpOw0KPiA+ID4gPiAgICAgICAgIH0NCj4gPiA+ID4gDQo+ID4gPiA+ICAgICAgICAg Zm9yIChyID0gMDsgciA8IHBhdHRlcm4tPm5fcmVjdHM7IHIrKykgew0KPiA+ID4gPiBAQCAtMTM0 NSw2ICsxMzU2LDggQEAgc3RhdGljIHZvaWQgc2V0dXBfc2lua19jcmModm9pZCkNCj4gPiA+ID4g ICAgICAgICBlcnJub18gPSBlcnJubzsNCj4gPiA+ID4gICAgICAgICBpZiAocmMgPT0gLTEgJiYg ZXJybm9fID09IEVOT1RUWSkNCj4gPiA+ID4gICAgICAgICAgICAgICAgIGlndF9pbmZvKCJTaW5r IENSQyBub3Qgc3VwcG9ydGVkOiBwYW5lbCBkb2Vzbid0DQo+ID4gPiA+IHN1cHBvcnQgaXRcbiIp Ow0KPiA+ID4gPiArICAgICAgIGlmIChyYyA9PSAtMSAmJiBlcnJub18gPT0gRVRJTUVET1VUKQ0K PiA+ID4gPiArICAgICAgICAgICAgICAgaWd0X2luZm8oIlNpbmsgQ1JDIG5vdCByZWxpYWJsZSBv biB0aGlzIHBhbmVsOg0KPiA+ID4gPiBza2lwcGluZyBpdFxuIik7DQo+ID4gPiA+ICAgICAgICAg ZWxzZSBpZiAocmMgPT0gU0lOS19DUkNfU0laRSkNCj4gPiA+ID4gICAgICAgICAgICAgICAgIHNp bmtfY3JjLnN1cHBvcnRlZCA9IHRydWU7DQo+ID4gPiA+ICAgICAgICAgZWxzZQ0KPiA+ID4gPiBA QCAtMTU3Nyw3ICsxNTkwLDcgQEAgc3RhdGljIGludCBhZGp1c3RfYXNzZXJ0aW9uX2ZsYWdzKGNv bnN0DQo+ID4gPiA+IHN0cnVjdCB0ZXN0X21vZGUgKnQsIGludCBmbGFncykNCj4gPiA+ID4gICAg ICAgICBpZiAoIW9wdC5jaGVja19jcmMgfHwgKGZsYWdzX18gJiBET05UX0FTU0VSVF9DUkMpKQ0K PiA+ID4gPiAgICAgIFwNCj4gPiA+ID4gICAgICAgICAgICAgICAgIGJyZWFrOw0KPiA+ID4gPiAg ICAgIFwNCj4gPiA+ID4gDQo+ID4gPiA+ICAgICAgXA0KPiA+ID4gPiAtICAgICAgIGNvbGxlY3Rf Y3JjcygmY3JjXyk7DQo+ID4gPiA+ICAgICAgXA0KPiA+ID4gPiArICAgICAgIGNvbGxlY3RfY3Jj cygmY3JjXywgbWFuZGF0b3J5X3NpbmtfY3JjKTsNCj4gPiA+ID4gICAgICBcDQo+ID4gPiA+ICAg ICAgICAgcHJpbnRfY3JjKCJDYWxjdWxhdGVkIENSQzoiLCAmY3JjXyk7DQo+ID4gPiA+ICAgICAg XA0KPiA+ID4gPiANCj4gPiA+ID4gICAgICBcDQo+ID4gPiA+ICAgICAgICAgaWd0X2Fzc2VydCh3 YW50ZWRfY3JjKTsNCj4gPiA+ID4gICAgICBcDQo+ID4gPiA+IEBAIC0xNzk3LDkgKzE4MTAsOSBA QCBzdGF0aWMgdm9pZCBwcmVwYXJlX3N1YnRlc3RfZGF0YShjb25zdCANCj4gPiA+ID4gc3RydWN0 DQo+ID4gPiA+IHRlc3RfbW9kZSAqdCwNCj4gPiA+ID4gDQo+ID4gPiA+ICAgICAgICAgdW5zZXRf YWxsX2NydGNzKCk7DQo+ID4gPiA+IA0KPiA+ID4gPiAtICAgICAgIGluaXRfYmx1ZV9jcmModC0+ Zm9ybWF0KTsNCj4gPiA+ID4gKyAgICAgICBpbml0X2JsdWVfY3JjKHQtPmZvcm1hdCwgdC0+ZmVh dHVyZSAmIEZFQVRVUkVfUFNSKTsNCj4gPiA+ID4gICAgICAgICBpZiAocGF0dGVybikNCj4gPiA+ ID4gLSAgICAgICAgICAgICAgIGluaXRfY3Jjcyh0LT5mb3JtYXQsIHBhdHRlcm4pOw0KPiA+ID4g PiArICAgICAgICAgICAgICAgaW5pdF9jcmNzKHQtPmZvcm1hdCwgcGF0dGVybiwgdC0+ZmVhdHVy ZSAmDQo+ID4gPiA+IEZFQVRVUkVfUFNSKTsNCj4gPiA+ID4gDQo+ID4gPiA+ICAgICAgICAgZW5h YmxlX2ZlYXR1cmVzX2Zvcl90ZXN0KHQpOw0KPiA+ID4gPiAgfQ0KPiA+ID4gPiAtLQ0KPiA+ID4g PiAyLjQuMw0KPiA+ID4gPiANCj4gPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18NCj4gPiA+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdA0KPiA+ID4g PiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+ID4gPiA+IGh0dHA6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngNCj4gPiA+IA0KPiA+ID4g DQo+ID4gPiANCj4gDQo+IA0KPiAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK