From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH v5 07/19] media: vsp1: dl: Support one-shot entries in the display list Date: Wed, 6 Mar 2019 20:22:44 +0200 Message-ID: <20190306182244.GC4791@pendragon.ideasonboard.com> References: <20190221103212.28764-1-laurent.pinchart+renesas@ideasonboard.com> <20190221103212.28764-8-laurent.pinchart+renesas@ideasonboard.com> <20190222143004.cdp2lj4ic3r4ogw4@DESKTOP-E1NTVVP.localdomain> <20190222144629.GA5020@pendragon.ideasonboard.com> <20190222150621.kxno4v64itco6mta@DESKTOP-E1NTVVP.localdomain> <20190305231440.GO14928@pendragon.ideasonboard.com> <20190306110504.jeosz7xnxkrycxtv@DESKTOP-E1NTVVP.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id CCAB46E152 for ; Wed, 6 Mar 2019 18:22:52 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190306110504.jeosz7xnxkrycxtv@DESKTOP-E1NTVVP.localdomain> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Brian Starkey Cc: Laurent Pinchart , Liviu Dudau , Kieran Bingham , "dri-devel@lists.freedesktop.org" , "james qian wang (Arm Technology China)" , nd List-Id: dri-devel@lists.freedesktop.org SGkgQnJpYW4sCgpPbiBXZWQsIE1hciAwNiwgMjAxOSBhdCAxMTowNTowNUFNICswMDAwLCBCcmlh biBTdGFya2V5IHdyb3RlOgo+IE9uIFdlZCwgTWFyIDA2LCAyMDE5IGF0IDAxOjE0OjQwQU0gKzAy MDAsIExhdXJlbnQgUGluY2hhcnQgd3JvdGU6Cj4gPiBPbiBGcmksIEZlYiAyMiwgMjAxOSBhdCAw MzowNjoxOVBNICswMDAwLCBCcmlhbiBTdGFya2V5IHdyb3RlOgo+ID4+IE9uIEZyaSwgRmViIDIy LCAyMDE5IGF0IDA0OjQ2OjI5UE0gKzAyMDAsIExhdXJlbnQgUGluY2hhcnQgd3JvdGU6Cj4gPj4+ IE9uIEZyaSwgRmViIDIyLCAyMDE5IGF0IDAyOjMwOjAzUE0gKzAwMDAsIEJyaWFuIFN0YXJrZXkg d3JvdGU6Cj4gPj4+PiBPbiBUaHUsIEZlYiAyMSwgMjAxOSBhdCAxMjozMjowMFBNICswMjAwLCBM YXVyZW50IFBpbmNoYXJ0IHdyb3RlOgo+ID4+Pj4+IE9uZS1zaG90IGVudHJpZXMgYXJlIHVzZWQg YXMgYW4gYWx0ZXJuYXRpdmUgdG8gY29tbWl0dGluZyBhIGNvbXBsZXRlIG5ldwo+ID4+Pj4+IGRp c3BsYXkgbGlzdCB3aGVuIGEgY291cGxlIG9mIHJlZ2lzdGVycyBuZWVkIHRvIGJlIHdyaXR0ZW4g Zm9yIG9uZSBmcmFtZQo+ID4+Pj4+IGFuZCB0aGVuIHJlc2V0IHRvIGFub3RoZXIgdmFsdWUgZm9y IGFsbCBzdWJzZXF1ZW50IGZyYW1lcy4gVGhpcyB3aWxsIGJlCj4gPj4+Pj4gdXNlZCB0byBpbXBs ZW1lbnQgd3JpdGViYWNrIHN1cHBvcnQgdGhhdCB3aWxsIG5lZWQgdG8gZW5hYmxlIHdyaXRlYmFj awo+ID4+Pj4+IGZvciB0aGUgZHVyYXRpb24gb2YgYSBzaW5nbGUgZnJhbWUuCj4gPj4+Pj4gCj4g Pj4+Pj4gU2lnbmVkLW9mZi1ieTogTGF1cmVudCBQaW5jaGFydCA8bGF1cmVudC5waW5jaGFydCty ZW5lc2FzQGlkZWFzb25ib2FyZC5jb20+Cj4gPj4+Pj4gLS0tCj4gPj4+Pj4gIGRyaXZlcnMvbWVk aWEvcGxhdGZvcm0vdnNwMS92c3AxX2RsLmMgfCA3OCArKysrKysrKysrKysrKysrKysrKysrKysr KysKPiA+Pj4+PiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92c3AxL3ZzcDFfZGwuaCB8ICAzICsr Cj4gPj4+Pj4gIDIgZmlsZXMgY2hhbmdlZCwgODEgaW5zZXJ0aW9ucygrKQo+ID4+Pj4+IAo+ID4+ Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3ZzcDEvdnNwMV9kbC5jIGIv ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92c3AxL3ZzcDFfZGwuYwo+ID4+Pj4+IGluZGV4IDg4NmIz YTY5ZDMyOS4uN2I0ZDI1MmJmZGU3IDEwMDY0NAo+ID4+Pj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEv cGxhdGZvcm0vdnNwMS92c3AxX2RsLmMKPiA+Pj4+PiArKysgYi9kcml2ZXJzL21lZGlhL3BsYXRm b3JtL3ZzcDEvdnNwMV9kbC5jCj4gPj4+Pj4gQEAgLTExNSw2ICsxMTUsMTIgQEAgc3RydWN0IHZz cDFfZGxfYm9keSB7Cj4gPj4+Pj4gIAo+ID4+Pj4+ICAJdW5zaWduZWQgaW50IG51bV9lbnRyaWVz Owo+ID4+Pj4+ICAJdW5zaWduZWQgaW50IG1heF9lbnRyaWVzOwo+ID4+Pj4+ICsKPiA+Pj4+PiAr CXVuc2lnbmVkIGludCBudW1fcGF0Y2hlczsKPiA+Pj4+PiArCXN0cnVjdCB7Cj4gPj4+Pj4gKwkJ c3RydWN0IHZzcDFfZGxfZW50cnkgKmVudHJ5Owo+ID4+Pj4+ICsJCXUzMiBkYXRhOwo+ID4+Pj4+ ICsJfSBwYXRjaGVzWzJdOwo+ID4+Pj4+ICB9Owo+ID4+Pj4+ICAKPiA+Pj4+PiAgLyoqCj4gPj4+ Pj4gQEAgLTM2MSw2ICszNjcsNyBAQCB2b2lkIHZzcDFfZGxfYm9keV9wdXQoc3RydWN0IHZzcDFf ZGxfYm9keSAqZGxiKQo+ID4+Pj4+ICAJCXJldHVybjsKPiA+Pj4+PiAgCj4gPj4+Pj4gIAlkbGIt Pm51bV9lbnRyaWVzID0gMDsKPiA+Pj4+PiArCWRsYi0+bnVtX3BhdGNoZXMgPSAwOwo+ID4+Pj4+ ICAKPiA+Pj4+PiAgCXNwaW5fbG9ja19pcnFzYXZlKCZkbGItPnBvb2wtPmxvY2ssIGZsYWdzKTsK PiA+Pj4+PiAgCWxpc3RfYWRkX3RhaWwoJmRsYi0+ZnJlZSwgJmRsYi0+cG9vbC0+ZnJlZSk7Cj4g Pj4+Pj4gQEAgLTM4OCw2ICszOTUsNDcgQEAgdm9pZCB2c3AxX2RsX2JvZHlfd3JpdGUoc3RydWN0 IHZzcDFfZGxfYm9keSAqZGxiLCB1MzIgcmVnLCB1MzIgZGF0YSkKPiA+Pj4+PiAgCWRsYi0+bnVt X2VudHJpZXMrKzsKPiA+Pj4+PiAgfQo+ID4+Pj4+ICAKPiA+Pj4+PiArLyoqCj4gPj4+Pj4gKyAq IHZzcDFfZGxfYm9keV93cml0ZV9vbmVzaG90IC0gV3JpdGUgYSByZWdpc3RlciB0byBhIGRpc3Bs YXkgbGlzdCBib2R5IGZvciBhCj4gPj4+Pj4gKyAqCXNpbmdsZSBmcmFtZQo+ID4+Pj4+ICsgKiBA ZGxiOiBUaGUgYm9keQo+ID4+Pj4+ICsgKiBAcmVnOiBUaGUgcmVnaXN0ZXIgYWRkcmVzcwo+ID4+ Pj4+ICsgKiBAdmFsdWU6IFRoZSByZWdpc3RlciB2YWx1ZQo+ID4+Pj4+ICsgKiBAcmVzZXRfdmFs dWU6IFRoZSB2YWx1ZSB0byByZXNldCB0aGUgcmVnaXN0ZXIgdG8gYXQgdGhlIG5leHQgdmJsYW5r Cj4gPj4+Pj4gKyAqCj4gPj4+Pj4gKyAqIERpc3BsYXkgbGlzdHMgaW4gY29udGludW91cyBtb2Rl IGFyZSByZS11c2VkIGJ5IHRoZSBoYXJkd2FyZSBmb3Igc3VjY2Vzc2l2ZQo+ID4+Pj4+ICsgKiBm cmFtZXMgdW50aWwgYSBuZXcgZGlzcGxheSBsaXN0IGlzIGNvbW1pdHRlZC4gQ2hhbmdpbmcgdGhl IFZTUCBjb25maWd1cmF0aW9uCj4gPj4+Pj4gKyAqIG5vcm1hbGx5IHJlcXVpcmVzIGNyZWF0aW5n IGFuZCBjb21taXR0aW5nIGEgbmV3IGRpc3BsYXkgbGlzdC4gVGhpcyBmdW5jdGlvbgo+ID4+Pj4+ ICsgKiBvZmZlcnMgYW4gYWx0ZXJuYXRpdmUgcmFjZS1mcmVlIHdheSBieSB3cml0aW5nIGEgQHZh bHVlIHRvIHRoZSBAcmVnaXN0ZXIgaW4KPiA+Pj4+PiArICogdGhlIGRpc3BsYXkgbGlzdCBib2R5 IGZvciBhIHNpbmdsZSBmcmFtZSwgc3BlY2lmeWluZyBpbiBAcmVzZXRfdmFsdWUgdGhlCj4gPj4+ Pj4gKyAqIHZhbHVlIHRvIHJlc2V0IHRoZSByZWdpc3RlciB0byBvbmUgdmJsYW5rIGFmdGVyIHRo ZSBkaXNwbGF5IGxpc3QgaXMKPiA+Pj4+PiArICogY29tbWl0dGVkLgo+ID4+Pj4+ICsgKgo+ID4+ Pj4+ICsgKiBUaGUgbWF4aW11bSBudW1iZXIgb2Ygb25lLXNob3QgZW50cmllcyBpcyBsaW1pdGVk IHRvIDIgcGVyIGRpc3BsYXkgbGlzdCBib2R5LAo+ID4+Pj4+ICsgKiBhbmQgb25lLXNob3QgZW50 cmllcyBhcmUgY291bnRlZCBpbiB0aGUgdG90YWwgbnVtYmVyIG9mIGVudHJpZXMgc3BlY2lmaWVk Cj4gPj4+Pj4gKyAqIHdoZW4gdGhlIGJvZHkgaXMgYWxsb2NhdGVkIGJ5IHZzcDFfZGxfYm9keV9h bGxvYygpLgo+ID4+Pj4+ICsgKi8KPiA+Pj4+PiArdm9pZCB2c3AxX2RsX2JvZHlfd3JpdGVfb25l c2hvdChzdHJ1Y3QgdnNwMV9kbF9ib2R5ICpkbGIsIHUzMiByZWcsIHUzMiB2YWx1ZSwKPiA+Pj4+ PiArCQkJCXUzMiByZXNldF92YWx1ZSkKPiA+Pj4+PiArewo+ID4+Pj4+ICsJaWYgKFdBUk5fT05D RShkbGItPm51bV9lbnRyaWVzID49IGRsYi0+bWF4X2VudHJpZXMsCj4gPj4+Pj4gKwkJICAgICAg IkRMQiBzaXplIGV4Y2VlZGVkIChtYXggJXUpIiwgZGxiLT5tYXhfZW50cmllcykpCj4gPj4+Pj4g KwkJcmV0dXJuOwo+ID4+Pj4+ICsKPiA+Pj4+PiArCWlmIChXQVJOX09OQ0UoZGxiLT5udW1fcGF0 Y2hlcyA+PSBBUlJBWV9TSVpFKGRsYi0+cGF0Y2hlcyksCj4gPj4+Pj4gKwkJICAgICAgIkRMQiBw YXRjaGVzIHNpemUgZXhjZWVkZWQgKG1heCAlenUpIiwKPiA+Pj4+PiArCQkgICAgICBBUlJBWV9T SVpFKGRsYi0+cGF0Y2hlcykpKQo+ID4+Pj4+ICsJCXJldHVybjsKPiA+Pj4+PiArCj4gPj4+Pj4g KwlkbGItPnBhdGNoZXNbZGxiLT5udW1fcGF0Y2hlc10uZW50cnkgPSAmZGxiLT5lbnRyaWVzW2Rs Yi0+bnVtX2VudHJpZXNdOwo+ID4+Pj4+ICsJZGxiLT5wYXRjaGVzW2RsYi0+bnVtX3BhdGNoZXNd LmRhdGEgPSByZXNldF92YWx1ZTsKPiA+Pj4+PiArCWRsYi0+bnVtX3BhdGNoZXMrKzsKPiA+Pj4+ PiArCj4gPj4+Pj4gKwlkbGItPmVudHJpZXNbZGxiLT5udW1fZW50cmllc10uYWRkciA9IHJlZzsK PiA+Pj4+PiArCWRsYi0+ZW50cmllc1tkbGItPm51bV9lbnRyaWVzXS5kYXRhID0gdmFsdWU7Cj4g Pj4+Pj4gKwlkbGItPm51bV9lbnRyaWVzKys7Cj4gPj4+Pj4gK30KPiA+Pj4+PiArCj4gPj4+Pj4g IC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPj4+Pj4gICAqIERpc3BsYXkgTGlzdCBFeHRlbmRl ZCBDb21tYW5kIE1hbmFnZW1lbnQKPiA+Pj4+PiAgICovCj4gPj4+Pj4gQEAgLTY1Miw2ICs3MDAs NyBAQCBzdGF0aWMgdm9pZCBfX3ZzcDFfZGxfbGlzdF9wdXQoc3RydWN0IHZzcDFfZGxfbGlzdCAq ZGwpCj4gPj4+Pj4gIAkgKiBoYXMgYXQgbGVhc3Qgb25lIGJvZHksIHRodXMgd2UgcmVpbml0aWFs aXNlIHRoZSBlbnRyaWVzIGxpc3QuCj4gPj4+Pj4gIAkgKi8KPiA+Pj4+PiAgCWRsLT5ib2R5MC0+ bnVtX2VudHJpZXMgPSAwOwo+ID4+Pj4+ICsJZGwtPmJvZHkwLT5udW1fcGF0Y2hlcyA9IDA7Cj4g Pj4+Pj4gIAo+ID4+Pj4+ICAJbGlzdF9hZGRfdGFpbCgmZGwtPmxpc3QsICZkbC0+ZGxtLT5mcmVl KTsKPiA+Pj4+PiAgfQo+ID4+Pj4+IEBAIC05MzAsNiArOTc5LDM1IEBAIHZvaWQgdnNwMV9kbF9s aXN0X2NvbW1pdChzdHJ1Y3QgdnNwMV9kbF9saXN0ICpkbCwgdW5zaWduZWQgaW50IGRsX2ZsYWdz KQo+ID4+Pj4+ICAgKiBEaXNwbGF5IExpc3QgTWFuYWdlcgo+ID4+Pj4+ICAgKi8KPiA+Pj4+PiAg Cj4gPj4+Pj4gKy8qKgo+ID4+Pj4+ICsgKiB2c3AxX2RsbV9pcnFfZGlzcGxheV9zdGFydCAtIERp c3BsYXkgbGlzdCBoYW5kbGVyIGZvciB0aGUgZGlzcGxheSBzdGFydAo+ID4+Pj4+ICsgKglpbnRl cnJ1cHQKPiA+Pj4+PiArICogQGRsbTogdGhlIGRpc3BsYXkgbGlzdCBtYW5hZ2VyCj4gPj4+Pj4g KyAqCj4gPj4+Pj4gKyAqIEFwcGx5IGFsbCBvbmUtc2hvdCBwYXRjaGVzIHJlZ2lzdGVyZWQgZm9y IHRoZSBhY3RpdmUgZGlzcGxheSBsaXN0Lgo+ID4+Pj4+ICsgKi8KPiA+Pj4+PiArdm9pZCB2c3Ax X2RsbV9pcnFfZGlzcGxheV9zdGFydChzdHJ1Y3QgdnNwMV9kbF9tYW5hZ2VyICpkbG0pCj4gPj4+ Pj4gK3sKPiA+Pj4+PiArCXN0cnVjdCB2c3AxX2RsX2JvZHkgKmRsYjsKPiA+Pj4+PiArCXN0cnVj dCB2c3AxX2RsX2xpc3QgKmRsOwo+ID4+Pj4+ICsJdW5zaWduZWQgaW50IGk7Cj4gPj4+Pj4gKwo+ ID4+Pj4+ICsJc3Bpbl9sb2NrKCZkbG0tPmxvY2spOwo+ID4+Pj4+ICsKPiA+Pj4+PiArCWRsID0g ZGxtLT5hY3RpdmU7Cj4gPj4+Pj4gKwlpZiAoIWRsKQo+ID4+Pj4+ICsJCWdvdG8gZG9uZTsKPiA+ Pj4+PiArCj4gPj4+Pj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGRsYiwgJmRsLT5ib2RpZXMsIGxp c3QpIHsKPiA+Pj4+PiArCQlmb3IgKGkgPSAwOyBpIDwgZGxiLT5udW1fcGF0Y2hlczsgKytpKQo+ ID4+Pj4+ICsJCQlkbGItPnBhdGNoZXNbaV0uZW50cnktPmRhdGEgPSBkbGItPnBhdGNoZXNbaV0u ZGF0YTsKPiA+Pj4+PiArCQlkbGItPm51bV9wYXRjaGVzID0gMDsKPiA+Pj4+PiArCX0KPiA+Pj4+ PiArCj4gPj4+Pj4gK2RvbmU6Cj4gPj4+Pj4gKwlzcGluX3VubG9jaygmZGxtLT5sb2NrKTsKPiA+ Pj4+PiArfQo+ID4+Pj4+ICsKPiA+Pj4+IAo+ID4+Pj4gV2UndmUgZ290IHNvbWUgSFcgd2hpY2gg ZG9lc24ndCBzdXBwb3J0IG9uZS1zaG90IHdyaXRlYmFjaywgYW5kIHVzZSBhCj4gPj4+PiBzaW1p bGFyIHRyaWNrIHRvIHRyeSBhbmQgZGlzYWJsZSB3cml0ZWJhY2sgaW1tZWRpYXRlbHkgYWZ0ZXIg dGhlIGZsaXAuCj4gPj4+PiAKPiA+Pj4+IFdlIHJhbiBpbnRvIGlzc3VlcyB3aGVyZSB0aGUgInN0 YXJ0IiBpbnRlcnJ1cHQgd291bGRuJ3QgcnVuIGluIHRpbWUgdG8KPiA+Pj4+IG1ha2Ugc3VyZSB0 aGUgd3JpdGViYWNrIGRpc2FibGUgd2FzIGNvbW1pdHRlZCBiZWZvcmUgdGhlIG5leHQgZnJhbWUu Cj4gPj4+PiBXZSBoYXZlIHRvIGtlZXAgdHJhY2sgb2Ygd2hldGhlciB0aGUgZGlzYWJsZSByZWFs bHkgaGFwcGVuZWQgaW4gdGltZSwKPiA+Pj4+IGJlZm9yZSB3ZSByZWxlYXNlIHRoZSBvdXRwdXQg YnVmZmVyLgo+ID4+Pj4gCj4gPj4+PiBNaWdodCB5b3UgaGF2ZSBhIHNpbWlsYXIgcHJvYmxlbSBo ZXJlPwo+ID4+PiAKPiA+Pj4gV2UgbWF5LCBidXQgdGhlcmUncyBubyBwcm92aXNpb24gYXQgdGhl IGhhcmR3YXJlIGxldmVsIHRvIGNoZWNrIGlmIHRoZQo+ID4+PiBjb25maWd1cmF0aW9uIHVwZGF0 ZWQgaGFwcGVuZWQgaW4gdGltZS4gSSBjb3VsZCBhZGQgc29tZSBzYWZldHkgY2hlY2tzCj4gPj4+ IGJ1dCBJIGJlbGlldmUgdGhleSB3b3VsZCBiZSByYWN5IGluIHRoZSBiZXN0IGNhc2UgOi0oCj4g Pj4gCj4gPj4gV2UgbWFuYWdlZCB0byBmaW5kICh3aGF0IEkgYmVsaWV2ZSB0byBiZS4uLikgYSBu b24tcmFjeSB3YXksIGJ1dCBpdAo+ID4+IHdpbGwgb2YgY291cnNlIGRlcGVuZCBhIGxvdCBvbiB0 aGUgSFcgYmVoYXZpb3VyLCBzbyBJJ2xsIGxlYXZlIGl0IHRvCj4gPj4geW91ciBiZXN0IGp1ZGdl bWVudC4KPiA+PiAKPiA+PiBXZSBiYXNpY2FsbHkgaGF2ZSBhICJjb25maWd1cmF0aW9uIGNvbW1p dHRlZCIgaW50ZXJydXB0IHdoaWNoIHdlIGNhbgo+ID4+IHVzZSB0byBzZXQgYSBmbGFnIGluZGlj YXRpbmcgd3JpdGViYWNrIHdhcyBkaXNhYmxlZC4KPiA+IAo+ID4gVGhlIHdheSBteSBoYXJkd2Fy ZSBpcyBvcGVyYXRlZCBpcywgcm91Z2hseSwgYXMgZm9sbG93czoKPiAKPiBUaGFua3MgZm9yIHRo ZSBkZXRhaWxlZCBleHBsYW5hdGlvbi4KPiAKPiA+IC0gVGhlIGRyaXZlciBwcmVwYXJlcyBhIGxp c3Qgb2YgdmFsdWVzIHRvIHdyaXRlIHRvIHJlZ2lzdGVycyBhbmQgc3RvcmVzCj4gPiAgIHRoZW0g aW4gRE1BLWFibGUgbWVtb3J5LiBUaGlzIGRvZXNuJ3QgaW52b2x2ZSB0aGUgaGFyZHdhcmUsIGFu ZCBzbyBpcwo+ID4gICBjb21wbGV0ZWx5IGFzeW5jaHJvbm91cyB0byBoYXJkd2FyZSBvcGVyYXRp b24uCj4gPiAKPiA+IC0gVGhlIGRyaXZlciB0aGVuIHNldHMgYSByZWdpc3RlciB3aXRoIHRoZSBw b2ludGVyIHRvIHRoZSByZWdpc3RlcnMKPiA+ICAgbGlzdC4KPiA+IAo+ID4gLSBBdCB0aGUgZW5k IG9mIHRoZSBjdXJyZW50IGZyYW1lLCB0aGUgaGFyZHdhcmUgcmVhZHMgdGhlIG1lbW9yeSBhZGRy ZXNzCj4gPiAgIG9mIHRoZSByZWdpc3RlcnMgbGlzdCBhbmQgRE1BcyB2YWx1ZXMgdG8gcmVnaXN0 ZXIuIFRoaXMgb3BlcmF0aW9uIGlzCj4gPiAgIGZhc3QgYW5kIG9jY3VycyBmdWxseSBkdXJpbmcg dmVydGljYWwgYmxhbmtpbmcuCj4gPiAKPiA+IC0gVGhlIGhhcmR3YXJlIHRoZW4gd2FpdHMgZm9y IHRoZSBzdGFydCBvZiB0aGUgZnJhbWUsIGFuZCBiZWdpbnMKPiA+ICAgcHJvY2Vzc2luZyB0aGUg ZnJhbWVidWZmZXJzIHRvIHNlbmQgdGhlIGZyYW1lIHRvIHRoZSBkaXNwbGF5Lgo+ID4gCj4gPiAt IElmIG5vIG5ldyByZWdpc3RlcnMgbGlzdCBpcyBwcm92aWRlZCBmb3IgdGhlIG5leHQgZnJhbWUs IHRoZSBjdXJyZW50Cj4gPiAgIGxpc3QgaXMgcmV1c2VkLgo+IAo+IERvZXMgaXQgaGF2ZSB0byBi ZSBmZXRjaGVkIGFnYWluLCBvciB0aGUgSFcgY2FuIHVzZSB0aGUgY29weSB0aGF0J3MgaW4KPiBy ZWdpc3RlcnMgYWxyZWFkeT8gRG9lcyBpdCBoYXZlIHRvIGZldGNoIGEgcmVnaXN0ZXIgbGlzdCBl dmVyeSBmcmFtZQo+IHdoZW4gdGhlIGRpc3BsYXkgaXMgYWN0aXZlLCBvciB5b3UgY2FuIHN0b3Ag aXQgZmV0Y2hpbmcgc29tZWhvdz8KCkl0IHdvdWxkbid0IG5lZWQgdG8gYmUgZmV0Y2hlZCBhZ2Fp biwgYnV0IHRoZSBoYXJkd2FyZSBhbHdheXMgZmV0Y2hlcwp0aGUgYSBsaXN0IGF0IGZyYW1lIGVu ZCwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGEgbmV3IGxpc3QgaXMgYXZhaWxhYmxlCm9yIG5vdC4g SSBjb3VsZCByZXBsYWNlIHRoZSBsaXN0IHdpdGggYW4gZW1wdHkgb25lLCBidXQgaXQgd291bGRu J3QgYmUKdmVyeSB1c2VmdWwuCgo+ID4gVHdvIGludGVycnVwdHMgYXJlIHByb3ZpZGVkLCBvbmUg YXQgdGhlIHN0YXJ0IG9mIHRoZSBmcmFtZSBhbmQgb25lIGF0Cj4gPiB0aGUgZW5kIG9mIHRoZSBm cmFtZS4gVGhlIGRyaXZlciB1c2VzIHRoZSBlbmQgb2YgZnJhbWUgaW50ZXJydXB0IHRvCj4gPiBz aWduYWwgdmVydGljYWwgYmxhbmtpbmcgYW5kIHBhZ2UgZmxpcCBjb21wbGV0aW9uIHRvIERSTS4K PiAKPiBKdXN0IGZvciBteSB1bmRlcnN0YW5kaW5nIC0geW91IHNpZ25hbCB0aGUgcGFnZSBmbGlw IGF0IHRoZSBwb2ludAo+IHdoZXJlIHRoZSBIVyBmZXRjaGVzIHRoZSByZWdpc3RlciBsaXN0IGNv bnRhaW5pbmcgdGhlIHNjZW5lIGJlaW5nCj4gZmxpcHBlZCB0bz8gT3IgeW91IHNpZ25hbCBpdCBh ZnRlciB0aGF0IHNjZW5lIGhhcyBiZWVuIG9uLXNjcmVlbiBmb3IKPiBvbmUgZnJhbWU/CgpJIHNp Z25hbCB0aGUgZmxpcCB3aGVuIHRoZSBoYXJkd2FyZSBmZXRjaGVzIHRoZSBuZXcgbGlzdCBjb3Jy ZXNwb25kaW5nCnRvIHRoZSBmcmFtZSBiZWluZyBmbGlwcGVkIHRvLiBBdCB0aGF0IHBvaW50IHRo ZSBhZGRyZXNzZXMgb2YgdGhlCnByZXZpb3VzIGZyYW1lYnVmZmVycyBhcmUgc3RpbGwgaW4gdGhl IGhhcmR3YXJlIHJlZ2lzdGVycywgYnV0IHRoZXkgYXJlCmluIHRoZSBwcm9jZXNzIG9mIGJlaW5n IG92ZXJ3cml0dGVuIHdpdGggdGhlIG5ldyBvbmVzIGJlZm9yZSB0aGUKaGFyZHdhcmUgaXMgc3Rh cnRlZCBhZ2Fpbiwgc28gSSBoYXZlIGEgZ3VhcmFudGVlIHRoYXQgdGhlIGZyYW1lYnVmZmVycwpo YXZlIGJlZW4gZWZmZWN0aXZlbHkgZmxpcHBlZCBvdXQuCgo+ID4gVGhlIGVuZCBvZiBmcmFtZSBp bnRlcnJ1cHQgaXMgYWxzbyB1c2VkIHRvIHNjaGVkdWxlIGF0b21pYyBjb21taXRzLiBUaGUKPiA+ IGhhcmR3YXJlIHF1ZXVlIGRlcHRoIGZvciBhdG9taWMgY29tbWl0cyBpcyBqdXN0IG9uZSwgc28g dGhlIGRyaXZlciBoYXMKPiA+IHRvIHdhaXQgdW50aWwgdGhlIHByZXZpb3VzIGNvbW1pdCBoYXMg YmVlbiBwcm9jZXNzZWQgYmVmb3JlIHdyaXRpbmcgdGhlCj4gPiBuZXcgcmVnaXN0ZXJzIGxpc3Qg YWRkcmVzcyB0byB0aGUgaGFyZHdhcmUuIFRvIHNvbHZlIHRoZSByYWNlIGJldHdlZW4KPiA+IHRo ZSBlbmQgb2YgZnJhbWUgaW50ZXJydXB0IGFuZCB0aGUgYWRkcmVzcyB3cml0ZSwgdGhlIGhhcmR3 YXJlIHByb3ZpZGVzCj4gPiBhIHN0YXR1cyBiaXQgdGhhdCBpcyBzZXQgdG8gMSB3aGVuIHRoZSBh ZGRyZXNzIGlzIHdyaXR0ZW4sIGFuZCByZXNldCB0bwo+ID4gMCB3aGVuIHRoZSBoYXJkd2FyZSBz dGFydHMgcHJvY2Vzc2luZyB0aGUgcmVnaXN0ZXJzIGxpc3QuCj4gPiAKPiA+IFdlIHRodXMgaGF2 ZSB0aHJlZSBzdGF0ZXMgZm9yIGFuIGF0b21pYyBjb21taXQ6Cj4gPiAKPiA+IC0gYWN0aXZlLCB3 aGVyZSB0aGUgY29ycmVzcG9uZGluZyByZWdpc3RlcnMgbGlzdCBhZGRyZXNzIGhhcyBiZWVuCj4g PiAgIHdyaXR0ZW4gdG8gdGhlIGhhcmR3YXJlLCBhbmQgcHJvY2Vzc2VkCj4gPiAKPiA+IC0gcXVl dWVkLCB3aGVyZSB0aGUgY29ycmVzcG9uZGluZyByZWdpc3RlcnMgbGlzdCBhZGRyZXNzIGhhcyBi ZWVuCj4gPiAgIHdyaXR0ZW4gdG8gdGhlIGhhcmR3YXJlIGJ1dCBub3QgcHJvY2Vzc2VkIHlldAo+ ID4gCj4gPiAtIHBlbmRpbmcsIHdoZXJlIHRoZSBjb3JyZXNwb25kaW5nIHJlZ2lzdGVycyBsaXN0 IGFkZHJlc3MgaGFzbid0IGJlZW4KPiA+ICAgd3JpdHRlbiB0byB0aGUgaGFyZHdhcmUgeWV0Cj4g PiAKPiA+IFRoZSBzdGF0dXMgYml0IG1lbnRpb25lZCBhYm92ZSBhbGxvd3MgdXMgdG8gdGVsbCBp ZiBhIGxpc3QgZXhpc3RzIGluIHRoZQo+ID4gcXVldWVkIHN0YXRlLgo+ID4gCj4gPiBBdCBmcmFt ZSBlbmQgdGltZSwgaWYgdGhlIHN0YXR1cyBiaXQgaXMgc2V0LCB3ZSBoYXZlIHBvdGVudGlhbGx5 IGxvc3QKPiA+IHRoZSByYWNlIGJldHdlZW4gd3JpdGluZyB0aGUgbmV3IHJlZ2lzdGVycyBsaXN0 IGFuZCB0aGUgZnJhbWUgZW5kCj4gPiBpbnRlcnJ1cHQsIHNvIHdlIHdhaXQgZm9yIG9uZSBtb3Jl IHZibGFuay4gT3RoZXJ3aXNlLCBpZiBhIGxpc3Qgd2FzCj4gPiBxdWV1ZWQsIHdlIG1vdmUgaXQg dG8gdGhlIGFjdGl2ZSBzdGF0ZSwgYW5kIHJldGlyZSB0aGUgYWN0aXZlIGxpc3QuIElmIGEKPiA+ IGxpc3Qgd2FzIHBlbmRpbmcsIHdlIHdyaXRlIGl0cyBhZGRyZXNzIHRvIHRoZSBoYXJkd2FyZSwg YW5kIG1vdmUgaXQgdG8KPiA+IHRoZSBxdWV1ZWQgc3RhdGUuCj4gPiAKPiA+IFRvIHNjaGVkdWxl IHdyaXRlYmFjayBJIGVuZGVkIHVwIHVzaW5nIHRoZSBmcmFtZSBzdGFydCBpbnRlcnJ1cHQuCj4g PiBXcml0ZWJhY2sgaGFzIGEgc3BlY2lmaWMgbmVlZCBpbiB0aGF0IGl0IHJlcXVpcmVzIGVuYWJs aW5nIHRoZSBtZW1vcnkKPiA+IHdyaXRlIGludGVyZmFjZSBmb3IgYSBzaW5nbGUgZnJhbWUsIGFu ZCB0aGF0IGlzIG5vdCBzb21ldGhpbmcgdGhlCj4gPiBoYXJkd2FyZSBzdXBwb3J0cyBkaXJlY3Rs eS4gSSBjYW4ndCBlaXRoZXIgcXVldWUgYSBuZXcgcmVnaXN0ZXJzIGxpc3QKPiA+IHdpdGggdGhl IHdyaXRlIGludGVyZmFjZSBkaXNhYmxlZCByaWdodCBhZnRlciB0aGUgbGlzdCB3aXRoIHRoZQo+ ID4gd3JpdGViYWNrIHJlcXVlc3QgYmVjYW1lIGFjdGl2ZSwgYXMgYW55IGF0b21pYyBjb21taXQg d291bGQgdGhlbiBiZQo+ID4gZGVsYXllZCBieSBhbiBleHRyYSBmcmFtZS4gSSB0aHVzIGVuZGVk IHVwIG1vZGlmeWluZyB0aGUgcmVnaXN0ZXJzIGxpc3QKPiA+IGluIHBsYWNlIGF0IGZyYW1lIHN0 YXJ0IHRpbWUsIHdoaWNoIGlzIHJpZ2h0IGFmdGVyIHRoZSBhY3RpdmUgcmVnaXN0ZXIKPiA+IGxp c3QgaGFzIGJlZW4gRE1BJ2VkIHRvIGhhcmR3YXJlIHJlZ2lzdGVycy4gV2UgaGF2ZSB0aGUgZHVy YXRpb24gb2YgYQo+ID4gd2hvbGUgZnJhbWUgdG8gZG8gc28sIGJlZm9yZSB0aGUgaGFyZHdhcmUg dHJhbnNmZXJzIHRoZSBzYW1lIGxpc3QgYWdhaW4KPiA+IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhl IG5leHQgZnJhbWUuCj4gPiAKPiA+IFRoZXJlIGlzIGEgcmFjZSBjb25kaXRpb24gdGhlcmUsIGFz IHRoZSBpbi1wbGFjZSBtb2RpZmljYXRpb24gb2YgdGhlCj4gPiBhY3RpdmUgbGlzdCBjb3VsZCBi ZSBkb25lIGFmdGVyIHRoZSBlbmQgb2YgdGhlIGZyYW1lIGlmIHRoZSBpbnRlcnJ1cHQKPiA+IGxh dGVuY3kgZ2V0cyB0b28gbGFyZ2UuIEkgZG9uJ3Qgc2VlIGhvdyBJIGNvdWxkIHNvbHZlIHRoYXQs IGFzIEkgY291bGQKPiA+IHdyaXRlIHRoZSB2YWx1ZSBhZnRlciB0aGUgaGFyZHdhcmUgc3RhcnRz IHByb2Nlc3NpbmcgdGhlIGFjdGl2ZSBsaXN0IGF0Cj4gPiBmcmFtZSBlbmQgdGltZSwgYnV0IGJl Zm9yZSB0aGUgaW50ZXJydXB0IGlzIG5vdGlmaWVkLgo+IAo+IFNvIHlvdSBjYW4gYmUgdG90YWxs eSBzYWZlIGJ5IG1ha2luZyBhIGNvcHkgb2YgdGhlIHJlZ2lzdGVyIGxpc3QsCj4gZGlzYWJsaW5n IHdyaXRlYmFjayB0aGVyZSwgYW5kIHNpZ25hbGxpbmcgd3JpdGViYWNrIGNvbXBsZXRpb24gd2hl bgo+IHRoZSBIVyBzdGF0dXMgYml0IHRlbGxzIHlvdSB0aGF0IG5ldyByZWdpc3RlciBsaXN0IGhh cyBiZWNvbWUgYWN0aXZlLgo+IFRoZSBpc3N1ZSBpcyB0aGF0IGl0IGVmZmVjdGl2ZWx5IGhhbHZl cyB0aGUgbWF4aW11bSB1cGRhdGUgcmF0ZSB3aGVuCj4gd3JpdGViYWNrIGlzIGVuYWJsZWQ/CgpD b3JyZWN0LiBJIGRvbid0IHRoaW5rIHRoYXQncyBhY2NlcHRhYmxlLgoKPiBJdCBzb3VuZHMgbGlr ZSB0aGUgSFcgZG9lc24ndCByZWFsbHkgZ2l2ZSB5b3UgYSB3YXkgdG8gImNhbmNlbCIgYQo+IHF1 ZXVlZCByZWdpc3RlciBsaXN0LCB3aGljaCBpcyBhIGJpdCB1bmZvcnR1bmF0ZS4KCkkgY2FuIGFs d2F5cyBxdWV1ZSBhIG5ldyBvbmUsIGJ1dCBJIGhhdmUgbm8gd2F5IG9mIHRlbGxpbmcgaWYgdGhl IG5ld2x5CnF1ZXVlZCBsaXN0IHJhY2VkIHdpdGggdGhlIGZyYW1lIGVuZCBpbnRlcnJ1cHQuCgpU aGVyZSdzIGFub3RoZXIgcmVnaXN0ZXIgSSdtIG5vdCB1c2luZyB0aGF0IGNvbnRhaW5zIGEgc2hh ZG93IGNvcHkgb2YKdGhlIHJlZ2lzdGVycyBsaXN0IERNQSBhZGRyZXNzLiBJdCBtaXJyb3JzIHRo ZSBhZGRyZXNzIHByb2dyYW1tZWQgYnkgdGhlCmRyaXZlciB3aGVuIHRoZXJlIGlzIG5vIERNQSBv ZiB0aGUgcmVnaXN0ZXJzIGxpc3QgaW4gcHJvZ3Jlc3MsIGFuZApjb250YWlucyB0aGUgYWRkcmVz cyB0aGUgb2YgcmVnaXN0ZXJzIGxpc3QgYmVpbmcgRE1BJ2VkIHdoZW4gYSBETUEgaXMgaW4KcHJv Z3Jlc3MuIEkgZG9uJ3QgdGhpbmsgSSBjYW4gZG8gbXVjaCB3aXRoIGl0LCBhcyByZWFkaW5nIGl0 IGVpdGhlcgpiZWZvcmUgb3IgYWZ0ZXIgcmVwcm9ncmFtbWluZyAodG8gY2hlY2sgaWYgSSBjYW4g cmVwcm9ncmFtIG9yIGlmIHRoZQpyZXByb2dyYW0gaGFzIGJlZW4gdGFrZW4gaW50byBhY2NvdW50 KSBpcyByYWN5LgoKPiBZb3UgZG9uJ3QgaGFwcGVuIHRvIGhhdmUgYSBETUEgZW5naW5lIHRyaWdn ZXIgb3Igc29tZXRoaW5nIHlvdSBjb3VsZAo+IHVzZSB0byBkbyB0aGUgcmVnaXN0ZXIgbGlzdCBt b2RpZmljYXRpb24gYXQgYSBndWFyYW50ZWVkIHRpbWUgZG8geW91PwoKTm90IHRoYXQgSSBrbm93 IG9mLCB1bmZvcnR1bmF0ZWx5LgoKPiBBcmUgeW91IGFsd2F5cyBnb2luZyB0byBiZSBwcm90ZWN0 ZWQgYnkgYW4gSU9NTVUsIHByZXZlbnRpbmcgdGhlCj4gd3JpdGViYWNrIGZyb20gdHJhc2hpbmcg cGh5c2ljYWwgbWVtb3J5PyBJZiB0aGF0J3Mgbm90IHRoZSBjYXNlLCB0aGVuCj4gdGhlIHJhY2Ug Y2FuIGhhdmUgcHJldHR5IGRpcmUgY29uc2VxdWVuY2VzLgoKSWYgdGhlIElPTU1VIGlzIGVuYWJs ZWQgaW4gRFQsIHllcy4gSXQncyBhIHN5c3RlbS1sZXZlbCBkZWNpc2lvbi4KCj4gPj4+IE5vdGUg dGhhdCB3ZSBoYXZlIHRoZSBkdXJhdGlvbiBvZiBhIGNvbXBsZXRlIGZyYW1lIHRvIGRpc2FibGUg d3JpdGViYWNrLAo+ID4+PiBhcyB3ZSByZWNlaXZlIGFuIGludGVycnVwdCB3aGVuIHRoZSBmcmFt ZSBzdGFydHMsIGFuZCBoYXZlIHVudGlsIHZibGFuawo+ID4+PiB0byB1cGRhdGUgdGhlIGNvbmZp Z3VyYXRpb24uIEl0J3MgdGh1cyBzbGlnaHRseSBiZXR0ZXIgdGhhbiBoYXZpbmcgdG8KPiA+Pj4g ZGlzYWJsZSB3cml0ZWJhY2sgYmV0d2VlbiB2YmxhbmsgYW5kIHRoZSBzdGFydCBvZiB0aGUgbmV4 dCBmcmFtZS4KPiA+PiAKPiA+PiBZZWFoLi4uIHdlIGhhdmUgYSB3aG9sZSBmcmFtZSB0b28uIEkn bSBzdHJ1Z2dsaW5nIHRvIGZpbmQgb3VyIHdpa2kKPiA+PiBwYWdlIHdpdGggdGhlIGRhdGEsIGJ1 dCBhbmVjZG90YWxseSB0aGVyZSdzIHNvbWUgKG91dC1vZi10cmVlKSBkcml2ZXJzCj4gPj4gd2hp Y2gga2VlcCBpbnRlcnJ1cHRzIG1hc2tlZCBmb3IgYSBfcmVhbGx5IGxvbmdfIHRpbWUuIEl0J3Mg bmljZSBpZgo+ID4+IHlvdSBkb24ndCBoYXZlIHRvIGNhcmUgYWJvdXQgdGhvc2UgOi0pCj4gPiAK PiA+IEkgb25seSBwcm92aWRlIHR3byBvcHRpb25zOiBub3QgbXkgcHJvYmxlbSwgb3IgZ2l2ZSBt ZSB0aGUgc291cmNlIGNvZGUKPiA+IGFuZCBkb2N1bWVudGF0aW9uIGFuZCBsZXQgbWUgdXBzdHJl YW0gYSBjbGVhbiB2ZXJzaW9uIG9mIHRoZSBvdXQtb2YtdHJlZQo+ID4gZHJpdmVycyA6LSkKPiAK PiBUaGlzIHdhcyBhIGNhc2Ugb2YgZHJpdmVycyAiaW4tdGhlLXdpbGQiIC0gSSBkb24ndCBrbm93 IHRoZSBzcGVjaWZpY3MsCj4gYnV0IHRoZXkgd2VyZW4ndCBBcm0gZHJpdmVycy4gSSB3YXMganVz dCBzaGFyaW5nIGFzIGEgZGF0YSBwb2ludC4KCkFsbCB0aG9zZSBwZXNreSB3aWxkIGRyaXZlcnMg dGhhdCBuZWVkIHRhbWluZy4uLiBJJ3ZlIHNlZW4gbXkgZmFpciBzaGFyZQpvZiBtb25zdHJ1b3Np dGllcyBpbiB0aGF0IGFyZWEgdG9vLiBJJ3ZlIGV2ZW4gY29tZSBhY3Jvc3Mgd2l0aCBhIHN5c3Rl bQpmdWxsIG9mIGhhY2tzIHRoYXQgYWxsb3dlZCB1c2Vyc3BhY2UgdG8gZGlzYWJsZSBpbnRlcnJ1 cHRzIChJJ20gbm90CmtpZGRpbmcgeW91KS4KCj4gPj4+Pj4gIC8qKgo+ID4+Pj4+ICAgKiB2c3Ax X2RsbV9pcnFfZnJhbWVfZW5kIC0gRGlzcGxheSBsaXN0IGhhbmRsZXIgZm9yIHRoZSBmcmFtZSBl bmQgaW50ZXJydXB0Cj4gPj4+Pj4gICAqIEBkbG06IHRoZSBkaXNwbGF5IGxpc3QgbWFuYWdlcgo+ ID4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3ZzcDEvdnNwMV9kbC5o IGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92c3AxL3ZzcDFfZGwuaAo+ID4+Pj4+IGluZGV4IGUw ZmRiMTQ1ZTZlZC4uZjg0NTYwN2FiYzRjIDEwMDY0NAo+ID4+Pj4+IC0tLSBhL2RyaXZlcnMvbWVk aWEvcGxhdGZvcm0vdnNwMS92c3AxX2RsLmgKPiA+Pj4+PiArKysgYi9kcml2ZXJzL21lZGlhL3Bs YXRmb3JtL3ZzcDEvdnNwMV9kbC5oCj4gPj4+Pj4gQEAgLTU0LDYgKzU0LDcgQEAgc3RydWN0IHZz cDFfZGxfbWFuYWdlciAqdnNwMV9kbG1fY3JlYXRlKHN0cnVjdCB2c3AxX2RldmljZSAqdnNwMSwK PiA+Pj4+PiAgCQkJCQl1bnNpZ25lZCBpbnQgcHJlYWxsb2MpOwo+ID4+Pj4+ICB2b2lkIHZzcDFf ZGxtX2Rlc3Ryb3koc3RydWN0IHZzcDFfZGxfbWFuYWdlciAqZGxtKTsKPiA+Pj4+PiAgdm9pZCB2 c3AxX2RsbV9yZXNldChzdHJ1Y3QgdnNwMV9kbF9tYW5hZ2VyICpkbG0pOwo+ID4+Pj4+ICt2b2lk IHZzcDFfZGxtX2lycV9kaXNwbGF5X3N0YXJ0KHN0cnVjdCB2c3AxX2RsX21hbmFnZXIgKmRsbSk7 Cj4gPj4+Pj4gIHVuc2lnbmVkIGludCB2c3AxX2RsbV9pcnFfZnJhbWVfZW5kKHN0cnVjdCB2c3Ax X2RsX21hbmFnZXIgKmRsbSk7Cj4gPj4+Pj4gIHN0cnVjdCB2c3AxX2RsX2JvZHkgKnZzcDFfZGxt X2RsX2JvZHlfZ2V0KHN0cnVjdCB2c3AxX2RsX21hbmFnZXIgKmRsbSk7Cj4gPj4+Pj4gIAo+ID4+ Pj4+IEBAIC03MSw2ICs3Miw4IEBAIHN0cnVjdCB2c3AxX2RsX2JvZHkgKnZzcDFfZGxfYm9keV9n ZXQoc3RydWN0IHZzcDFfZGxfYm9keV9wb29sICpwb29sKTsKPiA+Pj4+PiAgdm9pZCB2c3AxX2Rs X2JvZHlfcHV0KHN0cnVjdCB2c3AxX2RsX2JvZHkgKmRsYik7Cj4gPj4+Pj4gIAo+ID4+Pj4+ICB2 b2lkIHZzcDFfZGxfYm9keV93cml0ZShzdHJ1Y3QgdnNwMV9kbF9ib2R5ICpkbGIsIHUzMiByZWcs IHUzMiBkYXRhKTsKPiA+Pj4+PiArdm9pZCB2c3AxX2RsX2JvZHlfd3JpdGVfb25lc2hvdChzdHJ1 Y3QgdnNwMV9kbF9ib2R5ICpkbGIsIHUzMiByZWcsIHUzMiB2YWx1ZSwKPiA+Pj4+PiArCQkJCXUz MiByZXNldF92YWx1ZSk7Cj4gPj4+Pj4gIGludCB2c3AxX2RsX2xpc3RfYWRkX2JvZHkoc3RydWN0 IHZzcDFfZGxfbGlzdCAqZGwsIHN0cnVjdCB2c3AxX2RsX2JvZHkgKmRsYik7Cj4gPj4+Pj4gIGlu dCB2c3AxX2RsX2xpc3RfYWRkX2NoYWluKHN0cnVjdCB2c3AxX2RsX2xpc3QgKmhlYWQsIHN0cnVj dCB2c3AxX2RsX2xpc3QgKmRsKTsKPiA+Pj4+PiAgCgotLSAKUmVnYXJkcywKCkxhdXJlbnQgUGlu Y2hhcnQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJp LWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs