From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH 4/7] osstest: add a FreeBSD host install recipe Date: Tue, 23 May 2017 14:51:45 +0100 Message-ID: <20170523135148.77673-5-roger.pau@citrix.com> References: <20170523135148.77673-1-roger.pau@citrix.com> 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 1dDAEM-0001Hz-6e for xen-devel@lists.xenproject.org; Tue, 23 May 2017 13:52:10 +0000 In-Reply-To: <20170523135148.77673-1-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org, Ian.Jackson@eu.citrix.com Cc: Roger Pau Monne List-Id: xen-devel@lists.xenproject.org VGhlIGluc3RhbGxhdGlvbiBpcyBwZXJmb3JtZWQgdXNpbmcgdGhlIGJzZGluc3RhbGwgdG9vbCwg d2hpY2ggaXMgcGFydCBvZiB0aGUKRnJlZUJTRCBiYXNlIHN5c3RlbS4gVGhlIGluc3RhbGxlciBp bWFnZSBpcyBzZXR1cCB3aXRoIHRoZSBvc3N0ZXN0IHNzaCBrZXlzIGFuZApzc2hkIGVuYWJsZWQg YnkgZGVmYXVsdCwgd2hpY2ggYWxsb3dzIHRoZSB0ZXN0IGhhcm5lc3MgdG8ganVzdCBzc2ggaW50 byB0aGUKYm94LCBjcmVhdGUgdGhlIGluc3RhbGwgY29uZmlnIGZpbGUgYW5kIGxhdW5jaCB0aGUg c2NyaXB0ZWQgaW5zdGFsbC4KCkN1cnJlbnRseSB0aGUgaW5zdGFsbGF0aW9uIGlzIGRvbmUgd2l0 aCBaRlMgb25seSwgaW4gc3RyaXBlIG1vZGUsIGFuZCBhIHNpbmdsZQpkaXNrLgoKSW4gb3JkZXIg dG8gc3VwcG9ydCB0aGUgRnJlZUJTRCBpbnN0YWxsZXIgYSBuZXcgbWV0aG9kIGlzIGFkZGVkLCB0 aGF0IGFsbG93cwpzZXR0aW5nIHRoZSBweGUgYm9vdCBvZiBhIGhvc3QgdXNpbmcgYSBtZW1kaXNr LiBBbHNvLCBhIG5ldyB0ZnRwIHBhdGggaXMgYWRkZWQKaW4gb3JkZXIgdG8gcG9pbnQgdG8gdGhl IHBsYWNlIHdoZXJlIHRoZSBGcmVlQlNEIGluc3RhbGxlZCBpbWFnZXMgc2hvdWxkIGJlCnN0b3Jl ZC4KClRoZSBpbnN0YWxsIHNjcmlwdCBlaXRoZXIgcGlja3MgdGhlIGJpbmFyeSBpbWFnZXMgZnJv bSB0aGUgb3V0cHV0IG9mIGEgcHJldmlvdXMKRnJlZUJTRCBidWlsZGpvYiAoeWV0IHRvIGJlIGlu dHJvZHVjZWQpLCBvciBmcm9tIHRoZSBmcmVlYnNkX2ltYWdlIGFuZApmcmVlYnNkX3NldHMgcnVu dmFycywgdGhhdCBzaG91bGQgcG9pbnQgdG8gYSBGcmVlQlNEIGluc3RhbGxlciBpbWFnZSBhbmQg dG8gdGhlCmZvbGRlciB0aGF0IGNvbnRhaW4gdGhlIGluc3RhbGwgc2V0cyByZXNwZWN0aXZlbHku CgpXaGVuIHJlbHlpbmcgb24gdGhlIG91dHB1dCBmcm9tIGEgcHJldmlvdXMgRnJlZUJTRCBidWls ZGpvYiAoZnJlZWJzZF9idWlsZGpvYgpydW52YXIgaXMgc2V0KSwgdGhlIGluc3RhbGwgaW1hZ2Ug aXMgcGlja2VkIGZyb20gdGhlIHBhdGhfZnJlZWJzZC1pbWFnZSBydW52YXIsCmFuZCB0aGUgc2V0 cyBmcm9tIHBhdGhfZnJlZWJzZC17YmFzZSxrZXJuZWwsbWFuaWZlc3R9IG9mIHRoZSBwcmV2aW91 cyBqb2IuCgpTaWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4 LmNvbT4KLS0tCiBPc3N0ZXN0LnBtICAgICAgICAgICAgICB8ICAgMSArCiBPc3N0ZXN0L1Rlc3RT dXBwb3J0LnBtICB8ICAxOCArKystCiB0cy1mcmVlYnNkLWhvc3QtaW5zdGFsbCB8IDI1OSArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hh bmdlZCwgMjc2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA3 NTUgdHMtZnJlZWJzZC1ob3N0LWluc3RhbGwKCmRpZmYgLS1naXQgYS9Pc3N0ZXN0LnBtIGIvT3Nz dGVzdC5wbQppbmRleCBhNzg3MjhjZC4uYTBjMDMzOWMgMTAwNjQ0Ci0tLSBhL09zc3Rlc3QucG0K KysrIGIvT3NzdGVzdC5wbQpAQCAtMjI3LDYgKzIyNyw3IEBAIHN1YiByZWFkZ2xvYmFsY29uZmln ICgpIHsKICAgICAkY3tUZnRwVG1wRGlyfSB8fD0gIiRje1RmdHBQbGF5RGlyfXRtcC8iOwogCiAg ICAgJGN7VGZ0cERpQmFzZX0gfHw9ICIkY3tUZnRwUGxheURpcn1kZWJpYW4taW5zdGFsbGVyIjsK KyAgICAkY3tUZnRwRnJlZUJTREJhc2V9IHx8PSAiJGN7VGZ0cFBsYXlEaXJ9ZnJlZWJzZC1pbnN0 YWxsZXIiOwogICAgICRje1RmdHBEaVZlcnNpb259IHx8PSAkY3sgIlRmdHBEaVZlcnNpb25fJGN7 RGViaWFuU3VpdGV9IiB9IC8vICdjdXJyZW50JzsKIAogICAgICRje1RmdHBHcnViQmFzZX0gfHw9 ICIkY3tUZnRwUGxheURpcn1ncnViIjsKZGlmZiAtLWdpdCBhL09zc3Rlc3QvVGVzdFN1cHBvcnQu cG0gYi9Pc3N0ZXN0L1Rlc3RTdXBwb3J0LnBtCmluZGV4IDhjNzA3OGM1Li40NDE4ZjAyNCAxMDA2 NDQKLS0tIGEvT3NzdGVzdC9UZXN0U3VwcG9ydC5wbQorKysgYi9Pc3N0ZXN0L1Rlc3RTdXBwb3J0 LnBtCkBAIC0xMTgsNyArMTE4LDcgQEAgQkVHSU4gewogICAgICAgICAgICAgICAgICAgICAgIGF3 YWl0X3dlYnNwYWNlX2ZldGNoX2J5bGVhZiBjcmVhdGVfd2ViZmlsZQogICAgICAgICAgICAgICAg ICAgICAgIGZpbGVfbGlua19jb250ZW50cyBnZXRfdGltZW91dAogICAgICAgICAgICAgICAgICAg ICAgIHNldHVwX25ldGJvb3RfZGkgc2V0dXBfbmV0Ym9vdF9sb2NhbCBob3N0X25ldGJvb3RfZmls ZQotCQkgICAgICBzdWJzdF9uZXRib290X3RlbXBsYXRlCisgICAgICAgICAgICAgICAgICAgICAg c3Vic3RfbmV0Ym9vdF90ZW1wbGF0ZSBzZXR1cF9uZXRib290X21lbWRpc2sKIAogICAgICAgICAg ICAgICAgICAgICAgIGV0aGVyX3ByZWZpeAogCkBAIC0xMDMyLDcgKzEwMzIsNyBAQCBzdWIgc2Vs ZWN0aG9zdCAoJCkgewogICAgICRoby0+e1RmdHB9ID0geyB9OwogICAgICRoby0+e1RmdHB9eyRf fSA9ICRjeyJUZnRwJHtffV8ke3RmdHBzY29wZX0ifSB8fCAkY3siVGZ0cCR7X30ifQogICAgICAg ICBmb3JlYWNoIHF3KFBhdGggVG1wRGlyIFB4ZURpciBOZXRib290R3JvdXAgUHhlVGVtcGxhdGVz IFB4ZVRlbXBsYXRlc1JlYWwKLSAgICAgICAgICAgICAgICAgICBEaUJhc2UgR3J1YkJhc2UKKyAg ICAgICAgICAgICAgICAgICBEaUJhc2UgR3J1YkJhc2UgRnJlZUJTREJhc2UKICAgICAgICAgICAg ICAgICAgICBOZXRHcnViRGlyIE5ldEdydWJUZW1wbGF0ZXMgTmV0R3J1YlRlbXBsYXRlc1JlYWwK ICAgICAgICAgICAgICAgICAgICBQeGVHcm91cCk7CiAgICAgJGhvLT57VGZ0cE5ldGJvb3RHcm91 cH0gLy89ICRoby0+e1RmdHBQeGVHcm91cH07ICMgY29tcGF0aWJpbGl0eQpAQCAtMjU1Myw2ICsy NTUzLDIwIEBAIGRlZmF1bHQgbG9jYWwKIEVORAogfQogCitzdWIgc2V0dXBfbmV0Ym9vdF9tZW1k aXNrICgkJCkgeworICAgIG15ICgkaG8sICRpbWcpID0gQF87CisgICAgc2V0dXBfbmV0Ym9vdF9i b290Y2ZnKCRobywgPDxFTkQpOworc2VyaWFsIDAgJGN7QmF1ZH0KK3RpbWVvdXQgNQorbGFiZWwg b3ZlcndyaXRlCisJbWVudSBsYWJlbCBeT3ZlcndyaXRlCisJbWVudSBkZWZhdWx0CisJa2VybmVs IG1lbWRpc2sKKwlhcHBlbmQgaW5pdHJkPSRpbWcKK2RlZmF1bHQgb3ZlcndyaXRlCitFTkQKK30K KwogIyB1Ym9vdCBlbXVsYXRlcyBweGVsaW51eCwgc28gcmV1c2UgQklPUyBzdHVmZgogc3ViIHNl dHVwX25ldGJvb3RfZGlfdWJvb3QgKCQkJCQkOyUpIHsgcmV0dXJuICZzZXR1cF9uZXRib290X2Rp X2Jpb3M7IH0KIHN1YiBzZXR1cF9uZXRib290X2xvY2FsX3Vib290ICgkKSB7IHJldHVybiAmc2V0 dXBfbmV0Ym9vdF9sb2NhbF9iaW9zOyB9CmRpZmYgLS1naXQgYS90cy1mcmVlYnNkLWhvc3QtaW5z dGFsbCBiL3RzLWZyZWVic2QtaG9zdC1pbnN0YWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4 IDAwMDAwMDAwLi5kNTliNjZhNAotLS0gL2Rldi9udWxsCisrKyBiL3RzLWZyZWVic2QtaG9zdC1p bnN0YWxsCkBAIC0wLDAgKzEsMjU5IEBACisjIS91c3IvYmluL3BlcmwgLXcKKyMgVGhpcyBpcyBw YXJ0IG9mICJvc3N0ZXN0IiwgYW4gYXV0b21hdGVkIHRlc3RpbmcgZnJhbWV3b3JrIGZvciBYZW4u CisjIENvcHlyaWdodCAoQykgMjAxNyBDaXRyaXggSW5jLgorIyAKKyMgVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhl ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCisjIAorIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgQWZmZXJv IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMgCisjIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMg TGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKwordXNlIHN0cmljdCBxdyh2YXJzKTsKK3VzZSBEQkk7 Cit1c2UgUE9TSVg7CisKK3Vuc2hpZnQgQElOQywgcXcoLik7Cit1c2UgT3NzdGVzdDsKK3VzZSBP c3N0ZXN0OjpUZXN0U3VwcG9ydDsKKwordHNyZWFkY29uZmlnKCk7CisKK291ciAleG9wdHM7CisK K291ciAoJHdoaG9zdCkgPSBAQVJHVjsKKyR3aGhvc3QgfHw9ICdob3N0JzsKK291ciAkaG89IHNl bGVjdGhvc3QoJHdoaG9zdCk7CitleGl0IDAgaWYgJGhvLT57RmxhZ3N9eyduby1yZWluc3RhbGwn fTsKK2V4aXQgMCBpZiAkaG8tPntTaGFyZWRSZWFkeX07CisKK291ciAldGltZW91dD0gcXcoU3No ZCAxMDAwKTsKKworb3VyIEBzZXRzID0gcXcoYmFzZS50eHoga2VybmVsLnR4eik7CisKK291ciAk aW1hZ2UgPSAkcnsiZnJlZWJzZF9pbWFnZSJ9IHx8CisgICAgICAgICAgICAgZ2V0X3N0YXNoZWQo InBhdGhfZnJlZWJzZC1pbWFnZSIsICRyeyJmcmVlYnNkX2J1aWxkam9iIn0pOworCitzdWIgZ2V0 X3NldHNfcGF0aCAoKSB7CisgICAgbXkgQHBhdGhzOworCisgICAgZm9yZWFjaCAoQHNldHMsICJN QU5JRkVTVCIpIHsKKyAgICAgICAgbXkgJHBhdGg7CisKKyAgICAgICAgaWYgKCFkZWZpbmVkKCRy eyJmcmVlYnNkX3NldHMifSkpIHsKKyAgICAgICAgICAgICMgR2V0IGV2ZXJ5dGhpbmcgYmVmb3Jl IHRoZSAiLiIgKGllOiBnZXQgYmFzZSBmcm9tIGJhc2UudHh6KQorICAgICAgICAgICAgbXkgJHN0 YXNoX25hbWUgPSBsYygoc3BsaXQgL1wuLylbMF0pOworICAgICAgICAgICAgJHBhdGggPSBnZXRf c3Rhc2hlZCgicGF0aF9mcmVlYnNkLSRzdGFzaF9uYW1lIiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJHJ7ImZyZWVic2RfYnVpbGRqb2IifSk7CisgICAgICAgIH0gZWxzZSB7Cisg ICAgICAgICAgICAkcGF0aCA9ICRyeyJmcmVlYnNkX3NldHMifSAuICIvJF8iOworICAgICAgICB9 CisKKyAgICAgICAgcHVzaCBAcGF0aHMsIHsgbmFtZSA9PiAiJF8iLCBwYXRoID0+ICIkcGF0aCIg fTsKKyAgICB9CisKKyAgICByZXR1cm4gQHBhdGhzOworfQorCitzdWIgY3JlYXRlX3NzaF9vdmVy bGF5ICgpIHsKKyAgICBteSAkdXJsID0gY3JlYXRlX3dlYmZpbGUoJGhvLCAic3NoLnRhciIsIHN1 YiB7CisgICAgICAgIG15ICgkZmgpID0gQF87CisgICAgICAgIGNvbnRlbnRzX21ha2VfY3Bpbygk ZmgsICd1c3RhcicsICAiJGN7T3ZlcmxheUxvY2FsfS9ldGMvc3NoLyIpOworICAgIH0pOworCisg ICAgcmV0dXJuICR1cmw7Cit9CisKK3N1YiBzZXR1cF9uZXRib290X2luc3RhbGxlciAoKSB7Cisg ICAgbXkgJHB4ZWltZyA9ICIkaG8tPntUZnRwfXtGcmVlQlNEQmFzZX0vaW5zdGFsbC0kaG8tPntO YW1lfS5pbWciOworICAgIG15ICRzY3JpcHQgPSA8PEVORDsKK3NldCAtZXgKK2Jhc2VkaXI9JGhv LT57VGZ0cH17UGF0aH0vJGhvLT57VGZ0cH17RnJlZUJTREJhc2V9LworaGFzaD1gc2hhMjU2c3Vt ICRpbWFnZXxoZWFkIC1jIDY0YAorbG9jYWxwYXRoPSIkcnthcmNofS9cJGhhc2gvaW5zdGFsbC5p bWciOworbWtkaXIgLXAgXCRiYXNlZGlyCisoCitmbG9jayAteCAtdyA2MDAgMjAwCitjZCBcJGJh c2VkaXIKK2lmIFsgISAtZiBcJGxvY2FscGF0aCBdOyB0aGVuCisgICAgbWtkaXIgLXAgYGRpcm5h bWUgXCRsb2NhbHBhdGhgCisgICAgY3AgJGltYWdlIFwkbG9jYWxwYXRoCitmaQorcm0gLWYgaW5z dGFsbC0kaG8tPntOYW1lfS5pbWcKK2xuIFwkbG9jYWxwYXRoIGluc3RhbGwtJGhvLT57TmFtZX0u aW1nCitmb3IgaGFzaCBpbiBgbHMgJHJ7YXJjaH0vYDsgZG8KKyAgICBjb3VudD1gc3RhdCAtYyAl aCAkcnthcmNofS9cJGhhc2gvaW5zdGFsbC5pbWdgCisgICAgaWYgWyBcJGNvdW50IC1lcSAxIF07 IHRoZW4KKyAgICAgICAgcm0gLXJmICRye2FyY2h9L1wkaGFzaAorICAgIGZpCitkb25lCispIDIw MDxcJGJhc2VkaXIKK0VORAorCisgICAgbG9nbSgiRXhlY3V0aW5nOlxuJHNjcmlwdCIpOworICAg IG15ICRyZXQgPSBzeXN0ZW0oIi9iaW4vYmFzaCAtYyAnJHNjcmlwdCciKTsKKyAgICAkcmV0ID09 IDAgb3IgZGllICJVbmFibGUgdG8gc2V0dXAgbmV0Ym9vdCI7CisKKyAgICAjIFNldHVwIHRoZSBw eGVsaW51eCBjb25maWcgZmlsZQorICAgIGxvZ20oIkJvb3RpbmcgZnJvbSBpbnN0YWxsZXIgaW1h Z2UgYXQgJHB4ZWltZyIpOworICAgIHNldHVwX25ldGJvb3RfbWVtZGlzaygkaG8sICRweGVpbWcp OworfQorCitzdWIgaW5zdGFsbCAoKSB7CisgICAgbXkgJGF1dGhrZXlzID0gYXV0aG9yaXplZF9r ZXlzKCk7CisgICAgbXkgJGtub3duaG9zdHMgPSBrbm93bl9ob3N0cygpOworICAgIG15ICRzc2hk X2tleXNfdXJsID0gY3JlYXRlX3NzaF9vdmVybGF5KCk7CisgICAgbXkgJGRpc2tfbmFtZXMgPSAi YWRhMCBkYTAgYWQwIjsKKyAgICBteSAkaW5zdGFsbGVyX3NldHMgPSBqb2luKCIgIiwgQHNldHMp OworICAgIG15ICR0YXJnZXRfc2V0cyA9ICIvdG1wL29zc3Rlc3Rfc2V0cyI7CisgICAgbXkgJGRp c2s7CisgICAgbXkgJG5pYzsKKworICAgIHRhcmdldF9jbWRfcm9vdCgkaG8sICdjaHNoIC1zIC9i aW4vc2gnLCAxMCk7CisKKyAgICBsb2dtKCJUcnlpbmcgdG8gZmluZCBhIGRpc2sgdG8gaW5zdGFs bCB0byIpOworICAgICRkaXNrID0gdGFyZ2V0X2NtZF9vdXRwdXRfcm9vdCgkaG8sIDw8RU5ELCAz MCk7Citmb3IgZGlzayBpbiAkZGlza19uYW1lczsgZG8KKyAgICBpZiBbIC1jICIvZGV2L1wkZGlz ayIgXTsgdGhlbgorICAgICAgICBlY2hvIFwkZGlzaworICAgICAgICBleGl0IDAKKyAgICBmaQor ZG9uZQorZXhpdCAxCitFTkQKKyAgICBkZWZpbmVkKCRkaXNrKSBvciBkaWUgIlVuYWJsZSB0byBm aW5kIGEgdmFsaWQgZGlzayI7CisgICAgbG9nbSgiVXNpbmcgJGRpc2sgYXMgZGVzdGluYXRpb24g ZGlzayBkZXZpY2UiKTsKKworICAgIGxvZ20oIlRyeWluZyB0byBmaWd1cmUgb3V0IHByaW1hcnkg bmljIGRldmljZSBuYW1lIik7CisgICAgJG5pYyA9IHRhcmdldF9jbWRfb3V0cHV0X3Jvb3QoJGhv LCA8PEVORCwgMzApOworbmljcz1gaWZjb25maWcgLWxgCitmb3IgbmljIGluIFwkbmljczsgZG8K KyAgICBhZGRyPWBpZmNvbmZpZyBcJG5pYyBpbmV0fGdyZXAgaW5ldHxhd2sgeydwcmludCBcJDIn fWAKKyAgICBpZiBbICJcJGFkZHIiID0gIiRoby0+e0lwfSIgXTsgdGhlbgorICAgICAgICBlY2hv IFwkbmljCisgICAgICAgIGV4aXQgMAorICAgIGZpCitkb25lCitleGl0IDEKK0VORAorICAgIGRl ZmluZWQoJG5pYykgb3IgZGllICJVbmFibGUgdG8gZmluZCBwcmltYXJ5IG5ldHdvcmsgaW50ZXJm YWNlIjsKKyAgICBsb2dtKCJVc2luZyAkbmljIGFzIHByaW1hcnkgbmV0d29yayBpbnRlcmZhY2Ui KTsKKworICAgIGxvZ20oIlVwbG9hZGluZyB0aGUgaW5zdGFsbCBzZXRzIHRvIHRoZSBzeXN0ZW0i KTsKKyAgICB0YXJnZXRfY21kX3Jvb3QoJGhvLCA8PEVORCwgMzApOworbWtkaXIgLXAgJHRhcmdl dF9zZXRzCittb3VudCAtbyBzaXplPTFHIC10IHRtcGZzIHRtcGZzICR0YXJnZXRfc2V0cworRU5E CisKKyAgICBmb3JlYWNoIChnZXRfc2V0c19wYXRoKCkpIHsKKyAgICAgICAgdGFyZ2V0X3B1dGZp bGVfcm9vdCgkaG8sIDYwMCwgJF8tPntwYXRofSwgIiR0YXJnZXRfc2V0cy8kXy0+e25hbWV9Iik7 CisgICAgfQorCisgICAgbG9nbSgiQ3JlYXRpbmcgdGhlIGluc3RhbGxlciBzY3JpcHQiKTsKKyAg ICB0YXJnZXRfY21kX3Jvb3QoJGhvLCA8PEVORCwgNjApOworICAgICAgICBzZXQgLWUKKyAgICAg ICAgY2F0IDw8IEVORFNDUklQVCA+IGluc3RhbGxzY3JpcHQKK3NldCAtYQorQlNESU5TVEFMTF9E SVNURElSPSIkdGFyZ2V0X3NldHMiCitaRlNCT09UX0RJU0tTPSIkZGlzayIKK0RJU1RSSUJVVElP TlM9IiRpbnN0YWxsZXJfc2V0cyIKK25vbkludGVyYWN0aXZlPTEKKworIyEvYmluL3NoCitzZXQg LWV4CisKKyMgU2V0dXAgbmljIGFuZCBzc2hkCitlY2hvICJpZmNvbmZpZ18kbmljPURIQ1AiID4+ IC9ldGMvcmMuY29uZgorZWNobyAic3NoZF9lbmFibGU9WUVTIiA+PiAvZXRjL3JjLmNvbmYKKwor IyBEaXNhYmxlIHNlbmRtYWlsCitlY2hvICJzZW5kbWFpbF9lbmFibGU9Tk9ORSIgPj4gL2V0Yy9y Yy5jb25mCisKKyMgU2V0IHByb3h5IGZvciB0aGUgcGtnIG1hbmFnZXIKK21rZGlyIC1wIC91c3Iv bG9jYWwvZXRjLworY2F0IDw8IEVORFBLRyA+PiAvdXNyL2xvY2FsL2V0Yy9wa2cuY29uZgorcGtn X2VudjogeyBodHRwX3Byb3h5ID0gJGN7SHR0cFByb3h5fSB9CitkZWZhdWx0X2Fsd2F5c195ZXM6 IHRydWUKK2Fzc3VtZV9hbHdheXNfeWVzOiB0cnVlCitFTkRQS0cKKworIyBCb290c3RhcCB0aGUg cGFja2FnZSBtYW5hZ2VyCitleHBvcnQgSFRUUF9QUk9YWT0kY3tIdHRwUHJveHl9CitleHBvcnQg QVNTVU1FX0FMV0FZU19ZRVM9eWVzCitwa2cgdXBkYXRlCisKKyMgQWxsb3cgcm9vdCB1c2VyIGxv Z2luIGFuZCBzZXR1cCBzc2gga2V5cworY2hzaCAtcyAvYmluL3NoIHJvb3QKK2VjaG8gJ1Blcm1p dFJvb3RMb2dpbiB5ZXMnID4+IC9ldGMvc3NoL3NzaGRfY29uZmlnCitta2RpciAtcCAvcm9vdC8u c3NoCitjYXQgPDwgRU5ES0VZUyA+IC9yb290Ly5zc2gvYXV0aG9yaXplZF9rZXlzCiskYXV0aGtl eXMKK0VOREtFWVMKK2NhdCA8PCBFTkRIT1NUUyA+IC9yb290Ly5zc2gva25vd25faG9zdHMKKyRr bm93bmhvc3RzCitFTkRIT1NUUworCisjIEZldGNoIGhvc3Qga2V5cworZmV0Y2ggJHNzaGRfa2V5 c191cmwgLW8gLSB8IHRhciAteGYgLSAtQyAvZXRjL3NzaC8KKyMgU2V0IGNvcnJlY3QgcGVybWlz c2lvbnMKK2Nob3duIHJvb3Q6d2hlZWwgL2V0Yy9zc2gvc3NoX2hvc3RfKl9rZXkqCitjaG1vZCAw NjAwIC9ldGMvc3NoL3NzaF9ob3N0Xypfa2V5CitjaG1vZCAwNjQ0IC9ldGMvc3NoL3NzaF9ob3N0 Xypfa2V5LnB1YgorCisjIEFkZCBhIG9zc3Rlc3QgdXNlcgorcHcgdXNlcmFkZCBvc3N0ZXN0IC1t CitjaHNoIC1zIC9iaW4vc2ggb3NzdGVzdAorbWtkaXIgLXAgL2hvbWUvb3NzdGVzdC8uc3NoCitj YXQgPDwgRU5ES0VZUyA+IC9ob21lL29zc3Rlc3QvLnNzaC9hdXRob3JpemVkX2tleXMKKyRhdXRo a2V5cworRU5ES0VZUworY2F0IDw8IEVOREhPU1RTID4gL2hvbWUvb3NzdGVzdC8uc3NoL2tub3du X2hvc3RzCiska25vd25ob3N0cworRU5ESE9TVFMKKworIyBTZXR1cCBzZXJpYWwgY29uc29sZQor cHJpbnRmICIlcyIgIi1oIC1TJGN7QmF1ZH0iID4+IC9ib290LmNvbmZpZworY2F0IDw8IEVOREJP T1QgPj4gL2Jvb3QvbG9hZGVyLmNvbmYKK2Jvb3Rfc2VyaWFsPSJZRVMiCitjb21jb25zb2xlX3Nw ZWVkPSIkY3tCYXVkfSIKK2NvbnNvbGU9ImNvbWNvbnNvbGUiCitib290X3ZlcmJvc2U9IllFUyIK K2JlYXN0aWVfZGlzYWJsZT0iWUVTIgorRU5EQk9PVAorCitFTkRTQ1JJUFQKK0VORAorCisgICAg bG9nbSgiTGF1bmNoIHRoZSBpbnN0YWxsZXIiKTsKKyAgICB0YXJnZXRfY21kX3Jvb3QoJGhvLCAn YnNkaW5zdGFsbCBzY3JpcHQgaW5zdGFsbHNjcmlwdCcsIDEyMDApOworCisgICAgdGFyZ2V0X3Jl Ym9vdCgkaG8pOworCisgICAgbG9nbSgiV2FpdGluZyBmb3IgdGhlIGhvc3QgdG8gYm9vdCIpOwor ICAgIGF3YWl0X3RjcChnZXRfdGltZW91dCgkaG8sJ3JlYm9vdCcsJHRpbWVvdXR7U3NoZH0pLCAx NCwgJGhvKTsKKworICAgIGxvZ20oIkZyZWVCU0QgaW5zdGFsbGVkIHN1Y2Nlc2Z1bGx5Iik7Cit9 CisKKyMgU3dpdGNoIG9mZiwgc2V0dXAgUFhFIGFuZCBzd2l0Y2ggb24gdG8gdGhlIGluc3RhbGxl cgorcG93ZXJfc3RhdGUoJGhvLCAwKTsKK3NldHVwX25ldGJvb3RfaW5zdGFsbGVyKCk7Citwb3dl cl9jeWNsZV9zbGVlcCgkaG8pOworcG93ZXJfc3RhdGUoJGhvLCAxKTsKKworIyBXYWl0IGZvciB0 aGUgaG9zdCB0byBmaW5pc2ggYm9vdGluZworbG9nbSgiV2FpdGluZyBmb3IgdGhlIGluc3RhbGxl ciB0byBib290Iik7Cithd2FpdF90Y3AoZ2V0X3RpbWVvdXQoJGhvLCdyZWJvb3QnLCR0aW1lb3V0 e1NzaGR9KSwgMTQsICRobyk7CisKKyMgTmV4dCBib290IHdpbGwgYmUgZnJvbSBsb2NhbCBkaXNr CitzZXR1cF9uZXRib290X2xvY2FsKCRobyk7CisKKyMgUHJvY2VlZCB3aXRoIHRoZSBpbnN0YWxs CitpbnN0YWxsKCk7CisKLS0gCjIuMTEuMCAoQXBwbGUgR2l0LTgxKQoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK WGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=