From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [Hackathon 16] Notes from Security Session Date: Tue, 19 Apr 2016 10:11:28 +0100 Message-ID: <5715F640.1070206@citrix.com> References: <5715F43E.7090503@cardoe.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1asSWG-0002WV-3G for xen-devel@lists.xenproject.org; Tue, 19 Apr 2016 10:04:32 +0000 In-Reply-To: <5715F43E.7090503@cardoe.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Doug Goldstein , Lars Kurth , Xen-devel Cc: James McKenzie , sstabellini@kernel.org, Wei Liu , Ross Philipson , openxt@googlegroups.com, George Dunlap , Rich Persaud , Jan Beulich , Anthony PERARD List-Id: xen-devel@lists.xenproject.org T24gMTkvMDQvMTYgMTA6MDIsIERvdWcgR29sZHN0ZWluIHdyb3RlOgo+IE9uIDQvMTgvMTYgMTI6 MjAgUE0sIExhcnMgS3VydGggd3JvdGU6Cj4+IEhpIGFsbCwKPj4KPj4gSSB0b29rIG5vdGVzIGFz IG11Y2ggYXMgSSBjb3VsZC4gQ0MnZWQgdGhlIHBlb3BsZSB3aG8gcGFydGljaXBhdGVkIG1vc3Qu IElmIEkgbWlzc2VkL21pc3JlcHJlc2VudGVkIHNvbWV0aGluZywgcGxlYXNlIGFkZCB0byB0aGUg ZGlzY3Vzc2lvbi4gSSBrbm93IHRoYXQgR2VvcmdlIGZvciBleGFtcGxlIHRvb2sgc29tZSBleHRy YSBub3RlcyBpbiB0aGUgb25lIG9yIG90aGVyIGFyZWEuCj4+Cj4+IFJlZ2FyZHMKPj4gTGFycwo+ Pgo+PiA9PSBUb3BpY3MgZGlzY3Vzc2VkID09Cj4+IFFFTVUKPj4gRGUtcHJpdmlsaWdlIG9mIFFF TVUKPj4gWFNBCj4+IHgtU3BsaWNlCj4+IHg4NiBFbXVsYXRvcgo+PiBFbmFibGluZyBYU00gQnkg ZGVmYXVsdAo+Pgo+PiA9PT0gU2xpbWxpbmUgUUVNVSA9PT0KPj4KPj4gS29ucmFkOiBTb21lIGlu cm9hZHMgb24gbWFraW5nIFFFTVUgYmV0dGVyCj4+IEtvbnJhZDogUUVNVSBpcyB0b28gYmlnIGFu ZCBpdCBpcyBoYXJkIHRvIHN0cmlwIGRvd24gdGhlIHBsYXRmb3JtIDogaG93IGNhbiB3ZSBjaG9w IGl0IHVwCj4+Cj4+IFdlaTogV2VpIGF0dGVtcHRlZCB0aGlzIDIgeWVhcnMgYWdvIDogV2VpIGRl ZmluZWQgc29tZSBYZW4gc3R1YiBDUFUgbW9kZWwsIHdoaWNoIHdhcyByZWplY3RlZCBhdCB0aGUg dGltZQo+PiBTdGVmYW5vOiBNYXliZSB3aGF0IHdlIG5lZWQgaXMgZGlmZmVyZW50Cj4+IFN0ZWZh bm86IENvbnRhaW5lcnMgLyBJbnRlbCBoYXZlIHNpbWlsYXIgaXNzdWVzCj4+IFN0ZWZhbm86IElu dGVsIGhhdmUgYSB2ZXJ5IHNpbWlsYXIgcHJvYmxlbSB3aXRoIENsZWFyQ29udGFpbmVyCj4+IFN0 ZWZhbm86IFJlLWltcGxlbWVudGluZyBDbGVhckNvbnRhaW5lcnMgd2l0aCBRRU1VIGJlY2F1c2Ug b2YgbWFya2V0IG5lZWRzCj4+IFN0ZWZhbm86IFFFTVUgZG9lcyBoYXZlIGFscmVhZHkgYSBuby1k ZWZhdWx0IG9wdGlvbgo+Pgo+PiBEb3VnOiBJbiB0aGUgUUVNVSBtb2RlbDogeW91IGNhbm5vdCBy dW4gYSBib2FyZCB3aXRob3V0IGEgQ1BVCj4+IERvdWc6IEtDb25maWcgbWF5IGJlIGFjY2VwdGFi bGUsIGJ1dCByZTRtb3ZpbmcgYm9hcmRzIG1heSBub3QgKGluaXRpYWxseSBkaXNjdXNzZWQgd2l0 aCBBbnRvbnkgTCkKPj4KPj4gR2VvcmdlOiBEaXN0cm9zIGRvbid0IHdhbnQgdG8gc2hpcCB0d28g dmVyc2lvbnMgb2YgUUVNVQo+PiBHZW9yZ2U6IENvbXBpbGUgY29uZmlndXJhYmlsaXR5IGRvZXNu J3QgaGVscCB3aXRoIGRpc3Ryb3MKPj4KPj4gS29ucmFkOiBQVkgvSFZNTGl0ZSBkb2VzIG5vdCB1 c2UgUUVNVSAob3Igb25seSBhcyBhIGJhY2spCj4+Cj4+IExhcnM6IElmIHdlIGhhZCBhIHByb3Bv c2FsLCB3b3JraW5nIHdpdGggSW50ZWwgYW5kIHRoZSBRRU1VIGNvbW11bml0eSwgd2UgY291bGQg ZGlzY3VzcyBhdCBYZW4gU3VtbWl0IC8gS1ZNIEZvcnVtIGlzIGNvLWxvY2F0ZWQKPj4KPj4gSmFt ZXM6IElmIHdlIGhhZCBhIGZ1dHVyZSB3aXRoIE9WTUYsIHRoZW4gd2UgcHJvYmFibHkgd291bGRu J3QgbmVlZCBRRU1VIChha2EgaWYgeW91IHdhbnQgc2VjdXJpdHkgdXNlIFBWSCB3aXRoIE9WTUYp Cj4+IEphbWVzOiBQcm9wb3NhbCBmb3Igc2VjdXJpdHkgY29uc2Npb3VzIGFwcGxpY2F0aW9ucyB3 ZSBjb3VsZCBmb3JrIGFuZCB1c2UgYSBzdHViYmVkIG91dCB2ZXJzaW9uIG9mIFFFTVUKPj4KPj4g T3B0aW9uczoKPj4gLSBLQ29uZmlnCj4+IC0gUnVuLXRpbWUgZGlzYWJsZW1lbnQKPj4gLSBYZW4g U3VtbWl0IC8gS1ZNIEZvcnVtCj4+IC0gSW50ZWwgd29yayAvIGNvbGxhYm9yYXRpb24KPj4gLSBQ SVgzID4gOTM1Cj4+IC0gT1ZNRgo+PiAtIFJlbW92ZSB4bC5jZmcgKHN0b3AgY29uZmlncyAtIGlu IGZhY3Qgd2UgcHJvYmFibHkgb25seSBjYW4gcHJpbnQgYSB3YXJuaW5nICJ0aGlzIGlzIG5vdCBz ZWN1cmUgYW5kIGhhcyBubyBzZWN1cml0eSBzdXBwb3J0IiBvciBzb21ldGhpbmcgc2ltaWxhcikK Pj4KPj4gRG91ZzogSXNzdWUKPj4gLSBGb3IgZXhhbXBsZSBPcmFjbGUgY291bGQgZGVhbCB3aXRo IENvbmZpZwo+PiAtIEJVVCwgdGhpcyBhcHByb2FjaCB3b24ndCB3b3JrIGZvciBkaXN0cm9zCj4+ Cj4+IEFDVElPTjogS29ucmFkIGlzIHZvbHVudGVlcmluZyB0byBkcml2ZSB0aGlzIGRpc2N1c3Np b24KPj4KPj4gPT09IERlLXByaXZpbGlnZSBRZW11ID09PQo+PiBLb25yYWQ6IFdoYXQncyB0aGUg c3RhdHVzCj4+IFN0ZWZhbm86IG5vdCBkb25lLCB5b3UgbmVlZAo+PiAtIFFFTVUgYXMgbm9uLXJv b3QgKHRoYXQgaXMgaW4gNC43IGFuZCBRRU1VIHBhcnQgaXMgdGhlcmUpCj4+IC0gTm93IHlvdSBz dGlsbCBoYXZlIGEgbGlieGMgYW5kIHhlbnN0b3JlIGludGVyZmFjZSB0aGF0IG5lZWRzIHRvIGJl IGRlLXByaXZpbGlnZWQKPj4gICAgLSBUaGVyZSBpcyBhIHBhdGNoIGZvciBRRU1JIGFuZCB4ZW5z dG9yZSB0byBkZWFsIHdpdGggdGhlIGxpYnhjIHBhcnQgKG5vdCB1cHN0cmVhbWVkKSAuLi4gcHJl dHR5IGJpZyBzZXJpZXMsIGJ1dCB3b24ndCBtYWtlIGl0IGZvciA0LjcgLSBRRU1VIHBhcnQgaXMg dGlueQo+PiAgICAtIExpYnhjIGlzIHNpemVhYmxlIChJYW4gQ2FtcGJlbGwgd2FzIHdvcmtpbmcg b24gaXQpLCBidXQgaXQgaXMgbm93IGRvcm1hbnQgOiBRRU1VIHN1cHBvcnQgaXMgdGhlcmUsIGJ1 dCBEb20wIGludGVyZmFjZSBpcyBtaXNzaW5nCj4+ICAgICAgLSBJZGVhczogRG8gcmVnaXN0cmF0 aW9uIGluIERvbTAKPj4gW0dlb3JnZSBoYXMgc29tZSBhZGRpdGlvbmFsIG5vdGVzXQo+Pgo+PiBJ U1NVRTogQSBwcm9wb3NhbCBhbmQgYSBwbGFuLCBidXQgbm9ib2R5IHRvIGRvIHRoaXMuIFdpdGhv dXQgdGhpcyB3aGF0IHdlIGhhdmUgaXMgbm90IHVzZWZ1bAo+PiBBbmRyZXc6IFhlblNlcnZlciBz dGlsbCB1c2luZyBxZW11LXRyYWQgYmVjYXVzZSBvZiBzb21lIGdhcHMgaW4gZW11LXVwc3RyZWFt Cj4+IEFuZHJldzogWFMgbWF5IGVuZCB1cCB3b3JraW5nIG9uIHRoaXMgYXQgc29tZSB1bmRlZmlu ZWQgcG9pbnQgaW4gdGhlIGZ1dHVyZQo+Pgo+PiBUaGVyZSBpcyBhIHByb2JsZW0gd2l0aCB1c2lu ZyBDRCBkcml2ZSdzIHRvIG9wZW4gSVNPcyBhcyB5b3UgbmVlZCB0byBiZSBwcml2aWxlZ2VkIHRv IGRvIHRoaXMKPj4gQW5keSBDb29wZXI6IHRoZXJlIG1heSBiZSByZWFsIGVuZC11c2VyIGlzc3Vl cwo+PiBTdGVmYW5vOiBDb3VsZCBjaGFuZ2Ugb3duZXJzaGlwCj4+IERvdWc6IElzc3VlIHdhcyB0 cmllZCB0byBiZSBmaXhlZCBpbiBsaWJ2aXJ0IGFuZCB3ZW50IG5vd2hlcmUKPj4gQW5keTogUWVt dS10cmFkIGRvZXMgaXQgd3JvbmcgKFFFTVUgaW4gbGlieGVubGlnaHQgZG9lcyBub3QgZG8gdGhh dCkKPj4KPj4gQUNUSU9OOiBIaWdoO3JpZ2h0IGxhY2sgb2Ygb3duZXIKPj4KPj4gS29ucmFkOiBT ZWNjb21wIG1heSB3b3JrCj4+IERvdWc6IGV2ZXJ5dGhpbmcgaGFzIHRvIGJlIHBhc3NlZCBhcyBm aWxlIGRlc2NyaXB0b3IKPj4KPj4gPT09IE5hcnJvd2VyIFhTQSBDb3ZlcmFnZSA9PT0KPj4gSmFu OiBYU0EgNzcgKHdoaXRlbGlzdGVkIGEgc2V0IG9mIGRvbSBjb250cm9sIGFuZCBzeXMgY29udHJv bCkgd2hpY2ggYXJlIHN1cHBvc2VkbHkgLi4uIGh0dHA6Ly94ZW5iaXRzLnhlbi5vcmcveHNhL2Fk dmlzb3J5LTc3Lmh0bWwKPj4gICAgICAgU2VlIGh0dHA6Ly94ZW5iaXRzLnhlbi5vcmcvZG9jcy91 bnN0YWJsZS9taXNjL3hzbS1mbGFzay50eHQgKFNlY3VyaXR5IFN0YXR1cyBvZiBkb20wIGRpc2Fn Z3JlZ2F0aW9uKQo+PiBKYW46IFdobyBydW5zIHRoaXMgaW4gcHJvZHVjdGlvbjogcnVubmluZyBw YXJ0IG9mIHRvb2xzdGFjayBub3QgaW4gRG9tMCAtIE9wZW5YVCB3YW50cyB0byBkbyB0aGlzCj4+ IEphbjogVGhlIG9ic2VydmF0aW9uIGlzIHRoYXQgd2Ugd2VudCB0byBmYXIgd2l0aCB0aGUgWFNB IDc3ID0+IGlmIHdlIGhhZCBhIHNob3J0ZXIgd2hpdGVsaXN0LCBhbmQgcmVkdWNlIHdoaXRlbGlz dAo+PiBKYW46IElmIHRoZXJlIHdhcyBhZ3JlZW1lbnQsIHRoZW4gdGhlIHNlY3VyaXR5IHRlYW0K Pj4gICB3b3VsZCBub3QgaGFuZGxlIGlzc3VlcyBpbiB0aGVzZSBhcmVhcyBhcyBYU0Encwo+Pgo+ PiBSb3NzIFBoaWxsaXBzb246IFR5cGljIGFsbHkgd2UgaGF2ZSBvbmx5IGhpZ2hlciBsZXZlbCBz dHVmZiBpbiBhIGRpZmZlcmVudCB4bCwgYnV0IGxvd2VyIGxldmVsIHN0dWZmIHJ1bnMgb24gRG9t MC4gU28gdGhlcmUgc2hvdWxkIGJlIG5vIGlzc3VlCj4+Cj4+IEdlb3JnZTogUUVNVSBzdHViIGRv bWFpbnMgc2hvdWxkIGhhdmUgc2VjdXJpdHkgc3VwcG9ydAo+PiBHZW9yZ2U6IFRoZXJlIGFyZSBh IHdob2xlIHNldCBvZiBvdGhlciB0aGluZ3MsIHdoaWNoIHdlIGRvbid0IGtub3cgd2hldGhlciB0 aGV5IGFyZSB1c2VkCj4+IEdlb3JnZTogRG8gd2Ugd2FudCB0byBzZWN1cml0eSBzdXBwb3J0IG9m IGRpc2FnZ3JlZ2F0ZWQgdG9vbHMtc3R1Ygo+Pgo+PiBBZ3JlZWQ6IFByb3Bvc2UgcGF0Y2ggdG8g Y2hhbmdlIGh0dHA6Ly94ZW5iaXRzLnhlbi5vcmcvZG9jcy91bnN0YWJsZS9taXNjL3hzbS1mbGFz ay50eHQgb24gdGhlIGxpc3QKPj4gSmFuOiBXZSBjYW4gb25seSBkaXNjdXNzIGluIHB1YmxpYyBp ZiBubyBpc3N1ZXMgYXJlIHBlbmRpbmcKPj4gQ2M6IENocmlzdG9waGVyIENsYXJrIDxjaHJpc3Rv cGhlci53LmNsYXJrQGdtYWlsLmNvbT4sIFJvc3MgUGhpbGlwc29uIDxyb3NzLnBoaWxpcHNvbkBn bWFpbC5jb20+LCBEYW5pZWwgU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+Cj4+ IENDIHRoZSBmb2xrcyBvbiB0aGlzIHRocmVhZCBvciBvcGVueHRAZ29vZ2xlZ3JvdXBzLmNvbSAo T3BlblhUIG1haWxpbmcgbGlzdCkKPj4KPj4gPT09IHg4NiBFbXVsYXRpb24gZGUtcHJpdmlsaWdl ID09PQo+PiBBbnRob255IGlzIHdvcmtpbmcgb24gaXQKPj4gU3RlZmFubzogSSB0aGluayB5b3Ug aGFkIHNvbWUgbWVhc3VyZW1lbnRzCj4+IEFudGhvbnk6IE1lYXN1cmVtZW50cyB3ZXJlIG5vdCB2 ZXJ5IGdvb2QKPj4gQW5kcmV3OiBJZiB5b3UgYXJlIGludHJvc3BlY3RpbmcsIHlvdSBzYWNyaWZp Y2UgNzAlIHBlcmZvcm1hbmNlCj4+IEFuZHJldzogUGF0Y2hlcyB3ZXJlIHZlcnkgY29tcGxpY2F0 ZWQKPj4gQW5kcmV3OiBSZS13cml0aW5nIHRoZSBlbXVsYXRvciB3b3VsZCBvbmx5IGZpeCB0aGUg b3V0Ym91bmQgcGF0aAo+PiBTdGVmYW5vOiBSaXNrIHdvdWxkIHByb2JhYmx5IGdvIGZyb20gSGln aC9Dcml0aWNhbCB0byBMb3cgaW4gdGVybXMgb2YgaW1wYWN0IGJ1dCBub3QgcmVtb3ZlIHRoZSBp c3N1ZXMKPj4gSmFuOiBUaGUgaXNzdWUgaXMgcmVhbGx5IHdpdGggaW4tZ3Vlc3Qgc2VjdXJpdHkg aXNzdWVzCj4+IERvdWc6IENvdWxkIHdlIGxvb2sgYXQgUUVNVSBlbXVsYXRvcgo+PiBBbmRyZXc6 IERpZCB0aGlzLCBidXQgZG9lcyBub3Qgc2VlbSBhIGdvb2QgZW5vdWdoIGJhc2VsaW5lCj4+IEph bWVzOiBIYXZlIGEgc2V0IG9mIHBhdGNoZXMgd2hpY2ggbWF5IGZpeCB0aGlzIGlzc3VlCj4+IEph bjogV291bGQgc3RpbGwgbm90IGZpeCBpbi1ndWVzdCBzZWN1cml0eSBpc3N1ZXMKPj4gQW5kcmV3 OiBSZWR1Y2VzIHRoZSBzZXZlcml0eSBvZiBYU0FzCj4+Cj4+IEtvbnJhZDogV2Ugc3RpbGwgd2Fu dCB0aGlzPwo+PiBKYW46IElmIGl0IGlzIGRvYWJsZSwgdGhlbiB5ZXMgLi4uCj4+IEFuZHJldzog SHVnZSBhbW91bnQgb2YgZXh0cmEgc2V0LXVwIGluIEhWCj4+Cj4+IEFDVElPTjogSmFtZXMgdG8g c2VudCBwYXRjaGVzIGFzIFJGQyB0byB4ZW4tZGV2ZWxACj4+Cj4+IEphbjogVGhlIHJlYWwgaXNz dWUgaXMgdGhlIHF1YWxpdHkgYW5kIG1haW50YWluYWJpbGl0eSBvZiBlbXVsYXRvciBjb2RlCj4+ IEtvbnJhZDogVHdvIHBhdGhzIC0gZW11bGF0b3IgY29kZSBtb3JlIHJvYnVzdCBvciBkZS1wcml2 aWxlZ2UgZW11bGF0b3IKPj4KPj4KPj4gPT09IHgtU3BsaWNlID09PQo+PiBLb25yYWQ6IEF0IHNv bWUgcG9pbnQsIHdlIGNhbiBwcm92aWRlIGNhdGNoZXMgZm9yIHdoaWNoIHdlIGNhbiBjcmVhdGUg cGF5bG9hZHMKPj4gS29ucmFkOiBUaGVyZSBhcmUgYXJlYXMgd2hpY2ggYXJlIGRpZmZpY3VsdCB0 byBkbywgc3VjaCBhcyBwYXRjaGluZyBkYXRhCj4+IEtvbnJhZDogUXVlc3Rpb25zIC0gaWYgd2Ug aGFkIHhTcGxpY2UgLSBzaG91bGQgd2UgcHVibGlzaCBwYXRjaGVzIHRvIGdlbmVyYXRlIHRoZSAi cGF5bG9hZCIgYW5kIGFzIHdlIGhhdmUgaW4gdGhlIHBhc3QKPj4KPj4gQW5kcmV3OiBiZWxpZXZl cyB0aGF0IHRoZXJlIGFyZSBvbmx5IGEgc21hbGwgbnVtYmVyIG9mIFhTQSdzIHRoYXQgY291bGQg bm90IGVhc2lseSBiZSBjaGFuZ2VkIGludG8gcGF5bG9hZHMKPj4KPj4gQWdyZWVtZW50OiBkbyB0 aGlzIGFzIGEgYmVzdC1lZmZvcnQKPj4KPj4gSmFtZXM6IEFza3Mgd2hldGhlciBjaGFpbmluZyBw YXRjaGVzIGlzIGFuIGlzc3VlCj4+IEtvbnJhZDogTm8gaXNzdWVzLCBidXQgeW91IHNob3VsZCBk ZXBsb3kgYmluYXJ5IHBhdGNoZXMgLi4uCj4+Cj4+IEtvbnJhZDogQ2FuIHlvdSBkZXBsb3kKPj4g SmFuOiBTYW1lIGFzIHdpdGggZGVwbG95aW5nIGJpbmFyaWVzCj4+IExhcnM6IENvdWxkIGp1c3Qg Y2hhbmdlIHRoZSBib2lsZXJwbGF0ZQo+Pgo+PiBSb3NzOiBJcyB0aGVyZSBhIHdheSB0byBlbmNv ZGUgZGVwZW5kZW5jaWVzCj4+IEtvbnJhZDogWWVzCj4+Cj4+ID09PSBFbmFibGluZyBYU00gQnkg ZGVmYXVsdCA9PT0KPj4gQW5kcmV3OiBUaGVyZSBhcmUgc29tZSBpc3N1ZXMgd2hpY2ggd2UgbmVl ZCB0byB3b3JrIHRocm91Z2g7IGEgbG90IG9mIGxpdHRsZSBwYXBlciBjdXRzCj4+IFJpY2g6IENv dWxkIHdlIGNyZWF0ZSBhIGxpc3Qgb2YgaXNzdWVzIG9uIHRoZSB3aWtpPwo+PiBMYXJzOiBEZWZp bml0ZWx5Cj4+IERvdWc6IENvdWxkIHdlIG5vdCBoYXZlIGEgcG9saWN5IHdoaWNoIGlzIGVxdWl2 YWxlbnQgdG8gWFNNIGJlaW5nIGNvbXBpbGVkIG91dAo+PiBBbmRyZXc6IENvdWxkIG1ha2UgcG9s aWN5IG1vcmUgbW9kdWxhciBpbnN0ZWFkIG9mIG9uZSBiaWcgZ2xvYmFsIHBvbGljeQo+Pgo+PiBS ZS1hcHBseSBwb2xpY3kgb2YgZ3Vlc3QgYWZ0ZXIgcnVubmluZwo+Pgo+PiBBQ1RJT046IE5lZWQg YSB3aWtpIHBhZ2UsIEtvbnJhZCBjYW4gc3RhcnQgb25lIGFuZCB3ZSBjYW4gY29sbGFib3JhdGl2 ZWx5IGZsZXNoIGl0IG91dAo+PiBMYXJzOiBTZWUgaHR0cDovL3dpa2kueGVucHJvamVjdC5vcmcv d2lraS9YU01Bc0RlZmF1bHRfVE9ET19MaXN0Cj4+Cj4+IEFDVElPTjogS29ucmFkIGFuZCBvdGhl cnMgdG8gYWRkIGRldGFpbCB0byBpdAo+Pgo+Pgo+IEl0IHdhcyBwb2ludGVkIG91dCB0byBtZSB0 aGF0IEkgZGlkIG5vdCBnZXQgbXkgY29tbWVudHMgYWJvdXQgWFNNIGFjcm9zcwo+IGNsZWFybHku IEkgYmVsaWV2ZSB3ZSBuZWVkIHRvIGltcHJvdmUgdGhlIGRlZmF1bHQgcG9saWN5IHRvIGJlCj4g ZXF1aXZhbGVudCB0byBkaXNhYmxpbmcgWFNNIGFuZC9vciBjcmVhdGUgYSBwb2xpY3kgY2FsbGVk ICJkdW1teSIgdGhhdAo+IGlzIHRoZSBzYW1lIGFzIFhTTSBkaXNhYmxlZC4gVG8gbWFrZSBYU00g dXNhZ2UgbW9yZSBzbW9vdGggSSBwcm9wb3NlIHdlCj4gYmFrZSB0aGUgZGVmYXVsdCBwb2xpY3kg aW50byAuaW5pdGRhdGEgc28gdGhhdCB3aGVuIHlvdSBib290IFhlbgo+IGNvbXBpbGVkIHdpdGgg WFNNIHlvdSBhcmUgbm8gd29yc2Ugb2ZmIHRoYW4gY29tcGlsaW5nIFhTTSBvdXQuCj4KPiBUaGUg cmF0aW9uYWxlIGhlcmUgaXMgdGhhdCBwcmlvciB0byBhIHJlY2VudCBjb21taXQgd2hlbiB5b3Ug Y29tcGlsZWQKPiBYZW4gd2l0aCBYU00gZW5hYmxlZCBidXQgZGlkIG5vdCBwcm92aWRlIGEgZGVm YXVsdCBwb2xpY3kgdGhlbiBhbnkgZG9tVXMKPiB0aGF0IHlvdSByYW4gaGFkIGFzIG11Y2ggYWNj ZXNzIGFzIGRvbTAuIFRoZSByZWNlbnQgY29tbWl0IGNoYW5nZWQgaXQgc28KPiB0aGF0IFhlbiBi eSBkZWZhdWx0IGRvZXMgbm90IGJvb3Qgd2l0aG91dCBhIHBvbGljeS4KPgo+IFdpdGggbXkgcHJv cG9zZWQgY2hhbmdlIHdlIHdvdWxkIGhhdmUgImR1bW15IiB0aGF0IHdvdWxkIGNvbXBpbGUgaW4g YW5kCj4gaWYgeW91IHByb3ZpZGVkIGFub3RoZXIgcG9saWN5IGl0IHdvdWxkIGJlIHVzZWQgaW5z dGVhZCBvciB5b3UgY291bGQKPiBsYXRlIGxvYWQgYSByZXBsYWNlbWVudCBwb2xpY3kuIEJhc2lj YWxseSBmaWxsaW5nIHRoZSBnYXAgb2YgdHVybmluZyBvbgo+IFhTTSBhbmQgaGF2aW5nIGEgc3lz dGVtIGxlc3Mgc2VjdXJlIHRoYW4gWFNNIG9mZiB1bnRpbCB5b3UgZGV2ZWxvcGVkCj4geW91ciBw b2xpY3kuCgorMS4gIEl0IGFsc28gYXZvaWRzIG5lZWRpbmcgdG8gcGxheSBhcm91bmQgbG9hZGlu ZyBhbiBleHRyYSBmaWxlIGFzIGEgCmdydWIgbW9kdWxlLCB3aGljaCBtYWtlcyBkaXN0cm8taW50 ZWdyYXRpb24gZWFzZXIuCgp+QW5kcmV3CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=