From mboxrd@z Thu Jan 1 00:00:00 1970 From: Volodymyr Babchuk Subject: Re: [ARM] Native application design and discussion (I hope) Date: Fri, 12 May 2017 21:47:32 +0300 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: George Dunlap Cc: Stefano Stabellini , Andrii Anisov , Ian Jackson , Dario Faggioli , Tim Deegan , Xen Devel , Julien Grall , Jan Beulich , Andrew Cooper , Wei Liu , Artem Mygaiev List-Id: xen-devel@lists.xenproject.org SGkgR2VvcmdlLAoKT24gMTIgTWF5IDIwMTcgYXQgMTQ6NDgsIEdlb3JnZSBEdW5sYXAgPGdlb3Jn ZS5kdW5sYXBAY2l0cml4LmNvbT4gd3JvdGU6Cj4gW3Jlb3JkZXJpbmcgc2xpZ2h0bHkgdG8gbWFr ZSB0aGUgcmVzcG9uc2UgZWFzaWVyXQoKPj4gT2theSwgSSBkb24ndCBrbm93IG5vIHBsYXRmb3Jt IHdoZXJlIHlvdSBuZWVkIHByb3ByaWV0YXJ5IGJsb2IgdG8KPj4gc2NhbGUgZnJlcXVlbmN5LiBB bmQgSSBob3BlLCBJIG5ldmVyIHdpbGwgZW5jb3VudGVyIG9uZS4KPj4gQnV0IEkgY2FuIGltYWdp bmUgaXQ6IHNvbWUgZmlybXdhcmUgYmluYXJ5IHRoYXQgbmVlZHMgdG8gYmUgdXBsb2FkZWQKPj4g aW50byBQTUlDLiBDYW4gd2Ugc3RvcmUgdGhpcyBmaXJtd2FyZSBpbiB0aGUgaHlwZXJ2aXNvcj8g SSBkb24ndCBrbm93Lgo+PiBJJ20gbm90IGEgbGF3eWVyLgo+Cj4gT24geDg2LCB3ZSBkbyBtaWNy b2NvZGUgdXBkYXRlcywgd2hpY2ggYXJlIChhcyBJIHVuZGVyc3RhbmQgaXQpIGJpbmFyeQo+IGJs b2JzIHRoYXQgZ2V0IHBhc3NlZCB0aHJvdWdoIHRoZSBoeXBlcnZpc29yIHRvIHRoZSBjcHVzLiAg VGhpcyBibG9iCj4gaXNuJ3QgZXhlY3V0ZWQgYnkgWGVuLCBzbyBpdCBkb2Vzbid0IHNlZW0gbGlr ZSB5b3Ugd291bGQgYmUgYWJsZSB0bwo+IGFyZ3VlIHRoYXQgcGFzc2luZyBhIGJpbmFyeSBibG9i IHRocm91Z2ggdGhlIGh5cGVydmlzb3IgY3JlYXRlcyBhCj4gZGVyaXZhdGl2ZSAvIGNvbWJpbmVk IHdvcmsuICBJbiB0aGF0IGNhc2UgdGhlIGJsb2JzIGFyZSBzdG9yZWQgYXMKPiBmaWxlcyBvbiBk aXNrIGFuZCBwYXNzZWQgdG8gWGVuIGF0IGJvb3QgdGltZSAodmlhIGdydWIpLCBub3QgY29tcGls ZWQKPiBpbnRvIHRoZSBYZW4gYmluYXJ5LiAgV2hldGhlciBjb21waWxpbmcgc3VjaCB0aGluZ3Mg aW50byB0aGUgYmluYXJ5Cj4gY29uc3RpdHV0ZXMgYSAiZGVyaXZlZCB3b3JrIiBpcyBzb21ldGhp bmcgeW91J2QgcHJvYmFibHkgYmV0dGVyIGFzayBhCj4gbGF3eWVyLiA6LSkKWWVhaCwgdGhlcmUg YXJlIGFsd2F5cyBsZWdhbCB3YXlzIHRvIGRvIHRoaXMuCgo+Pj4gU29ycnksIGp1c3QgdG8gYmUg Y2xlYXI6IGJlbG93IHlvdSBtZW50aW9uZWQgbW9kdWxlcyBhcyBhIHNvbHV0aW9uLCBhbmQKPj4+ IGdpdmVuIHRoZSBjb250ZXh0IHRoaXMgd291bGQgYmUgaW5jbHVkZWQuICBTbyBjYW4geW91IGV4 cGFuZCBvbiB3aGF0IHlvdQo+Pj4gbWVhbiB0aGF0IHRoZXJlIGFyZSB0aGluZ3MgdGhhdCAxKSBj YW4ndCBiZSBpbmNsdWRlZCBpbiB0aGUgaHlwZXJ2aXNvcgo+Pj4gYmVjYXVzZSBvZiBjb2RlIHNp emUgb3IgY29tcGxleGl0eSwgYnV0IGZvciB3aGljaCAyKSBsb2FkYWJsZSBtb2R1bGVzCj4+PiB3 b3VsZCBiZSBhIHN1aXRhYmxlIHNvbHV0aW9uPwo+PiBXZWxsLi4uIERldmljZSBkcml2ZXM/IEVt dWxhdG9ycz8gRm9yIGV4YW1wbGUsIGlmIEkgd2lsbCB3cml0ZSBidW5jaAo+PiBvZiBnb29kIGFu ZCBuZWF0IEdQTCBkcml2ZXJzIGZvciBzb21lIFNvQyBhbmQgSSdsbCBwcm9taXNlIHRvIG1haW50 YWluCj4+IHRoZW0sIHdpbGwgeW91IGluY2x1ZGUgdGhlbSBpbnRvIHVwc3RyZWFtPwo+PiBPciBJ IHdpbGwgd3JpdGUgZW11bGF0b3IgZm9yIHNvbWUgYXJjYW5lIGRldmljZSwgd2lsbCBpdCBiZSBt ZXJnZWQKPj4gaW50byB1cHN0cmVhbT8KPj4gUmVhbCBjYXNlOiBJIHdpbGwgd3JpdGUgT1AtVEVF IG1lZGlhdG9yIGZvciBvbmUgY2xpZW50IGFuZCBHb29nbGUKPj4gVHJ1c3R5IG1lZGlhdG9yIGZv ciBvdGhlciBjbGllbnQuIEV2ZXJ5IHdpbGwgaGF2ZSwgc2F5LCAyLDAwMCBsaW5lcyBvZgo+PiBj b2RlLiBBcmUgdGhlcmUgY2hhbmdlcywgdGhhdCB0aGV5IGJvdGggd2lsbCBiZSBtZXJnZWQgaW50 bwo+PiBoeXBlcnZpc29yPwo+Cj4gW3NuaXBdCj4KPj4gQW55d2F5cywgSSBoYXZlIHRha2VuIHlv dXIgcG9pbnQuIE5vIHByb3ByaWV0YXJ5IGNvZGUgaW4gbW9kdWxlcy4gV2hhdAo+PiBhYm91dCBv dGhlciBwYXJ0cyBvZiBkaXNjdXNzaW9uPyBBcmUgeW91IGFnYWluc3QgbG9hZGFibGUgbW9kdWxl cyBpbgo+PiBhbnkgZmFzaGlvbj8gV2hhdCBhYm91dCBuYXRpdmUgYXBwcz8KPgo+IFRoZXJlIGFy ZSBzZXZlcmFsIGRpZmZlcmVudCBxdWVzdGlvbnMgd2UncmUgZ2V0dGluZyBzbGlnaHRseSBtaXhl ZCB1cCBoZXJlOgo+IDEuIFNob3VsZCBzb21lIGJpdCBvZiBmdW5jdGlvbmFsaXR5IChsaWtlIGEg VEVFIG1lZGlhdG9yIG9yIGRldmljZQo+IGVtdWxhdGlvbikgbGl2ZSBpbiB0aGUgeGVuLmdpdCB0 cmVlPwo+IDIuIFNob3VsZCB0aGF0IGZ1bmN0aW9uYWxpdHkgcnVuIGluIHRoZSBoeXBlcnZpc29y IGFkZHJlc3Mgc3BhY2U/Cj4gMy4gU2hvdWxkIHRoYXQgZnVuY3Rpb25hbGl0eSBiZSBsb2FkZWQg dmlhIGEgbG9hZGFibGUgbW9kdWxlPwo+IDQuIFdoYXQgcGxhY2UgdG8gcHJvcHJpZXRhcnkgY29t cG9uZW50cyBoYXZlIGluIGEgWGVuIHN5c3RlbT8KPgo+IExldCBtZSBhZGRyZXNzICM0IGZpcnN0 LiAgVGhlcmUgYXJlIGxvdHMgb2YgZXhhbXBsZXMgb2YgcHJvcHJpZXRhcnkKPiAqY29tcG9uZW50 cyogb2YgWGVuIHN5c3RlbXMuICBYZW5DbGllbnQgdXNlZCB0byBoYXZlIGEgcHJvcHJpZXRhcnkK PiBkZXZpY2UgbW9kZWwgKGEgcHJvY2VzcyBydW5uaW5nIGluIGRvbTApIGZvciBoZWxwaW5nIHZp cnR1YWxpemUKPiBncmFwaGljcyBjYXJkczsgYSBudW1iZXIgb2YgY29tcGFuaWVzIGhhdmUgcHJv cHJpZXRhcnkgZHJpdmVycyBmb3IKPiBtZW1vcnkgc2hhcmluZyBvciBWTSBpbnRyb3NwZWN0aW9u LiAgQnV0IGFsbCBvZiB0aG9zZSBhcmUgb3V0c2lkZSBvZgo+IHRoZSBYZW4gYWRkcmVzcyBzcGFj ZSwgaW50ZXJhY3Rpbmcgd2l0aCBYZW4gdmlhIGh5cGVyY2FsbHMuICBBcyBsb25nCj4gYXMgIm5h dGl2ZSBhcHBzIiAoSSB0aGluayB3ZSBwcm9iYWJseSBuZWVkIGEgYmV0dGVyIG5hbWUgaGVyZSkg YXJlCj4gYW5hbG9nb3VzIHRvIGEgZGV2aWNlbW9kZWwgc3R1YmRvbWFpbiAtLSBpbiBhIHNlcGFy YXRlIGFkZHJlc3Mgc3BhY2UKPiBhbmQgYWN0aW5nIHRocm91Z2ggYSB3ZWxsLWRlZmluZWQgaHlw ZXJjYWwgaW50ZXJmYWNlIC0tIEkgZG9uJ3QgaGF2ZQo+IGFueSBvYmplY3Rpb24gdG8gaGF2aW5n IHByb3ByaWV0YXJ5IG9uZXMuClllcywgbmF0aXZlIGFwcHMgd2lsbCB1c2UgYWxtb3N0IHRoZSBz YW1lIG1lY2hhbmlzbSAoYWN0dWFsbHksIGl0IHdpbGwKYmUgc3lzY2FsbHMgaW5zdGVhZCBvZiBo eXBlcmNhbGxzLCBidXQgYmFzaWMgaWRlYSBpcyB0aGUgc2FtZSkuIFRoZXkKYXJlIG5vdCBsaW5r ZWQgdG8gYSBoeXBlcnZpc29yIGluIGFueSB3YXkuCgo+IFJlZ2FyZGluZyAjMS0yLCBsZXQgbWUg Zmlyc3Qgc2F5IHRoYXQgaG93IHNwZWNpZmljIGl0IGlzIHRvIGEKPiBwYXJ0aWN1bGFyIHBsYXRm b3JtIG9yIHVzZSBjYXNlIGlzbid0IGFjdHVhbGx5IGltcG9ydGFudCB0byBhbnkgb2YKPiB0aGVz ZSBxdWVzdGlvbnMuICBUaGUgY29uc2lkZXJhdGlvbnMgYXJlIHBhcnRseSB0ZWNobmljYWwsIGFu ZCBwYXJ0bHkKPiBwcmFjdGljYWwgLS0gaG93IG11Y2ggYmVuZWZpdCBkb2VzIGl0IGdpdmUgdG8g dGhlIHByb2plY3QgYXMgYSB3aG9sZQo+IHZzIHRoZSBjb3N0Pwo+Cj4gRm9yIGEgbG9uZyB0aW1l IHRoZXJlIHdlcmUgb25seSB0d28gZnVuY3Rpb25hbCBzY2hlZHVsZXJzIGluIFhlbiAtLQo+IHRo ZSBDcmVkaXQgc2NoZWR1bGVyIChub3cgY2FsbGVkICJjcmVkaXQxIiB0byBkaXN0aW5ndWlzaCBp dCBmcm9tCj4gImNyZWRpdDIiKSwgYW5kIHRoZSBBUklOQzY1MyBzY2hlZHVsZXIsIHdoaWNoIGlz IGEgcmVhbC10aW1lIHNjaGVkdWxlcgo+IHRhcmdldGVkIGF0IGEgdmVyeSBzcGVjaWZpYyB1c2Ug Y2FzZSBhbmQgaW5kdXN0cnkuICBBcyBmYXIgYXMgSSBrbm93Cj4gdGhlcmUgaXMgb25seSBvbmUg dXNlci4gIEJ1dCBpdCB3YXMgY2hlY2tlZCBpbnRvIHRoZSBYZW4gdHJlZSBiZWNhdXNlCj4gaXQg d291bGQgb2J2aW91c2x5IGJlIHVzZWZ1bCB0byB0aGVtIChiZW5lZml0KSBhbmQgYWxtb3N0IG5v IGltcGFjdCBvbgo+IGFueW9uZSBlbHNlIChjb3N0KTsgYW5kIGl0IHJhbiBpbnNpZGUgdGhlIGh5 cGVydmlzb3IgYmVjYXVzZSB0aGF0J3MKPiB0aGUgb25seSBwbGFjZSB0byBydW4gYSBzY2hlZHVs ZXIuCj4KPiBTbyBnaXZlbiB5b3VyIGV4YW1wbGVzLCBJIHNlZSBubyByZWFzb24gbm90IHRvIGhh dmUgc2V2ZXJhbAo+IGltcGxlbWVudGF0aW9ucyBvZiBkaWZmZXJlbnQgbWVkaWF0b3JzIG9yIGVt dWxhdGVkIGRldmljZXMgaW4gdHJlZSwgb3IKPiBpbiBhIFhlblByb2plY3QtbWFuYWdlZCBnaXQg cmVwbyAobGlrZSBtaW5pLW9zLmdpdCkuICBJIGRvbid0IGtub3cgdGhlCj4gcGFydGljdWxhcnMg YWJvdXQgbWVkaWF0b3JzIG9yIHRoZSBkZXZpY2VzIHlvdSBoYXZlIGluIG1pbmQsIGJ1dCBpZgo+ IHlvdSBjYW4gc2hvdyB0ZWNobmljYWwgcmVhc29ucyB3aHkgdGhleSBuZWVkIHRvIGJlIHJ1biBp biB0aGUKPiBoeXBlcnZpc29yIHJhdGhlciB0aGFuIHNvbWV3aGVyZSBlbHNlIChmb3IgcGVyZm9y bWFuY2Ugb3Igc2VjdXJpdHkKPiBzYWtlLCBmb3IgaW5zdGFuY2UpLCB0aGVyZSdzIG5vIHJlYXNv biBpbiBwcmluY2lwbGUgbm90IHRvIGFkZCB0aGVtIHRvCj4gdGhlIGh5cGVydmlzb3IgY29kZTsg YW5kIGlmIHRoZXkncmUgaW4gdGhlIGh5cGVydmlzb3IsIHRoZW4gdGhleQo+IHNob3VsZCBiZSBp biB4ZW4uZ2l0LgpUaGlzIGlzIHF1ZXN0aW9uIHRoYXQgYm90aGVyZWQgbWUuIFRoYW5rIHlvdSBm b3IgY2xhcmlmaWNhdGlvbi4gR29pbmcKdG8gc3BlY2lmaWMgdXNlIGNhc2VzLCB5ZXMsIHRoZXJl IGFyZSByZWFzb25zIHdoeSBPUC1URUUgbWVkaWF0b3IKc2hvdWxkIHJ1biBpbiBoeXBlcnZpc29y IChvciBpbiBhIHZlcnkgcHJpdmlsZWdlZCBhcHApLgoKPiBSZWdhcmRpbmcgbW9kdWxlcyAoIzMp OiBUaGUgcHJvYmxlbSB0aGF0IGxvYWRhYmxlIG1vZHVsZXMgd2VyZQo+IHByaW1hcmlseSBpbnRy b2R1Y2VkIHRvIHNvbHZlIGluIExpbnV4IHdhc24ndCAiSG93IHRvIGRlYWwgd2l0aAo+IHByb3By aWV0YXJ5IGRyaXZlcnMiLCBvciBldmVuICJob3cgdG8gZGVhbCB3aXRoIG91dC1vZi10cmVlIGRy aXZlcnMiLgo+IFRoZSBwcm9ibGVtIHdhcywgIkhvdyB0byB3ZSBhbGxvdyBzb2Z0d2FyZSBwcm92 aWRlcnMgdG8gMSkgaGF2ZSBhCj4gc2luZ2xlIGtlcm5lbCBiaW5hcnksIHdoaWNoIDIpIGhhcyBk cml2ZXJzIGZvciBhbGwgdGhlIGRpZmZlcmVudAo+IHN5c3RlbXMgb24gd2hpY2ggaXQgbmVlZHMg dG8gcnVuLCBidXQgMykgbm90IHRha2UgYSBtYXNzaXZlIGFtb3VudCBvZgo+IG1lbW9yeSBvciBz cGFjZSBvbiBzeXN0ZW1zLCBnaXZlbiB0aGF0IGFueSBnaXZlbiBzeXN0ZW0gd2lsbCBub3QgbmVl ZAo+IHRoZSB2YXN0IG1ham9yaXR5IG9mIGRyaXZlcnM/Igo+Cj4gU3VwcG9zZSBoeXBvdGhldGlj YWxseSB0aGF0IHdlIGRlY2lkZWQgdGhhdCB0aGUgbWVkaWF0b3JzIHlvdSBkZXNjcmliZQo+IG5l ZWQgdG8gcnVuIGluIHRoZSBoeXBlcnZpc29yLiAgQXMgbG9uZyBhcyBLY29uZmlnIGlzIHN1ZmZp Y2llbnQgZm9yCj4gcGVvcGxlIHRvIGVuYWJsZSBvciBkaXNhYmxlIHdoYXQgdGhleSBuZWVkIHRv IG1ha2UgYSBmdW5jdGlvbmFsIGFuZAo+IGVmZmljaWVudCBzeXN0ZW0sIHRoZW4gdGhlcmUncyBu byBuZWVkIHRvIGludHJvZHVjZSBtb2R1bGVzLiAgSWYgd2UKPiByZWFjaGVkIGEgcG9pbnQgd2hl cmUgcGVvcGxlIHdhbnRlZCBhIHNpbmdsZSBiaW5hcnkgdGhhdCBjb3VsZCBkbwo+IGVpdGhlciBv ciBPUC1URUUgbWVkaWF0b3Igb3IgdGhlIEdvb2dsZSBtZWRpYXRvciwgb3IgYm90aCwgb3IgbmVp dGhlciwKPiBidXQgZGlkbid0IHRvIGluY2x1ZGUgYWxsIG9mIHRoZW0gaW4gdGhlIGNvcmUgYmlu YXJ5IChwZXJoYXBzIGJlY2F1c2UKPiBvZiBtZW1vcnkgY29uc3RyYWludHMpLCB0aGVuIGxvYWRh YmxlIG1vZHVsZXMgd291bGQgYmUgYSBnb29kIHNvbHV0aW9uCj4gdG8gY29uc2lkZXIuICBCdXQg ZWl0aGVyIHdheSwgaWYgd2UgZGVjaWRlZCB0aGV5IHNob3VsZCBydW4gaW4gdGhlCj4gaHlwZXJ2 aXNvciwgdGhlbiBhbGwgdGhpbmdzIGJlaW5nIGVxdWFsIGl0IHdvdWxkIHN0aWxsIGJlIGJldHRl ciB0bwo+IGhhdmUgYm90aCBpbXBsZW1lbnRhdGlvbnMgaW4tdHJlZS4KPgo+IFRoZXJlIGFyZSBh IGNvdXBsZSBvZiByZWFzb25zIGZvciB0aGUgcHVzaC1iYWNrIG9uIGxvYWRhYmxlIG1vZHVsZXMu Cj4gVGhlIGZpcnN0IGlzIHRoZSBleHRyYSBjb21wbGljYXRpb24gYW5kIGluZnJhc3RydWN0dXJl IGl0IGFkZHMuICBCdXQKPiB0aGUgc2Vjb25kIGlzIHRoYXQgcGVvcGxlIGhhdmUgYSBzdHJvbmcg dGVtcHRhdGlvbiB0byB1c2UgdGhlbSBmb3IKPiBvdXQtb2YtdHJlZSBhbmQgcHJvcHJpZXRhcnkg Y29kZSwgYm90aCBvZiB3aGljaCB3ZSdkIGxpa2UgdG8gYXZvaWQgaWYKPiBwb3NzaWJsZS4gIElm IHRoZXJlIGNvbWVzIGEgcG9pbnQgaW4gdGltZSB3aGVyZSBsb2FkYWJsZSBtb2R1bGVzIGFyZQo+ IHRoZSBvbmx5IHJlYXNvbmFibGUgc29sdXRpb24gdG8gdGhlIHByb2JsZW0sIEkgd2lsbCBzdXBw b3J0IGhhdmluZwo+IHRoZW07IGJ1dCB1bnRpbCB0aGF0IHRpbWUgSSB3aWxsIGxvb2sgZm9yIG90 aGVyIHNvbHV0aW9ucyBpZiBJIGNhbi4KPgo+IERvZXMgdGhhdCBtYWtlIHNlbnNlPwpZZXMsIHRo YW5rIHlvdS4gTGVnYWwgcXVlc3Rpb25zIGlzIG5vdCBteSBiZXN0IHNpZGUuIExvb2tzIGxpa2Ug SSB3YXMKdG9vIHF1aWNrLCB3aGVuIHByb3Bvc2VkIG1vZHVsZXMgYXMgYSBzb2x1dGlvbiB0byBv dXIgbmVlZHMuIFNvcnJ5LCBJCmhhZCB0byBpbnZlc3RpZ2F0ZSB0aGlzIHRvcGljIGZ1cnRoZXIg YmVmb3JlIHRhbGtpbmcgYWJvdXQgaXQuCgpTbywgbGV0J3MgZ2V0IGJhY2sgdG8gbmF0aXZlIGFw cHMuIFdlIGhhZCBpbnRlcm5hbCBkaXNjdXNzaW9uIGFib3V0CnBvc3NpYmxlIHVzZSBjYXNlcyBh bmQgd2FudCB0byBzaGFyZSBvdXIgY29uY2x1c2lvbnMuCgoxLiBFbXVsYXRvcnMuIEFzIFN0ZWZh bm8gcG9pbnRlZCwgdGhpcyBpcyBpZGVhbCB1c2UgY2FzZSBmb3Igc21hbGwsCmZhc3QgbmF0aXZl IGFwcHMgdGhhdCBhcmUgYWNjb3VudGVkIGluIGEgY2FsbGluZyB2Y3B1IHRpbWUgc2xpY2UuCgoy LiBWaXJ0dWFsIGNvcHJvY2Vzc29yIGJhY2tlbmQvZHJpdmVyLiBUaGUgcGFydCB0aGF0IGRvZXMg YWN0dWFsIGpvYjoKbWFrZXMgY29wcm9jZXNzb3IgdG8gc2F2ZSBvciByZXN0b3JlIGNvbnRleHQu IEl0IGlzIGFsc28gc21hbGwsCnN0cmFpZ2h0Zm9yd2FyZCBhcHAsIGJ1dCBpdCBzaG91bGQgaGF2 ZSBhY2Nlc3MgdG8gYSByZWFsIEhXLgoKMy4gVEVFIG1lZGlhdG9ycy4gVGhleSBuZWVkIHNvIG11 Y2ggcHJpdmlsZWdlcywgc28gdGhlcmUgYWN0dWFsbHkgYXJlCm5vIHNlbnNlIGluIHB1dHRpbmcg dGhlbSBpbnRvIG5hdGl2ZSBhcHBzLiBGb3IgZXhhbXBsZSwgdG8gd29yawpwcm9wZXJseSBPUC1U RUUgbWVkaWF0b3IgbmVlZHMgdG86IHBpbiBndWVzdCBwYWdlcywgbWFwIGd1ZXN0IHBhZ2VzIHRv CnBlcmZvcm0gSVBBLT5NUEEgdHJhbnNsYXRpb24sIHNlbmQgdklSUXMgdG8gZ3Vlc3RzLCBpc3N1 ZSByZWFsIFNNQ3MuCgo0LiBBbnkgb3RoZXIgdXNlcz8KClNvLCBhcyB5b3UgY2FuIHNlZSwgZW11 bGF0b3IgaGF2ZSBubyBwcml2aWxlZ2VzIGF0IGFsbCBhbmQgY2FuIGJlCmRvbWFpbi1ib3VuZCAo ZS5nLiBvbmUgZW11bGF0b3IgaW5zdGFuY2UgcGVyIGd1ZXN0KS4gdmNvcHJvYyBkcml2ZXIKbmVl ZHMgcHJpdmlsZWdlcyB0byB3b3JrIHdpdGggY2VydGFpbiBNTUlPcyAoYW5kIHBvc3NpYmx5LCBJ UlFzKS4gVEVFCm1lZGlhdG9yIGlzIGFjdHVhbGx5IHNob3VsZCB3b3JrIGF0IEVMMiBsZXZlbCwg dGhlcmUgYXJlIG5vIGJlbmVmaXRzCmluIHB1dHRpbmcgaXQgaW50byBFTDAgYXBwLgoKSWYgdGhl cmUgYXJlIG5vIG9iamVjdGlvbnMsIEkgcHJvcG9zZSB0byBwdXQgVEVFIHRvcGljIGFzaWRlIGZv ciBub3cuCkp1c3QgdG8gYmUgY2xlYXI6IEkgcmVhbGx5IGxpa2UgeW91ciBpZGVhIHRvIHB1dCBU RUUgbWVkaWF0b3JzIGludG8KaHlwZXJ2aXNvciB0cmVlIGFuZCB1c2UgS2NvbmZpZyB0byBjaG9v c2UgbmVlZGVkIG9uZS4KClNvLCB0aGVyZSBhcmUgZW11bGF0b3JzIGFuZCB2Y29wcm9jIGRyaXZl cnMgbGVmdC4gRW11bGF0b3IgaXMgYSBxdWl0ZQpzaW1wbGUgdGhpbmc6IGl0IHNob3VsZCBoYW5k bGUgTU1JTyByZWFkL3dyaXRlIGFuZCBpc3N1ZSB2SVJRCnNvbWV0aW1lcy4gQWxzbyBpdCBzaG91 bGQgYmUgY29uZmlndXJlZCBzb21laG93LiBBcyBTdGVmYW5vIHNhaWQsIHdlCnNob3VsZCBoYXZl IG11bHRpcGxlIGluc3RhbmNlcyBvZiB0aGUgc2FtZSBlbXVsYXRvci4gT25lIGZvciBlYWNoCmRv bWFpbi4KCnZjb3Byb2MgZHJpdmVyIHNob3VsZCBiZSBhYmxlIHRvIHdvcmsgd2l0aCByZWFsIEhX LCBwcm9iYWJseSBpdCB3aWxsCmhhbmRsZSByZWFsIElSUXMgZnJvbSBkZXZpY2UsIHdlIG5lZWQg b25lIGluc3RhbmNlIG9mIGRyaXZlciBwZXIKZGV2aWNlLCBub3QgcGVyIGRvbWFpbi4gQW5kcmlp IGNhbiBjb3JyZWN0IG1lLCBidXQgdmNvcHJvYyBmcmFtZXdvcmsKaXMgbm90IHRpZWQgdG8gdmNw dXMsIHNvIGl0IGNhbiB3b3JrIGluIGNvbnRleHQgb2YgYW55IHZjcHUuIFRodXMsIGl0CndpbGwg YmUgYWNjb3VudGVkIGZvciB0aGF0IHZjcHUsIHRoYXQgaGFwcGVuZWQgdG8gZXhlY3V0ZSBhdCBj dXJyZW50Cm1vbWVudC4gUHJvYmFibHksIHRoaXMgaXMgbm90IGZhaXIuCgpDYW4gd2UgcnVuIHZj b3Byb2MgZHJpdmVyIGluIGEgc3R1YmRvbWFpbj8gUHJvYmFibHkgeWVzLCBpZiB3ZSBjYW4KZ3Vh cmFudGVlIGxhdGVuY3kgKGFzIGlmIGluIHJlYWwgdGltZSBzeXN0ZW0pLiBKdXN0IG9uZSBleGFt cGxlOiA2MEZQUwpkaXNwbGF5cyBhcmUgc3RhbmRhcmQgYXQgdGhpcyB0aW1lLiAxLzYwIGdpdmVz IHVzIDE2bXMgdG8gZGVsaXZlcgpmcmFtZSB0byBhIGRpc3BsYXkuIDE2bXMgc2hvdWxkIGJlIGVu b3VnaCB0byByZW5kZXIgbmV4dCBmcmFtZSwKY29tcG9zZSBpdCwgZGVsaXZlciB0byBhIGRpc3Bs YXkgY29udHJvbGxlci4gQWN0dWFsbHkgaXQgaXMgcGxlbnR5IG9mCnRpbWUgKG1vc3Qgb2YgdGhl IHRpbWUpLiBOb3cgaW1hZ2luZSB0aGF0IHdlIHdhbnQgdG8gc2hhcmUgb25lIEdQVQpiZXR3ZWVu IHR3byBkb21haW5zLiBBY3R1YWwgcmVuZGVyIHRhc2tzIGNhbiBiZSB2ZXJ5IGZhc3QsIGxldHMg c2F5IDEKbXMgZm9yIGVhY2ggZG9tYWluLiBCdXQgdG8gcmVuZGVyIGJvdGggb2YgdGhlbSwgd2Ug bmVlZCB0byBzd2l0Y2ggR1BVCmNvbnRleHQgYXQgbGVhc3QgdHdvIHRpbWVzIChvbmUgdGltZSB0 byByZW5kZXIgR3Vlc3QgQSB0YXNrLCBvbmUgdGltZQp0byByZW5kZXIgR3Vlc3QgQiB0YXNrKS4g VGhpcyBnaXZlcyB1cyA4bXMgYmV0d2VlbiBzd2l0Y2hlcy4gSWYgd2UKd2lsbCBwdXQgdmNvcHJv YyBkcml2ZXIgdG8gYSBzdHViZG9tYWluLCB3ZSB3aWxsIGJlIGF0IG1lcmN5IG9mIHZDUFUKc2No ZWR1bGVyLiBJdCBpcyBnb29kIHNjaGVkdWxlciwgYnV0IEkgZG9uJ3Qga25vdyBpZiBpdCBzdWl0 cyBmb3IgdGhpcwp1c2UgY2FzZS4gOG1zIGlzIGFuIHVwcGVyIGJvdW5kLiBJZiB0aGVyZSB3aWxs IGJlIHRocmVlIGRvbWFpbnMKc2hhcmluZyBHUFUsIGxpbWl0IHdpbGwgYmUgNiBtcy4gQW5kLCBh Y3R1YWxseSwgb25lIHNsaWNlIHBlciBkb21haW4KaXMgbm90IGVub3VnaCwgYmVjYXVzZSBkb21h aW4gbWF5IGJlIHdpbGxpbmcgdG8gcmVuZGVyIG93biBwb3J0aW9uCmxhdGVyLiBTbywgMSBtcyB3 aWxsIGJlIG1vcmUgcmVhbGlzdGljIHJlcXVpcmVtZW50LiBJIG1lYW4sIHRoYXQKc3R1YmRvbSB3 aXRoIGNvcHJvYyBkcml2ZXIgc2hvdWxkIGJlIHNjaGVkdWxlZCBldmVyeSAxbXMgbm90IG1hdHRl ciBvZgp3aGF0LgpXaXRoIG5hdGl2ZSBhcHBzIChvciBzb21lIGxpZ2h0IHN0dWJkb21haW4pIHdo aWNoIHdpbGwgYmUgc2NoZWR1bGVkCnJpZ2h0IHdoZW4gaXQgaXMgbmVlZGVkIC0gdGhpcyBpcyBt dWNoIGVhc2llciB0YXNrLgoKQXQgbGVhc3QsIHRoaXMgaXMgbXkgdmlzaW9uIG9mIHZjb3Byb2Mg ZHJpdmVyIHByb2JsZW0uIEFuZHJpaSBjYW4KY29ycmVjdCBtZSwgaWYgSSdtIHRlcnJpYmx5IHdy b25nLgoKPiBCVFcgSSd2ZSBiZWVuIHNheWluZyAiSSIgdGhyb3VnaG91dCB0aGlzIHJlc3BvbnNl OyBob3BlZnVsbHkgdGhhdAo+IG1ha2VzIGl0IGNsZWFyIHRoYXQgSSdtIG1haW5seSBzcGVha2lu ZyBmb3IgbXlzZWxmIGhlcmUuClllYWgsIEkgdW5kZXJzdGFuZCB0aGlzLgoKLS0gCldCUiBWb2xv ZHlteXIgQmFiY2h1ayBha2EgbG9yYyBbKzM4MDk3NjY0NjAxM10KbWFpbHRvOiB2bGFkLmJhYmNo dWtAZ21haWwuY29tCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBz Oi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK