Return-Path: Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) by lists.linuxfoundation.org (Postfix) with ESMTP id C4C59C002D for ; Fri, 9 Dec 2022 15:59:03 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 9988A820CF for ; Fri, 9 Dec 2022 15:59:03 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 9988A820CF Authentication-Results: smtp1.osuosl.org; dkim=pass (2048-bit key, unprotected) header.d=toaster.cc header.i=@toaster.cc header.a=rsa-sha256 header.s=protonmail3 header.b=jzEL6NSz 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 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 NaqQ8K6fKZpr for ; Fri, 9 Dec 2022 15:59:02 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 5DA3F82044 Received: from mail-41103.protonmail.ch (mail-41103.protonmail.ch [185.70.41.103]) by smtp1.osuosl.org (Postfix) with ESMTPS id 5DA3F82044 for ; Fri, 9 Dec 2022 15:59:01 +0000 (UTC) Date: Fri, 09 Dec 2022 15:58:37 +0000 Authentication-Results: mail-41103.protonmail.ch; dkim=pass (2048-bit key) header.d=toaster.cc header.i=@toaster.cc header.b="jzEL6NSz" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=toaster.cc; s=protonmail3; t=1670601527; x=1670860727; bh=UTgdTW5/VNjYfXer29xhn/8lFhD9EMpvPr9ahrQC3qY=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=jzEL6NSz/OK/ioKpArhor2ePL51sLlZlVhPdSe7NxLWTtkUOAvItPfE5o7Rj7pcEf 9UP1tYtEXPZm3iE9Ab6ee0Ndolfvw9MprSmHZRuwe8deAqzll5QPRjjQVjgx6K5XKO rMA0K8nmwY/SnDlOJEba2kXM3FZHlG/gX1X5FBP9dcAVA6kuSRNvf+OOav2fUJJSdS cdxo7DneH+bIYwvG98pZCPcArADy13dkJer+4lpNKIs/MeVsK8wyxCxtHXw8kAs0Em pO/t9oMEzYosmjFe8jk4MQ5pJgb8U07ganFWEvfKDFbKWFKG5wQ2/j/Z4oMO3Wexpp VTQzBw0syPU5w== To: Erik Aronesty From: angus Message-ID: In-Reply-To: References: Feedback-ID: 10272201:user:proton MIME-Version: 1.0 Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg=pgp-sha512; boundary="------cc2767804256c9f59dbcc1fc31baf85ddd16f8a268bb804e04283feded86d5a8"; charset=utf-8 X-Mailman-Approved-At: Fri, 09 Dec 2022 20:33:20 +0000 Cc: Bitcoin Protocol Discussion , John Carvalho Subject: [bitcoin-dev] [Opt-in full-RBF] Zero-conf apps in immediate danger (angus) 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: Fri, 09 Dec 2022 15:59:03 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------cc2767804256c9f59dbcc1fc31baf85ddd16f8a268bb804e04283feded86d5a8 Content-Type: multipart/mixed;boundary=---------------------dea0d7381856a011ed9c6a9fad7cc89a -----------------------dea0d7381856a011ed9c6a9fad7cc89a Content-Type: multipart/alternative;boundary=---------------------e2095ca9f8ac547181260bfd3c65a4e3 -----------------------e2095ca9f8ac547181260bfd3c65a4e3 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain;charset=utf-8 I think the fundamental disagreement here that's causing the controversy a= nd impasse is this: Those in favour of Full RBF see trusting and relying on predictable mempoo= l policy as a fundamentally flawed=C2=A0bad idea. Node policy is not a con= sensus rule - a miner has always been allowed to produce a block in the wa= y a Full RBF node now would. An otherwise valid block that contains a tx t= hat your not-full-RBF node ignored because it double-spent an earlier lowe= r fee tx that didn't opt in to RBF is still a valid block. Knowing this, w= e conclude that it doesn't matter how useful or widely used Zero Conf is, = it is fundamentally unsafe and should be=C2=A0actively discouraged, and ch= anging mempool policy is a way to do this. The existence of Lightning as a= n alternative for immediate settlement makes this case stronger. (As I see it) those that oppose Full RBF and want Zero Conf use to continu= e argue that node mempool policy=C2=A0can=C2=A0and=C2=A0has=C2=A0been reli= ed upon for a long time already, and argue (rightly) that Zero Conf accept= ance is already widely used and useful for both customers and merchants. F= urther arguing that Full RBF can be sucessfully unshipped, which requires = that majority of node operators don't particularly care about it. Lastly, = that neither miners nor users have an economic incentive to switch to Full= RBF from the current core First-Seen policy. (Am I missing something else= ?) --- I have sympathy for the utility argument, but to me it's completely overpo= wered by the "node policy is not consensus and not trustworthy" argument. = Zero Conf acceptance rests on trusting that nodes are running with a first= -seen policy. Just because this has worked out OK so far, doesn't mean tha= t you won't get got bigtime in the future. You can accept this risk if you= want to, but it shouldn't be a soft-rule that everyone else running a nod= e should please help reduce that risk for you. Sure, if I'm selling something on eBay or whatever for 100k sats and someo= ne wants to pay in BTC in person, I'll accept with zero confirmations beca= use there's a degree of trust and the risk isn't unbearable. If I'm accept= ing BTC as a company though, no, I'm not considering zero-confirmation tra= nsactions as settled. I don't think the economic incentive argument currently matters all that m= uch - miners want to maximise fees, users want to minimise, it's hard to t= ell which policy would have the higher overall fees for miners, and who wi= ns miners-vs-users. This would also seem to depend on how wallets do or do= n't make use of the new RBF option (particularly hard for multisig). There= is still an obvious incentive for someone to double-spend attack a Zero-C= onf merchant, though. I could be convinced to reverse my stance and oppose Full RBF if there was= a strong economic argument that miners (better still, miners and users) s= hould oppose it, because that would imply first-seen is incentive aligned.= Aligning policy with incentives feels like the correct principle. But for now, I want to run a Full RBF node because I see it as ultimately = making Bitcoin stronger. It eliminates a use-case that takes risk. Accepti= ng Zero Conf changes from "hrm, you shouldn't really do that but it works = most of the time" to "no, really don't do that, you will probably lose mon= ey". Perhaps this is actually somewhat "vindictive, and perverse" as John = said, but Bitcoin is money for enemies. Thanks, Angus -----------------------e2095ca9f8ac547181260bfd3c65a4e3 Content-Type: multipart/related;boundary=---------------------b08eb0f9a318e723c6d1d64bfd15bf88 -----------------------b08eb0f9a318e723c6d1d64bfd15bf88 Content-Type: text/html;charset=utf-8 Content-Transfer-Encoding: base64 PHAgc3R5bGU9ImNvbG9yOnJnYigxNCwgMTYsIDI2KTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O21h cmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDp0 cmFuc3BhcmVudCIgZGF0YS1wcmVzZXJ2ZXItc3BhY2VzPSJ0cnVlIj5JIHRoaW5rIHRoZSBmdW5k YW1lbnRhbCBkaXNhZ3JlZW1lbnQgaGVyZSB0aGF0J3MgY2F1c2luZyB0aGUgY29udHJvdmVyc3kg YW5kIGltcGFzc2UgaXMgdGhpczo8L3NwYW4+PC9wPjxwIHN0eWxlPSJjb2xvcjpyZ2IoMTQsIDE2 LCAyNik7YmFja2dyb3VuZDp0cmFuc3BhcmVudDttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9t OjBwdCI+PGJyPjwvcD48cCBzdHlsZT0iY29sb3I6cmdiKDE0LCAxNiwgMjYpO2JhY2tncm91bmQ6 dHJhbnNwYXJlbnQ7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxl PSJiYWNrZ3JvdW5kOnRyYW5zcGFyZW50IiBkYXRhLXByZXNlcnZlci1zcGFjZXM9InRydWUiPlRo b3NlIGluIGZhdm91ciBvZiBGdWxsIFJCRiBzZWUgdHJ1c3RpbmcgYW5kIHJlbHlpbmcgb24gcHJl ZGljdGFibGUgbWVtcG9vbCBwb2xpY3kgYXMgYSBmdW5kYW1lbnRhbGx5IGZsYXdlZCZuYnNwOzwv c3Bhbj48ZW0gc3R5bGU9ImJhY2tncm91bmQ6dHJhbnNwYXJlbnQiPjxzcGFuIHN0eWxlPSJiYWNr Z3JvdW5kOnRyYW5zcGFyZW50IiBkYXRhLXByZXNlcnZlci1zcGFjZXM9InRydWUiPmJhZCBpZGVh PC9zcGFuPjwvZW0+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQ6dHJhbnNwYXJlbnQiIGRhdGEtcHJl c2VydmVyLXNwYWNlcz0idHJ1ZSI+LiBOb2RlIHBvbGljeSBpcyBub3QgYSBjb25zZW5zdXMgcnVs ZSAtIGEgbWluZXIgaGFzIGFsd2F5cyBiZWVuIGFsbG93ZWQgdG8gcHJvZHVjZSBhIGJsb2NrIGlu IHRoZSB3YXkgYSBGdWxsIFJCRiBub2RlIG5vdyB3b3VsZC4gQW4gb3RoZXJ3aXNlIHZhbGlkIGJs b2NrIHRoYXQgY29udGFpbnMgYSB0eCB0aGF0IHlvdXIgbm90LWZ1bGwtUkJGIG5vZGUgaWdub3Jl ZCBiZWNhdXNlIGl0IGRvdWJsZS1zcGVudCBhbiBlYXJsaWVyIGxvd2VyIGZlZSB0eCB0aGF0IGRp ZG4ndCBvcHQgaW4gdG8gUkJGIGlzIDxpPnN0aWxsPC9pPiBhIHZhbGlkIGJsb2NrLiBLbm93aW5n IHRoaXMsIHdlIGNvbmNsdWRlIHRoYXQgaXQgZG9lc24ndCBtYXR0ZXIgaG93IHVzZWZ1bCBvciB3 aWRlbHkgdXNlZCBaZXJvIENvbmYgaXMsIGl0IGlzIGZ1bmRhbWVudGFsbHkgdW5zYWZlIGFuZCBz aG91bGQgYmUmbmJzcDs8aT48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDp0cmFuc3BhcmVudCIgZGF0 YS1wcmVzZXJ2ZXItc3BhY2VzPSJ0cnVlIj5hY3RpdmVseTwvc3Bhbj4gZGlzY291cmFnZWQ8L2k+ LCBhbmQgY2hhbmdpbmcgbWVtcG9vbCBwb2xpY3kgaXMgYSB3YXkgdG8gZG8gdGhpcy4gVGhlIGV4 aXN0ZW5jZSBvZiBMaWdodG5pbmcgYXMgYW4gYWx0ZXJuYXRpdmUgZm9yIGltbWVkaWF0ZSBzZXR0 bGVtZW50IG1ha2VzIHRoaXMgY2FzZSBzdHJvbmdlci48L3NwYW4+PC9wPjxwIHN0eWxlPSJjb2xv cjpyZ2IoMTQsIDE2LCAyNik7YmFja2dyb3VuZDp0cmFuc3BhcmVudDttYXJnaW4tdG9wOjBwdDtt YXJnaW4tYm90dG9tOjBwdCI+PGJyPjwvcD48cCBzdHlsZT0iY29sb3I6cmdiKDE0LCAxNiwgMjYp O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQi PjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kOnRyYW5zcGFyZW50IiBkYXRhLXByZXNlcnZlci1zcGFj ZXM9InRydWUiPihBcyBJIHNlZSBpdCkgdGhvc2UgdGhhdCBvcHBvc2UgRnVsbCBSQkYgYW5kIHdh bnQgWmVybyBDb25mIHVzZSB0byBjb250aW51ZSBhcmd1ZSB0aGF0IG5vZGUgbWVtcG9vbCBwb2xp Y3kmbmJzcDs8L3NwYW4+PGVtIHN0eWxlPSJiYWNrZ3JvdW5kOnRyYW5zcGFyZW50Ij48c3BhbiBz dHlsZT0iYmFja2dyb3VuZDp0cmFuc3BhcmVudCIgZGF0YS1wcmVzZXJ2ZXItc3BhY2VzPSJ0cnVl Ij5jYW48L3NwYW4+PC9lbT48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDp0cmFuc3BhcmVudCIgZGF0 YS1wcmVzZXJ2ZXItc3BhY2VzPSJ0cnVlIj4mbmJzcDthbmQmbmJzcDs8L3NwYW4+PGVtIHN0eWxl PSJiYWNrZ3JvdW5kOnRyYW5zcGFyZW50Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDp0cmFuc3Bh cmVudCIgZGF0YS1wcmVzZXJ2ZXItc3BhY2VzPSJ0cnVlIj5oYXM8L3NwYW4+PC9lbT48c3BhbiBz dHlsZT0iYmFja2dyb3VuZDp0cmFuc3BhcmVudCIgZGF0YS1wcmVzZXJ2ZXItc3BhY2VzPSJ0cnVl Ij4mbmJzcDtiZWVuIHJlbGllZCB1cG9uIGZvciBhIGxvbmcgdGltZSBhbHJlYWR5LCBhbmQgYXJn dWUgKHJpZ2h0bHkpIHRoYXQgWmVybyBDb25mIGFjY2VwdGFuY2UgaXMgYWxyZWFkeSB3aWRlbHkg dXNlZCBhbmQgdXNlZnVsIGZvciBib3RoIGN1c3RvbWVycyBhbmQgbWVyY2hhbnRzLiBGdXJ0aGVy IGFyZ3VpbmcgdGhhdCBGdWxsIFJCRiBjYW4gYmUgc3VjZXNzZnVsbHkgdW5zaGlwcGVkLCB3aGlj aCByZXF1aXJlcyB0aGF0IG1ham9yaXR5IG9mIG5vZGUgb3BlcmF0b3JzIGRvbid0IHBhcnRpY3Vs YXJseSBjYXJlIGFib3V0IGl0LiBMYXN0bHksIHRoYXQgbmVpdGhlciBtaW5lcnMgbm9yIHVzZXJz IGhhdmUgYW4gZWNvbm9taWMgaW5jZW50aXZlIHRvIHN3aXRjaCB0byBGdWxsIFJCRiBmcm9tIHRo ZSBjdXJyZW50IGNvcmUgRmlyc3QtU2VlbiBwb2xpY3kuIChBbSBJIG1pc3Npbmcgc29tZXRoaW5n IGVsc2U/KTwvc3Bhbj48L3A+PHAgc3R5bGU9ImNvbG9yOnJnYigxNCwgMTYsIDI2KTtiYWNrZ3Jv dW5kOnRyYW5zcGFyZW50O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBz dHlsZT0iYmFja2dyb3VuZDp0cmFuc3BhcmVudCIgZGF0YS1wcmVzZXJ2ZXItc3BhY2VzPSJ0cnVl Ij48L3NwYW4+PC9wPjxwIHN0eWxlPSJiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O21hcmdpbi10b3A6 MHB0O21hcmdpbi1ib3R0b206MHB0Ij48YnI+PC9wPjxwIHN0eWxlPSJiYWNrZ3JvdW5kOnRyYW5z cGFyZW50O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij4tLS08YnI+PC9wPjxwIHN0 eWxlPSJiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206 MHB0Ij48YnI+PC9wPjxwIHN0eWxlPSJiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O21hcmdpbi10b3A6 MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDp0cmFuc3BhcmVu dCIgZGF0YS1wcmVzZXJ2ZXItc3BhY2VzPSJ0cnVlIj5JCiBoYXZlIHN5bXBhdGh5IGZvciB0aGUg dXRpbGl0eSBhcmd1bWVudCwgYnV0IHRvIG1lIGl0J3MgY29tcGxldGVseSBvdmVycG93ZXJlZCBi eSB0aGUgIm5vZGUgcG9saWN5IGlzIG5vdCBjb25zZW5zdXMgYW5kIG5vdCB0cnVzdHdvcnRoeSIg YXJndW1lbnQuIFplcm8gQ29uZiBhY2NlcHRhbmNlIHJlc3RzIG9uIDxiPnRydXN0aW5nPC9iPiB0 aGF0IG5vZGVzIGFyZSBydW5uaW5nIAp3aXRoIGEgZmlyc3Qtc2VlbiBwb2xpY3kuIEp1c3QgYmVj YXVzZSB0aGlzIGhhcyB3b3JrZWQgb3V0IE9LIHNvIGZhciwgCmRvZXNuJ3QgbWVhbiB0aGF0IHlv dSB3b24ndCBnZXQgZ290IGJpZ3RpbWUgaW4gdGhlIGZ1dHVyZS4gWW91IGNhbiBhY2NlcHQgdGhp cyByaXNrIGlmIHlvdSB3YW50IHRvLCBidXQgaXQgc2hvdWxkbid0IGJlIGEgc29mdC1ydWxlIHRo YXQgZXZlcnlvbmUgZWxzZSBydW5uaW5nIGEgbm9kZSBzaG91bGQgcGxlYXNlIGhlbHAgcmVkdWNl IHRoYXQgcmlzayBmb3IgeW91Ljwvc3Bhbj48L3A+PHA+PC9wPjxwIHN0eWxlPSJjb2xvcjpyZ2Io MTQsIDE2LCAyNik7YmFja2dyb3VuZDp0cmFuc3BhcmVudDttYXJnaW4tdG9wOjBwdDttYXJnaW4t Ym90dG9tOjBwdCI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQ6dHJhbnNwYXJlbnQiIGRhdGEtcHJl c2VydmVyLXNwYWNlcz0idHJ1ZSI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQ6dHJhbnNwYXJlbnQi IGRhdGEtcHJlc2VydmVyLXNwYWNlcz0idHJ1ZSI+U3VyZSwgaWYgSSdtIHNlbGxpbmcgc29tZXRo aW5nIG9uIGVCYXkgb3Igd2hhdGV2ZXIgZm9yIDEwMGsgc2F0czxzcGFuIHN0eWxlPSJmb250LWZh bWlseTp1MjAwMCI+PC9zcGFuPgogYW5kIHNvbWVvbmUgd2FudHMgdG8gcGF5IGluIEJUQyBpbiBw ZXJzb24sIEknbGwgYWNjZXB0IHdpdGggCnplcm8gY29uZmlybWF0aW9ucyBiZWNhdXNlIHRoZXJl J3MgYSBkZWdyZWUgb2YgdHJ1c3QgYW5kIHRoZSByaXNrIGlzbid0IAp1bmJlYXJhYmxlLiBJZiBJ J20gYWNjZXB0aW5nIEJUQyBhcyBhIGNvbXBhbnkgdGhvdWdoLCBubywgSSdtIG5vdCAKY29uc2lk ZXJpbmcgemVyby1jb25maXJtYXRpb24gdHJhbnNhY3Rpb25zIGFzIHNldHRsZWQuPC9zcGFuPjxi cj48L3NwYW4+PC9wPjxwIHN0eWxlPSJjb2xvcjpyZ2IoMTQsIDE2LCAyNik7YmFja2dyb3VuZDp0 cmFuc3BhcmVudDttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5bGU9 ImJhY2tncm91bmQ6dHJhbnNwYXJlbnQiIGRhdGEtcHJlc2VydmVyLXNwYWNlcz0idHJ1ZSI+PGJy Pjwvc3Bhbj48L3A+PHAgc3R5bGU9ImNvbG9yOnJnYigxNCwgMTYsIDI2KTtiYWNrZ3JvdW5kOnRy YW5zcGFyZW50O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHlsZT0i YmFja2dyb3VuZDp0cmFuc3BhcmVudCIgZGF0YS1wcmVzZXJ2ZXItc3BhY2VzPSJ0cnVlIj5JIGRv bid0IHRoaW5rIHRoZSBlY29ub21pYyBpbmNlbnRpdmUgYXJndW1lbnQgY3VycmVudGx5IG1hdHRl cnMgYWxsIHRoYXQgbXVjaCAtIG1pbmVycyB3YW50IHRvIG1heGltaXNlIGZlZXMsIHVzZXJzIHdh bnQgdG8gbWluaW1pc2UsIGl0J3MgaGFyZCB0byB0ZWxsIHdoaWNoIHBvbGljeSB3b3VsZCBoYXZl IHRoZSBoaWdoZXIgb3ZlcmFsbCBmZWVzIGZvciBtaW5lcnMsIGFuZCB3aG8gd2lucyBtaW5lcnMt dnMtdXNlcnMuIFRoaXMgd291bGQgYWxzbyBzZWVtIHRvIGRlcGVuZCBvbiBob3cgd2FsbGV0cyBk byBvciBkb24ndCBtYWtlIHVzZSBvZiB0aGUgbmV3IFJCRiBvcHRpb24gKHBhcnRpY3VsYXJseSBo YXJkIGZvciBtdWx0aXNpZykuIFRoZXJlIGlzIHN0aWxsIGFuIG9idmlvdXMgaW5jZW50aXZlIGZv ciBzb21lb25lIHRvIGRvdWJsZS1zcGVuZCBhdHRhY2sgYSBaZXJvLUNvbmYgbWVyY2hhbnQsIHRo b3VnaC48L3NwYW4+PC9wPjxwIHN0eWxlPSJjb2xvcjpyZ2IoMTQsIDE2LCAyNik7YmFja2dyb3Vu ZDp0cmFuc3BhcmVudDttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5 bGU9ImJhY2tncm91bmQ6dHJhbnNwYXJlbnQiIGRhdGEtcHJlc2VydmVyLXNwYWNlcz0idHJ1ZSI+ PGJyPjwvc3Bhbj48L3A+PHAgc3R5bGU9ImNvbG9yOnJnYigxNCwgMTYsIDI2KTtiYWNrZ3JvdW5k OnRyYW5zcGFyZW50O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHls ZT0iYmFja2dyb3VuZDp0cmFuc3BhcmVudCIgZGF0YS1wcmVzZXJ2ZXItc3BhY2VzPSJ0cnVlIj5J IGNvdWxkIGJlIGNvbnZpbmNlZCB0byByZXZlcnNlIG15IHN0YW5jZSBhbmQgb3Bwb3NlIEZ1bGwg UkJGIGlmIHRoZXJlIHdhcyBhIHN0cm9uZyBlY29ub21pYyBhcmd1bWVudCB0aGF0IG1pbmVycyAo YmV0dGVyIHN0aWxsLCBtaW5lcnMgPGk+YW5kPC9pPiB1c2Vycykgc2hvdWxkIG9wcG9zZSBpdCwg YmVjYXVzZSB0aGF0IHdvdWxkIGltcGx5IGZpcnN0LXNlZW4gaXMgaW5jZW50aXZlIGFsaWduZWQu IEFsaWduaW5nIHBvbGljeSB3aXRoIGluY2VudGl2ZXMgZmVlbHMgbGlrZSB0aGUgY29ycmVjdCBw cmluY2lwbGUuPGJyPjwvc3Bhbj48L3A+PHAgc3R5bGU9ImNvbG9yOnJnYigxNCwgMTYsIDI2KTti YWNrZ3JvdW5kOnRyYW5zcGFyZW50O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48 YnI+PC9wPjxwIHN0eWxlPSJjb2xvcjpyZ2IoMTQsIDE2LCAyNik7YmFja2dyb3VuZDp0cmFuc3Bh cmVudDttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5bGU9ImJhY2tn cm91bmQ6dHJhbnNwYXJlbnQiIGRhdGEtcHJlc2VydmVyLXNwYWNlcz0idHJ1ZSI+QnV0IGZvciBu b3csIEkgPGk+d2FudDwvaT4gdG8gcnVuIGEgRnVsbCBSQkYgbm9kZSBiZWNhdXNlIEkgc2VlIGl0 IGFzIHVsdGltYXRlbHkgbWFraW5nIEJpdGNvaW4gc3Ryb25nZXIuIEl0IGVsaW1pbmF0ZXMgYSB1 c2UtY2FzZSB0aGF0IHRha2VzIHJpc2suIEFjY2VwdGluZyBaZXJvIENvbmYgY2hhbmdlcyBmcm9t ICJocm0sIHlvdSBzaG91bGRuJ3QgcmVhbGx5IGRvIHRoYXQgYnV0IGl0IHdvcmtzIG1vc3Qgb2Yg dGhlIHRpbWUiIHRvICJubywgcmVhbGx5IGRvbid0IGRvIHRoYXQsIHlvdSB3aWxsIHByb2JhYmx5 IGxvc2UgbW9uZXkiLiBQZXJoYXBzIHRoaXMgaXMgYWN0dWFsbHkgc29tZXdoYXQgInZpbmRpY3Rp dmUsIGFuZCBwZXJ2ZXJzZSIgYXMgSm9obiBzYWlkLCBidXQgQml0Y29pbiBpcyBtb25leSBmb3Ig ZW5lbWllcy48L3NwYW4+PC9wPjxwIHN0eWxlPSJjb2xvcjpyZ2IoMTQsIDE2LCAyNik7YmFja2dy b3VuZDp0cmFuc3BhcmVudDttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PGJyPjwv cD48cCBzdHlsZT0iY29sb3I6cmdiKDE0LCAxNiwgMjYpO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7 bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPlRoYW5rcyw8YnI+PC9wPjxwIHN0eWxl PSJjb2xvcjpyZ2IoMTQsIDE2LCAyNik7YmFja2dyb3VuZDp0cmFuc3BhcmVudDttYXJnaW4tdG9w OjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQ6dHJhbnNwYXJl bnQiIGRhdGEtcHJlc2VydmVyLXNwYWNlcz0idHJ1ZSI+QW5ndXM8L3NwYW4+PC9wPjxicj4= -----------------------b08eb0f9a318e723c6d1d64bfd15bf88-- -----------------------e2095ca9f8ac547181260bfd3c65a4e3-- -----------------------dea0d7381856a011ed9c6a9fad7cc89a-- --------cc2767804256c9f59dbcc1fc31baf85ddd16f8a268bb804e04283feded86d5a8 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: ProtonMail wnUEARYKACcFAmOTWxkJEMIlymXPPJ1UFiEEmpQAKIPU4CpfaPPKwiXKZc88 nVQAAAm3AQDxhxkVS1koSQdTQXobeqkghATfFfaaEZ/mM2PLwypCbgD+Ooiw DQLCQ+zNO4PFxpXOLtSDsRtivkfQ8vm9aSZamQc= =DOC7 -----END PGP SIGNATURE----- --------cc2767804256c9f59dbcc1fc31baf85ddd16f8a268bb804e04283feded86d5a8--