From mboxrd@z Thu Jan 1 00:00:00 1970 From: Federico Beffa Subject: Re: [PATCH 3/3] gnu: Add ghc. Date: Sun, 1 Mar 2015 13:44:57 +0100 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a11c3cf281aba3105103978b9 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:39872) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YS3Ez-0008It-Ug for guix-devel@gnu.org; Sun, 01 Mar 2015 07:45:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YS3Ex-00043f-TE for guix-devel@gnu.org; Sun, 01 Mar 2015 07:45:01 -0500 Received: from mail-lb0-x234.google.com ([2a00:1450:4010:c04::234]:39876) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YS3Ex-00043a-EE for guix-devel@gnu.org; Sun, 01 Mar 2015 07:44:59 -0500 Received: by lbvn10 with SMTP id n10so25093654lbv.6 for ; Sun, 01 Mar 2015 04:44:57 -0800 (PST) In-Reply-To: List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Guix-devel --001a11c3cf281aba3105103978b9 Content-Type: text/plain; charset=UTF-8 Attached a new patch that hopefully addresses the concerns expressed in this thread: https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00814.html I do not create a ready to use bootstrap package because the resulting store entry amounts to 940MB! I just keep an unmodified fixed version tarball (68MB) and take care to patch it in custom phases of the final GHC package. This is to avoid having to transfer almost 1GB of data each time we need to rebuild GHC (due, e.g., to an update to a dependency) and is much faster. I took this route after suffering from extremely long and unreliable transfers of the TeXLive package. (Yes, I tend to use --no-substitutes for TeXLive, but when it needs to be transferred as a result of dependencies things get trickier.). Regards, Fede --001a11c3cf281aba3105103978b9 Content-Type: text/x-diff; charset=UTF-8; name="0001-gnu-Add-ghc.patch" Content-Disposition: attachment; filename="0001-gnu-Add-ghc.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i6qf65io1 RnJvbSBjMzlmMmZhMjliZDYxNDIyN2Y1MDFjYjgzZjcyZTJhYTgyN2E5MTIzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBGZWRlcmljbyBCZWZmYSA8YmVmZmFAZmJlbmdpbmVlcmluZy5j aD4KRGF0ZTogV2VkLCAyNSBGZWIgMjAxNSAyMDoyMDoyNCArMDEwMApTdWJqZWN0OiBbUEFUQ0hd IGdudTogQWRkIGdoYy4KCiogZ251L3BhY2thZ2VzL2hhc2tlbGwuc2NtOiBOZXcgZmlsZS4KLS0t CiBnbnUvcGFja2FnZXMvaGFza2VsbC5zY20gfCAyMjIgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAyMjIgaW5zZXJ0aW9ucygr KQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdudS9wYWNrYWdlcy9oYXNrZWxsLnNjbQoKZGlmZiAtLWdp dCBhL2dudS9wYWNrYWdlcy9oYXNrZWxsLnNjbSBiL2dudS9wYWNrYWdlcy9oYXNrZWxsLnNjbQpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMDYzMGE5Ci0tLSAvZGV2L251bGwK KysrIGIvZ251L3BhY2thZ2VzL2hhc2tlbGwuc2NtCkBAIC0wLDAgKzEsMjIyIEBACis7OzsgR05V IEd1aXggLS0tIEZ1bmN0aW9uYWwgcGFja2FnZSBtYW5hZ2VtZW50IGZvciBHTlUKKzs7OyBDb3B5 cmlnaHQgwqkgMjAxNSBGZWRlcmljbyBCZWZmYSA8YmVmZmFAZmJlbmdpbmVlcmluZy5jaD4KKzs7 OworOzs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBHdWl4LgorOzs7Cis7OzsgR05VIEd1aXgg aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBp dAorOzs7IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMgcHVibGlzaGVkIGJ5Cis7OzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cis7OzsgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgorOzs7Cis7OzsgR05VIEd1aXggaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0Cis7OzsgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorOzs7IE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKzs7OyBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorOzs7Cis7OzsgWW91IHNo b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UKKzs7OyBhbG9uZyB3aXRoIEdOVSBHdWl4LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LgorCisoZGVmaW5lLW1vZHVsZSAoZ251IHBhY2thZ2VzIGhhc2tlbGwp CisgICM6dXNlLW1vZHVsZSAoaWNlLTkgcmVnZXgpCisgICM6dXNlLW1vZHVsZSAoZ3VpeCBsaWNl bnNlcykKKyAgIzp1c2UtbW9kdWxlIChndWl4IHBhY2thZ2VzKQorICAjOnVzZS1tb2R1bGUgKGd1 aXggZG93bmxvYWQpCisgICM6dXNlLW1vZHVsZSAoZ3VpeCB1dGlscykKKyAgIzp1c2UtbW9kdWxl IChndWl4IGJ1aWxkLXN5c3RlbSBnbnUpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHBl cmwpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGVsZikKKyAgIzp1c2UtbW9kdWxlIChn bnUgcGFja2FnZXMgZ2hvc3RzY3JpcHQpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGxp YmZmaSkKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgbGliZWRpdCkKKyAgIzp1c2UtbW9k dWxlIChnbnUgcGFja2FnZXMgbXVsdGlwcmVjaXNpb24pCisgICM6dXNlLW1vZHVsZSAoZ251IHBh Y2thZ2VzIG5jdXJzZXMpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHB5dGhvbikpCisK Kzs7IFdlIHVzZSBib290c3RyYXAgYmlhbnJpZXMgd2l0aCBhIGZpeCB2ZXJzaW9uIHdoaWNoIGNh biBiZSB1c2VkIHRvIGJ1aWxkCis7OyBtb3JlIHZlcnNpb25zIG9mIHRoZSBHSEMgY29tcGlsZXIu CisoZGVmaW5lIGdoYy1ib290c3RyYXAtNy44LjQKKyAgKG9yaWdpbgorICAgIChtZXRob2QgdXJs LWZldGNoKQorICAgICh1cmkgKHN0cmluZy1hcHBlbmQgImh0dHBzOi8vd3d3Lmhhc2tlbGwub3Jn L2doYy9kaXN0LyIKKyAgICAgICAgICAgICAgICAgICAgICAgICI3LjguNC9naGMtNy44LjQtIgor ICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChzdHJpbmctbWF0Y2ggIng4Nl82NCIgKCVjdXJy ZW50LXN5c3RlbSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIng4Nl82NCIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiaTM4NiIpCisgICAgICAgICAgICAgICAgICAgICAgICAi LXVua25vd24tbGludXgtZGViNy50YXIueHoiKSkKKyAgICAoc2hhMjU2CisgICAgIChiYXNlMzIK KyAgICAgIChpZiAoc3RyaW5nLW1hdGNoICJ4ODZfNjQiICglY3VycmVudC1zeXN0ZW0pKQorICAg ICAgICAgICIxM2F6c2w1M3hnajIwbWkxaGo5eDB4YjMydnZjdnM2Y3Btdnd4NnpueGhhczdibGgw YnBuIgorICAgICAgICAgICIwd2o1czQzNWowemd3dzcwYmoxZDNmNnd2bm5wemx4d3Z3Y3loMnF2 NHFqcTV6OGo2NGtnIikpKSkpCisKKzs7IDQzIHRlc3RzIG91dCBvZiAzOTY1IGZhaWwuCis7Owor OzsgTW9zdCBvZiB0aGVtIGRvIG5vdCBhcHBlYXIgdG8gYmUgc2VyaW91czoKKzs7Cis7OyAtIHNv bWUgdGVzdHMgZ2VuZXJhdGUgZmlsZXMgcmVmZXJyaW5nIHRvICIvYmluL3NoIiBhbmQgIi9iaW4v bHMiLiBJJ3ZlIG5vdAorOzsgICBmaWd1cmVkIG91dCBob3cgdGhlc2UgcmVmZXJlbmNlcyBhcmUg Z2VuZXJhdGVkLgorOzsKKzs7IC0gU29tZSB0ZXN0cyBhbGxvY2F0ZSBtb3JlIG1lbW9yeSB0aGFu IGV4cGVjdGVkIChjYS4gMyUgYWJvdmUgdXBwZXIgbGltaXQpCis7OworOzsgLSBTb21lIHRlc3Rz IHRyeSB0byBsb2FkIHVuYXZhaWxhYmxlIGxpYnJpcmllczogQ29udHJvbC5Db25jdXJyZW50LlNU TSwKKzs7ICAgRGF0YS5WZWN0b3IsIENvbnRyb2wuTW9uYWQuU3RhdGUuCis7OworOzsgLSBUZXN0 IHBvc2l4MDEwIHRyaWVzIHRvIGNoZWNrIHRoZSBleGlzdGVuY2Ugb2YgYSB1c2VyIG9uIHRoZSBz eXN0ZW06Cis7OyAgIGdldFVzZXJFbnRyeUZvck5hbWU6IGRvZXMgbm90IGV4aXN0IChubyBzdWNo IHVzZXIpCisoZGVmaW5lLXB1YmxpYyBnaGMKKyAgKHBhY2thZ2UKKyAgICAobmFtZSAiZ2hjIikK KyAgICAodmVyc2lvbiAiNy44LjQiKQorICAgIChzb3VyY2UKKyAgICAgKG9yaWdpbgorICAgICAg KG1ldGhvZCB1cmwtZmV0Y2gpCisgICAgICAodXJpIChzdHJpbmctYXBwZW5kICJodHRwczovL3d3 dy5oYXNrZWxsLm9yZy9naGMvZGlzdC8iCisgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNp b24gIi8iIG5hbWUgIi0iIHZlcnNpb24gIi1zcmMudGFyLnh6IikpCisgICAgICAoc2hhMjU2Cisg ICAgICAgKGJhc2UzMgorICAgICAgICAiMWk0MjU0YWtiYjR5bTQzN3JmNDY5Z2MwbTQwYnhtMzFi bHA2czF6MWcxNWptbmFjczZmMyIpKSkpCisgICAgKGJ1aWxkLXN5c3RlbSBnbnUtYnVpbGQtc3lz dGVtKQorICAgIChzdXBwb3J0ZWQtc3lzdGVtcyAnKCJpNjg2LWxpbnV4IiAieDg2XzY0LWxpbnV4 IikpCisgICAgKG91dHB1dHMgJygib3V0IiAiZG9jIikpCisgICAgKGlucHV0cworICAgICBgKCgi Z21wIiAsZ21wKQorICAgICAgICgibmN1cnNlcyIgLG5jdXJzZXMpCisgICAgICAgKCJsaWJmZmki ICxsaWJmZmkpCisgICAgICAgKCJsaWJlZGl0IiAsbGliZWRpdCkKKyAgICAgICAoImdoYy10ZXN0 c3VpdGUiCisgICAgICAgICwob3JpZ2luCisgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNoKQor ICAgICAgICAgICAodXJpIChzdHJpbmctYXBwZW5kCisgICAgICAgICAgICAgICAgICJodHRwczov L3d3dy5oYXNrZWxsLm9yZy9naGMvZGlzdC8iCisgICAgICAgICAgICAgICAgIHZlcnNpb24gIi8i IG5hbWUgIi0iIHZlcnNpb24gIi10ZXN0c3VpdGUudGFyLnh6IikpCisgICAgICAgICAgIChzaGEy NTYKKyAgICAgICAgICAgIChiYXNlMzIKKyAgICAgICAgICAgICAiMHE5NXdoZjg3eTRteGp6d3p5 ODk5Zzd6N2w5cGF6cTRzaTZpY2l5aHhrY2RocXEyeWN5aCIpKSkpKSkKKyAgICAobmF0aXZlLWlu cHV0cworICAgICBgKCgicGVybCIgLHBlcmwpCisgICAgICAgKCJweXRob24iICxweXRob24tMikg ICAgICAgICAgICAgICAgOyBmb3IgdGVzdHMgKGZhaWxzIHdpdGggcHl0aG9uLTMpCisgICAgICAg KCJnaG9zdHNjcmlwdCIgLGdob3N0c2NyaXB0KSAgICAgICAgOyBmb3IgdGVzdHMKKyAgICAgICAo InBhdGNoZWxmIiAscGF0Y2hlbGYpCisgICAgICAgOzsgR0hDIGlzIGJ1aWx0IHdpdGggR0hDLiBU aGVyZWZvcmUgd2UgbmVlZCBib290c3RyYXAgYmluYXJpZXMuCisgICAgICAgKCJnaGMtYmluYXJ5 IiAsZ2hjLWJvb3RzdHJhcC03LjguNCkpKQorICAgIChhcmd1bWVudHMKKyAgICAgYCgjOnRlc3Qt dGFyZ2V0ICJ0ZXN0IgorICAgICAgIDs7IFdlIGdldCBhIHNtYWxsZXIgbnVtYmVyIG9mIHRlc3Qg ZmFpbHVyZXMgYnkgZGlzYWJsaW5nIHBhcmFsbGVsIHRlc3QKKyAgICAgICA7OyBleGVjdXRpb24u CisgICAgICAgIzpwYXJhbGxlbC10ZXN0cz8gI2YKKyAgICAgICAjOm1vZHVsZXMgKChndWl4IGJ1 aWxkIGdudS1idWlsZC1zeXN0ZW0pCisgICAgICAgICAgICAgICAgICAoZ3VpeCBidWlsZCB1dGls cykKKyAgICAgICAgICAgICAgICAgIChndWl4IGJ1aWxkIHJwYXRoKQorICAgICAgICAgICAgICAg ICAgKHNyZmkgc3JmaS0yNikpCisgICAgICAgIzppbXBvcnRlZC1tb2R1bGVzICgoZ3VpeCBidWls ZCBnbnUtYnVpbGQtc3lzdGVtKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGd1aXggYnVp bGQgdXRpbHMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ3VpeCBidWlsZCBycGF0aCkp CisgICAgICAgIzpjb25maWd1cmUtZmxhZ3MKKyAgICAgICAobGlzdAorICAgICAgICAoc3RyaW5n LWFwcGVuZCAiLS13aXRoLWdtcC1saWJyYXJpZXM9IgorICAgICAgICAgICAgICAgICAgICAgICAo YXNzb2MtcmVmICVidWlsZC1pbnB1dHMgImdtcCIpICIvbGliIikKKyAgICAgICAgKHN0cmluZy1h cHBlbmQgIi0td2l0aC1nbXAtaW5jbHVkZXM9IgorICAgICAgICAgICAgICAgICAgICAgICAoYXNz b2MtcmVmICVidWlsZC1pbnB1dHMgImdtcCIpICIvaW5jbHVkZSIpCisgICAgICAgICItLXdpdGgt c3lzdGVtLWxpYmZmaSIKKyAgICAgICAgKHN0cmluZy1hcHBlbmQgIi0td2l0aC1mZmktbGlicmFy aWVzPSIKKyAgICAgICAgICAgICAgICAgICAgICAgKGFzc29jLXJlZiAlYnVpbGQtaW5wdXRzICJs aWJmZmkiKSAiL2xpYiIpCisgICAgICAgIChzdHJpbmctYXBwZW5kICItLXdpdGgtZmZpLWluY2x1 ZGVzPSIKKyAgICAgICAgICAgICAgICAgICAgICAgKGFzc29jLXJlZiAlYnVpbGQtaW5wdXRzICJs aWJmZmkiKSAiL2luY2x1ZGUiKSkKKyAgICAgICA7OyBGSVhNRTogVGhlIHVzZXItZ3VpZGUgbmVl ZHMgZGJsYXRleCwgZG9jYm9vay14c2wgYW5kIGRvY2Jvb2stdXRpbHMuCisgICAgICAgOzsgQ3Vy cmVudGx5IHdlIGRvIG5vdCBoYXZlIHRoZSBsYXN0IG9uZS4KKyAgICAgICA7OyAjOm1ha2UtZmxh Z3MKKyAgICAgICA7OyAobGlzdCAiQlVJTERfRE9DQk9PS19IVE1MID0gWUVTIikKKyAgICAgICAj OnBoYXNlcworICAgICAgIChsZXQqICgoZ2hjLWJvb3RzdHJhcC1wYXRoCisgICAgICAgICAgICAg ICAoc3RyaW5nLWFwcGVuZCAoZ2V0Y3dkKSAiLyIgLG5hbWUgIi0iICx2ZXJzaW9uICIvZ2hjLWJp biIpKQorICAgICAgICAgICAgICAoZ2hjLWJvb3RzdHJhcC1wcmVmaXgKKyAgICAgICAgICAgICAg IChzdHJpbmctYXBwZW5kIGdoYy1ib290c3RyYXAtcGF0aCAiL3VzciIgKSkpCisgICAgICAgICAo YWxpc3QtY29ucy1hZnRlcgorICAgICAgICAgICd1bnBhY2stYmluICd1bnBhY2stYW5kLWZpeC10 ZXN0c3VpdGUKKyAgICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzIG91dHB1dHMgIzphbGxv dy1vdGhlci1rZXlzKQorICAgICAgICAgICAgKHdpdGgtZGlyZWN0b3J5LWV4Y3Vyc2lvbiAiLi4i CisgICAgICAgICAgICAgIChjb3B5LWZpbGUgKGFzc29jLXJlZiBpbnB1dHMgImdoYy10ZXN0c3Vp dGUiKQorICAgICAgICAgICAgICAgICAgICAgICAgICJnaGMtdGVzdHN1aXRlLnRhci54eiIpCisg ICAgICAgICAgICAgIChzeXN0ZW0qICJ0YXIiICJ4dmYiICJnaGMtdGVzdHN1aXRlLnRhci54eiIp KQorICAgICAgICAgICAgKHN1YnN0aXR1dGUqIChsaXN0ICJ0ZXN0c3VpdGUvdGltZW91dC9NYWtl ZmlsZSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdHN1aXRlL3RpbWVvdXQv dGltZW91dC5weSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdHN1aXRlL3Rp bWVvdXQvdGltZW91dC5ocyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdHN1 aXRlL3Rlc3RzL3JlbmFtZS9wcm9nMDA2L1NldHVwLmxocyIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAidGVzdHN1aXRlL3Rlc3RzL3Byb2dyYW1zL2xpZmVfc3BhY2VfbGVhay9saWZl LnRlc3QiKQorICAgICAgICAgICAgICAoKCIvYmluL3NoIikgKHdoaWNoICJzaCIpKQorICAgICAg ICAgICAgICAoKCIvYmluL3JtIikgInJtIikpCisgICAgICAgICAgICA7OyBXZSBuZWVkIHRvIHNl dCB0aGUgbG9jYWxlIGZvciB0aGUgdGVzdHMgdG8gcHJvZHVjZSByZXN1bHRzCisgICAgICAgICAg ICA7OyBpZGVudGljYWwgdG8gdGhlIGV4cGVjdGVkIG9uZXMuCisgICAgICAgICAgICAoc3lzdGVt KiAibG9jYWxlZGVmIiAiLS1uby1hcmNoaXZlIgorICAgICAgICAgICAgICAgICAgICAgIi0tcHJl Zml4IiAoZ2V0Y3dkKSAiLWkiICJlbl9VUyIKKyAgICAgICAgICAgICAgICAgICAgICItZiIgIlVU Ri04IiAiLi9lbl9VUy5VVEYtOCIpCisgICAgICAgICAgICAoc2V0ZW52ICJMT0NQQVRIIiAoZ2V0 Y3dkKSkKKyAgICAgICAgICAgIChzZXRlbnYgIkxDX0FMTCIgImVuX1VTLlVURi04IikKKyAgICAg ICAgICAgICN0KQorICAgICAgICAgIChhbGlzdC1jb25zLWFmdGVyCisgICAgICAgICAgICd1bnBh Y2sgJ3VucGFjay1iaW4KKyAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyBvdXRwdXRz ICM6YWxsb3ctb3RoZXIta2V5cykKKyAgICAgICAgICAgICAobWtkaXItcCBnaGMtYm9vdHN0cmFw LXByZWZpeCkKKyAgICAgICAgICAgICAod2l0aC1kaXJlY3RvcnktZXhjdXJzaW9uIGdoYy1ib290 c3RyYXAtcGF0aAorICAgICAgICAgICAgICAgKGNvcHktZmlsZSAoYXNzb2MtcmVmIGlucHV0cyAi Z2hjLWJpbmFyeSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICJnaGMtYmluLnRhci54eiIp CisgICAgICAgICAgICAgICAoemVybz8gKHN5c3RlbSogInRhciIgInh2ZiIgImdoYy1iaW4udGFy Lnh6IikpKSkKKyAgICAgICAgICAgKGFsaXN0LWNvbnMtYmVmb3JlCisgICAgICAgICAgICAnY29u ZmlndXJlICdpbnN0YWxsLWJpbgorICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyBv dXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykKKyAgICAgICAgICAgICAgKGxldCogKChiaW5hcmll cworICAgICAgICAgICAgICAgICAgICAgIChsaXN0CisgICAgICAgICAgICAgICAgICAgICAgICIu L3V0aWxzL2doYy1wd2QvZGlzdC1pbnN0YWxsL2J1aWxkL3RtcC9naGMtcHdkIgorICAgICAgICAg ICAgICAgICAgICAgICAiLi91dGlscy9ocGMvZGlzdC1pbnN0YWxsL2J1aWxkL3RtcC9ocGMiCisg ICAgICAgICAgICAgICAgICAgICAgICIuL3V0aWxzL2hhZGRvY2svZGlzdC9idWlsZC90bXAvaGFk ZG9jayIKKyAgICAgICAgICAgICAgICAgICAgICAgIi4vdXRpbHMvaHNjMmhzL2Rpc3QtaW5zdGFs bC9idWlsZC90bXAvaHNjMmhzIgorICAgICAgICAgICAgICAgICAgICAgICAiLi91dGlscy9ydW5n aGMvZGlzdC1pbnN0YWxsL2J1aWxkL3RtcC9ydW5naGMiCisgICAgICAgICAgICAgICAgICAgICAg ICIuL3V0aWxzL2doYy1jYWJhbC9kaXN0LWluc3RhbGwvYnVpbGQvdG1wL2doYy1jYWJhbCIKKyAg ICAgICAgICAgICAgICAgICAgICAgIi4vdXRpbHMvaHAycHMvZGlzdC9idWlsZC90bXAvaHAycHMi CisgICAgICAgICAgICAgICAgICAgICAgICIuL3V0aWxzL2doYy1wa2cvZGlzdC1pbnN0YWxsL2J1 aWxkL3RtcC9naGMtcGtnIgorICAgICAgICAgICAgICAgICAgICAgICAiLi91dGlscy91bmxpdC9k aXN0L2J1aWxkL3RtcC91bmxpdCIKKyAgICAgICAgICAgICAgICAgICAgICAgIi4vZ2hjL3N0YWdl Mi9idWlsZC90bXAvZ2hjLXN0YWdlMiIpKQorICAgICAgICAgICAgICAgICAgICAgKGdtcCAoYXNz b2MtcmVmIGlucHV0cyAiZ21wIikpCisgICAgICAgICAgICAgICAgICAgICAoZ21wLWxpYiAoc3Ry aW5nLWFwcGVuZCBnbXAgIi9saWIiKSkKKyAgICAgICAgICAgICAgICAgICAgIChnbXAtaW5jbHVk ZSAoc3RyaW5nLWFwcGVuZCBnbXAgIi9pbmNsdWRlIikpCisgICAgICAgICAgICAgICAgICAgICAo bmN1cnNlcy1saWIKKyAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAoYXNzb2Mt cmVmIGlucHV0cyAibmN1cnNlcyIpICIvbGliIikpCisgICAgICAgICAgICAgICAgICAgICAobGQt c28gKHN0cmluZy1hcHBlbmQgKGFzc29jLXJlZiBpbnB1dHMgImxpYmMiKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvbGliL2xkLWxpbnV4LXg4Ni02NC5zby4y IikpCisgICAgICAgICAgICAgICAgICAgICAobGlidGluZm8tZGlyCisgICAgICAgICAgICAgICAg ICAgICAgKHN0cmluZy1hcHBlbmQgZ2hjLWJvb3RzdHJhcC1wcmVmaXgKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiL2xpYi9naGMtNy44LjQvdGVybWluZm8tMC40LjAuMCIp KSkKKyAgICAgICAgICAgICAgICAod2l0aC1kaXJlY3RvcnktZXhjdXJzaW9uCisgICAgICAgICAg ICAgICAgICAgIChzdHJpbmctYXBwZW5kIGdoYy1ib290c3RyYXAtcGF0aCAiLyIgLG5hbWUgIi0i ICx2ZXJzaW9uKQorICAgICAgICAgICAgICAgICAgKHNldGVudiAiQ09ORklHX1NIRUxMIiAod2hp Y2ggImJhc2giKSkKKyAgICAgICAgICAgICAgICAgIChzZXRlbnYgIkxEX0xJQlJBUllfUEFUSCIg Z21wLWxpYikKKyAgICAgICAgICAgICAgICAgIDs7IFRoZSBiaW5hcmllcyBoYXZlICIvbGliNjQv bGQtbGludXgteDg2LTY0LnNvLjIiIGhhcmRjb2RlZC4KKyAgICAgICAgICAgICAgICAgIChmb3It ZWFjaAorICAgICAgICAgICAgICAgICAgIChjdXQgc3lzdGVtKiAicGF0Y2hlbGYiICItLXNldC1p bnRlcnByZXRlciIgbGQtc28gPD4pCisgICAgICAgICAgICAgICAgICAgYmluYXJpZXMpCisgICAg ICAgICAgICAgICAgICA7OyBUaGUgYmluYXJpZXMgaW5jbHVkZSBhIHJlZmVyZW5jZSB0byBsaWJ0 aW5mby5zby41IHdoaWNoIGlzIGEKKyAgICAgICAgICAgICAgICAgIDs7IHN1YnNldCBvZiBsaWJu Y3Vyc2VzLnNvLjUuICBXZSBjcmVhdGUgYSBzeW1saW5rIGluIGEKKyAgICAgICAgICAgICAgICAg IDs7IGRpcmVjdG9yeSBpbmNsdWRlZCBpbiB0aGUgYm9vdHN0cmFwIGJpbmFyaWVzIHJwYXRoLgor ICAgICAgICAgICAgICAgICAgKG1rZGlyLXAgbGlidGluZm8tZGlyKQorICAgICAgICAgICAgICAg ICAgKHN5bWxpbmsKKyAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCBuY3Vyc2VzLWxp YiAiL2xpYm5jdXJzZXN3LnNvLiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAs KHZlcnNpb24tbWFqb3IrbWlub3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChwYWNrYWdlLXZlcnNpb24gbmN1cnNlcykpKQorICAgICAgICAgICAgICAgICAgIChzdHJpbmct YXBwZW5kIGxpYnRpbmZvLWRpciAiL2xpYnRpbmZvLnNvLjUiKSkKKyAgICAgICAgICAgICAgICAg IChzeXN0ZW0qIChzdHJpbmctYXBwZW5kIChnZXRjd2QpICIvY29uZmlndXJlIikKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICItLXByZWZpeD0iIGdoYy1ib290c3Ry YXAtcHJlZml4KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgIi0t d2l0aC1nbXAtbGlicmFyaWVzPSIgZ21wLWxpYikKKyAgICAgICAgICAgICAgICAgICAgICAgICAg IChzdHJpbmctYXBwZW5kICItLXdpdGgtZ21wLWluY2x1ZGVzPSIgZ21wLWluY2x1ZGUpKQorICAg ICAgICAgICAgICAgICAgKHNldGVudiAiUEFUSCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg KHN0cmluZy1hcHBlbmQgKGdldGVudiAiUEFUSCIpICI6IgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBnaGMtYm9vdHN0cmFwLXByZWZpeCAiL2JpbiIpKQorICAgICAg ICAgICAgICAgICAgKHplcm8/IChzeXN0ZW0qICJtYWtlIiAiaW5zdGFsbCIpKSkpKQorICAgICAg ICAgICAgJXN0YW5kYXJkLXBoYXNlcykpKSkpKQorICAgIChob21lLXBhZ2UgImh0dHBzOi8vd3d3 Lmhhc2tlbGwub3JnL2doYyIpCisgICAgKHN5bm9wc2lzICJUaGUgR2xhc2dvdyBIYXNrZWxsIENv bXBpbGVyIikKKyAgICAoZGVzY3JpcHRpb24KKyAgICAgIlRoZSBHbGFzZ293IEhhc2tlbGwgQ29t cGlsZXIgKEdIQykgaXMgYSBzdGF0ZS1vZi10aGUtYXJ0LCBvcGVuIHNvdXJjZSwKK2NvbXBpbGVy IGFuZCBpbnRlcmFjdGl2ZSBlbnZpcm9ubWVudCBmb3IgdGhlIGZ1bmN0aW9uYWwgbGFuZ3VhZ2Ug SGFza2VsbC4iKQorICAgIChsaWNlbnNlIGJzZC0zKSkpCisKKzs7OyBoYXNrZWxsLnNjbSBlbmRz IGhlcmUKLS0gCjIuMi4xCgo= --001a11c3cf281aba3105103978b9--