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==