From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: Re: [PATCH 4/7] osstest: add a FreeBSD host install recipe Date: Wed, 24 May 2017 11:48:27 +0100 Message-ID: <20170524104827.3whtdvqcs3hn4q36@MacBook-Pro-de-Roger.local> References: <20170523135148.77673-1-roger.pau@citrix.com> <20170523135148.77673-5-roger.pau@citrix.com> <22820.23930.92083.770093@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dDTqD-0002N9-GN for xen-devel@lists.xenproject.org; Wed, 24 May 2017 10:48:33 +0000 Content-Disposition: inline In-Reply-To: <22820.23930.92083.770093@mariner.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Ian Jackson Cc: xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org T24gVHVlLCBNYXkgMjMsIDIwMTcgYXQgMDU6MDQ6MTBQTSArMDEwMCwgSWFuIEphY2tzb24gd3Jv dGU6Cj4gUm9nZXIgUGF1IE1vbm5lIHdyaXRlcyAoIltQQVRDSCA0LzddIG9zc3Rlc3Q6IGFkZCBh IEZyZWVCU0QgaG9zdCBpbnN0YWxsIHJlY2lwZSIpOgo+ID4gVGhlIGluc3RhbGxhdGlvbiBpcyBw ZXJmb3JtZWQgdXNpbmcgdGhlIGJzZGluc3RhbGwgdG9vbCwgd2hpY2ggaXMKPiA+IHBhcnQgb2Yg dGhlIEZyZWVCU0QgYmFzZSBzeXN0ZW0uIFRoZSBpbnN0YWxsZXIgaW1hZ2UgaXMgc2V0dXAgd2l0 aAo+ID4gdGhlIG9zc3Rlc3Qgc3NoIGtleXMgYW5kIHNzaGQgZW5hYmxlZCBieSBkZWZhdWx0LCB3 aGljaCBhbGxvd3MgdGhlCj4gPiB0ZXN0IGhhcm5lc3MgdG8ganVzdCBzc2ggaW50byB0aGUgYm94 LCBjcmVhdGUgdGhlIGluc3RhbGwgY29uZmlnCj4gPiBmaWxlIGFuZCBsYXVuY2ggdGhlIHNjcmlw dGVkIGluc3RhbGwuCj4gCj4gVGhhbmtzLiAgSSd2ZSByZWFkIHRoaXMgaW4gc29tZSBkZXRhaWwg bm93LiAgTXkgY29tbWVudHMgZm9sbG93Lgo+IAo+ID4gSW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUg RnJlZUJTRCBpbnN0YWxsZXIgYSBuZXcgbWV0aG9kIGlzIGFkZGVkLAo+ID4gdGhhdCBhbGxvd3Mg c2V0dGluZyB0aGUgcHhlIGJvb3Qgb2YgYSBob3N0IHVzaW5nIGEgbWVtZGlzay4gQWxzbywgYQo+ ID4gbmV3IHRmdHAgcGF0aCBpcyBhZGRlZCBpbiBvcmRlciB0byBwb2ludCB0byB0aGUgcGxhY2Ug d2hlcmUgdGhlCj4gPiBGcmVlQlNEIGluc3RhbGxlZCBpbWFnZXMgc2hvdWxkIGJlIHN0b3JlZC4K PiAKPiBDYW4geW91IHBsZWFzZSBhZGQgdG8gdGhlIGNvbW1pdCBtZXNzYWdlIGEgZGVwbG95bWVu dCBub3RlIHRoYXQgdGhlCj4gdGZ0cCByb290IG5lZWRzIHRvIGJlIHByb3ZpZGUgd2l0aCBhIGNv cHkgb2YgbWVtZGlzaywgZWcKPiAgICAvaG9tZS90ZnRwL21lbWRpc2sgLT4gL3Vzci9saWIvc3lz bGludXgvbWVtZGlzawoKRG9uZS4KCj4gPiBkaWZmIC0tZ2l0IGEvT3NzdGVzdC5wbSBiL09zc3Rl c3QucG0KPiA+IGluZGV4IGE3ODcyOGNkLi5hMGMwMzM5YyAxMDA2NDQKPiA+IC0tLSBhL09zc3Rl c3QucG0KPiA+ICsrKyBiL09zc3Rlc3QucG0KPiA+IEBAIC0yMjcsNiArMjI3LDcgQEAgc3ViIHJl YWRnbG9iYWxjb25maWcgKCkgewo+ID4gICAgICAkY3tUZnRwVG1wRGlyfSB8fD0gIiRje1RmdHBQ bGF5RGlyfXRtcC8iOwo+ID4gIAo+ID4gICAgICAkY3tUZnRwRGlCYXNlfSB8fD0gIiRje1RmdHBQ bGF5RGlyfWRlYmlhbi1pbnN0YWxsZXIiOwo+ID4gKyAgICAkY3tUZnRwRnJlZUJTREJhc2V9IHx8 PSAiJGN7VGZ0cFBsYXlEaXJ9ZnJlZWJzZC1pbnN0YWxsZXIiOwo+IAo+IFlvdSBuZWVkIHRvIGRv Y3VtZW50IHRoaXMgaW4gUkVBRE1FLgoKKG5vdCBuZWVkZWQgYW55bW9yZSBzaW5jZSB3ZSBnb3Qg cmlkIG9mIHRoaXMpLgoKPiA+ICsgICAgZm9yZWFjaCAoQHNldHMsICJNQU5JRkVTVCIpIHsKPiAK PiBJIHRoaW5rIGl0IHdvdWxkIGJlIGJldHRlciB0byBnaXZlIHRoaXMgbG9vcCBjb250cm9sIHZh cmlhYmxlIGEgbmFtZS4KPiBXaGVuIHRoZSBzY29wZSBvZiBhIHVzZSBvZiAkXyBpcyB0b28gYmln LCAkXyBoYXMgYSB0ZW5kZW5jeSB0byBnZXQKPiB0cmFzaGVkOyB0aGlzIG1ha2VzIHRoZSBjb2Rl IGZyYWdpbGUgaW4gdGhlIGZhY2Ugb2YgZnV0dXJlIGNoYW5nZXMuCgpEb25lLgoKPiAKPiA+ICsg ICAgICAgIGlmICghZGVmaW5lZCgkcnsiZnJlZWJzZF9zZXRzIn0pKSB7Cj4gPiArICAgICAgICAg ICAgIyBHZXQgZXZlcnl0aGluZyBiZWZvcmUgdGhlICIuIiAoaWU6IGdldCBiYXNlIGZyb20gYmFz ZS50eHopCj4gPiArICAgICAgICAgICAgbXkgJHN0YXNoX25hbWUgPSBsYygoc3BsaXQgL1wuLylb MF0pOwo+IAo+IElNTyB0aGF0J3Mgbm90IHZlcnkgaWRvbWF0aWMgcGVybC4gIEkgd29uJ3QgaW5z aXN0IHlvdSBjaGFuZ2UgaXQsIGJ1dAo+IG1heWJlIHRoaXMgd291bGQgYmUgYmV0dGVyCj4gCj4g ICAgICAgICAgICAgICAgbXkgJHN0YXNoX25hbWUgPSAkc2V0Owo+ICAgICAgICAgICAgICAgICRz dGFzaF9uYW1lID1+IHMvW14uXSskLy87Cj4gCj4gb3IKPiAKPiAgICAgICAgICAgICAgICAkc2V0 ID1+IG0vXlteLl0rLyBvciBkaWUgIiRzZXQgPyI7Cj4gICAgICAgICAgICAgICAgJHN0YXNoX25h bWUgPSAkJjsKPiAKPiAoRG8geW91IGludGVuZCB0byBzcGxpdCBvbiB0aGUgZmlyc3QgYC4nID8p CgpJIGRvbid0IGV4cGVjdCB0aGlzIG5hbWVzIHRvIGV2ZXIgaGF2ZSBtb3JlIHRoYW4gb25lIGRv dCwgdGhpcyBpcyBub3QKc29tZXRoaW5nIHRoYXQgY2hhbmdlcywgc28gdGhlcmUgc2hvdWxkIHJl YWxseSBiZSBvbmx5IG9uZSBkb3QgKG9yCm5vbmUgaW4gdGhlIE1BTklGRVNUIGNhc2UpLgoKSSBw cmVmZXIgdGhlIHNlY29uZCBvbmUgYmVjYXVzZSBpdCBzdHJpcHMgdGhlICIuIiwgd2hpbGUgdGhl IGZpcnN0IG9uZQpkb2Vzbid0LgoKKGFzIHlvdSBwcm9iYWJseSBhbHJlYWR5IGd1ZXNzZWQgbXkg cGVybC9yZWdleHAgaXMgbm90IHZlcnkgZ29vZCkKCj4gCj4gPiArc3ViIHNldHVwX25ldGJvb3Rf aW5zdGFsbGVyICgpIHsKPiA+ICsgICAgbXkgJHB4ZWltZyA9ICIkaG8tPntUZnRwfXtGcmVlQlNE QmFzZX0vaW5zdGFsbC0kaG8tPntOYW1lfS5pbWciOwo+IAo+IEkgdGhpbmsgdGhpcyB3b3VsZCBi ZSBiZXR0ZXIgdW5kZXIgVGZ0cFRtcERpci4gIENmIHRzLWhvc3QtaW5zdGFsbCdzCj4gcGxhY2Vt ZW50IG9mICRoby0taW5pdHJkLmd6Lgo+IAo+IE1heWJlIHdlIHdhbnQgYSBmdW5jdGlvbiB0YXJn ZXRfdGZ0cF9wcmVmaXggb3Igc29tZXRoaW5nIHdoaWNoIHJldHVybnMKPiAgICAkaG8tPntUZnRw fXtUbXBEaXJ9Ii5ob3N0bmFtZXBhdGgoJGhvKQo+ID8KClNvdW5kcyBmaW5lLCBJIGd1ZXNzIEkg d2lsbCBhZGQgdGhpcyBhcyBhIHByZS1wYXRjaCBzaW5jZSB0aGVyZSdzIGFscmVhZHkgYQpjb25z dW1lciBpbiB0cy1ob3N0LWluc3RhbGwuCgo+IEFsc28gdGhlIHNoYSBuYW1lcyBjb3VsZCBiZSBp biB7VG1wRGlyfS9mcmVlYnNkLWltYWdlcy4gIERvZXMgdGhpcywgaW4KPiBmYWN0LCBuZWVkIHRv IGJlIGNvbmZpZ3VyYWJsZSBhdCBhbGwgPyAgSSB0aGluayBwcm9iYWJseSBub3QuCgpPSywgc28g dGhlbiBJIHdpbGwganVzdCBkcm9wIEZyZWVCU0RCYXNlIGFuZCBqdXN0IHVzZQokaG8tPntUZnRw fXtUbXBEaXJ9L2ZyZWVic2QtaW1hZ2VzLiBJIGRvbid0IHRoaW5rIHRoZXJlJ3MgYSBsb3Qgb2YK dmFsdWUgaW4gaGF2ZSBpdCBpbiBhIHN0YW5kYXJkIGZvbGRlciwgc2luY2UgdGhvc2UgYXJlIGp1 c3QgcmFuZG9tCmJ1aWxkcy4gSSBndWVzcyB0aGlzIG1ha2VzIG1vcmUgc2Vuc2UgZm9yIERlYmlh biBiZWNhdXNlIHRoZXkgYXJlCmFjdHVhbCByZWxlYXNlcywgYW5kIHRodXMgY2FuIGJlIHVzZWQg Zm9yIG90aGVyIHN0dWZmIGFsc28/Cgo+ID4gKyAgICBteSAkc2NyaXB0ID0gPDxFTkQ7Cj4gPiAr c2V0IC1leAo+ID4gK2Jhc2VkaXI9JGhvLT57VGZ0cH17UGF0aH0vJGhvLT57VGZ0cH17RnJlZUJT REJhc2V9Lwo+ID4gK2hhc2g9YHNoYTI1NnN1bSAkaW1hZ2V8aGVhZCAtYyA2NGAKPiA+ICtsb2Nh bHBhdGg9IiRye2FyY2h9L1wkaGFzaC9pbnN0YWxsLmltZyI7Cj4gPiArbWtkaXIgLXAgXCRiYXNl ZGlyCj4gPiArKAo+ID4gK2Zsb2NrIC14IC13IDYwMCAyMDAKPiAKPiBJbiBvc3N0ZXN0IHdlIGdl bmVyYWxseSB1c2Ugd2l0aC1sb2NrLWV4IGZyb20gY2hpYXJrLXV0aWxzLCByYXRoZXIKPiB0aGFu IGZsb2NrIGZyb20gdXRpbC1saW51eC4gIChCb251czogaXQgc2hvdWxkIGJlIG1vcmUgcG9ydGFi bGUgZm9yIGlmCj4gc29tZW9uZSB3YW50cyB0byBydW4gYSBjb250cm9sbGVyIG9uIEJTRC4uLikK PiAKPiB3aXRoLWxvY2stZXggbmVlZHMgdG8gYmUgdXNlZCBpbiB0aGUgd3JhcHBlciB3YXkuCj4g KEFsc28sIGNhbGxpbmcgZmxvY2sgb24gYSBkaXJlY3RvcnkgaXMgcmF0aGVyIG91dHJlJy4pCgpJ IGRvbid0IGhhdmUgYW55IHByb2JsZW1zIHVzaW5nIHdpdGgtbG9jay1leCwgSSBqdXN0IGRpZG4n dCBrbm93IGl0CmV4aXN0ZWQgOikuCgo+IFlvdSd2ZSB3cml0dGVuIGFsbCB0aGlzIGluIGJhc2gg YmVjYXVzZSB5b3UgZm91bmQgaXQgdG9vIGhhcmQgb3IKPiBhbm5veWluZyBpbiBQZXJsID8gIEkg ZG9uJ3QgbXVjaCBtaW5kIHRoYXQsIGJ1dCB0aGUgZXNjYXBpbmcgaXMgYSBiaXQKPiBpcnJpdGF0 aW5nLiAgTWF5YmUgeW91IHdhbnQgdG8gcGFzcyB0aGUgc2NyaXB0IGl0cyBwYXJhbWV0ZXJzIGFz Cj4gYXJndW1lbnRzIHNvIHRoYXQgeW91IGNhbiB1c2UgPDwnRU5EJyByYXRoZXIgdGhhbiA8PEVO RCA/CgpIbSwgeWVzLCBJIHdhc24ndCByZWFsbHkgY29uZmlkZW50IG9mIHdyaXRpbmcgdGhpcyBp biBwZXJsIGFuZCBiZWluZwpzdXJlIHRoYXQgdGhlIGxvY2sgd2FzIGFsd2F5cyByZWxlYXNlZC4g SSdtIG1vcmUgY29uZmlkZW50IHdpdGggc2hlbGwuCgo+IEhvd2V2ZXIsCj4gCj4gPiArICAgIGxv Z20oIkV4ZWN1dGluZzpcbiRzY3JpcHQiKTsKPiA+ICsgICAgbXkgJHJldCA9IHN5c3RlbSgiL2Jp bi9iYXNoIC1jICckc2NyaXB0JyIpOwo+IAo+IFRoaXMgaXMgcXVpdGUgd3JvbmcuICBZb3VyIHVu cGFyc2luZyBpcyB1bnNvdW5kLiAgQW1hemluZ2x5IHlvdXIKPiBzY3JpcHQgZG9lc24ndCBjdXJy ZW50bHkgY29udGFpbiAnIHNvIHRoaXMgZG9lc24ndCBtYXR0ZXIgcmlnaHQgbm93LAo+IGJ1dCB0 aGF0IGNvdWxkIGNoYW5nZS4KPiAKPiBZb3Ugc2hvdWxkIHVzZSB0aGUgbXVsdGktYXJndW1lbnQg Zm9ybSBvZiBzeXN0ZW0oM3BlcmwpLiAgQW5kLCBvZgo+IGNvdXJzZSwgeW91IHNob3VsZCB1c2Ug T3NzdGVzdDo6c3lzdGVtX2NoZWNrZWQgd2hpY2ggZG9lcyB0aGUgZXJyb3IKPiBoYW5kbGluZyBm b3IgeW91Lgo+IAo+IFlvdSBtaWdodCB3YW50IHRvIGJ1aWxkIGEgY29tbWFuZCBpbiBhbiBhcnJh eSBAY21kLCBsaWtlIGNvcHlkaXIgaW4KPiBjci1wdWJsaXNoLWZsaWdodC1sb2dzIGRvZXMuICAo Tm90IHN1cmUgd2h5IHRoYXQgZG9lc24ndCB1c2UKPiBzeXN0ZW1fY2hlY2tlZC4uLikKCkkndmUg Y2hhbmdlZCB0aGlzIHRvIHVzZSBhbiBhcnJheSB3aXRoIGFsbCB0aGUgcGFyYW1ldGVycyBhbmQK c3lzdGVtX2NoZWNrZWQsIGl0IGxvb2tzIG11Y2ggYmV0dGVyIG5vdyBJTUhPLCB0aGFua3MuCgo+ ID4gK3N1YiBpbnN0YWxsICgpIHsKPiA+ICsgICAgbXkgJGF1dGhrZXlzID0gYXV0aG9yaXplZF9r ZXlzKCk7Cj4gPiArICAgIG15ICRrbm93bmhvc3RzID0ga25vd25faG9zdHMoKTsKPiA+ICsgICAg bXkgJHNzaGRfa2V5c191cmwgPSBjcmVhdGVfc3NoX292ZXJsYXkoKTsKPiA+ICsgICAgbXkgJGRp c2tfbmFtZXMgPSAiYWRhMCBkYTAgYWQwIjsKPiAKPiBUaGlzIHNob3VsZCBwcm9iYWJseSBiZQo+ ICAgICAgICBteSBAZGlza19uYW1lcyA9IHF3KGFkYTAgZGEwIGFkMCk7Cj4gaW4gY2FzZSBhbnlv bmUgd2FudHMgdG8gbWFuaXB1bGF0ZSBpdCBpbiBwZXJsLiAgWW91IGNhbiBzdWJzdGl0dXRlCj4g aXQgc3RyYWlnaHQgaW50byB0aGUgaGVyZSBkb2N1bWVudDsgcGVybCB3aWxsIHB1dCBpbiB0aGUg IiAiIGFnYWluLgo+IAo+ID4gKyAgICBteSAkaW5zdGFsbGVyX3NldHMgPSBqb2luKCIgIiwgQHNl dHMpOwo+ID4gKyAgICBteSAkdGFyZ2V0X3NldHMgPSAiL3RtcC9vc3N0ZXN0X3NldHMiOwo+IAo+ IEhhcmRjb2RlZCAvdG1wIGFudGlwYXR0ZXJuLiAgTWF5YmUgdGhpcyBpcyB0ZWNobmljYWxsdHkg T0sgYmVjYXVzZQo+IGl0J3MgYW4gaW5zdGFsbGVyIGVudmlyb25tZW50LCBidXQgSSB0aGluayBp dCBzZXRzIGEgdmVyeSBiYWQKPiBleGFtcGxlLiAgSXMgdGhlcmUgc29tZSBvdGhlciBwYXRoIHlv dSBjb3VsZCB1c2UgPwoKSSdtIG9wZW4gdG8gc3VnZ2VzdGlvbnMuIFdlIGNvdWxkIGFsc28gdXNl IH4vb3NzdGVzdF9zZXRzLiBJIGRvbid0CnJlYWxseSBoYXZlIGEgcHJlZmVyZW5jZS4gSSd2ZSB1 c2VkIC90bXAgYmVjYXVzZSBJIHRob3VnaCBpdCB3b3VsZCBiZQpsZXNzIGNvbnRyb3ZlcnNpYWwu Cgo+ID4gKyAgICB0YXJnZXRfY21kX3Jvb3QoJGhvLCAnY2hzaCAtcyAvYmluL3NoJywgMTApOwo+ IAo+ICEhICBXaGF0J3MgdGhlIGRlZmF1bHQgPwoKY3NoLgoKPiA+ICtmb3IgZGlzayBpbiAkZGlz a19uYW1lczsgZG8KPiA+ICsgICAgaWYgWyAtYyAiL2Rldi9cJGRpc2siIF07IHRoZW4KPiA+ICsg ICAgICAgIGVjaG8gXCRkaXNrCj4gPiArICAgICAgICBleGl0IDAKPiA+ICsgICAgZmkKPiA+ICtk b25lCj4gPiArZXhpdCAxCj4gPiArRU5ECj4gPiArICAgIGRlZmluZWQoJGRpc2spIG9yIGRpZSAi VW5hYmxlIHRvIGZpbmQgYSB2YWxpZCBkaXNrIjsKPiA+ICsgICAgbG9nbSgiVXNpbmcgJGRpc2sg YXMgZGVzdGluYXRpb24gZGlzayBkZXZpY2UiKTsKPiAKPiBJIGhhdmUgZm91bmQgdGhhdCBvbiBz b21lIGhvc3RzLCB3aGVuIGluc3RhbGxpbmcgRGViaWFuIEdOVS9MaW51eCwgSQo+IGhhdmUgdG8g ZXhwZWN0IGEgbm9uc3RhbmRhcmQgZGlzayBuYW1lLiAgQ3VycmVudGx5IGluIHRoZSBEQiBJIGNh bgo+IG9ubHkgZmluZCB0aGlzCj4gICAgaHlkcmF6aW5lICAgICAgICAgIGRpc2stZGV2aWNlICAg ICAgICAgICAgICAgICAgICAvZGV2L2NjaXNzL2MwZDAKPiAoaW4gQ2FtYnJpZGdlOyByZWZlcnJp bmcgdG8gYSBnb25lLWF3YXkgbWFjaGluZTsgTkIgdGhhdCB0aGUgcHJvcGVydHkKPiBuYW1lIGlz IGluIHRoZSBvYnNvbGV0ZSBjb250YWluaW5nLXNwYWNlcyBzeW50YXggYW5kIGlzIGVxdWl2YWxl bnQgdG8KPiBEaXNrRGV2aWNlLikKPiAKPiBJIHRoaW5rIHlvdSBtYXkgd2FudCB0byBjaGVjayBh IGhvc3QgcHJvcGVydHkuICBJdCBzaG91bGQgcHJvYmFibHkgYmUKPiBjYWxsZWQgRnJlZWJzZF9E aXNrRGV2aWNlIG9yIHNvbWV0aGluZy4gIChXZWlyZCBjYXBpdGFsaXNhdGlvbiByZXF1aXJlZAo+ IGJ5IHRoZSB3b3JkIHNwbGl0dGluZyBuYW1lIHRyYW5zZm9ybWF0aW9uIHJ1bGVzIGZvciBob3N0 IHByb3BlcnRpZXNzLikKClllcywgSSBjYW4gZG8gdGhhdCwgYnV0IHdlIHdvdWxkIGhhdmUgdG8g ZmlsbCB0aGUgREIgbWFudWFsbHkuIFdvdWxkCnlvdSBiZSBPSyB3aXRoIGxlYXZpbmcgdGhpcyBh cy1pcyBpbiB0aGlzIHBhdGNoIGFuZCBtZSBhZGRpbmcgdGhlCnByb3BlcnR5IGZldGNoaW5nIGxh dGVyIG9uPwoKPiA+ICsgICAgbG9nbSgiVHJ5aW5nIHRvIGZpZ3VyZSBvdXQgcHJpbWFyeSBuaWMg ZGV2aWNlIG5hbWUiKTsKPiA+ICsgICAgJG5pYyA9IHRhcmdldF9jbWRfb3V0cHV0X3Jvb3QoJGhv LCA8PEVORCwgMzApOwo+ID4gK25pY3M9YGlmY29uZmlnIC1sYAo+ID4gK2ZvciBuaWMgaW4gXCRu aWNzOyBkbwo+ID4gKyAgICBhZGRyPWBpZmNvbmZpZyBcJG5pYyBpbmV0fGdyZXAgaW5ldHxhd2sg eydwcmludCBcJDInfWAKPiA+ICsgICAgaWYgWyAiXCRhZGRyIiA9ICIkaG8tPntJcH0iIF07IHRo ZW4KPiA+ICsgICAgICAgIGVjaG8gXCRuaWMKPiA+ICsgICAgICAgIGV4aXQgMAo+ID4gKyAgICBm aQo+ID4gK2RvbmUKPiA+ICtleGl0IDEKPiAKPiBJIGhhdmUgcXVpdGUgYSBsb3Qgb2YgdGhpcyBr aW5kIG9mIHRoaW5nOgo+IAo+ICAgZ2FsbC1taXRlICAgICAgICAgICAnaW50ZXJmYWNlIGZvcmNl JyAgICAgICAgICAgICAgZXRoMAo+ICAgaXRjaC1taXRlICAgICAgICAgICAnaW50ZXJmYWNlIGZv cmNlJyAgICAgICAgICAgICAgZXRoMAo+ICAgZ3JhaW4td2VldmlsICAgICAgICAnaW50ZXJmYWNl IGZvcmNlJyAgICAgICAgICAgICAgZXRoMQo+ICAgcmljZS13ZWV2aWwgICAgICAgICAnaW50ZXJm YWNlIGZvcmNlJyAgICAgICAgICAgICAgZXRoMQo+ICAgYXJuZGFsZS1ibHVld2F0ZXIgICBJbnRl cmZhY2VfRm9yY2UgICAgICAgICAgICAgICAgZXRoMAo+ICAgYXJuZGFsZS1sYWtlc2lkZSAgICBJ bnRlcmZhY2VfRm9yY2UgICAgICAgICAgICAgICAgZXRoMAo+ICAgYXJuZGFsZS1tZXRyb2NlbnRy ZSBJbnRlcmZhY2VfRm9yY2UgICAgICAgICAgICAgICAgZXRoMAo+ICAgYXJuZGFsZS13ZXN0Zmll bGQgICBJbnRlcmZhY2VfRm9yY2UgICAgICAgICAgICAgICAgZXRoMAo+IAo+IFRoaXMgbWF5IG5v dCBiZSBuZWVkZWQgZm9yIEZyZWVCU0QsIGJ1dCBJIHRob3VnaHQgSSB3b3VsZCBtZW50aW9uIGl0 Lgo+IAo+IFdoYXQgd291bGQgaGFwcGVuIGlmIHlvdSB0cmllZCB0byBydW4gdGhpcyBzZXR1cCBv biBhIGhvc3Qgd2hlcmUKPiBGcmVlQlNEJ3MgaWRlYSBvZiB0aGUgZmlyc3QgbmV0d29yayBpbnRl cmZhY2UgaXMgbm90IHRoZSBvbmUgd2hpY2gKPiBvc3N0ZXN0IGRpZCB0aGUgaW5zdGFsbCBvbiA/ CgpGcmVlQlNEIGRvZXNuJ3QgcmVhbGx5IGhhdmUgYW4gaWRlYSBvZiB0aGUgZmlyc3QgbmV0d29y ayBpbnRlcmZhY2UKKHVubGVzcyB5b3UgY291bnQgdGhlIG9yZGVyIGluIHRoZSBvdXRwdXQgZnJv bSBpZmNvbmZpZyAtbCkuCgpBbHNvLCBvbiBGcmVlQlNEIGVhY2ggZHJpdmVyIGhhcyBpdCdzIG93 biBkZXZpY2UsIHdpdGggZGlmZmVyZW50IG5hbWUsCmllOiB0aGVyZSBhcmUgZW0wLCBlbTEsIGJn ZTAsIGJjZTAuLi4gaW50ZXJmYWNlcy4gV2UgY291bGQgYWRkCmEgaG9zdCBwcm9wZXJ0eSBsaWtl IEZyZWVic2RfTmljRGV2aWNlLCBidXQgdGhpcyBmYWxsYmFjayBzaG91bGQgc3RheQppbiBjYXNl IHRoZSBwYXJhbWV0ZXIgaXMgbm90IGRlZmluZWQ/Cgo+IElJUkMgdGhlcmUgaXMgYSB3YXkgZm9y IHB4ZWxpbnV4IHRvIHBhc3MgdGhlIE5JQyBNQUMgYWRkcmVzcyB0byB0aGUgT1MKPiBpdCBpcyBy dW5uaW5nLiAgQWxzbywgdGhlIGhvc3QgZGF0YWJhc2UgY29udGFpbnMgdGhlIE1BQyBhZGRyZXNz IG9mCj4gdGhlIGhvc3QgKGFuZCB0aGlzIGlzIGdlbmVyYWxseSBuZWNlc3NhcnkgZm9yIG9zc3Rl c3QgdG8gd29yayBldmVuIGluCj4gc3RhbmRhbG9uZSBtb2RlIEkgdGhpbmspLCBzbyB5b3UgbWln aHQgdXNlIHRoYXQgcmF0aGVyIHRoYW4gdGhlIElQCj4gYWRkcmVzcyA/CgpUaGlzIGlzIG5vdCBz dWl0YWJsZSBpbiB0aGlzIGNhc2UgYmVjYXVzZSBmcm9tIEZyZWVCU0QgaW5zdGFsbGVyIFBvVgpp dCBoYXMgYmVlbiBib290ZWQgZnJvbSBhIGRpc2sgKGJlY2F1c2UgbWVtZGlzayBpcyB1c2VkKSwg c28gbm9uZSBvZgp0aGUgUFhFIHZhcmlhYmxlcyBhcmUgcHJvcGFnYXRlZC4KCj4gPiArICAgIGZv cmVhY2ggKGdldF9zZXRzX3BhdGgoKSkgewo+ID4gKyAgICAgICAgdGFyZ2V0X3B1dGZpbGVfcm9v dCgkaG8sIDYwMCwgJF8tPntwYXRofSwgIiR0YXJnZXRfc2V0cy8kXy0+e25hbWV9Igo+ICk7Cj4g Cj4gTmVlZHMgbGluZXdyYXAuCj4gCj4gPiArICAgIGxvZ20oIkNyZWF0aW5nIHRoZSBpbnN0YWxs ZXIgc2NyaXB0Iik7Cj4gPiArICAgIHRhcmdldF9jbWRfcm9vdCgkaG8sIDw8RU5ELCA2MCk7Cj4g PiArICAgICAgICBzZXQgLWUKPiA+ICsgICAgICAgIGNhdCA8PCBFTkRTQ1JJUFQgPiBpbnN0YWxs c2NyaXB0Cj4gCj4gT0ssIG15IGJyYWluIGlzIGZ1bGx5IGJlbnQgbm93LiAgQ2FuIHdlIG5vdCBj cmVhdGUgaW5zdGFsbHNjcmlwdCBvbgo+IHRoZSBjb250cm9sbGVyIGFuZCB0cmFuc2ZlciBpdCB3 aXRoIHRhcmdldF9wdXRmaWxlY29udGVudHNfcm9vdF9zdGFzaCA/Cj4gVGhhdCB3YXkgdGhlIGxv Z3Mgd291bGQgY29udGFpbiBhIGNvcHksIHRvby4KClllcywgdGhhdCdzIG11Y2ggYmV0dGVyLCB0 aGFua3MhCgo+ID4gKyMgU2V0dXAgc2VyaWFsIGNvbnNvbGUKPiA+ICtwcmludGYgIiVzIiAiLWgg LVMkY3tCYXVkfSIgPj4gL2Jvb3QuY29uZmlnCj4gPiArY2F0IDw8IEVOREJPT1QgPj4gL2Jvb3Qv bG9hZGVyLmNvbmYKPiA+ICtib290X3NlcmlhbD0iWUVTIgo+ID4gK2NvbWNvbnNvbGVfc3BlZWQ9 IiRje0JhdWR9Igo+ID4gK2NvbnNvbGU9ImNvbWNvbnNvbGUiCj4gPiArYm9vdF92ZXJib3NlPSJZ RVMiCj4gPiArYmVhc3RpZV9kaXNhYmxlPSJZRVMiCj4gPiArRU5EQk9PVAo+IAo+IFdoZXJlIGRv ZXMgdGhlIGluc3RhbGxlcidzIG91dHB1dCBnbyA/ICBJZSwgZG9lcyBib290aW5nIHRoZSBpbnN0 YWxsZXIKPiBpbWFnZSBwcm9kdWNlIHNlcmlhbCBsb2cgb3V0cHV0ID8KClllcywgdGhlIGluc3Rh bGxlciBpbWFnZSBpcyBidWlsdCB3aXRoIHNlcmlhbCBvdXRwdXQgYWxyZWFkeS4KClRoZSBvdXRw dXQgb2YgdGhlIGluc3RhbGxlciBpdHNlbGYgKGJzZGluc3RhbGwpIGdvZXMgdG8gdGhlIGpvYiBs b2cKZmlsZS4KClRoYW5rcywgUm9nZXIuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK