From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1VepLN-0004Xj-NK for bitcoin-development@lists.sourceforge.net; Fri, 08 Nov 2013 16:55:37 +0000 X-ACL-Warn: Received: from mail10.mayo.edu ([129.176.212.47]) by sog-mx-2.v43.ch3.sourceforge.com with esmtp (Exim 4.76) id 1VepLM-0004KV-Kb for bitcoin-development@lists.sourceforge.net; Fri, 08 Nov 2013 16:55:37 +0000 Received: from roedlp005a.mayo.edu (HELO mail10.mayo.edu) ([129.176.158.0]) by ironport10-dlp.mayo.edu with ESMTP; 08 Nov 2013 10:21:37 -0600 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhcFAMAOfVKBsNQ1/2dsb2JhbABagwc4U78UgTAWdIIlAQEBAwEBAiRXDQEZAwECCwsbJgodCQEEEwgGEIddBgUImyqYPokUji4BgQcWCh4EgxaBEAOQMIEwgk6BEoN+kFyDJoFxOQ Received: from mhro1a.mayo.edu ([129.176.212.53]) by ironport10.mayo.edu with ESMTP; 08 Nov 2013 10:21:36 -0600 Received: from MSGPEXCHA28B.mfad.mfroot.org (msgpexcha28b.mayo.edu [129.176.249.247]) by mhro1a.mayo.edu with ESMTP id BT-MMP-3020859 for bitcoin-development@lists.sourceforge.net; Fri, 8 Nov 2013 10:21:36 -0600 Received: from MSGPEXCEI32B.mfad.mfroot.org ([169.254.7.247]) by MSGPEXCHA28B.mfad.mfroot.org ([169.254.11.104]) with mapi id 14.03.0158.001; Fri, 8 Nov 2013 10:21:35 -0600 From: "Goss, Brian C., M.D." To: "'bitcoin-development@lists.sourceforge.net'" Thread-Topic: 1. Re: On the optimal block size and why transaction fees are 8 Thread-Index: Ac7cnpAI+5kHW1e2SMGF2vSMQBcUlw== Date: Fri, 8 Nov 2013 16:21:35 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [10.128.209.32] Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=SHA1; boundary="----=_NextPart_000_0000_01CEDC6C.4C7C8250" MIME-Version: 1.0 X-CFilter-Loop: Reflected X-Spam-Score: 0.0 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. 0.0 CTYPE_001C_B CTYPE_001C_B -0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: petertodd.org] X-Headers-End: 1VepLM-0004KV-Kb Subject: [Bitcoin-development] 1. Re: On the optimal block size and why transaction fees are 8 X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Nov 2013 16:55:37 -0000 ------=_NextPart_000_0000_01CEDC6C.4C7C8250 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Peter, What is the propagation time within a pool? If my pool is made up of a ton of fancy ASICs connected by 300 baud modems, how does that affect your analysis (ie, Q for a mining pool is effectively a function of time as well)? Brian P.S. I hope these are not ignorant questions; if they are, please feel free to disregard! Message: 1 Date: Thu, 7 Nov 2013 15:31:23 -0500 From: Peter Todd Subject: Re: [Bitcoin-development] On the optimal block size and why transaction fees are 8 times too low (or transactions 8 times too big) To: Michael Gronager Cc: Bitcoin Dev Message-ID: <20131107203123.GB3805@petertodd.org> Content-Type: text/plain; charset="us-ascii" > Final conclusions is that the fee currently is too small and that > there is no need to keep a maximum block size, the fork probability > will automatically provide an incentive to not let block grows into infinity. Your definition of P_fork is inaccurate for a miner with non-negligable hashing power - a miner will never fork themselves. Taking that into account we have three outcomes: 1) The block propagates without any other miner finding a block. 2) During propagation another miner finds a block. (tie) 2.1) You win the tie by finding another block. 2.2) You lose the tie because someone else finds a block. We will define t_prop as the time it takes for a block to propagate from you to 100% of the hashing power, and as a simplifying assumption we will assume that until t_prop has elapsed, 0% of the hashing power has the block, and immedately after, 100% has the block. We will also define t_int, the average interval between blocks. (600 seconds for Bitcoin) Finally, we will define Q as the probability that you will find the next block. The probabilities of the various outcomes: 1) 1 - (t_prop/t_int * (1-Q)) 2) t_prop/t_int * (1-Q) 2.1) Q 2.2) 1-Q Note that to simplify the equations we have not taking into account propagation in our calculations for outcomes 2.1 or 2.2 Thus we can define P_fork taking into account Q: P_fork(Q) = (t_prop/t_int * (1-Q))(1-Q) = t_pop/t_int * (1-Q)^2 Over the range 0 < Q < 0.5 the probability of a fork decreases approximately linearly as your hashing power increases: d/dq P_fork(Q) = 2(Q-1) Q=0 -> d/dq P_fork(Q) = -2 Q=1/2 -> d/dq P_fork(Q) = -1 With our new, more accurate, P_fork(Q) function lets re-calculate the break-even fee/KB using your original approach: t_prop = t_0 + \alpha*S E_fee = f*S E(Q) = Q*(1 - P_fork(Q))*(E_bounty + E_fee) E(Q) = Q*[1 - (t_0 + k*S)/t_int * (1-Q)^2]*(E_B + f*S) d/dS E(Q) = Q*[ -2fSk/t_int*(1-Q)^2 - f*t_0/t_int*(1-Q)^2 + f - E_b*k/t_int*(1-Q)^2 ] Again, we want to choose the fee so that the more transactions we include the more we earn, dE/dS > 0 We find the minimum fee to include a transaction at all by setting S=0, thus we get: d/dS E(Q, S=0) = Q*[ f - f*t_0/t_int*(1-Q)^2 - E_b*k/t_int*(1-Q)^2 ] > 0 f(1 - t_0/t_int*(1-Q)^2) > E_b*k/t_int*(1-Q)^2 f > [E_b*k/t_int(1-Q)^2] / [1 - t_0/t_int*(1-Q)^2] f > [E_b*k*(1-Q)^2] / [t_int - t_0*(1-Q)^2] With Q=0: f > E_b*k / (t_int - t_0) ~ E_b*k/t_int This is the same result you derived. However lets look at Q != 0: df/dQ = 2*E_b*k * [t_int*(q-1)] / [t_int - t_0(q-1)^2]^2 With negligible latency we get: df/dQ, t_0=0 = 2*E_b*k*(q-1)/t_int So what does that mean? Well in the region 0 < q < 1/2, df/dQ is always negative. In other words, as you get more hashing power, the fee/KB you can charge and still break even decreases linearly because you will never orphan yourself. Lets trythe same assumptions as your first analysis, based on the work by Decker et al Based on the work by Decker et al, lets try to calculate break-even fee/KB for negligible, 10%, 25% and 40% hashing power: t_0 = 10s t_int = 600s k = 80ms/kB E_b = 25BTC Q=0 -> f = 0.0033 BTC/kB Q=0.1 -> f = 0.0027 BTC/kB Q=0.25 -> f = 0.0018 BTC/kB Q=0.40 -> f = 0.0012 BTC/kB Let's assume every miner is directly peered with every other miner, each of those connections is 1MB/s, and somehow there's no latency at all: k = 1mS/kB Q=0 -> f = 0.000042 BTC/kB Q=0.1 -> f = 0.000034 BTC/kB Q=0.25 -> f = 0.000023 BTC/kB Q=0.40 -> f = 0.000015 BTC/kB Regardless of how you play around with the parameters, being a larger miner has a significant advantage because you can charge lower fees for your transactions and therefor earn more money. But it gets even more ugly when you take into account that maybe a guy with 0.1% hashing power can't afford the high bandwidth, low-latency, internet connection that the larger pool has: k = 10mS/kB, t_0=5s, Q=0.01 -> 0.000411 BTC/KB k = 1mS/kB, t_0=1s, Q=0.15 -> 0.000030 BTC/KB So the 1% pool has an internet connection capable of 100kB/s to each peer, taking 5s to reach all the hashing power. The 15% pool can do 1MB/s to each peer, taking 1s to reach all the hashing power. This small different means that the 1% pool needs to charge 13.7x more per KB for their transactions to break even! It's a disaster for decentralization. Businesses live and die on percentage points, let alone orders of magnitude differences in cost, and I haven't even taken into account second-order effects like the perverse incentives to publish your blocks to only a minority of hashing power.(1) This problem is inherent to the fundemental design of Bitcoin: regardless of what the blocksize is, or how fast the network is, the current Bitcoin consensus protocol rewards larger mining pools with lower costs per KB to include transactions. It's a fundemental issue. An unlimited blocksize will make the problem even worse by increasing fixed costs, but keeping the blocksize at 1MB forever doesn't solve the underlying problem either as the inflation subsidy becomes less important and fees more important. 1) http://www.mail-archive.com/bitcoin-development@lists.sourceforge.net/msg032 00.html -- 'peter'[:-1]@petertodd.org 00000000000000054eeccf3ac454892457bf4919d78efb275efd2ddd1a920c99 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 490 bytes Desc: Digital signature ------------------------------ ------=_NextPart_000_0000_01CEDC6C.4C7C8250 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIVSzCCBjQw ggQcoAMCAQICAR4wDQYJKoZIhvcNAQEFBQAwfTELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0 Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxKTAn BgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA3MTAyNDIxMDE1NVoX DTE3MTAyNDIxMDE1NVowgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSsw KQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMTgwNgYDVQQDEy9TdGFy dENvbSBDbGFzcyAxIFByaW1hcnkgSW50ZXJtZWRpYXRlIENsaWVudCBDQTCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBAMcJg8zOLdgasSmkLhOrlr6KMoOMpohBllVHrdRvEg/q6r8jR+EK 75xCGhR8ToREoqe7zM9/UnC6TS2y9UKTpT1v7RSMzR0t6ndl0TWBuUr/UXBhPk+Kmy7bI4yW4urC +y7P3/1/X7U8ocb8VpH/Clt+4iq7nirMcNh6qJR+xjOhV+VHzQMALuGYn5KZmc1NbJQYclsGkDxD z2UbFqE2+6vIZoL+jb9x4Pa5gNf1TwSDkOkikZB1xtB4ZqtXThaABSONdfmv/Z1pua3FYxnCFmdr /+N2JLKutIxMYqQOJebr/f/h5t95m4JgrM3Y/w7YX9d7YAL9jvN4SydHsU6n65cCAwEAAaOCAa0w ggGpMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRTcu2SnODaywFc fH6WNU7y1LhRgjAfBgNVHSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jBmBggrBgEFBQcBAQRa MFgwJwYIKwYBBQUHMAGGG2h0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9jYTAtBggrBgEFBQcwAoYh aHR0cDovL3d3dy5zdGFydHNzbC5jb20vc2ZzY2EuY3J0MFsGA1UdHwRUMFIwJ6AloCOGIWh0dHA6 Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2NhLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5j b20vc2ZzY2EuY3JsMIGABgNVHSAEeTB3MHUGCysGAQQBgbU3AQIBMGYwLgYIKwYBBQUHAgEWImh0 dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwDQYJKoZIhvcNAQEFBQADggIBAAqDCH14qywG XLhjjF6uHLkjd02hcdh9hrw+VUsv+q1eeQWB21jWj3kJ96AUlPCoEGZ/ynJNScWy6QMVQjbbMXlt UfO4n4bGGdKo3awPWp61tjAFgraLJgDk+DsSvUD6EowjMTNx25GQgyYJ5RPIzKKR9tQW8gGK+2+R HxkUCTbYFnL6kl8Ch507rUdPPipJ9CgJFws3kDS3gOS5WFMxcjO5DwKfKSETEPrHh7p5shuuNktv sv6hxHTLhiMKX893gxdT3XLS9OKmCv87vkINQcNEcIIoFWbP9HORz9v3vQwR4e3ksLc2JZOAFK+s sS5XMEoznzpihEP0PLc4dCBYjbvSD7kxgDwZ+Aj8Q9PkbvE9sIPP7ON0fz095HdThKjiVJe6vofq +n6b1NBc8XdrQvBmunwxD5nvtTW4vtN6VY7mUCmxsCieuoBJ9OlqmsVWQvifIYf40dJPZkk9YgGT zWLpXDSfLSplbY2LL9C9U0ptvjcDjefLTvqSFc7tw1sEhF0n/qpA2r0GpvkLRDmcSwVyPvmjFBGq Up/pNy8ZuPGQmHwFi2/14+xeSUDG2bwnsYJQG2EdJCB6luQ57GEnTA/yKZSTKI8dDQa8Sd3zfXb1 9mOgSF0bBdXbuKhEpuP9wirslFe6fQ1t5j5R0xi72MZ8ikMu1RQZKCyDbMwazlHiMIIHQjCCBiqg AwIBAgIDB1pmMA0GCSqGSIb3DQEBBQUAMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRD b20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYG A1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EwHhcN MTMwODE5MTczNDI5WhcNMTQwODIxMTEwMDAwWjBdMRkwFwYDVQQNExBWZWtHNU9qOVl5WmNodDNr MRwwGgYDVQQDDBNnb3NzLmJyaWFuQG1heW8uZWR1MSIwIAYJKoZIhvcNAQkBFhNnb3NzLmJyaWFu QG1heW8uZWR1MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtZmwzEjho1Ufz/EayoBC pvkyK09sIfFWFqd5rsmRawpsLujB2PyzfItneLiEceOxjugTJx2LPf0KFVAUFfsQspT0MUjaLmxA 2y25UanyNnXxZYSrvdZxWvzRMjGUiucWbMJid2rrs1Sw/NX7Nb5q3myQFzpN3LMfx59i8GtrfydH UHjidy3QtVvQPKopSl4gV3cDXE0t0IZziTt6eAvzmpcvTs+y8+wDgwtHgMWbKT+hzkUjzroOGblH Eo9wSb+U8lqGigVZoXjMExziur64h6EnycuXDzUUd8l9HNxoaRGvrIIi0OsbC0y+oQgGscE4jKG6 p/Hfm6yAgjCs0pNZH22j9vBTnVAS8QiVnPChD6xJoXK4EZobhjklJ4Xub6hzOeJOnVv55aANGZfo Taqn85AeQVNXTsGW4InzAwfs3FIDvVkVIfoZ76bl2b4E4aAjUzySGF0Fge1niyXqfEUo5AsyXXT7 3/e32Ps48jBEibC3DXGi8HsAt3sitVmgy9tFiTkZssEH6Ww3gJgOX99NvKa622HBwcoiPrWTuGqj IcbydCU7+TD+DGp0Ba/wn4su4zWyTxw2+6ScB8EGBqq7ZBnezTEBCYEJozvplWeiTb33447pV0QB Zy7CZ7EnrkVWPvIYCoCkur5/cFkdtqhGFMKJeoaYyainn09NBAefEh0CAwEAAaOCAtkwggLVMAkG A1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNV HQ4EFgQUYMAsXmllo2/4ITvdZCTjS1j4rIIwHwYDVR0jBBgwFoAUU3Ltkpzg2ssBXHx+ljVO8tS4 UYIwHgYDVR0RBBcwFYETZ29zcy5icmlhbkBtYXlvLmVkdTCCAUwGA1UdIASCAUMwggE/MIIBOwYL KwYBBAGBtTcBAgMwggEqMC4GCCsGAQUFBwIBFiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xp Y3kucGRmMIH3BggrBgEFBQcCAjCB6jAnFiBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 eTADAgEBGoG+VGhpcyBjZXJ0aWZpY2F0ZSB3YXMgaXNzdWVkIGFjY29yZGluZyB0byB0aGUgQ2xh c3MgMSBWYWxpZGF0aW9uIHJlcXVpcmVtZW50cyBvZiB0aGUgU3RhcnRDb20gQ0EgcG9saWN5LCBy ZWxpYW5jZSBvbmx5IGZvciB0aGUgaW50ZW5kZWQgcHVycG9zZSBpbiBjb21wbGlhbmNlIG9mIHRo ZSByZWx5aW5nIHBhcnR5IG9ibGlnYXRpb25zLjA2BgNVHR8ELzAtMCugKaAnhiVodHRwOi8vY3Js LnN0YXJ0c3NsLmNvbS9jcnR1MS1jcmwuY3JsMIGOBggrBgEFBQcBAQSBgTB/MDkGCCsGAQUFBzAB hi1odHRwOi8vb2NzcC5zdGFydHNzbC5jb20vc3ViL2NsYXNzMS9jbGllbnQvY2EwQgYIKwYBBQUH MAKGNmh0dHA6Ly9haWEuc3RhcnRzc2wuY29tL2NlcnRzL3N1Yi5jbGFzczEuY2xpZW50LmNhLmNy dDAjBgNVHRIEHDAahhhodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS8wDQYJKoZIhvcNAQEFBQADggEB AHOU0uPSE7hU0EaF+CeC86/0UdkTc5cwC9cH4IvLaBKEWpSQ1Ej+WVr6E8tbMwFWfBeEvyh2UatO eWScMtSTl/756Xh3A8i8uqbEFxk4/GofCOVS5yLZiHWUG4FmbHiBELo7OpkpaH5r2yNRr/Gbh5jD rOFLGoTf0Ob5JbnNv0drB8mIVUkoHED59/cDyYkllNFA7OkqUV3KPI8vk8s3m9HpstjXAAdrc//c r+3v6Uv5VsSl7KrGuxJ+kkrKb0xcz6mckVa3fauWat8FhOmuUUlyXw9vDC/hf5yxy9F2/hBDKWUn fmNvNt8z4JYlccXpBPGKYYdSlQNEL3t+nMRe1QIwggfJMIIFsaADAgECAgEBMA0GCSqGSIb3DQEB BQUAMH0xCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1 cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZp Y2F0aW9uIEF1dGhvcml0eTAeFw0wNjA5MTcxOTQ2MzZaFw0zNjA5MTcxOTQ2MzZaMH0xCzAJBgNV BAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBD ZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhv cml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMGI2wm8bEZ8eJ+Ve7UzkPJyYtbB NiAiJF7O6XfyQwqiBmSkzI42+DjmI/BubbE83XKjhRyh0z20MyvTL6/+6rBBWWe2xAZ9Cp50hdZ5 TIA3et85BVJZ9/QbRkOk0oWF0sNx83ViNLosin8ej+7tNNARx5bNUj26M9bdTd4LO0pLn8ImL/q1 FhxyNXfKPF3myuEmixo2dlwB23QUJf7ttaCID914yi0fB5cwAS1yefpG1hMqqLmmq4NJHeXy793k AY4YCo9jUxaFYqkOGTrMtWamwmt0B+Qr4XY+tG3Y9kThc2IfO8S+oFNWJWxRCfeqq8q/dv1tm/Od 2789ZrwMVqqvmEiVOkvfp1hQ2Th1qVvqQwwC/5nr6GxNcFspZZzdql3MrwEx7Azr0o3o6px75m73 J2YMGkjXbkLjP94hPnvhDXD7Y6qobBpUtFwlesmiyYsWprssfhdeBU1YbhIdAe4SEA3GMn8Y//z0 +s1ukeg2Sb4aSGmLwpZNGhKyaRfBCpDW+nkiSL+6e2n4cMf6ejfY2A3Sdk9X/5C345HS3e/CYLdn Ot3+qpzw1It/ciLOxp+XtviviqAQqNn7GMa2tVxSPIm2GSpzAQoPA7MSYPJ6L4Hbo27/JjCX9Yvd iVe2rT2zryvFt3YC8KXWK5qGFCpy9uMzjF0JSxPfu4x0E1JLAgMBAAGjggJSMIICTjAMBgNVHRME BTADAQH/MAsGA1UdDwQEAwIBrjAdBgNVHQ4EFgQUTgvvGqRAW6UXaYcwyjRoQ9BBrvIwZAYDVR0f BF0wWzAsoCqgKIYmaHR0cDovL2NlcnQuc3RhcnRjb20ub3JnL3Nmc2NhLWNybC5jcmwwK6ApoCeG JWh0dHA6Ly9jcmwuc3RhcnRjb20ub3JnL3Nmc2NhLWNybC5jcmwwggFdBgNVHSAEggFUMIIBUDCC AUwGCysGAQQBgbU3AQEBMIIBOzAvBggrBgEFBQcCARYjaHR0cDovL2NlcnQuc3RhcnRjb20ub3Jn L3BvbGljeS5wZGYwNQYIKwYBBQUHAgEWKWh0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9pbnRlcm1l ZGlhdGUucGRmMIHQBggrBgEFBQcCAjCBwzAnFiBTdGFydCBDb21tZXJjaWFsIChTdGFydENvbSkg THRkLjADAgEBGoGXTGltaXRlZCBMaWFiaWxpdHksIHJlYWQgdGhlIHNlY3Rpb24gKkxlZ2FsIExp bWl0YXRpb25zKiBvZiB0aGUgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUG9saWN5 IGF2YWlsYWJsZSBhdCBodHRwOi8vY2VydC5zdGFydGNvbS5vcmcvcG9saWN5LnBkZjARBglghkgB hvhCAQEEBAMCAAcwOAYJYIZIAYb4QgENBCsWKVN0YXJ0Q29tIEZyZWUgU1NMIENlcnRpZmljYXRp b24gQXV0aG9yaXR5MA0GCSqGSIb3DQEBBQUAA4ICAQAWbJn0Zgw09dCFXn0K7NoQTjgcXt+mJQVL kTLB6DvxPd1ECVsHSYopy2YCt7Ga9yWYCTyOG+HdNocrS7to0zlmPaAmx/I5kR1Rq4J7ftXOWuTi A1dwaZcI+V5YpgrfjAaaRRYWOApeV/Zix3oCBea8HrXynvSpKYP4shTjbiiHRMOQGt44qTysQ01k Rc7dKKlc8nN7BPgX6Kux8y5cZG5zMToSuLyzEeR9j4FRmjuNifRNk2Z7PAPt05odmvNlUPWg0HWf L6/w6oJDmPhpnIl5xEOORnLjZDYSr/clHjiJkHd+w2tqucPLREuseJCL58csHksRRMg0UifNCl2f hcGJ1Rp48pUQUzLdgIRmddm1aCj7YS6+hKg4wJkShqUeZ2StBi4vqXCFx5YPfIll9Y5DVA6r3aWA OZRgwDTJlnAsoxL1H0h7vRx+a7edkPQiO674/CrK+oJSoO+vS1WT68G18CKLrDROJiIEoYcsdUq3 5X0T17gMZMA20skvhhKMIwnBG4I7c0mjaleHlOXWeMWZQ2PjTeB3LeFlmXJpBBpHCeYPAVYk+x+/ DnmpWC65xAkBfpW6bQAGPrLqShA52NAr9b/sdb+XAsUJGwjcVTfigfs3hENiIMrnVktl6v5swSST JKE06wX/miKum30/8WVRCqYwarP0iByADfxyiuiDXjGCBR0wggUZAgEBMIGUMIGMMQswCQYDVQQG EwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2Vy dGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVy bWVkaWF0ZSBDbGllbnQgQ0ECAwdaZjAJBgUrDgMCGgUAoIICXTAYBgkqhkiG9w0BCQMxCwYJKoZI hvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xMzExMDgxNjIxMzNaMCMGCSqGSIb3DQEJBDEWBBQn0jBl pNOFYFbik/bcxG2uhra4BTCBpQYJKwYBBAGCNxAEMYGXMIGUMIGMMQswCQYDVQQGEwJJTDEWMBQG A1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUg U2lnbmluZzE4MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0ZSBD bGllbnQgQ0ECAwdaZjCBpwYLKoZIhvcNAQkQAgsxgZeggZQwgYwxCzAJBgNVBAYTAklMMRYwFAYD VQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBT aWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAxIFByaW1hcnkgSW50ZXJtZWRpYXRlIENs aWVudCBDQQIDB1pmMIGrBgkqhkiG9w0BCQ8xgZ0wgZowCwYJYIZIAWUDBAEqMAsGCWCGSAFlAwQB FjAKBggqhkiG9w0DBzALBglghkgBZQMEAQIwDgYIKoZIhvcNAwICAgCAMAcGBSsOAwIHMA0GCCqG SIb3DQMCAgFAMA0GCCqGSIb3DQMCAgEoMAcGBSsOAwIaMAsGCWCGSAFlAwQCAzALBglghkgBZQME AgIwCwYJYIZIAWUDBAIBMA0GCSqGSIb3DQEBAQUABIICAA5/KTzEKPWC/VeTMAW4tik5AabERW1l vR5/hJp5Y26y0qfp5XPNmEvOoRexXAiRGBftQgDOIuwE3moARlE9l+7eGpSmVP+FpRDWOFxXM5Xs dXYDbVimgQG2rukJW7xnFouxXXknCngjQRhdrbxBrQ05aROJfuwYe5UNuLJeI3eLy+kNxyLDi0/s Vs03CZawejZc/dt6LaKpgv9A+vlMCFIQppa0In+20giuoltowyo9S3mlYcPtC3tXjW8abafb82Eh WKrc0K//eZUi7Gi9WYfEeJJU0NSbIEFiEmZnJG2Cs+IjIFZgYC6yt6RlI2c/4XaPo4YUabVRPZae LiLDhX5iIc/vEObKfU8x6ZgiriUOgShbSYW/xHmHR8crB1SAEdxN53HKk+AKc4RqZj0nU3x7uaHo YI+THia5oGATfxfRu5KBGyRb40ddDTt7206Es2F91SXeg4UOZ5MX6zFfQGUJknsi1EHS/T+cIjsU TSzcgj9xLX71ZtVnxoKCQrz6WKQBNlZ66TX8XCkucCODZIis679qWIamIjJQWNkuoc1Klse3GQxe VFI2HazqW96Ayd64A9Pq9lIoXbqGH5S++s76w1w1TUCbvJgfBv/PyUfGFZAeqcJRAbR9AIKxFAbZ 0yDYZM9CEUf1G8tHUZqqr6Mm2jY354910mrR/COS1AbkAAAAAAAA ------=_NextPart_000_0000_01CEDC6C.4C7C8250--