From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH v8 03/15] xen: add new domctl hypercall to set grant table resource limits Date: Wed, 20 Sep 2017 08:26:44 +0000 Message-ID: References: <20170920063430.9105-1-jgross@suse.com> <20170920063430.9105-4-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1duaLH-0000GB-BZ for xen-devel@lists.xenproject.org; Wed, 20 Sep 2017 08:26:47 +0000 In-Reply-To: <20170920063430.9105-4-jgross@suse.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: 'Juergen Gross' , "xen-devel@lists.xenproject.org" Cc: "sstabellini@kernel.org" , Wei Liu , Andrew Cooper , "Tim (Xen.org)" , George Dunlap , "julien.grall@arm.com" , "jbeulich@suse.com" , Ian Jackson , "dgdegra@tycho.nsa.gov" List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBYZW4tZGV2ZWwgW21haWx0bzp4 ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW4ub3JnXSBPbiBCZWhhbGYgT2YNCj4gSnVlcmdlbiBH cm9zcw0KPiBTZW50OiAyMCBTZXB0ZW1iZXIgMjAxNyAwNzozNA0KPiBUbzogeGVuLWRldmVsQGxp c3RzLnhlbnByb2plY3Qub3JnDQo+IENjOiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+ OyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBXZWkgTGl1DQo+IDx3ZWkubGl1MkBjaXRyaXguY29t PjsgR2VvcmdlIER1bmxhcCA8R2VvcmdlLkR1bmxhcEBjaXRyaXguY29tPjsNCj4gQW5kcmV3IENv b3BlciA8QW5kcmV3LkNvb3BlcjNAY2l0cml4LmNvbT47IElhbiBKYWNrc29uDQo+IDxJYW4uSmFj a3NvbkBjaXRyaXguY29tPjsgVGltIChYZW4ub3JnKSA8dGltQHhlbi5vcmc+Ow0KPiBqdWxpZW4u Z3JhbGxAYXJtLmNvbTsgamJldWxpY2hAc3VzZS5jb207IGRnZGVncmFAdHljaG8ubnNhLmdvdg0K PiBTdWJqZWN0OiBbWGVuLWRldmVsXSBbUEFUQ0ggdjggMDMvMTVdIHhlbjogYWRkIG5ldyBkb21j dGwgaHlwZXJjYWxsIHRvIHNldA0KPiBncmFudCB0YWJsZSByZXNvdXJjZSBsaW1pdHMNCj4gDQo+ IEFkZCBhIGRvbWN0bCBoeXBlcmNhbGwgdG8gc2V0IHRoZSBkb21haW4ncyByZXNvdXJjZSBsaW1p dHMgcmVnYXJkaW5nDQo+IGdyYW50IHRhYmxlcy4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEp1ZXJn ZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4gQWNrZWQtYnk6IERhbmllbCBEZSBHcmFhZiA8 ZGdkZWdyYUB0eWNoby5uc2EuZ292Pg0KDQpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVs LmR1cnJhbnRAY2l0cml4LmNvbT4NCg0KPiAtLS0NCj4gVjg6DQo+IC0gcmVtb3ZlIHN0YWxlICNp ZiAwLCBhZGp1c3QgY29tbWVudHMgKFBhdWwgRHVycmFudCkNCj4gDQo+IFY2Og0KPiAtIG1vdmVk IGVhcmxpZXIgaW4gc2VyaWVzIHRvIHN1cHBvcnQgc2V0X2dudHRhYl9saW1pdHMgYmVpbmcNCj4g ICBtYW5kYXRvcnkgZm9yIGRvbWFpbiBjcmVhdGlvbg0KPiANCj4gVjU6DQo+IC0gYWRkIHNldF9n bnR0YWJfbGltaXRzIHRvIGNyZWF0ZV9kb21haW5fY29tbW9uIGluIHhlbi5pZg0KPiAgIChEYW5p ZWwgRGUgR3JhYWYpDQo+IA0KPiBWMzoNCj4gLSByZW5hbWUgKmdudHRibCogdG8gKmdudHRhYiog KFBhdWwgRHVycmFudCkNCj4gLS0tDQo+ICB0b29scy9mbGFzay9wb2xpY3kvbW9kdWxlcy9kb20w LnRlICB8ICAyICstDQo+ICB0b29scy9mbGFzay9wb2xpY3kvbW9kdWxlcy94ZW4uaWYgICB8ICAy ICstDQo+ICB4ZW4vY29tbW9uL2RvbWN0bC5jICAgICAgICAgICAgICAgICB8ICA2ICsrKysrKw0K PiAgeGVuL2NvbW1vbi9ncmFudF90YWJsZS5jICAgICAgICAgICAgfCAxOSArKysrKysrKysrKysr KysrKysrDQo+ICB4ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmggICAgICAgICB8ICA3ICsrKysr KysNCj4gIHhlbi9pbmNsdWRlL3hlbi9ncmFudF90YWJsZS5oICAgICAgIHwgIDIgKysNCj4gIHhl bi94c20vZmxhc2svaG9va3MuYyAgICAgICAgICAgICAgIHwgIDMgKysrDQo+ICB4ZW4veHNtL2Zs YXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycyB8ICAyICsrDQo+ICA4IGZpbGVzIGNoYW5nZWQsIDQx IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvdG9vbHMv Zmxhc2svcG9saWN5L21vZHVsZXMvZG9tMC50ZQ0KPiBiL3Rvb2xzL2ZsYXNrL3BvbGljeS9tb2R1 bGVzL2RvbTAudGUNCj4gaW5kZXggMzM4Y2FhZjQxZS4uMTY0M2I0MDBmMCAxMDA2NDQNCj4gLS0t IGEvdG9vbHMvZmxhc2svcG9saWN5L21vZHVsZXMvZG9tMC50ZQ0KPiArKysgYi90b29scy9mbGFz ay9wb2xpY3kvbW9kdWxlcy9kb20wLnRlDQo+IEBAIC0zOSw3ICszOSw3IEBAIGFsbG93IGRvbTBf dCBkb20wX3Q6ZG9tYWluIHsNCj4gIH07DQo+ICBhbGxvdyBkb20wX3QgZG9tMF90OmRvbWFpbjIg ew0KPiAgCXNldF9jcHVpZCBnZXR0c2Mgc2V0dHNjIHNldHNjaGVkdWxlciBzZXRfbWF4X2V2dGNo bg0KPiBzZXRfdm51bWFpbmZvDQo+IC0JZ2V0X3ZudW1haW5mbyBwc3JfY210X29wIHBzcl9jYXRf b3ANCj4gKwlnZXRfdm51bWFpbmZvIHBzcl9jbXRfb3AgcHNyX2NhdF9vcCBzZXRfZ250dGFiX2xp bWl0cw0KPiAgfTsNCj4gIGFsbG93IGRvbTBfdCBkb20wX3Q6cmVzb3VyY2UgeyBhZGQgcmVtb3Zl IH07DQo+IA0KPiBkaWZmIC0tZ2l0IGEvdG9vbHMvZmxhc2svcG9saWN5L21vZHVsZXMveGVuLmlm DQo+IGIvdG9vbHMvZmxhc2svcG9saWN5L21vZHVsZXMveGVuLmlmDQo+IGluZGV4IDkxMjY0MDAw MmUuLjU1NDM3NDk2ZjYgMTAwNjQ0DQo+IC0tLSBhL3Rvb2xzL2ZsYXNrL3BvbGljeS9tb2R1bGVz L3hlbi5pZg0KPiArKysgYi90b29scy9mbGFzay9wb2xpY3kvbW9kdWxlcy94ZW4uaWYNCj4gQEAg LTUyLDcgKzUyLDcgQEAgZGVmaW5lKGBjcmVhdGVfZG9tYWluX2NvbW1vbicsIGANCj4gIAkJCXNl dHRpbWUgc2V0ZG9tYWluaGFuZGxlIGdldHZjcHVjb250ZXh0DQo+IHNldF9taXNjX2luZm8gfTsN Cj4gIAlhbGxvdyAkMSAkMjpkb21haW4yIHsgc2V0X2NwdWlkIHNldHRzYyBzZXRzY2hlZHVsZXIg c2V0Y2xhaW0NCj4gIAkJCXNldF9tYXhfZXZ0Y2huIHNldF92bnVtYWluZm8gZ2V0X3ZudW1haW5m bw0KPiBjYWNoZWZsdXNoDQo+IC0JCQlwc3JfY210X29wIHBzcl9jYXRfb3Agc29mdF9yZXNldCB9 Ow0KPiArCQkJcHNyX2NtdF9vcCBwc3JfY2F0X29wIHNvZnRfcmVzZXQgc2V0X2dudHRhYl9saW1p dHMNCj4gfTsNCj4gIAlhbGxvdyAkMSAkMjpzZWN1cml0eSBjaGVja19jb250ZXh0Ow0KPiAgCWFs bG93ICQxICQyOnNoYWRvdyBlbmFibGU7DQo+ICAJYWxsb3cgJDEgJDI6bW11IHsgbWFwX3JlYWQg bWFwX3dyaXRlIGFkanVzdCBtZW1vcnltYXANCj4gcGh5c21hcCBwaW5wYWdlIG1tdWV4dF9vcCB1 cGRhdGVtcCB9Ow0KPiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9kb21jdGwuYyBiL3hlbi9jb21t b24vZG9tY3RsLmMNCj4gaW5kZXggNDI2NThlNTc0NC4uNTgzODFmOGZlOSAxMDA2NDQNCj4gLS0t IGEveGVuL2NvbW1vbi9kb21jdGwuYw0KPiArKysgYi94ZW4vY29tbW9uL2RvbWN0bC5jDQo+IEBA IC0xNCw2ICsxNCw3IEBADQo+ICAjaW5jbHVkZSA8eGVuL3NjaGVkLWlmLmg+DQo+ICAjaW5jbHVk ZSA8eGVuL2RvbWFpbi5oPg0KPiAgI2luY2x1ZGUgPHhlbi9ldmVudC5oPg0KPiArI2luY2x1ZGUg PHhlbi9ncmFudF90YWJsZS5oPg0KPiAgI2luY2x1ZGUgPHhlbi9kb21haW5fcGFnZS5oPg0KPiAg I2luY2x1ZGUgPHhlbi90cmFjZS5oPg0KPiAgI2luY2x1ZGUgPHhlbi9jb25zb2xlLmg+DQo+IEBA IC0xMTQ5LDYgKzExNTAsMTEgQEAgbG9uZw0KPiBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9Q QVJBTSh4ZW5fZG9tY3RsX3QpIHVfZG9tY3RsKQ0KPiAgICAgICAgICAgICAgY29weWJhY2sgPSAx Ow0KPiAgICAgICAgICBicmVhazsNCj4gDQo+ICsgICAgY2FzZSBYRU5fRE9NQ1RMX3NldF9nbnR0 YWJfbGltaXRzOg0KPiArICAgICAgICByZXQgPSBncmFudF90YWJsZV9zZXRfbGltaXRzKGQsIG9w LT51LnNldF9nbnR0YWJfbGltaXRzLmdyYW50X2ZyYW1lcywNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBvcC0+dS5zZXRfZ250dGFiX2xpbWl0cy5tYXB0cmFja19mcmFt ZXMpOw0KPiArICAgICAgICBicmVhazsNCj4gKw0KPiAgICAgIGRlZmF1bHQ6DQo+ICAgICAgICAg IHJldCA9IGFyY2hfZG9fZG9tY3RsKG9wLCBkLCB1X2RvbWN0bCk7DQo+ICAgICAgICAgIGJyZWFr Ow0KPiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jIGIveGVuL2NvbW1vbi9n cmFudF90YWJsZS5jDQo+IGluZGV4IGFjODQ1ZGJiMzUuLmY0OGVlZmY3YWQgMTAwNjQ0DQo+IC0t LSBhL3hlbi9jb21tb24vZ3JhbnRfdGFibGUuYw0KPiArKysgYi94ZW4vY29tbW9uL2dyYW50X3Rh YmxlLmMNCj4gQEAgLTM2NDAsNiArMzY0MCwyNSBAQCB2b2lkIGdyYW50X3RhYmxlX2luaXRfdmNw dShzdHJ1Y3QgdmNwdSAqdikNCj4gICAgICB2LT5tYXB0cmFja190YWlsID0gTUFQVFJBQ0tfVEFJ TDsNCj4gIH0NCj4gDQo+ICtpbnQgZ3JhbnRfdGFibGVfc2V0X2xpbWl0cyhzdHJ1Y3QgZG9tYWlu ICpkLCB1bnNpZ25lZCBpbnQgZ3JhbnRfZnJhbWVzLA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgaW50IG1hcHRyYWNrX2ZyYW1lcykNCj4gK3sNCj4gKyAgICBzdHJ1Y3Qg Z3JhbnRfdGFibGUgKmd0ID0gZC0+Z3JhbnRfdGFibGU7DQo+ICsgICAgaW50IHJldCA9IC1FQlVT WTsNCj4gKw0KPiArICAgIGlmICggIWd0ICkNCj4gKyAgICAgICAgcmV0dXJuIC1FTk9FTlQ7DQo+ ICsNCj4gKyAgICBncmFudF93cml0ZV9sb2NrKGd0KTsNCj4gKw0KPiArICAgIHJldCA9IDA7DQo+ ICsgICAgLyogU2V0IGxpbWl0cywgYWxsb2MgbmVlZGVkIGFycmF5cy4gKi8NCj4gKw0KPiArICAg IGdyYW50X3dyaXRlX3VubG9jayhndCk7DQo+ICsNCj4gKyAgICByZXR1cm4gcmV0Ow0KPiArfQ0K PiArDQo+ICAjaWZkZWYgQ09ORklHX0hBU19NRU1fU0hBUklORw0KPiAgaW50IG1lbV9zaGFyaW5n X2dyZWZfdG9fZ2ZuKHN0cnVjdCBncmFudF90YWJsZSAqZ3QsIGdyYW50X3JlZl90IHJlZiwNCj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZm5fdCAqZ2ZuLCB1aW50MTZfdCAqc3RhdHVz KQ0KPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oIGIveGVuL2luY2x1 ZGUvcHVibGljL2RvbWN0bC5oDQo+IGluZGV4IDUwZmY1OGY1YjkuLjE2NzUwMmM2MGIgMTAwNjQ0 DQo+IC0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaA0KPiArKysgYi94ZW4vaW5jbHVk ZS9wdWJsaWMvZG9tY3RsLmgNCj4gQEAgLTExNjMsNiArMTE2MywxMSBAQCBzdHJ1Y3QgeGVuX2Rv bWN0bF9wc3JfY2F0X29wIHsNCj4gIHR5cGVkZWYgc3RydWN0IHhlbl9kb21jdGxfcHNyX2NhdF9v cCB4ZW5fZG9tY3RsX3Bzcl9jYXRfb3BfdDsNCj4gIERFRklORV9YRU5fR1VFU1RfSEFORExFKHhl bl9kb21jdGxfcHNyX2NhdF9vcF90KTsNCj4gDQo+ICtzdHJ1Y3QgeGVuX2RvbWN0bF9zZXRfZ250 dGFiX2xpbWl0cyB7DQo+ICsgICAgdWludDMyX3QgZ3JhbnRfZnJhbWVzOyAgICAgLyogSU4gKi8N Cj4gKyAgICB1aW50MzJfdCBtYXB0cmFja19mcmFtZXM7ICAvKiBJTiAqLw0KPiArfTsNCj4gKw0K PiAgc3RydWN0IHhlbl9kb21jdGwgew0KPiAgICAgIHVpbnQzMl90IGNtZDsNCj4gICNkZWZpbmUg WEVOX0RPTUNUTF9jcmVhdGVkb21haW4gICAgICAgICAgICAgICAgICAgMQ0KPiBAQCAtMTI0MCw2 ICsxMjQ1LDcgQEAgc3RydWN0IHhlbl9kb21jdGwgew0KPiAgI2RlZmluZSBYRU5fRE9NQ1RMX21v bml0b3Jfb3AgICAgICAgICAgICAgICAgICAgIDc3DQo+ICAjZGVmaW5lIFhFTl9ET01DVExfcHNy X2NhdF9vcCAgICAgICAgICAgICAgICAgICAgNzgNCj4gICNkZWZpbmUgWEVOX0RPTUNUTF9zb2Z0 X3Jlc2V0ICAgICAgICAgICAgICAgICAgICA3OQ0KPiArI2RlZmluZSBYRU5fRE9NQ1RMX3NldF9n bnR0YWJfbGltaXRzICAgICAgICAgICAgIDgwDQo+ICAjZGVmaW5lIFhFTl9ET01DVExfZ2Ric3hf Z3Vlc3RtZW1pbyAgICAgICAgICAgIDEwMDANCj4gICNkZWZpbmUgWEVOX0RPTUNUTF9nZGJzeF9w YXVzZXZjcHUgICAgICAgICAgICAgMTAwMQ0KPiAgI2RlZmluZSBYRU5fRE9NQ1RMX2dkYnN4X3Vu cGF1c2V2Y3B1ICAgICAgICAgICAxMDAyDQo+IEBAIC0xMzAyLDYgKzEzMDgsNyBAQCBzdHJ1Y3Qg eGVuX2RvbWN0bCB7DQo+ICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX3Bzcl9jbXRfb3AgICAg ICAgIHBzcl9jbXRfb3A7DQo+ICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX21vbml0b3Jfb3Ag ICAgICAgIG1vbml0b3Jfb3A7DQo+ICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX3Bzcl9jYXRf b3AgICAgICAgIHBzcl9jYXRfb3A7DQo+ICsgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX3NldF9n bnR0YWJfbGltaXRzIHNldF9nbnR0YWJfbGltaXRzOw0KPiAgICAgICAgICB1aW50OF90ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBwYWRbMTI4XTsNCj4gICAgICB9IHU7DQo+ICB9Ow0KPiBk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmggYi94ZW4vaW5jbHVkZS94 ZW4vZ3JhbnRfdGFibGUuaA0KPiBpbmRleCA0M2IwN2U2MGM1Li5kZjExYjMxMjY0IDEwMDY0NA0K PiAtLS0gYS94ZW4vaW5jbHVkZS94ZW4vZ3JhbnRfdGFibGUuaA0KPiArKysgYi94ZW4vaW5jbHVk ZS94ZW4vZ3JhbnRfdGFibGUuaA0KPiBAQCAtMzgsNiArMzgsOCBAQCBpbnQgZ3JhbnRfdGFibGVf Y3JlYXRlKA0KPiAgdm9pZCBncmFudF90YWJsZV9kZXN0cm95KA0KPiAgICAgIHN0cnVjdCBkb21h aW4gKmQpOw0KPiAgdm9pZCBncmFudF90YWJsZV9pbml0X3ZjcHUoc3RydWN0IHZjcHUgKnYpOw0K PiAraW50IGdyYW50X3RhYmxlX3NldF9saW1pdHMoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQg aW50IGdyYW50X2ZyYW1lcywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGludCBtYXB0cmFja19mcmFtZXMpOw0KPiANCj4gIC8qDQo+ICAgKiBDaGVjayBpZiBkb21haW4g aGFzIGFjdGl2ZSBncmFudHMgYW5kIGxvZyBmaXJzdCAxMCBvZiB0aGVtLg0KPiBkaWZmIC0tZ2l0 IGEveGVuL3hzbS9mbGFzay9ob29rcy5jIGIveGVuL3hzbS9mbGFzay9ob29rcy5jDQo+IGluZGV4 IDU2ZGM1YjBhYjkuLjdiMDA1YWY4MzQgMTAwNjQ0DQo+IC0tLSBhL3hlbi94c20vZmxhc2svaG9v a3MuYw0KPiArKysgYi94ZW4veHNtL2ZsYXNrL2hvb2tzLmMNCj4gQEAgLTc0OSw2ICs3NDksOSBA QCBzdGF0aWMgaW50IGZsYXNrX2RvbWN0bChzdHJ1Y3QgZG9tYWluICpkLCBpbnQgY21kKQ0KPiAg ICAgIGNhc2UgWEVOX0RPTUNUTF9zb2Z0X3Jlc2V0Og0KPiAgICAgICAgICByZXR1cm4gY3VycmVu dF9oYXNfcGVybShkLCBTRUNDTEFTU19ET01BSU4yLA0KPiBET01BSU4yX19TT0ZUX1JFU0VUKTsN Cj4gDQo+ICsgICAgY2FzZSBYRU5fRE9NQ1RMX3NldF9nbnR0YWJfbGltaXRzOg0KPiArICAgICAg ICByZXR1cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUNDTEFTU19ET01BSU4yLA0KPiBET01BSU4y X19TRVRfR05UVEFCX0xJTUlUUyk7DQo+ICsNCj4gICAgICBkZWZhdWx0Og0KPiAgICAgICAgICBy ZXR1cm4gYXZjX3Vua25vd25fcGVybWlzc2lvbigiZG9tY3RsIiwgY21kKTsNCj4gICAgICB9DQo+ IGRpZmYgLS1naXQgYS94ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycw0KPiBiL3hl bi94c20vZmxhc2svcG9saWN5L2FjY2Vzc192ZWN0b3JzDQo+IGluZGV4IGRhOWYzZGZiMmUuLjNh MmQ4NjNiOGYgMTAwNjQ0DQo+IC0tLSBhL3hlbi94c20vZmxhc2svcG9saWN5L2FjY2Vzc192ZWN0 b3JzDQo+ICsrKyBiL3hlbi94c20vZmxhc2svcG9saWN5L2FjY2Vzc192ZWN0b3JzDQo+IEBAIC0y NDgsNiArMjQ4LDggQEAgY2xhc3MgZG9tYWluMg0KPiAgICAgIG1lbV9zaGFyaW5nDQo+ICAjIFhF Tl9ET01DVExfcHNyX2NhdF9vcA0KPiAgICAgIHBzcl9jYXRfb3ANCj4gKyMgWEVOX0RPTUNUTF9z ZXRfZ250dGFiX2xpbWl0cw0KPiArICAgIHNldF9nbnR0YWJfbGltaXRzDQo+ICB9DQo+IA0KPiAg IyBTaW1pbGFyIHRvIGNsYXNzIGRvbWFpbiwgYnV0IHByaW1hcmlseSBjb250YWlucyBkb21jdGxz IHJlbGF0ZWQgdG8gSFZNDQo+IGRvbWFpbnMNCj4gLS0NCj4gMi4xMi4zDQo+IA0KPiANCj4gX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gWGVuLWRldmVs IG1haWxpbmcgbGlzdA0KPiBYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZw0KPiBodHRwczovL2xpc3Rz Lnhlbi5vcmcveGVuLWRldmVsDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK