diff options
author | Andrew Chow <achow101-lists@achow101.com> | 2021-06-28 16:04:19 +0000 |
---|---|---|
committer | bitcoindev <bitcoindev@gnusha.org> | 2021-06-28 16:06:28 +0000 |
commit | 7078ae9f7aa04fc085a15d1382b9f1ebd49fb268 (patch) | |
tree | 6f0d68b3b7f66c6a44cb32f2c4275490919209f4 | |
parent | cdb086ab7cee40d22d9b889f4237151a1826d329 (diff) | |
download | pi-bitcoindev-7078ae9f7aa04fc085a15d1382b9f1ebd49fb268.tar.gz pi-bitcoindev-7078ae9f7aa04fc085a15d1382b9f1ebd49fb268.zip |
Re: [bitcoin-dev] Taproot Fields for PSBT
-rw-r--r-- | 22/58ecb12fe6f86032da22a9e47f4b5e94c01075 | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/22/58ecb12fe6f86032da22a9e47f4b5e94c01075 b/22/58ecb12fe6f86032da22a9e47f4b5e94c01075 new file mode 100644 index 000000000..cdf39685f --- /dev/null +++ b/22/58ecb12fe6f86032da22a9e47f4b5e94c01075 @@ -0,0 +1,182 @@ +Return-Path: <achow101-lists@achow101.com> +Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) + by lists.linuxfoundation.org (Postfix) with ESMTP id 79D6DC000E + for <bitcoin-dev@lists.linuxfoundation.org>; + Mon, 28 Jun 2021 16:06:28 +0000 (UTC) +Received: from localhost (localhost [127.0.0.1]) + by smtp1.osuosl.org (Postfix) with ESMTP id 6152883033 + for <bitcoin-dev@lists.linuxfoundation.org>; + Mon, 28 Jun 2021 16:06:28 +0000 (UTC) +X-Virus-Scanned: amavisd-new at osuosl.org +X-Spam-Flag: NO +X-Spam-Score: -0.2 +X-Spam-Level: +X-Spam-Status: No, score=-0.2 tagged_above=-999 required=5 + tests=[BAYES_40=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, + DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, + SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no +Authentication-Results: smtp1.osuosl.org (amavisd-new); + dkim=pass (2048-bit key) header.d=achow101.com +Received: from smtp1.osuosl.org ([127.0.0.1]) + by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id UGch9j5tuU9S + for <bitcoin-dev@lists.linuxfoundation.org>; + Mon, 28 Jun 2021 16:06:26 +0000 (UTC) +X-Greylist: from auto-whitelisted by SQLgrey-1.8.0 +Received: from mail-0201.mail-europe.com (mail-0201.mail-europe.com + [51.77.79.158]) + by smtp1.osuosl.org (Postfix) with ESMTPS id 2BD1882FE7 + for <bitcoin-dev@lists.linuxfoundation.org>; + Mon, 28 Jun 2021 16:06:22 +0000 (UTC) +Date: Mon, 28 Jun 2021 16:04:19 +0000 +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=achow101.com; + s=protonmail3; t=1624896344; + bh=jp1VxVoXIsH+gYlrv7q7iBRVXw4fkFIZHxD9ctbl6V0=; + h=Date:To:From:Reply-To:Subject:In-Reply-To:References:From; + b=XaI4+Q9Hirgw4ixSiThz3nKhBthVrHuAvtoBM5mqJY3DmqbRcP+AGSGJzRa1QGMXR + tEYZcaDnBio6g0LZTSqjHFpYkBMQ2AkXigq2n8vi3ohPF9atJ3RUlBANp/BcNPVplA + xX6mhuBjf3MCtz0d50MqOneFAW8sF0FD14m8w155uxLqbOn3BaJ0bAxkkP7GzQW9FH + AHiv/t4kpuw9MDh9nAwURUyhH3pZtboA21u9bzHz0lFdTyVvsWIuNJrex21KAzYUHt + 46YCk7RbgQd1IXTlJPzLT3lQ4nVbNv2UwTY0uyq7ZEkr3yqP0NaRduDN+lNIbjQq4t + ZTsy7nZvDQ3fA== +To: Salvatore Ingala <salvatore.ingala@gmail.com>, + Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org> +From: Andrew Chow <achow101-lists@achow101.com> +Reply-To: Andrew Chow <achow101-lists@achow101.com> +Message-ID: <912b172b-009d-9d5f-32d8-189e7fbe7646@achow101.com> +In-Reply-To: <CAMhCMoF7N4BuXDz1cSDBLi5zH8c06uZ3T3gc750azFH3JagcNw@mail.gmail.com> +References: <795f917b-3883-1827-f39b-35123b500f36@achow101.com> + <CAMhCMoF7N4BuXDz1cSDBLi5zH8c06uZ3T3gc750azFH3JagcNw@mail.gmail.com> +MIME-Version: 1.0 +Content-Type: multipart/alternative; + boundary="b1_22FVUbshPVmk1rwYjZMES4l4OXOv62X9YxS8YYuN1M" +Subject: Re: [bitcoin-dev] Taproot Fields for PSBT +X-BeenThere: bitcoin-dev@lists.linuxfoundation.org +X-Mailman-Version: 2.1.15 +Precedence: list +List-Id: Bitcoin Protocol Discussion <bitcoin-dev.lists.linuxfoundation.org> +List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>, + <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe> +List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/> +List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org> +List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help> +List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>, + <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe> +X-List-Received-Date: Mon, 28 Jun 2021 16:06:28 -0000 + +This is a multi-part message in MIME format. + +--b1_22FVUbshPVmk1rwYjZMES4l4OXOv62X9YxS8YYuN1M +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: base64 + +SGkgU2FsdmF0b3JlLAoKT24gNi8yOC8yMSA2OjAzIEFNLCBTYWx2YXRvcmUgSW5nYWxhIHdyb3Rl +OgoKPiBIaSBBbmRyZXcsCj4KPiBJIGp1c3QgaGF2ZSBhIHNtYWxsIHN1Z2dlc3Rpb24gb24gdGhp +cyBwcm9wb3NhbC4KPgo+IE9uIFR1ZSwgMjIgSnVuIDIwMjEgYXQgMjM6MjksIEFuZHJldyBDaG93 +IHZpYSBiaXRjb2luLWRldiA8Yml0Y29pbi1kZXZAbGlzdHMubGludXhmb3VuZGF0aW9uLm9yZz4g +d3JvdGU6Cj4KPj4gfCBUYXByb290IExlYWYgU2NyaXB0Cj4+IHwgPHR0PlBTQlRfSU5fVEFQX0xF +QUZfU0NSSVBUID0gMHgxNTwvdHQ+Cj4+IHwgPHR0Pjxjb250cm9sIGJsb2NrPjwvdHQ+Cj4+IHwg +VGhlIGNvbnRyb2wgYmxvY2sgZm9yIHRoaXMgbGVhZiBhcyBzcGVjaWZpZWQgaW4gQklQIDM0MS4g +VGhlIGNvbnRyb2wKPj4gYmxvY2sgY29udGFpbnMgdGhlIG1lcmtsZSB0cmVlIHBhdGggdG8gdGhp +cyBsZWFmLgo+PiB8IDx0dD48c2NyaXB0PiA8OC1iaXQgdWludD48L3R0Pgo+PiB8IFRoZSBzY3Jp +cHQgZm9yIHRoaXMgbGVhZiBhcyB3b3VsZCBiZSBwcm92aWRlZCBpbiB0aGUgd2l0bmVzcyBzdGFj +awo+PiBmb2xsb3dlZCBieSB0aGUgc2luZ2xlIGJ5dGUgbGVhZiB2ZXJzaW9uLgo+Cj4gU28gZmFy +LCBhbGwgdGhlIGRlZmluZWQgUFNCVCB0eXBlcyBoYWQgYSByZWxhdGl2ZWx5IHNob3J0IGtleWRh +dGEgKG5vdCBtdWNoIGJpZ2dlciB0aGFuIGEgY291cGxlIG9mIHB1YmtleXMpLgo+IEkgdGhpbmsg +dGhhdCBpcyBhIGRlc2lyYWJsZSBwcm9wZXJ0eSB0byBrZWVwLCBhcyBpdCBpcyBvZnRlbiBhIHJl +YXNvbmFibGUgYXNzdW1wdGlvbiB0aGF0IGRpY3Rpb25hcnkga2V5cyBhcmUgbm90IHZlcnkgbGFy +Z2UuCj4gVGhlIGNvbnRyb2wgYmxvY2sgYXMgcGVyIEJJUCAzNDEgY2FuIGJlIHVwIHRvIDMzICsg +MzIqMTI4ID0gNDEyOSBieXRlcyBsb25nLgo+Cj4gUGVyaGFwcyBpdCB3b3VsZCBiZSBiZXR0ZXIg +dG8gc3BsaXQgdGhpcyBpbnRvIFBTQlRfSU5fVEFQX0xFQUZfU0NSSVBUIGFuZCBQU0JUX0lOX1RB +UF9MRUFGX0NPTlRST0xfQkxPQ0sgKGJvdGggd2l0aCBubyBrZXlkYXRhKT8KCkEgdGFwcm9vdCB0 +cmVlIGNhbiBoYXZlIG11bHRpcGxlIGxlYWYgc2NyaXB0cywgYW5kIHNpbmNlIGl0IGlzIHBvc3Np +YmxlIHRoYXQgdGhlIGFjdHVhbCBzY3JpcHQgdG8gYmUgdXNlZCBpcyBub3Qga25vd24gYXQgdGhl +IHRpbWUgc2NyaXB0cyBhbmQgY29udHJvbCBibG9ja3MgYXJlIGFkZGVkIHRvIHRoZSBQU0JULCBp +dCB3b3VsZCBub3QgYmUgc3VmZmljaWVudCB0byBvbmx5IGhhdmUgdHdvIGZpZWxkcyB3aXRoIG5v +IGtleWRhdGEuIEl0IHdvdWxkIG5vdCBiZSBwb3NzaWJsZSB0byBzcGVjaWZ5IG11bHRpcGxlIGxl +YWYgc2NyaXB0cy4KCkZ1cnRoZXJtb3JlLCBpdCBpcyBwb3NzaWJsZSB0byBoYXZlIHRoZSBzYW1l +IGxlYWYgc2NyaXB0IGFwcGVhciBtdWx0aXBsZSB0aW1lcyBpbiB0aGUgdHJlZS4gU28gaXQgaXMg +bm90IHN1ZmZpY2llbnQgdG8gdXNlIHRoZSBsZWFmIGhhc2ggYXMgdGhlIGtleWRhdGEgYXMgYSBz +Y3JpcHQgdGhhdCBhcHBlYXJzIG11bHRpcGxlIHRpbWVzIHdvdWxkIG9ubHkgaGF2ZSBvbmUgY29u +dHJvbCBibG9jayBwb3NzaWJsZSwgd2hlcmUgaW4gcmVhbGl0eSBpdCB3b3VsZCBoYXZlIG1vcmUg +dGhhbiBvbmUuCgpUaHVzIHRoZSBvbmx5IHdheSB0byBhbGxvdyBtdWx0aXBsZSBkaWZmZXJlbnQg +bGVhZiBzY3JpcHRzLCBhbmQgdGhlIHNhbWUgbGVhZiBzY3JpcHQgdG8gYXBwZWFyIG11bHRpcGxl +IHRpbWVzLCBpcyB0byB1c2UgdGhlIGNvbnRyb2wgYmxvY2sgYXMga2V5ZGF0YS4KCkFuZHJldyBD +aG93Cgo+IEJlc3QsCj4gU2FsdmF0b3JlIEluZ2FsYQ== + +--b1_22FVUbshPVmk1rwYjZMES4l4OXOv62X9YxS8YYuN1M +Content-Type: text/html; charset=utf-8 +Content-Transfer-Encoding: base64 + +PGh0bWw+PGhlYWQ+DQogICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50 +PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCiAgPC9oZWFkPg0KICA8Ym9keSB0ZXh0PSIj +MDAwMDAwIiBiZ2NvbG9yPSIjRkZGRkZGIj4NCiAgICBIaSBTYWx2YXRvcmUsPGJyLz4NCiAgICA8 +YnIvPg0KICAgIDxkaXYgY2xhc3M9Im1vei1jaXRlLXByZWZpeCI+T24gNi8yOC8yMSA2OjAzIEFN +LCBTYWx2YXRvcmUgSW5nYWxhDQogICAgICB3cm90ZTo8YnIvPg0KICAgIDwvZGl2Pg0KICAgIDxi +bG9ja3F1b3RlIHR5cGU9ImNpdGUiIGNpdGU9Im1pZDpDQU1oQ01vRjdONEJ1WER6MWNTREJMaTV6 +SDhjMDZ1WjNUM2djNzUwYXpGSDNKYWdjTndAbWFpbC5nbWFpbC5jb20iPg0KICAgICAgPG1ldGEg +aHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRG +LTgiLz4NCiAgICAgIDxkaXYgZGlyPSJsdHIiPg0KICAgICAgICA8ZGl2IGRpcj0ibHRyIj5IaSBB +bmRyZXcsDQogICAgICAgICAgPGRpdj48YnIvPg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAg +IDxkaXY+SSBqdXN0IGhhdmUgYSBzbWFsbCBzdWdnZXN0aW9uIG9uIHRoaXMgcHJvcG9zYWwuPC9k +aXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8YnIvPg0KICAgICAgICA8ZGl2IGNsYXNzPSJn +bWFpbF9xdW90ZSI+DQogICAgICAgICAgPGRpdiBkaXI9Imx0ciIgY2xhc3M9ImdtYWlsX2F0dHIi +Pk9uIFR1ZSwgMjIgSnVuIDIwMjEgYXQNCiAgICAgICAgICAgIDIzOjI5LCBBbmRyZXcgQ2hvdyB2 +aWEgYml0Y29pbi1kZXYgJmx0OzxhIGhyZWY9Im1haWx0bzpiaXRjb2luLWRldkBsaXN0cy5saW51 +eGZvdW5kYXRpb24ub3JnIiBtb3otZG8tbm90LXNlbmQ9InRydWUiPmJpdGNvaW4tZGV2QGxpc3Rz +LmxpbnV4Zm91bmRhdGlvbi5vcmc8L2E+Jmd0Ow0KICAgICAgICAgICAgd3JvdGU6PGJyLz4NCiAg +ICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUi +IHN0eWxlPSJtYXJnaW46MHB4IDBweCAwcHgNCiAgICAgICAgICAgIDAuOGV4O2JvcmRlci1sZWZ0 +OjFweCBzb2xpZA0KICAgICAgICAgICAgcmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5nLWxlZnQ6MWV4 +Ij58IFRhcHJvb3QgTGVhZiBTY3JpcHQ8YnIvPg0KICAgICAgICAgICAgfCAmbHQ7dHQmZ3Q7UFNC +VF9JTl9UQVBfTEVBRl9TQ1JJUFQgPSAweDE1Jmx0Oy90dCZndDs8YnIvPg0KICAgICAgICAgICAg +fCAmbHQ7dHQmZ3Q7Jmx0O2NvbnRyb2wgYmxvY2smZ3Q7Jmx0Oy90dCZndDs8YnIvPg0KICAgICAg +ICAgICAgfCBUaGUgY29udHJvbCBibG9jayBmb3IgdGhpcyBsZWFmIGFzIHNwZWNpZmllZCBpbiBC +SVAgMzQxLg0KICAgICAgICAgICAgVGhlIGNvbnRyb2w8YnIvPg0KICAgICAgICAgICAgYmxvY2sg +Y29udGFpbnMgdGhlIG1lcmtsZSB0cmVlIHBhdGggdG8gdGhpcyBsZWFmLjxici8+DQogICAgICAg +ICAgICB8ICZsdDt0dCZndDsmbHQ7c2NyaXB0Jmd0OyAmbHQ7OC1iaXQgdWludCZndDsmbHQ7L3R0 +Jmd0Ozxici8+DQogICAgICAgICAgICB8IFRoZSBzY3JpcHQgZm9yIHRoaXMgbGVhZiBhcyB3b3Vs +ZCBiZSBwcm92aWRlZCBpbiB0aGUNCiAgICAgICAgICAgIHdpdG5lc3Mgc3RhY2s8YnIvPg0KICAg +ICAgICAgICAgZm9sbG93ZWQgYnkgdGhlIHNpbmdsZSBieXRlIGxlYWYgdmVyc2lvbi48YnIvPg0K +ICAgICAgICAgIDwvYmxvY2txdW90ZT4NCiAgICAgICAgICA8ZGl2Pjxici8+DQogICAgICAgICAg +PC9kaXY+DQogICAgICAgICAgPGRpdj5TbyBmYXIsIGFsbCB0aGUgZGVmaW5lZCBQU0JUIHR5cGVz +IGhhZCBhIHJlbGF0aXZlbHkgc2hvcnQNCiAgICAgICAgICAgIGtleWRhdGEgKG5vdCBtdWNoIGJp +Z2dlciB0aGFuIGEgY291cGxlIG9mIHB1YmtleXMpLjwvZGl2Pg0KICAgICAgICAgIDxkaXY+SSB0 +aGluayB0aGF0IGlzIGEgZGVzaXJhYmxlIHByb3BlcnR5IHRvIGtlZXAsIGFzIGl0IGlzDQogICAg +ICAgICAgICBvZnRlbiBhIHJlYXNvbmFibGUgYXNzdW1wdGlvbiB0aGF0IGRpY3Rpb25hcnkga2V5 +cyBhcmUgbm90DQogICAgICAgICAgICB2ZXJ5IGxhcmdlLjwvZGl2Pg0KICAgICAgICAgIDxkaXY+ +VGhlIGNvbnRyb2zCoGJsb2NrIGFzIHBlciBCSVAgMzQxIGNhbiBiZSB1cCB0byAzMyArIDMyKjEy +OA0KICAgICAgICAgICAgPSA0MTI5IGJ5dGVzIGxvbmcuPGJyLz4NCiAgICAgICAgICA8L2Rpdj4N +CiAgICAgICAgICA8ZGl2Pjxici8+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgICAgPGRpdj5Q +ZXJoYXBzIGl0IHdvdWxkIGJlIGJldHRlciB0byBzcGxpdCB0aGlzIGludG8NCiAgICAgICAgICAg +IFBTQlRfSU5fVEFQX0xFQUZfU0NSSVBUIGFuZMKgUFNCVF9JTl9UQVBfTEVBRl9DT05UUk9MX0JM +T0NLDQogICAgICAgICAgICAoYm90aCB3aXRoIG5vIGtleWRhdGEpPzwvZGl2Pg0KICAgICAgICA8 +L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDwvYmxvY2txdW90ZT4NCiAgICBBIHRhcHJvb3QgdHJl +ZSBjYW4gaGF2ZSBtdWx0aXBsZSBsZWFmIHNjcmlwdHMsIGFuZCBzaW5jZSBpdCBpcw0KICAgIHBv +c3NpYmxlIHRoYXQgdGhlIGFjdHVhbCBzY3JpcHQgdG8gYmUgdXNlZCBpcyBub3Qga25vd24gYXQg +dGhlIHRpbWUNCiAgICBzY3JpcHRzIGFuZCBjb250cm9sIGJsb2NrcyBhcmUgYWRkZWQgdG8gdGhl +IFBTQlQsIGl0IHdvdWxkIG5vdCBiZQ0KICAgIHN1ZmZpY2llbnQgdG8gb25seSBoYXZlIHR3byBm +aWVsZHMgd2l0aCBubyBrZXlkYXRhLiBJdCB3b3VsZCBub3QgYmUNCiAgICBwb3NzaWJsZSB0byBz +cGVjaWZ5IG11bHRpcGxlIGxlYWYgc2NyaXB0cy48YnIvPg0KICAgIDxici8+DQogICAgRnVydGhl +cm1vcmUsIGl0IGlzIHBvc3NpYmxlIHRvIGhhdmUgdGhlIHNhbWUgbGVhZiBzY3JpcHQgYXBwZWFy +DQogICAgbXVsdGlwbGUgdGltZXMgaW4gdGhlIHRyZWUuIFNvIGl0IGlzIG5vdCBzdWZmaWNpZW50 +IHRvIHVzZSB0aGUgbGVhZg0KICAgIGhhc2ggYXMgdGhlIGtleWRhdGEgYXMgYSBzY3JpcHQgdGhh +dCBhcHBlYXJzIG11bHRpcGxlIHRpbWVzIHdvdWxkDQogICAgb25seSBoYXZlIG9uZSBjb250cm9s +IGJsb2NrIHBvc3NpYmxlLCB3aGVyZSBpbiByZWFsaXR5IGl0IHdvdWxkIGhhdmUNCiAgICBtb3Jl +IHRoYW4gb25lLjxici8+DQogICAgPGJyLz4NCiAgICBUaHVzIHRoZSBvbmx5IHdheSB0byBhbGxv +dyBtdWx0aXBsZSBkaWZmZXJlbnQgbGVhZiBzY3JpcHRzLCBhbmQgdGhlDQogICAgc2FtZSBsZWFm +IHNjcmlwdCB0byBhcHBlYXIgbXVsdGlwbGUgdGltZXMsIGlzIHRvIHVzZSB0aGUgY29udHJvbA0K +ICAgIGJsb2NrIGFzIGtleWRhdGEuPGJyLz4NCiAgICA8YnIvPg0KICAgIDxici8+DQogICAgQW5k +cmV3IENob3c8YnIvPg0KICAgIDxici8+DQogICAgPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2l0 +ZT0ibWlkOkNBTWhDTW9GN040QnVYRHoxY1NEQkxpNXpIOGMwNnVaM1QzZ2M3NTBhekZIM0phZ2NO +d0BtYWlsLmdtYWlsLmNvbSI+DQogICAgICA8ZGl2IGRpcj0ibHRyIj4NCiAgICAgICAgPGRpdiBj +bGFzcz0iZ21haWxfcXVvdGUiPg0KICAgICAgICAgIDxkaXY+PGJyLz4NCiAgICAgICAgICA8L2Rp +dj4NCiAgICAgICAgICA8ZGl2PkJlc3QsPC9kaXY+DQogICAgICAgICAgPGRpdj5TYWx2YXRvcmUg +SW5nYWxhPC9kaXY+DQogICAgICAgICAgPGRpdj48YnIvPg0KICAgICAgICAgIDwvZGl2Pg0KICAg +ICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDwvYmxvY2txdW90ZT4NCiAgICA8YnIvPg0K +DQoNCjwvYm9keT48L2h0bWw+ + + +--b1_22FVUbshPVmk1rwYjZMES4l4OXOv62X9YxS8YYuN1M-- + + |