Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 59B52B2E for ; Thu, 6 Apr 2017 21:25:08 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail4.protonmail.ch (mail4.protonmail.ch [185.70.40.27]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 756D3255 for ; Thu, 6 Apr 2017 21:25:07 +0000 (UTC) Date: Thu, 06 Apr 2017 17:25:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.ch; s=default; t=1491513905; bh=dKS2hhMGEgtLCD4QISR5e2DwYCKP/jrSTQzY4qxGmSs=; h=To:From:Reply-To:Subject:Feedback-ID:From; b=o0lyyVQYXa7rVVp/YrAT1wr9HFkvP6xx6wGi6sft8vr5v7ot4SBrCcNUSqLeTtGfv uwyZ/2zFzeqbcXl9b2wsG+mPvnLMF68uIi2Tslv399w2dt1aAqTc9LGNuImMRJ/cxv KPtCGiAACOa502pHB+lPJ0ZEIimSr+PdZxoi+DAU= To: Bitcoin Protocol Discussion From: shaolinfry Reply-To: shaolinfry Message-ID: Feedback-ID: Y5llRh4tUlFiplzPC9cgQYTUTuUx7scPmkmqk9f4Yy7D0SdDIRdKO5IFhLq1b82dV-ODb_X41Mb0rOaJi_gGlw==:Ext:ProtonMail MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_947bbe4914d7cad8161c2e1930ead7bb" X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, HTML_MESSAGE, MIME_BASE64_BLANKS, RCVD_IN_DNSWL_LOW,RP_MATCHES_RCVD autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org X-Mailman-Approved-At: Thu, 06 Apr 2017 22:25:14 +0000 Subject: [bitcoin-dev] Draft BIP: Version bits extension with guaranteed lock-in X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 21:25:08 -0000 This is a multi-part message in MIME format. --b1_947bbe4914d7cad8161c2e1930ead7bb Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 QWZ0ZXIgc29tZSB0aG91Z2h0IEkgbWFuYWdlZCB0byBzaW1wbGlmeSB0aGUgb3JpZ2luYWwgdWF2 ZXJzaW9uYml0cyBwcm9wb3NhbCBpbnRyb2R1Y2luZyBhIHNpbXBsZSBib29sZWFuIGZsYWcgdG8g Z3VhcmFudGVlIGxvY2staW4gb2YgYSBCSVA5IGRlcGxveW1lbnQgYnkgdGhlIHRpbWVvdXQuIFRo aXMgc2VlbXMgdG8gYmUgdGhlIHNpbXBsZXN0IGZvcm0gY29tYmluaW5nIG9wdGlvbmFsIGZsYWcg ZGF5IGFjdGl2YXRpb24gd2l0aCBCSVA5LiBUaGlzIGJyaW5ncyB0aGUgYmVzdCBvZiBib3RoIHdv cmxkcyBhbGxvd2luZyB1c2VyIGFjdGl2YXRlZCBzb2Z0IGZvcmtzIHRoYXQgY2FuIGJlIGFjdGl2 YXRlZCBlYXJseSBieSB0aGUgaGFzaCBwb3dlci4KClNwZWNpZmljYXRpb246IGh0dHBzOi8vZ2l0 aHViLmNvbS9zaGFvbGluZnJ5L2JpcHMvYmxvYi9iaXAtdWF2Yi9iaXAtdWF2ZXJzaW9uYml0cy5t ZWRpYXdpa2kKUHJldmlvdXMgZGlzY3Vzc2lvbjogaHR0cHM6Ly9saXN0cy5saW51eGZvdW5kYXRp b24ub3JnL3BpcGVybWFpbC9iaXRjb2luLWRldi8yMDE3LUZlYnJ1YXJ5LzAxMzY0My5odG1sCgo8 cHJlPgpCSVA6ID8KVGl0bGU6IFZlcnNpb24gYml0cyBleHRlbnNpb24gd2l0aCBndWFyYW50ZWVk IGxvY2staW4KQXV0aG9yOiBTaGFvbGluIEZyeSA8c2hhb2xpbmZyeUBwcm90b25tYWlsLmNoPgpD b21tZW50cy1TdW1tYXJ5OiBObyBjb21tZW50cyB5ZXQuCkNvbW1lbnRzLVVSSTogaHR0cHM6Ly9n aXRodWIuY29tL2JpdGNvaW4vYmlwcy93aWtpL0NvbW1lbnRzOkJJUC0/Pz8/ClN0YXR1czogRHJh ZnQKVHlwZTogSW5mb3JtYXRpb25hbApDcmVhdGVkOiAyMDE3LTAyLTAxCkxpY2Vuc2U6IEJTRC0z LUNsYXVzZQpDQzAtMS4wCjwvcHJlPgoKPT1BYnN0cmFjdD09CgpUaGlzIGRvY3VtZW50IHNwZWNp ZmllcyBhbiBleHRlbnNpb24gdG8gQklQOSB0aGF0IGludHJvZHVjZXMgYW4gYWRkaXRpb25hbCBh Y3RpdmF0aW9uIHBhcmFtZXRlciB0byBndWFyYW50ZWUgYWN0aXZhdGlvbiBvZiBiYWNrd2FyZC1j b21wYXRpYmxlIGNoYW5nZXMgKGZ1cnRoZXIgY2FsbGVkICJzb2Z0IGZvcmtzIikuCgo9PU1vdGl2 YXRpb249PQoKQklQOSBpbnRyb2R1Y2VkIGEgbWVjaGFuaXNtIGZvciBkb2luZyBwYXJhbGxlbCBz b2Z0IGZvcmtpbmcgZGVwbG95bWVudHMgYmFzZWQgb24gcmVwdXJwb3NpbmcgdGhlIGJsb2NrIG5W ZXJzaW9uIGZpZWxkLiBBY3RpdmF0aW9uIGlzIGRlcGVuZGVudCBvbiBuZWFyIHVuYW5pbW91cyBo YXNocmF0ZSBzaWduYWxsaW5nIHdoaWNoIG1heSBiZSBpbXByYWN0aWNhbCBhbmQgaXMgYWxzbyBz dWJqZWN0IHRvIHZldG8gYnkgYSBzbWFsbCBtaW5vcml0eSBvZiBub24tc2lnbmFsbGluZyBoYXNo cmF0ZS4KClRoaXMgc3BlY2lmaWNhdGlvbiBwcm92aWRlcyBhIHdheSB0byBvcHRpb25hbGx5IGd1 YXJhbnRlZSBsb2NrLWluIGF0IHRoZSBlbmQgb2YgdGhlIEJJUDkgdGltZW91dCwgYW5kIHRoZXJl Zm9yZSBhY3RpdmF0aW9uLgoKPT1TcGVjaWZpY2F0aW9uPT0KClRoaXMgc3BlY2lmaWNhdGlvbiBh ZGRzIGEgbmV3IHBlci1jaGFpbiBkZXBsb3ltZW50IHBhcmFtZXRlciB0byB0aGUgZXhpc3Rpbmcg QklQOSBzcGVjaWZpY2F0aW9uIGFzIGZvbGxvd3M6CgojIFRoZSAnJydsb2NraW5vbnRpbWVvdXQn JycgYm9vbGVhbiBpZiBzZXQgdG8gdHJ1ZSwgd2lsbCB0cmFuc2l0aW9uIHN0YXRlIHRvIExPQ0tF RF9JTiBhdCB0aW1lb3V0IGlmIG5vdCBhbHJlYWR5IEFDVElWRS4KCj09PVN0YXRlIHRyYW5zaXRp b25zPT09Cgo8aW1nIHNyYz0iYmlwLXVhdmVyc2lvbmJpdHMvc3RhdGVzLnBuZyIgYWxpZ249Im1p ZGRsZSI+PC9pbWc+CgpUaGUgc3RhdGUgdHJhbnNpdGlvbiB3b3JrZmxvdyBpcyBleGFjdGx5IHRo ZSBzYW1lIGFzIGluIEJJUDkgd2l0aCBhbiBhZGRpdGlvbmFsIHJ1bGU6IER1cmluZyB0aGUgU1RB UlRFRCBzdGF0ZSBpZiB0aGUgJycnbG9ja2lub250aW1lb3V0JycnIGlzIHNldCB0byB0cnVlLCB0 aGUgc3RhdGUgd2lsbCB0cmFuc2l0aW9uIHRvIExPQ0tFRF9JTiB3aGVuICcnJ3RpbWVvdXQnJycg aXMgcmVhY2hlZC4KCmNhc2UgU1RBUlRFRDoKLy8gQklQOSBzcGVjaWZpY2F0aW9uIGZvbGxvd3MK aWYgKEdldE1lZGlhblRpbWVQYXN0KGJsb2NrLnBhcmVudCkgPj0gdGltZW91dCkgewpyZXR1cm4g KGZMb2NrSW5PblRpbWVvdXQgPT0gdHJ1ZSkgPyBUSFJFU0hPTERfTE9DS0VEX0lOIDogVEhSRVNI T0xEX0ZBSUxFRAp9CmludCBjb3VudCA9IDA7CndhbGsgPSBibG9jazsKZm9yIChpID0gMDsgaSA8 IDIwMTY7IGkrKykgewp3YWxrID0gd2Fsay5wYXJlbnQ7CmlmICh3YWxrLm5WZXJzaW9uICYgMHhF MDAwMDAwMCA9PSAweDIwMDAwMDAwICYmICh3YWxrLm5WZXJzaW9uID4+IGJpdCkgJiAxID09IDEp IHsKY291bnQrKzsKfQp9CmlmIChjb3VudCA+PSB0aHJlc2hvbGQpIHsKcmV0dXJuIExPQ0tFRF9J TjsKfQpyZXR1cm4gU1RBUlRFRDsKCj09PSBSZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gPT09Cgpo dHRwczovL2dpdGh1Yi5jb20vYml0Y29pbi9iaXRjb2luL2NvbXBhcmUvbWFzdGVyLi4uc2hhb2xp bmZyeTpiaXAtdWF2ZXJzaW9uYml0cwoKPT1EZXBsb3ltZW50cz09CgpBIGxpdmluZyBsaXN0IG9m IGRlcGxveW1lbnQgcHJvcG9zYWxzIGNhbiBiZSBmb3VuZCBbW2JpcC0wMDA5L2Fzc2lnbm1lbnRz Lm1lZGlhd2lraXxoZXJlXV0uCgo9PUNvcHlyaWdodD09CgpUaGlzIGRvY3VtZW50IGlzIGR1YWwg bGljZW5zZWQgYXMgQlNEIDMtY2xhdXNlLCBhbmQgQ3JlYXRpdmUgQ29tbW9ucyBDQzAgMS4wIFVu aXZlcnNhbC4= --b1_947bbe4914d7cad8161c2e1930ead7bb Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0iY29sb3I6IHJnYig4NSwgODUsIDg1KTsgZm9udC1mYW1pbHk6IEFyaWFsLCAm cXVvdDtIZWx2ZXRpY2EgTmV1ZSZxdW90OywgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBmb250LXNp emU6IDE0cHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWxpZ2F0dXJlczogbm9y bWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBsZXR0 ZXItc3BhY2luZzogbm9ybWFsOyBvcnBoYW5zOiAyOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1p bmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdp ZG93czogMjsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBw eDsgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyI+QWZ0ZXIgc29tZSB0aG91 Z2h0IEkgbWFuYWdlZCB0byBzaW1wbGlmeSB0aGUgb3JpZ2luYWwgdWF2ZXJzaW9uYml0cyBwcm9w b3NhbCBpbnRyb2R1Y2luZyBhIHNpbXBsZSBib29sZWFuIGZsYWcgdG8gZ3VhcmFudGVlIGxvY2st aW4gb2YgYSBCSVA5IGRlcGxveW1lbnQgYnkgdGhlIHRpbWVvdXQuIFRoaXMgc2VlbXMgdG8gYmUg dGhlIHNpbXBsZXN0IGZvcm0gY29tYmluaW5nIG9wdGlvbmFsIGZsYWcgZGF5IGFjdGl2YXRpb24g d2l0aCBCSVA5LiBUaGlzIGJyaW5ncyB0aGUgYmVzdCBvZiBib3RoIHdvcmxkcyBhbGxvd2luZyB1 c2VyIGFjdGl2YXRlZCBzb2Z0IGZvcmtzIHRoYXQgY2FuIGJlIGFjdGl2YXRlZCBlYXJseSBieSB0 aGUgaGFzaCBwb3dlci48YnI+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6IHJnYig4NSwgODUsIDg1 KTsgZm9udC1mYW1pbHk6IEFyaWFsLCAmcXVvdDtIZWx2ZXRpY2EgTmV1ZSZxdW90OywgSGVsdmV0 aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9u dC12YXJpYW50LWxpZ2F0dXJlczogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBm b250LXdlaWdodDogbm9ybWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBvcnBoYW5zOiAyOyB0 ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7 IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdpZG93czogMjsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJr aXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1 LCAyNTUpOyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoODUsIDg1LCA4NSk7IGZv bnQtZmFtaWx5OiBBcmlhbCwgJnF1b3Q7SGVsdmV0aWNhIE5ldWUmcXVvdDssIEhlbHZldGljYSwg c2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFy aWFudC1saWdhdHVyZXM6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13 ZWlnaHQ6IG5vcm1hbDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgb3JwaGFuczogMjsgdGV4dC1h bGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0 ZS1zcGFjZTogbm9ybWFsOyB3aWRvd3M6IDI7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRl eHQtc3Ryb2tlLXdpZHRoOiAwcHg7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1 KTsiPlNwZWNpZmljYXRpb246Jm5ic3A7PGEgcmVsPSJub3JlZmVycmVyIG5vZm9sbG93IG5vb3Bl bmVyIiBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc2hhb2xpbmZyeS9iaXBzL2Jsb2IvYmlwLXVh dmIvYmlwLXVhdmVyc2lvbmJpdHMubWVkaWF3aWtpIj5odHRwczovL2dpdGh1Yi5jb20vc2hhb2xp bmZyeS9iaXBzL2Jsb2IvYmlwLXVhdmIvYmlwLXVhdmVyc2lvbmJpdHMubWVkaWF3aWtpPC9hPjxi cj48L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDg1LCA4NSwgODUpOyBmb250LWZhbWlseTog QXJpYWwsICZxdW90O0hlbHZldGljYSBOZXVlJnF1b3Q7LCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7 IGZvbnQtc2l6ZTogMTRweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtbGlnYXR1 cmVzOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3Jt YWw7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IG9ycGhhbnM6IDI7IHRleHQtYWxpZ246IHN0YXJ0 OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5v cm1hbDsgd2lkb3dzOiAyOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13 aWR0aDogMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7Ij5QcmV2aW91 cyBkaXNjdXNzaW9uOiZuYnNwOzxhIHJlbD0ibm9yZWZlcnJlciBub2ZvbGxvdyBub29wZW5lciIg aHJlZj0iaHR0cHM6Ly9saXN0cy5saW51eGZvdW5kYXRpb24ub3JnL3BpcGVybWFpbC9iaXRjb2lu LWRldi8yMDE3LUZlYnJ1YXJ5LzAxMzY0My5odG1sIj5odHRwczovL2xpc3RzLmxpbnV4Zm91bmRh dGlvbi5vcmcvcGlwZXJtYWlsL2JpdGNvaW4tZGV2LzIwMTctRmVicnVhcnkvMDEzNjQzLmh0bWw8 L2E+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoODUsIDg1LCA4NSk7IGZvbnQtZmFt aWx5OiBBcmlhbCwgJnF1b3Q7SGVsdmV0aWNhIE5ldWUmcXVvdDssIEhlbHZldGljYSwgc2Fucy1z ZXJpZjsgZm9udC1zaXplOiAxNHB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1s aWdhdHVyZXM6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6 IG5vcm1hbDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgb3JwaGFuczogMjsgdGV4dC1hbGlnbjog c3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFj ZTogbm9ybWFsOyB3aWRvd3M6IDI7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ry b2tlLXdpZHRoOiAwcHg7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsiPjxi cj48L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDg1LCA4NSwgODUpOyBmb250LWZhbWlseTog QXJpYWwsICZxdW90O0hlbHZldGljYSBOZXVlJnF1b3Q7LCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7 IGZvbnQtc2l6ZTogMTRweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtbGlnYXR1 cmVzOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3Jt YWw7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IG9ycGhhbnM6IDI7IHRleHQtYWxpZ246IHN0YXJ0 OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5v cm1hbDsgd2lkb3dzOiAyOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13 aWR0aDogMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7Ij4mbHQ7cHJl Jmd0Ozxicj48L2Rpdj48ZGl2PiZuYnNwOyBCSVA6ID88YnI+PC9kaXY+PGRpdj4mbmJzcDsgVGl0 bGU6IFZlcnNpb24gYml0cyBleHRlbnNpb24gd2l0aCBndWFyYW50ZWVkIGxvY2staW48YnI+PC9k aXY+PGRpdj4mbmJzcDsgQXV0aG9yOiBTaGFvbGluIEZyeSAmbHQ7PGEgaHJlZj0ibWFpbHRvOnNo YW9saW5mcnlAcHJvdG9ubWFpbC5jaCI+c2hhb2xpbmZyeUBwcm90b25tYWlsLmNoPC9hPiZndDs8 YnI+PC9kaXY+PGRpdj4mbmJzcDsgQ29tbWVudHMtU3VtbWFyeTogTm8gY29tbWVudHMgeWV0Ljxi cj48L2Rpdj48ZGl2PiZuYnNwOyBDb21tZW50cy1VUkk6IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHVi LmNvbS9iaXRjb2luL2JpcHMvd2lraS9Db21tZW50czpCSVAtIj5odHRwczovL2dpdGh1Yi5jb20v Yml0Y29pbi9iaXBzL3dpa2kvQ29tbWVudHM6QklQLTwvYT4/Pz8/PGJyPjwvZGl2PjxkaXY+Jm5i c3A7IFN0YXR1czogRHJhZnQ8YnI+PC9kaXY+PGRpdj4mbmJzcDsgVHlwZTogSW5mb3JtYXRpb25h bDxicj48L2Rpdj48ZGl2PiZuYnNwOyBDcmVhdGVkOiAyMDE3LTAyLTAxPGJyPjwvZGl2PjxkaXY+ Jm5ic3A7IExpY2Vuc2U6IEJTRC0zLUNsYXVzZTxicj48L2Rpdj48ZGl2PiZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBDQzAtMS4wPGJy PjwvZGl2PjxkaXY+Jmx0Oy9wcmUmZ3Q7PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PT1B YnN0cmFjdD09PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+VGhpcyBkb2N1bWVudCBzcGVj aWZpZXMgYW4gZXh0ZW5zaW9uIHRvIEJJUDkgdGhhdCBpbnRyb2R1Y2VzIGFuIGFkZGl0aW9uYWwg YWN0aXZhdGlvbiBwYXJhbWV0ZXIgdG8gZ3VhcmFudGVlIGFjdGl2YXRpb24gb2YgYmFja3dhcmQt Y29tcGF0aWJsZSBjaGFuZ2VzIChmdXJ0aGVyIGNhbGxlZCAic29mdCBmb3JrcyIpLjxicj48L2Rp dj48ZGl2Pjxicj48L2Rpdj48ZGl2Pj09TW90aXZhdGlvbj09PGJyPjwvZGl2PjxkaXY+PGJyPjwv ZGl2PjxkaXY+QklQOSBpbnRyb2R1Y2VkIGEgbWVjaGFuaXNtIGZvciBkb2luZyBwYXJhbGxlbCBz b2Z0IGZvcmtpbmcgZGVwbG95bWVudHMgYmFzZWQgb24gcmVwdXJwb3NpbmcgdGhlIGJsb2NrIG5W ZXJzaW9uIGZpZWxkLiBBY3RpdmF0aW9uIGlzIGRlcGVuZGVudCBvbiBuZWFyIHVuYW5pbW91cyBo YXNocmF0ZSBzaWduYWxsaW5nIHdoaWNoIG1heSBiZSBpbXByYWN0aWNhbCBhbmQgaXMgYWxzbyBz dWJqZWN0IHRvIHZldG8gYnkgYSBzbWFsbCBtaW5vcml0eSBvZiBub24tc2lnbmFsbGluZyBoYXNo cmF0ZS48YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5UaGlzIHNwZWNpZmljYXRpb24gcHJv dmlkZXMgYSB3YXkgdG8gb3B0aW9uYWxseSBndWFyYW50ZWUgbG9jay1pbiBhdCB0aGUgZW5kIG9m IHRoZSBCSVA5IHRpbWVvdXQsIGFuZCB0aGVyZWZvcmUgYWN0aXZhdGlvbi48YnI+PC9kaXY+PGRp dj48YnI+PC9kaXY+PGRpdj49PVNwZWNpZmljYXRpb249PTxicj48L2Rpdj48ZGl2Pjxicj48L2Rp dj48ZGl2PlRoaXMgc3BlY2lmaWNhdGlvbiBhZGRzIGEgbmV3IHBlci1jaGFpbiBkZXBsb3ltZW50 IHBhcmFtZXRlciB0byB0aGUgZXhpc3RpbmcgQklQOSBzcGVjaWZpY2F0aW9uIGFzIGZvbGxvd3M6 PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+IyBUaGUgJycnbG9ja2lub250aW1lb3V0Jycn IGJvb2xlYW4gaWYgc2V0IHRvIHRydWUsIHdpbGwgdHJhbnNpdGlvbiBzdGF0ZSB0byBMT0NLRURf SU4gYXQgdGltZW91dCBpZiBub3QgYWxyZWFkeSBBQ1RJVkUuPGJyPjwvZGl2PjxkaXY+PGJyPjwv ZGl2PjxkaXY+PT09U3RhdGUgdHJhbnNpdGlvbnM9PT08YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+ PGRpdj4mbHQ7aW1nIHNyYz0iYmlwLXVhdmVyc2lvbmJpdHMvc3RhdGVzLnBuZyIgYWxpZ249Im1p ZGRsZSImZ3Q7Jmx0Oy9pbWcmZ3Q7PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+VGhlIHN0 YXRlIHRyYW5zaXRpb24gd29ya2Zsb3cgaXMgZXhhY3RseSB0aGUgc2FtZSBhcyBpbiBCSVA5IHdp dGggYW4gYWRkaXRpb25hbCBydWxlOiBEdXJpbmcgdGhlIFNUQVJURUQgc3RhdGUgaWYgdGhlICcn J2xvY2tpbm9udGltZW91dCcnJyBpcyBzZXQgdG8gdHJ1ZSwgdGhlIHN0YXRlIHdpbGwgdHJhbnNp dGlvbiB0byBMT0NLRURfSU4gd2hlbiAnJyd0aW1lb3V0JycnIGlzIHJlYWNoZWQuPGJyPjwvZGl2 PjxkaXY+PGJyPjwvZGl2PjxkaXY+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IGNhc2UgU1RBUlRFRDo8YnI+PC9kaXY+PGRpdj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLy8gQklQOSBzcGVj aWZpY2F0aW9uIGZvbGxvd3M8YnI+PC9kaXY+PGRpdj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKEdldE1lZGlhblRp bWVQYXN0KGJsb2NrLnBhcmVudCkgJmd0Oz0gdGltZW91dCkgezxicj48L2Rpdj48ZGl2PiZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gKGZMb2NrSW5PblRpbWVvdXQgPT0g dHJ1ZSkgPyBUSFJFU0hPTERfTE9DS0VEX0lOIDogVEhSRVNIT0xEX0ZBSUxFRDxicj48L2Rpdj48 ZGl2PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyB9PGJyPjwvZGl2PjxkaXY+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGludCBjb3VudCA9IDA7PGJy PjwvZGl2PjxkaXY+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHdhbGsgPSBibG9jazs8YnI+PC9kaXY+PGRpdj4mbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgZm9yIChpID0gMDsgaSAmbHQ7IDIwMTY7IGkrKykgezxicj48L2Rpdj48ZGl2PiZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB3YWxrID0gd2Fsay5wYXJlbnQ7PGJyPjwvZGl2Pjxk aXY+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmICh3YWxrLm5WZXJzaW9uICZh bXA7IDB4RTAwMDAwMDAgPT0gMHgyMDAwMDAwMCAmYW1wOyZhbXA7ICh3YWxrLm5WZXJzaW9uICZn dDsmZ3Q7IGJpdCkgJmFtcDsgMSA9PSAxKSB7PGJyPjwvZGl2PjxkaXY+Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNvdW50Kys7PGJyPjwv ZGl2PjxkaXY+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08YnI+PC9kaXY+PGRp dj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgfTxicj48L2Rpdj48ZGl2PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAoY291bnQgJmd0Oz0gdGhy ZXNob2xkKSB7PGJyPjwvZGl2PjxkaXY+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IHJldHVybiBMT0NLRURfSU47PGJyPjwvZGl2PjxkaXY+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08YnI+PC9kaXY+PGRp dj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgcmV0dXJuIFNUQVJURUQ7PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+ PT09IFJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiA9PT08YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+ PGRpdj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYml0Y29pbi9iaXRjb2luL2NvbXBhcmUv bWFzdGVyLi4uc2hhb2xpbmZyeTpiaXAtdWF2ZXJzaW9uYml0cyI+aHR0cHM6Ly9naXRodWIuY29t L2JpdGNvaW4vYml0Y29pbi9jb21wYXJlL21hc3Rlci4uLnNoYW9saW5mcnk6YmlwLXVhdmVyc2lv bmJpdHM8L2E+PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PT1EZXBsb3ltZW50cz09PGJy PjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+QSBsaXZpbmcgbGlzdCBvZiBkZXBsb3ltZW50IHBy b3Bvc2FscyBjYW4gYmUgZm91bmQgW1tiaXAtMDAwOS9hc3NpZ25tZW50cy5tZWRpYXdpa2l8aGVy ZV1dLjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pj09Q29weXJpZ2h0PT08YnI+PC9kaXY+ PGRpdj48YnI+PC9kaXY+PGRpdj5UaGlzIGRvY3VtZW50IGlzIGR1YWwgbGljZW5zZWQgYXMgQlNE IDMtY2xhdXNlLCBhbmQgQ3JlYXRpdmUgQ29tbW9ucyBDQzAgMS4wIFVuaXZlcnNhbC48YnI+PC9k aXY+PGRpdj48YnI+PC9kaXY+ --b1_947bbe4914d7cad8161c2e1930ead7bb--