From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Edgar E. Iglesias" Subject: Re: [RFC v4]Proposal to allow setting up shared memory areas between VMs from xl config file Date: Mon, 31 Jul 2017 23:15:38 +0200 Message-ID: <20170731211538.GC12347@toto> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dcI2g-0004Jt-4B for xen-devel@lists.xenproject.org; Mon, 31 Jul 2017 21:15:58 +0000 Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Zhongze Liu Cc: Stefano Stabellini , Wei Liu , Ian Jackson , edgari@xilinx.com, Julien Grall , xen-devel@lists.xenproject.org, Jarvis Roach List-Id: xen-devel@lists.xenproject.org T24gRnJpLCBKdWwgMjgsIDIwMTcgYXQgMDk6MDM6MTVQTSArMDgwMCwgWmhvbmd6ZSBMaXUgd3Jv dGU6Cj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQo+IDEuIE1vdGl2YXRpb24gYW5kIERlc2NyaXB0aW9uCgpIaSwKCkkgdGhpbmsgdGhpcyBsb29r cyBxdWl0ZSB1c2VmdWwuIEkgaGF2ZSBhIGZldyBjb21tZW50cyBpbmxpbmUuCgoKPiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gVmlydHVhbCBt YWNoaW5lcyB1c2UgZ3JhbnQgdGFibGUgaHlwZXJjYWxscyB0byBzZXR1cCBhIHNoYXJlIHBhZ2Ug Zm9yCj4gaW50ZXItVk1zIGNvbW11bmljYXRpb25zLiBUaGVzZSBoeXBlcmNhbGxzIGFyZSB1c2Vk IGJ5IGFsbCBQVgo+IHByb3RvY29scyB0b2RheS4gSG93ZXZlciwgdmVyeSBzaW1wbGUgZ3Vlc3Rz LCBzdWNoIGFzIGJhcmVtZXRhbAo+IGFwcGxpY2F0aW9ucywgbWlnaHQgbm90IGhhdmUgdGhlIGlu ZnJhc3RydWN0dXJlIHRvIGhhbmRsZSB0aGUgZ3JhbnQgdGFibGUuCj4gVGhpcyBwcm9qZWN0IGlz IGFib3V0IHNldHRpbmcgdXAgc2V2ZXJhbCBzaGFyZWQgbWVtb3J5IGFyZWFzIGZvciBpbnRlci1W TXMKPiBjb21tdW5pY2F0aW9ucyBkaXJlY3RseSBmcm9tIHRoZSBWTSBjb25maWcgZmlsZS4KPiBT byB0aGF0IHRoZSBndWVzdCBrZXJuZWwgZG9lc24ndCBoYXZlIHRvIGhhdmUgZ3JhbnQgdGFibGUg c3VwcG9ydCAoaW4gdGhlCj4gZW1iZWRkZWQgc3BhY2UsIHRoaXMgaXMgbm90IHVudXN1YWwpIHRv IGJlIGFibGUgdG8gY29tbXVuaWNhdGUgd2l0aAo+IG90aGVyIGd1ZXN0cy4KPiAKPiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gMi4gSW1wbGVt ZW50YXRpb24gUGxhbjoKPiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Cj4gCj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K PiAyLjEgSW50cm9kdWNlIGEgbmV3IFZNIGNvbmZpZyBvcHRpb24gaW4geGw6Cj4gPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiAKPiAyLjEuMSBEZXNpZ24gR29hbHMKPiB+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KPiAKPiBUaGUgc2hhcmVkIGFyZWFzIHNob3VsZCBi ZSBzaGFyZWFibGUgYW1vbmcgc2V2ZXJhbCAoPj0yKSBWTXMsIHNvIGV2ZXJ5IHNoYXJlZAo+IHBo eXNpY2FsIG1lbW9yeSBhcmVhIGlzIGFzc2lnbmVkIHRvIGEgc2V0IG9mIFZNcy4gVGhlcmVmb3Jl LCBhIOKAnHRva2Vu4oCdIG9yCj4g4oCcaWRlbnRpZmllcuKAnSBzaG91bGQgYmUgdXNlZCBoZXJl IHRvIHVuaXF1ZWx5IGlkZW50aWZ5IGEgYmFja2luZyBtZW1vcnkgYXJlYS4KPiBBIHN0cmluZyBu byBsb25nZXIgdGhhbiAxMjggYnl0ZXMgaXMgdXNlZCBoZXJlIHRvIHNlcnZlIHRoZSBwdXJwb3Nl Lgo+IAo+IFRoZSBiYWNraW5nIGFyZWEgd291bGQgYmUgdGFrZW4gZnJvbSBvbmUgZG9tYWluLCB3 aGljaCB3ZSB3aWxsIHJlZ2FyZAo+IGFzIHRoZSAibWFzdGVyIGRvbWFpbiIsIGFuZCB0aGlzIGRv bWFpbiBzaG91bGQgYmUgY3JlYXRlZCBwcmlvciB0byBhbnkKPiBvdGhlciAic2xhdmUgZG9tYWlu InMuIEFnYWluLCB3ZSBoYXZlIHRvIHVzZSBzb21lIGtpbmQgb2YgdGFnIHRvIHRlbGwgd2hvCj4g aXMgdGhlICJtYXN0ZXIgZG9tYWluIi4KPiAKPiBBbmQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSB0 aGUgcGVybWlzc2lvbnMgYW5kIGNhY2hlYWJpbGl0eSAoYW5kIHNoYXJlYWJpbGl0eQo+IGZvciBB Uk0gZ3Vlc3Qncykgb2YgdGhlIHBhZ2VzIHRvIGJlIHNoYXJlZCBzaG91bGQgYWxzbyBiZSBnaXZl biB0byB0aGUgdXNlci4KPiAKPiAyLjIuMiBTeW50YXggYW5kIEJlaGF2aW9yCj4gfn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KPiBUaGUgZm9sbG93aW5nIGV4YW1wbGUgaWxsdXN0cmF0ZXMg dGhlIHN5bnRheCBvZiB0aGUgcHJvcG9zZWQgY29uZmlnIGVudHJ5Cj4gKHN1cHBvc2UgdGhhdCB3 ZSdyZSBvbiB4ODYpOgo+IAo+IEluIHhsIGNvbmZpZyBmaWxlIG9mIHZtMToKPiAgIHN0YXRpY19z aG0gPSBbICdpZD1JRDEsIGJlZ2luPTB4MTAwMDAwLCBlbmQ9MHgyMDAwMDAsIHJvbGU9bWFzdGVy LAo+ICAgICAgICAgICAgICAgICAgIGNhY2hlX3BvbGljeT14ODZfbm9ybWFsLCBwcm90PXIyJywK PiAKPiAgICAgICAgICAgICAgICAgICdpZD1JRDIsIGJlZ2luPTB4MzAwMDAwLCBlbmQ9MHg0MDAw MDAsIHJvbGU9bWFzdGVyJyBdCj4gCj4gSW4geGwgY29uZmlnIGZpbGUgb2Ygdm0yOgo+ICAgc3Rh dGljX3NobSA9IFsgJ2lkPUlEMSwgb2Zmc2V0ID0gMCwgYmVnaW49MHg1MDAwMDAsIGVuZD0weDYw MDAwMCwKPiByb2xlPXNsYXZlLCBwcm90PXJvJyBdCj4gCj4gSW4geGwgY29uZmlnIGZpbGUgb2Yg dm0zOgo+ICAgc3RhdGljX3NobSA9IFsgJ2lkPUlEMiwgb2Zmc2V0ID0gMTAwMDAsIGJlZ2luPTB4 NjkwMDAwLAo+IGVuZD0weDgwMDAwMCwgcm9sZT1zbGF2ZSwgcHJvdD1ybycgXQo+IAo+IHdoZXJl Ogo+ICAgQGlkICAgICAgICAgICAgICAgICAgIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBiYWNraW5n IG1lbW9yeSBhcmVhLgo+ICAgICAgICAgICAgICAgICAgICAgICAgIENhbiBiZSBhbnkgc3RyaW5n IHRoYXQgbWF0Y2hlcyB0aGUgcmVnZXhwICJbXiBcdFxuLF0rIgo+ICAgICAgICAgICAgICAgICAg ICAgICAgIGFuZCBubyBsb25nZXIgdGhhbiAxMjggY2hhcmFjdGVycwo+IAo+ICAgQG9mZnNldCAg ICAgICAgICAgICAgIENhbiBvbmx5IGFwcGVhciB3aGVuIEByb2xlID0gc2xhdmUuIFRoZSBzaGFy aW5nIHdpbGwKPiAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydCBmcm9tIHRoZSBiZWdpbm5p bmcgb2YgYmFja2luZyBtZW1vcnkgYXJlYSBwbHVzCj4gdGhpcyBvZmZzZXQuIElmIG5vdCBzZXQs IGl0IGRlZmF1bHRzIHRvIHplcm8uCj4gICAgICAgICAgICAgICAgICAgICAgICAgQ2FuIGJlIGRl Y2ltYWxzIG9yIGhleGFkZWNpbWFscyBvZiB0aGUgZm9ybSAiMHgyMDAwMCIsCj4gICAgICAgICAg ICAgICAgICAgICAgICAgYW5kIHNob3VsZCBiZSB0aGUgbXVsdGlwbGUgb2YgdGhlIGh5cGVydmlz b3IgcGFnZQo+IGdyYW51bGFyaXR5IChjdXJyZW50bHkgNEsgb24gYm90aCBBUk0gYW5kIHg4Niku Cj4gCj4gICBAYmVnaW4vZW5kICAgICAgICAgICAgVGhlIGJvdW5kYXJpZXMgb2YgdGhlIHNoYXJl ZCBtZW1vcnkgYXJlYS4gVGhlIGZvcm1hdAo+ICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVp cmVtZW50cyBhcmUgdGhlIHNhbWUgd2l0aCBAb2Zmc2V0LgoKSSdtIGFzc3VtaW5nIHRoaXMgaXMg YWxsIHNwZWNpZmllZCBpbiBHRk4gYW5kIGFsc28gbm90IE1GTiBjb250aWdvdXM/CldvdWxkIGl0 IGJlIHBvc3NpYmxlIHRvIGFsbG93IHRoZSBzcGVjaWZpY2F0aW9uIG9mIE1GTiBtYXBwaW5ncwp0 aGF0IGFyZSBjb250aWdvdXM/CgpUaGlzIHdvdWxkIGJlIHVzZWZ1bCB0byBtYXAgc3BlY2lmaWMg a2luZHMgb2YgbWVtb3J5IChlLmcgT24gQ2hpcCBSQU1zKS4KCk90aGVyIHVzZS1jYXNlcyBhcmUg d2hlbiB0aGVyZSBhcmUgbm90IG9ubHkgZ3Vlc3RzIHNoYXJpbmcKdGhlIHBhZ2VzIGJ1dCBhbHNv IGRldmljZXMuIEluIHNvbWUgY2FzZXMgdGhlc2UgZGV2cyBtYXkgYmUgbG9ja2VkIGluCndpdGgg bG93LWxhdGVuY3kgYWNjZXNzIHRvIHNwZWNpZmljIG1lbW9yeSByZWdpb25zLgoKUGVyaGFwcyBz b21ldGhpbmcgbGlrZSB0aGUgZm9sbG93aW5nPwphZGRyPWdmbkA8bWZuPgpzaXplPTB4MTAwMAoK d2l0aCBtZm4gYmVpbmcgb3B0aW9uYWw/CgoKPiAgIEByb2xlICAgICAgICAgICAgICAgICBDYW4g b25seSBiZSAnbWFzdGVyJyBvciAnc2xhdmUnLCBpdCBkZWZhdWx0cyB0byAnc2xhdmUnLgo+IAo+ ICAgQHByb3QgICAgICAgICAgICAgICAgIFdoZW4gQHJvbGUgPSBtYXN0ZXIsIHRoaXMgbWVhbnMg dGhlIGxhcmdlc3Qgc2V0IG9mCj4gICAgICAgICAgICAgICAgICAgICAgICAgc3RhZ2UtMiBwZXJt aXNzaW9uIGZsYWdzIHRoYXQgY2FuIGJlIGdyYW50ZWQgdG8gdGhlCj4gICAgICAgICAgICAgICAg ICAgICAgICAgc2xhdmUgZG9tYWlucy4KPiBXaGVuIEByb2xlID0gc2xhdmUsIHRoaXMgbWVhbnMg dGhlIHN0YWdlLTIgcGVybWlzc2lvbgo+ICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdzIG9m IHRoZSBzaGFyZWQgbWVtb3J5IGFyZWEuCj4gICAgICAgICAgICAgICAgICAgICAgICAgQ3VycmVu dGx5IG9ubHkgJ3J3JyBpcyBzdXBwb3J0ZWQuIElmIG5vdCBzZXQuIGl0Cj4gICAgICAgICAgICAg ICAgICAgICAgICAgZGVmYXVsdHMgdG8gJ3J3Jy4KPiAKPiAgIEBjYWNoZV9wb2xpY3kgICAgICAg ICBUaGUgc3RhZ2UtMiBjYWNoZWFiaWxpdHkvc2hhcmVhYmlsaXR5IGF0dHJpYnV0ZXMgb2YgdGhl Cj4gICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkIG1lbW9yeSBhcmVhLiBDdXJyZW50bHks IG9ubHkgdHdvIHBvbGljaWVzIGFyZQo+ICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRl ZDoKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICogQVJNX25vcm1hbDogT25seSBhcHBsaWNh YmxlIHRvIEFSTSBndWVzdHMuIFRoaXMKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgd291bGQgbWVhbiBJbm5lciBhbmQgT3V0ZXIgV3JpdGUtQmFjawo+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYWNoZWFibGUsIGFuZCBJbm5lciBTaGFy ZWFibGUuCgoKSXMgdGhlcmUgYSByZWFzb24gbm90IHRvIHNldCB0aGlzIHRvIE91dGVyIFNoYXJl YWJsZT8KQWdhaW4sIG1haW5seSB1c2VmdWwgd2hlbiB0aGVzZSBwYWdlcyBnZXQgc2hhcmVkIHdp dGggZGV2cyBhcyB3ZWxsLgoKVGhlIGd1ZXN0IGNhbiBhbHdheXMgbG93ZXIgaXQgdG8gSW5uZXIg U2hhcmVhYmxlIHZpYSBTMSB0YWJsZXMgaWYgbmVlZGVkLgoKQmVzdCByZWdhcmRzLApFZGdhcgoK Cgo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiB4ODZfbm9ybWFsOiBPbmx5IGFwcGxpY2Fi bGUgdG8geDg2IEhWTSBndWVzdHMuIFRoaXMKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgd291bGQgbWVhbiBXcml0ZS1CYWNrIENhY2hlYWJsZS4KPiAgICAgICAgICAg ICAgICAgICAgICAgICBJZiBub3Qgc2V0LCBpdCBkZWZhdWx0cyB0byB0aGUgKl9ub3JtYWwgcG9s aWN5IGZvciB0aGUKPiAgICAgICAgICAgICAgICAgICAgICAgICBjb3JyZXNwb25kaW5nIHBsYXRm b3JtLgo+IAo+IE5vdGU6Cj4gICBUaGUgc2l6ZXMgb2YgdGhlIGFyZWFzIHNwZWNpZmllZCBieSBA YmVnaW4gYW5kIEBlbmQgaW4gdGhlIHNsYXZlCj4gICBkb21haW4ncyBjb25maWcgZmlsZSBzaG91 bGQgYmUgc21hbGxlciB0aGFuIHRoZSBjb3JyZXNwb25kaW5nIHNpemVzIHNwZWNpZmllZAo+ICAg aW4gaXRzIG1hc3RlcidzIGRvbWFpbi4gQW5kIEBvZmZzZXQgc2hvdWxkIGFsd2F5cyBiZSB3aXRo aW4gdGhlIGJhY2tpbmcKPiAgIG1lbW9yeSByZWdpb24uIE92ZXJsYXBwaW5nIGJhY2tpbmcgbWVt b3J5IGFyZWFzIGFyZSBhbGxvd2VkLCBidXQgdGhlIHNsYXZlJ3MKPiAgIGNhbid0IG1hcCB0d28g ZGlmZmVyZW50IGJhY2tpbmcgbWVtb3J5IHJlZ2lvbidzIGludG8gYW4gb3ZlcmxhcHBpbmcgbWVt b3J5Cj4gICBzcGFjZS4KPiAgIFRoZSAibWFzdGVyIiByb2xlIGluIHZtMSBmb3IgYm90aCBJRDEg YW5kIElEMiBpbmRpY2F0ZXMgdGhhdCB2bTEgc2hvdWxkIGJlCj4gICBjcmVhdGVkIHByaW9yIHRv IGJvdGggdm0yIGFuZCB2bTMsIGZvciB0aGV5IGJvdGggcmVseSBvbiB0aGUgcGFnZXMgYmFja2Vk IGJ5Cj4gICB2bTEuIElmIG9uZSB0cmllcyB0byBjcmVhdGUgdm0yIG9yIHZtMyBwcmlvciB0byB2 bTEsIHNoZSB3aWxsIGdldCBhbiBlcnJvci4KPiAKPiBJbiB0aGUgZXhhbXBsZSBhYm92ZS4gQSBt ZW1vcnkgYXJlYSBJRDEgd2lsbCBiZSBzaGFyZWQgYmV0d2VlbiB2bTEgYW5kIHZtMi4KPiBUaGlz IGFyZWEgd2lsbCBiZSB0YWtlbiBmcm9tIHZtMSBhbmQgYWRkZWQgdG8gdm0yJ3Mgc3RhZ2UtMiBw YWdlIHRhYmxlLgo+IFRoZSBwYXJhbWV0ZXIgInByb3Q9cnciIG1lYW5zIHRoYXQgdGhpcyBtZW1v cnkgYXJlYSBpcyBvZmZlcmVkIHdpdGggcmVhZC13cml0ZQo+IHBlcm1pc3Npb24uIHZtMSBjYW4g YWNjZXNzIHRoaXMgYXJlYSB1c2luZyAweDEwMDAwMH4weDIwMDAwMCwgYW5kIHZtMiB1c2luZwo+ IDB4NTAwMDAwfjB4NjAwMDAwLiBUaGUgc3RhZ2UtMiBjYWNoZSBwb2xpY3kgb2YgdGhpcyBiYWNr aW5nIG1lbW9yeSBhcmVhIGlzCj4geDg2X25vcm1hbC4KPiAKPiBMaWtld2lzZSwgYSBtZW1vcnkg YXJlYSBJRDIgd2lsbCBiZSBzaGFyZWQgYmV0d2VlbiB2bTEgYW5kIHZtMyB3aXRoIHJlYWQtd3Jp dGUKPiBwZXJtaXNzaW9ucy4gdm0xIGlzIHRoZSBtYXN0ZXIgYW5kIHZtMiB0aGUgc2xhdmUuIE5v dGUgdGhlIEBvZmZzZXQgPSAweDEwMDAwCj4gaW4gdm0yJyBjb25maWcsIHRoZSBhY3R1YWwgc2hh cmluZyByZWxhdGlvbnNoaXAgd291bGQgYmU6Cj4gICAgKHZtMSA6IDB4MzEwMDAwfjB4NDAwMDAw KSA8PT09PT0+ICh2bTIgOiAweDY5MDAwMH4weDgwMDAwMCkKPiBUaGUgc3RhZ2UtMiBjYWNoZSBw b2xpY3kgb2YgdGhpcyBiYWNraW5nIG1lbW9yeSBhcmVhIGlzIHg4Nl9ub3JtYWwuCj4gCj4gPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiAyLjIgU3RvcmUgdGhlIG1lbS1z aGFyaW5nIGluZm9ybWF0aW9uIGluIHhlbnN0b3JlCj4gPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KPiBGb3Igd2UgZG9uJ3QgaGF2ZSBzb21lIHBlcnNpc3RlbnQgc3RvcmFn ZSBmb3IgeGwgdG8gc3RvcmUgdGhlIGluZm9ybWF0aW9uCj4gb2YgdGhlIHNoYXJlZCBtZW1vcnkg YXJlYXMsIHdlIGhhdmUgdG8gZmluZCBzb21lIHdheSB0byBrZWVwIGl0IGJldHdlZW4geGwKPiBs YXVuY2hlcy4gQW5kIHhlbnN0b3JlIGlzIGEgZ29vZCBwbGFjZSB0byBkbyB0aGlzLiBUaGUgaW5m b3JtYXRpb24gZm9yIG9uZQo+IHNoYXJlZCBhcmVhIHNob3VsZCBpbmNsdWRlIHRoZSBJRCwgbWFz dGVyJ3MgZG9taWQsIGFkZHJlc3MgcmFuZ2UsCj4gbWVtb3J5IGF0dHJpYnV0ZXMgYW5kIGluZm9y bWF0aW9uIG9mIHRoZSBzbGF2ZXMgZXRjLgo+IEEgY3VycmVudCBwbGFuIGlzIHRvIHBsYWNlIHRo ZSBpbmZvcm1hdGlvbiB1bmRlciAvbG9jYWwvc2hhcmVkX21lbS9JRC4KPiBTdGlsbCB0YWtlIHRo ZSBhYm92ZSBjb25maWcgZmlsZXMgYXMgYW4gZXhhbXBsZToKPiAKPiBJZiB3ZSBpbnN0YW50aWF0 ZSB2bTEsIHZtMiBhbmQgdm0zLCBvbmUgYWZ0ZXIgYW5vdGhlciwg4oCceGVuc3RvcmUgbHMgLWbi gJ0gc2hvdWxkCj4gb3V0cHV0IHNvbWV0aGluZyBsaWtlIHRoaXM6Cj4gCj4gQWZ0ZXIgVk0xIHdh cyBpbnN0YW50aWF0ZWQsIHRoZSBvdXRwdXQgb2Yg4oCceGVuc3RvcmUgbHMgLWYKPiB3aWxsIGJl IHNvbWV0aGluZyBsaWtlIHRoaXM6Cj4gCj4gICAgIC9sb2NhbC9zaGFyZWRfbWVtL0lEMS9tYXN0 ZXIgPSBkb21pZF9vZl92bTEKPiAgICAgL2xvY2FsL3NoYXJlZF9tZW0vSUQxL2JlZ2luID0gMHgx MDAwMDAKPiAgICAgL2xvY2FsL3NoYXJlZF9tZW0vSUQxL2VuZCA9IDB4MjAwMDAwCj4gICAgIC9s b2NhbC9zaGFyZWRfbWVtL0lEMS9wcm90ID0gInJ3Igo+ICAgICAvbG9jYWwvc2hhcmVkX21lbS9J RDEvY2FjaGVfcG9saWN5ID0gIng4Nl9ub3JtYWwiCj4gICAgIC9sb2NhbC9zaGFyZWRfbWVtL0lE MS9zbGF2ZXMgPSAiIgo+IAo+ICAgICAvbG9jYWwvc2hhcmVkX21lbS9JRDIvbWFzdGVyID0gZG9t aWRfb2Zfdm0xCj4gICAgIC9sb2NhbC9zaGFyZWRfbWVtL0lEMi9iZWdpbiA9IDB4MzAwMDAwCj4g ICAgIC9sb2NhbC9zaGFyZWRfbWVtL0lEMi9lbmQgPSAweDQwMDAwMAo+ICAgICAvbG9jYWwvc2hh cmVkX21lbS9JRDIvcGVybWlzc2lvbnMgPSAicnciCj4gICAgIC9sb2NhbC9zaGFyZWRfbWVtL0lE MS94ODZfY2FjaGVhdHRyID0gIng4Nl9ub3JtYWwiCj4gICAgIC9sb2NhbC9zaGFyZWRfbWVtL0lE Mi9zbGF2ZXMgPSAiIgo+IAo+IEFmdGVyIFZNMiB3YXMgaW5zdGFudGlhdGVkLCB0aGUgZm9sbG93 aW5nIG5ldyBsaW5lcyB3aWxsIGFwcGVhcjoKPiAKPiAgICAgL2xvY2FsL3NoYXJlZF9tZW0vSUQx L3NsYXZlcy9kb21pZF9vZl92bTIvYmVnaW4gPSAweDUwMDAwMAo+ICAgICAvbG9jYWwvc2hhcmVk X21lbS9JRDEvc2xhdmVzL2RvbWlkX29mX3ZtMi9lbmQgPSAweDYwMDAwMAo+ICAgICAvbG9jYWwv c2hhcmVkX21lbS9JRDEvc2xhdmVzL2RvbWlkX29mX3ZtMi9wZXJtaXNzaW9ucyA9ICJydyIKPiAK PiBBZnRlciBWTTIgd2FzIGluc3RhbnRpYXRlZCwgdGhlIGZvbGxvd2luZyBuZXcgbGluZXMgd2ls bCBhcHBlYXI6Cj4gCj4gICAgIC9sb2NhbC9zaGFyZWRfbWVtL0lEMi9zbGF2ZXMvZG9taWRfb2Zf dm0zL2dtZm5fYmVnaW4gPSAweDY5MDAwMAo+ICAgICAvbG9jYWwvc2hhcmVkX21lbS9JRDIvc2xh dmVzL2RvbWlkX29mX3ZtMy9nbWZuX2VuZCA9IDB4ODAwMDAwCj4gICAgIC9sb2NhbC9zaGFyZWRf bWVtL0lEMi9zbGF2ZXMvZG9taWRfb2Zfdm0zL3Blcm1pc3Npb25zID0gInJ3Igo+IAo+IAo+IFdo ZW4gd2UgZW5jb3VudGVyIGFuIHN0YXRpY19zaG0gZW50cnkgd2l0aCBpZCA9IElEeCBkdXJpbmcg InhsIGNyZWF0ZSI6Cj4gCj4gICArIElmIHRoZXJlJ3MgTk8gY29ycmVzcG9uZGluZyBlbnRyeSBp biB4ZW5zdG9yZToKPiAgICAgKyBJZiBAcm9sZT1tYXN0ZXIsIGNyZWF0ZSB0aGUgY29ycmVzcG9u ZGluZyBlbnRyaWVzIGZvciBJRHggaW4geGVuc3RvcmUKPiAgICAgKyBJZiBAcm9sZT1yb2xlLCBz YXkgZXJyb3IuCj4gCj4gICArIElmIHRoZSBjb3JyZXNwb25kaW5nIGVudHJ5IGV4aXN0cyBpbiB4 ZW5zdG9yZToKPiAgICAgKyBJZiBAcm9sZT1tYXN0ZXIsIHNheSBlcnJvcgo+ICAgICArIElmIEBy b2xlPXNsYXZlLCBtYXAgdGhlIHBhZ2VzIHRvIHRoZSBuZXdseSBjcmVhdGVkIGRvbWFpbiwgYW5k IGFkZCB0aGUKPiAgICAgICBuZWNjZXNhc3J5IGluZm9ybWF0aW9ucyB1bmRlciAvbG9jYWwvc2hh cmVkX21lbS9JRHgvc2xhdmVzLgo+IAo+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Cj4gMi4zIG1hcHBpbmcgdGhlIG1lbW9yeSBhcmVhcwo+ID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Cj4gSGFuZGxlIHRoZSBuZXdseSBhZGRlZCBjb25maWcgb3B0 aW9uIGluIHRvb2xzL3t4bCwgbGlieGx9IGFuZCB1dGlsaXplCj4gdG9vcy9saWJ4YyB0byBkbyB0 aGUgYWN0dWFsIG1lbW9yeSBtYXBwaW5nLiBTcGVjaWZpY2FsbHksIHdlIHdpbGwgdXNlCj4geGNf ZG9tYWluX2FkZF90b19waHlzbWFwX2JhdGNoIHdpdGggWEVOTUFQU1BBQ0VfZ21mbl9mb3JlaWdu IHRvCj4gZG8gdGhlIGFjdHVhbCBtYXBwaW5nLgo+IAo+ID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Cj4gMi40IGVycm9yIGhhbmRsaW5nCj4gPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KPiBBZGQgY29kZSB0byBoYW5kbGUgdmFyaW91cyBlcnJvcnM6 IEludmFsaWQgYWRkcmVzcywgaW52YWxpZCBwZXJtaXNzaW9ucywgd3JvbmcKPiBvcmRlciBvZiB2 bSBjcmVhdGlvbiwgd3JvbmcgbGVuZ3RoIG9mIG1lbW9yeSBhcmVhIGV0Yy4KPiAKPiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gMy4gRXhwZWN0 ZWQgT3V0Y29tZXMvR29hbHM6Cj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQo+IEEgbmV3IFZNIGNvbmZpZyBvcHRpb24gaW4geGwgd2lsbCBiZSBp bnRyb2R1Y2VkLCBhbGxvd2luZyB1c2VycyB0byBzZXR1cAo+IHNldmVyYWwgc2hhcmVkIG1lbW9y eSBhcmVhcyBmb3IgaW50ZXItVk1zIGNvbW11bmljYXRpb25zLgo+IFRoaXMgc2hvdWxkIHdvcmsg b24gYm90aCB4ODYgYW5kIEFSTS4KPiAKPiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Cj4gMy4gRnV0dXJlIERpcmVjdGlvbnM6Cj4gPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+IEltcGxlbWVudCB0 aGUgbWlzc2luZyBAcHJvdCBmbGFncyBhbmQgQGNhY2hlX3BvbGljeSBvcHRpb25zLgo+IAo+IFNl dCB1cCBhIG5vdGlmaWNhdGlvbiBjaGFubmVsIGJldHdlZW4gZG9tYWlucyB3aG8gYXJlIGNvbW11 bmljYXRpbmcgdGhyb3VnaAo+IHNoYXJlZCBtZW1vcnkgcmVnaW9ucywgdGhpcyBhbGxvd3Mgb25l IHZtIHRvIHNpZ25hbCBoZXIgZnJpZW5kcyB3aGVuIGRhdGEgaXMKPiBhdmFpbGFibGUgaW4gdGhl IHNoYXJlZCBtZW1vcnkgb3Igd2hlbiB0aGUgZGF0YSBpbiB0aGUgc2hhcmVkIG1lbW9yeSBpcwo+ IGNvbnN1bWVkLiBUaGUgY2hhbm5lbCBjb3VsZCBiZSBidWlsdCB1cG9uIFBQSSBvciBTR0kuCj4g Cj4gCj4gW1NlZSBhbHNvOgo+IGh0dHBzOi8vd2lraS54ZW5wcm9qZWN0Lm9yZy93aWtpL091dHJl YWNoX1Byb2dyYW1fUHJvamVjdHMjU2hhcmVfYV9wYWdlX2luX21lbW9yeV9mcm9tX3RoZV9WTV9j b25maWdfZmlsZV0KPiAKPiBDaGVlcnMsCj4gCj4gWmhvbmd6ZSBMaXUKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK WGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=