From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v6 08/20] osstest: add a FreeBSD host install script Date: Mon, 24 Jul 2017 12:07:47 +0100 Message-ID: <20170724110759.2638-9-roger.pau@citrix.com> References: <20170724110759.2638-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.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dZbHQ-0004dv-2v for xen-devel@lists.xenproject.org; Mon, 24 Jul 2017 11:12:04 +0000 In-Reply-To: <20170724110759.2638-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 Cc: Ian Jackson , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org VGhlIGluc3RhbGxhdGlvbiBpcyBwZXJmb3JtZWQgdXNpbmcgdGhlIGJzZGluc3RhbGwgdG9vbCwg d2hpY2ggaXMgcGFydApvZiB0aGUgRnJlZUJTRCBiYXNlIHN5c3RlbS4gVGhlIGluc3RhbGxlciBp bWFnZSBpcyBzZXR1cCB3aXRoIHRoZQpvc3N0ZXN0IHNzaCBrZXlzIGFuZCBzc2hkIGVuYWJsZWQg YnkgZGVmYXVsdCwgd2hpY2ggYWxsb3dzIHRoZSB0ZXN0Cmhhcm5lc3MgdG8ganVzdCBzc2ggaW50 byB0aGUgYm94LCBjcmVhdGUgdGhlIGluc3RhbGwgY29uZmlnIGZpbGUgYW5kCmxhdW5jaCB0aGUg c2NyaXB0ZWQgaW5zdGFsbC4KCkN1cnJlbnRseSB0aGUgaW5zdGFsbGF0aW9uIGlzIGRvbmUgd2l0 aCBaRlMgb25seSwgaW4gc3RyaXBlIG1vZGUsIGFuZAphIHNpbmdsZSBkaXNrLgoKSW4gb3JkZXIg dG8gc3VwcG9ydCB0aGUgRnJlZUJTRCBpbnN0YWxsZXIgdGhlIHNldHVwX25ldGJvb3RfbWVtZGlz awpoZWxwZXIgaXMgdXNlZCwgdGhhdCBhbGxvd3Mgc2V0dGluZyB0aGUgcHhlIGJvb3Qgb2YgYSBo b3N0IHVzaW5nIGEKbWVtZGlzay4KClRoZSBpbnN0YWxsIHNjcmlwdCBlaXRoZXIgcGlja3MgdGhl IGJpbmFyeSBpbWFnZXMgZnJvbSB0aGUgb3V0cHV0IG9mIGEKcHJldmlvdXMgRnJlZUJTRCBidWls ZGpvYiAoeWV0IHRvIGJlIGludHJvZHVjZWQpLCBvciBmcm9tIHRoZSBmb2xkZXIKcG9pbnRlZCBi eSBmcmVlYnNkX2Rpc3RwYXRoLiBUaGlzIGZvbGRlciBzaG91bGQgY29udGFpbiB0aGUgaW5zdGFs bGVyCmltYWdlIChpbnN0YWxsLmltZykgYW5kIHRoZSBjb21wcmVzc2VkIGluc3RhbGwgc2V0cyAo a2VybmVsLnR4eiwKYmFzZS50eHopIHRvZ2V0aGVyIHdpdGggdGhlIE1BTklGRVNUIGZpbGUgdGhh dCBjb250YWlucyB0aGUgY2hlY2tzdW1zLgoKU2lnbmVkLW9mZi1ieTogUm9nZXIgUGF1IE1vbm7D qSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkFja2VkLWJ5OiBJYW4gSmFja3NvbiA8aWFuLmphY2tz b25AZXUuY2l0cml4LmNvbT4KLS0tCkNoYW5nZXMgc2luY2UgdjQ6CiAtIFJlbW92ZSBnZXRfc2V0 c19wYXRoIHJvdXRpbmUgYW5kIHhvcHRzIHZhcmlhYmxlLgogLSBDYWxsIHJlc291cmNlX3NoYXJl ZF9tYXJrX3JlYWR5IHdoZW4gdGhlIGhvc3QgaXMgcmVhZHkgdG8gYmUgdXNlZC4KCkNoYW5nZXMg c2luY2UgdjM6CiAtIFVzZSBzaGEyNTZmaWxlIGluc3RlYWQgb2YgdGhlIHNoYTI1NnN1bSBjbHUu CiAtIFNoaWZ0IHBhcmFtZXRlcnMgcGFzc2VkIHRvIHRoZSBsb2NrIGFuZCBjb3B5IHNjcmlwdCwg c28gdGhhdAogICBwYXJhbWV0ZXIgMCBpcyBpZ25vcmVkLgogLSBDb3B5IHRvIC50bXAgYW5kIHRo ZW4gbW92ZSB0aGUgRnJlZUJTRCBpbWFnZS4KIC0gVXNlIGEgc2luZ2xlLWxpbmUgZmluZCBydW5l IHRvIGNsZWFudXAgb2xkIGltYWdlcy4KIC0gQWRkIHNvbWUgbWlzc2luZyAic2V0IC1lIi4KIC0g RG9uJ3QgY2hlY2sgdGhlIG91dHB1dCBvZiB0YXJnZXRfY21kX291dHB1dF9yb290IGFnYWluc3Qg dW5kZWZpbmVkLAogICB0aGF0J3MgbmV2ZXIgZ29pbmcgdG8gYmUgdHJ1ZS4KIC0gU3BsaXQgdGhl IHNldHVwX25ldGJvb3RfbWVtZGlzayBoZWxwZXIgY29kZSBpbnRvIGEgcHJlLXBhdGNoLgoKQ2hh bmdlcyBzaW5jZSB2MjoKIC0gVXNlIHN5c3JjIGluc3RlYWQgb2YgZWNobyB0byBtb2RpZnkgcmMu Y29uZi4KCkNoYW5nZXMgc2luY2UgdjE6CiAtIFVzZSBwa2cgYm9vdHN0cmFwIGluc3RlYWQgb2Yg cGtnIHVwZGF0ZS4KIC0gVXNlIGZyZWVic2RidWlsZGpvYiBpbnN0ZWFkIG9mIGZyZWVic2RfYnVp bGRqb2IuCiAtIGFkZCAiYXBwZW5kIHJhdyIgdG8gdGhlIG1lbWRpc2sgY29tbWFuZCBsaW5lLgog LSBVc2Ugd2l0aC1sb2NrLWV4IGluc3RlYWQgb2YgZmxvY2suCiAtIFVzZSBzeXN0ZW1fY2hlY2tl ZCBhbmQgYW4gYXJyYXkgdG8gaG9sZCB0aGUgbG9ja2VkIGNvbW1hbmQgdG8KICAgZXhlY3V0ZS4K IC0gVXNlIGFuIGFycmF5IHRvIHN0b3JlIHRoZSBsaXN0IG9mIHBvc3NpYmxlIGRpc2sgZGV2aWNl cy4KIC0gVXNlIHRhcmdldF9wdXRmaWxlY29udGVudHNfcm9vdF9zdGFzaCBpbiBvcmRlciB0byB1 cGxvYWQgdGhlCiAgIGluc3RhbGwgc2NyaXB0IHRvIHRoZSB0YXJnZXQuCiAtIFJlbW92ZSB0aGUg dXNhZ2Ugb2YgVGZ0cEZyZWVCU0RCYXNlLgogLSBVc2UgdGFyZ2V0X3RmdHBfcHJlZml4IGluIG9y ZGVyIHRvIGdldCB0aGUgcHJlZml4IGZvciB0aGUgdGZ0cAogICB0YXJnZXQgaW1hZ2UgcGF0aC4K IC0gQWRkIGEgbWlzc2luZyBsaW5ld3JhcC4KIC0gUmVwbGFjZSB0aGUgc3BsaXQgdXNlZCB0byBn ZXQgdGhlIHJ1bnZhciBwYXRocyB3aXRoIGEgcmVnZXhwLgogLSBQbGFjZSB0aGUgaW5zdGFsbCBz ZXRzIGF0IC9yb290L29zc3Rlc3Rfc2V0cyBpbnN0ZWFkIG9mCiAgIC90bXAvb3NzdGVzdF9zZXRz LgogLSBQaWNrIHRoZSBzZXRzL2luc3RhbGxlciBpbWFnZSBmcm9tIHRoZSBmcmVlYnNkYnVpbGRq b2IKICAgcGF0aF9mcmVlYnNkaXN0IG9yIGZyb20gdGhlIHJ1bnZhciB2YXJpYWJsZSBmcmVlYnNk X2Rpc3RwYXRoLgogLSBBZGQgYSBjb21tZW50IGFib3V0IHdoaWNoIEZyZWVCU0Qgc3BlY2lmaWMg aW5wdXRzIHRoZSBzY3JpcHQKICAgY29uc3VtZXMuCi0tLQogdHMtZnJlZWJzZC1ob3N0LWluc3Rh bGwgfCAyNTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiAxIGZpbGUgY2hhbmdlZCwgMjU2IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDc1NSB0 cy1mcmVlYnNkLWhvc3QtaW5zdGFsbAoKZGlmZiAtLWdpdCBhL3RzLWZyZWVic2QtaG9zdC1pbnN0 YWxsIGIvdHMtZnJlZWJzZC1ob3N0LWluc3RhbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXgg MDAwMDAwMDAuLjMyMTc2M2IwCi0tLSAvZGV2L251bGwKKysrIGIvdHMtZnJlZWJzZC1ob3N0LWlu c3RhbGwKQEAgLTAsMCArMSwyNTYgQEAKKyMhL3Vzci9iaW4vcGVybCAtdworIyBUaGlzIGlzIHBh cnQgb2YgIm9zc3Rlc3QiLCBhbiBhdXRvbWF0ZWQgdGVzdGluZyBmcmFtZXdvcmsgZm9yIFhlbi4K KyMgQ29weXJpZ2h0IChDKSAyMDE3IENpdHJpeCBJbmMuCisjIAorIyBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVy IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KKyMgCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBBZmZlcm8g R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIyAKKyMgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCisjIFRoZSBGcmVlQlNEIGluc3RhbGxlciBzY3JpcHQg Y29uc3VtZXMgZWl0aGVyIG9uZSBvZiB0aGUgZm9sbG93aW5nCisjIHJ1bnZhcnM6CisjCisjIGZy ZWVic2RfZGlzdHBhdGg6IHBvaW50cyB0byBhIGZvbGRlciBhY2Nlc3NpYmxlIGJ5IHRoZSBjb250 cm9sbGVyIHRoYXQKKyMgc2hvdWxkIGNvbnRhaW4gdGhlIGluc3RhbGxlciBpbWFnZSBhbmQgdGhl IGNvbXByZXNzZWQgaW5zdGFsbCBzZXRzLAorIyB0b2dldGhlciB3aXRoIHRoZSBNQU5JRkVTVCBm aWxlLgorIworIyBmcmVlYnNkYnVpbGRqb2I6IHBvaW50cyB0byBhIHByZXZpb3VzIEZyZWVCU0Qg YnVpbGQgam9iLCB0aGF0IGhhcworIyBwcm9kdWNlZCBhbiBpbnN0YWxsZXIgaW1hZ2UgYW5kIGNv bXByZXNzZWQgc2V0cy4gVGhlIG9ubHkgcnVudmFyIHVzZWQKKyMgZm9ybSB0aGUgam9iIHBvaW50 ZWQgdG8gYnkgZnJlZWJzZGJ1aWxkam9iIGlzIHRoZSBwYXRoX2ZyZWVic2RkaXN0IG9uZSwKKyMg dGhhdCBwb2ludHMgdG8gdGhlIGZvbGRlciBjb250YWluaW5nIHRoZSBmaWxlcyBkZXNjcmliZWQg YWJvdmUuCisjCisjIFRoZSBpbnN0YWxsZXIgaW1hZ2UgbXVzdCBiZSBuYW1lZCAnaW5zdGFsbC5p bWcnLCBhbmQgdGhlIHNldHMKKyMgJ2tlcm5lbC50eHonLCAnYmFzZS50eHonIGFuZCBmaW5hbGx5 IHRoZSAnTUFOSUZFU1QnIGZpbGUgdGhhdCBjb250YWlucworIyB0aGUgY2hlY2tzdW1zLgorCit1 c2Ugc3RyaWN0IHF3KHZhcnMpOwordXNlIERCSTsKK3VzZSBQT1NJWDsKKwordW5zaGlmdCBASU5D LCBxdyguKTsKK3VzZSBPc3N0ZXN0OwordXNlIE9zc3Rlc3Q6OlRlc3RTdXBwb3J0OworCit0c3Jl YWRjb25maWcoKTsKKworb3VyICgkd2hob3N0KSA9IEBBUkdWOworJHdoaG9zdCB8fD0gJ2hvc3Qn Oworb3VyICRobz0gc2VsZWN0aG9zdCgkd2hob3N0KTsKK2V4aXQgMCBpZiAkaG8tPntGbGFnc317 J25vLXJlaW5zdGFsbCd9OworZXhpdCAwIGlmICRoby0+e1NoYXJlZFJlYWR5fTsKKworb3VyICR0 aW1lb3V0ID0gMTAwMDsKKworb3VyIEBzZXRzID0gcXcoYmFzZS50eHoga2VybmVsLnR4eik7CisK K291ciAkcGF0aF9wcmVmaXggPSAkcnsiZnJlZWJzZF9kaXN0cGF0aCJ9IHx8CisgICAgICAgICAg ICAgICAgICAgZ2V0X3N0YXNoZWQoInBhdGhfZnJlZWJzZGRpc3QiLCAkcnsiZnJlZWJzZGJ1aWxk am9iIn0pOworCitzdWIgY3JlYXRlX3NzaF9vdmVybGF5ICgpIHsKKyAgICBteSAkdXJsID0gY3Jl YXRlX3dlYmZpbGUoJGhvLCAic3NoLnRhciIsIHN1YiB7CisgICAgICAgIG15ICgkZmgpID0gQF87 CisgICAgICAgIGNvbnRlbnRzX21ha2VfY3BpbygkZmgsICd1c3RhcicsICAiJGN7T3ZlcmxheUxv Y2FsfS9ldGMvc3NoLyIpOworICAgIH0pOworCisgICAgcmV0dXJuICR1cmw7Cit9CisKK3N1YiBz ZXR1cF9uZXRib290X2luc3RhbGxlciAoKSB7CisgICAgbXkgJGltYWdlID0gIiRwYXRoX3ByZWZp eC9pbnN0YWxsLmltZyI7CisgICAgbXkgJHB4ZWltZyA9IHRhcmdldF90ZnRwX3ByZWZpeCgkaG8p IC4gIi0tZnJlZWJzZC5pbWciOworICAgIG15ICRoYXNoID0gc2hhMjU2ZmlsZSgkaW1hZ2UsIDE2 KTsKKyAgICBteSAkdGZ0cF9mcmVlYnNkID0gIiRoby0+e1RmdHB9e1BhdGh9LyRoby0+e1RmdHB9 e1RtcERpcn0vZnJlZWJzZC1pbWFnZXMvIjsKKyAgICBteSAkc2NyaXB0ID0gPDwnRU5EJzsKK2Jh c2VkaXI9JDEKK2ltYWdlcGF0aD0kMgorc2hhcmVkcGF0aD0kMwordGFyZ2V0cGF0aD0kNAorY2Qg JGJhc2VkaXIKK21rZGlyIC1wIGBkaXJuYW1lICRzaGFyZWRwYXRoYAoraWYgWyAhIC1mICRzaGFy ZWRwYXRoIF07IHRoZW4KKyAgICBjcCAkaW1hZ2VwYXRoICRzaGFyZWRwYXRoLnRtcAorICAgIG12 ICRzaGFyZWRwYXRoLnRtcCAkc2hhcmVkcGF0aAorZmkKK3JtIC1mICR0YXJnZXRwYXRoCitsbiAk c2hhcmVkcGF0aCAkdGFyZ2V0cGF0aAorIyBQcnVuZSBvbGQgaW1hZ2VzIG5vdCB1c2VkIGFueW1v cmUKK2ZpbmQgYGRpcm5hbWUgJHNoYXJlZHBhdGhgIC1saW5rcyAxIC1jdGltZSArNyAtZGVsZXRl CitFTkQKKyAgICBteSBAY21kID0gKCAid2l0aC1sb2NrLWV4IiwgIi13IiwgIiR0ZnRwX2ZyZWVi c2QvbG9jayIsCisgICAgICAgICAgICAgICAgImJhc2giLCAiLWV4YyIsICIkc2NyaXB0IiwgIngi LAorICAgICAgICAgICAgICAgICIkdGZ0cF9mcmVlYnNkIiwgIiRpbWFnZSIsICJieS1oYXNoLyRo YXNoLmltZyIsCisgICAgICAgICAgICAgICAgIiRoby0+e1RmdHB9e1BhdGh9LyRweGVpbWciICk7 CisKKyAgICBlbnN1cmVkaXIoJHRmdHBfZnJlZWJzZCk7CisgICAgc3lzdGVtX2NoZWNrZWQoQGNt ZCk7CisKKyAgICAjIFNldHVwIHRoZSBweGVsaW51eCBjb25maWcgZmlsZQorICAgIGxvZ20oIkJv b3RpbmcgZnJvbSBpbnN0YWxsZXIgaW1hZ2UgYXQgJHB4ZWltZyIpOworICAgIHNldHVwX25ldGJv b3RfbWVtZGlzaygkaG8sICRweGVpbWcpOworfQorCitzdWIgaW5zdGFsbCAoKSB7CisgICAgbXkg JGF1dGhrZXlzID0gYXV0aG9yaXplZF9rZXlzKCk7CisgICAgbXkgJGtub3duaG9zdHMgPSBrbm93 bl9ob3N0cygpOworICAgIG15ICRzc2hkX2tleXNfdXJsID0gY3JlYXRlX3NzaF9vdmVybGF5KCk7 CisgICAgbXkgQGRpc2tfbmFtZXMgPSBxdyhhZGEwIGRhMCBhZDApOworICAgIG15ICR0YXJnZXRf c2V0cyA9ICIvcm9vdC9vc3N0ZXN0X3NldHMiOworICAgIG15ICRkaXNrOworICAgIG15ICRuaWM7 CisKKyAgICB0YXJnZXRfY21kX3Jvb3QoJGhvLCAnY2hzaCAtcyAvYmluL3NoJywgMTApOworCisg ICAgbG9nbSgiVHJ5aW5nIHRvIGZpbmQgYSBkaXNrIHRvIGluc3RhbGwgdG8iKTsKKyAgICAkZGlz ayA9IHRhcmdldF9jbWRfb3V0cHV0X3Jvb3QoJGhvLCA8PEVORCwgMzApOworc2V0IC1lCitmb3Ig ZGlzayBpbiBAZGlza19uYW1lczsgZG8KKyAgICBpZiBbIC1jICIvZGV2L1wkZGlzayIgXTsgdGhl bgorICAgICAgICBlY2hvIFwkZGlzaworICAgICAgICBleGl0IDAKKyAgICBmaQorZG9uZQorZXhp dCAxCitFTkQKKyAgICBsb2dtKCJVc2luZyAkZGlzayBhcyBkZXN0aW5hdGlvbiBkaXNrIGRldmlj ZSIpOworCisgICAgbG9nbSgiVHJ5aW5nIHRvIGZpZ3VyZSBvdXQgcHJpbWFyeSBuaWMgZGV2aWNl IG5hbWUiKTsKKyAgICAkbmljID0gdGFyZ2V0X2NtZF9vdXRwdXRfcm9vdCgkaG8sIDw8RU5ELCAz MCk7CitzZXQgLWUKK25pY3M9YGlmY29uZmlnIC1sYAorZm9yIG5pYyBpbiBcJG5pY3M7IGRvCisg ICAgYWRkcj1gaWZjb25maWcgXCRuaWMgaW5ldHxncmVwIGluZXR8YXdrIHsncHJpbnQgXCQyJ31g CisgICAgaWYgWyAiXCRhZGRyIiA9ICIkaG8tPntJcH0iIF07IHRoZW4KKyAgICAgICAgZWNobyBc JG5pYworICAgICAgICBleGl0IDAKKyAgICBmaQorZG9uZQorZXhpdCAxCitFTkQKKyAgICBsb2dt KCJVc2luZyAkbmljIGFzIHByaW1hcnkgbmV0d29yayBpbnRlcmZhY2UiKTsKKworICAgIGxvZ20o IlVwbG9hZGluZyB0aGUgaW5zdGFsbCBzZXRzIHRvIHRoZSBzeXN0ZW0iKTsKKyAgICB0YXJnZXRf Y21kX3Jvb3QoJGhvLCA8PEVORCwgMzApOworc2V0IC1lCitta2RpciAtcCAkdGFyZ2V0X3NldHMK K21vdW50IC1vIHNpemU9MUcgLXQgdG1wZnMgdG1wZnMgJHRhcmdldF9zZXRzCitFTkQKKworICAg IGZvcmVhY2ggbXkgJHNldCAoQHNldHMsICJNQU5JRkVTVCIpIHsKKyAgICAgICAgdGFyZ2V0X3B1 dGZpbGVfcm9vdCgkaG8sIDYwMCwgIiRwYXRoX3ByZWZpeC8kc2V0IiwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiJHRhcmdldF9zZXRzLyRzZXQiKTsKKyAgICB9CisKKyAgICBsb2dtKCJD cmVhdGluZyB0aGUgaW5zdGFsbGVyIHNjcmlwdCIpOworICAgIHRhcmdldF9wdXRmaWxlY29udGVu dHNfcm9vdF9zdGFzaCgkaG8sIDEwLCA8PEVORCwgJ34vaW5zdGFsbHNjcmlwdCcpOworc2V0IC1h CitCU0RJTlNUQUxMX0RJU1RESVI9IiR0YXJnZXRfc2V0cyIKK1pGU0JPT1RfRElTS1M9IiRkaXNr IgorRElTVFJJQlVUSU9OUz0iQHNldHMiCitub25JbnRlcmFjdGl2ZT0xCisKKyMhL2Jpbi9zaAor c2V0IC1leAorCisjIFNldHVwIG5pYyBhbmQgc3NoZAorc3lzcmMgaWZjb25maWdfJG5pYz1ESENQ CitzeXNyYyBzc2hkX2VuYWJsZT1ZRVMKKworIyBVc2Ugc3luY3JvbmlvdXMgREhDUCBpbiBjYXNl IHRoZSBzZXJ2ZXIgaXMgc2xvdworc3lzcmMgc3luY2hyb25vdXNfZGhjbGllbnQ9WUVTCisKKyMg RGlzYWJsZSBzZW5kbWFpbAorc3lzcmMgc2VuZG1haWxfZW5hYmxlPU5PCitzeXNyYyBzZW5kbWFp bF9zdWJtaXRfZW5hYmxlPU5PCitzeXNyYyBzZW5kbWFpbF9vdXRib3VuZF9lbmFibGU9Tk8KK3N5 c3JjIHNlbmRtYWlsX21zcF9xdWV1ZV9lbmFibGU9Tk8KKworIyBTZXQgcHJveHkgZm9yIHRoZSBw a2cgbWFuYWdlcgorbWtkaXIgLXAgL3Vzci9sb2NhbC9ldGMvCitjYXQgPDwgRU5EUEtHID4+IC91 c3IvbG9jYWwvZXRjL3BrZy5jb25mCitwa2dfZW52OiB7IGh0dHBfcHJveHkgPSAkY3tIdHRwUHJv eHl9IH0KK2RlZmF1bHRfYWx3YXlzX3llczogdHJ1ZQorYXNzdW1lX2Fsd2F5c195ZXM6IHRydWUK K0VORFBLRworCisjIEJvb3RzdGFwIHRoZSBwYWNrYWdlIG1hbmFnZXIKK2V4cG9ydCBIVFRQX1BS T1hZPSRje0h0dHBQcm94eX0KK2V4cG9ydCBBU1NVTUVfQUxXQVlTX1lFUz15ZXMKK3BrZyBib290 c3RyYXAKKworIyBBbGxvdyByb290IHVzZXIgbG9naW4gYW5kIHNldHVwIHNzaCBrZXlzCitjaHNo IC1zIC9iaW4vc2ggcm9vdAorZWNobyAnUGVybWl0Um9vdExvZ2luIHllcycgPj4gL2V0Yy9zc2gv c3NoZF9jb25maWcKK21rZGlyIC1wIC9yb290Ly5zc2gKK2NhdCA8PCBFTkRLRVlTID4gL3Jvb3Qv LnNzaC9hdXRob3JpemVkX2tleXMKKyRhdXRoa2V5cworRU5ES0VZUworY2F0IDw8IEVOREhPU1RT ID4gL3Jvb3QvLnNzaC9rbm93bl9ob3N0cworJGtub3duaG9zdHMKK0VOREhPU1RTCisKKyMgRmV0 Y2ggaG9zdCBrZXlzCitmZXRjaCAkc3NoZF9rZXlzX3VybCAtbyAtIHwgdGFyIC14ZiAtIC1DIC9l dGMvc3NoLworIyBTZXQgY29ycmVjdCBwZXJtaXNzaW9ucworY2hvd24gcm9vdDp3aGVlbCAvZXRj L3NzaC9zc2hfaG9zdF8qX2tleSoKK2NobW9kIDA2MDAgL2V0Yy9zc2gvc3NoX2hvc3RfKl9rZXkK K2NobW9kIDA2NDQgL2V0Yy9zc2gvc3NoX2hvc3RfKl9rZXkucHViCisKKyMgQWRkIGEgb3NzdGVz dCB1c2VyCitwdyB1c2VyYWRkIG9zc3Rlc3QgLW0KK2Noc2ggLXMgL2Jpbi9zaCBvc3N0ZXN0Citt a2RpciAtcCAvaG9tZS9vc3N0ZXN0Ly5zc2gKK2NhdCA8PCBFTkRLRVlTID4gL2hvbWUvb3NzdGVz dC8uc3NoL2F1dGhvcml6ZWRfa2V5cworJGF1dGhrZXlzCitFTkRLRVlTCitjYXQgPDwgRU5ESE9T VFMgPiAvaG9tZS9vc3N0ZXN0Ly5zc2gva25vd25faG9zdHMKKyRrbm93bmhvc3RzCitFTkRIT1NU UworCisjIFNldHVwIHNlcmlhbCBjb25zb2xlCitwcmludGYgIiVzIiAiLWggLVMkY3tCYXVkfSIg Pj4gL2Jvb3QuY29uZmlnCitjYXQgPDwgRU5EQk9PVCA+PiAvYm9vdC9sb2FkZXIuY29uZgorYm9v dF9zZXJpYWw9IllFUyIKK2NvbWNvbnNvbGVfc3BlZWQ9IiRje0JhdWR9IgorY29uc29sZT0iY29t Y29uc29sZSIKK2Jvb3RfdmVyYm9zZT0iWUVTIgorYmVhc3RpZV9kaXNhYmxlPSJZRVMiCitFTkRC T09UCitFTkQKKworICAgIGxvZ20oIkxhdW5jaCB0aGUgaW5zdGFsbGVyIik7CisgICAgdGFyZ2V0 X2NtZF9yb290KCRobywgJ2JzZGluc3RhbGwgc2NyaXB0IGluc3RhbGxzY3JpcHQnLCAxMjAwKTsK KworICAgIHRhcmdldF9yZWJvb3QoJGhvKTsKKworICAgIGxvZ20oIldhaXRpbmcgZm9yIHRoZSBo b3N0IHRvIGJvb3QiKTsKKyAgICBhd2FpdF90Y3AoZ2V0X3RpbWVvdXQoJGhvLCdyZWJvb3QnLCR0 aW1lb3V0KSwgNSwgJGhvKTsKKworICAgIGxvZ20oIkZyZWVCU0QgaW5zdGFsbGVkIHN1Y2Nlc2Z1 bGx5Iik7Cit9CisKKyMgU3dpdGNoIG9mZiwgc2V0dXAgUFhFIGFuZCBzd2l0Y2ggb24gdG8gdGhl IGluc3RhbGxlcgorcG93ZXJfc3RhdGUoJGhvLCAwKTsKK3NldHVwX25ldGJvb3RfaW5zdGFsbGVy KCk7Citwb3dlcl9jeWNsZV9zbGVlcCgkaG8pOworcG93ZXJfc3RhdGUoJGhvLCAxKTsKKworIyBX YWl0IGZvciB0aGUgaG9zdCB0byBmaW5pc2ggYm9vdGluZworbG9nbSgiV2FpdGluZyBmb3IgdGhl IGluc3RhbGxlciB0byBib290Iik7Cithd2FpdF90Y3AoZ2V0X3RpbWVvdXQoJGhvLCdyZWJvb3Qn LCR0aW1lb3V0KSwgNSwgJGhvKTsKKworIyBOZXh0IGJvb3Qgd2lsbCBiZSBmcm9tIGxvY2FsIGRp c2sKK3NldHVwX25ldGJvb3RfbG9jYWwoJGhvKTsKKworIyBQcm9jZWVkIHdpdGggdGhlIGluc3Rh bGwKK2luc3RhbGwoKTsKKworcmVzb3VyY2Vfc2hhcmVkX21hcmtfcmVhZHkoJGhvLCAiYnVpbGQt ZnJlZWJzZC0iLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGEyNTZmaWxlKCIk cGF0aF9wcmVmaXgvaW5zdGFsbC5pbWciLCAxNikpOwotLSAKMi4xMS4wIChBcHBsZSBHaXQtODEp CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRl dmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhl bi5vcmcveGVuLWRldmVsCg==