--- /dev/null
+Return-path: <libre-riscv-dev-bounces@lists.libre-riscv.org>
+Envelope-to: publicinbox@libre-riscv.org
+Delivery-date: Sat, 16 May 2020 22:38:18 +0100
+Received: from localhost ([::1] helo=libre-riscv.org)
+ by libre-soc.org with esmtp (Exim 4.89)
+ (envelope-from <libre-riscv-dev-bounces@lists.libre-riscv.org>)
+ id 1ja4Vd-00087F-9V; Sat, 16 May 2020 22:38:17 +0100
+Received: from lkcl.net ([217.147.94.29])
+ by libre-soc.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
+ (Exim 4.89) (envelope-from <lkcl@lkcl.net>) id 1ja4Vb-000879-Oh
+ for libre-riscv-dev@lists.libre-riscv.org; Sat, 16 May 2020 22:38:15 +0100
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lkcl.net;
+ s=201607131;
+ h=Content-Type:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version;
+ bh=ebLG0nqj6OyD5RE5QjDvf5rusdRRL9YEb0LKyJhW7rQ=;
+ b=Nl3sjp89DaCVss3sZVWNJpfyBOcbgTpz44BvdcTH12wX1scAeDDuJ+Yu4cVpSkKpJNlfMTwhguguhNgmUmibE4EMLyRn/174h1i5TsvTgMH5S9SJPqmLYVBrTZ9PKTh2KC3NY9YTaw7dLXeF56lu7yEIK0mlRscWIQfH0noBrjE=;
+Received: from mail-lj1-f172.google.com ([209.85.208.172])
+ by lkcl.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
+ (Exim 4.84_2) (envelope-from <lkcl@lkcl.net>) id 1ja4Vb-0007bA-C4
+ for libre-riscv-dev@lists.libre-riscv.org; Sat, 16 May 2020 21:38:15 +0000
+Received: by mail-lj1-f172.google.com with SMTP id b6so5918503ljj.1
+ for <libre-riscv-dev@lists.libre-riscv.org>;
+ Sat, 16 May 2020 14:37:59 -0700 (PDT)
+X-Gm-Message-State: AOAM530cQdmsuvIJD1stHDjrcDtJ/m2PsuzAStcXnT6Sd1Cx/XTp/h35
+ XIsCk5QM3xpXSz8whRJ8phtjK/pGK9WkazIl3es=
+X-Google-Smtp-Source: ABdhPJxIcDDPcglnlzJxc+I/L8v9iq5Bd/8aAn49rxOZdlJbOu7Y3KmSD4LMra/gjdMSvl/a637Lz5utE4lFjUmBANw=
+X-Received: by 2002:a2e:8056:: with SMTP id p22mr6143482ljg.266.1589665074004;
+ Sat, 16 May 2020 14:37:54 -0700 (PDT)
+MIME-Version: 1.0
+References: <13EDF987-9A19-4C96-89C2-6DB784CF2C96@gatech.edu>
+ <CAPweEDyDcmAJbJx+PKkL8MotPMNyHyFOEtuNOKP+V2PmmY5HvA@mail.gmail.com>
+ <CAPweEDyw+LSW2S4sKWk-V24NSHYe2qqWO+KFqikQ34Q1Guhaig@mail.gmail.com>
+ <CAPweEDweXSC5c_ROQ8a3Y4hQMaJYmD_jAriadcZk9PRrkjOXvA@mail.gmail.com>
+ <25AC8A2E-D48F-439F-AF9D-0EB3DC08D7CC@gatech.edu>
+ <CAPweEDx_TMOxQHLrhbdhnXsBE1s-u2mz3xD2DDFCMi6m9BZCZg@mail.gmail.com>
+ <CAEoCstRd+hLfF5YtUbnS2gukPxVAjmheJrZ29QvJD3y4Y928JQ@mail.gmail.com>
+In-Reply-To: <CAEoCstRd+hLfF5YtUbnS2gukPxVAjmheJrZ29QvJD3y4Y928JQ@mail.gmail.com>
+From: Luke Kenneth Casson Leighton <lkcl@lkcl.net>
+Date: Sat, 16 May 2020 22:37:40 +0100
+X-Gmail-Original-Message-ID: <CAPweEDxXGedm-4QwmU2UuYvb4G2nNaoAsy_P2eyviQ42pbmyXA@mail.gmail.com>
+Message-ID: <CAPweEDxXGedm-4QwmU2UuYvb4G2nNaoAsy_P2eyviQ42pbmyXA@mail.gmail.com>
+To: Libre-RISCV General Development <libre-riscv-dev@lists.libre-riscv.org>
+Subject: Re: [libre-riscv-dev] Scoreboard vs Tomasulo
+X-BeenThere: libre-riscv-dev@lists.libre-riscv.org
+X-Mailman-Version: 2.1.23
+Precedence: list
+List-Id: Libre-RISCV General Development
+ <libre-riscv-dev.lists.libre-riscv.org>
+List-Unsubscribe: <http://lists.libre-riscv.org/mailman/options/libre-riscv-dev>,
+ <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=unsubscribe>
+List-Archive: <http://lists.libre-riscv.org/pipermail/libre-riscv-dev/>
+List-Post: <mailto:libre-riscv-dev@lists.libre-riscv.org>
+List-Help: <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=help>
+List-Subscribe: <http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev>,
+ <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=subscribe>
+Reply-To: Libre-RISCV General Development
+ <libre-riscv-dev@lists.libre-riscv.org>
+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" <libre-riscv-dev-bounces@lists.libre-riscv.org>
+
+T24gU2F0LCBNYXkgMTYsIDIwMjAgYXQgOToxNiBQTSBKZXJlbXkgU2luZ2hlciA8dGhlanNpbmdo
+ZXJAZ21haWwuY29tPiB3cm90ZToKCj4gPiBIb3dldmVyLCB0aGUgc2NvcmVib2FyZCBpcyBsaW1p
+dGVkIGluIHRoYXQgaXQgZG9lcyBub3QgaGFuZGxlIFdBUiBhbmQgV0FXCj4gPiBoYXphcmRzIHZl
+cnkgd2VsbC4KPgo+ID4gdGhlIG9yaWdpbmFsIDY2MDAgaGFuZGxlcyBXQVIgZXh0cmVtZWx5IHdl
+bGwsIG9ubHkgc3RhbGxpbmcgb24gV2FXCj4gPiBjb25kaXRpb24sIGRldGVjdGlvbiB3aGljaCBk
+aWQgbm90IG1hdHRlciBncmVhdGx5IGJlY2F1c2UgdGhlIHBpcGVsaW5lcwo+ID4gd2VyZSBvbmx5
+IGF0IG1vc3QgMiBzdGFnZXMgbG9uZyBhbnl3YXkgKE1pdGNoIG9ubHkgbm90aWNlZCBhZnRlciBy
+ZXJlYWRpbmcKPiA+IGxhc3QgeWVhciB0aGF0IHRoZSBGUCBBREQgb2YgdGhlIDY2MDAgd2FzIDIg
+c3RhZ2UgcGlwZWxpbmVkLiAgbm8gYWNhZGVtaWMKPiA+IGxpdGVyYXR1cmUgaGFzIGFja25vd2xl
+ZGdlZCBvciBub3RpY2VkIHRoaXMpLgo+Cj4gSSB3b3VsZCBhcmd1ZSB0aGF0IHRoZSBDREM2NjAw
+IGhhbmRsZXMgV0FSIGJldHRlciB0aGFuIGFuIGluLW9yZGVyCj4gbWFjaGluZSwgYnV0IG5vdCBi
+ZXR0ZXIgdGhhbiBhIG1hY2hpbmUgd2l0aCBmdWxsIHJlbmFtaW5nLgoKSmVyZW15OiA2NjAwIGRl
+c2lnbnMgKmRvKiBoYXZlIHJlZ2lzdGVyICJyZW5hbWluZyIuICBpIHNhaWQgYWxyZWFkeSwKYSBu
+dW1iZXIgb2YgdGltZXMuICBhbmQgaWYgeW91IGhhdmUgc3R1ZGllZCBhbmQgbGlzdGVuZWQgdG8g
+dGhlIEFjYWRlbWljCmxpdGVyYXR1cmUgLSBhbmQgYmVsaWV2ZSBpdCAtIHlvdSBhcmUgbWlzaW5m
+b3JtZWQgYnkgdGhhdCBsaXRlcmF0dXJlLCBhbmQgd2lsbApjb250aW51ZSB0byBiZSBtaXNpbmZv
+cm1lZCBieSB0aGF0IGxpdGVyYXR1cmUuCgpwbGVhc2UgdW5kZXJzdGFuZDogaSBoYXZlIHNwZW50
+IG92ZXIgbmluZSBtb250aHMgc3R1ZHlpbmcgdGhpcywgbGVhcm5pbmcKZnJvbSBNaXRjaCBBbHN1
+cCwgb25lIG9mIHRoZSB3b3JsZCdzIGxlYWRpbmcgaGlnaC1wZXJmb3JtYW5jZSBjb21wdXRpbmcK
+YXJjaGl0ZWN0cywgaW1wbGVtZW50aW5nIHRoaXMgYW5kIGl0J3Mgbm90IGdvaW5nIHRvIGdldCBj
+aHVja2VkIG91dCB0bwppbXBsZW1lbnQgc29tZXRoaW5nIHRoYXQgdGFrZXMgc2l4IE1PTlRIUyB0
+byBmdWxseSB1bmRlcnN0YW5kIGlzIGEKYmV0dGVyIGRlc2lnbiwgdG8gYmUgcmVwbGFjZWQgYnkg
+c29tZXRoaW5nIHRoYXQgd291bGQgdGFrZSBhbm90aGVyIHNpeAptb250aHMgdG8gaW1wbGVtZW50
+ICphbmQgd2UgdGhlbiBjb3VsZCBub3QgZG8gbXVsdGktaXNzdWUgb24gdG9wIG9mIGl0Ki4KCnBs
+ZWFzZSB0aGVyZWZvcmUgdGFrZSB0aGUgdGltZSB0byB1bmRlcnN0YW5kIHRoaXMgZGVzaWduLCBw
+YXJ0aWN1bGFybHkgd2hlbgp3ZSBhcmUgcmlnaHQgaW4gdGhlIG1pZGRsZSBvZiBhIHRpbWUtY3Jp
+dGljYWwgZGVhZGxpbmUuCgo+IEluIHRoZQo+IENEQzY2MDAsIHRoZSBzY29yZWJvYXJkIHdvdWxk
+IGJsb2NrIHRoZSBjb21wbGV0aW9uIG9mIHRoZSBXIGluc3QgdW50aWwKPiB0aGUgUiBpbnN0IGhh
+cyByZWFkIGl0cyBvcGVyYW5kcy4gSW4gVG9tYXN1bG8sIHRoZSBXIGluc3QgY2FuIHByb2NlZWQK
+PiBpbW1lZGlhdGVseSBiZWZvcmUgdGhlIFIgaW5zdCBpcyByZWFkeSwgc2luY2UgdGhlIGRlc3Rp
+bmF0aW9uIHJlZ2lzdGVyCj4gaXMgcGh5c2ljYWxseSByZW5hbWVkLgoKSmVyZW15OiB0aGUgInJl
+bmFtaW5nIiBjYXJyaWVkIG91dCBieSB0aGUgNjYwMCBkb2VzIGV4YWN0bHkgdGhpcyBzYW1lCmpv
+Yi4KCkFjYWRlbWljcyB1bmZvcnR1bmF0ZWx5IGhhdmUgKm9ubHkqIHN0dWRpZWQgdGhlICpwYXRl
+bnQqIC0gbm90IFRob3JudG9uJ3MKYm9vayBub3IgcmVhZCBNaXRjaCBBbHN1cCdzIGJvb2sgY2hh
+cHRlcnMgd2hpY2ggaGUgd3JvdGUgYmFzZWQgb24gMzArCnllYXJzIGV4cGVyaWVuY2Ugb2YgaW1w
+bGVtZW50aW5nIDY2MDAtc3R5bGUgZXhlY3V0aW9uIGluIHRoZSA4ODEwMCwKQU1EIEs5IGFuZCBB
+TUQgT3B0ZXJvbiBTZXJpZXMgb2YgQ1BVcy4KCnRoZSA2NjAwIHBhdGVudCAqT05MWSogY292ZXJz
+IHRoZSBRLVRhYmxlcy4KCnRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgUS1UYWJsZXMgZG9lcyAqTk9U
+KiBpbmNsdWRlIHRoZSBDb21wdXRhdGlvbiBVbml0cwp3aGVyZSB0aGUgb3BlcmFuZCBsYXRjaGVz
+IGFyZS4KCnRoZXNlIGxhdGNoZXMgKkFSRSogdGhlICJyZW5hbWVkIHJlZ2lzdGVycyIgKGFjdHVh
+bGx5LCBuYW1lbGVzcyByZWdpc3RlcnMpLgoKPiA+ICBST0IgaXMgYSBDQU0sCj4KPiBXaGF0PyBU
+aGlzIGlzIG5vdCB0cnVlLiBJbnN0cnVjdGlvbnMgaW4gZmxpZ2h0IHRyYWNrIHRoZWlyIGluZGV4
+IGluCj4gdGhlIFJPQiwgYXQgY29tcGxldGlvbiwgdGhleSB3cml0ZSBzdWNjZXNzIGJpdCBhY2Nv
+cmRpbmcgdG8gdGhlIGluZGV4Cj4gdGhleSBoYXZlLiBOb3QgYSBDQU0uIFNpbXBsZSBhZGRyZXNz
+ZWQgd3JpdGUuCgphaCBhcHByZWNpYXRlZCB0aGUgY29ycmVjdGlvbi4gIGkga25ldyB0aGVyZSB3
+ZXJlIENBTXMgc29tZXdoZXJlLgp3aGVuIGkgZGlzY292ZXJlZCB0aGF0LCBpIGRyb3BwZWQgZnVy
+dGhlciBpbnZlc3RpZ2F0aW9uLgoKaSBhbSBob3dldmVyIGF3YXJlIHRoYXQgaWYgeW91IHdpc2gg
+dG8gZG8gbXVsdGktaXNzdWUsIHRoZSBST0Igd2lsbCBuZWVkCnRvIGJlIG11bHRpLXBvcnRlZCBT
+UkFNLiAgd2l0aG91dCBtdWx0aS1wb3J0aW5nIHRoZSBTUkFNLCB5b3Ugc2ltcGx5CmNhbm5vdCB3
+cml0ZSBtdWx0aXBsZSBlbnRyaWVzLgoKdGhpcyBpcyB3aGVyZSB0aGUgcHJvYmxlbXMgKHJlYWQ6
+IG5pZ2h0bWFyZXMpIGZvciBUb21hc3VsbyBzdGFydCB0byBtYW5pZmVzdCwKYW5kIHByb2dyZXNz
+IGZyb20gdGhlcmUgdGhyb3VnaCBtdWx0aXBsZSBDb21tb24gRGF0YSBCdXMgY2hhbm5lbHMgaW50
+bwptdWx0aS1wb3J0ZWQgKE54UiwgTnhXKSBDQU1zIGF0IHRoZSBSZXNlcnZhdGlvbiBTdGF0aW9u
+IGxldmVsLgoKaSd2ZSBiZWVuIHRocm91Z2ggdGhpcywgb2ssIG92ZXIgMTggbW9udGhzIGFnby4K
+CmJ5IGNvbnRyYXN0LCB3aGVuIGNvbnZlcnRlZCB0byBzaW5nbGUtYml0IHVuYXJ5IHZlY3RvcnMs
+IGVhY2ggZW50cnkgaW4gdGhlCk1hdHJpY2VzIChjb3ZlcmVkIGJ5IGEgc2luZ2xlIFNSIE5BTkQg
+bGF0Y2gpIGlzICppbmRlcGVuZGVudCouICBtdWx0aXBsZQpvZiB0aG9zZSBtYXkgYmUgc2V0IGlu
+IGEgc2luZ2xlIGN5Y2xlLgoKdGhlcmUgaGFzIGJlZW4gYSAqbWFzc2l2ZSogYW1vdW50IG9mIHRo
+b3VnaHQgZ29uZSBpbnRvIHRoaXMsIG9rPwoKCj4gPiBnaXZlbiB0aGF0IEludGVsIHByb2Nlc3Nv
+cnMgdXNlIFRvbWFzdWxvLCB3ZSBzdGFydCB0byBzZWUgd2h5IEludGVsCj4gPiBwcm9jZXNzb3Jz
+IHN1Y2sgc28gbXVjaCBwb3dlci4KPgo+IFBvd2VyIGNvbnN1bXB0aW9uIG9uIGEgcHJvY2Vzc29y
+IGlzIHByaW1hcmlseSBmcm9tIGhpZ2ggc3dpdGNoaW5nCj4gcmF0ZXMgb24gbGFyZ2UgcmVnaXN0
+ZXIgZmlsZXMsIGFuZCBTUkFNIGxlYWthZ2UuCgpnaXZlbiB0aGF0IHdlJ3JlIHBsYW5uaW5nIGFy
+b3VuZCAyOCBGdW5jdGlvbiBVbml0cyBhbmQgaGF2ZSBhIDEyOC1lbnRyeQpyZWdpc3RlciBmaWxl
+LCB0aGUgY2FsY3VsYXRpb25zIHRoYXQgaSBkaWQgZm9yIHRoYXQgd291bGQgcHV0IHRoZSBEZXBl
+bmRlbmN5Ck1hdHJpY2VzIGFyb3VuZCBhIHdob3BwaW5nIDUwLDAwMCBnYXRlcywgdXNpbmcgU1Ig
+TkFORCBMYXRjaGVzLgoKKGlmIHdlIGRpZCBpdCBhcyBERkZzIGl0IHdvdWxkIGJlIGFuIHVuYWNj
+ZXB0YWJsZSAyNTAsMDAwIGdhdGVzKQoKPiBUaGUgc2NoZWR1bGluZyBsb2dpYyBpcyBhIG1pbmlz
+Y3VsZSBwb3J0aW9uLgoKbm90IGZvciB0aGUgbGFyZ2Utc2NhbGUgb3V0LW9mLW9yZGVyIHN5c3Rl
+bXMgdGhhdCB3ZSBhcmUgcGxhbm5pbmcgdG8KZG8sIGl0J3Mgbm90LApkdWUgdG8gdGhlIGxhcmdl
+IHNpemVkIEdQVSByZWdpc3RlciBmaWxlICgxMjggZW50cmllcy4gIGFjdHVhbGx5IDJ4CjEyOCAt
+IDEyOCBGUCwKMTI4IElOVCkuCgp3ZSBtYXkgaGF2ZSB0byAqZG93biotc2NhbGUgdmlhIGEgcmVn
+ZmlsZSBjYWNoZSB0byBjb3BlIHdpdGggdGhhdC4KZGlzY3Vzc2lvbiBmb3IgYW5vdGhlciB0aW1l
+LgoKCj4gSW50ZWwgY29yZXMgYXJlIHBvd2VyLWh1bmdyeSBiZWNhdXNlCj4gaGlzdG9yaWNhbGx5
+IHRoZXkgaGF2ZSB0YXJnZXRlZCB0aGUgZGVza3RvcC93b3Jrc3RhdGlvbiBtYXJrZXQsIGFuZCBk
+bwo+IG5vdCBoYXZlIGFzIG1hbnkgZGVjYWRlcyBvZiBleHBlcmllbmNlIGFzIG90aGVyIGZpcm1z
+IG9wdGltaXppbmcgZm9yCj4gcG93ZXItY29uc3RyYWluZWQgZW52aXJvbm1lbnRzLgoKYXBwcmVj
+aWF0ZWQgdGhlIGluc2lnaHQuCgo+IEFsc28gYWxtb3N0IGFsbCBtb2Rlcm4gT09PIGNvcmVzIHVz
+ZSBUb21hc3VsbyBiZWNhdXNlIFRvbWFzdWxvIGlzCj4gYmV0dGVyIGF0IGF2b2lkaW5nIGZhbHNl
+IGhhemFyZHMgY29tcGFyZWQgdG8gc2NvcmVib2FyZGluZy4KCmluIHRoZSB2ZXJzaW9ucyBvZiBz
+Y29yZWJvYXJkcyBpbXBsZW1lbnRlZCBieSBhY2FkZW1pY3MgLSBiZWNhdXNlIHRoZXkKZmFpbCB0
+byBjb21wcmVoZW5kIHRoZW0gcHJvcGVybHkgLSBiZWNhdXNlIHRoZXkgb25seSByZWFkIHRoZSBw
+YXRlbnQKb24gUS1UYWJsZXMgLSB5ZXMuCgppbiB0aGUgdmVyc2lvbiB0aGF0IE1pdGNoIEFsc3Vw
+IC0gYSB3b3JsZCBsZWFkaW5nIGV4cGVydCBvbiBTY29yZWJvYXJkCk1lY2hhbmljcyAtIHRhdWdo
+dCBtZToKCm5vLgoKYWxzbywgdGhlIElJVCBNYWRyYXMgUklTRSBHcm91cCBTaGFrdGkgRS1DbGFz
+cyBwcm9jZXNzb3IgaXMgKmFsc28qIGEKc2NvcmVib2FyZCBkZXNpZ24uICB0aGlzIHdhcyBkZXNp
+Z25lZCAiZnJvbSBmaXJzdCBwcmluY2lwbGVzIiBieSBQcm9mZXNzb3IKS2FtYXRvdGksIGFuZCBp
+dCB3YXMgb25seSB0aHJvdWdoIGxlYXJuaW5nIGZyb20gTWl0Y2ggdGhhdCBpIHdhcyBhYmxlCnRv
+IHJlY29nbmlzZSB3aGF0IGhlIGhhZCBkb25lIGFzIGJlaW5nIGlkZW50aWNhbCB0byBhIDY2MDAg
+c2NvcmVib2FyZC4KCj4gVG9tYXN1bG8KPiBhbHNvIG1ha2VzIGl0IGVhc2llciB0byBpbXBsZW1l
+bnQgcHJlY2lzZSB0cmFwcywgc29tZXRoaW5nIHdoaWNoIGlzCj4gbm90b3Jpb3VzbHkgY2hhbGxl
+bmdpbmcgIHdpdGgganVzdCBhIHNjb3JlYm9hcmQuCgpubyBpdCBpcyBub3QuICB0aGlzIGlzICp5
+ZXQgYWdhaW4qIGNvbXBsZXRlIGZhY3R1YWwgbWlzaW5mb3JtYXRpb24gYW5kIGlnbm9yYW5jZQpm
+cm9tIEFjYWRlbWljIGxpdGVyYXR1cmUuCgpjYW4gaSBhc2s6IGhhdmUgeW91IHJlYWQgUGF0dGVy
+c29uJ3MgYm9vaz8gIHRoaXMgaXMgdGhlIHVzdWFsIHBsYWNlIHdoZXJlCm1vc3QgcGVvcGxlIGdl
+dCB0aGVpciBtaXNpbmZvcm1hdGlvbiBmcm9tLiAgdGhlIHJlbGVhc2Ugb2YgdGhpcyBtaXNpbmZv
+cm1hdGlvbgp3YXMgd2h5IE1pdGNoIEFsc3VwIC0gYSB2ZXJ5IHBpc3NlZC1vZmYgYW5kIGV4YXNw
+ZXJhdGVkIE1pdGNoIC0gd3JvdGUgdGhvc2UKdHdvIGNoYXB0ZXJzLCBiYWNrIGFyb3VuZC4uLiAy
+MDA4IChpIHRoaW5rKS4KCnByZWNpc2UgZXhjZXB0aW9ucywgdHJhcHMsIGludGVycnVwdHMsIGJy
+YW5jaCBzcGVjdWxhdGlvbiBhbmQgcHJlZGljYXRpb24gbWF5CmFsbCBiZSBhY2hpZXZlZCB0aHJv
+dWdoICJzaGFkb3dpbmciLiAgc2VlIHRoZSBsYXR0ZXIgcGFydCBvZiB0aGUgMm5kIGNoYXB0ZXIg
+b2YKTWl0Y2gncyBib29rLgoKc2VlIHRoZSBzZWN0aW9uICJTaGFkb3dpbmciIGluIHRoaXMgcGFn
+ZToKaHR0cHM6Ly9saWJyZS1zb2Mub3JnLzNkX2dwdS9hcmNoaXRlY3R1cmUvNjYwMHNjb3JlYm9h
+cmQvCgppdCdzIHZlcnkgc2ltcGxlOiB5b3UgaG9sZCB3cml0ZSB1bnRpbCBzdWNoIHRpbWUgYXMg
+dGhlIG9wcG9ydHVuaXR5IGZvciAiZGFtYWdlIgppcyBjbGVhcmVkLiAgT3BlcmFuZCBGb3J3YXJk
+aW5nIGFsbG93cyBpbnN0cnVjdGlvbnMgdG8gcnVuIGFoZWFkLCB1c2luZyByZXN1bHRzCnRoYXQg
+d291bGQgb3RoZXJ3aXNlIGhhdmUgdG8gYmUgcmVjZWl2ZWQgb25seSBmaXJzdCBieSBnb2luZyB0
+aHJvdWdoCnRoZSBSZWdmaWxlLgoKKnRoaXMgaXMgYWxyZWFkeSBpbXBsZW1lbnRlZCogYW5kIHRo
+ZSB1bml0IHRlc3RzIGRlbW9uc3RyYXRlZCBpdCBhcwoqZnVsbHkgZnVuY3Rpb25hbCoKCgo+IExl
+dHMgYmUgY2xlYXIgaGVyZS4gVGhlIENEQzY2MDAgQVZPSURTIFdBUiBhbmQgV0FXIGhhemFyZHMg
+YnkgQkxPQ0tJTkcKPiB5b3VuZ2VyIGluc3RydWN0aW9ucyAoU2VlIHBnMyBpbiBNaXRjaCBBbHN1
+cCdzIHRleHQpLiBUb21hc3VsbydzCj4gc3VwcG9ydHMgT09PIGV4ZWN1dGlvbiBQQVNUIFdBUiBh
+bmQgV0FXIGhhemFyZHMsIGVuYWJsaW5nIHRoZSBjb3JlIHRvCj4gZXhwbG9pdCBtb3JlIElMUCBh
+Y3Jvc3MgaXRzIGZ1bmN0aW9uYWwgdW5pdHMuCgp0aGlzIGlzIG9ubHkgYmVjYXVzZSB0aGUgMTk2
+NSBDREM2NjAwIGRpZCBub3QgaGF2ZSBhbiBPcGVyYW5kIEZvcndhcmRpbmcgQnVzCihpbnN0ZWFk
+IGl0IHVzZWQgdGhlIHJlZ2ZpbGUgYXMgYSBzYW1lLWNsb2NrIGZvcndhcmRpbmcgYnVzLCBieSBy
+ZWFkaW5nIG9uIG9uZQplZGdlIGFuZCB3cml0aW5nIG9uIHRoZSBvdGhlci4gIHRoaXMgdW5mb3J0
+dW5hdGVseSBtZWFudCB0aGF0IHdpdGhvdXQgYW4gT3BGd2QKQnVzLCBzdGFsbCBoYWQgdG8gb2Nj
+dXIpLgoKdGhpcyBET0VTIE5PVCBJTkhFUkVOVExZIE1FQU4gdGhhdCAqKkFMTCoqIFNjb3JlYm9h
+cmRzIGFyZSBydWJiaXNoLgoKaWYgeW91IGFkZCBhbiBPcGVyYW5kIEZvcndhcmRpbmcgQnVzIChl
+cXVpdmFsZW50IHRvIHRoZSBDREIgaW4gVG9tYXN1bG8pCnRoZSBleGFjdCBzYW1lIHBhcml0eSBm
+dW5jdGlvbmFsaXR5IGlzIGFjaGlldmVkICh3aXRob3V0IHRoZSBzZXZlcmUgZG93bnNpZGVzKS4K
+Cgo+IEx1a2UsIEkgYWdyZWUgd2l0aCB5b3UgdGhhdCB0aGUgcmVzZXJ2YXRpb24gc3RhdGlvbiBy
+b3dzIGluIFRvbWFzdWxvJ3MKPiBjYW4gYmUgZXF1aXZhbGVudCB0byB0aGUgb3BlcmFuZCBsYXRj
+aGVzIGluIFNjb3JlYm9hcmRpbmcuIEhvd2V2ZXIsCj4gYWRkaW5nIG1hbnkgb3BlcmFuZC1sYXRj
+aGVzIChieSBoYXZpbmcgbWFueSBmdW5jdGlvbmFsIHVuaXRzKSBkb2VzIG5vdAo+IHNjYWxlIGFz
+IG5pY2VseSBhcyBqdXN0IGFkZGluZyBhIGZldyBtb3JlIHJvd3MgdG8gVG9tYXN1bG8ncwo+IHJl
+c2VydmF0aW9uIHN0YXRpb25zLgoKdGhpcyBpcyBpbmNvcnJlY3QuICB5b3UgbWF5IGJlIHVuZGVy
+IHRoZSBtaXN0YWtlbiBpbXByZXNzaW9uIHRoYXQgdGhlIHBpcGVsaW5lcwpkdXBsaWNhdGVkIGFz
+IHdlbGwuICB0aGlzIGNsZWFybHkgd291bGQgYmUgaW5hZHZpc2VhYmxlIGJlY2F1c2UgdGhlIEZV
+J3Mgam9iCmlzIHRvIHNlcnZlIG9uZSBhbmQgb25seSBvbmUgcmVzdWx0LiAgdGhlcmVmb3JlIHlv
+dSBrbm93IHRoYXQgdGhpcyBpcyBhIG1pc3Rha2VuCnVuZGVyc3RhbmRpbmcsIGFuZCB0aGF0IGNv
+bnNlcXVlbnRseSB5b3UgaGF2ZSBtdWx0aXBsZSBGVXMgZm9yIHRoZSBzYW1lCnBpcGVsaW5lLiAg
+KHRlcm1lZCAiQ29uY3VycmVudCBDb21wdXRhdGlvbiBVbml0IikuCgp0aGVyZWZvcmUgaXQncyBt
+aW5pbWFsLiAgZXhjbHVkaW5nIHRoZSBsYXRjaGVzIHRoZW1zZWx2ZXMgKHRoZSByb3dzCmhhdmUg
+bGF0Y2hlcywgdGhlCkNvbXBVbml0cyAtIGFrYSBGdW5jdGlvblVuaXRzIGhhdmUgbGF0Y2hlcywg
+dGhlIHRvdGFsIG51bWJlciBvZiBsYXRjaGVzIGFmdGVyCmZsYXR0ZW5pbmcgaXMgdGhlIHNhbWUp
+LCB0aGUgbnVtYmVyIG9mIGdhdGVzIGFkZGVkIGJ5IGVhY2ggQ29tcFVuaXQgaXMKbWluaW1hbDog
+YXJvdW5kLi4uIDgwLCBtYXhpbXVtLgoKdGhhdCdzIHBlYW51dHMuCgo+IEVzcGVjaWFsbHkgc2lu
+Y2UgZGVzaWduaW5nIHRoZSBDQU1zIGZvcgo+IFRvbWFzdWxvJ3MgaXMgYSB3ZWxsIHN0dWRpZWQs
+IGFuZCB3ZWxsLXVuZGVyc3Rvb2QgcHJvYmxlbQoKdGhlIGtleSBpcyB0aGUgY29tYmluYXRpb24g
+b2YgdGhvc2UgdHdvOgoKQSkgd2VsbC11bmRlcnN0b29kLi4uICphbmQqCkIpIGEgcHJvYmxlbS4K
+CmhhdmUgYSBsb29rIGF0IGhvdyBtdWx0aS1pc3N1ZSBpcyBkb25lIHVzaW5nIFRvbWFzdWxvLiAg
+aXQncyBzaG9ja2luZ2x5IGJhZC4KCgo+ID4gMy4gRXhwYW5kIHRoZSBudW1iZXIgb2YgUlNlcyBz
+byB0aGF0IGlmIHlvdSB3ZXJlIHRvIGNvdW50IHRoZSB0b3RhbCBudW1iZXIKPiA+IG9mIHBsYWNl
+cyBvcGVyYW5kcyBhcmUgc3RvcmVkLCB0aGV5IGFyZSB0aGUgc2FtZS4KPgo+ID4gKGFub3RoZXIg
+d2F5IHRvIHB1dCB0aGlzIGlzLCAiZmxhdHRlbiBhbGwgMkQgUlNlcyBpbnRvIDFEIikKPgo+IFRo
+aXMgZG9lcyBub3Qgc2NhbGUgd2VsbC4gQSAyRCBDQU0gaXMgZmFyIG1vcmUgYXJlYSBlZmZpY2ll
+bnQgdGhhbiBhCj4gMUQgZmxhdHRlbmVkIHZlY3Rvci4KCmEgMUQgYml0dmVjdG9yLiAgYSBzaW5n
+bGUsIDFEIGJpdHZlY3Rvci4gIG9mIDMyIGJpdHMgaW4gbGVuZ3RoLgoKY29tcGFyZWQgdG8gMzIg
+NS1iaXQgYmluYXJ5IGFkZHJlc3Nlcy4KCmp1c3QgdGhlIGxhdGNoZXMgYWxvbmUsIHRoYXQgbWF0
+aCBkb2VzIG5vdCBzdGFjayB1cC4KCm5vdyBsZXQncyB0YWtlIGl0IHRvIDJELgoKbGV0J3Mgc2F5
+IHRoYXQgd2UgaGF2ZSAxMCBGVXMgYW5kIDMyICBSZWdzLgoKaW4gVG9tYXN1bG8gdGhhdCBpcyBh
+IDUtYml0IGFkZHJlc3MuICAxMHg1ID0gNTAgREZGIGxhdGNoZXMuICBERkYKbGF0Y2hlcyBhcmUg
+MTAgZ2F0ZXMgc28gdGhhdCdzIDUwMCBnYXRlcy4KCmluIDY2MDAgdGhhdCBpcyAxMHgzMiA9IDMy
+MCBTUiBOQU5EIExhdGNoZXMuICBTUiBOQU5EIGxhdGNoZXMgYXJlIDIKZ2F0ZXMuICAzMjB4MiBp
+cyA2NDAgZ2F0ZXMuCgpub3QgdmVyeSBkaWZmZXJlbnQgaW4gdGVybXMgb2YgbGF0Y2ggY291bnQs
+IGlzIGl0PwoKCm5vdyBsZXQncyBkbyB0aGUgYWRkcmVzcy1jaGVja2luZy4KCnRvIGNoZWNrIGEg
+cmVnaXN0ZXIgYXMgImFjdGl2ZSIgLSBiZWFyIGluIG1pbmQgdGhhdCB0aGlzIGlzIHBlcgpyZWdp
+c3RlciBhbmQgY29uc2VxdWVudGx5CmlmIGRvaW5nIG11bHRpLWlzc3VlIHRoYXQncyBhIGJhdGNo
+IG9mIGFkZHJlc3MtY2hlY2tpbmcgZ2F0ZXMgKnBlciByZWdpc3RlciouCgpmb3IgVG9tYXN1bHUs
+IHRoaXMgcmVxdWlyZXMgMTB4NSA9IDUwMCBYT1IgZ2F0ZXMgKHBsdXMgc29tZQptdWx0aS1pbnB1
+dCBBTkQgZ2F0ZXMgb24gZWFjaCByb3cpICAgWE9SIGlzIDQgZ2F0ZXMsIHNvIHRoYXQncyAyLDAw
+MApnYXRlcyAqUEVSIE1VTFRJLUlTU1VFIExBTkUqLgoKZm9yIHRoZSA2NjAwLCB0aGF0J3MgMTB4
+MzIgKipBTkQqKiBnYXRlcy4gIDMyMCBBTkQgZ2F0ZXMuCgphbmQgb2YgdGhvc2UgMzIwIEFORCBn
+YXRlcywgdGhleSBhcmUgcmUtdXNlYWJsZSBmb3IgbXVsdGktaXNzdWUKV0lUSE9VVCBSRVFVSVJJ
+TkcgQURESVRJT05BTCBHQVRFUy4KCnNvIHRoYXQgaXMgMzIwIEFORCBnYXRlcyBmb3Igc2luZ2xl
+LWlzc3VlCnRoYXQgaXMgemVybyBleHRyYSBnYXRlcyBmb3IgZHVhbC1pc3N1ZQp0aGF0IGlzIHpl
+cm8gZXh0cmEgZ2F0ZXMgZm9yIHF1YWQtaXNzdWUKemVybyBleHRyYSBnYXRlcyBmb3Igb2N0YWwt
+aXNzdWUuCgpzdGFydCB0byBtYWtlIHNlbnNlIG5vdywgd2h5IHVuYXJ5IGVuY29kaW5nIGFzIDFE
+IHZlY3RvcnMgaXMgbGVzcwpnYXRlcyBhbmQgbGVzcyBwb3dlciB0aGFuIGJpbmFyeSBDQU1zPwoK
+aWYgeW91IHdhbnQgdG8gY2hlY2sgbXVsdGlwbGUgdW5hcnkgYml0cyAoYSBjcml0aWNhbCBwcmVy
+ZXF1aXNpdGUgZm9yCm11bHRpLWlzc3VlKSwgYWxsIHlvdSBkbyBpcy4uLiBzZXQuLi4gbXVsdGlw
+bGUuLi4gYml0cy4KCndoYXQgaGFwcGVucz8gIG11bHRpcGxlIEFORCBnYXRlcyBmaXJlLiAgaW4g
+dGhlIHNhbWUgY2xvY2suICAgYW5kCnRoYXQncyBleGFjdGx5IHdoYXQgd2Ugd2FudC4KCgo+ID4g
+Ny4gcmVuYW1lIFJTZXMgdG8gIkZ1bmN0aW9uIFVuaXRzIiAoYWN0dWFsbHkgaW4gVGhvcm50b24n
+cyBib29rIHRoZSBwaHJhc2UKPiA+ICJDb21wdXRhdGlvbiBVbml0cyIgaXMgdXNlZCkKPgo+IFNv
+IGEgVG9tYXN1bG8ncyBkZXNpZ24gd2l0aCA0IHJvd3Mgbm93IGJlY29tZXMgYSAiZmxhdHRlbmVk
+IiBkZXNpZ24KPiB3aXRoIDQgZnVuY3Rpb25hbCB1bml0cz8gVGhlIGFkZGl0aW9uYWwgY29zdCBv
+ZiB0aGUgZnVuY3Rpb25hbCB1bml0cwo+IGlzIGVub3Jtb3VzLgoKbm8sIGl0J3MgNCB4IDgwIGdh
+dGVzIChhcHByb3gpLiAgdGhhdCdzIG5vdCA0eCBkdXBsaWNhdGlvbiBvZiBBTFUKcGlwZWxpbmVz
+ICpiZWhpbmQqIHRob3NlIDQgRnVuY3Rpb24gVW5pdHMuICBzZWUgTWl0Y2gncyAybmQgQ2hhcHRl
+ciwKIkNvbmN1cnJlbnQgQ29tcHV0YXRpb24gVW5pdCIKCmh0dHBzOi8vbGlicmUtc29jLm9yZy8z
+ZF9ncHUvYXJjaGl0ZWN0dXJlLzY2MDBzY29yZWJvYXJkLzYwMHgtY29uY3VycmVudF9jb21wX3Vu
+aXQucG5nCgpKZXJlbXk6IGl0J3MgcmF0aGVyIHVuZm9ydHVuYXRlIHRpbWluZy4gIHNpeCB0byB0
+d2VsdmUgbW9udGhzIGFnbywgd2UKY291bGQgaGF2ZSBoYWQgdGhpcyBkZWJhdGUgYW5kIGl0IHdv
+dWxkIGhhdmUgYmVlbiBmdW4sIGluZm9ybWF0aXZlLAp1c2VmdWwgYW5kIHByb2R1Y3RpdmUuICBp
+dCB3b3VsZCBhbHNvIGhhdmUgYmVlbiBwb3NzaWJsZSB0byBicmluZyB5b3UKaW4gdG8gdGhlIGRp
+c2N1c3Npb25zIHRoYXQgdG9vayBwbGFjZSAoTm92IDIwMTggdG8gYXJvdW5kIEFwci1NYXkKMjAx
+OSkgYmV0d2VlbiBteXNlbGYsIFNhbXVlbCBGYWx2bywgTWl0Y2ggQWxzdXAgYW5kIHRoZSB0ZWFt
+IGVpdGhlcgpoZXJlIG9uIHRoaXMgbGlzdCwgb3Igb24gY29tcC5hcmNoLgoKaG93ZXZlciB3aXRo
+IHRoZSB1cGNvbWluZyBkZWFkbGluZSwgdGhpcyBraW5kIG9mIG90aGVyd2lzZSByZWFsbHkKdmFs
+dWFibGUgZGlzY3Vzc2lvbiBpcywgc2FkbHksIHNvbWV0aGluZyB0aGF0IHdlICpkbyBub3QgaGF2
+ZSB0aW1lCmZvciouCgpyZXRyb3NwZWN0aXZlIHJlY29tbWVuZGF0aW9uIHRoYXQgd2UgcmVjb25z
+aWRlciBhbmQgdXNlIFRvbWFzdWxvIHdvdWxkCm5vdCBvbmx5IHJlc3VsdCBpbiB1cyBjb21wbGV0
+ZWx5IG1pc3NpbmcgdGhlIHVwY29taW5nIE9jdCAyMDIwCmRlYWRsaW5lLCB3ZSB3b3VsZCBlbmQg
+dXAgd2l0aCBhbiBleGNlcHRpb25hbGx5IHBvb3JseS1wZXJmb3JtaW5nLApsaW1pdGVkIGFuZCBz
+ZXJpb3VzbHkgcHJvYmxlbWF0aWMgcHJvY2Vzc29yIGFzIHdlbGwuICB3b3JzZSB0aGFuIHRoYXQs
+CnNhZGx5IGkgaGF2ZSB0byBzYXkgdGhhdCBpIGFtIGNvbmNlcm5lZCB0aGF0IGFueSByZXRyb3Nw
+ZWN0aXZlCmRpc2N1c3Npb24gd291bGQgaXRzZWxmIChhc2lkZSBmcm9tIHZhbHVhYmxlIGNvcnJl
+Y3Rpb25zIGFuZAphc3Npc3RhbmNlIGluIGNyZWF0aW5nIGEgY29tcGFyYXRpdmUgYW5hbHlzaXMp
+IGJlY29tZSBhIHNlcmlvdXMKZGlzdHJhY3Rpb24uCgppdCdzIGxpaXR0ZXJhbGxseSB0YWtlbiAx
+OCBNT05USHMgdG8gZ2V0IHRvIHRoZSBwb2ludCB3aGVyZSB3ZSBhcmUgbm93CndpdGggdGhlIGNv
+ZGUgYW5kIHRoZSBkZXNpZ24uICB3ZSBuZWVkIHRvIGZpbmlzaCB0aGUgZGVzaWduIGluIGEgdmVy
+eQpzaG9ydCB0aW1lZnJhbWUgKDE0IHdlZWtzKSwgYW5kIGFzIFllaG93c2h1YSBwb2ludHMgb3V0
+LCBkdWUgdG8gdGhlCmNvbXBsZXhpdHkgb2YgdGhpcyBwYXJ0aWN1bGFyIGFyZWEgb2YgQ29tcHV0
+ZXIgU2NpZW5jZSwgdGhhdCBpbiB0dXJuCmltcGxpZXMgdGhhdCB5b3UnbGwgbmVlZCB0byB0cnVz
+dCBtZSBvbiB0aGUgYXJjaGl0ZWN0dXJhbCBhbmFseXNpcwood2hpY2ggdG9vayA1IG1vbnRocyB0
+byBjb21wbGV0ZSwgdW5kZXIgTWl0Y2gncyBndWlkYW5jZSkuCgpzbywgbXkgYXBvbG9naWVzIGZv
+ciBuZWVkaW5nIHRvIGJlIGZpcm0gb24gdGhpczogdGhlIG9wcG9ydHVuaXR5IHRvCmhlbHAgZXhp
+c3RzIHdpdGhpbiB0aGUgdGltZS1mcmFtZSBhbmQgZmluYW5jaWFsIGNvbnN0cmFpbnRzIHRoYXQg
+d2VyZQpkZXRlcm1pbmVkIGFuZCBzZXQsIG92ZXIgMTggbW9udGhzIGFnbywgYmVmb3JlIHlvdSBq
+b2luZWQuCgp0aGVyZWZvcmUsIGlmIHlvdSdkIGxpa2UgdG8gaGVscCwgdGhlbiBhc2tpbmcgcXVl
+c3Rpb25zIHdoaWNoIGFyZQpyZWxhdGVkIHRvICp1bmRlcnN0YW5kaW5nKiBvZiB0aGUgcHJlY2lz
+ZS1hdWdtZW50ZWQgU2NvcmVib2FyZCBzeXN0ZW0sCnRhcmdldHRlZCB2ZXJ5IHNwZWNpZmljYWxs
+eSBhdCBhbGxvd2luZyB5b3UgdG8gZW5nYWdlIGFuZCBhc3Npc3QgdXMgaW4KbWVldGluZyB0aGF0
+IGRlYWRsaW5lLCBhcmUgdmVyeSB3ZWxjb21lLgoKYW55dGhpbmcgb3RoZXIgdGhhbiB0aGF0IHZl
+cnkgc3BlY2lmaWMgZ29hbC1vcmllbnRhdGVkIGZvY3VzLCBpIGFtCnJlYWxseSBzb3JyeSwgd2Ug
+cmVhbGx5IG5lZWQgdG8gbW92ZSBpdCB0byBvbmUgc2lkZSwgYW5kIGZvciB0aGF0LCBpCnJlY29t
+bWVuZCBjb21wLmFyY2guCgp0aGVyZWZvcmUsIGlmIHlvdSB3b3VsZCBsaWtlIHRvIGRpc2N1c3Mg
+dGhlIG1lcml0cyBvZiBUb21hc3VsbyB2cwpTY29yZWJvYXJkIChwYXJ0aWN1bGFybHkgdGhvc2Ug
+dGhhdCBwdXJzdWUgcmVjb21tZW5kaW5nIFRvbWFzdWxvCipvdmVyKiBTY29yZWJvYXJkKSBmdXJ0
+aGVyLCBpIHJlY29tbWVuZCBkb2luZyBzbyBvbiBjb21wLmFyY2gsIHdoaWNoCmlzIHdoZXJlIE1p
+dGNoIEFsc3VwIG1vc3QgcmVndWxhcmx5IG1heSBiZSBmb3VuZC4gIHdpdGggdGhlIHJpZ2h0Cmlu
+dGVyZXN0aW5nIHF1ZXN0aW9uLCBib3RoIGhlIGFuZCBtYW55IG90aGVycyB3aWxsIHBpdGNoIGlu
+LgoKdGhlIG9uZSB0aGluZyB0aGF0IHlvdSBuZWVkIHRvIGJlIGF3YXJlIG9mIGlzIHRoYXQgTWl0
+Y2ggaXMgYm90aApoeXBlci1pbnRlbGxpZ2VudCwgYW5kIHNlY29uZCB0aGF0IGhlIGRvZXMgbm90
+IHRvbGVyYXRlIHBlb3BsZSB3aG8KY2Fubm90IGtlZXAgdXAgd2l0aCBoaW0sIGVzcGVjaWFsbHkg
+aWYgdGhleSB0cnkgdG8gY29udmluY2UgaGltIG9mCnNvbWV0aGluZyB3aXRob3V0IGhhdmluZyBm
+aXJzdCBkZW1vbnN0cmF0ZWQgdGhhdCB0aGV5J3ZlIHVuZGVyc3Rvb2QKKmhpbSouICBoZSdzIHdl
+bGwgb3ZlciA3MCwgaGUncyByZXRpcmVkLCBoZSBtYWRlIGVub3VnaCAieHh4eC15b3UiCm1vbmV5
+IG9uIHNlbGxpbmcgR1BVIHBhdGVudHMgdG8gU2Ftc3VuZywgc28gaGUgZG9lc24ndCBoYXZlIHRv
+IHB1dCB1cAp3aXRoIGFueXRoaW5nIHRoYXQgaGUgZG9lc24ndCB3YW50IHRvIDopCgpsLgoKX19f
+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlicmUtcmlzY3Yt
+ZGV2IG1haWxpbmcgbGlzdApsaWJyZS1yaXNjdi1kZXZAbGlzdHMubGlicmUtcmlzY3Yub3JnCmh0
+dHA6Ly9saXN0cy5saWJyZS1yaXNjdi5vcmcvbWFpbG1hbi9saXN0aW5mby9saWJyZS1yaXNjdi1k
+ZXYK
+