From: Jeremy Singher Date: Fri, 15 May 2020 20:50:23 +0000 (-0700) Subject: Re: [libre-riscv-dev] Introduction and Questions X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2c06e31c007d7796196c014366ae69795ef7862c;p=libre-riscv-dev.git Re: [libre-riscv-dev] Introduction and Questions --- diff --git a/0e/cc239311deaa9729b7e85de574ded2198d1602 b/0e/cc239311deaa9729b7e85de574ded2198d1602 new file mode 100644 index 0000000..caa32eb --- /dev/null +++ b/0e/cc239311deaa9729b7e85de574ded2198d1602 @@ -0,0 +1,195 @@ +Return-path: +Envelope-to: publicinbox@libre-riscv.org +Delivery-date: Fri, 15 May 2020 21:50:37 +0100 +Received: from localhost ([::1] helo=libre-riscv.org) + by libre-soc.org with esmtp (Exim 4.89) + (envelope-from ) + id 1jZhHw-0001nG-Kn; Fri, 15 May 2020 21:50:36 +0100 +Received: from mail-lj1-f179.google.com ([209.85.208.179]) + by libre-soc.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) + (Exim 4.89) (envelope-from ) + id 1jZhHv-0001nA-Be + for libre-riscv-dev@lists.libre-riscv.org; Fri, 15 May 2020 21:50:35 +0100 +Received: by mail-lj1-f179.google.com with SMTP id a21so3656159ljj.11 + for ; + Fri, 15 May 2020 13:50:35 -0700 (PDT) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; + h=mime-version:references:in-reply-to:from:date:message-id:subject:to + :content-transfer-encoding; + bh=5HFxd/eFcpxUFOukBZeFHQGlNZjXYGiUeoZgytxXwtg=; + b=FiMaP50BsaWomo/5EUs6pW2RUZkCaRKURxjfiIg8dv/g4eGFe9wWEuJXoL7FGurlwe + kBJ8Y9JGfNW65Q37w7UeLMCk7WqPFeoEFnb/PDyyHNLmJA4cOD66NhIPs4a+WOFykR85 + rJGyVrcbrcJHjVQEoyVRhOoyEAEkVIZI925zroSzuQb2kOHAucVNQWhVEls8S09YkJW9 + +Sg+Q8wnpjIPdM4z15hk/RTGIKnupSDsWO4mu5lWsmNz9QOD12QHDMaabgHd1ImFfdqf + k1lY1irxdJUyXD0zV3AnzM2vepW0uSf/I/i1ve6poHdbYbAs9dEkrapHiNp3TcOt5k9t + uvUg== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20161025; + h=x-gm-message-state:mime-version:references:in-reply-to:from:date + :message-id:subject:to:content-transfer-encoding; + bh=5HFxd/eFcpxUFOukBZeFHQGlNZjXYGiUeoZgytxXwtg=; + b=hNpxZ7ULyr3XREuyIE03u33iQKvowLwuzB+kRPxSiLs9h6yd9hrMq79DZy1wF9Njxm + PzPufMwFWZ+PzmoM04sRPsD2RtytIv3KNgbTV14PpBkOYp5BstmKzXnTOnuY/sGFSPe/ + Hxir5ORqOuP9raZJS5Jl1m2Dv++PhQfkAp18o2P55zFF4AfQfEQhDKkJwJ3b4U14r/lb + /ZVjrziPYxiX8KJGx7ZJUN+bWIrjs9/T8EiWS8exHAmS95vXS9SFacZP7J6veut8dkbQ + Sgb9Fu0eUGXipqGe22/SefP3fpcJ5ciS+Uijqyo1vXwyFjRIobWC0hr+DBlSHJkmcIYi + iKHQ== +X-Gm-Message-State: AOAM533vEzeGkLHJpnoEvL+nQUU2jXOMGUH4YiD3hu862rBgHyT9lbac + WZ1b1uwmJI/UKLhUCvabTjd8qn8R7ltR2GDQD89PhuyI +X-Google-Smtp-Source: ABdhPJyd6pdwp0TFjhyHTXXlrsVix/ghp19oGc7t+sg4o4C20QCRIk754CCQY/xgS/9JwxgI7+c9pXIKxM+j0xGyn4k= +X-Received: by 2002:a05:651c:50e:: with SMTP id + o14mr3475035ljp.52.1589575834307; + Fri, 15 May 2020 13:50:34 -0700 (PDT) +MIME-Version: 1.0 +References: + <747F8870-06C6-46A0-AFD9-D55289D4C41A@gatech.edu> + + <4BDA96A5-9063-42A6-9548-CAE3CBEBEBAC@gatech.edu> + +In-Reply-To: +From: Jeremy Singher +Date: Fri, 15 May 2020 13:50:23 -0700 +Message-ID: +To: Libre-RISCV General Development +Subject: Re: [libre-riscv-dev] Introduction and Questions +X-BeenThere: libre-riscv-dev@lists.libre-riscv.org +X-Mailman-Version: 2.1.23 +Precedence: list +List-Id: Libre-RISCV General Development + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +Reply-To: Libre-RISCV General Development + +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: base64 +Errors-To: libre-riscv-dev-bounces@lists.libre-riscv.org +Sender: "libre-riscv-dev" + +PiBhIHRlZW55IHRpbnkgYml0IG92ZXIgd2hhdCB3ZSBpbml0aWFsbHkgcGxhbm5lZCwgdGhlbiA6 +KQoKVGhhbmtzIEx1a2UsIHRoZXNlIG51bWJlcnMgYXJlIGNsb3NlciB0byB3aGF0IHNlZW1zIHJl +YXNvbmFibGUgdG8gbWUuCkEgc2ltcGxlIHN1cGVyc2NhbGFyIGNvcmUgd2l0aCAyIEZQVSBmdW5j +dGlvbmFsIHVuaXRzIHNob3VsZCBiZSBhYmxlCnRvIGFjaGlldmUgNCBHRkxPUFMsIHNvIGEgdmVj +dG9yIHVuaXQgd291bGQgbmVlZCB0byBnbyBoaWdoZXIgdGhhbgp0aGF0IHRvIGJlIHdvcnRoIHRo +ZSBleHRyYSBzaWxpY29uLgoKPiBieSBvdmVybG9hZGluZyAibXVsdGktaXNzdWUiLiAgYSBoYXJk +d2FyZSBmb3ItbG9vcCBhdCB0aGUgaW5zdHJ1Y3Rpb24KPiBleGVjdXRpb24gcGhhc2Ugd2lsbCBw +dXNoIG11bHRpcGxlIHNlcXVlbnRpYWwgaW5zdHJ1Y3Rpb25zIGludG8gdGhlCj4gT29PIGVuZ2lu +ZSBmcm9tIGEgKnNpbmdsZSogaW5zdHJ1Y3Rpb24uCgpJIHNlZSwgc28gYSBmb3JtIG9mIG1pY3Jv +LW9wIGZpc3Npb24sIGVzc2VudGlhbGx5IHlvdSBhcmUgZGVjb2RpbmcKY29tcGxleCB2ZWN0b3Ig +KG9yICJHUFUiKSBpbnN0cnVjdGlvbnMgaW50byBhIHNlcXVlbnRpYWwgc3RyZWFtIG9mCnNpbXBs +ZSBtaWNyby1vcHM/IFRoaXMgc2VlbXMgbGlrZSBhIHByZXR0eSByZWFzb25hYmxlIGRlc2lnbiBw +b2ludC4KCj4gdGhlIERJViBwaXBlbGluZSB3aWxsIGJlLi4uIDggKG1heWJlIG1vcmUpLCBNVUwg +d2lsbCBiZSAyLCBBREQgKGV0Yy4pIHdpbGwgYmUgMS4KPiAqIGZldGNoOiAxLgo+ICogZGVjb2Rl +OiAxLgo+ICogaXNzdWUgYW5kIHJlZy1yZWFkOiAxIChtaW5pbXVtKS4KPiAqIGV4ZWN1dGU6IGJl +dHdlZW4gMSBhbmQgOCAobWF5YmUgbW9yZSkKPiAqIHdyaXRlOiAxIChtaW5pbXVtKQoKU28gdGhp +cyBpcyBqdXN0IGZvciB0aGUgcHJlbGltaW5hcnkgdGFwZW91dD8gSSB3b3VsZCBleHBlY3QgYW4g +T09PCmNvcmUgdGFyZ2V0aW5nIDFHSHorIHRvIGhhdmUgbW9yZSBwaXBlbGluZSBzdGFnZXMgdGhh +biB0aGlzICgxMCspLiBUaGUKQTcyLCBTa3lsYWtlLCBaZW4sIGFuZCBCT09NIGFsbCBzZWVtIHRv +IHRhcmdldCAxMCsgc3RhZ2VzLgoKPiBiYXNpY2FsbHkgdGhpcyBpcyB3aHkgd2UncmUgZG9pbmcg +T29PIGJlY2F1c2UgY29vcmRpbmF0aW5nIGFsbCB0aGF0IGluCj4gYW4gaW4tb3JkZXIgc3lzdGVt +IHdvdWxkIGJlIGFic29sdXRlIGhlbGwuCgpJJ20gYSBiaXQgY29uZnVzZWQgbm93LiBJbi1vcmRl +ciBleGVjdXRpb24gd2l0aCB2YXJpYWJsZS1sYXRlbmN5CmZ1bmN0aW9uYWwgdW5pdHMgY2FuIGJl +IGFjaGlldmVkIHdpdGggYSBzY29yZWJvYXJkLCBhbmQgdGhlIHBpcGVsaW5lCnN0YWdlcyB5b3Ug +ZGVzY3JpYmUgcmVtaW5kcyBtZSBvZiBhIGluLW9yZGVyIGNvcmUgd2l0aCBPT08gd3JpdGUtYmFj +ay4KSXMgdGhpcyB3aGF0IHlvdSBhcmUgZG9pbmc/IE9yIGFyZSB5b3UgcHVyc3VpbmcgdHJ1ZSBP +T08gZXhlY3V0aW9uCndpdGggcmVnaXN0ZXItcmVuYW1pbmc/Cgo+IGl0J3MgZG93biB1bHRpbWF0 +ZWx5IHRvIGhvdyB3aWRlIHRoZSByZWdpc3RlciBwYXRocyBhcmUsIGJldHdlZW4gdGhlCj4gUmVn +ZmlsZSBhbmQgdGhlIEZ1bmN0aW9uIFVuaXRzLiAgaWYgd2UgaGF2ZSBtdWx0aXBsZSBSZWdpc3Rl +ciBEYXRhCj4gQnVzZXMsIGFuZCBjYW4gaW1wbGVtZW50IHRoZSBtdWx0aS1pc3N1ZSBwYXJ0IGlu +IHRpbWUsIGl0J2xsIGJlIGNvZGVkCj4gaW4gYSBnZW5lcmFsLXB1cnBvc2UgZW5vdWdoIHdheSB0 +aGF0IHdlIGNvdWxkIGNvbnNpZGVyIDQtaXNzdWUuCj4gaG93ZXZlci4uLiB3aXRob3V0IHRoZSBy +ZWdpc3RlciBkYXRhIHBhdGhzLCB0aGVyZSdzIG5vIHBvaW50LgoKRmFpciBlbm91Z2guIEJhbGFu +Y2luZyB0aGUgdGhyb3VnaHB1dCBvZiBhbGwgdGhlIGNvbXBvbmVudHMgaW4gYSBPT08KY29yZSBp +cyB0cmlja3ksIGFuZCByZWdpc3RlciByZWFkIGNhbiBjZXJ0YWlubHkgYmUgYSBib3R0bGVuZWNr +LgoKPiBXZSBoYWQgc29tZSB1bmZvcnR1bmF0ZSBydW4taW5zIHdpdGggQmVya2VsZXkgYW5kIFJJ +U0NWIC0gYW5kIHdlIGRlY2lkZWQgdG8gZ28gd2l0aCBQT1dFUiBiZWNhdXNlIHdlIGhhdmUgYWNj +ZXNzIHRvIHNvbWUgaW1wb3J0YW50IHJlbGF0aW9ucyBhdCBJQk0KCkhhdmUgeW91IGxvb2tlZCBh +dCB0aGUgb3BlbiBSSVNDLVYgbWljcm8tYXJjaGl0ZWN0dXJlcyB0aG91Z2g/IEV2ZW4gaWYKdGhp +cyBjb3JlIHJ1bnMgUE9XRVIsIGl0IHNob3VsZCBiZSBub3QgdG9vIGRpZmZpY3VsdCB0byBwb3J0 +IGRlc2lnbgppZGVhcyBmcm9tIGV4aXN0aW5nIGNvcmVzLCB0byBhdm9pZCByZWludmVudGluZyB0 +aGUgd2hlZWwgZXZlcnl3aGVyZS4KCgoKT24gRnJpLCBNYXkgMTUsIDIwMjAgYXQgMToxMiBQTSBM +dWtlIEtlbm5ldGggQ2Fzc29uIExlaWdodG9uCjxsa2NsQGxrY2wubmV0PiB3cm90ZToKPgo+IGhp +IGplcmVteSwgd2VsY29tZS4KPgo+IGhlcmUgeW91IG1heSBoYXZlIG5vdGljZWQsIHRoZXJlIGFy +ZSB0d28gY2hpcHM6IHRoZSAxODBubSB0ZXN0IEFTSUMKPiB3aGljaCB3ZSBoYXZlIGEgdGlnaHQg +ZGVhZGxpbmUgdG8gbWVldCwgbWlkLWF1Z3VzdCB3ZSBuZWVkIHRvIGZyZWV6ZQo+IHRoZSBkZXNp +Z24gYW5kIGltbWVkaWF0ZWx5IG1vdmUgdG8gZG9pbmcgbGF5b3V0IHVzaW5nIENvcmlvbGlzMi4g +IHRoaXMKPiBvbmUgd2UgYXJlIGV4dHJlbWVseSB1bmxpa2VseSB0byBldmVuIGhhdmUgRlAgb3Bl +cmF0aW9ucy4KPgo+IGJleW9uZCB0aGF0IHdlIGhhdmUgYSBzZWNvbmQgQVNJQyB0byBkbywgdGhl +IHF1YWQtY29yZSBTTVAgODAwbWh6Cj4gZHVhbC1pc3N1ZS4gIHRoYXQncyB3aGVyZSB5b3Ugc2F3 +IHRoZSBudW1iZXJzIGZvci4KPgo+IE9uIEZyaSwgTWF5IDE1LCAyMDIwIGF0IDg6MzMgUE0gWWVo +b3dzaHVhIDx5aW1tYW51ZWwzQGdhdGVjaC5lZHU+IHdyb3RlOgo+Cj4gPiBJIGtub3cgd2UgaW5p +dGlhbGx5IHdlcmUgdGFyZ2V0aW5nIDVHRkxPUFMgZm9yIHRoZSBHUFUgb24gdGhlIGZpcnN0IHRh +cGVvdXQuCj4KPiB0aGlzIHdhcyB0byBiZSA1LTYgR01BQ3MgY2FwYWJpbGl0eSBmb3IgdGhlIHF1 +YWQtY29yZSBTTVAgODAwbWh6Cj4gZHVhbC1pc3N1ZSAoc2Vjb25kIHRhcmdldCkuICBob3dldmVy +Li4uICpzaGVlcGlzaCouLi4gd2Uga2luZGEKPiBkcmFzdGljYWxseSBvdmVyc2hvdCB0aGF0IG9u +IHRoZSBpbnRlcm5hbCBhcmNoaXRlY3R1cmUgOikgIGl0IHdhcyB0bwo+IGJlIDUtNiBHTUFDUyB3 +aGljaCBpcyBvZiBjb3Vyc2UgMTAtMTIgR0ZMT1BTIChGUCBNVUwgYW5kIEZQIEFERCBpbgo+IEZQ +TUFDIGNvdW50aW5nIGFzIDIpLgo+Cj4gYWxzbyBlYWNoIGNvcmUgLSBhbGwgZm91ciBvZiB0aGVt +IC0gaXMgYXJjaGl0ZWN0ZWQgdG8gaGFuZGxlIGEgbWluaW11bQo+IDEyOC1iaXQtd2lkZSBMT0FE +L1NUT1JFIGRhdGEgcGF0aCAoNHggRlAzMiksIGFuZCB0aGVyZSB3aWxsIGJlIDR4IEZQMzIKPiAt +IEZNQUNzIC0gcGVyIGNsb2NrIGN5Y2xlLCBiZWNhdXNlIHRoZXkgd2lsbCBiZSBpc3N1ZWQgYXMg +MnggNjQtYml0Cj4gb3BlcmF0aW9ucyAoMnggMzItYml0IEZQcyBpbiBlYWNoIDY0LWJpdCkgYW5k +IGl0IGlzIGR1YWwgaXNzdWUuCj4KPiA4MDBtaHogeCAyIGlzc3VlIHggMi0zMiBwZXIgNjQtYml0 +IHggNCA9IDEyLjggR01BQ3Mgd2hpY2ggeDIgYmVjYXVzZQo+IEZQTVVMIGFuZCBGUEFERCBpcyAy +IG9wcyA9IDI1LjYgR0ZMT1BzLgo+Cj4gYSB0ZWVueSB0aW55IGJpdCBvdmVyIHdoYXQgd2UgaW5p +dGlhbGx5IHBsYW5uZWQsIHRoZW4gOikKPgo+ID4gQmFzaWNhbGx5LCB0aGUgd2F5IHdl4oCZcmUg +ZG9pbmcgdGhlIEdQVSBpcyB0aGUgYWRkIGEgdmVjdG9yIEZQVSBhbG9uZyB3aXRoCj4gPiBhY2Nv +bXBhbnlpbmcgaW5zdHJ1Y3Rpb25zIGludG8gdGhlIGFjdHVhbCBDUFUuCj4KPiBieSBvdmVybG9h +ZGluZyAibXVsdGktaXNzdWUiLiAgYSBoYXJkd2FyZSBmb3ItbG9vcCBhdCB0aGUgaW5zdHJ1Y3Rp +b24KPiBleGVjdXRpb24gcGhhc2Ugd2lsbCBwdXNoIG11bHRpcGxlIHNlcXVlbnRpYWwgaW5zdHJ1 +Y3Rpb25zIGludG8gdGhlCj4gT29PIGVuZ2luZSBmcm9tIGEgKnNpbmdsZSogaW5zdHJ1Y3Rpb24u +Cj4KPiA+IFdlIHdvdWxkIHRoZW4ganVzdCB3cml0ZSB0aGUgZHJpdmVycyB0aGF0IHRyYW5zbGF0 +ZSB2YXJpb3VzIHNoYWRlcnMgYW5kIGRyYXdpbmcKPiA+IGNvbW1hbmRzIGludG8gdmVjdG9yIGlu +c3RydWN0aW9ucyB3aGljaCBjYW4gYmUgc2NoZWR1bGVkIG9uIHRoZSBzY29yZWJvYXJkLgo+Cj4g +cmF0aGVyIHRoYW4gaGF2aW5nIGEgcmlkaWN1bG91cyAiUmVtb3RlIFByb2NlZHVyZSBDYWxsIiBz +eXN0ZW0gdGhhdAo+IHBhY2tzIHVwIFZ1bGthbiAvIE9wZW5HTCBjb21tYW5kcyBpbnRvIGEgc2Vy +aWFsIG1hcnNoYWxsZWQgZGF0YSBzdHJlYW0KPiBmcm9tIHRoZSBhcHBsaWNhdGlvbiwgY29tbXVu +aWNhdGVkIHRvIHRoZSBrZXJuZWwsIHNoaXBwZWQgb3ZlciBQQ0llIG9yCj4gb3RoZXIgbWVtb3J5 +IGJ1cyBhcmNoaXRlY3R1cmUsIHVucGFja2VkIGF0IHRoZSBHUFUsIHR1cm5lZCBpbnRvCj4gaW5z +dHJ1Y3Rpb25zLCBleGVjdXRlZCwgYW5kIHRoZSByZXN1bHRzIHNoaXBwZWQgKmJhY2sqIHRoZSBv +dGhlciB3YXkKPgo+IHRvdGFsIGluc2FuaXR5Lgo+Cj4gPiBSZWFsaXN0aWNhbGx5LCBmb3Igb3Vy +IGZpcnN0IHRhcGVvdXQod2XigJlyZSB1c2luZyBHb29nbGXigJlzIHNodXR0bGUgc2VydmljZSBv +biAxODAwbm0gVFNNQyksCj4gPiB3ZeKAmWQgZG8gYSBDUFUgd2l0aCBubyB2ZWN0b3IgaW5zdHJ1 +Y3Rpb25zKGVmZmVjdGl2ZWx5IG5vIEdQVSkgZm9yIE9jdG9iZXIuCj4KPiBzdHJhaWdodCBQT1dF +UjkgaG93ZXZlciBzdGlsbCBPb08KPgo+ID4gU2luY2Ugd2XigJlyZSBkb2luZyBGT1NTIGRvd24g +dG8gdGhlIFZMU0kgZGVzaWduIGNlbGxzKHdl4oCZcmUgdXNpbmcgVGltZSBBbnNlbGzigJlzIE9w +ZW5QREsgYXMgYW4gaW50ZXJtZWRpYXRlKSwgd2UgbmVlZCBzb21lYm9keSB0byBkbyBhIFBMTC4K +Pgo+IGEgUHJvZmVzc29yIGZyb20gTElQNiBoYXMgb2ZmZXJlZCB0byBkbyB0aGF0LiAgaSBpbnRy +b2R1Y2VkIHlvdSB0byBoaW0KPiBhbmQgVGltLCB5ZWhvd3NodWEuCj4KPiA+IFdpdGggYSBGT1NT +IFBMTCBpbiBwbGFjZSwgd2UgY2FuIGdldCAzMDBNSFogb24gdGhlIGZpcnN0IHRhcGVvdXQuIFdl +4oCZcmUgZG9pbmcgYSBzaW5nbGUgY29yZSBmb3IgdGhlCj4gPiBmaXJzdCB0YXBlIG91dCwgd2l0 +aCA2IHN0YWdlcyBJIHRoaW5r4oCmCj4KPiB0aGUgRElWIHBpcGVsaW5lIHdpbGwgYmUuLi4gOCAo +bWF5YmUgbW9yZSksIE1VTCB3aWxsIGJlIDIsIEFERCAoZXRjLikgd2lsbCBiZSAxLgo+Cj4gKiBm +ZXRjaDogMS4KPiAqIGRlY29kZTogMS4KPiAqIGlzc3VlIGFuZCByZWctcmVhZDogMSAobWluaW11 +bSkuCj4gKiBleGVjdXRlOiBiZXR3ZWVuIDEgYW5kIDggKG1heWJlIG1vcmUpCj4gKiB3cml0ZTog +MSAobWluaW11bSkKPgo+IFBPV0VSOSBoYXMgdXBkYXRlIG1vZGUgZm9yIExEL1NUIHNvIHRob3Nl +IHdvdWxkIHRha2UgMSBleHRyYS4gIHNvbWUKPiBBTFUgb3BlcmF0aW9ucyBuZWVkIHRvIHdyaXRl +IHRvIHRoZSBDb25kaXRpb24gUmVnaXN0ZXIsIHRoYXQncyBhbm90aGVyCj4gZXh0cmEgMSB3cml0 +ZSAocG9zc2libHkpLgo+Cj4gZXRjLgo+Cj4gYmFzaWNhbGx5IHRoaXMgaXMgd2h5IHdlJ3JlIGRv +aW5nIE9vTyBiZWNhdXNlIGNvb3JkaW5hdGluZyBhbGwgdGhhdCBpbgo+IGFuIGluLW9yZGVyIHN5 +c3RlbSB3b3VsZCBiZSBhYnNvbHV0ZSBoZWxsLgo+Cj4gPiBXaXRoIG5vIFBMTCwgSSB0aGluayB3 +ZeKAmXJlIGxpbWl0ZWQgdG8gMjUtNTBNSHouCj4KPiBTdGFmIG1lbnRpb25lZCB0aGF0IHRoZXJl +J3Mgbm8gcmVhc29uIHdoeSB3ZSBzaG91bGQgbm90IGF0dGVtcHQgdG8KPiBkcml2ZSB0aGUgZXh0 +ZXJuYWwgQ0xLIGxpbmUgYXQgMTAwbWh6LiAgaXQgY291bGQgcG90ZW50aWFsbHkgcmFkaWF0ZQo+ +IEVNIGxpa2Ugc3RpbmssIGhvd2V2ZXIgaXQgbWlnaHQgd29yay4gIHdlJ2xsIHNlZSA6KQo+Cj4g +PiBTb21lIHNpbXBsZSBtYXRoIGNvdWxkIGdpdmUgYSBETUlQUyBlc3RpbWF0ZS4KPgo+IGl0J3Mg +ZG93biB1bHRpbWF0ZWx5IHRvIGhvdyB3aWRlIHRoZSByZWdpc3RlciBwYXRocyBhcmUsIGJldHdl +ZW4gdGhlCj4gUmVnZmlsZSBhbmQgdGhlIEZ1bmN0aW9uIFVuaXRzLiAgaWYgd2UgaGF2ZSBtdWx0 +aXBsZSBSZWdpc3RlciBEYXRhCj4gQnVzZXMsIGFuZCBjYW4gaW1wbGVtZW50IHRoZSBtdWx0aS1p +c3N1ZSBwYXJ0IGluIHRpbWUsIGl0J2xsIGJlIGNvZGVkCj4gaW4gYSBnZW5lcmFsLXB1cnBvc2Ug +ZW5vdWdoIHdheSB0aGF0IHdlIGNvdWxkIGNvbnNpZGVyIDQtaXNzdWUuCj4gaG93ZXZlci4uLiB3 +aXRob3V0IHRoZSByZWdpc3RlciBkYXRhIHBhdGhzLCB0aGVyZSdzIG5vIHBvaW50Lgo+Cj4gaXQg +Y29tZXMgZG93biB0byBob3cgbXVjaCB0aW1lIHdlIGhhdmUuCj4KPiBsLgo+Cj4gX19fX19fX19f +X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBsaWJyZS1yaXNjdi1kZXYg +bWFpbGluZyBsaXN0Cj4gbGlicmUtcmlzY3YtZGV2QGxpc3RzLmxpYnJlLXJpc2N2Lm9yZwo+IGh0 +dHA6Ly9saXN0cy5saWJyZS1yaXNjdi5vcmcvbWFpbG1hbi9saXN0aW5mby9saWJyZS1yaXNjdi1k +ZXYKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpYnJl +LXJpc2N2LWRldiBtYWlsaW5nIGxpc3QKbGlicmUtcmlzY3YtZGV2QGxpc3RzLmxpYnJlLXJpc2N2 +Lm9yZwpodHRwOi8vbGlzdHMubGlicmUtcmlzY3Yub3JnL21haWxtYW4vbGlzdGluZm8vbGlicmUt +cmlzY3YtZGV2Cg== +