From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1VmI8A-0007iI-0c for mharc-grub-devel@gnu.org; Fri, 29 Nov 2013 02:04:50 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46037) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VmI87-0007hx-LV for grub-devel@gnu.org; Fri, 29 Nov 2013 02:04:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VmI86-0008Ja-Om for grub-devel@gnu.org; Fri, 29 Nov 2013 02:04:47 -0500 Received: from mail-ea0-x229.google.com ([2a00:1450:4013:c01::229]:65533) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VmI86-0008JW-9Z for grub-devel@gnu.org; Fri, 29 Nov 2013 02:04:46 -0500 Received: by mail-ea0-f169.google.com with SMTP id l9so6348741eaj.14 for ; Thu, 28 Nov 2013 23:04:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject :content-type; bh=IxQ62ZiHPs2FK7sk8B4X3hpjnsDWpRn/MFd/bTky/tY=; b=K91/dICQYxCSU34fJa88ptsChpdJEWW3fDSHX6xrhKZe1ruuqiPIK6ob92FjX81TYh J4IBGQxyYr3MXKaeXXhgeesXzFiLKdZt7+nMG7thDfR7E4uMHlCfphJ7MQgVff2A4g+L qyAHrOLmn5oJGVDBT0bUPDpL47uRG086hl6dA6B+8GsbA0kv3PB/sb3PfFBj3MBg2Bhr wGZimW3jie5cR9OE+35swl59NEv+b/068g08+Imui/jJwN8ANKmRHOg/EbooFe/ToOZ2 cYMkTsUqkxsIQoukRyo2hA07N91qWlgubpyV5u54cji3/43P8k8XQ8bYjrAH+axOxxMc ZGiA== X-Received: by 10.15.82.8 with SMTP id z8mr28908426eey.25.1385708685462; Thu, 28 Nov 2013 23:04:45 -0800 (PST) Received: from [192.168.1.16] (31-249.1-85.cust.bluewin.ch. [85.1.249.31]) by mx.google.com with ESMTPSA id m1sm31830075eeg.0.2013.11.28.23.04.44 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 28 Nov 2013 23:04:44 -0800 (PST) Message-ID: <52983C8B.2000500@gmail.com> Date: Fri, 29 Nov 2013 08:04:43 +0100 From: =?UTF-8?B?VmxhZGltaXIgJ8+GLWNvZGVyL3BoY29kZXInIFNlcmJpbmVua28=?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131005 Icedove/17.0.9 MIME-Version: 1.0 To: The development of GRUB 2 Subject: [RFT] Fix build problems in ntldr-img X-Enigmail-Version: 1.5.1 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="----enig2BTPHHDBRXOUOVAFLMMVB" X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4013:c01::229 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Nov 2013 07:04:48 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) ------enig2BTPHHDBRXOUOVAFLMMVB Content-Type: multipart/mixed; boundary="------------030904030409010706010101" This is a multi-part message in MIME format. --------------030904030409010706010101 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Currently ntldr-img build fails on anything else than the most plain compile on i386 system. Attached patch improves the situation a tiny bit but build system for ntldr-img stays horrible, the worst being including of target binary in the host tool. Could someon test that this patch didn't break anything? --------------030904030409010706010101 Content-Type: application/x-patch; name="ntldr-img.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ntldr-img.diff" ZGlmZiAtLWdpdCBhL250bGRyLWltZy9NYWtlZmlsZS5jb3JlLmNvbW1vbiBiL250bGRyLWlt Zy9NYWtlZmlsZS5jb3JlLmNvbW1vbgppbmRleCBmNDZhY2Q1Li5mNWMwYzYwIDEwMDY0NAot LS0gYS9udGxkci1pbWcvTWFrZWZpbGUuY29yZS5jb21tb24KKysrIGIvbnRsZHItaW1nL01h a2VmaWxlLmNvcmUuY29tbW9uCkBAIC02LDMyICs2LDMzIEBAIGcyaGRyLmJpbjogZzJoZHIu aW1nCiBwbGF0Zm9ybV9EQVRBICs9IGcyaGRyLmJpbgogQ0xFQU5GSUxFUyArPSBnMmhkci5i aW4KIAorZzJsZHIubWJyOiBnMmxkci5pbWcKKwloZWFkIC1jIDgxOTIgJDwgPiAkQAorcGxh dGZvcm1fREFUQSArPSBnMmxkci5tYnIKK0NMRUFORklMRVMgKz0gZzJsZHIubWJyCisKIGdy bGRyLm1icjogZ3JsZHIuaW1nCiAJaGVhZCAtYyA4MTkyICQ8ID4gJEAKIENMRUFORklMRVMg Kz0gZ3JsZHIubWJyCiAKIGJpbjJoOiBjb250cmliL250bGRyLWltZy9iaW4yaC5jCi0JJChD QykgJF4gLW8gJEAKKwkkKEJVSUxEX0NDKSAkKEJVSUxEX0NGTEFHUykgJChCVUlMRF9DUFBG TEFHUykgJChCVUlMRF9MREZMQUdTKSAkXiAtbyAkQAogQ0xFQU5GSUxFUyArPSBiaW4yaAog CiBncnViX21ici5oOiBncmxkci5tYnIgYmluMmgKIAkuL2JpbjJoIGdydWJfbWJyIDgxOTIg PCAkPCA+ICRACiBDTEVBTkZJTEVTICs9IGdydWJfbWJyLmgKIAotZ3J1Yi1udGxkci1pbWc6 IGNvbnRyaWIvbnRsZHItaW1nL2dydWJpbnN0LmMgY29udHJpYi9udGxkci1pbWcvdXRpbHMu YyBncnViX21ici5oCi0JJChDQykgLUkuIC1JJChzcmNkaXIpL2NvbnRyaWIvbnRsZHItaW1n IC1ETElOVVggLW8gJEAgJChzcmNkaXIpL2NvbnRyaWIvbnRsZHItaW1nL2dydWJpbnN0LmMg JChzcmNkaXIpL2NvbnRyaWIvbnRsZHItaW1nL3V0aWxzLmMKK2dydWItbnRsZHItaW1nJChF WEVFWFQpOiBjb250cmliL250bGRyLWltZy9ncnViaW5zdC5jIGNvbnRyaWIvbnRsZHItaW1n L3V0aWxzLmMgZ3J1Yl9tYnIuaAorCSQoSE9TVF9DQykgJChIT1NUX0NGTEFHUykgJChIT1NU X0NQUEZMQUdTKSAkKEhPU1RfTERGTEFHUykgLURHUlVCX1VUSUw9MSAtSS4gLUkkKHNyY2Rp cikvY29udHJpYi9udGxkci1pbWcgLURMSU5VWCAtbyAkQCAkKHNyY2RpcikvY29udHJpYi9u dGxkci1pbWcvZ3J1Ymluc3QuYyAkKHNyY2RpcikvY29udHJpYi9udGxkci1pbWcvdXRpbHMu YwogYmluX1BST0dSQU1TICs9IGdydWItbnRsZHItaW1nCiBDTEVBTkZJTEVTICs9IGdydWIt bnRsZHItaW1nCiAKICMgQ29tcGF0aWJpbGl0eSBzeW1saW5rLgotZ3J1Ymluc3Q6IGdydWIt bnRsZHItaW1nCitncnViaW5zdCQoRVhFRVhUKTogZ3J1Yi1udGxkci1pbWckKEVYRUVYVCkK IAlybSAtZiAkQAogCSQoTE5fUykgJDwgJEAKIG5vaW5zdF9QUk9HUkFNUyArPSBncnViaW5z dAogQ0xFQU5GSUxFUyArPSBncnViaW5zdAogCi1nMmxkci5tYnI6IGdydWItbnRsZHItaW1n Ci0JLi9ncnViLW50bGRyLWltZyAtLWdydWIyIC1vICRACi1wbGF0Zm9ybV9EQVRBICs9IGcy bGRyLm1icgotQ0xFQU5GSUxFUyArPSBnMmxkci5tYnIKIGVuZGlmCmRpZmYgLS1naXQgYS9u dGxkci1pbWcvTWFrZWZpbGUuY29yZS5kZWYgYi9udGxkci1pbWcvTWFrZWZpbGUuY29yZS5k ZWYKaW5kZXggYTQxZjRjYy4uNTlkZDQ0YiAxMDA2NDQKLS0tIGEvbnRsZHItaW1nL01ha2Vm aWxlLmNvcmUuZGVmCisrKyBiL250bGRyLWltZy9NYWtlZmlsZS5jb3JlLmRlZgpAQCAtMTks MyArMTksMTQgQEAgaW1hZ2UgPSB7CiAgIG9iamNvcHlmbGFncyA9ICctTyBiaW5hcnknOwog ICBlbmFibGUgPSBpMzg2X3BjOwogfTsKKworaW1hZ2UgPSB7CisgIG5hbWUgPSBnMmxkcjsK KyAgaTM4Nl9wYyA9IGNvbnRyaWIvbnRsZHItaW1nL2dybGRyc3RhcnQuUzsKKyAgaTM4Nl9w YyA9IGNvbnRyaWIvbnRsZHItaW1nL250ZnNicy5TOworICBpMzg2X3BjX2NjYXNmbGFncyA9 ICctREdSTERSX01CUiAtREJPT1RHUlVCMic7CisgIGkzODZfcGNfbGRmbGFncyA9ICckKFRB UkdFVF9JTUdfTERGTEFHUyknOworICBpMzg2X3BjX2xkZmxhZ3MgPSAnJChUQVJHRVRfSU1H X0JBU0VfTERPUFQpLDB4N2MwMCc7CisgIG9iamNvcHlmbGFncyA9ICctTyBiaW5hcnknOwor ICBlbmFibGUgPSBpMzg2X3BjOworfTsKZGlmZiAtLWdpdCBhL250bGRyLWltZy9ncmxkcnN0 YXJ0LlMgYi9udGxkci1pbWcvZ3JsZHJzdGFydC5TCmluZGV4IDY1NTM5MjYuLjJmNTIzZjkg MTAwNjQ0Ci0tLSBhL250bGRyLWltZy9ncmxkcnN0YXJ0LlMKKysrIGIvbnRsZHItaW1nL2dy bGRyc3RhcnQuUwpAQCAtMTMwMiw3ICsxMzAyLDcgQEAgRW50cnlfMzI6CiAKIAkuID0gRW50 cnlfMzIgKyAweDAzCiAKLSNpZmRlZglCT09UR1JVQgorI2lmIGRlZmluZWQgKEJPT1RHUlVC KQogCS5hc2NpaQkiR1JMRFIgICAiCS8qIE9FTSBuYW1lIHN0cmluZyAob2YgT1Mgd2hpY2gg Zm9ybWF0dGVkIHRoZSBkaXNrKS4gKi8KICNlbmRpZgogCkBAIC0xODMwLDcgKzE4MzAsOSBA QCBtc2dfQm9vdEVycm9yXzMyOgogCiBmaWxlbmFtZV8zMjoKIAotI2lmZGVmCUJPT1RHUlVC CisjaWZkZWYJQk9PVEdSVUIyCisJLmFzY2lpCSJHMkxEUiAgICAgIFwwIgorI2VsaWYgZGVm aW5lZCAoQk9PVEdSVUIpCiAJLmFzY2lpCSJHUkxEUiAgICAgIFwwIgogI2Vsc2UKIAkuYXNj aWkJIktFUk5FTCAgU1lTXDAiCkBAIC0yMDAyLDcgKzIwMDQsNyBAQCBFbnRyeV8xMl8xNjoK IAogCS4gPSBFbnRyeV8xMl8xNiArIDB4MDMKIAotI2lmZGVmCUJPT1RHUlVCCisjaWZkZWYg Qk9PVEdSVUIKIAkuYXNjaWkJIkdSTERSICAgIgogI2VuZGlmCiAKQEAgLTI1NTUsNyArMjU1 Nyw5IEBAIG1zZ19Cb290RXJyb3JfMTJfMTY6CiAKIGZpbGVuYW1lXzEyXzE2OgogCi0jaWZk ZWYJQk9PVEdSVUIKKyNpZmRlZglCT09UR1JVQjIKKwkuYXNjaWkJIkcyTERSICAgICAgXDAi CisjZWxpZiBkZWZpbmVkIChCT09UR1JVQikKIAkuYXNjaWkJIkdSTERSICAgICAgXDAiCiAj ZWxzZQogCS5hc2NpaQkiS0VSTkVMICBTWVNcMCIKQEAgLTMzNzgsOCArMzM4MiwxMSBAQCBt c2dfTm9fZ3JsZHJfZXh0MjoKIAkuYXNjaWkJIk5vICIKIAogZmlsZW5hbWVfZXh0MjoKKyNp ZmRlZglCT09UR1JVQjIKKwkuYXNjaWkJImcybGRyXDAiCisjZWxzZQogCS5hc2NpaQkiZ3Js ZHJcMCIKLQorI2VuZGlmCiAJLiA9IEVudHJ5X2V4dDIgKyAweDFlZQogCiBmaWxlbmFtZV9l bmRfZXh0MjoKQEAgLTM0MjYsOSArMzQzMyw3IEBAIGJvb3RfZXJyb3JfZXh0MjoKIAkuID0g RW50cnlfZXh0MiArIDB4MWZlCiAKIAkud29yZAkweEFBNTUKLQogCS4gPSBfc3RhcnQxICsg MHhBMDAKLQogI2RlZmluZSBJTlNJREVfR1JMRFIKIAogI2luY2x1ZGUgIm50ZnNicy5TIgpA QCAtNTc4Myw0ICs1Nzg4LDMgQEAgZ3JsZHJfc2lnbmF0dXJlOgogCiBwcmVfc3RhZ2UyX3N0 YXJ0OgogCi0KZGlmZiAtLWdpdCBhL250bGRyLWltZy9ncnViaW5zdC5jIGIvbnRsZHItaW1n L2dydWJpbnN0LmMKaW5kZXggNTk4OWRhOS4uZjZhNGQ4NCAxMDA2NDQKLS0tIGEvbnRsZHIt aW1nL2dydWJpbnN0LmMKKysrIGIvbnRsZHItaW1nL2dydWJpbnN0LmMKQEAgLTIzLDYgKzIz LDcgQEAKICNpbmNsdWRlIDxmY250bC5oPgogI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CiAjaW5j bHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KIAogI2lmbmRlZiBXSU4zMgog CkBAIC0xNDYsNyArMTQ3LDkgQEAgdm9pZCBoZWxwKHZvaWQpCiAKIGludCBhZmcsZ2ZnLGRl Zl9kcml2ZSxkZWZfcGFydCx0aW1lX291dCxob3Rfa2V5LHBhcnRfbnVtOwogaW50IGRlZl9z cHQsZGVmX2hkcyxkZWZfc3NjLGRlZl90c2M7Ci1jaGFyICpzYXZlX2ZuLCpyZXN0b3JlX2Zu LCpib290X2ZpbGUsYm9vdF9maWxlXzgzWzEyXSwqa2V5X25hbWU7CitjaGFyICpzYXZlX2Zu LCpyZXN0b3JlX2ZuLGJvb3RfZmlsZV84M1sxMl07Citjb25zdCBjaGFyICprZXlfbmFtZTsK K2NvbnN0IGNoYXIgKmJvb3RfZmlsZTsKIHVuc2lnbmVkIHNob3J0IGxvYWRfc2VnOwogCiBz dGF0aWMgY2hhciBmbl9idWZbMjRdOwpAQCAtMjg0LDEwICsyODcsMTMgQEAgdm9pZCBsaXN0 KGludCBoZCkKICAgeGUuY3VyPXhlLm54dD0weEZGOwogICBmcHJpbnRmKHN0ZGVyciwiICMg IGlkICAgICAgICBiYXNlICAgICAgICBsZW5nXG4iKTsKICAgd2hpbGUgKCEgeGRfZW51bSho ZCwmeGUpKQotICAgIGZwcmludGYoc3RkZXJyLCIlMmQgICUwMlggICAgJThYICAgICU4WFxu Iix4ZS5jdXIseGUuZGZzLHhlLmJzZSx4ZS5sZW4pOworICAgIGZwcmludGYoc3RkZXJyLCIl MmQgICUwMmxsWCAgICAlOGxsWCAgICAlOGxsWFxuIix4ZS5jdXIsCisJICAgICh1bnNpZ25l ZCBsb25nIGxvbmcpIHhlLmRmcywKKwkgICAgKHVuc2lnbmVkIGxvbmcgbG9uZykgeGUuYnNl LAorCSAgICAodW5zaWduZWQgbG9uZyBsb25nKSB4ZS5sZW4pOwogfQogCi1pbnQgaXNfZ3Js ZHJfbWJyKGNoYXIqIGJ1ZikKK2ludCBpc19ncmxkcl9tYnIodW5zaWduZWQgY2hhciogYnVm KQogewogICBpbnQgaSxuOwogCkBAIC0yOTYsMTMgKzMwMiwxMyBAQCBpbnQgaXNfZ3JsZHJf bWJyKGNoYXIqIGJ1ZikKIAogICB3aGlsZSAoKGk+bikgJiYgKGJ1ZltpXT09MCkpCiAgICAg aS0tOwotICByZXR1cm4gKCEgc3RyY21wKCZidWZbaS1uKzFdLCJNaXNzaW5nIE1CUi1oZWxw ZXIuIikpOworICByZXR1cm4gKCEgbWVtY21wKCZidWZbaS1uKzFdLCJNaXNzaW5nIE1CUi1o ZWxwZXIuIiwgc2l6ZW9mKCJNaXNzaW5nIE1CUi1oZWxwZXIuIikpKTsKIH0KIAogaW50IGlu c3RhbGwoY2hhciogZm4pCiB7Ci0gIGludCBoZCxubixmcyxzbGVuOwotICBjaGFyIHByZXZf bWJyW3NpemVvZihncnViX21icildOworICBpbnQgaGQgPSAtMSxubixmcyxzbGVuOworICB1 bnNpZ25lZCBjaGFyIHByZXZfbWJyW3NpemVvZihncnViX21icildOwogICB1bnNpZ25lZCBs b25nIHNzZWM7CiAKICAgaWYgKGZuPT1OVUxMKQpAQCAtMzIwLDcgKzMyNiw3IEBAIGludCBp bnN0YWxsKGNoYXIqIGZuKQogICAgICAgICAgIHByaW50X3N5c2Vycigib3BlbiIpOwogICAg ICAgICAgIHJldHVybiBlcnJubzsKICAgICAgICAgfQotICAgICAgcjE9dmFsdWVhdChncnVi X21iclsweDFGRkFdLDAsdW5zaWduZWQgc2hvcnQpOworICAgICAgcjE9Z2V0MTYoJmdydWJf bWJyWzB4MUZGQV0sMCk7CiAgICAgICBubj1yZWFkKGhkLGdydWJfbWJyLHNpemVvZihncnVi X21icikpOwogICAgICAgaWYgKG5uPT0tMSkKICAgICAgICAgewpAQCAtMzI4LDE5ICszMzQs MTkgQEAgaW50IGluc3RhbGwoY2hhciogZm4pCiAgICAgICAgICAgY2xvc2UoaGQpOwogICAg ICAgICAgIHJldHVybiBlcnJubzsKICAgICAgICAgfQotICAgICAgaWYgKG5uPHNpemVvZihn cnViX21icikpCisgICAgICBpZiAobm48KGludClzaXplb2YoZ3J1Yl9tYnIpKQogICAgICAg ICB7CiAgICAgICAgICAgcHJpbnRfYXBwZXJyKCJUaGUgaW5wdXQgZmlsZSBpcyB0b28gc2hv cnQiKTsKICAgICAgICAgICBjbG9zZShoZCk7CiAgICAgICAgICAgcmV0dXJuIDE7CiAgICAg ICAgIH0KLSAgICAgIGlmICh2YWx1ZWF0KGdydWJfbWJyWzB4MUZGQ10sMCx1bnNpZ25lZCBs b25nKSE9MHhBQTU1NTI0NykKKyAgICAgIGlmIChnZXQzMigmZ3J1Yl9tYnJbMHgxRkZDXSww KSE9MHhBQTU1NTI0NykKICAgICAgICAgewogICAgICAgICAgIHByaW50X2FwcGVycigiSW52 YWxpZCBpbnB1dCBmaWxlIik7CiAgICAgICAgICAgY2xvc2UoaGQpOwogICAgICAgICAgIHJl dHVybiAxOwogICAgICAgICB9Ci0gICAgICByMj12YWx1ZWF0KGdydWJfbWJyWzB4MUZGQV0s MCx1bnNpZ25lZCBzaG9ydCk7CisgICAgICByMj1nZXQxNigmZ3J1Yl9tYnJbMHgxRkZBXSww KTsKICAgICAgIGlmIChyMSE9cjIpCiAgICAgICAgIHsKICAgICAgICAgICBjaGFyIGJ1Zls4 MF07CkBAIC0zNTYsMjkgKzM2MiwyOSBAQCBpbnQgaW5zdGFsbChjaGFyKiBmbikKIAogICBp ZiAoYm9vdF9maWxlKQogICAgIHsKLSAgICAgIHVuc2lnbmVkIHNob3J0IG9mcyxsZW47Cisg ICAgICB1bnNpZ25lZCBzaG9ydCBvZnM7CiAKICAgICAgIC8vIFBhdGNoaW5nIHRoZSBGQVQz MiBib290IHNlY3RvcgotICAgICAgb2ZzPXZhbHVlYXQoZ3J1Yl9tYnIsMHg0MDArMHgxRUMs dW5zaWduZWQgc2hvcnQpICYgMHg3RkY7Ci0gICAgICBzdHJjcHkoJmdydWJfbWJyWzB4NDAw K29mc10sYm9vdF9maWxlXzgzKTsKKyAgICAgIG9mcz1nZXQxNigmZ3J1Yl9tYnIsMHg0MDAr MHgxRUMpICYgMHg3RkY7CisgICAgICBzdHJjcHkoKGNoYXIgKikgJmdydWJfbWJyWzB4NDAw K29mc10sYm9vdF9maWxlXzgzKTsKICAgICAgIGlmIChsb2FkX3NlZykKLSAgICAgICAgdmFs dWVhdChncnViX21iciwweDQwMCsweDFFQSx1bnNpZ25lZCBzaG9ydCk9bG9hZF9zZWc7Cisg ICAgICAgIHNldDE2KCZncnViX21iciwweDQwMCsweDFFQSxsb2FkX3NlZyk7CiAKICAgICAg IC8vIFBhdGNoaW5nIHRoZSBGQVQxMi9GQVQxNiBib290IHNlY3RvcgotICAgICAgb2ZzPXZh bHVlYXQoZ3J1Yl9tYnIsMHg2MDArMHgxRUMsdW5zaWduZWQgc2hvcnQpICYgMHg3RkY7Ci0g ICAgICBzdHJjcHkoJmdydWJfbWJyWzB4NjAwK29mc10sYm9vdF9maWxlXzgzKTsKKyAgICAg IG9mcz1nZXQxNigmZ3J1Yl9tYnIsMHg2MDArMHgxRUMpICYgMHg3RkY7CisgICAgICBzdHJj cHkoKGNoYXIgKikgJmdydWJfbWJyWzB4NjAwK29mc10sYm9vdF9maWxlXzgzKTsKICAgICAg IGlmIChsb2FkX3NlZykKLSAgICAgICAgdmFsdWVhdChncnViX21iciwweDYwMCsweDFFQSx1 bnNpZ25lZCBzaG9ydCk9bG9hZF9zZWc7CisgICAgICAgIHNldDE2KCZncnViX21iciwweDYw MCsweDFFQSxsb2FkX3NlZyk7CiAKICAgICAgIC8vIFBhdGNoaW5nIHRoZSBFWFQyIGJvb3Qg c2VjdG9yCi0gICAgICBvZnM9dmFsdWVhdChncnViX21iciwweDgwMCsweDFFRSx1bnNpZ25l ZCBzaG9ydCkgJiAweDdGRjsKLSAgICAgIHN0cmNweSgmZ3J1Yl9tYnJbMHg4MDArb2ZzXSxi b290X2ZpbGUpOworICAgICAgb2ZzPWdldDE2KGdydWJfbWJyLDB4ODAwKzB4MUVFKSAmIDB4 N0ZGOworICAgICAgc3RyY3B5KChjaGFyICopICZncnViX21iclsweDgwMCtvZnNdLGJvb3Rf ZmlsZSk7CiAKICAgICAgIC8vIFBhdGNoaW5nIHRoZSBOVEZTIHNlY3RvcgotICAgICAgb2Zz PXZhbHVlYXQoZ3J1Yl9tYnIsMHhBMDArMHgxRUMsdW5zaWduZWQgc2hvcnQpICYgMHg3RkY7 Ci0gICAgICBzdHJjcHkoJmdydWJfbWJyWzB4QTAwK29mc10sYm9vdF9maWxlKTsKKyAgICAg IG9mcz1nZXQxNihncnViX21iciwweEEwMCsweDFFQykgJiAweDdGRjsKKyAgICAgIHN0cmNw eSgoY2hhciAqKSAmZ3J1Yl9tYnJbMHhBMDArb2ZzXSxib290X2ZpbGUpOwogICAgICAgaWYg KGxvYWRfc2VnKQotICAgICAgICB2YWx1ZWF0KGdydWJfbWJyLDB4QTAwKzB4MUVBLHVuc2ln bmVkIHNob3J0KT1sb2FkX3NlZzsKKyAgICAgICAgc2V0MTYoZ3J1Yl9tYnIsMHhBMDArMHgx RUEsbG9hZF9zZWcpOwogCiAgICAgICBpZiAoYWZnICYgQUZHX1ZFUkJPU0UpCiAgICAgICAg IHsKQEAgLTQxNSwxNSArNDIxLDE1IEBAIGludCBpbnN0YWxsKGNoYXIqIGZuKQogICAgIH0K IAogICBtZW1zZXQoJmdydWJfbWJyWzUxMl0sMCw1MTIpOwotICB2YWx1ZWF0KGdydWJfbWJy LDIsdW5zaWduZWQgY2hhcik9Z2ZnOwotICB2YWx1ZWF0KGdydWJfbWJyLDMsdW5zaWduZWQg Y2hhcik9dGltZV9vdXQ7Ci0gIHZhbHVlYXQoZ3J1Yl9tYnIsNCx1bnNpZ25lZCBzaG9ydCk9 aG90X2tleTsKLSAgdmFsdWVhdChncnViX21iciw2LHVuc2lnbmVkIGNoYXIpPWRlZl9kcml2 ZTsKLSAgdmFsdWVhdChncnViX21iciw3LHVuc2lnbmVkIGNoYXIpPWRlZl9wYXJ0OworICBn cnViX21iclsyXSA9IGdmZzsKKyAgZ3J1Yl9tYnJbM109dGltZV9vdXQ7CisgIHNldDE2KCZn cnViX21iciw0LGhvdF9rZXkpOworICBncnViX21icls2XSA9IGRlZl9kcml2ZTsKKyAgZ3J1 Yl9tYnJbN10gPSBkZWZfcGFydDsKICAgaWYgKChrZXlfbmFtZT09TlVMTCkgJiYgKGhvdF9r ZXk9PTB4MzkyMCkpCiAgICAga2V5X25hbWU9IlNQQUNFIjsKICAgaWYgKGtleV9uYW1lKQot ICAgIHN0cmNweSgmZ3J1Yl9tYnJbMHgxZmVjXSxrZXlfbmFtZSk7CisgICAgc3RyY3B5KChj aGFyICopICZncnViX21iclsweDFmZWNdLGtleV9uYW1lKTsKIAogICBoZD1vcGVuKGZuLE9f UkRXUiB8IE9fQklOQVJZLFNfSVJFQUQgfCBTX0lXUklURSk7CiAgIGlmIChoZD09LTEpCkBA IC00NTUsMTMgKzQ2MSwxNCBAQCBpbnQgaW5zdGFsbChjaGFyKiBmbikKICAgICAgICAgICAg IH0KICAgICAgICAgICBzc2VjPXhlLmJzZTsKICAgICAgICAgICBpZiAoYWZnICYgQUZHX1ZF UkJPU0UpCi0gICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwiUGFydCBGczogJTAyWCAoJXMp XG5QYXJ0IExlbmc6ICV1XG4iLHhlLmRmcyxkZnMyc3RyKHhlLmRmcykseGUubGVuKTsKKyAg ICAgICAgICAgIGZwcmludGYoc3RkZXJyLCJQYXJ0IEZzOiAlMDJYICglcylcblBhcnQgTGVu ZzogJWxsdVxuIix4ZS5kZnMsZGZzMnN0cih4ZS5kZnMpLAorCQkgICAgKHVuc2lnbmVkIGxv bmcgbG9uZykgeGUubGVuKTsKICAgICAgICAgfQogICAgIH0KICAgZWxzZQogICAgIHNzZWM9 MDsKICAgaWYgKGFmZyAmIEFGR19WRVJCT1NFKQotICAgIGZwcmludGYoc3RkZXJyLCJTdGFy dCBzZWN0b3I6ICV1XG4iLHNzZWMpOworICAgIGZwcmludGYoc3RkZXJyLCJTdGFydCBzZWN0 b3I6ICVsbHVcbiIsICh1bnNpZ25lZCBsb25nIGxvbmcpIHNzZWMpOwogICBpZiAoKHNzZWMp ICYmIChnb19zZWN0KGhkLHNzZWMpKSkKICAgICB7CiAgICAgICBwcmludF9hcHBlcnIoIkNh blwndCBzZWVrIHRvIHRoZSBzdGFydCBzZWN0b3IiKTsKQEAgLTQ3NSw3ICs0ODIsNyBAQCBp bnQgaW5zdGFsbChjaGFyKiBmbikKICAgICAgIGNsb3NlKGhkKTsKICAgICAgIHJldHVybiBl cnJubzsKICAgICB9Ci0gIGlmIChubjxzaXplb2YocHJldl9tYnIpKQorICBpZiAobm48KGlu dClzaXplb2YocHJldl9tYnIpKQogICAgIHsKICAgICAgIHByaW50X2FwcGVycigiVGhlIGlu cHV0IGZpbGUgaXMgdG9vIHNob3J0Iik7CiAgICAgICBjbG9zZShoZCk7CkBAIC01MTAsMTQg KzUxNywxNCBAQCBpbnQgaW5zdGFsbChjaGFyKiBmbikKICAgICB7CiAgICAgICBpbnQgbixu ZnMsc2xuOwogICAgICAgdW5zaWduZWQgbG9uZyBvZnM7Ci0gICAgICBjaGFyIGJzWzEwMjRd OworICAgICAgdW5zaWduZWQgY2hhciBic1sxMDI0XTsKIAogICAgICAgb2ZzPTB4RkZGRkZG RkY7CiAgICAgICBmb3IgKG49MHgxQkU7bjwweDFGRTtuKz0xNikKICAgICAgICAgaWYgKHBy ZXZfbWJyW24rNF0pCiAgICAgICAgICAgewotICAgICAgICAgICAgaWYgKG9mcz52YWx1ZWF0 KHByZXZfbWJyW25dLDgsdW5zaWduZWQgbG9uZykpCi0gICAgICAgICAgICAgIG9mcz12YWx1 ZWF0KHByZXZfbWJyW25dLDgsdW5zaWduZWQgbG9uZyk7CisgICAgICAgICAgICBpZiAob2Zz PmdldDMyKCZwcmV2X21icltuXSw4KSkKKyAgICAgICAgICAgICAgb2ZzPWdldDMyKCZwcmV2 X21icltuXSw4KTsKICAgICAgICAgICB9CiAgICAgICBpZiAob2ZzPChzaXplb2YocHJldl9t YnIpPj45KSkKICAgICAgICAgewpAQCAtNTQ4LDggKzU1NSw4IEBAIGludCBpbnN0YWxsKGNo YXIqIGZuKQogICAgICAgaWYgKHNsbikKICAgICAgICAgewogICAgICAgICAgIG1lbWNweSgm Z3J1Yl9tYnJbMHhCXSwmYnNbMHhCXSxzbG4pOwotICAgICAgICAgIHZhbHVlYXQoZ3J1Yl9t YnJbMF0sMHgxQyx1bnNpZ25lZCBsb25nKT0wOwotICAgICAgICAgIHZhbHVlYXQoZ3J1Yl9t YnJbMF0sMHhFLHVuc2lnbmVkIHNob3J0KSs9b2ZzOworICAgICAgICAgIHNldDMyKCZncnVi X21iclswXSwweDFDLDApOworICAgICAgICAgIHNldDE2KCZncnViX21iclswXSwweEUsZ2V0 MTYoJmdydWJfbWJyWzBdLDB4RSkgKyBvZnMpOwogICAgICAgICB9CiAgICAgfQogICBlbHNl IGlmIChmcz09RlNUX05URlMpCkBAIC02MDAsMTMgKzYwNywxMyBAQCBpbnQgaW5zdGFsbChj aGFyKiBmbikKICAgICAgICAgICBjbG9zZShoZCk7CiAgICAgICAgICAgcmV0dXJuIDE7CiAg ICAgICAgIH0KLSAgICAgIGlmIChzdHJuY21wKCZwcmV2X21iclsxMDI0KzNdLCJHUkxEUiIs NSkpCisgICAgICBpZiAobWVtY21wKCZwcmV2X21iclsxMDI0KzNdLCJHUkxEUiIsNSkpCiAg ICAgICAgIHsKICAgICAgICAgICBwcmludF9hcHBlcnIoIkdSTERSIGlzIG5vdCBpbnN0YWxs ZWQiKTsKICAgICAgICAgICBjbG9zZShoZCk7CiAgICAgICAgICAgcmV0dXJuIDE7CiAgICAg ICAgIH0KLSAgICAgIGlmICh2YWx1ZWF0KHByZXZfbWJyLDUxMis1MTAsdW5zaWduZWQgc2hv cnQpIT0weEFBNTUpCisgICAgICBpZiAoZ2V0MTYocHJldl9tYnIsNTEyKzUxMCkhPTB4QUE1 NSkKICAgICAgICAgewogICAgICAgICAgIHByaW50X2FwcGVycigiTm8gcHJldmlvdXMgc2F2 ZWQgTUJSIik7CiAgICAgICAgICAgY2xvc2UoaGQpOwpAQCAtNjQxLDggKzY0OCw4IEBAIGlu dCBpbnN0YWxsKGNoYXIqIGZuKQogICAgICAgICAgICAgICBjbG9zZShoMik7CiAgICAgICAg ICAgICAgIHJldHVybiBlcnJubzsKICAgICAgICAgICAgIH0KLSAgICAgICAgICBpZiAoKG5u PDUxMikgfHwgKG5uICYgMHgxRkYhPTApIHx8Ci0gICAgICAgICAgICAgIChmcyE9RlNUX0VY VDIpICYmICh2YWx1ZWF0KGdydWJfbWJyLDUxMCx1bnNpZ25lZCBzaG9ydCkhPTB4QUE1NSkp CisgICAgICAgICAgaWYgKChubjw1MTIpIHx8ICgobm4gJiAweDFGRikhPTApIHx8CisgICAg ICAgICAgICAgICgoZnMhPUZTVF9FWFQyKSAmJiAoZ2V0MTYoZ3J1Yl9tYnIsNTEwKSE9MHhB QTU1KSkpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgIHByaW50X2FwcGVycigiSW52 YWxpZCByZXN0b3JlIGZpbGUiKTsKICAgICAgICAgICAgICAgY2xvc2UoaGQpOwpAQCAtNzA5 LDMyICs3MTYsMzIgQEAgaW50IGluc3RhbGwoY2hhciogZm4pCiAgICAgICAgICAgICB9CiAg ICAgICAgICAgZWxzZSBpZiAoZnM9PUZTVF9FWFQyKQogICAgICAgICAgICAgewotICAgICAg ICAgICAgICBtZW1jcHkoZ3J1Yl9tYnIsJmdydWJfbWJyWzB4ODAwXSxzbGVuKTsKKyAgICAg ICAgICAgICAgbWVtY3B5KCZncnViX21iciwmZ3J1Yl9tYnJbMHg4MDBdLHNsZW4pOwogICAg ICAgICAgICAgICBncnViX21iclsweDI1XT1wYXJ0X251bTsKICAgICAgICAgICAgICAgaWYg KGFmZyAmIEFGR19MQkFfTU9ERSkKICAgICAgICAgICAgICAgICBncnViX21iclsyXT0weDQy OwogICAgICAgICAgICAgICBlbHNlIGlmIChhZmcgJiBBRkdfQ0hTX01PREUpCiAgICAgICAg ICAgICAgICAgZ3J1Yl9tYnJbMl09MHgyOwogICAgICAgICAgICAgICBpZiAoZGVmX3NwdCE9 LTEpCi0gICAgICAgICAgICAgICAgdmFsdWVhdChncnViX21iciwweDE4LHVuc2lnbmVkIHNo b3J0KT1kZWZfc3B0OworICAgICAgICAgICAgICAgIHNldDE2KCZncnViX21iciwweDE4LGRl Zl9zcHQpOwogICAgICAgICAgICAgICBlbHNlIGlmICgoYWZnICYgQUZHX0lTX0ZMT1BQWSk9 PTApCi0gICAgICAgICAgICAgICAgdmFsdWVhdChncnViX21iciwweDE4LHVuc2lnbmVkIHNo b3J0KT02MzsKKyAgICAgICAgICAgICAgICBzZXQxNigmZ3J1Yl9tYnIsMHgxOCw2Myk7CiAg ICAgICAgICAgICAgIGlmIChkZWZfaGRzIT0tMSkKLSAgICAgICAgICAgICAgICB2YWx1ZWF0 KGdydWJfbWJyLDB4MUEsdW5zaWduZWQgc2hvcnQpPWRlZl9oZHM7CisgICAgICAgICAgICAg ICAgc2V0MTYoJmdydWJfbWJyLDB4MUEsZGVmX2hkcyk7CiAgICAgICAgICAgICAgIGVsc2Ug aWYgKChhZmcgJiBBRkdfSVNfRkxPUFBZKT09MCkKLSAgICAgICAgICAgICAgICB2YWx1ZWF0 KGdydWJfbWJyLDB4MUEsdW5zaWduZWQgc2hvcnQpPTI1NTsKKyAgICAgICAgICAgICAgICBz ZXQxNigmZ3J1Yl9tYnIsMHgxQSwyNTUpOwogICAgICAgICAgICAgICBpZiAoZGVmX3RzYyE9 LTEpCi0gICAgICAgICAgICAgICAgdmFsdWVhdChncnViX21iciwweDIwLHVuc2lnbmVkIGxv bmcpPWRlZl90c2M7Ci0gICAgICAgICAgICAgIHZhbHVlYXQoZ3J1Yl9tYnIsMHgxQyx1bnNp Z25lZCBsb25nKT1zc2VjOworICAgICAgICAgICAgICAgIHNldDMyKCZncnViX21iciwweDIw LGRlZl90c2MpOworICAgICAgICAgICAgICBzZXQzMigmZ3J1Yl9tYnIsMHgxQyxzc2VjKTsK ICAgICAgICAgICAgICAgLy8gc19pbm9kZV9zaXplCiAgICAgICAgICAgICAgIGlmIChwcmV2 X21iclsxMDI0KzB4NENdKSAvLyBzX3Jldl9sZXZlbAotICAgICAgICAgICAgICAgIHZhbHVl YXQoZ3J1Yl9tYnIsMHgyNix1bnNpZ25lZCBzaG9ydCk9dmFsdWVhdChwcmV2X21iclsxMDI0 XSwweDU4LHVuc2lnbmVkIHNob3J0KTsKKyAgICAgICAgICAgICAgICBzZXQxNigmZ3J1Yl9t YnIsMHgyNixnZXQxNigmcHJldl9tYnJbMTAyNF0sMHg1OCkpOwogICAgICAgICAgICAgICBl bHNlCi0gICAgICAgICAgICAgICAgdmFsdWVhdChncnViX21iciwweDI2LHVuc2lnbmVkIHNo b3J0KT0weDgwOworICAgICAgICAgICAgICAgIHNldDE2KCZncnViX21iciwweDI2LDB4ODAp OwogICAgICAgICAgICAgICAvLyBzX2lub2Rlc19wZXJfZ3JvdXAKLSAgICAgICAgICAgICAg dmFsdWVhdChncnViX21iciwweDI4LHVuc2lnbmVkIGxvbmcpPXZhbHVlYXQocHJldl9tYnJb MTAyNF0sMHgyOCx1bnNpZ25lZCBsb25nKTsKKyAgICAgICAgICAgICAgc2V0MzIoJmdydWJf bWJyLDB4MjgsZ2V0MzIoJnByZXZfbWJyWzEwMjRdLDB4MjgpKTsKICAgICAgICAgICAgICAg Ly8gc19maXJzdF9kYXRhX2Jsb2NrKzEKLSAgICAgICAgICAgICAgdmFsdWVhdChncnViX21i ciwweDJDLHVuc2lnbmVkIGxvbmcpPXZhbHVlYXQocHJldl9tYnJbMTAyNF0sMHgxNCx1bnNp Z25lZCBsb25nKSsxOworICAgICAgICAgICAgICBzZXQzMigmZ3J1Yl9tYnIsMHgyQyxnZXQz MigmcHJldl9tYnJbMTAyNF0sMHgxNCkrMSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAg ZWxzZQogICAgICAgICAgICAgewpAQCAtNzYyLDE3ICs3NjksMTcgQEAgaW50IGluc3RhbGwo Y2hhciogZm4pCiAgICAgICBlbHNlIGlmIChmcz09RlNUX0ZBVDE2KQogICAgICAgICB7CiAg ICAgICAgICAgbWVtY3B5KCZncnViX21iclsweEJdLCZwcmV2X21iclsweEJdLDB4M0UgLSAw eEIpOwotICAgICAgICAgIHZhbHVlYXQoZ3J1Yl9tYnIsMHgxQyx1bnNpZ25lZCBsb25nKT1z c2VjOworICAgICAgICAgIHNldDMyKGdydWJfbWJyLDB4MUMsc3NlYyk7CiAgICAgICAgIH0K ICAgICAgIGVsc2UgaWYgKGZzPT1GU1RfRkFUMzIpCiAgICAgICAgIHsKICAgICAgICAgICBt ZW1jcHkoJmdydWJfbWJyWzB4Ql0sJnByZXZfbWJyWzB4Ql0sMHg1QSAtIDB4Qik7Ci0gICAg ICAgICAgdmFsdWVhdChncnViX21iciwweDFDLHVuc2lnbmVkIGxvbmcpPXNzZWM7CisgICAg ICAgICAgc2V0MzIoZ3J1Yl9tYnIsMHgxQyxzc2VjKTsKICAgICAgICAgfQogICAgICAgZWxz ZSBpZiAoZnM9PUZTVF9OVEZTKQogICAgICAgICB7CiAgICAgICAgICAgbWVtY3B5KCZncnVi X21iclsweEJdLCZwcmV2X21iclsweEJdLDB4NTQgLSAweEIpOwotICAgICAgICAgIHZhbHVl YXQoZ3J1Yl9tYnIsMHgxQyx1bnNpZ25lZCBsb25nKT1zc2VjOworICAgICAgICAgIHNldDMy KGdydWJfbWJyLDB4MUMsc3NlYyk7CiAgICAgICAgIH0KICAgICB9CiAgIGlmICghIChhZmcg JiBBRkdfUkVBRF9PTkxZKSkKZGlmZiAtLWdpdCBhL250bGRyLWltZy9udGZzYnMuUyBiL250 bGRyLWltZy9udGZzYnMuUwppbmRleCA4OGI5MTgwLi4wMzljYWYzIDEwMDY0NAotLS0gYS9u dGxkci1pbWcvbnRmc2JzLlMKKysrIGIvbnRsZHItaW1nL250ZnNicy5TCkBAIC00MzIsNyAr NDMyLDExIEBAIG1zZ19OVEZTX05vdF9Gb3VuZF9FcnJvcjoKIAkuYXNjaWkgIk5vICIKIAog bnRfYm9vdF9pbWFnZToKKyNpZmRlZglCT09UR1JVQjIKKwkuYXNjaWkgImcybGRyXDAiCisj ZWxzZQogCS5hc2NpaSAiZ3JsZHJcMCIKKyNlbmRpZgogCiAJLiA9IG50X2Jvb3RfaW1hZ2Ug KyA4CiAKZGlmZiAtLWdpdCBhL250bGRyLWltZy91dGlscy5jIGIvbnRsZHItaW1nL3V0aWxz LmMKaW5kZXggMWI2OGM3Mi4uZGVlM2RmZSAxMDA2NDQKLS0tIGEvbnRsZHItaW1nL3V0aWxz LmMKKysrIGIvbnRsZHItaW1nL3V0aWxzLmMKQEAgLTI1LDYgKzI1LDcgQEAKICNlbmRpZgog CiAjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDxm Y250bC5oPgogCiAjaW5jbHVkZSAidXRpbHMuaCIKQEAgLTcyLDcgKzczLDcgQEAgaW50IGdv X3NlY3QoaW50IGhkLHVuc2lnbmVkIGxvbmcgc2VjKQogICAgICAgYnNbMV09c2VjPj4yMzsK ICAgICAgIGlmIChic1sxXSkKICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICByZXR1cm4gKGxz ZWVrKGhkLGJzWzBdLFNFRUtfU0VUKSE9YnNbMF0pOworICAgICAgcmV0dXJuIChsc2Vlayho ZCxic1swXSxTRUVLX1NFVCkhPShvZmZfdClic1swXSk7CiAgICAgfQogfQogCkBAIC05Niwx NSArOTcsMTUgQEAgaW50IHhkX2VudW0oaW50IGhkLHhkZV90KiB4ZSkKICAgICAgICAgICAg IHJldHVybiAxOwogICAgICAgICAgIGlmIChyZWFkKGhkLGVidWYsbm4pIT1ubikKICAgICAg ICAgICAgIHJldHVybiAxOwotICAgICAgICAgIGlmICh2YWx1ZWF0KGVidWYsMHgxRkUsdW5z aWduZWQgc2hvcnQpIT0weEFBNTUpCisgICAgICAgICAgaWYgKGdldDE2KGVidWYsMHgxRkUp IT0weEFBNTUpCiAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICBucD0wOwogICAg ICAgICAgIGZvciAoaT0weDFCRTtpPDB4MUZFO2krPTE2KQogICAgICAgICAgICAgaWYgKGVi dWZbaSs0XSkKICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGlmICgocHRbbnBd WzFdPXZhbHVlYXQoZWJ1ZixpKzEyLHVuc2lnbmVkIGxvbmcpKT09MCkKKyAgICAgICAgICAg ICAgICBpZiAoKHB0W25wXVsxXT1nZXQzMihlYnVmLGkrMTIpKT09MCkKICAgICAgICAgICAg ICAgICAgIHJldHVybiAxOwotICAgICAgICAgICAgICAgIHB0W25wKytdWzBdPXZhbHVlYXQo ZWJ1ZixpKzgsdW5zaWduZWQgbG9uZyk7CisgICAgICAgICAgICAgICAgcHRbbnArK11bMF09 Z2V0MzIoZWJ1ZixpKzgpOwogICAgICAgICAgICAgICB9CiAgICAgICAgICAgaWYgKG5wPT0w KQogICAgICAgICAgICAgcmV0dXJuIDE7CkBAIC0xNDgsOCArMTQ5LDggQEAgaW50IHhkX2Vu dW0oaW50IGhkLHhkZV90KiB4ZSkKICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAg ICAgICAgICAgeGUtPmN1cj14ZS0+bnh0OwogICAgICAgICAgICAgICB4ZS0+ZGZzPWVidWZb eGUtPm54dCoxNis0KzB4MUJFXTsKLSAgICAgICAgICAgICAgeGUtPmJzZT12YWx1ZWF0KGVi dWYseGUtPm54dCoxNis4KzB4MUJFLHVuc2lnbmVkIGxvbmcpOwotICAgICAgICAgICAgICB4 ZS0+bGVuPXZhbHVlYXQoZWJ1Zix4ZS0+bnh0KjE2KzEyKzB4MUJFLHVuc2lnbmVkIGxvbmcp OworICAgICAgICAgICAgICB4ZS0+YnNlPWdldDMyKGVidWYseGUtPm54dCoxNis4KzB4MUJF KTsKKyAgICAgICAgICAgICAgeGUtPmxlbj1nZXQzMihlYnVmLHhlLT5ueHQqMTYrMTIrMHgx QkUpOwogICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgIH0KICAgICAgICAg ICBlbHNlIGlmICh4ZS0+bnh0IT0weEZGKQpAQCAtMTYwLDggKzE2MSw4IEBAIGludCB4ZF9l bnVtKGludCBoZCx4ZGVfdCogeGUpCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgeGUtPmN1cj1jYzsKICAgICAgICAgICAgICAgICAgIHhlLT5kZnM9ZWJ1ZltjYyox Nis0KzB4MUJFXTsKLSAgICAgICAgICAgICAgICAgIHhlLT5ic2U9dmFsdWVhdChlYnVmLGNj KjE2KzgrMHgxQkUsdW5zaWduZWQgbG9uZyk7Ci0gICAgICAgICAgICAgICAgICB4ZS0+bGVu PXZhbHVlYXQoZWJ1ZixjYyoxNisxMisweDFCRSx1bnNpZ25lZCBsb25nKTsKKyAgICAgICAg ICAgICAgICAgIHhlLT5ic2U9Z2V0MzIoZWJ1ZixjYyoxNis4KzB4MUJFKTsKKyAgICAgICAg ICAgICAgICAgIHhlLT5sZW49Z2V0MzIoZWJ1ZixjYyoxNisxMisweDFCRSk7CiAgICAgICAg ICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg IGNjKys7CkBAIC0xNzYsMTkgKzE3NywxNyBAQCBpbnQgeGRfZW51bShpbnQgaGQseGRlX3Qq IHhlKQogICAgICAgICAgICAgaWYgKChlYnVmW2kqMTYrNCsweDFCRV09PTUpIHx8IChlYnVm W2kqMTYrNCsweDFCRV09PTB4RikpIGJyZWFrOwogICAgICAgICAgIGlmIChpPT00KQogICAg ICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgICAgeGUtPmVicz14ZS0+YnNlPXZhbHVlYXQo ZWJ1ZixpKjE2KzgrMHgxQkUsdW5zaWduZWQgbG9uZyk7CisgICAgICAgICAgeGUtPmVicz14 ZS0+YnNlPWdldDMyKGVidWYsaSoxNis4KzB4MUJFKTsKICAgICAgICAgfQogICAgICAgZWxz ZQogICAgICAgICB7CiAgICAgICAgICAgLy8gSXMgZW5kIG9mIGV4dGVuZGVkIHBhcnRpdGlv biBjaGFpbiA/Ci0gICAgICAgICAgaWYgKChlYnVmWzQrMHgxQ0VdIT0weDUpICYmIChlYnVm WzQrMHgxQ0VdIT0weEYpIHx8Ci0gICAgICAgICAgICAgICh2YWx1ZWF0KGVidWYsOCsweDFD RSx1bnNpZ25lZCBsb25nKT09MCkpCisgICAgICAgICAgaWYgKCgoZWJ1Zls0KzB4MUNFXSE9 MHg1KSAmJiAoZWJ1Zls0KzB4MUNFXSE9MHhGKSkgfHwKKyAgICAgICAgICAgICAgKGdldDMy KGVidWYsOCsweDFDRSk9PTApKQogICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgICAg eGUtPmJzZT14ZS0+ZWJzK3ZhbHVlYXQoZWJ1Ziw4KzB4MUNFLHVuc2lnbmVkIGxvbmcpOwor ICAgICAgICAgIHhlLT5ic2U9eGUtPmVicytnZXQzMihlYnVmLDgrMHgxQ0UpOwogICAgICAg ICB9CiAgICAgICB7Ci0gICAgICAgIGludCByOwotCiAgICAgICAgIHdoaWxlICgxKQogICAg ICAgICAgIHsKICAgICAgICAgICAgIGlmIChnb19zZWN0KGhkLHhlLT5ic2UpKQpAQCAtMTk3 LDE3ICsxOTYsMTkgQEAgaW50IHhkX2VudW0oaW50IGhkLHhkZV90KiB4ZSkKICAgICAgICAg ICAgIGlmIChyZWFkKGhkLGVidWYsbm4pIT1ubikKICAgICAgICAgICAgICAgcmV0dXJuIDE7 CiAKLSAgICAgICAgICAgIGlmICh2YWx1ZWF0KGVidWYsMHgxRkUsdW5zaWduZWQgc2hvcnQp IT0weEFBNTUpCisgICAgICAgICAgICBpZiAoZ2V0MTYoZWJ1ZiwweDFGRSkhPTB4QUE1NSkK ICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAKICAgICAgICAgICAgIGlmICgoZWJ1Zls0KzB4 MUJFXT09NSkgfHwgKGVidWZbNCsweDFCRV09PTB4RikpCi0gICAgICAgICAgICAgIGlmICh2 YWx1ZWF0KGVidWYsOCsweDFCRSx1bnNpZ25lZCBsb25nKT09MCkKLSAgICAgICAgICAgICAg ICByZXR1cm4gMTsKLSAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHsKLSAg ICAgICAgICAgICAgICAgIHhlLT5ic2U9eGUtPmVicyt2YWx1ZWF0KGVidWYsOCsweDFCRSx1 bnNpZ25lZCBsb25nKTsKLSAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAg ICAgICAgIH0KKwkgICAgICB7CisJCWlmIChnZXQzMihlYnVmLDgrMHgxQkUpPT0wKQorCQkg IHJldHVybiAxOworCQllbHNlCisJCSAgeworCQkgICAgeGUtPmJzZT14ZS0+ZWJzK2dldDMy KGVidWYsOCsweDFCRSk7CisJCSAgICBjb250aW51ZTsKKwkJICB9CisJICAgICAgfQogICAg ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgfQogICAgICAgICBraz0oZWJ1Zls0KzB4MUJF XSE9MCk7CkBAIC0yMTUsOCArMjE2LDggQEAgaW50IHhkX2VudW0oaW50IGhkLHhkZV90KiB4 ZSkKICAgICAgICAgICB7CiAgICAgICAgICAgICB4ZS0+Y3VyPWNjOwogICAgICAgICAgICAg eGUtPmRmcz1lYnVmWzQrMHgxQkVdOwotICAgICAgICAgICAgeGUtPmJzZSs9dmFsdWVhdChl YnVmLDgrMHgxQkUsdW5zaWduZWQgbG9uZyk7Ci0gICAgICAgICAgICB4ZS0+bGVuPXZhbHVl YXQoZWJ1ZiwxMisweDFCRSx1bnNpZ25lZCBsb25nKTsKKyAgICAgICAgICAgIHhlLT5ic2Ur PWdldDMyKGVidWYsOCsweDFCRSk7CisgICAgICAgICAgICB4ZS0+bGVuPWdldDMyKGVidWYs MTIrMHgxQkUpOwogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgfQogICAgICAg fQpAQCAtMjU1LDggKzI1Niw4IEBAIGludCBjaGtfbWJyKHVuc2lnbmVkIGNoYXIqIGJ1ZikK ICAgICBpKz0xNjsKICAgaWYgKGk+PTB4MUZFKQogICAgIHJldHVybiAwOwotICBhMT12YWx1 ZWF0KGJ1ZltpXSw4LHVuc2lnbmVkIGxvbmcpOwotICBhMj1hMSt2YWx1ZWF0KGJ1ZltpXSwx Mix1bnNpZ25lZCBsb25nKS0xOworICBhMT1nZXQzMigmYnVmW2ldLDgpOworICBhMj1hMStn ZXQzMigmYnVmW2ldLDEyKS0xOwogICBpZiAoYTE+PWEyKQogICAgIHJldHVybiAwOwogICBz cGxpdF9jaHMoYnVmK2krNSwmYzIsJmgyLCZzMik7CkBAIC0zMDMsOCArMzA0LDggQEAgaW50 IGNoa19tYnIodW5zaWduZWQgY2hhciogYnVmKQogICAgIHsKICAgICAgIGlmIChidWZbaSs0 XSkKICAgICAgICAgewotICAgICAgICAgIGlmICgoISBjaGtfY2hzKG5oZCxzcHQsdmFsdWVh dChidWZbaV0sOCx1bnNpZ25lZCBsb25nKSxidWYraSsxKSkgfHwKLSAgICAgICAgICAgICAg KCEgY2hrX2NocyhuaGQsc3B0LHZhbHVlYXQoYnVmW2ldLDgsdW5zaWduZWQgbG9uZykrdmFs dWVhdChidWZbaV0sMTIsdW5zaWduZWQgbG9uZyktMSxidWYraSs1KSkpCisgICAgICAgICAg aWYgKCghIGNoa19jaHMobmhkLHNwdCxnZXQzMigmYnVmW2ldLDgpLGJ1ZitpKzEpKSB8fAor ICAgICAgICAgICAgICAoISBjaGtfY2hzKG5oZCxzcHQsZ2V0MzIoJmJ1ZltpXSw4KStnZXQz MigmYnVmW2ldLDEyKS0xLGJ1ZitpKzUpKSkKICAgICAgICAgICAgIHJldHVybiAwOwogICAg ICAgICB9CiAgICAgICBpKz0xNjsKQEAgLTMyMCwyMCArMzIxLDIwIEBAIGludCBnZXRfZnN0 eXBlKHVuc2lnbmVkIGNoYXIqIGJ1ZikKICAgICByZXR1cm4gRlNUX01CUjsKIAogICAvLyBU aGUgZmlyc3Qgc2VjdG9yIG9mIEVYVDIgbWlnaHQgbm90IGNvbnRhaW4gdGhlIDB4QUE1NSBz aWduYXR1cmUKLSAgaWYgKHZhbHVlYXQoYnVmWzEwMjRdLDU2LHVuc2lnbmVkIHNob3J0KT09 RVhUMl9TVVBFUl9NQUdJQykKKyAgaWYgKGdldDE2KCZidWZbMTAyNF0sNTYpPT1FWFQyX1NV UEVSX01BR0lDKQogICAgIHJldHVybiBGU1RfRVhUMjsKLSAgaWYgKHZhbHVlYXQoYnVmWzBd LDB4MUZFLHVuc2lnbmVkIHNob3J0KSE9MHhBQTU1KQorICBpZiAoZ2V0MTYoJmJ1ZlswXSww eDFGRSkhPTB4QUE1NSkKICAgICByZXR1cm4gRlNUX09USEVSOwotICBpZiAoISBzdHJuY21w KCZidWZbMHgzNl0sIkZBVCIsMykpCisgIGlmICghIG1lbWNtcCgmYnVmWzB4MzZdLCJGQVQi LDMpKQogICAgIHJldHVybiAoKGJ1ZlsweDI2XT09MHgyOCkgfHwgKGJ1ZlsweDI2XT09MHgy OSkpP0ZTVF9GQVQxNjpGU1RfT1RIRVI7Ci0gIGlmICghIHN0cm5jbXAoJmJ1ZlsweDUyXSwi RkFUMzIiLDUpKQorICBpZiAoISBtZW1jbXAoJmJ1ZlsweDUyXSwiRkFUMzIiLDUpKQogICAg IHJldHVybiAoKGJ1ZlsweDQyXT09MHgyOCkgfHwgKGJ1ZlsweDQyXT09MHgyOSkpP0ZTVF9G QVQzMjpGU1RfT1RIRVI7Ci0gIGlmICghIHN0cm5jbXAoJmJ1ZlsweDNdLCJOVEZTIiw0KSkK KyAgaWYgKCEgbWVtY21wKCZidWZbMHgzXSwiTlRGUyIsNCkpCiAgICAgcmV0dXJuICgoYnVm WzBdPT0weEVCKSAmJiAoYnVmWzFdPT0weDUyKSk/RlNUX05URlM6RlNUX09USEVSOwogICBy ZXR1cm4gRlNUX09USEVSOwogfQogCi1jaGFyKiBmc3Qyc3RyKGludCBmcykKK2NvbnN0IGNo YXIqIGZzdDJzdHIoaW50IGZzKQogewogICBzd2l0Y2ggKGZzKSB7CiAgIGNhc2UgRlNUX09U SEVSOgpAQCAtMzU1LDcgKzM1Niw3IEBAIGNoYXIqIGZzdDJzdHIoaW50IGZzKQogCiB0eXBl ZGVmIHN0cnVjdCB7CiAgIGludCBpZDsKLSAgY2hhciogc3RyOworICBjb25zdCBjaGFyKiBz dHI7CiB9IGZzdGFiX3Q7CiAKIHN0YXRpYyBmc3RhYl90IGZzdGFiW109IHsKQEAgLTM4MCw3 ICszODEsNyBAQCBzdGF0aWMgZnN0YWJfdCBmc3RhYltdPSB7CiAgIHsweEE1LCJGQlNEIn0s CiAgIHswLCJPdGhlciJ9fTsKIAotY2hhciogZGZzMnN0cihpbnQgZnMpCitjb25zdCBjaGFy KiBkZnMyc3RyKGludCBmcykKIHsKICAgaW50IGk7CiAKZGlmZiAtLWdpdCBhL250bGRyLWlt Zy91dGlscy5oIGIvbnRsZHItaW1nL3V0aWxzLmgKaW5kZXggMDVhYjExNC4uZTQ4YWFjOCAx MDA2NDQKLS0tIGEvbnRsZHItaW1nL3V0aWxzLmgKKysrIGIvbnRsZHItaW1nL3V0aWxzLmgK QEAgLTQyLDE2ICs0Miw0NSBAQCB0eXBlZGVmIHN0cnVjdCB7CiAgIHVuc2lnbmVkIGxvbmcJ YnNlOwkJLy8gUGFydGl0aW9uIHN0YXJ0IGFkZHJlc3MKICAgdW5zaWduZWQgbG9uZyBsZW47 CQkvLyBQYXJ0aXRpb24gbGVuZ3RoCiAgIHVuc2lnbmVkIGxvbmcgZWJzOwkJLy8gQmFzZSBh ZGRyZXNzIGZvciB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uCi19IHhkZV90OworfSBfX2F0dHJp YnV0ZV9fICgocGFja2VkKSkgeGRlX3Q7CiAKLSNkZWZpbmUgdmFsdWVhdChidWYsb2ZzLHR5 cGUpCSooKHR5cGUqKSgoKGNoYXIqKSZidWYpK29mcykpCitzdGF0aWMgaW5saW5lIHVuc2ln bmVkIHNob3J0CitnZXQxNiAoY29uc3Qgdm9pZCAqYnVmXywgdW5zaWduZWQgb2Zmc2V0KQor eworICB1bnNpZ25lZCBjaGFyICpidWYgPSAodW5zaWduZWQgY2hhciAqKSBidWZfICsgb2Zm c2V0OworICByZXR1cm4gYnVmWzBdIHwgKGJ1ZlsxXSA8PCA4KTsKK30KK3N0YXRpYyBpbmxp bmUgdW5zaWduZWQgaW50CitnZXQzMiAoY29uc3Qgdm9pZCAqYnVmXywgdW5zaWduZWQgb2Zm c2V0KQoreworICB1bnNpZ25lZCBjaGFyICpidWYgPSAodW5zaWduZWQgY2hhciAqKSBidWZf ICsgb2Zmc2V0OworICByZXR1cm4gYnVmWzBdIHwgKGJ1ZlsxXSA8PCA4KSB8IChidWZbMV0g PDwgMTYpIHwgKGJ1ZlsxXSA8PCAyNCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorc2V0 MTYgKHZvaWQgKmJ1Zl8sIHVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQgc2hvcnQgdmFsKQor eworICB1bnNpZ25lZCBjaGFyICpidWYgPSAodW5zaWduZWQgY2hhciAqKSBidWZfICsgb2Zm c2V0OworICBidWZbMF0gPSB2YWw7CisgIGJ1ZlsxXSA9IHZhbCA+PiA4OworfQorCitzdGF0 aWMgaW5saW5lIHZvaWQKK3NldDMyICh2b2lkICpidWZfLCB1bnNpZ25lZCBvZmZzZXQsIHVu c2lnbmVkIGludCB2YWwpCit7CisgIHVuc2lnbmVkIGNoYXIgKmJ1ZiA9ICh1bnNpZ25lZCBj aGFyICopIGJ1Zl8gKyBvZmZzZXQ7CisgIGJ1ZlswXSA9IHZhbDsKKyAgYnVmWzFdID0gdmFs ID4+IDg7CisgIGJ1ZlsyXSA9IHZhbCA+PiAxNjsKKyAgYnVmWzNdID0gdmFsID4+IDI0Owor fQogCiBleHRlcm4gaW50IG1icl9uaGQsIG1icl9zcHQ7CiBpbnQgZ29fc2VjdChpbnQsdW5z aWduZWQgbG9uZyk7CiBpbnQgeGRfZW51bShpbnQseGRlX3QqKTsKIGludCBnZXRfZnN0eXBl KHVuc2lnbmVkIGNoYXIqKTsKLWNoYXIqIGZzdDJzdHIoaW50KTsKLWNoYXIqIGRmczJzdHIo aW50KTsKK2NvbnN0IGNoYXIqIGZzdDJzdHIoaW50KTsKK2NvbnN0IGNoYXIqIGRmczJzdHIo aW50KTsKIAogI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpIHx8IGRlZmluZWQoY19wbHVzcGx1 cykKIH0K --------------030904030409010706010101-- ------enig2BTPHHDBRXOUOVAFLMMVB Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.15 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iF4EAREKAAYFAlKYPIsACgkQmBXlbbo5nOsa0wD9FMWF0RcDjkMgkk+nN+K297Wk DHJg2Oc1lRV4Fana254A/1DhuywgUavDeFzBKCHMDU4gPm452ibcJc3noe+o8gAq =UwrO -----END PGP SIGNATURE----- ------enig2BTPHHDBRXOUOVAFLMMVB--