From: Jeremy Singher Date: Fri, 15 May 2020 23:49:15 +0000 (-0700) Subject: Re: [libre-riscv-dev] Introduction and Questions X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d0977e3b24eaf56eb42f5ddb8c330e75b5211048;p=libre-riscv-dev.git Re: [libre-riscv-dev] Introduction and Questions --- diff --git a/5c/5b5fd639e95acc762307de6889f289666ea92a b/5c/5b5fd639e95acc762307de6889f289666ea92a new file mode 100644 index 0000000..56480cc --- /dev/null +++ b/5c/5b5fd639e95acc762307de6889f289666ea92a @@ -0,0 +1,185 @@ +Return-path: +Envelope-to: publicinbox@libre-riscv.org +Delivery-date: Sat, 16 May 2020 00:49:28 +0100 +Received: from localhost ([::1] helo=libre-riscv.org) + by libre-soc.org with esmtp (Exim 4.89) + (envelope-from ) + id 1jZk52-0004XA-I6; Sat, 16 May 2020 00:49:28 +0100 +Received: from mail-lj1-f176.google.com ([209.85.208.176]) + by libre-soc.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) + (Exim 4.89) (envelope-from ) + id 1jZk52-0004X1-0B + for libre-riscv-dev@lists.libre-riscv.org; Sat, 16 May 2020 00:49:28 +0100 +Received: by mail-lj1-f176.google.com with SMTP id f18so4000974lja.13 + for ; + Fri, 15 May 2020 16:49:27 -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; + bh=VDhrCYJ4iprEDt9UEsJOCb92QrG+zsPl9f/m/5QqhxI=; + b=kqHzYV6LQ2HRb2errk/uX6lVfr8CqdcE504dgjFqmfrcQL9TKRBRj2A5ZfSrZesuwO + lI0KHU+oEW7iZUjglpKfHoJ+MIYh4Pig5k3uWzntYLDSNs8dMqGAslUaCZC36e1tzsY7 + k67dVVDfBuBahxQYlY+PFQ3rs53tNf+7CnGHRxLB68Ucnbb78rnGf8bCDFFQmW6bALrd + xeG7rskSjHYq1JO6CmQ58UroW9XFAFMyEB9cz/aWFG/cC7GycFN3XUJnNQDdxEjvgAe8 + mG3MZmKOdDDZtVNZiedbeUVCraombV3FvEkrHcaoMSQ7P4H1xQlWr19F5tjJKh/j6Jzs + /QlA== +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; + bh=VDhrCYJ4iprEDt9UEsJOCb92QrG+zsPl9f/m/5QqhxI=; + b=KbWBnv63LUYPphdO+sNa3C1p5TsEVwvbjUDPm+Zz0HIuynahKvVYh/7gyFgiuyq35J + MYHDrykiDoqXSoVKoPgNV9R+ALX6i3+cKdbNjOdh9YlSwL4albZHZ5YayDYqy/jtCep6 + fQ6PtFofb6XjTYTnK7CVCX5quueMZZRp6uARgqkhR+VEouSTps1P6NqLlMrADObXKEqm + f7ZBGF0TOy0Z0C4RjySyCEbVFQHMUOW7o/0zO16/DCFIXLlG9xDk1AtIASdUxsyaUW3A + 61XprvMf7b3AEo1d89hCAGPWF3Nzyu9m66/SsBV1i1cD7ULEi+p5wYoJWUknEZP3C72S + dX7Q== +X-Gm-Message-State: AOAM530sqFbxshrYbVZT1JS/Sz4zUSbxCh6JtP+OgX04z11ku1okXlcL + +nweQts8QIpC6uNaDdJWv9lVfHqyh7tHbO+U764R6/sV +X-Google-Smtp-Source: ABdhPJzEMMxwurvSTvzosdmovpCAqjDw6H7TgYagBuP0I5/JPMy8kAKtF+n3S9pmuXUbSzC2+ovQj7NwB2oOlsizpYg= +X-Received: by 2002:a2e:b6d3:: with SMTP id m19mr3519087ljo.43.1589586566827; + Fri, 15 May 2020 16:49:26 -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 16:49:15 -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" + +PiBub3QgbWljcm8tb3BzLCAqYWN0dWFsKiBzY2FsYXIgYWRkIG9wcy4KCkkgdGhpbmsgd2UganVz +dCBoYXZlIGRpZmZlcmVudCB0ZXJtaW5vbG9neSBmb3IgdGhpcy4gVG8gbWUsIGEgbWljcm8tb3AK +aXMgdGhlIHNtYWxsZXN0IHVuaXQgb2YgY29tcHV0ZSB0aGF0IGlzIHBhc3NlZCB0aHJvdWdoIGEg +cGlwZWxpbmUsIGFuZAphIG1pY3JvLW9wIGNvdWxkIGluZGljYXRlIHRoYXQgdGhlIGNvcmUgc2hv +dWxkIHBlcmZvcm0gYSBzY2FsYXIgYWRkCm9wLiBJJ20gaGFwcHkgd2l0aCB5b3VyIGV4cGxhbmF0 +aW9uLCB0aG91Z2gsIHRoYW5rIHlvdS4KCj4gaXQncyBiYXNpY2FsbHkgYyBtYWNyb3MuLi4gYXBw +bGllZCB0byBoYXJkd2FyZS4KCkdvb2QgYW5hbG9neSwgdGhhbmtzLiBUaGUgb25lIGNvbmNlcm4g +SSBoYXZlIGlzIHRoYXQgdGhpcyAidmVjdG9yIG9wCmZpc3Npb24iIGFwcHJvYWNoIHdpbGwgcHVt +cCB0aGUgcGlwZWxpbmUgd2l0aCB0b25zIGFuZCB0b25zIG9mCnNjYWxhci1vcHMsIHdoaWxlIGEg +dHJhZGl0aW9uYWwgdmVjdG9yIGV4ZWN1dGlvbiBlbmdpbmUgd291bGQgbm90CmRlY29uc3RydWN0 +IHRoZSB2ZWN0b3IgaW5zdHJ1Y3Rpb24gaW50byBtYW55IHNjYWxhciBpbnN0cnVjdGlvbnMuCgpE +b2VzIHRoZSB2ZWN0b3IgcGlwZWxpbmUgdXNlIEFMTCB0aGUgc2FtZSBleGVjdXRpb24gcmVzb3Vy +Y2VzIGFzIHRoZQpzY2FsYXIgcGlwZWxpbmU/IFRoZSBzYW1lIGlzc3VlIHF1ZXVlcywgZnVuY3Rp +b25hbCB1bml0cywgcmVhZCBwb3J0cywKd3JpdGViYWNrIHBhdGhzPwoKPiA+IEhvdyBkb2VzIHRo +ZSBzY29yZWJvYXJkIGhhbmRsZSBhIFdBVyBoYXphcmQuLi4gdHdvIGluc3RydWN0aW9ucwo+ID4g +d3JpdGluZyB0aGUgc2FtZSByZWdpc3Rlcj8gRG9lcyB0aGUgc2Vjb25kIGluc3RydWN0aW9uIHdh +aXQgZm9yIHRoZQo+ID4gZmlyc3QgdG8gZmluaXNoPwoKPiBzaWdoIG92ZXIgYSB5ZWFyIGFnbyBp +IHVuZGVyc3Rvb2QgdGhpcyBlbm91Z2ggdG8gYmUgYWJsZSB0byBhbnN3ZXIuCj4gd2hhdCB3ZSB3 +aWxsIGhhdmUgdG8gZG8gaXMgc2ltcGx5IGlnbm9yZSB0aGUgb3B0aW1pc2F0aW9uIG9wcG9ydHVu +aXR5LgoKSG1tbSwgaWdub3JpbmcgV0FXIHdpbGwgc2lnbmlmaWNhbnRseSBsaW1pdCB0aGUgYWJp +bGl0eSBvZiB0aGUgY29yZSB0bwpleHBsb2l0IElMUCwgd2hpY2ggaXMgb25lIG9mIHRoZSBmdW5k +YW1lbnRhbCByZWFzb25zIGZvciBnb2luZyBPT08uCgo+IG5vIGl0IGRvZXMgbm90LiAgeW91IHdp +bGwgbmVlZCB0byBzdGF0ZSB0aGF0IHlvdSBhcmUgaGFwcHkgdG8gZ2l2ZQo+IGNyZWRpdCBpZiB5 +b3UgdXNlIHRoZSBib29rIGNoYXB0ZXJzLCBhbmQgdGhhdCBpZiB5b3UgcGFzcyB0aGVtIG9uIHlv +dQo+IHdpbGwgbGlrZXdpc2UgYXNrIHRoZSByZWNpcGllbnQgdG8gZ3VhcmFudGVlIHRoYXQgdGhl +eSBhbHNvIHdpbGwgZ2l2ZQo+IGNyZWRpdCB0byBNaXRjaCBBbHN1cC4KCk9mIGNvdXJzZSwgSSdt +IGdsYWQgdG8gaGF2ZSB0aGUgY29uZGl0aW9ucyBvZiB1c2UgQU9ULiBJdHMgaW5jcmVkaWJseQph +bm5veWluZyB3aGVuIG9uZSBpcyBwcm92aWRlZCBzb21lIGluZm9ybWF0aW9uLCBvbmx5IGZvciB0 +aGUgcHJvdmlkZXIKb2YgdGhlIGluZm8gdG8gY29tZSBiYWNrIG1vbnRocyBsYXRlciBhbmQgdGVs +bCB5b3UgIlJlbWVtYmVyIHRoYXQKZG9jdW1lbnQgSSBzZW50IHlvdSwgeWVhaCwgbWFrZSBzdXJl +IHlvdSBuZXZlciByZWZlcmVuY2UgaXQgaW4gYW55CnB1Ymxpc2hlZCB3b3JrIGV2ZXIiLgoKPiBI +ZXJlIGFyZSB0aGUgY2hhcHRlcnMuCgpUaGFua3MsIFllaG93c2h1YS4KCkJlc3QsCkplcmVteQoK +T24gRnJpLCBNYXkgMTUsIDIwMjAgYXQgMzo0OCBQTSBMdWtlIEtlbm5ldGggQ2Fzc29uIExlaWdo +dG9uCjxsa2NsQGxrY2wubmV0PiB3cm90ZToKPgo+IE9uIEZyaSwgTWF5IDE1LCAyMDIwIGF0IDEx +OjE1IFBNIEplcmVteSBTaW5naGVyIDx0aGVqc2luZ2hlckBnbWFpbC5jb20+IHdyb3RlOgo+ID4K +PiA+ID4gaXQncyBiYXNpY2FsbHkgYSBDcmF5IFZlY3RvciBMb29wCj4gPiA+IChWTCkgZXhjZXB0 +IHRoYXQgVkwsIHdoZW4gc2V0LCBhY3R1YWxseSAqUEFVU0VTKiB0aGUgUHJvZ3JhbSBDb3VudGVy +LAo+ID4gPiBhbmQgaXNzdWVzIE1VTFRJUExFIGluc3RydWN0aW9ucyAtIHVzaW5nIHRoZSBvbmUg +YXQgdGhlIFBDIGFzIGEKPiA+ID4gInRlbXBsYXRlIiAtIGJ1dCBpbmNyZW1lbnRpbmcgdGhlIG9w +ZXJhbmQgcmVnaXN0ZXIgbnVtYmVycwo+ID4gPiBzZXF1ZW50aWFsbHkgb24gZWFjaCBpdGVyYXRp +b24gb2YgdGhlIGxvb3AgZnJvbSAwIHRvIFZMLTEuCj4gPgo+ID4gU28gaWYgeW91IGRlY29kZSBh +IHZhZGQgaW5zdHJ1Y3Rpb24sIHdpdGggVkw9NCwgYW5kIGEgMS13aWRlIHBpcGVsaW5lLAo+ID4g +dGhlIGRlc2lnbiB3b3VsZCBzdGFsbCBpbnN0cnVjdGlvbiBmZXRjaCwgYW5kIGlzc3VlIDQgInNj +YWxhciIgYWRkCj4gPiBtaWNyby1vcHMgd2l0aCBpbmNyZW1lbnRpbmcgcmVnaXN0ZXIgaW5kaWNl +cz8KPgo+IG5vdCBtaWNyby1vcHMsICphY3R1YWwqIHNjYWxhciBhZGQgb3BzLgo+Cj4gPiBUaGF0 +IHNlZW1zIGxpa2UgaXQKPiA+IHNob3VsZCB3b3JrLCBhbHRob3VnaCB5b3Ugd291bGQgbG9zZSB0 +aGUgYWJpbGl0eSB0byBleHBsb2l0IHZlY3Rvcgo+ID4gY2hhaW5pbmcsIHNpbmNlIHBhdXNpbmcg +dGhlIFBDIHdvdWxkIHByZXZlbnQgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMKPiA+IGFmdGVyIHRo +ZSB2ZWN0b3IgaW5zdHJ1Y3Rpb24gZnJvbSBnZXR0aW5nIGlzc3VlZC4KPgo+IG5vcGUgOikgIGJl +Y2F1c2UgdGhlIE91dC1vZi1PcmRlciBzY29yZWJvYXJkIHRha2VzIGNhcmUgb2YgdGhlbS4KPiB0 +aGV5J3JlICpsaXRlcmFsbHkqIHNpbXBseSBhcyBpZiB5b3UgaGFkIGhhZCA0eCAob3IgOHgsIG9y +IDEyeCwgb3IKPiAxNngpIHNjYWxhciBBREQgbXVsdGktaXNzdWUgaW5zdHJ1Y3Rpb25zIHNob3Zl +ZCBpbnRvIHRoZSBleGVjdXRpb24KPiBlbmdpbmUuCj4KPiBhbnkgZm9sbG93aW5nIDR4IGluc3Ry +dWN0aW9ucyAob3IgaG93ZXZlciBtYW55KSAqd2lsbCogc3RpbGwgaGF2ZSB0aGUKPiByZWdpc3Rl +ciBudW1iZXJzIC0gZGlmZmVyZW50IG9yIG90aGVyd2lzZSAtIGFuZCB0aHVzICp3aWxsKiBoYXZl +IHRoZQo+IFJlYWQgYW5kIFdyaXRlIERlcGVuZGVuY3kgSGF6YXJkIHRyYWNraW5nIGFwcGxpZWQg +dG8gdGhlbS4KPgo+IGl0J3MgYmFzaWNhbGx5IGMgbWFjcm9zLi4uIGFwcGxpZWQgdG8gaGFyZHdh +cmUuCj4KPiA+IEkgbG9va2VkIGEgU2ltcGxlViBhCj4gPiB3aGlsZSBhZ28sIGFuZCB0byBtZSBp +dCBzZWVtZWQgbGlrZSB0aGUgZGlmZmVyZW5jZSB2cyBhIG5vcm1hbCB2ZWN0b3IKPiA+IGFyY2hp +dGVjdHVyZSB3YXMgdGhhdCBTaW1wbGVWIG1lcmdlZCB0aGUgdmVjdG9yIGFuZCBpbnRlZ2VyIHJl +Z2lzdGVyCj4gPiBmaWxlcy4KPgo+IG5vLCBpdCdzIHdhYWF5IG1vcmUgdGhhbiB0aGF0Lgo+Cj4g +PiA+IHRoaXMgaGFzICJpbXBsaWNpdCIKPiA+ID4gcmVnaXN0ZXItcmVuYW1pbmcgYXV0b21hdGlj +YWxseSBidWlsdC1pbiB0byB0aGUgZGVzaWduLiAgdGhlc2UgYXJlIHRoZQo+ID4gPiBGdW5jdGlv +biBVbml0IG9wZXJhbmQgbGF0Y2hlcy4gIHRoZXkgYXJlIGJlc3QgdGVybWVkICJuYW1lbGVzcwo+ +ID4gPiByZWdpc3RlcnMiIHJhdGhlciB0aGFuICJyZWdpc3Rlci1yZW5hbWluZyIuCj4gPgo+ID4g +SSB0aGluayBJIHVuZGVyc3RhbmQgd2hhdCB5b3UgYXJlIHNheWluZywgbXkgdGVybWlub2xvZ3kg +Zm9yIHRoaXMgaXMKPiA+IHRoYXQgdGhlIGNvcmUgaXMgInJlbmFtaW5nIiByZWdpc3RlcnMgaW50 +byB3aGF0IHlvdSBjYWxsIGluZmxpZ2h0Cj4gPiAibmFtZWxlc3MgcmVnaXN0ZXJzIi4gQXQgdGhl +IGVuZCBvZiB0aGUgZGF5LCB0aGUgcG9pbnQgaXMgdGhhdAo+ID4gcmVnaXN0ZXIgZGF0YSBpcyBz +dG9yZWQgbm90IGp1c3QgaW4gYSBsb2dpY2FsIHJlZ2lzdGVyIGZpbGUsCj4KPiBjb3JyZWN0Li4u +IGl0IGlzICJpbiBmbGlnaHQiLiAgdGhlIGRpc3RpbmN0aW9uIGlzIGltcG9ydGFudCBiZWNhdXNl +IGEKPiBsb3Qgb2YgcGVvcGxlIHRyeQo+IHRvICpleHBsaWNpdGx5KiBhZGQgcmVnaXN0ZXItcmVu +YW1pbmcgaGFyZHdhcmUsIHJlZ2lzdGVyIGNhY2hlcywgYW5kICphY3R1YWxseSoKPiByZW5hbWUg +dGhlIHJlZ2lzdGVycyBieSBwcm92aWRpbmcgYSBQUkYtQVJGIChwaHlzaWNhbCAvIGFyY2hpdGVj +dHVyYWwpCj4gcmVnaXN0ZXIgZmlsZSBuYW1pbmcgc2NoZW1lLgo+Cj4gd2UgbWFhYXkgaGF2ZSB0 +byBkbyB0aGF0IChiZWNhdXNlIHdlIHdpbGwgaGF2ZSBhIDEyOCBlbnRyeSByZWdmaWxlIGFuZAo+ +IHRoZSBEZXBlbmRlbmN5IE1hdHJpY2VzIG5lZWQgdG8gYmUgb2YgdGhlIHNpemUgb2YgdGhlIGFj +dHVhbCByZWdzIGluIHVzZSkuCj4KPiBob3dldmVyIGl0IHdpbGwgYmUgdG8gKkRPV05TSVpFKiB0 +aGUgcmVnaXN0ZXIgbnVtYmVycy4uLiAqTk9UKiAidXBzaXplIgo+IHRoZW0gYXMgaXMgbm9ybWFs +bHkgZG9uZSB3aXRoIGUuZy4geDg2Lgo+Cj4gPiBhbmQgdGhhdAo+ID4gdGhlIHNjaGVkdWxlciBj +YW4gYWdncmVzc2l2ZWx5IGV4ZWN1dGUgaW5zdHJ1Y3Rpb25zIE9PTyB3aGVuIHRoZWlyCj4gPiBv +cGVyYW5kcyBhcmUgYXZhaWxhYmxlLCBpbnN0ZWFkIG9mIGluIHNlcmlhbGl6aW5nIGV4ZWN1dGlv +biBpbiBwcm9ncmFtCj4gPiBvcmRlci4KPgo+IGNvcnJlY3QuCj4KPiA+IEhvdyBkb2VzIHRoZSBz +Y29yZWJvYXJkIGhhbmRsZSBhIFdBVyBoYXphcmQuLi4gdHdvIGluc3RydWN0aW9ucwo+ID4gd3Jp +dGluZyB0aGUgc2FtZSByZWdpc3Rlcj8gRG9lcyB0aGUgc2Vjb25kIGluc3RydWN0aW9uIHdhaXQg +Zm9yIHRoZQo+ID4gZmlyc3QgdG8gZmluaXNoPwo+Cj4gc2lnaCBvdmVyIGEgeWVhciBhZ28gaSB1 +bmRlcnN0b29kIHRoaXMgZW5vdWdoIHRvIGJlIGFibGUgdG8gYW5zd2VyLgo+IHdoYXQgd2Ugd2ls +bCBoYXZlIHRvIGRvIGlzIHNpbXBseSBpZ25vcmUgdGhlIG9wdGltaXNhdGlvbiBvcHBvcnR1bml0 +eS4KPgo+ID4gPiBNaXRjaCBBbHN1cCBoYWQgdG8gd3JpdGUgdHdvCj4gPiA+IGFkZGl0aW9uYWwg +Y2hhcHRlcnMsIGFzIGFuIGFkZGVuZHVtIHRvIEphbWVzIFRob3JudG9uJ3MgYm9vaywgIkRlc2ln +bgo+ID4gPiBvZiBhIENvbXB1dGVyIiwgaW4gb3JkZXIgdG8gY29ycmVjdCBQYXR0ZXJzb24ncyBt +aXNpbmZvcm1hdGlvbi4KPiA+Cj4gPiBEbyB5b3UgaGF2ZSBhIGxpbmsgdG8gdGhlIGFkZGVuZHVt +PyBJIGhhdmUgYSBwZGYgb2YgdGhlIGJvb2ssIGJ1dCBpdAo+ID4gZG9lc24ndCBzZWVtIHRvIGhh +dmUgdGhlIGFkZGVuZHVtLgo+Cj4gbm8gaXQgZG9lcyBub3QuICB5b3Ugd2lsbCBuZWVkIHRvIHN0 +YXRlIHRoYXQgeW91IGFyZSBoYXBweSB0byBnaXZlCj4gY3JlZGl0IGlmIHlvdSB1c2UgdGhlIGJv +b2sgY2hhcHRlcnMsIGFuZCB0aGF0IGlmIHlvdSBwYXNzIHRoZW0gb24geW91Cj4gd2lsbCBsaWtl +d2lzZSBhc2sgdGhlIHJlY2lwaWVudCB0byBndWFyYW50ZWUgdGhhdCB0aGV5IGFsc28gd2lsbCBn +aXZlCj4gY3JlZGl0IHRvIE1pdGNoIEFsc3VwLgo+Cj4gdGhlc2UgYXJlIHRoZSBjb25kaXRpb25z +IHVuZGVyIHdoaWNoIGkgcmVjZWl2ZWQgdGhlIGJvb2sgY2hhcHRlcnMgZnJvbQo+IE1pdGNoIEFs +c3VwLCBhbmQsIGFzIHRoZSBDb3B5cmlnaHQgaG9sZGVyLCBoZSBpcyBlbnRpdGxlZCB0byByZXF1 +ZXN0Cj4gYW55IGNvbmRpdGlvbnMgdGhhdCBoZSBzZWVzIGZpdC4KPgo+IGlmIHRoYXQncyBvayB3 +aXRoIHlvdSB0aGVuIGkgY2FuIHNlbmQgdGhlIGNoYXB0ZXJzIG9uIHRvIHlvdS4KPgo+IGwuCj4K +PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGxpYnJl +LXJpc2N2LWRldiBtYWlsaW5nIGxpc3QKPiBsaWJyZS1yaXNjdi1kZXZAbGlzdHMubGlicmUtcmlz +Y3Yub3JnCj4gaHR0cDovL2xpc3RzLmxpYnJlLXJpc2N2Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xp +YnJlLXJpc2N2LWRldgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f +X19fX18KbGlicmUtcmlzY3YtZGV2IG1haWxpbmcgbGlzdApsaWJyZS1yaXNjdi1kZXZAbGlzdHMu +bGlicmUtcmlzY3Yub3JnCmh0dHA6Ly9saXN0cy5saWJyZS1yaXNjdi5vcmcvbWFpbG1hbi9saXN0 +aW5mby9saWJyZS1yaXNjdi1kZXYK +