Return-path: Envelope-to: publicinbox@libre-riscv.org Delivery-date: Sat, 16 May 2020 21:16:37 +0100 Received: from localhost ([::1] helo=libre-riscv.org) by libre-soc.org with esmtp (Exim 4.89) (envelope-from ) id 1ja3Ea-0005yr-Nc; Sat, 16 May 2020 21:16: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 1ja3EZ-0005yl-C9 for libre-riscv-dev@lists.libre-riscv.org; Sat, 16 May 2020 21:16:35 +0100 Received: by mail-lj1-f179.google.com with SMTP id h4so5768877ljg.12 for ; Sat, 16 May 2020 13:16: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; bh=ajKTXr01cEGXByX2Mfn+2ySJf2oZlH121LBcMfjFrwg=; b=GzzYqEPHwthoa8FIjxY4ZeU9wEJ6yd9K4mds7aKT/DE7C2IovF7hrSPehLChOz0/aS kAJ2Zt6VNwtEtszpV7kJCOehd0CQnxRz04bsFuB6fgefVN+uZGQbFaUSsuJNCjkmpjG/ uAeN+NGODrJMpdVoRvtifHU/cixozJBT3BCKHQz4t4wZ+YVJmPo3QodvDwFirJQ2CSj8 9DDQxUHOdEcJizvMz/UuJprjPIJ3UburmxmPTqvm0Dsk75eNHtfGMU+RAtUYicr6VCkf iCdGL8RtV9ZXW1vMa7uYYmAZCli5nAhCO1oh8/T7VP/WomN0lC5ljQ5SCT8IsXjB4ghH eVdA== 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=ajKTXr01cEGXByX2Mfn+2ySJf2oZlH121LBcMfjFrwg=; b=B1lb5ayBX0Ud6r/hBdYK31V1iAjM3eSJiLOJ7gFztZecKJEV/3KyFdcW174iSqnk6x 0rve9KptoinXReA3MPsVlafW9H26T03BPd9q1t7qMSmVAMQqFB4zsapiPAckcJbQMjvi j2gx7XxKus0aZmQWh/LoQT9kM6828ZoxSNLeY/HkIcsGqhrR2XRr6g1PiH3i3tuGEeHE 8nD4tvSOPjtvgkH68yabL6XfhsGU7QthrVpPhvHCKE67AvBc3/pfTb4fOMqmm7Y7ZU0f XyuTl1n1MuKlQ/04YNoy0yvArpf0IBEVV4OmmLZ9KNGuVSzWy6otd/FSMNiSuBMMyu1m G7kw== X-Gm-Message-State: AOAM532g2sHSxFfTput8m1XaPVorLWcoLVJWedHNbWkhqh5NGkQylU95 gdnLiqdowAxBVedkFRXx08+zeRS+EQzosfR6NwteDBeR X-Google-Smtp-Source: ABdhPJw1nP4laMG1MvTBtQncvnNkSRNtjSuOwCGIhzosy8AifAz+VL6VMcCDbpcq3yyM2Gepq9jYCrzQNuN+aRb92TY= X-Received: by 2002:a05:651c:50e:: with SMTP id o14mr6082865ljp.52.1589660194239; Sat, 16 May 2020 13:16:34 -0700 (PDT) MIME-Version: 1.0 References: <13EDF987-9A19-4C96-89C2-6DB784CF2C96@gatech.edu> <25AC8A2E-D48F-439F-AF9D-0EB3DC08D7CC@gatech.edu> In-Reply-To: From: Jeremy Singher Date: Sat, 16 May 2020 13:16:23 -0700 Message-ID: To: Libre-RISCV General Development 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 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" PiBIb3dldmVyLCB0aGUgc2NvcmVib2FyZCBpcyBsaW1pdGVkIGluIHRoYXQgaXQgZG9lcyBub3Qg aGFuZGxlIFdBUiBhbmQgV0FXCj4gaGF6YXJkcyB2ZXJ5IHdlbGwuCgo+IHRoZSBvcmlnaW5hbCA2 NjAwIGhhbmRsZXMgV0FSIGV4dHJlbWVseSB3ZWxsLCBvbmx5IHN0YWxsaW5nIG9uIFdhVwo+IGNv bmRpdGlvbiwgZGV0ZWN0aW9uIHdoaWNoIGRpZCBub3QgbWF0dGVyIGdyZWF0bHkgYmVjYXVzZSB0 aGUgcGlwZWxpbmVzCj4gd2VyZSBvbmx5IGF0IG1vc3QgMiBzdGFnZXMgbG9uZyBhbnl3YXkgKE1p dGNoIG9ubHkgbm90aWNlZCBhZnRlciByZXJlYWRpbmcKPiBsYXN0IHllYXIgdGhhdCB0aGUgRlAg QUREIG9mIHRoZSA2NjAwIHdhcyAyIHN0YWdlIHBpcGVsaW5lZC4gIG5vIGFjYWRlbWljCj4gbGl0 ZXJhdHVyZSBoYXMgYWNrbm93bGVkZ2VkIG9yIG5vdGljZWQgdGhpcykuCgpJIHdvdWxkIGFyZ3Vl IHRoYXQgdGhlIENEQzY2MDAgaGFuZGxlcyBXQVIgYmV0dGVyIHRoYW4gYW4gaW4tb3JkZXIKbWFj aGluZSwgYnV0IG5vdCBiZXR0ZXIgdGhhbiBhIG1hY2hpbmUgd2l0aCBmdWxsIHJlbmFtaW5nLiBJ biB0aGUKQ0RDNjYwMCwgdGhlIHNjb3JlYm9hcmQgd291bGQgYmxvY2sgdGhlIGNvbXBsZXRpb24g b2YgdGhlIFcgaW5zdCB1bnRpbAp0aGUgUiBpbnN0IGhhcyByZWFkIGl0cyBvcGVyYW5kcy4gSW4g VG9tYXN1bG8sIHRoZSBXIGluc3QgY2FuIHByb2NlZWQKaW1tZWRpYXRlbHkgYmVmb3JlIHRoZSBS IGluc3QgaXMgcmVhZHksIHNpbmNlIHRoZSBkZXN0aW5hdGlvbiByZWdpc3RlcgppcyBwaHlzaWNh bGx5IHJlbmFtZWQuCgo+ICBST0IgaXMgYSBDQU0sCgpXaGF0PyBUaGlzIGlzIG5vdCB0cnVlLiBJ bnN0cnVjdGlvbnMgaW4gZmxpZ2h0IHRyYWNrIHRoZWlyIGluZGV4IGluCnRoZSBST0IsIGF0IGNv bXBsZXRpb24sIHRoZXkgd3JpdGUgc3VjY2VzcyBiaXQgYWNjb3JkaW5nIHRvIHRoZSBpbmRleAp0 aGV5IGhhdmUuIE5vdCBhIENBTS4gU2ltcGxlIGFkZHJlc3NlZCB3cml0ZS4KCj4gZ2l2ZW4gdGhh dCBJbnRlbCBwcm9jZXNzb3JzIHVzZSBUb21hc3Vsbywgd2Ugc3RhcnQgdG8gc2VlIHdoeSBJbnRl bAo+IHByb2Nlc3NvcnMgc3VjayBzbyBtdWNoIHBvd2VyLgoKUG93ZXIgY29uc3VtcHRpb24gb24g YSBwcm9jZXNzb3IgaXMgcHJpbWFyaWx5IGZyb20gaGlnaCBzd2l0Y2hpbmcKcmF0ZXMgb24gbGFy Z2UgcmVnaXN0ZXIgZmlsZXMsIGFuZCBTUkFNIGxlYWthZ2UuIFRoZSBzY2hlZHVsaW5nIGxvZ2lj CmlzIGEgbWluaXNjdWxlIHBvcnRpb24uIEludGVsIGNvcmVzIGFyZSBwb3dlci1odW5ncnkgYmVj YXVzZQpoaXN0b3JpY2FsbHkgdGhleSBoYXZlIHRhcmdldGVkIHRoZSBkZXNrdG9wL3dvcmtzdGF0 aW9uIG1hcmtldCwgYW5kIGRvCm5vdCBoYXZlIGFzIG1hbnkgZGVjYWRlcyBvZiBleHBlcmllbmNl IGFzIG90aGVyIGZpcm1zIG9wdGltaXppbmcgZm9yCnBvd2VyLWNvbnN0cmFpbmVkIGVudmlyb25t ZW50cy4KCkFsc28gYWxtb3N0IGFsbCBtb2Rlcm4gT09PIGNvcmVzIHVzZSBUb21hc3VsbyBiZWNh dXNlIFRvbWFzdWxvIGlzCmJldHRlciBhdCBhdm9pZGluZyBmYWxzZSBoYXphcmRzIGNvbXBhcmVk IHRvIHNjb3JlYm9hcmRpbmcuIFRvbWFzdWxvCmFsc28gbWFrZXMgaXQgZWFzaWVyIHRvIGltcGxl bWVudCBwcmVjaXNlIHRyYXBzLCBzb21ldGhpbmcgd2hpY2ggaXMKbm90b3Jpb3VzbHkgY2hhbGxl bmdpbmcgIHdpdGgganVzdCBhIHNjb3JlYm9hcmQuCgpMZXRzIGJlIGNsZWFyIGhlcmUuIFRoZSBD REM2NjAwIEFWT0lEUyBXQVIgYW5kIFdBVyBoYXphcmRzIGJ5IEJMT0NLSU5HCnlvdW5nZXIgaW5z dHJ1Y3Rpb25zIChTZWUgcGczIGluIE1pdGNoIEFsc3VwJ3MgdGV4dCkuIFRvbWFzdWxvJ3MKc3Vw cG9ydHMgT09PIGV4ZWN1dGlvbiBQQVNUIFdBUiBhbmQgV0FXIGhhemFyZHMsIGVuYWJsaW5nIHRo ZSBjb3JlIHRvCmV4cGxvaXQgbW9yZSBJTFAgYWNyb3NzIGl0cyBmdW5jdGlvbmFsIHVuaXRzLgoK THVrZSwgSSBhZ3JlZSB3aXRoIHlvdSB0aGF0IHRoZSByZXNlcnZhdGlvbiBzdGF0aW9uIHJvd3Mg aW4gVG9tYXN1bG8ncwpjYW4gYmUgZXF1aXZhbGVudCB0byB0aGUgb3BlcmFuZCBsYXRjaGVzIGlu IFNjb3JlYm9hcmRpbmcuIEhvd2V2ZXIsCmFkZGluZyBtYW55IG9wZXJhbmQtbGF0Y2hlcyAoYnkg aGF2aW5nIG1hbnkgZnVuY3Rpb25hbCB1bml0cykgZG9lcyBub3QKc2NhbGUgYXMgbmljZWx5IGFz IGp1c3QgYWRkaW5nIGEgZmV3IG1vcmUgcm93cyB0byBUb21hc3VsbydzCnJlc2VydmF0aW9uIHN0 YXRpb25zLiBFc3BlY2lhbGx5IHNpbmNlIGRlc2lnbmluZyB0aGUgQ0FNcyBmb3IKVG9tYXN1bG8n cyBpcyBhIHdlbGwgc3R1ZGllZCwgYW5kIHdlbGwtdW5kZXJzdG9vZCBwcm9ibGVtCgo+IDMuIEV4 cGFuZCB0aGUgbnVtYmVyIG9mIFJTZXMgc28gdGhhdCBpZiB5b3Ugd2VyZSB0byBjb3VudCB0aGUg dG90YWwgbnVtYmVyCj4gb2YgcGxhY2VzIG9wZXJhbmRzIGFyZSBzdG9yZWQsIHRoZXkgYXJlIHRo ZSBzYW1lLgoKPiAoYW5vdGhlciB3YXkgdG8gcHV0IHRoaXMgaXMsICJmbGF0dGVuIGFsbCAyRCBS U2VzIGludG8gMUQiKQoKVGhpcyBkb2VzIG5vdCBzY2FsZSB3ZWxsLiBBIDJEIENBTSBpcyBmYXIg bW9yZSBhcmVhIGVmZmljaWVudCB0aGFuIGEKMUQgZmxhdHRlbmVkIHZlY3Rvci4KCj4gNy4gcmVu YW1lIFJTZXMgdG8gIkZ1bmN0aW9uIFVuaXRzIiAoYWN0dWFsbHkgaW4gVGhvcm50b24ncyBib29r IHRoZSBwaHJhc2UKPiAiQ29tcHV0YXRpb24gVW5pdHMiIGlzIHVzZWQpCgpTbyBhIFRvbWFzdWxv J3MgZGVzaWduIHdpdGggNCByb3dzIG5vdyBiZWNvbWVzIGEgImZsYXR0ZW5lZCIgZGVzaWduCndp dGggNCBmdW5jdGlvbmFsIHVuaXRzPyBUaGUgYWRkaXRpb25hbCBjb3N0IG9mIHRoZSBmdW5jdGlv bmFsIHVuaXRzCmlzIGVub3Jtb3VzLgoKT24gU2F0LCBNYXkgMTYsIDIwMjAgYXQgMTA6MzMgQU0g THVrZSBLZW5uZXRoIENhc3NvbiBMZWlnaHRvbgo8bGtjbEBsa2NsLm5ldD4gd3JvdGU6Cj4KPiBP biBTYXR1cmRheSwgTWF5IDE2LCAyMDIwLCBZZWhvd3NodWEgPHlpbW1hbnVlbDNAZ2F0ZWNoLmVk dT4gd3JvdGU6Cj4KPiA+IFRoaXMgaXMgYSB2ZXJ5IGludHJpY2F0ZSBhbmQgY29tcGxpY2F0ZWQg c3ViamVjdCBtYXR0ZXIgZm9yIHN1cmUuCj4KPgo+IHllcywgZXhjZXB0IGl0IGRvZXNuJ3QgaGF2 ZSB0byBiZS4gIHRoZSBhY3R1YWwKPiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MZXZl bnNodGVpbl9kaXN0YW5jZSBiZXR3ZWVuIFRvbWFzdWxvIGFuZAo+IDY2MDAgcmVhbGx5IGlzIG5v dCB0aGF0IGdyZWF0Lgo+Cj4gaSB0aG91Z2h0IGl0IHdvdWxkIGJlIGZ1biB0byB1c2UgYSBuZXcg dW5wcm9ub3VuY2VhYmxlIHdvcmQgaSBsZWFybmVkCj4geWVzdGVyZGF5IDopCj4KPgo+ID4gQXQg c29tZSBwb2ludCwgaXQgYmUgZ3JlYXQgdG8gcmVhbGx5IGJyZWFrIHRoaW5ncyBkb3duIGFuZCBt YWtlIHRoZW0gbW9yZQo+ID4gYWNjZXNzaWJsZS4KPgo+Cj4geWVzLiBpdCBjb21lcyBkb3duIHRv IHRpbWUuCj4KPiBzdGFydCB3aXRoIHRoaXMuCj4KPiAxLiBCZWdpbiBmcm9tIFRvbWFzdWxvLiAg bmVpdGhlciBUUyBub3Igb3JpZ2luYWwgNjYwMCBoYXZlIHByZWNpc2UKPiBleGNlcHRpb25zIHNv IHdlIGxlYXZlIHRoYXQgb3V0IGZvciBub3cuCj4KPiAyLiBTdGFydCBieSBvbmx5IGFsbG93aW5n IG9uZSByb3cgcGVyIFJlc2VydmF0aW9uIFN0YXRpb24uCj4KPiAzLiBFeHBhbmQgdGhlIG51bWJl ciBvZiBSU2VzIHNvIHRoYXQgaWYgeW91IHdlcmUgdG8gY291bnQgdGhlIHRvdGFsIG51bWJlcgo+ IG9mIHBsYWNlcyBvcGVyYW5kcyBhcmUgc3RvcmVkLCB0aGV5IGFyZSB0aGUgc2FtZS4KPgo+IChh bm90aGVyIHdheSB0byBwdXQgdGhpcyBpcywgImZsYXR0ZW4gYWxsIDJEIFJTZXMgaW50byAxRCIp Cj4KPiA0LiB3aGVyZSBwaXBlbGluZXMgd2VyZSBmb3JtZXJseSBjb25uZWN0ZWQgZXhjbHVzaXZl bHkgdG8gb25lIFJTLAo+ICpwcmVzZXJ2ZSogdGhvc2UgY29ubmVjdGlvbnMgZXZlbiB0aG91Z2gg dGhlIHJvd3MgYXJlIG5vdyAxRCBmbGF0dGVuZWQuCj4KPiAoYW5vdGhlciB3YXkgdG8gcHV0IHRo aXMgaXM6IHdlIGhhdmUgYSBnbG9iYWwgMUQgbmFtaW5nIHNjaGVtZSB0byByZWZlcmVuY2UKPiB0 aGUgKm9wZXJhbmQgbGF0Y2hlcyogcmF0aGVyIHRoYW4gYSAyRCBzY2hlbWUgaW52b2x2aW5nIFJT IG51bWJlciBpbiAxCj4gZGltZW5zaW9uIGFuZCB0aGUgcm93IG51bWJlciBpbiB0aGUgMm5kKQo+ Cj4gNS4gZ2l2ZSB0aGlzIDFEIGZsYXR0ZW5pbmcgYW4gVU5BUlkgbnVtYmVyaW5nIHNjaGVtZS4K Pgo+IDYuIG1ha2UgdGhlIHNpemUgb2YgdGhlIFJlb3JkZXIgQnVmZmVyIEVYQUNUTFkgZXF1YWwg dG8gdGhlIG51bWJlciBvZiAxRAo+IGZsYXR0ZW5lZCBSU2VzLgo+Cj4gNy4gcmVuYW1lIFJTZXMg dG8gIkZ1bmN0aW9uIFVuaXRzIiAoYWN0dWFsbHkgaW4gVGhvcm50b24ncyBib29rIHRoZSBwaHJh c2UKPiAiQ29tcHV0YXRpb24gVW5pdHMiIGlzIHVzZWQpCj4KPiB0aHVzLCBhdCB0aGlzIHBvaW50 IGluIHRoZSB0cmFuc2Zvcm1hdGlvbiwgdGhlIFJPQiByb3cgbnVtYmVyICpJUyogdGhlCj4gRnVu Y3Rpb24gVW5pdCBOdW1iZXIsIHRoZSBuZWVkIHRvIGFjdHVhbGx5IHN0b3JlIHRoZSBST0IgIyBp biB0aGUKPiBSZXNlcnZhdGlvbiBTdGF0aW9uIFJvdyBpcyBSRU1PVkVELCBhbmQgY29uc2VxdWVu dGx5IHRoZSBSZXNlcnZhdGlvbgo+IFN0YXRpb25zIGFyZSBOTyBMT05HRVIgQSBDQU0uCj4KPiA4 LiBnaXZlIGFsbCByZWdpc3RlciBmaWxlIG51bWJlcnMgKElOVCBGUCkgYW4gVU5BUlkgbnVtYmVy aW5nLgo+Cj4gdGhpcyBtZWFucyB0aGF0IGluIHRoZSBST0IsIHRoZSBDQU0sIHdoaWNoIGhhcyB0 byBsb29rIHVwIHRoZSByZWdpc3Rlcgo+IG51bWJlciBieSBoaXR0aW5nIHRoZSBDQU0gb24gZXZl cnkgY3ljbGUsIG5vdyBvbmx5IGhhcyB0byBtYXRjaCBhIHNpbmdsZQo+IEFORCBnYXRlLgo+Cj4g Yml0dmVjdG9ycyB0aGVyZWZvcmUgcmVwbGFjZSBDQU1zLgo+Cj4gd2l0aCB0aGUgUk9CIG5vdyBo YXZpbmcgcm93cyBvZiBiaXR2ZWN0b3JzLCBpdCBpcyBub3cgdGVybWVkIGEgIk1hdHJpeCIuCj4K PiB0aGUgbGVmdCBzaWRlIG9mIHRoZSBST0IsIHdoaWNoIHVzZWQgdG8gY29udGFpbiB0aGUgUlMg TnVtYmVyIGluIHVuYXJ5LCBub3cKPiBjb250YWlucyBhICpiaXR2ZWN0b3IqIERpcmVjdGVkIEFj eWNsaWMgR3JhcGggb2YgdGhlIEZVIHRvIEZVIGRlcGVuZGVuY2llcywKPiBhbmQgaXMgc3BsaXQg b3V0IGludG8gaXRzIG93biBNYXRyaXguCj4KPiB0aGlzIHdlIGNhbGwgdGhlIEZVLUZVIERlcGVu ZGVuY3kgTWF0cml4Lgo+Cj4gdGhlIHJlbWFpbmRlciBvZiB0aGUgIlJPQiIgY29udGFpbnMgdGhl IHJlZ2lzdGVyIG51bWJlcnMgaW4gdW5hcnkgTWF0cml4Cj4gZm9ybSwgYW5kIHdpdGggZWFjaCBy b3cgYmVpbmcgZGlyZWN0bHkgYXNzb2NpYXRlZCB3aXRoIGEgRnVuY3Rpb24gVW5pdCwgd2UKPiBu b3cgaGF2ZSBhbiBhc3NvY2lhdGlvbiBiZXR3ZWVuIEZVIGFuZCBSZWdzIHdoaWNoIHByZXNlcnZl cyB0aGUga25vd2xlZGdlCj4gb2Ygd2hhdCBpbnN0cnVjdGlvbiByZXF1aXJlZCB3aGljaCByZWdp c3RlcnMsICphbmQqIHdobyB3aWxsIHByb2R1Y2UgdGhlCj4gcmVzdWx0Lgo+Cj4gdGhpcyB3ZSBj YWxsIHRoZSBGVS1SZWdzIERlcGVuZGVuY3kgTWF0cml4Lgo+Cj4gdGhhdCAqcmVhbGx5IGlzIGl0 Ki4KPgo+IHRha2Ugc29tZSB0aW1lIHRvIGFic29yYiB0aGUgdHJhbnNmb3JtYXRpb24gd2hpY2gg bm90IG9ubHkgcHJlc2VydmVzCj4gYWJzb2x1dGVseSBldmVyeSBmdW5jdGlvbmFsIGFzcGVjdCBv ZiB0aGUgVG9tYXN1bG8gQWxnb3JpdGhtLCBpdAo+IGRyYXN0aWNhbGx5IHNpbXBsaWZpZXMgdGhl IGltcGxlbWVudGF0aW9uLCByZWR1Y2VzIGdhdGUgY291bnQsIHJlZHVjZXMKPiBwb3dlciBjb25z dW1wdGlvbiAqYW5kKiBwcm92aWRlcyBhIHN0cm9uZyBmb3VuZGF0aW9uIGZvciBkb2luZyBhcmJp dHJhcnkKPiBtdWx0aS1pc3N1ZSBleGVjdXRpb24gd2l0aCBvbmx5IGFuIE8oTikgbGluZWFyIGlu Y3JlYXNlIGluIGdhdGUgY291bnQgdG8gZG8KPiBzby4KPgo+Cj4gZnVydGhlciBoaWxhcmlvdXNs eSBzaW1wbGUgYWRkaXRpb25hbCB0cmFuc2Zvcm1hdGlvbnMgb2NjdXIgdG8gcmVwbGFjZQo+IGZv cm1lciBtYXNzaXZlIHJlc291cmNlIGNvbnN0cmFpbmVkIGJvdHRsZW5lY2tzLCBkdWUgdG8gdGhl IGJpbmFyeQo+IG51bWJlcmluZyBvbiBib3RoIFJPQiBudW1iZXJzIGFuZCBSZWcgbnVtYmVycywg d2l0aCBzaW1wbGUgbGFyZ2UgdW5hcnkgTk9SCj4gZ2F0ZXM6Cj4KPiAqIHRoZSBkZXRlcm1pbmF0 aW9uIG9mIHdoZW4gaGF6YXJkcyBhcmUgY2xlYXIsIG9uIGEgcGVyIHJlZ2lzdGVyIGJhc2lzLCBp cwo+IGEgbGF1Z2hhYmx5IHRyaXZpYWwgTk9SIGdhdGUgYWNyb3NzIGFsbCBjb2x1bW5zIG9mIHRo ZSBGVS1SRUdzIG1hdHJpeCwKPiBwcm9kdWNpbmcgYSByb3cgYml0dmVjdG9yIGZvciBlYWNoIHJl YWQgcmVnaXN0ZXIgYW5kIGVhY2ggd3JpdGUgcmVnaXN0ZXIuCj4KPiAqIHRoZSBkZXRlcm1pbmF0 aW9uIG9mIHdoZW4gYSBGdW5jdGlvbiBVbml0IG1heSBwcm9jZWVkIGlzIGEgbGF1Z2hhYmx5Cj4g dHJpdmlhbCBOT1IgZ2F0ZSBhY3Jvc3MgYWxsICpyb3dzKiBvZiB0aGUgKkZVLUZVKiBNYXRyaXgs IHByb2R1Y2luZyBhCj4gcm93LWJhc2VkIHZlY3RvciwgZGV0ZXJtaW5pbmcgdGhhdCBpdCBpcyAi cmVhZGFibGUiIGlmIHRoZXJlIGV4aXN0cyBubwo+IHdyaXRlIGhhemFyZCBhbmQgIndyaXRhYmxl IiBpZiB0aGVyZSBleGlzdHMgbm8gcmVhZCBoYXphcmQuCj4KPiAqIHRoZSBUb21hc3VsbyBDb21t b24gRGF0YSBCdXMsIGZvcm1lcmx5IGJlaW5nIGEgc2luZ2xlIGNob2tlcG9pbnQKPiBiaW5hcnkt YWRkcmVzc2luZyBnbG9iYWwgQnVzLCBtYXkgbm93IGJlIHVwZ3JhZGVkIHRvICpNVUxUSVBMRSog Q29tbW9uIERhdGEKPiBCdXNlcyB0aGF0LCBiZWNhdXNlIHRoZSBhZGRyZXNzaW5nIGluZm9ybWF0 aW9uIGFib3V0IHJlZ2lzdGVycyBpcyBub3cgaW4KPiB1bmFyeSwgaXMgbGlrZXdpc2UgbGF1Z2hh Ymx5IHRyaXZpYWwgdG8gdXNlIGNhc2NhZGluZyBQcmlvcml0eSBQaWNrZXJzIChhCj4gbm1pZ2Vu IFByaW9yaXR5RW5jb2RlciBhbmQgRGVjb2RlciwgYmFjay10by1iYWNrKSB0byBkZXRlcm1pbmUg d2hpY2gKPiBGdW5jdGlvbiBVbml0IHNoYWxsIGJlIGdyYW50ZWQgYWNjZXNzIHRvIHdoaWNoIENE QiBpbiBvcmRlciB0byByZWNlaXZlIChvcgo+IHNlbmQpIGl0cyBvcGVyYW5kIChvciByZXN1bHQp Lgo+Cj4gKiBtdWx0aS1pc3N1ZSBhcyBpIG1lbnRpb25lZCBhIGZldyB0aW1lcyBpcyBhbiBlcXVh bGx5IGxhdWdoYWJseSB0cml2aWFsCj4gbWF0dGVyIG9mIHRyYW5zaXRpdmVseSBjYXNjYWRpbmcg dGhlIFJlZ2lzdGVyIERlcGVuZGVuY3kgSGF6YXJkcyAoYm90aCByZWFkCj4gYW5kIHdyaXRlKSBh Y3Jvc3MgZnV0dXJlIGluc3RydWN0aW9ucyBpbiB0aGUgc2FtZSBtdWx0aSBpc3N1ZSBleGVjdXRp b24KPiB3aW5kb3cuIGluc3RyMiBoYXMgaW5zdHIxIEFORCBpbnN0cjIncyBoYXphcmRzLiAgaW5z dHIzIGhhcyBpbnN0cjEgQU5ECj4gaW5zdHIyIEFORCBpbnN0cjMncyBoYXphcmRzIGFuZCBzbyBv bi4gIHRoaXMganVzdCBsZWF2ZXMgdGhlIG5lY2Vzc2l0eSBvZgo+IGluY3JlYXNpbmcgcmVnaXN0 ZXIgcG9ydCBudW1iZXJzLCBudW1iZXIgb2YgQ0RCcywgYW5kIExEL1NUIG1lbW9yeQo+IGJhbmR3 aWR0aCB0byBjb21wZW5zYXRlIGFuZCBjb3BlIHdpdGggdGhlIGFkZGl0aW9uYWwgcmVzb3VyY2Ug ZGVtYW5kcyB0aGF0Cj4gd2lsbCBub3cgb2NjdXIuCj4KPiB0aGUgbGF0dGVyIGlzIHBhcnRpY3Vs YXJseSB3aHkgd2UgaGF2ZSBhIGRlc2lnbiB0aGF0LCB1bHRpbWF0ZWx5LCB3ZSBjb3VsZAo+IHRh a2Ugb24gQVJNLCBJbnRlbCwgYW5kIEFNRC4KPgo+IHRoZXJlIGlzIG5vIHJlYXNvbiB0ZWNobmlj YWxseSB3aHkgd2UgY291bGQgbm90IGRvIGEgNCwgNiBvciA4IG11bHRpIGlzc3VlCj4gc3lzdGVt LCBhbmQgd2l0aCBlbm91Z2ggRnVuY3Rpb24gVW5pdHMgYW5kIHRoZSBjeWNsaWMgYnVmZmVyIHN5 c3RlbSAoc28gYXMKPiBub3QgdG8gcmVxdWlyZSBhIGZ1bGwgY3Jvc3NiYXIgYXQgdGhlIENvbW1v biBEYXRhIEJ1c2VzKSwgYW5kIHByb3Blcgo+IHN0cmF0aWZpY2F0aW9uIGFuZCBkZXNpZ24gb2Yg dGhlIHJlZ2lzdGVyIGZpbGVzLCBtYXNzaXZlIFZlY3RvciBwYXJhbGxlbGlzbQo+IGF0IHRoZSBw aXBlbGluZXMgd291bGQgYmUga2VwdCBmdWxseSBvY2N1cGllZCB3aXRob3V0IGFuIG92ZXJ3aGVs bWluZwo+IGluY3JlYXNlIGluIGdhdGVzIG9yIHBvd2VyIGNvbnN1bXB0aW9uIHRoYXQgd291bGQg bm9ybWFsbHkgYmUgZXhwZWN0ZWQsIGFuZAo+IHNjYWxhciBwZXJmb3JtYW5jZSB3b3VsZCBiZSBz aW1pbGFybHkgaGlnaCBhcyB3ZWxsLgo+Cj4gbC4KPgo+Cj4KPgo+IC0tCj4gLS0tCj4gY3Jvd2Qt ZnVuZGVkIGVjby1jb25zY2lvdXMgaGFyZHdhcmU6IGh0dHBzOi8vd3d3LmNyb3dkc3VwcGx5LmNv bS9lb21hNjgKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwo+IGxpYnJlLXJpc2N2LWRldiBtYWlsaW5nIGxpc3QKPiBsaWJyZS1yaXNjdi1kZXZAbGlzdHMu bGlicmUtcmlzY3Yub3JnCj4gaHR0cDovL2xpc3RzLmxpYnJlLXJpc2N2Lm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpYnJlLXJpc2N2LWRldgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KbGlicmUtcmlzY3YtZGV2IG1haWxpbmcgbGlzdApsaWJyZS1yaXNjdi1k ZXZAbGlzdHMubGlicmUtcmlzY3Yub3JnCmh0dHA6Ly9saXN0cy5saWJyZS1yaXNjdi5vcmcvbWFp bG1hbi9saXN0aW5mby9saWJyZS1yaXNjdi1kZXYK