From mboxrd@z Thu Jan 1 00:00:00 1970 From: Samuel Thibault Subject: Re: [PATCH 09/22] mini-os: support HVMlite traps Date: Wed, 24 Aug 2016 00:10:26 +0200 Message-ID: <20160823221026.GE4401@var.home> References: <1471965368-6159-1-git-send-email-jgross@suse.com> <1471965368-6159-10-git-send-email-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1471965368-6159-10-git-send-email-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Juergen Gross Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org, wei.liu2@citrix.com List-Id: xen-devel@lists.xenproject.org SnVlcmdlbiBHcm9zcywgb24gVHVlIDIzIEF1ZyAyMDE2IDE3OjE1OjU1ICswMjAwLCB3cm90ZToK PiBUcmFwIGhhbmRsaW5nIGluIEhWTWxpdGUgZG9tYWluIGlzIGRpZmZlcmVudCBmcm9tIHB2IG9u ZS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+CgpS ZXZpZXdlZC1ieTogU2FtdWVsIFRoaWJhdWx0IDxzYW11ZWwudGhpYmF1bHRAZW5zLWx5b24ub3Jn PgoKPiAtLS0KPiAgYXJjaC94ODYvdHJhcHMuYyAgfCAgMiAtLQo+ICBhcmNoL3g4Ni94ODZfMzIu UyB8IDE5ICsrKysrKysrKysrKysrLS0KPiAgYXJjaC94ODYveDg2XzY0LlMgfCAyMiArKysrKysr KysrKysrKysrKy0KPiAgaW5jbHVkZS94ODYvb3MuaCAgfCA2NyArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCj4gIDQgZmlsZXMgY2hhbmdlZCwg MTAxIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2FyY2gv eDg2L3RyYXBzLmMgYi9hcmNoL3g4Ni90cmFwcy5jCj4gaW5kZXggM2IxZmZmYi4uMGIzZDg1YiAx MDA2NDQKPiAtLS0gYS9hcmNoL3g4Ni90cmFwcy5jCj4gKysrIGIvYXJjaC94ODYvdHJhcHMuYwo+ IEBAIC0xOTEsOCArMTkxLDYgQEAgc3RhdGljIHZvaWQgZHVtcF9tZW0odW5zaWduZWQgbG9uZyBh ZGRyKQo+ICAgICAgfQo+ICAgICAgcHJpbnRrKCJcbiIpOwo+ICB9Cj4gLSNkZWZpbmUgcmVhZF9j cjIoKSBcCj4gLSAgICAgICAgKEhZUEVSVklTT1Jfc2hhcmVkX2luZm8tPnZjcHVfaW5mb1tzbXBf cHJvY2Vzc29yX2lkKCldLmFyY2guY3IyKQo+ICAKPiAgc3RhdGljIGludCBoYW5kbGluZ19wZ19m YXVsdCA9IDA7Cj4gIAo+IGRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ODZfMzIuUyBiL2FyY2gveDg2 L3g4Nl8zMi5TCj4gaW5kZXggNmYzODcwOC4uOTI0MTQxOCAxMDA2NDQKPiAtLS0gYS9hcmNoL3g4 Ni94ODZfMzIuUwo+ICsrKyBiL2FyY2gveDg2L3g4Nl8zMi5TCj4gQEAgLTgsNiArOCw5IEBACj4g ICNpbmNsdWRlIDx4ZW4vYXJjaC14ODZfMzIuaD4KPiAgCj4gICNpZmRlZiBDT05GSUdfUEFSQVZJ UlQKPiArCj4gKyNkZWZpbmUgS0VSTkVMX0RTIF9fS0VSTkVMX0RTCj4gKwo+ICBFTEZOT1RFKFhl biwgWEVOX0VMRk5PVEVfR1VFU1RfT1MsIC5hc2NpeiAiTWluaS1PUyIpCj4gIEVMRk5PVEUoWGVu LCBYRU5fRUxGTk9URV9MT0FERVIsIC5hc2NpeiAiZ2VuZXJpYyIpCj4gIEVMRk5PVEUoWGVuLCBY RU5fRUxGTk9URV9IWVBFUkNBTExfUEFHRSwgX1dPUkQgaHlwZXJjYWxsX3BhZ2UpCj4gQEAgLTIx LDYgKzI0LDggQEAgX3N0YXJ0Ogo+ICAgICAgICAgIGxzcyBzdGFja19zdGFydCwlZXNwCj4gICNl bHNlCj4gIAo+ICsjZGVmaW5lIEtFUk5FTF9EUyBfX0tFUk5fRFMKPiArCj4gICNpbmNsdWRlICJ4 ODZfaHZtLlMiCj4gICAgICAgICAgbW92bCBzdGFja19zdGFydCwlZXNwCj4gIAo+IEBAIC02MSw3 ICs2Niw3IEBAIENTCQk9IDB4MkMKPiAgCXB1c2hsICVlZHg7IFwKPiAgCXB1c2hsICVlY3g7IFwK PiAgCXB1c2hsICVlYng7IFwKPiAtCW1vdmwgJChfX0tFUk5FTF9EUyksJWVkeDsgXAo+ICsJbW92 bCAkKEtFUk5FTF9EUyksJWVkeDsgXAo+ICAJbW92bCAlZWR4LCVkczsgXAo+ICAJbW92bCAlZWR4 LCVlczsKPiAgCj4gQEAgLTk4LDcgKzEwMyw3IEBAIGRvX2V4Y2VwdGlvbjoKPiAgCW1vdmwgT1JJ R19FQVgoJWVzcCksICVlZHgJIyBnZXQgdGhlIGVycm9yIGNvZGUKPiAgCW1vdmwgJWVheCwgT1JJ R19FQVgoJWVzcCkKPiAgCW1vdmwgJWVjeCwgRVMoJWVzcCkKPiAtCW1vdmwgJChfX0tFUk5FTF9E UyksICVlY3gKPiArCW1vdmwgJChLRVJORUxfRFMpLCAlZWN4Cj4gIAltb3ZsICVlY3gsICVkcwo+ ICAJbW92bCAlZWN4LCAlZXMKPiAgCW1vdmwgJWVzcCwlZWF4CQkJIyBwdF9yZWdzIHBvaW50ZXIK PiBAQCAtMTEyLDYgKzExNyw3IEBAIHJldF9mcm9tX2V4Y2VwdGlvbjoKPiAgICAgIGFkZGwgJDgs JWVzcAo+ICAgICAgUkVTVE9SRV9BTEwKPiAgCj4gKyNpZmRlZiBDT05GSUdfUEFSQVZJUlQKPiAg IyBBIG5vdGUgb24gdGhlICJjcml0aWNhbCByZWdpb24iIGluIG91ciBjYWxsYmFjayBoYW5kbGVy Lgo+ICAjIFdlIHdhbnQgdG8gYXZvaWQgc3RhY2tpbmcgY2FsbGJhY2sgaGFuZGxlcnMgZHVlIHRv IGV2ZW50cyBvY2N1cnJpbmcKPiAgIyBkdXJpbmcgaGFuZGxpbmcgb2YgdGhlIGxhc3QgZXZlbnQu IFRvIGRvIHRoaXMsIHdlIGtlZXAgZXZlbnRzIGRpc2FibGVkCj4gQEAgLTE4OSw2ICsxOTUsMTUg QEAgY3JpdGljYWxfZml4dXBfdGFibGU6Cj4gICAgICAgICAgLmJ5dGUgMHgyOCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAjIGlyZXQKPiAgICAgICAgICAuYnl0ZSAweDAwLDB4MDAsMHgwMCww eDAwICAgICAgICAgICAgICMgbW92YiAkMSwxKCVlc2kpCj4gICAgICAgICAgLmJ5dGUgMHgwMCww eDAwICAgICAgICAgICAgICAgICAgICAgICAjIGptcCAgMTFiCj4gKwo+ICsjZWxzZQo+ICsKPiAr RU5UUlkoaHlwZXJ2aXNvcl9jYWxsYmFjaykKPiArCXB1c2hsICQwCj4gKwlwdXNobCAkZG9faHlw ZXJ2aXNvcl9jYWxsYmFjawo+ICsJam1wIGRvX2V4Y2VwdGlvbgo+ICsKPiArI2VuZGlmCj4gICAg ICAgICAKPiAgIyBIeXBlcnZpc29yIHVzZXMgdGhpcyBmb3IgYXBwbGljYXRpb24gZmF1bHRzIHdo aWxlIGl0IGV4ZWN1dGVzLgo+ICBFTlRSWShmYWlsc2FmZV9jYWxsYmFjaykKPiBkaWZmIC0tZ2l0 IGEvYXJjaC94ODYveDg2XzY0LlMgYi9hcmNoL3g4Ni94ODZfNjQuUwo+IGluZGV4IGU3MjVjNjMu LjE3YTllYWQgMTAwNjQ0Cj4gLS0tIGEvYXJjaC94ODYveDg2XzY0LlMKPiArKysgYi9hcmNoL3g4 Ni94ODZfNjQuUwo+IEBAIC03OCw5ICs3OCwxMSBAQCBLRVJORUxfQ1NfTUFTSyA9IDB4ZmMKPiAg Cj4gIC8qIE1hY3JvcyAqLwo+ICAubWFjcm8gemVyb2VudHJ5IHN5bQo+ICsjaWZkZWYgQ09ORklH X1BBUkFWSVJUCj4gIAltb3ZxICglcnNwKSwlcmN4Cj4gIAltb3ZxIDgoJXJzcCksJXIxMQo+ICAJ YWRkcSAkMHgxMCwlcnNwIC8qIHNraXAgcmN4IGFuZCByMTEgKi8KPiArI2VuZGlmCj4gIAlwdXNo cSAkMAkvKiBwdXNoIGVycm9yIGNvZGUvb2xkcmF4ICovCj4gIAlwdXNocSAlcmF4CS8qIHB1c2gg cmVhbCBvbGRyYXggdG8gdGhlIHJkaSBzbG90ICovCj4gIAlsZWFxICBcc3ltKCVyaXApLCVyYXgK PiBAQCAtODgsOSArOTAsMTEgQEAgS0VSTkVMX0NTX01BU0sgPSAweGZjCj4gIC5lbmRtCj4gIAo+ ICAubWFjcm8gZXJyb3JlbnRyeSBzeW0KPiArI2lmZGVmIENPTkZJR19QQVJBVklSVAo+ICAJbW92 cSAoJXJzcCksJXJjeAo+ICAJbW92cSA4KCVyc3ApLCVyMTEKPiAgCWFkZHEgJDB4MTAsJXJzcCAv KiByc3AgcG9pbnRzIHRvIHRoZSBlcnJvciBjb2RlICovCj4gKyNlbmRpZgo+ICAJcHVzaHEgJXJh eAo+ICAJbGVhcSAgXHN5bSglcmlwKSwlcmF4Cj4gIAlqbXAgZXJyb3JfZW50cnkKPiBAQCAtMTMz LDExICsxMzcsMTEgQEAgS0VSTkVMX0NTX01BU0sgPSAweGZjCj4gICNpZmRlZiBDT05GSUdfUEFS QVZJUlQKPiAgCXRlc3RsICROTUlfTUFTSywyKjgoJXJzcCkKPiAgCWpueiAgIDJmCj4gLSNlbmRp Zgo+ICAKPiAgCS8qIERpcmVjdCBpcmV0IHRvIGtlcm5lbCBzcGFjZS4gQ29ycmVjdCBDUyBhbmQg U1MuICovCj4gIAlvcmIgICAkMywxKjgoJXJzcCkKPiAgCW9yYiAgICQzLDQqOCglcnNwKQo+ICsj ZW5kaWYKPiAgCWlyZXRxCj4gIAo+ICAjaWZkZWYgQ09ORklHX1BBUkFWSVJUCj4gQEAgLTE4Miw2 ICsxODYsNyBAQCBlcnJvcl9jYWxsX2hhbmRsZXI6Cj4gIAlqbXAgZXJyb3JfZXhpdAo+ICAKPiAg Cj4gKyNpZmRlZiBDT05GSUdfUEFSQVZJUlQKPiAgLyoKPiAgICogWGVuIGV2ZW50ICh2aXJ0dWFs IGludGVycnVwdCkgZW50cnkgcG9pbnQuCj4gICAqLwo+IEBAIC0yODUsMTEgKzI5MCwyNiBAQCBj cml0aWNhbF9yZWdpb25fZml4dXA6Cj4gIAlhbmRiICRLRVJORUxfQ1NfTUFTSyxDUyglcnNwKSAg ICAgICMgQ1MgbWlnaHQgaGF2ZSBjaGFuZ2VkCj4gIAlqbXAgIDExYgo+ICAKPiArI2Vsc2UKPiAr ZXJyb3JfZXhpdDoKPiArCVJFU1RPUkVfUkVTVAo+ICsJUkVTVE9SRV9BTEwKPiArCUhZUEVSVklT T1JfSVJFVCAwCj4gIAo+ICsvKgo+ICsgKiBYZW4gZXZlbnQgKHZpcnR1YWwgaW50ZXJydXB0KSBl bnRyeSBwb2ludC4KPiArICovCj4gK0VOVFJZKGh5cGVydmlzb3JfY2FsbGJhY2spCj4gKwl6ZXJv ZW50cnkgZG9faHlwZXJ2aXNvcl9jYWxsYmFjawo+ICsKPiArCj4gKyNlbmRpZgo+ICAKPiAgRU5U UlkoZmFpbHNhZmVfY2FsbGJhY2spCj4gKyNpZmRlZiBDT05GSUdfUEFSQVZJUlQKPiAgICAgICAg ICBwb3BxICAlcmN4Cj4gICAgICAgICAgcG9wcSAgJXIxMQo+ICsjZW5kaWYKPiAgICAgICAgICBp cmV0cQo+ICAKPiAgCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUveDg2L29zLmggYi9pbmNsdWRlL3g4 Ni9vcy5oCj4gaW5kZXggNjgyNmI5Zi4uMTA4MzMyOCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL3g4 Ni9vcy5oCj4gKysrIGIvaW5jbHVkZS94ODYvb3MuaAo+IEBAIC0zMSw2ICszMSw4IEBACj4gICNk ZWZpbmUgWDg2X0NSNF9QQUUgICAgICAgMHgwMDAwMDAyMCAgICAvKiBlbmFibGUgcGh5c2ljYWwg YWRkcmVzcyBleHRlbnNpb25zICovCj4gICNkZWZpbmUgWDg2X0NSNF9PU0ZYU1IgICAgMHgwMDAw MDIwMCAgICAvKiBlbmFibGUgZmFzdCBGUFUgc2F2ZSBhbmQgcmVzdG9yZSAqLwo+ICAKPiArI2Rl ZmluZSBYODZfRUZMQUdTX0lGICAgICAweDAwMDAwMjAwCj4gKwo+ICAjZGVmaW5lIF9fS0VSTkVM X0NTICBGTEFUX0tFUk5FTF9DUwo+ICAjZGVmaW5lIF9fS0VSTkVMX0RTICBGTEFUX0tFUk5FTF9E Uwo+ICAjZGVmaW5lIF9fS0VSTkVMX1NTICBGTEFUX0tFUk5FTF9TUwo+IEBAIC03MCw3ICs3Miw3 IEBAIHZvaWQgYXJjaF9maW5pKHZvaWQpOwo+ICAKPiAgCj4gIAo+IC0KPiArI2lmZGVmIENPTkZJ R19QQVJBVklSVAo+ICAKPiAgLyogCj4gICAqIFRoZSB1c2Ugb2YgJ2JhcnJpZXInIGluIHRoZSBm b2xsb3dpbmcgcmVmbGVjdHMgdGhlaXIgdXNlIGFzIGxvY2FsLWxvY2sKPiBAQCAtMTI5LDE1ICsx MzEsNTcgQEAgZG8gewkJCQkJCQkJCVwKPiAgCWJhcnJpZXIoKTsJCQkJCQkJXAo+ICB9IHdoaWxl ICgwKQo+ICAKPiArI2RlZmluZSBpcnFzX2Rpc2FibGVkKCkJCQlcCj4gKyAgICBIWVBFUlZJU09S X3NoYXJlZF9pbmZvLT52Y3B1X2luZm9bc21wX3Byb2Nlc3Nvcl9pZCgpXS5ldnRjaG5fdXBjYWxs X21hc2sKPiArCj4gKyNlbHNlCj4gKwo+ICsjaWYgZGVmaW5lZChfX2kzODZfXykKPiArI2RlZmlu ZSBfX1NaICJsIgo+ICsjZGVmaW5lIF9fUkVHICJlIgo+ICsjZWxzZQo+ICsjZGVmaW5lIF9fU1og InEiCj4gKyNkZWZpbmUgX19SRUcgInIiCj4gKyNlbmRpZgo+ICsKPiArI2RlZmluZSBfX2NsaSgp IGFzbSB2b2xhdGlsZSAoICJjbGkiIDogOiA6ICJtZW1vcnkiICkKPiArI2RlZmluZSBfX3N0aSgp IGFzbSB2b2xhdGlsZSAoICJzdGkiIDogOiA6ICJtZW1vcnkiICkKPiArCj4gKyNkZWZpbmUgX19z YXZlX2ZsYWdzKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKPiArZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsgICAgdW5zaWduZWQgbG9uZyBfX2Y7ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICBhc20g dm9sYXRpbGUgKCAicHVzaGYiIF9fU1ogIiA7IHBvcCIgX19TWiAiICUwIiA6ICI9ZyIgKF9fZikp OyAgICAgIFwKPiArICAgIHggPSAoX19mICYgWDg2X0VGTEFHU19JRikgPyAxIDogMDsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICt9IHdoaWxlICgwKQo+ICsKPiArI2RlZmlu ZSBfX3Jlc3RvcmVfZmxhZ3MoeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAo+ICtkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICBpZiAoeCkgX19zdGkoKTsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiArICAg IGVsc2UgX19jbGkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAo+ICt9IHdoaWxlICgwKQo+ICsKPiArI2RlZmluZSBfX3NhdmVfYW5kX2Ns aSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICtk byB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCj4gKyAgICBfX3NhdmVfZmxhZ3MoeCk7ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiArICAgIF9fY2xpKCk7ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ ICt9IHdoaWxlICgwKQo+ICsKPiArc3RhdGljIGlubGluZSBpbnQgaXJxc19kaXNhYmxlZCh2b2lk KQo+ICt7Cj4gKyAgICBpbnQgZmxhZzsKPiArCj4gKyAgICBfX3NhdmVfZmxhZ3MoZmxhZyk7Cj4g KyAgICByZXR1cm4gIWZsYWc7Cj4gK30KPiArCj4gKyNlbmRpZgo+ICsKPiAgI2RlZmluZSBsb2Nh bF9pcnFfc2F2ZSh4KQlfX3NhdmVfYW5kX2NsaSh4KQo+ICAjZGVmaW5lIGxvY2FsX2lycV9yZXN0 b3JlKHgpCV9fcmVzdG9yZV9mbGFncyh4KQo+ICAjZGVmaW5lIGxvY2FsX3NhdmVfZmxhZ3MoeCkJ X19zYXZlX2ZsYWdzKHgpCj4gICNkZWZpbmUgbG9jYWxfaXJxX2Rpc2FibGUoKQlfX2NsaSgpCj4g ICNkZWZpbmUgbG9jYWxfaXJxX2VuYWJsZSgpCV9fc3RpKCkKPiAgCj4gLSNkZWZpbmUgaXJxc19k aXNhYmxlZCgpCQkJXAo+IC0gICAgSFlQRVJWSVNPUl9zaGFyZWRfaW5mby0+dmNwdV9pbmZvW3Nt cF9wcm9jZXNzb3JfaWQoKV0uZXZ0Y2huX3VwY2FsbF9tYXNrCj4gLQo+ICAvKiBUaGlzIGlzIGEg YmFycmllciBmb3IgdGhlIGNvbXBpbGVyIG9ubHksIE5PVCB0aGUgcHJvY2Vzc29yISAqLwo+ICAj ZGVmaW5lIGJhcnJpZXIoKSBfX2FzbV9fIF9fdm9sYXRpbGVfXygiIjogOiA6Im1lbW9yeSIpCj4g IAo+IEBAIC01ODYsNSArNjMwLDIwIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjcHVpZCh1aW50MzJf dCBsZWFmLAo+ICAKPiAgI3VuZGVmIEFERFIKPiAgCj4gKyNpZmRlZiBDT05GSUdfUEFSQVZJUlQK PiArc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHJlYWRfY3IyKHZvaWQpCj4gK3sKPiArICAg IHJldHVybiBIWVBFUlZJU09SX3NoYXJlZF9pbmZvLT52Y3B1X2luZm9bc21wX3Byb2Nlc3Nvcl9p ZCgpXS5hcmNoLmNyMjsKPiArfQo+ICsjZWxzZQo+ICtzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxv bmcgcmVhZF9jcjIodm9pZCkKPiArewo+ICsgICAgdW5zaWduZWQgbG9uZyBjcjI7Cj4gKwo+ICsg ICAgYXNtIHZvbGF0aWxlICggIm1vdiAlJWNyMiwlMFxuXHQiIDogIj1yIiAoY3IyKSApOwo+ICsg ICAgcmV0dXJuIGNyMjsKPiArfQo+ICsjZW5kaWYKPiArCj4gICNlbmRpZiAvKiBub3QgYXNzZW1i bHkgKi8KPiAgI2VuZGlmIC8qIF9PU19IXyAqLwo+IC0tIAo+IDIuNi42Cj4gCgotLSAKU2FtdWVs ClR1IGFzIGx1IGxlcyBkb2NzLiBUdSBlcyBkZXZlbnUgdW4gaW5mb3JtYXRpY2llbi4gUXVlIHR1 IGxlIHZldWlsbGVzCm91IG5vbi4gTGlyZSBsYSBkb2MsIGMnZXN0IGxlIFByZW1pZXIgZXQgVW5p cXVlIENvbW1hbmRlbWVudCBkZQpsJ2luZm9ybWF0aWNpZW4uCi0rLSBUUCBpbjogR3VpZGUgZHUg TGludXhpZW4gcGVydmVycyAtICJMJ8OpdmFuZ2lsZSBzZWxvbiBTdCBUaG9tYXMiCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4t ZGV2ZWwK