From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 606C8C000A for ; Mon, 29 Nov 2021 14:14:04 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 40C98404EF for ; Mon, 29 Nov 2021 14:14:04 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -2.101 X-Spam-Level: X-Spam-Status: No, score=-2.101 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Authentication-Results: smtp4.osuosl.org (amavisd-new); dkim=pass (2048-bit key) header.d=notatether.com Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Mw6BCvsCC5Hr for ; Mon, 29 Nov 2021 14:14:01 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.8.0 Received: from mail-41104.protonmail.ch (mail-41104.protonmail.ch [185.70.41.104]) by smtp4.osuosl.org (Postfix) with ESMTPS id 198BF404E6 for ; Mon, 29 Nov 2021 14:14:00 +0000 (UTC) Received: from mail-0301.mail-europe.com (mail-0301.mail-europe.com [188.165.51.139]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by mail-41104.protonmail.ch (Postfix) with ESMTPS id 4J2nQY73cvz4xFCn for ; Mon, 29 Nov 2021 14:13:57 +0000 (UTC) Authentication-Results: mail-41104.protonmail.ch; dkim=pass (2048-bit key) header.d=notatether.com header.i=@notatether.com header.b="e+P0R5WC" Date: Mon, 29 Nov 2021 14:13:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=notatether.com; s=protonmail2; t=1638195224; bh=knIPunMW4m/8HsGvPxgD+R2m6fRw0R5YcbsEhWr2Uts=; h=Date:To:From:Reply-To:Subject:In-Reply-To:References:From; b=e+P0R5WCPG4id8KoQsZJlCjizMvth4e8SDn3nCD/mCl81NckcN5K0GpuOKgpuhF1e WndEwETJdJ4EPiFDahvtnOnF5Ewzpskdz34zvSHMONNehKEoLCN8Zs1gZqAA+799Kh +bbAX5eswMuBzeUJV3P+iEcQAeYxtFHcjRWUCclBFqJ/BN5XGWIg6EXN/ag0IjAi3C cT+EsIKTG0lp37yTcdceaez+SRZGraYNv66oWT2d5Kr+k7MfOi4sexIC83I+DyT6sD a/KzRc8FzrNV+p5f3B4qNXnXsw/rsutuQ5Fs9GsAxw6Zo1pycFrFXDKKvGt0/AMEkY 20bGxWg8fNqFw== To: "bitcoin-dev@lists.linuxfoundation.org" From: Ali Sherief Reply-To: Ali Sherief Message-ID: In-Reply-To: References: <6dbaa89c-b658-e239-9f28-5f1609b8e746@gmail.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_Lo92z2y9KX2eIhBMlyqrHYUOP6b5wtcfv75xdhXPs" X-Mailman-Approved-At: Mon, 29 Nov 2021 14:21:38 +0000 Subject: Re: [bitcoin-dev] Trying to patch Core ZMQ "rawtx" topic to only publish unconfirmed transactions: How? X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Nov 2021 14:14:04 -0000 This is a multi-part message in MIME format. --b1_Lo92z2y9KX2eIhBMlyqrHYUOP6b5wtcfv75xdhXPs Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 VGhlb3JldGljYWxseSB0aGF0IHdvdWxkIGJlIHRoZSBkZXNpcmVkIG91dGNvbWUgZm9yIG1lIGJ1 dCB0aGlzIGNoYW5nZSBpcyBnb2luZyB0byBiZSBpbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIGEgY2Fz aW5vIHdoaWNoIG11c3QgZGlzcGxheSB0aGUgc3RhdHVzIG9mIG5ldyBkZXBvc2l0cyB0aGF0IGFy ZSBtYWRlLCBldmVuIHdoZW4gdGhleSBhcmUgdW5jb25maXJtZWQgdG8gbm93LiBIZW5jZSB3aHkg SSBuZWVkIHRvIHJlY2VpdmUgdGhlIHVuY29uZmlybWVkIG1lc3NhZ2VzLgoKLSBBbGkgU2hlcmll ZgoKT24gTW9uLCBOb3YgMjksIDIwMjEgYXQgNToxMCBQTSwgTE9SRCBISVMgRVhDRUxMRU5DWSBK QU1FUyBIUk1IIDx3aWxsdGVjaEBsaXZlLmNvbS5hdT4gd3JvdGU6Cgo+IFdhc24ndCB0aGlzIGFs cmVhZHkgbm90IGEgcHJvYmxlbSBiZWNhdXNlIHlvdSBjYW4gY2hlY2sgaWYgaXQgd2FzIGNvbmZp cm1lZD8gVGhlIHRyYW5zYWN0aW9uIGlzIG5vdCBmaW5hbGlzZWQgaW4gdGhlIG1lbXBvb2wgaXQg aXMganVzdCBzcGVjdWxhdGlvbiBvZiBhIHRyYW5zYWN0aW9uLCBzbyBpdCBtYWtlcyBzZW5zZSB0 byBlbWl0IHdoZW4gdGhlIHRyYW5zYWN0aW9uIGlzIGNvbmZpcm1lZC4gSnVzdCBhbHJlYWR5IGNo ZWNrLi4KPgo+PiBJdCBhcHBlYXJzIHRoYXQgdGhlIFplcm9NUSB0b3BpYyBJJ20gbGlzdGVuaW5n IHRvLCAicmF3dHgiLCBub3Qgb25seQo+PiBlbWl0cyBhIHJhdyB0cmFuc2FjdGlvbiB3aGVuIGl0 IGFwcGVhcnMgb24gdGhlIG1lbXBvb2wsIGJ1dCBvbmNlIGl0J3MKPj4gYWxyZWFkeSBjb25maXJt ZWQgdG9vLgo+Cj4gS0lORyBKQU1FUyBIUk1ICj4gR3JlYXQgQnJpdGlzaCBFbXBpcmUKPgo+IFJl Z2FyZHMsCj4gVGhlIEF1c3RyYWxpYW4KPiBMT1JEIEhJUyBFWENFTExFTkNZIEpBTUVTIEhSTUgg KCYgSE1SSCkKPiBvZiBIb3VndW4gTWFub3IgJiBHbGVuY29lICYgQnJpdGlzaCBFbXBpcmUKPiBN Ui4gRGFtaWFuIEEuIEphbWVzIFdpbGxpYW1zb24KPiBXaWxscwo+Cj4gZXQgYWwuCj4KPiBXaWxs dGVjaAo+IHd3dy53aWxsdGVjaC5jb20uYXUKPiB3d3cuZ28tb3ZlcnQuY29tCj4gZHVpZ2NvLm9y ZyBEVUlHQ08gQVBJCj4gYW5kIG90aGVyIHByb2plY3RzCj4KPiBtLiAwNDg3MTM1NzE5Cj4gZi4g KzYxMjYxNDcwMTkyCj4KPiBUaGlzIGVtYWlsIGRvZXMgbm90IGNvbnN0aXR1dGUgYSBnZW5lcmFs IGFkdmljZS4gUGxlYXNlIGRpc3JlZ2FyZCB0aGlzIGVtYWlsIGlmIG1pc2RlbGl2ZXJlZC4KPiAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KPgo+IEZyb206IGJpdGNvaW4tZGV2IDxiaXRjb2luLWRldi1ib3VuY2VzQGxpc3RzLmxp bnV4Zm91bmRhdGlvbi5vcmc+IG9uIGJlaGFsZiBvZiAweEIxMEMgdmlhIGJpdGNvaW4tZGV2IDxi aXRjb2luLWRldkBsaXN0cy5saW51eGZvdW5kYXRpb24ub3JnPgo+IFNlbnQ6IE1vbmRheSwgMjkg Tm92ZW1iZXIgMjAyMSA4OjMyIFBNCj4gVG86IEFsaSBTaGVyaWVmIDxhbGlAbm90YXRldGhlci5j b20+OyBCaXRjb2luIFByb3RvY29sIERpc2N1c3Npb24gPGJpdGNvaW4tZGV2QGxpc3RzLmxpbnV4 Zm91bmRhdGlvbi5vcmc+Cj4gU3ViamVjdDogUmU6IFtiaXRjb2luLWRldl0gVHJ5aW5nIHRvIHBh dGNoIENvcmUgWk1RICJyYXd0eCIgdG9waWMgdG8gb25seSBwdWJsaXNoIHVuY29uZmlybWVkIHRy YW5zYWN0aW9uczogSG93Pwo+Cj4gSGkgQWxpLAo+Cj4gSSd2ZSBydW4gaW50byB0aGlzIG11bHRp cGxlIHRpbWVzIG15c2VsZi4gSSd2ZSBvcGVuZWQgYSBkcmFmdCBQUiBbMF0KPiBhZGRpbmcgYSBy YXdtZW1wb29sdHggcHVibGlzaGVyLgo+Cj4gWW91J3JlIHJpZ2h0LiBJbiB6bXEvem1xbm90aWZp Y2F0aW9uaW50ZXJmYWNlLmNwcCB0aGUKPiBDWk1RTm90aWZpY2F0aW9uSW50ZXJmYWNlIGlzIG5v dGlmaWVkIGFib3V0IFRyYW5zYWN0aW9uQWRkZWRUb01lbXBvb2wuCj4gQ3VycmVudGx5LCB0aGlz IGNhbGxzIE5vdGlmeVRyYW5zYWN0aW9uKCkgKHRoZSBwdWJsaXNoZXIgd2l0aCB0aGUgcmF3dHgK PiB0b3BpYykgYW5kIE5vdGlmeVRyYW5zYWN0aW9uQWNjZXB0YW5jZSgpICh0aGUgcHVibGlzaGVy IHdpdGggdGhlCj4gc2VxdWVuY2UgdG9waWMpWzFdLiBJJ3ZlIGFkZGVkIGEgY2FsbCB0byBhIG5l dwo+IE5vdGlmeU1lbXBvb2xUcmFuc2FjdGlvbigpIGZ1bmN0aW9uICh0aGUgcHVibGlzaGVyIHdp dGggdGhlIHJhd21lbXBvb2x0eAo+IHRvcGljKS4KPgo+IEknZCBmaW5kIGEgbWVtcG9vbCB0cmFu c2FjdGlvbiBwdWJsaXNoZXIgd2l0aCBib3RoIHRoZSByYXcgdHJhbnNhY3Rpb24KPiBhbmQgdHJh bnNhY3Rpb24gZmVlIHVzZWZ1bCB0b28uIEhvd2V2ZXIsIHRoaXMgcmVxdWlyZXMgY2hhbmdlcyB0 byB0aGUKPiBjaGFpbiBub3RpZmljYXRpb25zIGluIGludGVyZmFjZXMvY2hhaW4uaC4KPgo+IFsw XTogaHR0cHM6Ly9naXRodWIuY29tL2JpdGNvaW4vYml0Y29pbi9wdWxsLzIzNjI0Cj4gWzFdOgo+ IGh0dHBzOi8vZ2l0aHViLmNvbS9iaXRjb2luL2JpdGNvaW4vcHVsbC8yMzYyNC9maWxlcyNkaWZm LWFjNGIyZDNhOGRlMmM0ZGQ0MWFkOWQ3NTUwNWVhNmNlNGRjODdhNDc2NzEwYTllYmVlOGFjZjli ZWJmNWNjYTJMMTQ2LUwxNDgKPgo+IEJlc3QsCj4gMHhCMTBDCj4KPiBPbiAxMS8yNi8yMSA1OjU2 IFBNLCBBbGkgU2hlcmllZiB2aWEgYml0Y29pbi1kZXYgd3JvdGU6Cj4+Cj4+IFRoaXMgaGFzIGFs c28gYmVlbiBwb3N0ZWQgb24gQml0Y29pbnRhbGsKPj4gZm9ydW06IGh0dHBzOi8vYml0Y29pbnRh bGsub3JnL2luZGV4LnBocD90b3BpYz01MzczMzQxLm1zZzU4NTM5MjYxI21zZzU4NTM5MjYxCj4+ IDxodHRwczovL2JpdGNvaW50YWxrLm9yZy9pbmRleC5waHA/dG9waWM9NTM3MzM0MS5tc2c1ODUz OTI2MSNtc2c1ODUzOTI2MT4gSQo+PiBoYXZlIHJlcHVibGlzaGVkIGl0IGhlcmUgaG9waW5nIHNv bWVvbmUgbW9yZSBrbm93bGVkZ2VhYmxlIGNhbiBwb3N0Cj4+IHNvbWUgaW5zaWdodCBhYm91dCB0 aGlzLgo+PiAtLS0tCj4+IEl0IGFwcGVhcnMgdGhhdCB0aGUgWmVyb01RIHRvcGljIEknbSBsaXN0 ZW5pbmcgdG8sICJyYXd0eCIsIG5vdCBvbmx5Cj4+IGVtaXRzIGEgcmF3IHRyYW5zYWN0aW9uIHdo ZW4gaXQgYXBwZWFycyBvbiB0aGUgbWVtcG9vbCwgYnV0IG9uY2UgaXQncwo+PiBhbHJlYWR5IGNv bmZpcm1lZCB0b28uCj4+Cj4+IFRoaXMgbWVzc2VzIHdpdGggbXkgc29mdHdhcmUsIGNhdXNpbmcg aXQgdG8gYWRkIHR4aWRzLCBhZGRyZXNzZXMsIGV0Yy4KPj4gYSBzZWNvbmQgdGltZSBpbnNpZGUg YXJyYXlzICh0aGlzIG1lYW5zIHRoYXQgdGhlIHNhbWUgdHJhbnNhY3Rpb24gaXMKPj4gcmVjZWl2 ZWQgdHdpY2UgaW4gdG90YWwpLgo+Pgo+PiBBcnJheSBkZS1kdXBpbmcgaXMgbm90IGEgdmlhYmxl IHNvbHV0aW9uIGxvbmctdGVybSAoYmVjYXVzZSB0aGUgYXJyYXkKPj4gd2lsbCBxdWlja2x5IGdy b3cgdG8gYmUgYmlnIGV2ZW50dWFsbHkgYW5kIHRoZW4gdGhpcyBoYXMgdG8gaGFwcGVuCj4+IGV2 ZXJ5IHRpbWUgYSBuZXcgZWxlbWVudCBpcyBhZGRlZCksIHNvIEknbSB0cnlpbmcgdG8gbmlwIHRo ZSBwcm9ibGVtCj4+IGZyb20gdGhlIHNvdXJjZSBieSBpbnN0cnVjdGluZyBDb3JlIHRvIG9ubHkg cHVibGlzaCB1bmNvbmZpcm1lZAo+PiBiaXRjb2luIHRyYW5zYWN0aW9ucy4KPj4KPj4gQWNjb3Jk aW5nIHRvCj4+IGh0dHBzOi8vYml0Y29pbi5zdGFja2V4Y2hhbmdlLmNvbS9xdWVzdGlvbnMvNTI4 NDgvaXMtaXQtcG9zc2libGUtdG8tY29uZmlndXJlLXRoZS1iaXRjb2luLWRhZW1vbi10by1vbmx5 LWJyb2FkY2FzdC11bmNvbmZpcm1lZC10cmEKPj4gPGh0dHBzOi8vYml0Y29pbi5zdGFja2V4Y2hh bmdlLmNvbS9xdWVzdGlvbnMvNTI4NDgvaXMtaXQtcG9zc2libGUtdG8tY29uZmlndXJlLXRoZS1i aXRjb2luLWRhZW1vbi10by1vbmx5LWJyb2FkY2FzdC11bmNvbmZpcm1lZC10cmE+Cj4+ICwgaXQg aXMgbm90IHBvc3NpYmxlIHRvIGNvbmZpZ3VyZSB0aGlzIGZyb20gYSBjb25maWd1cmF0aW9uIG9y Cj4+IGNvbW1hbmQtbGluZSBvcHRpb24uIFRoZSBzb3VyY2UgY29kZSBtdXN0IGRpcmVjdGx5IGJl IGVkaXRlZC4gQnV0Cj4+IHNpbmNlIHRoZSBjb2RlYmFzZSBoYXMgY2hhbmdlZCBncmVhdGx5LCB0 aGUgcHJvcG9zZWQgc29sdXRpb24gbm8KPj4gbG9uZ2VyIHdvcmtzLgo+Pgo+PiAtLS0tCj4+Cj4+ IFNvIGJhc2ljYWxseSwgSSBrbm93IHRoYXQgc29tZXRoaW5nIGluc2lkZQo+PiBzcmMvem1xL3pt cW5vdGlmaWNhdGlvbmludGVyZmFjZS5jcHAgbmVlZHMgdG8gYmUgcGF0Y2hlZCwgYnV0IEknbSBu b3QKPj4gc3VyZSB3aGljaCBmdW5jdGlvbiwgb3IgaG93IHRvIGRvIGl0LiBCZWNhdXNlIEkgb25s eSBuZWVkIHVuY29uZmlybWVkCj4+IHRyYW5zYWN0aW9ucyB0byBiZSBwdWJsaXNoZWQgb24gWmVy b01RIHJhd3R4IGFuZCBub3QgY29uZmlybWVkIG9uZXMsCj4+IGl0J3Mgb25lIG9mIHRoZSBmb2xs b3dpbmcgZnVuY3Rpb25zIHRoYXQgSSBuZWVkIHRvIHBhdGNoIGZvciBteSBvd24gYnVpbGQ6Cj4+ Cj4+IENaTVFOb3RpZmljYXRpb25JbnRlcmZhY2U6OlRyYW5zYWN0aW9uUmVtb3ZlZEZyb21NZW1w b29sCj4+IHZvaWQgQ1pNUU5vdGlmaWNhdGlvbkludGVyZmFjZTo6QmxvY2tEaXNjb25uZWN0ZWQK Pj4KPj4gQm90aCBvZiB0aGVzZSBjYWxsIE5vdGlmeVRyYW5zYWN0aW9uKCkgbWV0aG9kIHdoaWNo IEkgYXNzdW1lIGZpcmVzIGEKPj4gbWVzc2FnZSBvbiAicmF3dHgiIGNoYW5uZWwuCj4+Cj4+IElu IHRoZSBTdGFjayBFeGNoYW5nZSBxdWVzdGlvbiBJIGxpbmtlZCBhYm92ZSwgSm9uYXMgU2NobmVs bGkKPj4gc3VnZ2VzdGVkIGFkZGluZyBhbiBgaWYgKCFwYmxvY2spYCBjaGVjaywgYnV0IHRoYXQg d2FzIHNldmVyYWwgeWVhcnMKPj4gYWdvIGFuZCB0aGUgZnVuY3Rpb24gaGUgd2FzIHJlZmVyZW5j aW5nIG5vIGxvbmdlciBleGlzdHMuCj4+Cj4+IEJ1dCBJIHN0aWxsIHdvbmRlciBpZiB0aGUgcGJs b2NrIGNoZWNrIGlzIHN0aWxsIGFwcGxpY2FibGUgaW4gdGhlCj4+IHByZXNlbnQgZGF5IChpLmUu IGlmIGl0J3MgaW5kaWNhdGluZyBhIGJsb2NrIHRoZSB0cmFuc2FjdGlvbiBpcyBpbnNpZGUpLgo+ Pgo+PiAtIEFsaSBTaGVyaWVmCj4+Cj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCj4+IGJpdGNvaW4tZGV2IG1haWxpbmcgbGlzdAo+PiBiaXRjb2luLWRl dkBsaXN0cy5saW51eGZvdW5kYXRpb24ub3JnCj4+IGh0dHBzOi8vbGlzdHMubGludXhmb3VuZGF0 aW9uLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2JpdGNvaW4tZGV2Cj4KPiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGJpdGNvaW4tZGV2IG1haWxpbmcgbGlz dAo+IGJpdGNvaW4tZGV2QGxpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmcKPiBodHRwczovL2xpc3Rz LmxpbnV4Zm91bmRhdGlvbi5vcmcvbWFpbG1hbi9saXN0aW5mby9iaXRjb2luLWRldg== --b1_Lo92z2y9KX2eIhBMlyqrHYUOP6b5wtcfv75xdhXPs Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 ICAgPGRpdj48YnI+PC9kaXY+PGRpdj5UaGVvcmV0aWNhbGx5IHRoYXQgd291bGQgYmUgdGhlIGRl c2lyZWQgb3V0Y29tZSBmb3IgbWUgYnV0IHRoaXMgY2hhbmdlIGlzIGdvaW5nIHRvIGJlIGltcGxl bWVudGVkIGFzIHBhcnQgb2YgYSBjYXNpbm8gd2hpY2ggbXVzdCBkaXNwbGF5IHRoZSBzdGF0dXMg b2YgbmV3IGRlcG9zaXRzIHRoYXQgYXJlIG1hZGUsIGV2ZW4gd2hlbiB0aGV5IGFyZSB1bmNvbmZp cm1lZCB0byBub3cuIEhlbmNlIHdoeSBJIG5lZWQgdG8gcmVjZWl2ZSB0aGUgdW5jb25maXJtZWQg bWVzc2FnZXMuPGNhcmV0PjwvY2FyZXQ+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj4tIEFsaSBT aGVyaWVmPC9kaXY+IDxkaXY+PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2Pk9uIE1vbiwgTm92IDI5 LCAyMDIxIGF0IDU6MTAgUE0sIExPUkQgSElTIEVYQ0VMTEVOQ1kgSkFNRVMgSFJNSCAmbHQ7PGEg aHJlZj0ibWFpbHRvOndpbGx0ZWNoQGxpdmUuY29tLmF1IiBjbGFzcz0iIj53aWxsdGVjaEBsaXZl LmNvbS5hdTwvYT4mZ3Q7IHdyb3RlOjxibG9ja3F1b3RlIGNsYXNzPSJwcm90b25tYWlsX3F1b3Rl IiB0eXBlPSJjaXRlIj4gIA0KDQoNCg0KDQoNCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBDYWxp YnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgY29sb3I6IHJnYigw LCAwLCAwKTsiPg0KV2Fzbid0IHRoaXMgYWxyZWFkeSBub3QgYSBwcm9ibGVtIGJlY2F1c2UgeW91 IGNhbiBjaGVjayBpZiBpdCB3YXMgY29uZmlybWVkPyBUaGUgdHJhbnNhY3Rpb24gaXMgbm90IGZp bmFsaXNlZCBpbiB0aGUgbWVtcG9vbCBpdCBpcyBqdXN0IHNwZWN1bGF0aW9uIG9mIGEgdHJhbnNh Y3Rpb24sIHNvIGl0IG1ha2VzIHNlbnNlIHRvIGVtaXQgd2hlbiB0aGUgdHJhbnNhY3Rpb24gaXMg Y29uZmlybWVkLiZuYnNwOyBKdXN0IGFscmVhZHkgY2hlY2suLjxicj4NCjwvZGl2Pg0KPGRpdiBz dHlsZT0iZm9udC1mYW1pbHk6IENhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1z aXplOiAxMnB0OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+DQo8YnI+DQo8L2Rpdj4NCjxkaXYgc3R5 bGU9ImZvbnQtZmFtaWx5OiBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6 ZTogMTJwdDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPg0KPGZvbnQgc2l6ZT0iMiI+PHNwYW4gc3R5 bGU9ImZvbnQtc2l6ZToxMXB0Ij4mZ3Q7IEl0IGFwcGVhcnMgdGhhdCB0aGUgWmVyb01RIHRvcGlj IEknbSBsaXN0ZW5pbmcgdG8sICJyYXd0eCIsIG5vdCBvbmx5PGJyPg0KJmd0OyBlbWl0cyBhIHJh dyB0cmFuc2FjdGlvbiB3aGVuIGl0IGFwcGVhcnMgb24gdGhlIG1lbXBvb2wsIGJ1dCBvbmNlIGl0 J3M8YnI+DQomZ3Q7IGFscmVhZHkgY29uZmlybWVkIHRvby48L3NwYW4+PC9mb250Pjxicj4NCjwv ZGl2Pg0KPGRpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBDYWxpYnJpLCBIZWx2ZXRpY2Es IHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPg0KPGJy Pg0KPC9kaXY+DQo8ZGl2IGlkPSJTaWduYXR1cmUiPg0KPGRpdj4NCjxkaXY+PC9kaXY+DQo8ZGl2 PjwvZGl2Pg0KPGRpdj48L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmksSGVs dmV0aWNhLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxMnB0OyBjb2xvcjpyZ2IoMCwwLDApIj4NCjwv ZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaSxIZWx2ZXRpY2Esc2Fucy1zZXJp ZjsgZm9udC1zaXplOjEycHQ7IGNvbG9yOnJnYigwLDAsMCkiPg0KPGRpdj5LSU5HIEpBTUVTIEhS TUg8L2Rpdj4NCjxkaXY+R3JlYXQgQnJpdGlzaCBFbXBpcmU8L2Rpdj4NCjxkaXY+PGJyPg0KPC9k aXY+DQo8ZGl2PlJlZ2FyZHMsDQo8ZGl2PlRoZSBBdXN0cmFsaWFuPC9kaXY+DQo8ZGl2PkxPUkQg SElTIEVYQ0VMTEVOQ1kgSkFNRVMgSFJNSCAoJmFtcDsgSE1SSCk8L2Rpdj4NCjxkaXY+b2YgSG91 Z3VuIE1hbm9yICZhbXA7IEdsZW5jb2UgJmFtcDsgQnJpdGlzaCBFbXBpcmU8L2Rpdj4NCjxkaXY+ TVIuIERhbWlhbiBBLiBKYW1lcyBXaWxsaWFtc29uPC9kaXY+DQo8ZGl2PldpbGxzPC9kaXY+DQo8 ZGl2Pjxicj4NCjwvZGl2Pg0KPGRpdj5ldCBhbC48L2Rpdj4NCjxkaXY+PGJyPg0KPC9kaXY+DQo8 ZGl2PiZuYnNwOzwvZGl2Pg0KPGRpdj5XaWxsdGVjaDwvZGl2Pg0KPGRpdj53d3cud2lsbHRlY2gu Y29tLmF1PC9kaXY+DQo8ZGl2Pnd3dy5nby1vdmVydC5jb208L2Rpdj4NCjxkaXY+ZHVpZ2NvLm9y ZyBEVUlHQ08gQVBJPC9kaXY+DQo8ZGl2PmFuZCBvdGhlciBwcm9qZWN0czwvZGl2Pg0KPGRpdj4m bmJzcDs8L2Rpdj4NCjxkaXY+PGJyPg0KPC9kaXY+DQo8ZGl2Pm0uIDA0ODcxMzU3MTk8L2Rpdj4N CjxkaXY+Zi4gKzYxMjYxNDcwMTkyPC9kaXY+DQo8ZGl2Pjxicj4NCjwvZGl2Pg0KPGRpdj48YnI+ DQo8L2Rpdj4NClRoaXMgZW1haWwgZG9lcyBub3QgY29uc3RpdHV0ZSBhIGdlbmVyYWwgYWR2aWNl LiBQbGVhc2UgZGlzcmVnYXJkIHRoaXMgZW1haWwgaWYgbWlzZGVsaXZlcmVkLjxicj4NCjwvZGl2 Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8ZGl2Pg0KPGhyIHRhYmluZGV4PSIt MSIgc3R5bGU9ImRpc3BsYXk6aW5saW5lLWJsb2NrOyB3aWR0aDo5OCUiPg0KPGRpdiBpZD0iZGl2 UnBseUZ3ZE1zZyIgZGlyPSJsdHIiPjxmb250IHN0eWxlPSJmb250LXNpemU6MTFwdCIgZmFjZT0i Q2FsaWJyaSwgc2Fucy1zZXJpZiIgY29sb3I9IiMwMDAwMDAiPjxiPkZyb206PC9iPiBiaXRjb2lu LWRldiAmbHQ7Yml0Y29pbi1kZXYtYm91bmNlc0BsaXN0cy5saW51eGZvdW5kYXRpb24ub3JnJmd0 OyBvbiBiZWhhbGYgb2YgMHhCMTBDIHZpYSBiaXRjb2luLWRldiAmbHQ7Yml0Y29pbi1kZXZAbGlz dHMubGludXhmb3VuZGF0aW9uLm9yZyZndDs8YnI+DQo8Yj5TZW50OjwvYj4gTW9uZGF5LCAyOSBO b3ZlbWJlciAyMDIxIDg6MzIgUE08YnI+DQo8Yj5Ubzo8L2I+IEFsaSBTaGVyaWVmICZsdDthbGlA bm90YXRldGhlci5jb20mZ3Q7OyBCaXRjb2luIFByb3RvY29sIERpc2N1c3Npb24gJmx0O2JpdGNv aW4tZGV2QGxpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmcmZ3Q7PGJyPg0KPGI+U3ViamVjdDo8L2I+ IFJlOiBbYml0Y29pbi1kZXZdIFRyeWluZyB0byBwYXRjaCBDb3JlIFpNUSAicmF3dHgiIHRvcGlj IHRvIG9ubHkgcHVibGlzaCB1bmNvbmZpcm1lZCB0cmFuc2FjdGlvbnM6IEhvdz88L2ZvbnQ+DQo8 ZGl2PiZuYnNwOzwvZGl2Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJCb2R5RnJhZ21lbnQiPjxmb250 IHNpemU9IjIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdCI+DQo8ZGl2IGNsYXNzPSJQbGFp blRleHQiPkhpIEFsaSw8YnI+DQo8YnI+DQpJJ3ZlIHJ1biBpbnRvIHRoaXMgbXVsdGlwbGUgdGlt ZXMgbXlzZWxmLiBJJ3ZlIG9wZW5lZCBhIGRyYWZ0IFBSIFswXTxicj4NCmFkZGluZyBhIHJhd21l bXBvb2x0eCBwdWJsaXNoZXIuPGJyPg0KPGJyPg0KWW91J3JlIHJpZ2h0LiBJbiB6bXEvem1xbm90 aWZpY2F0aW9uaW50ZXJmYWNlLmNwcCB0aGU8YnI+DQpDWk1RTm90aWZpY2F0aW9uSW50ZXJmYWNl IGlzIG5vdGlmaWVkIGFib3V0IFRyYW5zYWN0aW9uQWRkZWRUb01lbXBvb2wuPGJyPg0KQ3VycmVu dGx5LCB0aGlzIGNhbGxzIE5vdGlmeVRyYW5zYWN0aW9uKCkgKHRoZSBwdWJsaXNoZXIgd2l0aCB0 aGUgcmF3dHg8YnI+DQp0b3BpYykgYW5kIE5vdGlmeVRyYW5zYWN0aW9uQWNjZXB0YW5jZSgpICh0 aGUgcHVibGlzaGVyIHdpdGggdGhlPGJyPg0Kc2VxdWVuY2UgdG9waWMpWzFdLiBJJ3ZlIGFkZGVk IGEgY2FsbCB0byBhIG5ldzxicj4NCk5vdGlmeU1lbXBvb2xUcmFuc2FjdGlvbigpIGZ1bmN0aW9u ICh0aGUgcHVibGlzaGVyIHdpdGggdGhlIHJhd21lbXBvb2x0eDxicj4NCnRvcGljKS48YnI+DQo8 YnI+DQpJJ2QgZmluZCBhIG1lbXBvb2wgdHJhbnNhY3Rpb24gcHVibGlzaGVyIHdpdGggYm90aCB0 aGUgcmF3IHRyYW5zYWN0aW9uPGJyPg0KYW5kIHRyYW5zYWN0aW9uIGZlZSB1c2VmdWwgdG9vLiBI b3dldmVyLCB0aGlzIHJlcXVpcmVzIGNoYW5nZXMgdG8gdGhlPGJyPg0KY2hhaW4gbm90aWZpY2F0 aW9ucyBpbiBpbnRlcmZhY2VzL2NoYWluLmguJm5ic3A7PGJyPg0KPGJyPg0KWzBdOiA8YSBocmVm PSJodHRwczovL2dpdGh1Yi5jb20vYml0Y29pbi9iaXRjb2luL3B1bGwvMjM2MjQiPmh0dHBzOi8v Z2l0aHViLmNvbS9iaXRjb2luL2JpdGNvaW4vcHVsbC8yMzYyNDwvYT48YnI+DQpbMV06PGJyPg0K PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2JpdGNvaW4vYml0Y29pbi9wdWxsLzIzNjI0L2Zp bGVzI2RpZmYtYWM0YjJkM2E4ZGUyYzRkZDQxYWQ5ZDc1NTA1ZWE2Y2U0ZGM4N2E0NzY3MTBhOWVi ZWU4YWNmOWJlYmY1Y2NhMkwxNDYtTDE0OCI+aHR0cHM6Ly9naXRodWIuY29tL2JpdGNvaW4vYml0 Y29pbi9wdWxsLzIzNjI0L2ZpbGVzI2RpZmYtYWM0YjJkM2E4ZGUyYzRkZDQxYWQ5ZDc1NTA1ZWE2 Y2U0ZGM4N2E0NzY3MTBhOWViZWU4YWNmOWJlYmY1Y2NhMkwxNDYtTDE0ODwvYT4mbmJzcDs8YnI+ DQo8YnI+DQo8YnI+DQpCZXN0LDxicj4NCjB4QjEwQzxicj4NCjxicj4NCjxicj4NCjxicj4NCk9u IDExLzI2LzIxIDU6NTYgUE0sIEFsaSBTaGVyaWVmIHZpYSBiaXRjb2luLWRldiB3cm90ZTo8YnI+ DQomZ3Q7PGJyPg0KJmd0OyBUaGlzIGhhcyBhbHNvIGJlZW4gcG9zdGVkIG9uIEJpdGNvaW50YWxr PGJyPg0KJmd0OyBmb3J1bTombmJzcDs8YSBocmVmPSJodHRwczovL2JpdGNvaW50YWxrLm9yZy9p bmRleC5waHA/dG9waWM9NTM3MzM0MS5tc2c1ODUzOTI2MSNtc2c1ODUzOTI2MSI+aHR0cHM6Ly9i aXRjb2ludGFsay5vcmcvaW5kZXgucGhwP3RvcGljPTUzNzMzNDEubXNnNTg1MzkyNjEjbXNnNTg1 MzkyNjE8L2E+PGJyPg0KJmd0OyAmbHQ7PGEgaHJlZj0iaHR0cHM6Ly9iaXRjb2ludGFsay5vcmcv aW5kZXgucGhwP3RvcGljPTUzNzMzNDEubXNnNTg1MzkyNjEjbXNnNTg1MzkyNjEiPmh0dHBzOi8v Yml0Y29pbnRhbGsub3JnL2luZGV4LnBocD90b3BpYz01MzczMzQxLm1zZzU4NTM5MjYxI21zZzU4 NTM5MjYxPC9hPiZndDsmbmJzcDtJPGJyPg0KJmd0OyBoYXZlIHJlcHVibGlzaGVkIGl0IGhlcmUg aG9waW5nIHNvbWVvbmUgbW9yZSBrbm93bGVkZ2VhYmxlIGNhbiBwb3N0PGJyPg0KJmd0OyBzb21l IGluc2lnaHQgYWJvdXQgdGhpcy48YnI+DQomZ3Q7IC0tLS08YnI+DQomZ3Q7IEl0IGFwcGVhcnMg dGhhdCB0aGUgWmVyb01RIHRvcGljIEknbSBsaXN0ZW5pbmcgdG8sICJyYXd0eCIsIG5vdCBvbmx5 PGJyPg0KJmd0OyBlbWl0cyBhIHJhdyB0cmFuc2FjdGlvbiB3aGVuIGl0IGFwcGVhcnMgb24gdGhl IG1lbXBvb2wsIGJ1dCBvbmNlIGl0J3M8YnI+DQomZ3Q7IGFscmVhZHkgY29uZmlybWVkIHRvby48 YnI+DQomZ3Q7PGJyPg0KJmd0OyBUaGlzIG1lc3NlcyB3aXRoIG15IHNvZnR3YXJlLCBjYXVzaW5n IGl0IHRvIGFkZCB0eGlkcywgYWRkcmVzc2VzLCBldGMuPGJyPg0KJmd0OyBhIHNlY29uZCB0aW1l IGluc2lkZSBhcnJheXMgKHRoaXMgbWVhbnMgdGhhdCB0aGUgc2FtZSB0cmFuc2FjdGlvbiBpczxi cj4NCiZndDsgcmVjZWl2ZWQgdHdpY2UgaW4gdG90YWwpLjxicj4NCiZndDs8YnI+DQomZ3Q7IEFy cmF5IGRlLWR1cGluZyBpcyBub3QgYSB2aWFibGUgc29sdXRpb24gbG9uZy10ZXJtIChiZWNhdXNl IHRoZSBhcnJheTxicj4NCiZndDsgd2lsbCBxdWlja2x5IGdyb3cgdG8gYmUgYmlnIGV2ZW50dWFs bHkgYW5kIHRoZW4gdGhpcyBoYXMgdG8gaGFwcGVuPGJyPg0KJmd0OyBldmVyeSB0aW1lIGEgbmV3 IGVsZW1lbnQgaXMgYWRkZWQpLCBzbyBJJ20gdHJ5aW5nIHRvIG5pcCB0aGUgcHJvYmxlbTxicj4N CiZndDsgZnJvbSB0aGUgc291cmNlIGJ5IGluc3RydWN0aW5nIENvcmUgdG8gb25seSBwdWJsaXNo IHVuY29uZmlybWVkPGJyPg0KJmd0OyBiaXRjb2luIHRyYW5zYWN0aW9ucy48YnI+DQomZ3Q7PGJy Pg0KJmd0OyBBY2NvcmRpbmcgdG88YnI+DQomZ3Q7IDxhIGhyZWY9Imh0dHBzOi8vYml0Y29pbi5z dGFja2V4Y2hhbmdlLmNvbS9xdWVzdGlvbnMvNTI4NDgvaXMtaXQtcG9zc2libGUtdG8tY29uZmln dXJlLXRoZS1iaXRjb2luLWRhZW1vbi10by1vbmx5LWJyb2FkY2FzdC11bmNvbmZpcm1lZC10cmEi Pg0KaHR0cHM6Ly9iaXRjb2luLnN0YWNrZXhjaGFuZ2UuY29tL3F1ZXN0aW9ucy81Mjg0OC9pcy1p dC1wb3NzaWJsZS10by1jb25maWd1cmUtdGhlLWJpdGNvaW4tZGFlbW9uLXRvLW9ubHktYnJvYWRj YXN0LXVuY29uZmlybWVkLXRyYTwvYT48YnI+DQomZ3Q7ICZsdDs8YSBocmVmPSJodHRwczovL2Jp dGNvaW4uc3RhY2tleGNoYW5nZS5jb20vcXVlc3Rpb25zLzUyODQ4L2lzLWl0LXBvc3NpYmxlLXRv LWNvbmZpZ3VyZS10aGUtYml0Y29pbi1kYWVtb24tdG8tb25seS1icm9hZGNhc3QtdW5jb25maXJt ZWQtdHJhIj5odHRwczovL2JpdGNvaW4uc3RhY2tleGNoYW5nZS5jb20vcXVlc3Rpb25zLzUyODQ4 L2lzLWl0LXBvc3NpYmxlLXRvLWNvbmZpZ3VyZS10aGUtYml0Y29pbi1kYWVtb24tdG8tb25seS1i cm9hZGNhc3QtdW5jb25maXJtZWQtdHJhPC9hPiZndDs8YnI+DQomZ3Q7ICwgaXQgaXMgbm90IHBv c3NpYmxlIHRvIGNvbmZpZ3VyZSB0aGlzIGZyb20gYSBjb25maWd1cmF0aW9uIG9yPGJyPg0KJmd0 OyBjb21tYW5kLWxpbmUgb3B0aW9uLiBUaGUgc291cmNlIGNvZGUgbXVzdCBkaXJlY3RseSBiZSBl ZGl0ZWQuIEJ1dDxicj4NCiZndDsgc2luY2UgdGhlIGNvZGViYXNlIGhhcyBjaGFuZ2VkIGdyZWF0 bHksIHRoZSBwcm9wb3NlZCBzb2x1dGlvbiBubzxicj4NCiZndDsgbG9uZ2VyIHdvcmtzLjxicj4N CiZndDs8YnI+DQomZ3Q7IC0tLS08YnI+DQomZ3Q7PGJyPg0KJmd0OyBTbyBiYXNpY2FsbHksIEkg a25vdyB0aGF0IHNvbWV0aGluZyBpbnNpZGU8YnI+DQomZ3Q7IHNyYy96bXEvem1xbm90aWZpY2F0 aW9uaW50ZXJmYWNlLmNwcCBuZWVkcyB0byBiZSBwYXRjaGVkLCBidXQgSSdtIG5vdDxicj4NCiZn dDsgc3VyZSB3aGljaCBmdW5jdGlvbiwgb3IgaG93IHRvIGRvIGl0LiBCZWNhdXNlIEkgb25seSBu ZWVkIHVuY29uZmlybWVkPGJyPg0KJmd0OyB0cmFuc2FjdGlvbnMgdG8gYmUgcHVibGlzaGVkIG9u IFplcm9NUSByYXd0eCBhbmQgbm90IGNvbmZpcm1lZCBvbmVzLDxicj4NCiZndDsgaXQncyBvbmUg b2YgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgdGhhdCBJIG5lZWQgdG8gcGF0Y2ggZm9yIG15IG93 biBidWlsZDo8YnI+DQomZ3Q7PGJyPg0KJmd0OyBDWk1RTm90aWZpY2F0aW9uSW50ZXJmYWNlOjpU cmFuc2FjdGlvblJlbW92ZWRGcm9tTWVtcG9vbDxicj4NCiZndDsgdm9pZCBDWk1RTm90aWZpY2F0 aW9uSW50ZXJmYWNlOjpCbG9ja0Rpc2Nvbm5lY3RlZDxicj4NCiZndDs8YnI+DQomZ3Q7IEJvdGgg b2YgdGhlc2UgY2FsbCBOb3RpZnlUcmFuc2FjdGlvbigpIG1ldGhvZCB3aGljaCBJIGFzc3VtZSBm aXJlcyBhPGJyPg0KJmd0OyBtZXNzYWdlIG9uICJyYXd0eCIgY2hhbm5lbC48YnI+DQomZ3Q7PGJy Pg0KJmd0OyBJbiB0aGUgU3RhY2sgRXhjaGFuZ2UgcXVlc3Rpb24gSSBsaW5rZWQgYWJvdmUsJm5i c3A7Sm9uYXMgU2NobmVsbGk8YnI+DQomZ3Q7IHN1Z2dlc3RlZCBhZGRpbmcgYW4gYGlmICghcGJs b2NrKWAgY2hlY2ssIGJ1dCB0aGF0IHdhcyBzZXZlcmFsIHllYXJzPGJyPg0KJmd0OyBhZ28gYW5k IHRoZSBmdW5jdGlvbiBoZSB3YXMgcmVmZXJlbmNpbmcgbm8gbG9uZ2VyIGV4aXN0cy48YnI+DQom Z3Q7PGJyPg0KJmd0OyBCdXQgSSBzdGlsbCB3b25kZXIgaWYgdGhlIHBibG9jayBjaGVjayBpcyBz dGlsbCBhcHBsaWNhYmxlIGluIHRoZTxicj4NCiZndDsgcHJlc2VudCBkYXkgKGkuZS4gaWYgaXQn cyBpbmRpY2F0aW5nIGEgYmxvY2sgdGhlIHRyYW5zYWN0aW9uIGlzIGluc2lkZSkuPGJyPg0KJmd0 Ozxicj4NCiZndDsgLSBBbGkgU2hlcmllZjxicj4NCiZndDs8YnI+DQomZ3Q7IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPg0KJmd0OyBiaXRjb2luLWRl diBtYWlsaW5nIGxpc3Q8YnI+DQomZ3Q7IGJpdGNvaW4tZGV2QGxpc3RzLmxpbnV4Zm91bmRhdGlv bi5vcmc8YnI+DQomZ3Q7IDxhIGhyZWY9Imh0dHBzOi8vbGlzdHMubGludXhmb3VuZGF0aW9uLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2JpdGNvaW4tZGV2Ij5odHRwczovL2xpc3RzLmxpbnV4Zm91bmRh dGlvbi5vcmcvbWFpbG1hbi9saXN0aW5mby9iaXRjb2luLWRldjwvYT48YnI+DQo8YnI+DQo8YnI+ DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4NCmJp dGNvaW4tZGV2IG1haWxpbmcgbGlzdDxicj4NCmJpdGNvaW4tZGV2QGxpc3RzLmxpbnV4Zm91bmRh dGlvbi5vcmc8YnI+DQo8YSBocmVmPSJodHRwczovL2xpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmcv bWFpbG1hbi9saXN0aW5mby9iaXRjb2luLWRldiI+aHR0cHM6Ly9saXN0cy5saW51eGZvdW5kYXRp b24ub3JnL21haWxtYW4vbGlzdGluZm8vYml0Y29pbi1kZXY8L2E+PGJyPg0KPC9kaXY+DQo8L3Nw YW4+PC9mb250PjwvZGl2Pg0KPC9kaXY+DQoNCg0KPC9ibG9ja3F1b3RlPjxkaXY+PGJyPjwvZGl2 PjxkaXY+PGJyPjwvZGl2Pg== --b1_Lo92z2y9KX2eIhBMlyqrHYUOP6b5wtcfv75xdhXPs--