From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lionel Landwerlin Subject: Re: [PATCH 06/11] drm/syncobj: add timeline payload query ioctl v4 Date: Mon, 18 Feb 2019 11:40:49 +0000 Message-ID: References: <20181207095601.2058-1-david1.zhou@amd.com> <20181207095601.2058-6-david1.zhou@amd.com> <157f8231-57e2-0492-de5d-f9ba4761c4c9@intel.com> <4becddef-3bb3-5a66-34d4-95cced896939@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <4becddef-3bb3-5a66-34d4-95cced896939-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: "Koenig, Christian" , "Zhou, David(ChunMing)" , "dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" Cc: Dave Airlie , Daniel Rakos , Jason Ekstrand T24gMTgvMDIvMjAxOSAwNzoyOCwgS29lbmlnLCBDaHJpc3RpYW4gd3JvdGU6Cj4gQW0gMTguMDIu MTkgdW0gMDQ6MTAgc2NocmllYiB6aG91Y20xOgo+Pgo+PiBPbiAyMDE55bm0MDLmnIgxN+aXpSAw MzoyMiwgQ2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPj4+IEFtIDE1LjAyLjE5IHVtIDIwOjMxIHNj aHJpZWIgTGlvbmVsIExhbmR3ZXJsaW4gdmlhIGFtZC1nZng6Cj4+Pj4gT24gMDcvMTIvMjAxOCAw OTo1NSwgQ2h1bm1pbmcgWmhvdSB3cm90ZToKPj4+Pj4gdXNlciBtb2RlIGNhbiBxdWVyeSB0aW1l bGluZSBwYXlsb2FkLgo+Pj4+PiB2MjogY2hlY2sgcmV0dXJuIHZhbHVlIG9mIGNvcHlfdG9fdXNl cgo+Pj4+PiB2MzogaGFuZGxlIHF1ZXJ5aW5nIGVudHJ5IGJ5IGVudHJ5Cj4+Pj4+IHY0OiByZWJh c2Ugb24gbmV3IGNoYWluIGNvbnRhaW5lciwgc2ltcGxpZnkgaW50ZXJmYWNlCj4+Pj4+Cj4+Pj4+ IFNpZ25lZC1vZmYtYnk6IENodW5taW5nIFpob3UgPGRhdmlkMS56aG91QGFtZC5jb20+Cj4+Pj4+ IENjOiBEYW5pZWwgUmFrb3MgPERhbmllbC5SYWtvc0BhbWQuY29tPgo+Pj4+PiBDYzogSmFzb24g RWtzdHJhbmQgPGphc29uQGpsZWtzdHJhbmQubmV0Pgo+Pj4+PiBDYzogQmFzIE5pZXV3ZW5odWl6 ZW4gPGJhc0BiYXNuaWV1d2VuaHVpemVuLm5sPgo+Pj4+PiBDYzogRGF2ZSBBaXJsaWUgPGFpcmxp ZWRAcmVkaGF0LmNvbT4KPj4+Pj4gQ2M6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2Vu aWdAYW1kLmNvbT4KPj4+Pj4gQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNv LnVrPgo+Pj4+PiAtLS0KPj4+Pj4gIMKgIGRyaXZlcnMvZ3B1L2RybS9kcm1faW50ZXJuYWwuaCB8 wqAgMiArKwo+Pj4+PiAgwqAgZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jwqDCoMKgIHzCoCAy ICsrCj4+Pj4+ICDCoCBkcml2ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouY8KgIHwgNDMKPj4+Pj4g KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+Pj4+PiAgwqAgaW5jbHVkZS91YXBp L2RybS9kcm0uaMKgwqDCoMKgwqDCoMKgwqAgfCAxMCArKysrKysrKwo+Pj4+PiAgwqAgNCBmaWxl cyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspCj4+Pj4+Cj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2ludGVybmFsLmgKPj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lu dGVybmFsLmgKPj4+Pj4gaW5kZXggMThiNDFlMTAxOTVjLi5kYWI0ZDU5MzY0NDEgMTAwNjQ0Cj4+ Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faW50ZXJuYWwuaAo+Pj4+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2ludGVybmFsLmgKPj4+Pj4gQEAgLTE4NCw2ICsxODQsOCBAQCBpbnQg ZHJtX3N5bmNvYmpfcmVzZXRfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UKPj4+Pj4gKmRldiwgdm9p ZCAqZGF0YSwKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0 IGRybV9maWxlICpmaWxlX3ByaXZhdGUpOwo+Pj4+PiAgwqAgaW50IGRybV9zeW5jb2JqX3NpZ25h bF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+Pj4+PiAgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2 YXRlKTsKPj4+Pj4gK2ludCBkcm1fc3luY29ial9xdWVyeV9pb2N0bChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCB2b2lkICpkYXRhLAo+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlKTsKPj4+Pj4gIMKgIMKgIC8qIGRybV9mcmFt ZWJ1ZmZlci5jICovCj4+Pj4+ICDCoCB2b2lkIGRybV9mcmFtZWJ1ZmZlcl9wcmludF9pbmZvKHN0 cnVjdCBkcm1fcHJpbnRlciAqcCwgdW5zaWduZWQKPj4+Pj4gaW50IGluZGVudCwKPj4+Pj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1faW9jdGwuYwo+Pj4+PiBpbmRleCBhOWExN2VkMzVjYzQuLjc1NzhlZjZkYzFkMSAxMDA2NDQK Pj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCj4+Pj4+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1faW9jdGwuYwo+Pj4+PiBAQCAtNjgxLDYgKzY4MSw4IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX2lvY3RsX2Rlc2MgZHJtX2lvY3Rsc1tdCj4+Pj4+ID0gewo+Pj4+PiAg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FM TE9XKSwKPj4+Pj4gIMKgwqDCoMKgwqAgRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfU1lOQ09CSl9T SUdOQUwsCj4+Pj4+IGRybV9zeW5jb2JqX3NpZ25hbF9pb2N0bCwKPj4+Pj4gIMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBEUk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9BTExPVyksCj4+Pj4+ ICvCoMKgwqAgRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfU1lOQ09CSl9RVUVSWSwgZHJtX3N5bmNv YmpfcXVlcnlfaW9jdGwsCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBEUk1fVU5M T0NLRUR8RFJNX1JFTkRFUl9BTExPVyksCj4+Pj4+ICDCoMKgwqDCoMKgIERSTV9JT0NUTF9ERUYo RFJNX0lPQ1RMX0NSVENfR0VUX1NFUVVFTkNFLAo+Pj4+PiBkcm1fY3J0Y19nZXRfc2VxdWVuY2Vf aW9jdGwsIERSTV9VTkxPQ0tFRCksCj4+Pj4+ICDCoMKgwqDCoMKgIERSTV9JT0NUTF9ERUYoRFJN X0lPQ1RMX0NSVENfUVVFVUVfU0VRVUVOQ0UsCj4+Pj4+IGRybV9jcnRjX3F1ZXVlX3NlcXVlbmNl X2lvY3RsLCBEUk1fVU5MT0NLRUQpLAo+Pj4+PiAgwqDCoMKgwqDCoCBEUk1fSU9DVExfREVGKERS TV9JT0NUTF9NT0RFX0NSRUFURV9MRUFTRSwKPj4+Pj4gZHJtX21vZGVfY3JlYXRlX2xlYXNlX2lv Y3RsLCBEUk1fTUFTVEVSfERSTV9VTkxPQ0tFRCksCj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vZHJtX3N5bmNvYmouYwo+Pj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc3luY29i ai5jCj4+Pj4+IGluZGV4IDM0ODA3OWJiMDk2NS4uZjk3ZmEwMGNhMWQwIDEwMDY0NAo+Pj4+PiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYwo+Pj4+PiArKysgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX3N5bmNvYmouYwo+Pj4+PiBAQCAtMTA2MSwzICsxMDYxLDQ2IEBAIGRybV9zeW5j b2JqX3NpZ25hbF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZQo+Pj4+PiAqZGV2LCB2b2lkICpkYXRh LAo+Pj4+PiAgwqAgwqDCoMKgwqDCoCByZXR1cm4gcmV0Owo+Pj4+PiAgwqAgfQo+Pj4+PiArCj4+ Pj4+ICtpbnQgZHJtX3N5bmNvYmpfcXVlcnlfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dm9pZCAqZGF0YSwKPj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3Qg ZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSkKPj4+Pj4gK3sKPj4+Pj4gK8KgwqDCoCBzdHJ1Y3QgZHJt X3N5bmNvYmpfdGltZWxpbmVfYXJyYXkgKmFyZ3MgPSBkYXRhOwo+Pj4+PiArwqDCoMKgIHN0cnVj dCBkcm1fc3luY29iaiAqKnN5bmNvYmpzOwo+Pj4+PiArwqDCoMKgIHVpbnQ2NF90IF9fdXNlciAq cG9pbnRzID0gdTY0X3RvX3VzZXJfcHRyKGFyZ3MtPnBvaW50cyk7Cj4+Pj4+ICvCoMKgwqAgdWlu dDMyX3QgaTsKPj4+Pj4gK8KgwqDCoCBpbnQgcmV0Owo+Pj4+PiArCj4+Pj4+ICvCoMKgwqAgaWYg KCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX1NZTkNPQkopKQo+Pj4+PiArwqDC oMKgwqDCoMKgwqAgcmV0dXJuIC1FTk9ERVY7Cj4+Pj4+ICsKPj4+Pj4gK8KgwqDCoCBpZiAoYXJn cy0+cGFkICE9IDApCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gLUVJTlZBTDsKPj4+Pj4g Kwo+Pj4+PiArwqDCoMKgIGlmIChhcmdzLT5jb3VudF9oYW5kbGVzID09IDApCj4+Pj4+ICvCoMKg wqDCoMKgwqDCoCByZXR1cm4gLUVJTlZBTDsKPj4+Pj4gKwo+Pj4+PiArwqDCoMKgIHJldCA9IGRy bV9zeW5jb2JqX2FycmF5X2ZpbmQoZmlsZV9wcml2YXRlLAo+Pj4+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1NjRfdG9fdXNlcl9wdHIoYXJncy0+aGFuZGxlcyks Cj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFyZ3MtPmNv dW50X2hhbmRsZXMsCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgICZzeW5jb2Jqcyk7Cj4+Pj4+ICvCoMKgwqAgaWYgKHJldCA8IDApCj4+Pj4+ICvCoMKgwqDC oMKgwqDCoCByZXR1cm4gcmV0Owo+Pj4+PiArCj4+Pj4+ICvCoMKgwqAgZm9yIChpID0gMDsgaSA8 IGFyZ3MtPmNvdW50X2hhbmRsZXM7IGkrKykgewo+Pj4+PiArwqDCoMKgwqDCoMKgwqAgc3RydWN0 IGRtYV9mZW5jZV9jaGFpbiAqY2hhaW47Cj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgZG1h X2ZlbmNlICpmZW5jZTsKPj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHVpbnQ2NF90IHBvaW50Owo+Pj4+ PiArCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBmZW5jZSA9IGRybV9zeW5jb2JqX2ZlbmNlX2dldChz eW5jb2Jqc1tpXSk7Cj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBjaGFpbiA9IHRvX2RtYV9mZW5jZV9j aGFpbihmZW5jZSk7Cj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBwb2ludCA9IGNoYWluID8gZmVuY2Ut PnNlcW5vIDogMDsKPj4+Pgo+Pj4+IFNvcnJ5LCBJIGRvbicgdCB3YW50IHRvIHNvdW5kIGFubm95 aW5nLCBidXQgdGhpcyBsb29rcyBsaWtlIHRoaXMKPj4+PiBjb3VsZCByZXBvcnQgdmFsdWVzIGdv aW5nIGJhY2t3YXJkLgo+Pj4gV2VsbCBwbGVhc2UgYmUgYW5ub3lpbmcgYXMgbXVjaCBhcyB5b3Ug Y2FuIDopIEJ1dCB5ZWFoIGFsbCB0aGF0IHN0dWZmCj4+PiBoYXMgYmVlbiBkaXNjdXNzZWQgYmVm b3JlIGFzIHdlbGwuCj4+Pgo+Pj4+IEFueXRoaW5nIGFkZCBhIHBvaW50IFggdG8gYSB0aW1lbGlu ZSB0aGF0IGhhcyByZWFjaGVkIHZhbHVlIFkgd2l0aCBYCj4+Pj4gPCBZIHdvdWxkIHRyaWdnZXIg dGhhdC4KPj4+IFllcywgdGhhdCBjYW4gaW5kZWVkIGhhcHBlbi4KPj4gdHJpZ2dlciB3aGF0PyB3 aGVuIGFkZGluZyB4ICh4IDwgeSksIHRoZW4gcmV0dXJuIDAgd2hlbiBxdWVyeT8KPj4gV2h5IHdv dWxkIHRoaXMgaGFwcGVuPwo+PiBObywgc3luY29iai0+ZmVuY2Ugc2hvdWxkIGFsd2F5cyBiZSB0 aGVyZSBhbmQgdGhlIGxhc3QgY2hhaW4gbm9kZSwgaWYKPj4gaXQgaXMgZXZlciBhZGRlZC4KPiBX ZWxsIG1heWJlIExpb25lbCBzaG91bGQgY2xhcmlmeSBhIGJpdCB3aGF0IGhlIG1lYW5zPwo+Cj4g SSB0aG91Z2h0IGhlIGlzIGNvbmNlcm5lZCB0aGF0IHRoZSBjYWxsIGNvdWxkIHJldHVybiB2YWx1 ZXMgd2hlcmUgWCA8IFksCj4gYnV0IHRoYXQgZG9lc24ndCBzZWVtIHRvIGJlIHRoZSBjYXNlLgo+ Cj4gQ2hyaXN0aWFuLgoKCkkgbWVhbnQgc29tZXRoaW5nIGxpa2UgdGhpcyA6CgoKdCA9IGNyZWF0 ZV90aW1lbGluZV9zeW5jb2JqKCkKCnNpZ25hbCh0LCAyKQoKcXVlcnkodCkgPT4gMgoKc2lnbmFs KHQsIDEpCgpxdWVyeSh0KSA9PiAxCgoKLUxpb25lbAoKCgo+Cj4+IC1EYXZpZAo+Pj4gQnV0IGFk ZGluZyBhIHRpbWVsaW5lIHBvaW50IFggd2hpY2ggaXMgYmVmb3JlIHRoZSBhbHJlYWR5IGFkZGVk IHBvaW50Cj4+PiBZIGlzIGlsbGVnYWwgaW4gdGhlIGZpcnN0IHBsYWNlIDopCj4+Pgo+Pj4gU28g d2hlbiB0aGUgYXBwbGljYXRpb24gZG9lcyBzb21ldGhpbmcgc3R1cGlkIGFuZCBicmVha3MgaXQg Y2FuIGp1c3QKPj4+IGtlZXAgdGhlIHBpZWNlcy4KPj4+Cj4+PiBJbiB0aGUga2VybmVsIHdlIHN0 aWxsIGRvIHRoZSBtb3N0IGRlZmVuc2l2ZSB0aGluZyBhbmQgc3luYyB0bwo+Pj4gZXZlcnl0aGlu ZyBpbiB0aGlzIGNhc2UuCj4+Pgo+Pj4gSSdtIGp1c3Qgbm90IHN1cmUgaWYgd2Ugc2hvdWxkIHBy aW50IGFuIGVycm9yIGludG8gc3lzbG9nIG9yIGp1c3QKPj4+IGNvbnRpbnVlIHNpbGVudGx5Lgo+ Pj4KPj4+IFJlZ2FyZHMsCj4+PiBDaHJpc3RpYW4uCj4+Pgo+Pj4+IEVpdGhlciB0aHJvdWdoIHRo ZSBzdWJtaXNzaW9uIG9yIHVzZXJzcGFjZSBzaWduYWxpbmcgb3IgaW1wb3J0aW5nCj4+Pj4gYW5v dGhlciBzeW5jcG9pbnQncyBmZW5jZS4KPj4+Pgo+Pj4+Cj4+Pj4gLUxpb25lbAo+Pj4+Cj4+Pj4K Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldCA9IGNvcHlfdG9fdXNlcigmcG9pbnRzW2ldLCAmcG9p bnQsIHNpemVvZih1aW50NjRfdCkpOwo+Pj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0ID0gcmV0ID8g LUVGQVVMVCA6IDA7Cj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAocmV0KQo+Pj4+PiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBicmVhazsKPj4+Pj4gK8KgwqDCoCB9Cj4+Pj4+ICvCoMKgwqAgZHJt X3N5bmNvYmpfYXJyYXlfZnJlZShzeW5jb2JqcywgYXJncy0+Y291bnRfaGFuZGxlcyk7Cj4+Pj4+ ICsKPj4+Pj4gK8KgwqDCoCByZXR1cm4gcmV0Owo+Pj4+PiArfQo+Pj4+PiBkaWZmIC0tZ2l0IGEv aW5jbHVkZS91YXBpL2RybS9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtLmgKPj4+Pj4gaW5k ZXggMDA5MjExMWQwMDJjLi5iMmMzNmYyYjI1OTkgMTAwNjQ0Cj4+Pj4+IC0tLSBhL2luY2x1ZGUv dWFwaS9kcm0vZHJtLmgKPj4+Pj4gKysrIGIvaW5jbHVkZS91YXBpL2RybS9kcm0uaAo+Pj4+PiBA QCAtNzY3LDYgKzc2NywxNCBAQCBzdHJ1Y3QgZHJtX3N5bmNvYmpfYXJyYXkgewo+Pj4+PiAgwqDC oMKgwqDCoCBfX3UzMiBwYWQ7Cj4+Pj4+ICDCoCB9Owo+Pj4+PiAgwqAgK3N0cnVjdCBkcm1fc3lu Y29ial90aW1lbGluZV9hcnJheSB7Cj4+Pj4+ICvCoMKgwqAgX191NjQgaGFuZGxlczsKPj4+Pj4g K8KgwqDCoCBfX3U2NCBwb2ludHM7Cj4+Pj4+ICvCoMKgwqAgX191MzIgY291bnRfaGFuZGxlczsK Pj4+Pj4gK8KgwqDCoCBfX3UzMiBwYWQ7Cj4+Pj4+ICt9Owo+Pj4+PiArCj4+Pj4+ICsKPj4+Pj4g IMKgIC8qIFF1ZXJ5IGN1cnJlbnQgc2Nhbm91dCBzZXF1ZW5jZSBudW1iZXIgKi8KPj4+Pj4gIMKg IHN0cnVjdCBkcm1fY3J0Y19nZXRfc2VxdWVuY2Ugewo+Pj4+PiAgwqDCoMKgwqDCoCBfX3UzMiBj cnRjX2lkO8KgwqDCoMKgwqDCoMKgIC8qIHJlcXVlc3RlZCBjcnRjX2lkICovCj4+Pj4+IEBAIC05 MjQsNiArOTMyLDggQEAgZXh0ZXJuICJDIiB7Cj4+Pj4+ICDCoCAjZGVmaW5lIERSTV9JT0NUTF9N T0RFX1JFVk9LRV9MRUFTRcKgwqDCoCBEUk1fSU9XUigweEM5LCBzdHJ1Y3QKPj4+Pj4gZHJtX21v ZGVfcmV2b2tlX2xlYXNlKQo+Pj4+PiAgwqAgwqAgI2RlZmluZSBEUk1fSU9DVExfU1lOQ09CSl9U SU1FTElORV9XQUlUIERSTV9JT1dSKDB4Q0EsIHN0cnVjdAo+Pj4+PiBkcm1fc3luY29ial90aW1l bGluZV93YWl0KQo+Pj4+PiArI2RlZmluZSBEUk1fSU9DVExfU1lOQ09CSl9RVUVSWcKgwqDCoMKg wqDCoMKgIERSTV9JT1dSKDB4Q0IsIHN0cnVjdAo+Pj4+PiBkcm1fc3luY29ial90aW1lbGluZV9h cnJheSkKPj4+Pj4gKwo+Pj4+PiAgwqAgLyoqCj4+Pj4+ICDCoMKgICogRGV2aWNlIHNwZWNpZmlj IGlvY3RscyBzaG91bGQgb25seSBiZSBpbiB0aGVpciByZXNwZWN0aXZlIGhlYWRlcnMKPj4+Pj4g IMKgwqAgKiBUaGUgZGV2aWNlIHNwZWNpZmljIGlvY3RsIHJhbmdlIGlzIGZyb20gMHg0MCB0byAw eDlmLgo+Pj4+Cj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KPj4+PiBhbWQtZ2Z4IG1haWxpbmcgbGlzdAo+Pj4+IGFtZC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4+Pj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9hbWQtZ2Z4CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4