From mboxrd@z Thu Jan 1 00:00:00 1970 From: Norbert Manthey Subject: Re: [PATCH SpectreV1+L1TF v6 4/9] spec: add l1tf-barrier Date: Fri, 15 Feb 2019 10:13:25 +0100 Message-ID: <953c6ae9-4d08-224e-2b76-349af90606a4@amazon.de> References: <1c2b8322-1b66-ccc6-9ba9-e86eafb0227a@amazon.de> <1549633489-12724-1-git-send-email-nmanthey@amazon.de> <1549633489-12724-5-git-send-email-nmanthey@amazon.de> <5C4ED1D402000078002119E6@prv1-mh.provo.novell.com> <9C03B9BA0200004637554D14@prv1-mh.provo.novell.com> <00FAA7AF020000F8B1E090C7@prv1-mh.provo.novell.com> <0101E7AF020000F8B1E090C7@prv1-mh.provo.novell.com> <5C532AC00200007800212EA2@prv1-mh.provo.novell.com> <01CCAAAF02000039B1E090C7@prv1-mh.provo.novell.com> <01CFAAAF02000039B1E090C7@prv1-mh.provo.novell.com> <5C62CDB70200007800215EEE@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1guZZ5-0006Zr-N3 for xen-devel@lists.xenproject.org; Fri, 15 Feb 2019 09:13:47 +0000 In-Reply-To: <5C62CDB70200007800215EEE@prv1-mh.provo.novell.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Jan Beulich Cc: Juergen Gross , Tim Deegan , Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Dario Faggioli , Martin Pohlack , wipawel@amazon.de, Julien Grall , David Woodhouse , "Martin Mazein(amazein)" , xen-devel , Julian Stecklina , Bjoern Doebel List-Id: xen-devel@lists.xenproject.org T24gMi8xMi8xOSAxNDo0NCwgSmFuIEJldWxpY2ggd3JvdGU6Cj4+Pj4gT24gMDguMDIuMTkgYXQg MTQ6NDQsIDxubWFudGhleUBhbWF6b24uZGU+IHdyb3RlOgo+PiBUbyBjb250cm9sIHRoZSBydW50 aW1lIGJlaGF2aW9yIG9uIEwxVEYgdnVsbmVyYWJsZSBwbGF0Zm9ybXMgYmV0dGVyLCB0aGUKPj4g Y29tbWFuZCBsaW5lIG9wdGlvbiBsMXRmLWJhcnJpZXIgaXMgaW50cm9kdWNlZC4gVGhpcyBvcHRp b24gY29udHJvbHMKPj4gd2hldGhlciBvbiB2dWxuZXJhYmxlIHg4NiBwbGF0Zm9ybXMgdGhlIGxm ZW5jZSBpbnN0cnVjdGlvbiBpcyB1c2VkIHRvCj4+IHByZXZlbnQgc3BlY3VsYXRpdmUgZXhlY3V0 aW9uIGZyb20gYnlwYXNzaW5nIHRoZSBldmFsdWF0aW9uIG9mCj4+IGNvbmRpdGlvbmFscyB0aGF0 IGFyZSBwcm90ZWN0ZWQgd2l0aCB0aGUgZXZhbHVhdGVfbm9zcGVjIG1hY3JvLgo+Pgo+PiBCeSBu b3csIFhlbiBpcyBjYXBhYmxlIG9mIGlkZW50aWZ5aW5nIEwxVEYgdnVsbmVyYWJsZSBoYXJkd2Fy ZS4gSG93ZXZlciwKPj4gdGhpcyBpbmZvcm1hdGlvbiBjYW5ub3QgYmUgdXNlZCBmb3IgYWx0ZXJu YXRpdmUgcGF0Y2hpbmcsIGFzIGEgQ1BVIGZlYXR1cmUKPj4gaXMgcmVxdWlyZWQuIFRvIGNvbnRy b2wgYWx0ZXJuYXRpdmUgcGF0Y2hpbmcgd2l0aCB0aGUgY29tbWFuZCBsaW5lIG9wdGlvbiwKPj4g YSBuZXcgeDg2IGZlYXR1cmUgIlg4Nl9GRUFUVVJFX1NDX0wxVEZfVlVMTiIgaXMgaW50cm9kdWNl ZC4gVGhpcyBmZWF0dXJlCj4+IGlzIHVzZWQgdG8gcGF0Y2ggdGhlIGxmZW5jZSBpbnN0cnVjdGlv biBpbnRvIHRoZSBhcmNoX2JhcnJpZXJfbm9zcGVjX3RydWUKPj4gZnVuY3Rpb24uIFRoZSBmZWF0 dXJlIGlzIGVuYWJsZWQgb25seSBpZiBMMVRGIHZ1bG5lcmFibGUgaGFyZHdhcmUgaXMKPj4gZGV0 ZWN0ZWQgYW5kIHRoZSBjb21tYW5kIGxpbmUgb3B0aW9uIGRvZXMgbm90IHByZXZlbnQgdXNpbmcg dGhpcyBmZWF0dXJlLgo+Pgo+PiBUaGUgc3RhdHVzIG9mIGh5cGVydGhyZWFkaW5nIGlzIG5vdCBj b25zaWRlcmVkIHdoZW4gYXV0b21hdGljYWxseSBlbmFibGluZwo+PiBhZGRpbmcgdGhlIGxmZW5j ZSBpbnN0cnVjdGlvbiwgYmVjYXVzZSBwbGF0Zm9ybXMgd2l0aG91dCBoeXBlcnRocmVhZGluZwo+ PiBjYW4gc3RpbGwgYmUgdnVsbmVyYWJsZSB0byBMMVRGIGluIGNhc2UgdGhlIEwxIGNhY2hlIGlz IG5vdCBmbHVzaGVkCj4+IHByb3Blcmx5Lgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBOb3JiZXJ0IE1h bnRoZXkgPG5tYW50aGV5QGFtYXpvbi5kZT4KPj4KPj4gLS0tCj4+Cj4+IE5vdGVzOgo+PiAgIHY2 OiBNb3ZlIGRpc2FibGluZyBsMXRmLWJhcnJpZXIgaW50byBzcGVjLWN0cmw9bm8KPj4gICAgICAg VXNlIGdhcCBpbiBleGlzdGluZyBmbGFncwo+PiAgICAgICBGb3JjZSBiYXJyaWVyIGJhc2VkIG9u IGNvbW1hbmRsaW5lLCBpbmRlcGVuZGVudGx5IG9mIEwxVEYgZGV0ZWN0aW9uCj4+Cj4+ICBkb2Nz L21pc2MveGVuLWNvbW1hbmQtbGluZS5wYW5kb2MgfCAxNCArKysrKysrKysrLS0tLQo+PiAgeGVu L2FyY2gveDg2L3NwZWNfY3RybC5jICAgICAgICAgIHwgMTcgKysrKysrKysrKysrKysrLS0KPj4g IHhlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZXMuaCB8ICAxICsKPj4gIHhlbi9pbmNsdWRl L2FzbS14ODYvc3BlY19jdHJsLmggICB8ICAxICsKPj4gIDQgZmlsZXMgY2hhbmdlZCwgMjcgaW5z ZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RvY3MvbWlzYy94 ZW4tY29tbWFuZC1saW5lLnBhbmRvYyBiL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLnBhbmRv Ywo+PiAtLS0gYS9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5wYW5kb2MKPj4gKysrIGIvZG9j cy9taXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jCj4+IEBAIC00ODMsOSArNDgzLDkgQEAgYWNj b3VudGluZyBmb3IgaGFyZHdhcmUgY2FwYWJpbGl0aWVzIGFzIGVudW1lcmF0ZWQgdmlhIAo+PiBD UFVJRC4KPj4gIAo+PiAgQ3VycmVudGx5IGFjY2VwdGVkOgo+PiAgCj4+IC1UaGUgU3BlY3VsYXRp b24gQ29udHJvbCBoYXJkd2FyZSBmZWF0dXJlcyBgaWJyc2JgLCBgc3RpYnBgLCBgaWJwYmAsCj4+ IC1gbDFkLWZsdXNoYCBhbmQgYHNzYmRgIGFyZSB1c2VkIGJ5IGRlZmF1bHQgaWYgYXZhaWxhYmxl IGFuZCBhcHBsaWNhYmxlLiAgVGhleSAKPj4gY2FuCj4+IC1iZSBpZ25vcmVkLCBlLmcuIGBuby1p YnJzYmAsIGF0IHdoaWNoIHBvaW50IFhlbiB3b24ndCB1c2UgdGhlbSBpdHNlbGYsIGFuZAo+PiAr VGhlIFNwZWN1bGF0aW9uIENvbnRyb2wgaGFyZHdhcmUgZmVhdHVyZXMgYGlicnNiYCwgYHN0aWJw YCwgYGlicGJgLCAKPj4gYGwxZC1mbHVzaGAsCj4+ICtgbDF0Zi1iYXJyaWVyYCBhbmQgYHNzYmRg IGFyZSB1c2VkIGJ5IGRlZmF1bHQgaWYgYXZhaWxhYmxlIGFuZCBhcHBsaWNhYmxlLiAgCj4+IFRo ZXkKPj4gK2NhbiBiZSBpZ25vcmVkLCBlLmcuIGBuby1pYnJzYmAsIGF0IHdoaWNoIHBvaW50IFhl biB3b24ndCB1c2UgdGhlbSBpdHNlbGYsIAo+PiBhbmQKPj4gIHdvbid0IG9mZmVyIHRoZW0gdG8g Z3Vlc3RzLgo+PiAgCj4+ICAjIyMgY3B1aWRfbWFza19jcHUKPj4gQEAgLTE4OTYsNyArMTg5Niw3 IEBAIEJ5IGRlZmF1bHQgU1NCRCB3aWxsIGJlIG1pdGlnYXRlZCBhdCBydW50aW1lIChpLmUgCj4+ IGBzc2JkPXJ1bnRpbWVgKS4KPj4gICMjIyBzcGVjLWN0cmwgKHg4NikKPj4gID4gYD0gTGlzdCBv ZiBbIDxib29sPiwgeGVuPTxib29sPiwge3B2LGh2bSxtc3Itc2MscnNifT08Ym9vbD4sCj4+ICA+ ICAgICAgICAgICAgICBidGktdGh1bms9cmV0cG9saW5lfGxmZW5jZXxqbXAsIHtpYnJzLGlicGIs c3NiZCxlYWdlci1mcHUsCj4+IC0+ICAgICAgICAgICAgICBsMWQtZmx1c2h9PTxib29sPiBdYAo+ PiArPiAgICAgICAgICAgICAgbDFkLWZsdXNoLGwxdGYtYmFycmllcn09PGJvb2w+IF1gCj4+ICAK Pj4gIENvbnRyb2xzIGZvciBzcGVjdWxhdGl2ZSBleGVjdXRpb24gc2lkZWNoYW5uZWwgbWl0aWdh dGlvbnMuICBCeSBkZWZhdWx0LCAKPj4gWGVuCj4+ICB3aWxsIHBpY2sgdGhlIG1vc3QgYXBwcm9w cmlhdGUgbWl0aWdhdGlvbnMgYmFzZWQgb24gY29tcGlsZWQgaW4gc3VwcG9ydCwKPj4gQEAgLTE5 NjIsNiArMTk2MiwxMiBAQCBJcnJlc3BlY3RpdmUgb2YgWGVuJ3Mgc2V0dGluZywgdGhlIGZlYXR1 cmUgaXMgCj4+IHZpcnR1YWxpc2VkIGZvciBIVk0gZ3Vlc3RzIHRvCj4+ICB1c2UuICBCeSBkZWZh dWx0LCBYZW4gd2lsbCBlbmFibGUgdGhpcyBtaXRpZ2F0aW9uIG9uIGhhcmR3YXJlIGJlbGlldmVk IHRvIAo+PiBiZQo+PiAgdnVsbmVyYWJsZSB0byBMMVRGLgo+PiAgCj4+ICtPbiBoYXJkd2FyZSB2 dWxuZXJhYmxlIHRvIEwxVEYsIHRoZSBgbDF0Zi1iYXJyaWVyPWAgb3B0aW9uIGNhbiBiZSB1c2Vk IHRvIAo+PiBmb3JjZQo+PiArb3IgcHJldmVudCBYZW4gZnJvbSBwcm90ZWN0aW5nIGV2YWx1YXRp b25zIGluc2lkZSB0aGUgaHlwZXJ2aXNvciB3aXRoIGEgCj4+IGJhcnJpZXIKPj4gK2luc3RydWN0 aW9uIHRvIG5vdCBsb2FkIHBvdGVudGlhbGx5IHNlY3JldCBpbmZvcm1hdGlvbiBpbnRvIEwxIGNh Y2hlLiAgQnkKPj4gK2RlZmF1bHQsIFhlbiB3aWxsIGVuYWJsZSB0aGlzIG1pdGlnYXRpb24gb24g aGFyZHdhcmUgYmVsaWV2ZWQgdG8gYmUgCj4+IHZ1bG5lcmFibGUKPj4gK3RvIEwxVEYuCj4+ICsK Pj4gICMjIyBzeW5jX2NvbnNvbGUKPj4gID4gYD0gPGJvb2xlYW4+YAo+PiAgCj4+IGRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMgYi94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMK Pj4gLS0tIGEveGVuL2FyY2gveDg2L3NwZWNfY3RybC5jCj4+ICsrKyBiL3hlbi9hcmNoL3g4Ni9z cGVjX2N0cmwuYwo+PiBAQCAtMjEsNiArMjEsNyBAQAo+PiAgI2luY2x1ZGUgPHhlbi9saWIuaD4K Pj4gICNpbmNsdWRlIDx4ZW4vd2FybmluZy5oPgo+PiAgCj4+ICsjaW5jbHVkZSA8YXNtL2NwdWlk Lmg+Cj4+ICAjaW5jbHVkZSA8YXNtL21pY3JvY29kZS5oPgo+PiAgI2luY2x1ZGUgPGFzbS9tc3Iu aD4KPj4gICNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+Cj4+IEBAIC01MCw2ICs1MSw3IEBAIGJv b2wgX19yZWFkX21vc3RseSBvcHRfaWJwYiA9IHRydWU7Cj4+ICBib29sIF9fcmVhZF9tb3N0bHkg b3B0X3NzYmQgPSBmYWxzZTsKPj4gIGludDhfdCBfX3JlYWRfbW9zdGx5IG9wdF9lYWdlcl9mcHUg PSAtMTsKPj4gIGludDhfdCBfX3JlYWRfbW9zdGx5IG9wdF9sMWRfZmx1c2ggPSAtMTsKPj4gK2lu dDhfdCBfX3JlYWRfbW9zdGx5IG9wdF9sMXRmX2JhcnJpZXIgPSAtMTsKPj4gIAo+PiAgYm9vbCBf X2luaXRkYXRhIGJzcF9kZWxheV9zcGVjX2N0cmw7Cj4+ICB1aW50OF90IF9fcmVhZF9tb3N0bHkg ZGVmYXVsdF94ZW5fc3BlY19jdHJsOwo+PiBAQCAtOTEsNiArOTMsOCBAQCBzdGF0aWMgaW50IF9f aW5pdCBwYXJzZV9zcGVjX2N0cmwoY29uc3QgY2hhciAqcykKPj4gICAgICAgICAgICAgIGlmICgg b3B0X3B2X2wxdGZfZG9tdSA8IDAgKQo+PiAgICAgICAgICAgICAgICAgIG9wdF9wdl9sMXRmX2Rv bXUgPSAwOwo+PiAgCj4+ICsgICAgICAgICAgICBvcHRfbDF0Zl9iYXJyaWVyID0gMDsKPj4gKwo+ PiAgICAgICAgICBkaXNhYmxlX2NvbW1vbjoKPj4gICAgICAgICAgICAgIG9wdF9yc2JfcHYgPSBm YWxzZTsKPj4gICAgICAgICAgICAgIG9wdF9yc2JfaHZtID0gZmFsc2U7Cj4+IEBAIC0xNTcsNiAr MTYxLDggQEAgc3RhdGljIGludCBfX2luaXQgcGFyc2Vfc3BlY19jdHJsKGNvbnN0IGNoYXIgKnMp Cj4+ICAgICAgICAgICAgICBvcHRfZWFnZXJfZnB1ID0gdmFsOwo+PiAgICAgICAgICBlbHNlIGlm ICggKHZhbCA9IHBhcnNlX2Jvb2xlYW4oImwxZC1mbHVzaCIsIHMsIHNzKSkgPj0gMCApCj4+ICAg ICAgICAgICAgICBvcHRfbDFkX2ZsdXNoID0gdmFsOwo+PiArICAgICAgICBlbHNlIGlmICggKHZh bCA9IHBhcnNlX2Jvb2xlYW4oImwxdGYtYmFycmllciIsIHMsIHNzKSkgPj0gMCApCj4+ICsgICAg ICAgICAgICBvcHRfbDF0Zl9iYXJyaWVyID0gdmFsOwo+PiAgICAgICAgICBlbHNlCj4+ICAgICAg ICAgICAgICByYyA9IC1FSU5WQUw7Cj4+ICAKPj4gQEAgLTI0OCw3ICsyNTQsNyBAQCBzdGF0aWMg dm9pZCBfX2luaXQgcHJpbnRfZGV0YWlscyhlbnVtIGluZF90aHVuayB0aHVuaywgCj4+IHVpbnQ2 NF90IGNhcHMpCj4+ICAgICAgICAgICAgICAgICAiXG4iKTsKPj4gIAo+PiAgICAgIC8qIFNldHRp bmdzIGZvciBYZW4ncyBwcm90ZWN0aW9uLCBpcnJlc3BlY3RpdmUgb2YgZ3Vlc3RzLiAqLwo+PiAt ICAgIHByaW50aygiICBYZW4gc2V0dGluZ3M6IEJUSS1UaHVuayAlcywgU1BFQ19DVFJMOiAlcyVz LCBPdGhlcjolcyVzXG4iLAo+PiArICAgIHByaW50aygiICBYZW4gc2V0dGluZ3M6IEJUSS1UaHVu ayAlcywgU1BFQ19DVFJMOiAlcyVzLCBPdGhlcjolcyVzJXNcbiIsCj4+ICAgICAgICAgICAgIHRo dW5rID09IFRIVU5LX05PTkUgICAgICA/ICJOL0EiIDoKPj4gICAgICAgICAgICAgdGh1bmsgPT0g VEhVTktfUkVUUE9MSU5FID8gIlJFVFBPTElORSIgOgo+PiAgICAgICAgICAgICB0aHVuayA9PSBU SFVOS19MRkVOQ0UgICAgPyAiTEZFTkNFIiA6Cj4+IEBAIC0yNTgsNyArMjY0LDggQEAgc3RhdGlj IHZvaWQgX19pbml0IHByaW50X2RldGFpbHMoZW51bSBpbmRfdGh1bmsgdGh1bmssIAo+PiB1aW50 NjRfdCBjYXBzKQo+PiAgICAgICAgICAgICAhYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1NTQkQp ICAgICAgICAgICA/ICIiIDoKPj4gICAgICAgICAgICAgKGRlZmF1bHRfeGVuX3NwZWNfY3RybCAm IFNQRUNfQ1RSTF9TU0JEKSAgPyAiIFNTQkQrIiA6ICIgU1NCRC0iLAo+PiAgICAgICAgICAgICBv cHRfaWJwYiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICIgSUJQQiIgIDogIiIs Cj4+IC0gICAgICAgICAgIG9wdF9sMWRfZmx1c2ggICAgICAgICAgICAgICAgICAgICAgICAgICAg ID8gIiBMMURfRkxVU0giIDogIiIpOwo+PiArICAgICAgICAgICBvcHRfbDFkX2ZsdXNoICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA/ICIgTDFEX0ZMVVNIIiA6ICIiLAo+PiArICAgICAgICAg ICBvcHRfbDF0Zl9iYXJyaWVyICAgICAgICAgICAgICAgICAgICAgICAgICA/ICIgTDFURl9CQVJS SUVSIiA6IAo+PiAiIik7Cj4+ICAKPj4gICAgICAvKiBMMVRGIGRpYWdub3N0aWNzLCBwcmludGVk IGlmIHZ1bG5lcmFibGUgb3IgUFYgc2hhZG93aW5nIGlzIGluIHVzZS4gCj4+ICovCj4+ICAgICAg aWYgKCBjcHVfaGFzX2J1Z19sMXRmIHx8IG9wdF9wdl9sMXRmX2h3ZG9tIHx8IG9wdF9wdl9sMXRm X2RvbXUgKQo+PiBAQCAtODQyLDYgKzg0OSwxMiBAQCB2b2lkIF9faW5pdCBpbml0X3NwZWN1bGF0 aW9uX21pdGlnYXRpb25zKHZvaWQpCj4+ICAgICAgZWxzZSBpZiAoIG9wdF9sMWRfZmx1c2ggPT0g LTEgKQo+PiAgICAgICAgICBvcHRfbDFkX2ZsdXNoID0gY3B1X2hhc19idWdfbDF0ZiAmJiAhKGNh cHMgJiBBUkNIX0NBUFNfU0tJUF9MMURGTCk7Cj4+ICAKPj4gKyAgICAvKiBCeSBkZWZhdWx0LCBl bmFibGUgTDFURl9WVUxOIG9uIEwxVEYtdnVsbmVyYWJsZSBoYXJkd2FyZSAqLwo+PiArICAgIGlm ICggb3B0X2wxdGZfYmFycmllciA9PSAtMSApCj4+ICsgICAgICAgIG9wdF9sMXRmX2JhcnJpZXIg PSBjcHVfaGFzX2J1Z19sMXRmOwo+PiArICAgIGlmICggb3B0X2wxdGZfYmFycmllciA+IDApCj4+ ICsgICAgICAgIHNldHVwX2ZvcmNlX2NwdV9jYXAoWDg2X0ZFQVRVUkVfU0NfTDFURl9WVUxOKTsK PiBEaWQgd2UgZW5kIHdpdGggYSBtaXN1bmRlcnN0YW5kaW5nIGluIHRoZSB2NSBkaXNjdXNzaW9u PyBJIGRpZG4ndAo+IGFuc3dlciB5b3VyIHF1ZXN0aW9uIHJlZ2FyZGluZyB3aGV0aGVyIHRvIGFs c28gY29uc2lkZXIgTDFECj4gZmx1c2ggYXZhaWxhYmlsaXR5IChvbiB0b3Agb2YgbXkgcmVxdWVz dCB0byBjb25zaWRlciBTTVQpIHdpdGggYQo+IHN0cmFpZ2h0ICJ5ZXMiLCBidXQgSSB0aGluayBp dCB3YXMgc3RpbGwgY2xlYXIgdGhhdCBteSBtb3JlIGV4dGVuc2l2ZQo+IHJlc3BvbnNlIGJvaWxl ZCBkb3duIHRvIGEgInllcyIuIE9oLCBJIHNlZSBub3cgLSB0aGUgc2FtZSB0b3BpYwo+IHdhcyBk aXNjdXNzZWQgaW4gdHdvIHBsYWNlcywgYW5kIGZvciB0aGUgc2Vjb25kIEkgdGhlbiBzYWlkIHRo YXQKPiB3aXRoIHRoZSAiZm9yIG5vdyIgYXNwZWN0IHByb3Blcmx5IHN0YXRlZCAod2hpY2ggeW91 IG5vdyBkbykKPiBJJ2QgYmUgZmluZS4KPgo+IFNvIGxldCBtZSBwdXQgaXQgdGhpcyB3YXk6IElz IHRha2luZyBpbnRvIGNvbnNpZGVyYXRpb24gYXQgbGVhc3QKPiBvcHRfc210IGFuZCBvcHRfbDFk X2ZsdXNoIChidXQgcHV0dGluZyBvbiB0aGUgc2lkZSB0aGUgInRvbwo+IGVhcmx5IiBhc3BlY3Qg b2YgdGhlIGRldGVybWluYXRpb24gaGVyZSkgdmVyeSBkaWZmaWN1bHQgdG8gZG8sCj4gb3Igd291 bGQgdGhhdCBsZWF2ZSB1bi1hZGRyZXNzZWQgY29uY2VybnMgb2YgeW91cnM/IElmIG5vdCwKPiBt YXkgSSBhc2sgdGhhdCB5b3UgZ28gYXQgbGVhc3QgdGhhdCBsaXR0bGUgc3RlcCBmdXJ0aGVyPyBB cyBzYWlkCj4gYmVmb3JlIC0gd2UnZCBsaWtlIHRvIGF2b2lkIHBlbmFsaXppbmcgY29uZmlndXJh dGlvbnMgYXMgd2VsbCBhcwo+IHNldHVwcyB3aGljaCBhcmVuJ3QgYWZmZWN0ZWQuIEluIHBhcnRp Y3VsYXIgaXQgd291bGQgc2VlbQo+IHByZXR0eSBiYWQgb2YgdXMgdG8gZnVydGhlciBwZW5hbGl6 ZSBwZW9wbGUgd2hvIGhhdmUgc2V0Cj4gInNtdD0wIiBhbmQgd2hvIHVzZSB1cC10by1kYXRlIG1p Y3JvY29kZS4KSSB1bmRlcnN0YW5kIHRoYXQgc210PTAgc2hvdWxkIG5vdCBiZSBwZW5hbGl6ZWQu IEhvd2V2ZXIsIG9ubHkgaWYKZmx1c2hpbmcgaXMgdXNlZCBhcyB3ZWxsLCBzbXQ9MCBpcyBhY3R1 YWxseSBzYWZlLiBJIHdpbGwgZXh0ZW5kIHRoZQpsb2dpYyB0byBzZXQgdGhlIENQVSBmbGFnIGF1 dG9tYXRpY2FsbHkgaW4gY2FzZSBMMVRGIGhhcmR3YXJlIGhhcyBiZWVuCmRldGVjdGVkLCBhbmQg c210IT0wIG9yICFMMUQtZmx1c2gsIGkuZS4gb3B0X2wxdGZfYmFycmllciA9CmNwdV9oYXNfYnVn X2wxdGYgJiYgKG9wdF9zbXQgIT0gMCB8fCBvcHRfbDFkX2ZsdXNoID09IDApOwo+Cj4gQWxzbyBp biB0aGUgc2Vjb25kIGlmKCkgdGhlcmUncyB5ZXQgYWdhaW4gYSBtaXNzaW5nIGJsYW5rLgoKV2ls bCBmaXguCgpCZXN0LApOb3JiZXJ0Cgo+Cj4gSmFuCj4KCgoKCkFtYXpvbiBEZXZlbG9wbWVudCBD ZW50ZXIgR2VybWFueSBHbWJICktyYXVzZW5zdHIuIDM4CjEwMTE3IEJlcmxpbgpHZXNjaGFlZnRz ZnVlaHJlcjogQ2hyaXN0aWFuIFNjaGxhZWdlciwgUmFsZiBIZXJicmljaApVc3QtSUQ6IERFIDI4 OSAyMzcgODc5CkVpbmdldHJhZ2VuIGFtIEFtdHNnZXJpY2h0IENoYXJsb3R0ZW5idXJnIEhSQiAx NDkxNzMgQgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0 cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==