From: Luke Kenneth Casson Leighton Date: Fri, 27 Mar 2020 02:15:03 +0000 (+0000) Subject: [libre-riscv-dev] microwatt tlb X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e9ad2bd9bb96d78cbf28be14d061b997b42f3cb5;p=libre-riscv-dev.git [libre-riscv-dev] microwatt tlb --- diff --git a/e3/e5fd532687ef914da015849b39680d5ddcd341 b/e3/e5fd532687ef914da015849b39680d5ddcd341 new file mode 100644 index 0000000..f5725e1 --- /dev/null +++ b/e3/e5fd532687ef914da015849b39680d5ddcd341 @@ -0,0 +1,181 @@ +Return-path: +Envelope-to: publicinbox@libre-riscv.org +Delivery-date: Fri, 27 Mar 2020 02:15:29 +0000 +Received: from localhost ([::1] helo=libre-riscv.org) + by libre-riscv.org with esmtp (Exim 4.89) + (envelope-from ) + id 1jHeWu-00086h-Dh; Fri, 27 Mar 2020 02:15:28 +0000 +Received: from lkcl.net ([217.147.94.29]) + by libre-riscv.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) + (Exim 4.89) (envelope-from ) id 1jHeWs-00086b-JZ + for libre-riscv-dev@lists.libre-riscv.org; Fri, 27 Mar 2020 02:15:26 +0000 +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lkcl.net; + s=201607131; + h=Content-Type:Cc:To:Subject:Message-ID:Date:From:MIME-Version; + bh=ruTwrgq9UEvaVN7FD1O6dXhgS0hWAExF0LnSr4dzP4I=; + b=MFg96cPIaGDxPTPH4qXxwPVkeNdLe7FASqnGNZHWb4wlGAACXLZnn1m4xZWO4firxWq6LCQHGpitxp535fM8DYy0G109mSdw0vfsErJdY40iIr/ieza25C3RIROp5XQ52ouv0HZiS2PV9S0F4O2FYqSUi/Ajy0Wap0x/1b05xqs=; +Received: from mail-lf1-f53.google.com ([209.85.167.53]) + by lkcl.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) + (Exim 4.84_2) (envelope-from ) id 1jHeWs-0001rs-4E + for libre-riscv-dev@lists.libre-riscv.org; Fri, 27 Mar 2020 02:15:26 +0000 +Received: by mail-lf1-f53.google.com with SMTP id c5so6602244lfp.5 + for ; + Thu, 26 Mar 2020 19:15:09 -0700 (PDT) +X-Gm-Message-State: AGi0PubQ+T+vZV9iPUBmSug0/TpyMxghb5Agx7DkLtOZSFFXM6E3jpoY + CPUYEx34I7o8mSE4TuwulvLC4cH3NORL0uUzIt0= +X-Google-Smtp-Source: APiQypLYivLUMse20b+aeHtvuMsknJlrvcZDCtCuY+pzIRk5LKzeZf1zarEt4Om3T8YUh+65w8rt/DnkApWOIl4oTbE= +X-Received: by 2002:ac2:5e70:: with SMTP id a16mr3744672lfr.152.1585275304135; + Thu, 26 Mar 2020 19:15:04 -0700 (PDT) +MIME-Version: 1.0 +Received: by 2002:ab3:5808:0:0:0:0:0 with HTTP; Thu, 26 Mar 2020 19:15:03 + -0700 (PDT) +From: Luke Kenneth Casson Leighton +Date: Fri, 27 Mar 2020 02:15:03 +0000 +X-Gmail-Original-Message-ID: +Message-ID: +To: openpower-hdl-cores@mailinglist.openpowerfoundation.org +X-Content-Filtered-By: Mailman/MimeDel 2.1.23 +Subject: [libre-riscv-dev] microwatt tlb +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 + +Cc: 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" + +aGkgdGhpcyBpcyBmb3IgcGF1bCBtYWNrZXJyYXMgd2hlbiB5b3Ugc2VlIGl0LgoKZ3JlYXQgdG8g +a25vdyB5b3UncmUgd29ya2luZyBvbiBtaWNyb3dhdHQuIGJlZW4gc3VjaCBhIGxvbmcgdGltZSwg +YW5kCnJlYWxseSBnb29kIHRvIGVuY291bnRlciB5b3Ugb3ZlciB0aGUgdmlydHVhbCBjb2ZmZWUg +Y2hhdCBlYXJsaWVyIHRvZGF5LgoKaGVyZSdzIHRoZSBsaW5rIHRvIHRoZSByYWRpeCB3YWxrIGRv +YyBpIHdhcyB0YWxraW5nIGFib3V0OgpodHRwczovL2dpdGh1Yi5jb20vcG93ZXItZ2VtNS9nZW01 +L2Jsb2IvZ2VtNS1leHBlcmltZW50YWwvc3JjL2FyY2gvcG93ZXIvcmFkaXhfd2Fsa19leGFtcGxl +LnR4dAoKaXQgaXMgcmVhbGx5IGdvb2QuICBpbXBsZW1lbnRhdGlvbnMgYWxzbyBleGlzdCBpbiB0 +aGUgc2FtZSBjb2RlYmFzZSwgdGhlCmVhc2llc3Qgd2F5IHRvIHRyYWNrIHRoZW0gZG93biBpcyB2 +aWEgdGhlIGNvbW1pdCBsb2dzIGluIHRoZQpnZW01LWV4cGVyaW1lbnRhbCBicmFuY2guCgpmb3Ig +bGlicmVzb2Mgd2UgcmVhbGx5IHJlYWxseSBuZWVkIGNsZWFyIEhETCB0byAidHJhY2siIGlmIHlv +dSBrbm93IHdoYXQgaQptZWFuLCBiZWNhdXNlIHNvbWUgb2YgdGhlc2UgYWxnb3JpdGhtcyBhcmUg +dmVyeSB0aW1lY29uc3VtaW5nIHRvIGltcGxlbWVudApmcm9tIHNjcmF0Y2guCgpwYXVsLCBjb250 +aW51aW5nIHRoZSAoYnJpZWYpIGRpc2N1c3Npb24gc29tZXdoYXQsIGluIGEgcmVsYXRlZCB3YXks +IGkKcmVhbGx5IHdhbnRlZCB0byBtYWtlIHlvdSBhd2FyZSBvZiB0aGUgaW1wbGljYXRpb25zIGZv +ciBtaWNyb3dhdHQgb2YgdHJ5aW5nCnRvIG1ha2UgaXQgbXVsdGlzdGFnZSBwaXBlbGluZWQuCgpp +ZiB5b3UgbG9vayB1cCBqb24gZGF3c29uJ3MgSUVFNzU0IEZQVSBjb2RlIHlvdSBmaW5kIHRoYXQg +aXQgaXMgZW50aXJlbHkKRlNNIGJhc2VkLiAgYXMgc3VjaCBpdCBpcyBzdXBlcmIgZm9yIGZpdHRp +bmcgaW4gc21hbGwgRlBHQXMuCgpvdmVyIGEgNiBtb250aCBwZXJpb2QgaSBtb3JwaGVkIGl0IGZy +b20gaXRzIGh1bWJsZSBiZWdpbm5pbmdzIGludG8gYW4KYWJzb2x1dGUgYmVhc3Qgb2YgYSBmbGV4 +aWJseSByZXByb2dyYW1tYWJsZSBPYmplY3QgT3JpZW50YXRlZCBJRUVFNzU0IEZQCnRvb2xraXQs +IGNhcGFibGUgb2YgMTYsIDMyIG9yIDY0IGJpdCAoYW5kIGFueXRoaW5nIGVsc2UgeW91IGNhcmUg +dG8gYWRkKSwKYXJiaXRyYXJ5IHBpcGVsaW5lIGRlcHRoICpvciogRlNNIHN0eWxlIGVuZ2luZXMs +IFNJTUQgY2FwYWJpbGl0eSwgKmR5bmFtaWMqCnBpcGVsaW5lcywgdGhlIHdvcmtzLiAgSmFjb2Ig +aGVscGVkIGFkZCBhIGZhbnRhc3RpYyBoeWJyaWQgZnBkaXYsIHNxcnQKKmFuZCogcnNxcnQgZW5n +aW5lIGFsbCBpbiB0aGUgc2FtZSBwaXBlbGluZS4gIGl0J3Mgbm93IHdlbGwgbm9ydGggb2YgMTAs +MDAwCmxpbmVzIG9mIHB5dGhvbiBjb2RlIGFuZCB0YWtlcyBhIHdlZWsgdG8gcnVuIGFsbCB0aGUg +dW5pdCB0ZXN0cy4KCndoYXQgaSBsZWFybmVkIGFsb25nIHRoZSB3YXkgd2FzIHRoYXQgdGhlIEZT +TSBiYXNlZCBzeXN0ZW1zIHZzIHBpcGVsaW5lCnN5c3RlbXMgdHJhZGUgbG93IGdhdGUgY291bnQg +YW5kIHNpbXBsaWNpdHkgYW5kIGNvZGUgcmVhZGFiaWxpdHkgZm9yIHNwZWVkLAptdWNoIGhpZ2hl +ciBnYXRlIGNvdW50LCBhbmQsIHVubGVzcyAqYW5kIGV2ZW4qIGlmIE9PIGRlc2lnbiBpcyB1c2Vk +LCB0dXJuCmludG8gdGhlIG1vc3QgYXdmdWwgdW5yZWFkYWJsZSB1bm1haW50YWluYWJsZSB0b3Rh +bCB0cmFzaC4KCnJvY2tldGNoaXAgdW5mb3J0dW5hdGVseSwgZm9yIGFsbCB0aGUgY29tcGFjdG5l +c3MgYW5kIG90aGVyIGFkdmFudGFnZXMsIGlzCnBhcnRpY3VsYXJseSBiYWQsICpiZWNhdXNlKiBv +ZiB0aGUgT08gKGFuZCB0b3RhbCBsYWNrIG9mIGNvZGUgY29tbWVudHMpLgp0aGUgT08gaGllcmFy +Y2h5IG1ha2VzIGl0IGZsYXQtb3V0IGltcG9zc2libGUgZm9yIGFueW9uZSBidXQgaXRzIG9yaWdp +bmFsCmNyZWF0b3JzIHRvIHdvcmsgd2l0aC4gIChzb21ldGhpbmcgdG8gYWxlcnQgdGhlIGNoaXNl +bHdhdHQgdGVhbSBvbiwgdGhlcmUsCmFsdGhvdWdoIGZyb20gd2hhdCBpIGhhdmUgc2VlbiwgdGhl +IGNvZGUgY29tbWVudHMgaW4gY2hpc2Vsd2F0dCBhcmUgZGFtbgpnb29kKS4KCmFuZCB5ZXQgaWYg +eW91IGV2ZW4gcmVtb3RlbHkgdHJ5IGFueXRoaW5nIGxpa2UgbW9kZXJuIE9PIHByb2dyYW1taW5n +IGRlc2lnbgpzdHJhdGVnaWVzIGFuZCB0ZWN1bmlxdWVzIHdpdGggdGhlc2UgMTk4MHMgZXJhIGxh +bmd1YWdlcyAoSERMLCBWZXJpbG9nKSB5b3UKaW1tZWRpYXRlbHkgYWxzbyBydW4gaW50byBzZXJp +b3VzIGRpZmZpY3VsdGllcyBvZiBhIGRpZmZlcmVudCBraW5kLCB3aGljaCBpCndvbid0IGdvIGlu +dG8sIHJpZ2h0IG5vdy4KCnRoZSBib3R0b20gbGluZSBpczogYWRkaW5nIGV4dHJhIHBpcGVsaW5l +IHN0YWdlcyB0byBtaWNyb3dhdHQgbm90IG9ubHkKY29tcGxpY2F0ZXMgaXQgYW5kIG1ha2VzIGl0 +IHVucmVhZGFibGUgYW5kIHVubWFpbnRhaW5hYmxlLCBpdCBpbmNyZWFzZXMgdGhlCm51bWJlciBv +ZiBMVVRzIHJlcXVpcmVkIHRvIHRoZSBwb250IHdoZXJlIHlvdSB3aWxsIG5lZWQgdG8gY2FsbCBp +dCAid2F0dCIKb3IgIm1lZ2F3YXR0IgoKOikKCnJlZ2FyZGluZyBleGNlcHRpb25zIGFuZCB0cmFw +czogZm9yIGluLW9yZGVyIHBpcGVsaW5lZCBzeXN0ZW1zIHRoZXNlIGFyZSBhCmRhbW4gbnVpc2Fu +Y2UuCgpldmVyeSBzb2x1dGlvbiB0byBldmVyeSBwcm9ibGVtIGluIGFuIGlub3JkZXIgc3lzdGVt +IGlzOgoKc3RhbGwuCgp0aGF0J3MgaXQuCgphZnRlciBsZWFybmluZyBhYm91dCB0aGUgQ0RDNjYw +MCwgd2hpY2ggaXMgYSBkZWVwbHkgaW1wcmVzc2l2ZSBkZXNpZ24gdGhhdAp0YWtlcyBsaXRlcmFs +bHkgbW9udGhzIHRvIGJlZ2luIHRvIGNvbXByZWhlbmQsIGkgZGlzbGlrZSBpbm9yZGVyIHN5c3Rl +bXMKaW50ZW5zZWx5LgoKdGhlIGtleSB0aGluZyB0aGF0IGkgbGVhcm5lZCBmcm9tIE1pdGNoIEFs +c3VwIGFib3V0IGhvdyB0byBoYW5kbGUKZXhjZXB0aW9ucyBpczogeW91ICptdXN0KiBwcmV2ZW50 +IHRoZSBBTFUgKG9yIHdoYXRldmVyKSBmcm9tICJjb21taXR0aW5nIgppdHMgcmVzdWx0IHVudGls +IGl0IGlzIEdVQVJBTlRFRUQga25vd24gdGhhdCB0aGUgZXhjZXB0aW9uIHdpbGwgbm90IG9jY3Vy +LgoKdGhhdCBpcyB0aGUgYWJzb2x1dGUgY29yZSBjb25jZXB0IG9mIGV4Y2VwdGlvbnMgKGFrYSBp +bnRlcnJ1cHRzKSwgeW91IE1VU1QKYWNoaWV2ZSwgaW4gc29tZSBmdW5kYW1lbnRhbCB3YXkuCgp0 +aGlzIGlzIGRvbmUgaW4gYW4gT29PIGRlc2lnbiBieSBtYXJraW5nIGFuZCB0cmFja2luZyB0aGUg +b3BlcmF0aW9uIC0gYWxsCnRoZSB3YXkgZG93biB0aGUgcGlwZWxpbmUgLSB3aXRoICJjYW5jZWxs +YXRpb24gbWFza3MiIChhIGdsb2JhbCBJRCB3aGljaAp0cmF2ZWxzICp3aXRoKiB0aGUgcGFydGlh +bCByZXN1bHQgZGF0YSwgZG93biBhIGdpdmVuIHBpcGVsaW5lKQoKdGhpcyBpcyBrbm93biBhcyAi +c2hhZG93aW5nIiwgYW5kIGl0IGlzIG5vdCBvbmx5IHRoZSBvcGVyYXRpb24gdGhhdCAqbWlnaHQq +CmJlIGNhbmNlbGxlZCB0aGF0IGhhcyB0byBiZSAic2hhZG93bWFya2VkIiwgaXQgaXMgKmFsbCBm +b2xsb3dpbmcKaW5zdHJ1Y3Rpb25zIGFzIHdlbGwqIChoZW5jZSB0aGUgdGVybSAic2hhZG93Iiku +CgpzaGFkb3dlZCBvcGVyYXRpb25zIGFyZSByZWFsIGVhc3kgdG8gY2FuY2VsOiBwdWxsIHRoZSAi +Y2FuY2VsIiB3aXJlIHVwLCBhbmUKZXZlcnl0aGluZyB3aXRoIHRoZSByZXF1aXNpdGUgbWFzayBJ +RCBnZXRzIGEgZ2xvYmFsIHNpZ25hbCAid2hvb3BzIHdlIG5vCmxvbmdlciBuZWVkIHRvIHBhc3Mg +dGhpcyBkb3duIHRoZSBwaXBlbGluZSwgZHJvcCBpdCBvbiB0aGUgZmxvb3IiLgoKd2l0aCBhbGwg +ImZ1dHVyZSIgcGFydGlhbCAoYW5kIGNvbXBsZXRlZCBidXQgbm9uY29tbWl0dGVkKSByZXN1bHRz +IG5vdwpraWxsZWQsIHRoZSBQQyBjYW4gc2FmZWx5IGJlIHJlZGlyZWN0ZWQgYXQgdGhlIGV4Y2Vw +dGlvbiwgaW50ZXJydXB0LCBvciB0aGUKYWx0ZXJuYXRpdmUgYnJhbmNoLCBvciB3aGF0ZXZlcjog +dGhlc2UgYWxsIHVzZSAqZXhhY3RseSogdGhlIHNhbWUgc2hhZG93aW5nCnRlY2huaXF1ZS4KCnlv +dSBzdGFydCB0byBzZWUgd2h5IHRoZSBtYWpvcml0eSBvZiBpbm9yZGVyIHN5c3RlbXMgdXNlICJz +dGFsbCBzdGFsbCBzdGFsbApzdGFsbCBzdGFsbCIgYXMgdGhlIGJlLWFsbCBhbmQgZW5kLWFsbCAi +b25ubmUgYW5kIG9ubHkgdHJ1ZSBzb2x1dGlvbiIsCmhlcmU/IFsgaGFsbGVsdWphaCwgcHJhaXNl +IHRoZSBzdGFsbC4uLiBdIDopCgpiYXNpY2FsbHkgaWYgaSBoYXZlIGRpc2NvdXJhZ2VkIHlvdSBm +cm9tIHB1cnN1aW5nIHRoZSBwYXRoIG9mIGFkZGluZwptdWx0aXBsZSBwaXBlbGluZSBzdGFnZXMg +dG8gbWljcm93YXR0LCB0aGVuIGkgaGF2ZSBzdWNjZWVkZWQgaW4gd2hhdCBpIHNldApvdXQgdG8g +ZXhwbGFpbi4gIGJlY2F1c2UgbWljcm93YXR0J3MgdmFsdWUgaXMgbm90IGp1c3QgaXRzIHNtYWxs +IGNvZGUgc2l6ZSwKaXRzIHJlYWRhYmlsaXR5IGFuZCBjb21wYWN0bmVzcyBtYWtlcyBpdCBhbiBp +ZGVhbCByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24KKmFuZCosIGZ1cnRoZXJtb3JlLCBpdHMgY29t +cGxldGUgbGFjayBvZiBvcHRpbWlzYXRpb24gbm9ybWFsbHkgc2VlbiBpbgoic2ltcGxlIiBwaXBl +bGluZWQgZGVzaWducyBhY3R1YWxseSBzYXZlcyBvbiBnYXRlcyAvIEZQR0EgcmVzb3VyY2VzLgoK +dGhlIG1vbWVudCB5b3UgYWRkIGV4dHJhIHN0YWdlcywgYWxsIHRoYXQgZ29lcyBvdXQgdGhlIHdp +bmRvdy4KCmFuIGFzc29jaWF0ZSBhbmQgY29udHJpYnV0b3Igb24gb3VyIGxpc3QsIFNhbXVlbCBG +YWx2bywgdGF1Z2h0IG1lIHNvbWUKYXdlc29tZSB0cmlja3MuCgpoaXMgQ1BVcyBhcmUgaW5jcmVk +aWJsZSwgZGVzaWduZWQgaW4gdGhlIG1vc3QgYW1hemluZyBlbGVnYW50IGFuZCB1bnVzdWFsCndh +eXMuICBoZSB3cm90ZSBoaXMgb3duIFBMQSBzdHlsZSAibGFuZ3VhZ2UiICh3cml0dGVuIGluIGxp +c3ApIHdoaWNoIHRha2VzCnNwZWNpZmljYXRpb25zIChpbiBsaXNwIGxpc3RzKSBmb3IgZnVuY3Rp +b25hbGl0eSBhbmQgKmdlbmVyYXRlcyogVkhETApjb21iaW5hdG9yaWFsIGJsb2Nrcy4KCmhlIHVz +ZWQgdGhpcyB0b29sIHRvIGNyZWF0ZSBhIDY1MDItbGlrZSBwcm9jZXNzb3Igd2l0aCB2aXJ0dWFs +bHkgbm8KbWFudWFsbHkgd3JpdHRlbiBnbHVlIGxvZ2ljIChldmVuIHRoZSBkZWNvZGVyIHdhcyB3 +cml0dGVuIGluIHRoaXMgc2ltcGxlCnNwZWNpZmljYXRpb24pLCB0aGF0IGVhc2lseSBmaXRzIGlu +dG8gYW4gdWx0cmEgbG93IGNvc3QgSUNFNDAgeWV0IGhhcwptYXNzaXZlIGFtb3VudHMgb2Ygcm9v +bSB0byBzcGFyZSBmb3IgcGVyaXBoZXJhbHMuCgp0aGUga2V5IHRvIHRoZSBzdWNjZXNzIG9mIHRo +aXMgYXBwcm9hY2ggd2FzIHRoZSBoZWF2eSB0cmFkZW9mZiBvZiAqbm90Kgp1c2luZyBwaXBlbGlu +ZSBzdGFnZXMsIGJ1dCBlZmZlY3RpdmVseSBkb2luZyBhIEZTTSBzdHlsZSBlbnRpcmUgZXhlY3V0 +aW9uCmRlc2lnbi4gIGFjdHVhbGx5IGl0IHdhc24ndCBldmVuIGEgRlNNLCBpIHRoaW5rIGhlIHVz +ZWQgdGhlIHRlcm0gIlBMQSIuICBpCmFtIGdhcmJsaW5nIGl0LCBpdCB3YXMgYSB5ZWFyIGFnbywg +dGhlcmUgYXJlIHNvbWUga2V5d29yZHMgaSBoYXZlIG1pc3NlZApvdXQsIHlvdSBnZXQgdGhlIGlk +ZWEgdGhvdWdoLgoKd2hhdCBpIGFtIHJlYWxseSBzYXlpbmcgaXM6IHBsZWFzZSBkbyBzZXJpb3Vz +bHkgY29uc2lkZXIgc2ltcGx5IHN0YWxsaW5nIG9uCmFueXRoaW5nIHRoYXQgY291bGQgaGF2ZSBh +biBleGNlcHRpb24gdGhyb3duLiAgYXJyYW5nZSBmb3IgdGhlIGVudGlyZQpwaXBlbGluZSB0byBz +aW1wbHkgZ3JpbmQgdG8gYSBoYWx0LCAqZ2xvYmFsbHkqIGZyZWV6aW5nIHJpZ2h0IHRoZSB3YXkg +YmFjawp0byB0aGUgZGVjb2RlIHBoYXNlLCBvbmx5IHByb2NlZWRpbmcgd2hlbiBpdCBpcyBndWFy +YW50ZWVkIGtub3duLCAxMDAlLAp0aGF0IHRoZSBleGNlcHRpb24gd2lsbCBOT1Qgb2NjdXIuCgp0 +aGlzIGlzLCBiZWxpZXZlIGl0IG9yIG5vdCwgYW4gaW5kdXN0cnktd2lkZSAiYWNjZXB0YWJsZSIg +dGVjaG5pcXVlIGluIEFMTAppbi1vcmRlciBkZXNpZ25zLgoKbG9vayB1cCAibWluZXJ2YSBydjMy +IiBvbiBnaXRodWIgKGl0IGlzIHZlcnkgcmVhZGFibGUgY29kZSkgYW5kIGdyZXAgaXRzCnNvdXJj +ZSBmb3IgdGhlIHdvcmQgInN0YWxsIi4KCnlvdSB3aWxsIGZpbmQgYSAqY29tYmluYXRvcmlhbCog +Z2xvYmFsIHNpZ25hbCBwcm9wYWdhdGVzIHRocm91Z2hvdXQgKmV2ZXJ5KgpwaXBlbGluZSBzdGFn +ZSwgaW1wbGVtZW50aW5nIHRoaXMgInN0b3AgdGhlIHdvcmxkIGkgd2FudCB0byBnZXQgb2ZmISIK +aW5kdXN0cnktd2lkZSAic29sdXRpb24iLgoKbGl0ZXJhbGx5IGV2ZXJ5IGVmZm9ydCB0aGF0IGkg +aGF2ZSBzZWVuIHRoYXQgYXR0ZW1wdHMgKm5vdCogdG8gZm9sbG93IHRoYXQKInNvbHV0aW9uIiBm +b3IgaW5vcmRlciBkZXNpZ25zIGludm9sdmVzIHRoZSB3b3JkICJidXQiIGFuZCBpdCBnb2VzIGRv +d25oaWxsCmZyb20gdGhlcmUuCgpzdXJwcmlzaW5nLCBlaG4/IDopCgpsLgoKCgotLSAKLS0tCmNy +b3dkLWZ1bmRlZCBlY28tY29uc2Npb3VzIGhhcmR3YXJlOiBodHRwczovL3d3dy5jcm93ZHN1cHBs +eS5jb20vZW9tYTY4Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f +X19fCmxpYnJlLXJpc2N2LWRldiBtYWlsaW5nIGxpc3QKbGlicmUtcmlzY3YtZGV2QGxpc3RzLmxp +YnJlLXJpc2N2Lm9yZwpodHRwOi8vbGlzdHMubGlicmUtcmlzY3Yub3JnL21haWxtYW4vbGlzdGlu +Zm8vbGlicmUtcmlzY3YtZGV2Cg== +