Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tfmu4-0055Rc-5I for pgsql-hackers@arkaria.postgresql.org; Wed, 05 Feb 2025 21:25:49 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tfmu3-001QZF-7s for pgsql-hackers@arkaria.postgresql.org; Wed, 05 Feb 2025 21:25:47 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tfmu2-001QZ5-7o for pgsql-hackers@lists.postgresql.org; Wed, 05 Feb 2025 21:25:46 +0000 Received: from fhigh-b3-smtp.messagingengine.com ([202.12.124.154]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tfmtu-003NsE-0I for pgsql-hackers@postgresql.org; Wed, 05 Feb 2025 21:25:45 +0000 Received: from phl-compute-01.internal (phl-compute-01.phl.internal [10.202.2.41]) by mailfhigh.stl.internal (Postfix) with ESMTP id E12922540104 for ; Wed, 5 Feb 2025 16:25:37 -0500 (EST) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-01.internal (MEProxy); Wed, 05 Feb 2025 16:25:37 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eisentraut.org; h=cc:content-type:content-type:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:subject:subject:to:to; s=fm2; t=1738790737; x=1738877137; bh=1RyqezlN9priT1O0YWB6gCkLnEWqu8LQ sFs4UMQapsM=; b=ofIeocMV6uzThqM8eLbmUlBVkNKd08N7eUEt4Cfg1jCEsVjN A5492sVFQmqo8NiNyO7ZO31iWsKPkYvYtORic7rKRHw3O9S68w9+DyPmjA9/z0nC hGKy+oFHbhcKMnN9p7yvJXUXcMq/lz1sZwljOZBXPnPwhvIdepr1UbJKdI6FyoMi r7BDMoRMk+hnVvwfEtlOl50x/1ZgXxmzFb68w7HV8o71OdX/tAEFcsohOewQAF/P ERUrZGwNCa+9ps5K45PL6zlS+U2A4vHEiF8TS/9ljh4GG2NXielAK7LqljCcs5Ci MJlkdIEPpcJbiLIHjnRUdqtVkkxRkq//oOXTnw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1738790737; x= 1738877137; bh=1RyqezlN9priT1O0YWB6gCkLnEWqu8LQsFs4UMQapsM=; b=n IrA7CNSF4wt/ItUWQOJWYc2Kv+Nfg/5RRPaPo0BXviZaBSNiXGRfl9WCa2vA9N4T GHXwG/gzPvg5C8GuMekznY4Bz88UafbBl8Ar/nID0Ud+WIlFAvKk+Y5CEbnIfxSJ RhKaj0ZBVfoOdw/e3gDn/OWg64nDCo8Citpfg+L6r7eCHJqgP3bysjJplao6JOXh R+uAKDx32SLlirZS9ggIAyRbCt5IXFFGZC5Fu1TR4CT0ymmlrTZgP6Fp4gGuoSk8 MDW12++7xtnyHovGlt+vqYVaVJ1mMtTcGjrwFasE1CHl3TIQ+TjqcJXNzS7zc7lZ /DnV5rFhwCrCB+Uee5cRA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddvgeehgecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecunecujfgurheptgfkff ggfgfhuffvsehmtderredtvdejnecuhfhrohhmpefrvghtvghrucfgihhsvghnthhrrghu thcuoehpvghtvghrsegvihhsvghnthhrrghuthdrohhrgheqnecuggftrfgrthhtvghrnh ephfehgeefiefgkeduveefgffggeelfedvjeekfeetveekgffhiedvuedvvdfggedtnecu ffhomhgrihhnpehpohhsthhgrhgvshhqlhdrohhrghenucevlhhushhtvghrufhiiigvpe dtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehpvghtvghrsegvihhsvghnthhrrghuthdr ohhrghdpnhgspghrtghpthhtohepuddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtoh epphhgshhqlhdqhhgrtghkvghrshesphhoshhtghhrvghsqhhlrdhorhhg X-ME-Proxy: Feedback-ID: ie0a040ee:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Wed, 5 Feb 2025 16:25:36 -0500 (EST) Content-Type: multipart/mixed; boundary="------------I3oyUgo30pfczihe9dmbqaUa" Message-ID: Date: Wed, 5 Feb 2025 22:25:35 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US From: Peter Eisentraut Subject: Remove useless casts to (char *) To: pgsql-hackers List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------I3oyUgo30pfczihe9dmbqaUa Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit In the spirit of the recent patch set "Remove useless casts to (void *)" [0], here is patch set that removes a bunch of apparently useless casts to (char *). There are two larger themes: 1) Various casts around string/memory functions such as strcpy() or memcpy() that pretty much don't make any sense at all (at least post-1989 I guess). 2) Using void * instead of char * for function arguments that deal with binary data. The largest of these is XLogRegisterData() and XLogRegisterBufData(), which were also mentioned in [0]. (similar past patches: 2d4f1ba6cfc 1f605b82ba6 3b12e68a5c4 b9f0e54bc95) The remaining (char *) casts are mostly related to signed/unsigned conversion, controlling pointer arithmetic, and related to palloc/malloc, (and probably some I missed or didn't want to touch) so those are all ok to keep. [0]: https://www.postgresql.org/message-id/flat/461ea37c-8b58-43b4-9736-52884e862820%40eisentraut.org --------------I3oyUgo30pfczihe9dmbqaUa Content-Type: text/plain; charset=UTF-8; name="0001-Remove-unnecessary-char-casts-string.patch" Content-Disposition: attachment; filename="0001-Remove-unnecessary-char-casts-string.patch" Content-Transfer-Encoding: base64 RnJvbSBhMGNjMzBkMDczMDNiMDY2YTYwNDg3NGNlZTkyZGUwZGU3N2ZlZWYyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVHVlLCAyNCBTZXAgMjAyNCAxMjowMzoxMyArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggMDEvMTBdIFJlbW92ZSB1bm5lY2Vzc2FyeSAoY2hhciAqKSBjYXN0cyBbc3Ry aW5nXQoKUmVtb3ZlIChjaGFyICopIGNhc3RzIGFyb3VuZCBzdHJpbmcgZnVuY3Rpb25zIHdo ZXJlIHRoZSBhcmd1bWVudHMgb3IKcmVzdWx0IGFscmVhZHkgaGF2ZSB0aGUgcmlnaHQgdHlw ZSBhbmQgdGhlIGNhc3QgaXMgdXNlbGVzcyAob3Igd29yc2UsCnBvdGVudGlhbGx5IGNhc3Rz IGF3YXkgYSBxdWFsaWZpZXIsIGJ1dCB0aGlzIGRvZXNuJ3QgYXBwZWFyIHRvIGJlIHRoZQpj YXNlIGhlcmUpLgotLS0KIGNvbnRyaWIvZnV6enlzdHJtYXRjaC9kbWV0YXBob25lLmMgICAg ICAgICAgfCAgOCArKysrLS0tLQogZG9jL3NyYy9zZ21sL2dpc3Quc2dtbCAgICAgICAgICAg ICAgICAgICAgICB8ICAyICstCiBzcmMvYmFja2VuZC9yZXBsaWNhdGlvbi93YWxyZWNlaXZl ci5jICAgICAgIHwgMTQgKysrKysrKy0tLS0tLS0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9u L3dhbHJlY2VpdmVyZnVuY3MuYyAgfCAgNCArKy0tCiBzcmMvYmFja2VuZC91dGlscy9hY3Rp dml0eS9iYWNrZW5kX3N0YXR1cy5jIHwgIDYgKysrLS0tCiBzcmMvaW50ZXJmYWNlcy9lY3Bn L3BndHlwZXNsaWIvY29tbW9uLmMgICAgIHwgIDIgKy0KIDYgZmlsZXMgY2hhbmdlZCwgMTgg aW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29udHJpYi9m dXp6eXN0cm1hdGNoL2RtZXRhcGhvbmUuYyBiL2NvbnRyaWIvZnV6enlzdHJtYXRjaC9kbWV0 YXBob25lLmMKaW5kZXggZjhmMmMyYjQ0N2QuLjY2MjdiMmI4OTQzIDEwMDY0NAotLS0gYS9j b250cmliL2Z1enp5c3RybWF0Y2gvZG1ldGFwaG9uZS5jCisrKyBiL2NvbnRyaWIvZnV6enlz dHJtYXRjaC9kbWV0YXBob25lLmMKQEAgLTMwOCwxMyArMzA4LDEzIEBAIElzVm93ZWwobWV0 YXN0cmluZyAqcywgaW50IHBvcykKIHN0YXRpYyBpbnQKIFNsYXZvR2VybWFuaWMobWV0YXN0 cmluZyAqcykKIHsKLQlpZiAoKGNoYXIgKikgc3Ryc3RyKHMtPnN0ciwgIlciKSkKKwlpZiAo c3Ryc3RyKHMtPnN0ciwgIlciKSkKIAkJcmV0dXJuIDE7Ci0JZWxzZSBpZiAoKGNoYXIgKikg c3Ryc3RyKHMtPnN0ciwgIksiKSkKKwllbHNlIGlmIChzdHJzdHIocy0+c3RyLCAiSyIpKQog CQlyZXR1cm4gMTsKLQllbHNlIGlmICgoY2hhciAqKSBzdHJzdHIocy0+c3RyLCAiQ1oiKSkK KwllbHNlIGlmIChzdHJzdHIocy0+c3RyLCAiQ1oiKSkKIAkJcmV0dXJuIDE7Ci0JZWxzZSBp ZiAoKGNoYXIgKikgc3Ryc3RyKHMtPnN0ciwgIldJVFoiKSkKKwllbHNlIGlmIChzdHJzdHIo cy0+c3RyLCAiV0lUWiIpKQogCQlyZXR1cm4gMTsKIAllbHNlCiAJCXJldHVybiAwOwpkaWZm IC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2dpc3Quc2dtbCBiL2RvYy9zcmMvc2dtbC9naXN0LnNn bWwKaW5kZXggOTkwOThhYjI1MjIuLmRmNGFmYWEyZTc3IDEwMDY0NAotLS0gYS9kb2Mvc3Jj L3NnbWwvZ2lzdC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9naXN0LnNnbWwKQEAgLTEwMjcs NyArMTAyNyw3IEBAIDx0aXRsZT5FeHRlbnNpYmlsaXR5PC90aXRsZT4KICAgICBpbnQgICAg IGxlbiA9IHN0cmxlbih0bXApOwogCiAgICAgaWYgKHB0cikKLSAgICAgICAgc3RyY3B5KChj aGFyICopIHB0ciwgdG1wKTsKKyAgICAgICAgc3RyY3B5KHB0ciwgdG1wKTsKIAogICAgIHBm cmVlKHRtcCk7CiAgICAgcmV0dXJuIGxlbiArIDE7CmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9yZXBsaWNhdGlvbi93YWxyZWNlaXZlci5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24v d2FscmVjZWl2ZXIuYwppbmRleCA3MTYwOTJmNzE3Yy4uYmQwOTI2MmUyN2QgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3dhbHJlY2VpdmVyLmMKKysrIGIvc3JjL2Jh Y2tlbmQvcmVwbGljYXRpb24vd2FscmVjZWl2ZXIuYwpAQCAtMjQ5LDggKzI0OSw4IEBAIFdh bFJlY2VpdmVyTWFpbihjaGFyICpzdGFydHVwX2RhdGEsIHNpemVfdCBzdGFydHVwX2RhdGFf bGVuKQogCiAJLyogRmV0Y2ggaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gc3RhcnQgc3RyZWFt aW5nICovCiAJd2FscmN2LT5yZWFkeV90b19kaXNwbGF5ID0gZmFsc2U7Ci0Jc3RybGNweShj b25uaW5mbywgKGNoYXIgKikgd2FscmN2LT5jb25uaW5mbywgTUFYQ09OTklORk8pOwotCXN0 cmxjcHkoc2xvdG5hbWUsIChjaGFyICopIHdhbHJjdi0+c2xvdG5hbWUsIE5BTUVEQVRBTEVO KTsKKwlzdHJsY3B5KGNvbm5pbmZvLCB3YWxyY3YtPmNvbm5pbmZvLCBNQVhDT05OSU5GTyk7 CisJc3RybGNweShzbG90bmFtZSwgd2FscmN2LT5zbG90bmFtZSwgTkFNRURBVEFMRU4pOwog CWlzX3RlbXBfc2xvdCA9IHdhbHJjdi0+aXNfdGVtcF9zbG90OwogCXN0YXJ0cG9pbnQgPSB3 YWxyY3YtPnJlY2VpdmVTdGFydDsKIAlzdGFydHBvaW50VExJID0gd2FscmN2LT5yZWNlaXZl U3RhcnRUTEk7CkBAIC0zMTcsMTEgKzMxNywxMSBAQCBXYWxSZWNlaXZlck1haW4oY2hhciAq c3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9kYXRhX2xlbikKIAlTcGluTG9ja0FjcXVp cmUoJndhbHJjdi0+bXV0ZXgpOwogCW1lbXNldCh3YWxyY3YtPmNvbm5pbmZvLCAwLCBNQVhD T05OSU5GTyk7CiAJaWYgKHRtcF9jb25uaW5mbykKLQkJc3RybGNweSgoY2hhciAqKSB3YWxy Y3YtPmNvbm5pbmZvLCB0bXBfY29ubmluZm8sIE1BWENPTk5JTkZPKTsKKwkJc3RybGNweSh3 YWxyY3YtPmNvbm5pbmZvLCB0bXBfY29ubmluZm8sIE1BWENPTk5JTkZPKTsKIAogCW1lbXNl dCh3YWxyY3YtPnNlbmRlcl9ob3N0LCAwLCBOSV9NQVhIT1NUKTsKIAlpZiAoc2VuZGVyX2hv c3QpCi0JCXN0cmxjcHkoKGNoYXIgKikgd2FscmN2LT5zZW5kZXJfaG9zdCwgc2VuZGVyX2hv c3QsIE5JX01BWEhPU1QpOworCQlzdHJsY3B5KHdhbHJjdi0+c2VuZGVyX2hvc3QsIHNlbmRl cl9ob3N0LCBOSV9NQVhIT1NUKTsKIAogCXdhbHJjdi0+c2VuZGVyX3BvcnQgPSBzZW5kZXJf cG9ydDsKIAl3YWxyY3YtPnJlYWR5X3RvX2Rpc3BsYXkgPSB0cnVlOwpAQCAtMTQzNCwxMCAr MTQzNCwxMCBAQCBwZ19zdGF0X2dldF93YWxfcmVjZWl2ZXIoUEdfRlVOQ1RJT05fQVJHUykK IAlsYXN0X3JlY2VpcHRfdGltZSA9IFdhbFJjdi0+bGFzdE1zZ1JlY2VpcHRUaW1lOwogCWxh dGVzdF9lbmRfbHNuID0gV2FsUmN2LT5sYXRlc3RXYWxFbmQ7CiAJbGF0ZXN0X2VuZF90aW1l ID0gV2FsUmN2LT5sYXRlc3RXYWxFbmRUaW1lOwotCXN0cmxjcHkoc2xvdG5hbWUsIChjaGFy ICopIFdhbFJjdi0+c2xvdG5hbWUsIHNpemVvZihzbG90bmFtZSkpOwotCXN0cmxjcHkoc2Vu ZGVyX2hvc3QsIChjaGFyICopIFdhbFJjdi0+c2VuZGVyX2hvc3QsIHNpemVvZihzZW5kZXJf aG9zdCkpOworCXN0cmxjcHkoc2xvdG5hbWUsIFdhbFJjdi0+c2xvdG5hbWUsIHNpemVvZihz bG90bmFtZSkpOworCXN0cmxjcHkoc2VuZGVyX2hvc3QsIFdhbFJjdi0+c2VuZGVyX2hvc3Qs IHNpemVvZihzZW5kZXJfaG9zdCkpOwogCXNlbmRlcl9wb3J0ID0gV2FsUmN2LT5zZW5kZXJf cG9ydDsKLQlzdHJsY3B5KGNvbm5pbmZvLCAoY2hhciAqKSBXYWxSY3YtPmNvbm5pbmZvLCBz aXplb2YoY29ubmluZm8pKTsKKwlzdHJsY3B5KGNvbm5pbmZvLCBXYWxSY3YtPmNvbm5pbmZv LCBzaXplb2YoY29ubmluZm8pKTsKIAlTcGluTG9ja1JlbGVhc2UoJldhbFJjdi0+bXV0ZXgp OwogCiAJLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3dhbHJlY2Vp dmVyZnVuY3MuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3dhbHJlY2VpdmVyZnVuY3Mu YwppbmRleCBlN2ViM2FjMTJhNC4uOGRlMjg4NmZmMGIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL3JlcGxpY2F0aW9uL3dhbHJlY2VpdmVyZnVuY3MuYworKysgYi9zcmMvYmFja2VuZC9y ZXBsaWNhdGlvbi93YWxyZWNlaXZlcmZ1bmNzLmMKQEAgLTI2Nyw3ICsyNjcsNyBAQCBSZXF1 ZXN0WExvZ1N0cmVhbWluZyhUaW1lTGluZUlEIHRsaSwgWExvZ1JlY1B0ciByZWNwdHIsIGNv bnN0IGNoYXIgKmNvbm5pbmZvLAogCQkgICB3YWxyY3YtPndhbFJjdlN0YXRlID09IFdBTFJD Vl9XQUlUSU5HKTsKIAogCWlmIChjb25uaW5mbyAhPSBOVUxMKQotCQlzdHJsY3B5KChjaGFy ICopIHdhbHJjdi0+Y29ubmluZm8sIGNvbm5pbmZvLCBNQVhDT05OSU5GTyk7CisJCXN0cmxj cHkod2FscmN2LT5jb25uaW5mbywgY29ubmluZm8sIE1BWENPTk5JTkZPKTsKIAllbHNlCiAJ CXdhbHJjdi0+Y29ubmluZm9bMF0gPSAnXDAnOwogCkBAIC0yNzksNyArMjc5LDcgQEAgUmVx dWVzdFhMb2dTdHJlYW1pbmcoVGltZUxpbmVJRCB0bGksIFhMb2dSZWNQdHIgcmVjcHRyLCBj b25zdCBjaGFyICpjb25uaW5mbywKIAkgKi8KIAlpZiAoc2xvdG5hbWUgIT0gTlVMTCAmJiBz bG90bmFtZVswXSAhPSAnXDAnKQogCXsKLQkJc3RybGNweSgoY2hhciAqKSB3YWxyY3YtPnNs b3RuYW1lLCBzbG90bmFtZSwgTkFNRURBVEFMRU4pOworCQlzdHJsY3B5KHdhbHJjdi0+c2xv dG5hbWUsIHNsb3RuYW1lLCBOQU1FREFUQUxFTik7CiAJCXdhbHJjdi0+aXNfdGVtcF9zbG90 ID0gZmFsc2U7CiAJfQogCWVsc2UKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2Fj dGl2aXR5L2JhY2tlbmRfc3RhdHVzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9i YWNrZW5kX3N0YXR1cy5jCmluZGV4IDczMTM0Mjc5OWE2Li5hZThlNTRjNzQ0MiAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvYmFja2VuZF9zdGF0dXMuYworKysg Yi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9iYWNrZW5kX3N0YXR1cy5jCkBAIC03OTUs MTEgKzc5NSwxMSBAQCBwZ3N0YXRfcmVhZF9jdXJyZW50X3N0YXR1cyh2b2lkKQogCQkJCSAq IHN0cmNweSBpcyBzYWZlIGV2ZW4gaWYgdGhlIHN0cmluZyBpcyBtb2RpZmllZCBjb25jdXJy ZW50bHksCiAJCQkJICogYmVjYXVzZSB0aGVyZSdzIGFsd2F5cyBhIFwwIGF0IHRoZSBlbmQg b2YgdGhlIGJ1ZmZlci4KIAkJCQkgKi8KLQkJCQlzdHJjcHkobG9jYWxhcHBuYW1lLCAoY2hh ciAqKSBiZWVudHJ5LT5zdF9hcHBuYW1lKTsKKwkJCQlzdHJjcHkobG9jYWxhcHBuYW1lLCBi ZWVudHJ5LT5zdF9hcHBuYW1lKTsKIAkJCQlsb2NhbGVudHJ5LT5iYWNrZW5kU3RhdHVzLnN0 X2FwcG5hbWUgPSBsb2NhbGFwcG5hbWU7Ci0JCQkJc3RyY3B5KGxvY2FsY2xpZW50aG9zdG5h bWUsIChjaGFyICopIGJlZW50cnktPnN0X2NsaWVudGhvc3RuYW1lKTsKKwkJCQlzdHJjcHko bG9jYWxjbGllbnRob3N0bmFtZSwgYmVlbnRyeS0+c3RfY2xpZW50aG9zdG5hbWUpOwogCQkJ CWxvY2FsZW50cnktPmJhY2tlbmRTdGF0dXMuc3RfY2xpZW50aG9zdG5hbWUgPSBsb2NhbGNs aWVudGhvc3RuYW1lOwotCQkJCXN0cmNweShsb2NhbGFjdGl2aXR5LCAoY2hhciAqKSBiZWVu dHJ5LT5zdF9hY3Rpdml0eV9yYXcpOworCQkJCXN0cmNweShsb2NhbGFjdGl2aXR5LCBiZWVu dHJ5LT5zdF9hY3Rpdml0eV9yYXcpOwogCQkJCWxvY2FsZW50cnktPmJhY2tlbmRTdGF0dXMu c3RfYWN0aXZpdHlfcmF3ID0gbG9jYWxhY3Rpdml0eTsKICNpZmRlZiBVU0VfU1NMCiAJCQkJ aWYgKGJlZW50cnktPnN0X3NzbCkKZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2VjcGcv cGd0eXBlc2xpYi9jb21tb24uYyBiL3NyYy9pbnRlcmZhY2VzL2VjcGcvcGd0eXBlc2xpYi9j b21tb24uYwppbmRleCA4OTcyMjI5Y2EyZi4uYzllOWE1NWM2YTcgMTAwNjQ0Ci0tLSBhL3Ny Yy9pbnRlcmZhY2VzL2VjcGcvcGd0eXBlc2xpYi9jb21tb24uYworKysgYi9zcmMvaW50ZXJm YWNlcy9lY3BnL3BndHlwZXNsaWIvY29tbW9uLmMKQEAgLTE5LDcgKzE5LDcgQEAgcGd0eXBl c19hbGxvYyhsb25nIHNpemUpCiBjaGFyICoKIHBndHlwZXNfc3RyZHVwKGNvbnN0IGNoYXIg KnN0cikKIHsKLQljaGFyCSAgICpuZXcgPSAoY2hhciAqKSBzdHJkdXAoc3RyKTsKKwljaGFy CSAgICpuZXcgPSBzdHJkdXAoc3RyKTsKIAogCWlmICghbmV3KQogCQllcnJubyA9IEVOT01F TTsKCmJhc2UtY29tbWl0OiBlZTQ2NjdmMDE4NGQ4N2EyZTU4ODIyZTZhOWVkYWQ1NjNmYTE2 NGZkCi0tIAoyLjQ4LjEKCg== --------------I3oyUgo30pfczihe9dmbqaUa Content-Type: text/plain; charset=UTF-8; name="0002-Remove-unnecessary-char-casts-mem.patch" Content-Disposition: attachment; filename="0002-Remove-unnecessary-char-casts-mem.patch" Content-Transfer-Encoding: base64 RnJvbSBlYTIzNDVjNmVlNTgxOTVjOGZiOWU4NDRhY2E1MWU2MzdkZGU3NDlhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogU3VuLCAyOSBTZXAgMjAyNCAwMDowODo0OCArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggMDIvMTBdIFJlbW92ZSB1bm5lY2Vzc2FyeSAoY2hhciAqKSBjYXN0cyBbbWVt XQoKUmVtb3ZlIChjaGFyICopIGNhc3RzIGFyb3VuZCBtZW1vcnkgZnVuY3Rpb25zIHN1Y2gg YXMgbWVtY21wKCksCm1lbWNweSgpLCBvciBtZW1zZXQoKSB3aGVyZSB0aGUgY2FzdCBpcyB1 c2VsZXNzLiAgU2luY2UgdGhlc2UKZnVuY3Rpb25zIGRvbid0IHRha2UgKGNoYXIgKikgYXJn dW1lbnRzIGFueXdheSwgdGhlc2UgY2FzdHMgYXJlIGF0CmJlc3QgY29tcGxpY2F0ZWQgY2Fz dHMgdG8gKHZvaWQgKiksIGFib3V0IHdoaWNoIHNlZSBjb21taXQKN2Y3OThhY2ExZDUuCi0t LQogY29udHJpYi9wZ190cmdtL3RyZ21fZ2lzdC5jICAgICAgICAgICAgICAgICB8ICA2ICsr Ky0tLQogY29udHJpYi94bWwyL3hwYXRoLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICA0 ICsrLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9jb21tb24vaGVhcHR1cGxlLmMgICAgICAgfCAg NiArKystLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL2hlYXBhbV94bG9nLmMgICAgICAg fCAxMiArKysrKystLS0tLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy90YWJsZS90b2FzdF9oZWxw ZXIuYyAgICAgfCAgMiArLQogc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jICAg ICAgICAgICB8ICAyICstCiBzcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9ncmVhZGVy LmMgICAgIHwgIDIgKy0KIHNyYy9iYWNrZW5kL2Jvb3RzdHJhcC9ib290c3RyYXAuYyAgICAg ICAgICAgfCAgNCArKy0tCiBzcmMvYmFja2VuZC9saWJwcS9iZS1zZWN1cmUtZ3NzYXBpLmMg ICAgICAgIHwgIDIgKy0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvZGVjb2Rl LmMgICAgfCAgOCArKy0tLS0tLQogc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvYnVmbWdy LmMgICAgICAgICB8ICAyICstCiBzcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZlci9sb2NhbGJ1 Zi5jICAgICAgIHwgIDIgKy0KIHNyYy9iYWNrZW5kL3N0b3JhZ2UvZmlsZS9mZC5jICAgICAg ICAgICAgICAgfCAgNCArKy0tCiBzcmMvYmFja2VuZC9zdG9yYWdlL3BhZ2UvYnVmcGFnZS5j ICAgICAgICAgIHwgIDggKysrKy0tLS0KIHNyYy9iYWNrZW5kL3Rjb3AvcG9zdGdyZXMuYyAg ICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9i YWNrZW5kX3N0YXR1cy5jIHwgIDQgKystLQogc3JjL2ludGVyZmFjZXMvZWNwZy9jb21wYXRs aWIvaW5mb3JtaXguYyAgICB8ICAyICstCiBzcmMvaW50ZXJmYWNlcy9lY3BnL2VjcGdsaWIv bWlzYy5jICAgICAgICAgIHwgMTQgKysrKysrKy0tLS0tLS0KIHNyYy9pbnRlcmZhY2VzL2xp YnBxL2ZlLWxvYmouYyAgICAgICAgICAgICAgfCAgMiArLQogc3JjL2ludGVyZmFjZXMvbGli cHEvZmUtc2VjdXJlLWdzc2FwaS5jICAgICB8ICAyICstCiAyMCBmaWxlcyBjaGFuZ2VkLCA0 NCBpbnNlcnRpb25zKCspLCA0OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9jb250cmli L3BnX3RyZ20vdHJnbV9naXN0LmMgYi9jb250cmliL3BnX3RyZ20vdHJnbV9naXN0LmMKaW5k ZXggN2Y0ODJmOTU4ZmQuLjE0Mjg1YTkxOWFkIDEwMDY0NAotLS0gYS9jb250cmliL3BnX3Ry Z20vdHJnbV9naXN0LmMKKysrIGIvY29udHJpYi9wZ190cmdtL3RyZ21fZ2lzdC5jCkBAIC0y MjgsNyArMjI4LDcgQEAgZ3RyZ21fY29uc2lzdGVudChQR19GVU5DVElPTl9BUkdTKQogCWlm IChjYWNoZSA9PSBOVUxMIHx8CiAJCWNhY2hlLT5zdHJhdGVneSAhPSBzdHJhdGVneSB8fAog CQlWQVJTSVpFKGNhY2hlLT5xdWVyeSkgIT0gcXVlcnlzaXplIHx8Ci0JCW1lbWNtcCgoY2hh ciAqKSBjYWNoZS0+cXVlcnksIChjaGFyICopIHF1ZXJ5LCBxdWVyeXNpemUpICE9IDApCisJ CW1lbWNtcChjYWNoZS0+cXVlcnksIHF1ZXJ5LCBxdWVyeXNpemUpICE9IDApCiAJewogCQln dHJnbV9jb25zaXN0ZW50X2NhY2hlICpuZXdjYWNoZTsKIAkJVHJnbVBhY2tlZEdyYXBoICpn cmFwaCA9IE5VTEw7CkBAIC0yODQsMTIgKzI4NCwxMiBAQCBndHJnbV9jb25zaXN0ZW50KFBH X0ZVTkNUSU9OX0FSR1MpCiAJCW5ld2NhY2hlLT5zdHJhdGVneSA9IHN0cmF0ZWd5OwogCQlu ZXdjYWNoZS0+cXVlcnkgPSAodGV4dCAqKQogCQkJKChjaGFyICopIG5ld2NhY2hlICsgTUFY QUxJR04oc2l6ZW9mKGd0cmdtX2NvbnNpc3RlbnRfY2FjaGUpKSk7Ci0JCW1lbWNweSgoY2hh ciAqKSBuZXdjYWNoZS0+cXVlcnksIChjaGFyICopIHF1ZXJ5LCBxdWVyeXNpemUpOworCQlt ZW1jcHkobmV3Y2FjaGUtPnF1ZXJ5LCBxdWVyeSwgcXVlcnlzaXplKTsKIAkJaWYgKHF0cmcp CiAJCXsKIAkJCW5ld2NhY2hlLT50cmlncmFtcyA9IChUUkdNICopCiAJCQkJKChjaGFyICop IG5ld2NhY2hlLT5xdWVyeSArIE1BWEFMSUdOKHF1ZXJ5c2l6ZSkpOwotCQkJbWVtY3B5KChj aGFyICopIG5ld2NhY2hlLT50cmlncmFtcywgKGNoYXIgKikgcXRyZywgcXRyZ3NpemUpOwor CQkJbWVtY3B5KChjaGFyICopIG5ld2NhY2hlLT50cmlncmFtcywgcXRyZywgcXRyZ3NpemUp OwogCQkJLyogcmVsZWFzZSBxdHJnIGluIGNhc2UgaXQgd2FzIG1hZGUgaW4gZm5fbWN4dCAq LwogCQkJcGZyZWUocXRyZyk7CiAJCX0KZGlmZiAtLWdpdCBhL2NvbnRyaWIveG1sMi94cGF0 aC5jIGIvY29udHJpYi94bWwyL3hwYXRoLmMKaW5kZXggZjdlM2Y0ODVmZTEuLjE5MTgwYjlh NmMyIDEwMDY0NAotLS0gYS9jb250cmliL3htbDIveHBhdGguYworKysgYi9jb250cmliL3ht bDIveHBhdGguYwpAQCAtMjc4LDggKzI3OCw4IEBAIHhwYXRoX3N0cmluZyhQR19GVU5DVElP Tl9BUkdTKQogCS8qIFdlIGNvdWxkIHRyeSBjYXN0aW5nIHRvIHN0cmluZyB1c2luZyB0aGUg bGlieG1sIGZ1bmN0aW9uPyAqLwogCiAJeHBhdGggPSAoeG1sQ2hhciAqKSBwYWxsb2MocGF0 aHNpemUgKyA5KTsKLQltZW1jcHkoKGNoYXIgKikgeHBhdGgsICJzdHJpbmcoIiwgNyk7Ci0J bWVtY3B5KChjaGFyICopICh4cGF0aCArIDcpLCBWQVJEQVRBX0FOWSh4cGF0aHN1cHApLCBw YXRoc2l6ZSk7CisJbWVtY3B5KHhwYXRoLCAic3RyaW5nKCIsIDcpOworCW1lbWNweSh4cGF0 aCArIDcsIFZBUkRBVEFfQU5ZKHhwYXRoc3VwcCksIHBhdGhzaXplKTsKIAl4cGF0aFtwYXRo c2l6ZSArIDddID0gJyknOwogCXhwYXRoW3BhdGhzaXplICsgOF0gPSAnXDAnOwogCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvY29tbW9uL2hlYXB0dXBsZS5jIGIvc3JjL2Jh Y2tlbmQvYWNjZXNzL2NvbW1vbi9oZWFwdHVwbGUuYwppbmRleCBiNDNjYjljY2ZmNC4uYWNk NWRhNGNjZjggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9jb21tb24vaGVhcHR1 cGxlLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2NvbW1vbi9oZWFwdHVwbGUuYwpAQCAt Nzg3LDcgKzc4Nyw3IEBAIGhlYXBfY29weXR1cGxlKEhlYXBUdXBsZSB0dXBsZSkKIAluZXdU dXBsZS0+dF9zZWxmID0gdHVwbGUtPnRfc2VsZjsKIAluZXdUdXBsZS0+dF90YWJsZU9pZCA9 IHR1cGxlLT50X3RhYmxlT2lkOwogCW5ld1R1cGxlLT50X2RhdGEgPSAoSGVhcFR1cGxlSGVh ZGVyKSAoKGNoYXIgKikgbmV3VHVwbGUgKyBIRUFQVFVQTEVTSVpFKTsKLQltZW1jcHkoKGNo YXIgKikgbmV3VHVwbGUtPnRfZGF0YSwgKGNoYXIgKikgdHVwbGUtPnRfZGF0YSwgdHVwbGUt PnRfbGVuKTsKKwltZW1jcHkobmV3VHVwbGUtPnRfZGF0YSwgdHVwbGUtPnRfZGF0YSwgdHVw bGUtPnRfbGVuKTsKIAlyZXR1cm4gbmV3VHVwbGU7CiB9CiAKQEAgLTgxMyw3ICs4MTMsNyBA QCBoZWFwX2NvcHl0dXBsZV93aXRoX3R1cGxlKEhlYXBUdXBsZSBzcmMsIEhlYXBUdXBsZSBk ZXN0KQogCWRlc3QtPnRfc2VsZiA9IHNyYy0+dF9zZWxmOwogCWRlc3QtPnRfdGFibGVPaWQg PSBzcmMtPnRfdGFibGVPaWQ7CiAJZGVzdC0+dF9kYXRhID0gKEhlYXBUdXBsZUhlYWRlcikg cGFsbG9jKHNyYy0+dF9sZW4pOwotCW1lbWNweSgoY2hhciAqKSBkZXN0LT50X2RhdGEsIChj aGFyICopIHNyYy0+dF9kYXRhLCBzcmMtPnRfbGVuKTsKKwltZW1jcHkoZGVzdC0+dF9kYXRh LCBzcmMtPnRfZGF0YSwgc3JjLT50X2xlbik7CiB9CiAKIC8qCkBAIC0xMDk3LDcgKzEwOTcs NyBAQCBoZWFwX2NvcHlfdHVwbGVfYXNfZGF0dW0oSGVhcFR1cGxlIHR1cGxlLCBUdXBsZURl c2MgdHVwbGVEZXNjKQogCSAqIHRoZSBnaXZlbiB0dXBsZSBjYW1lIGZyb20gZGlzaywgcmF0 aGVyIHRoYW4gZnJvbSBoZWFwX2Zvcm1fdHVwbGUpLgogCSAqLwogCXRkID0gKEhlYXBUdXBs ZUhlYWRlcikgcGFsbG9jKHR1cGxlLT50X2xlbik7Ci0JbWVtY3B5KChjaGFyICopIHRkLCAo Y2hhciAqKSB0dXBsZS0+dF9kYXRhLCB0dXBsZS0+dF9sZW4pOworCW1lbWNweSh0ZCwgdHVw bGUtPnRfZGF0YSwgdHVwbGUtPnRfbGVuKTsKIAogCUhlYXBUdXBsZUhlYWRlclNldERhdHVt TGVuZ3RoKHRkLCB0dXBsZS0+dF9sZW4pOwogCUhlYXBUdXBsZUhlYWRlclNldFR5cGVJZCh0 ZCwgdHVwbGVEZXNjLT50ZHR5cGVpZCk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nl c3MvaGVhcC9oZWFwYW1feGxvZy5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvaGVhcGFt X3hsb2cuYwppbmRleCA0NjlkMTFkNTkxMi4uMzBmNGMyZDNjNjcgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL2FjY2Vzcy9oZWFwL2hlYXBhbV94bG9nLmMKKysrIGIvc3JjL2JhY2tlbmQv YWNjZXNzL2hlYXAvaGVhcGFtX3hsb2cuYwpAQCAtNDgwLDExICs0ODAsMTEgQEAgaGVhcF94 bG9nX2luc2VydChYTG9nUmVhZGVyU3RhdGUgKnJlY29yZCkKIAogCQluZXdsZW4gPSBkYXRh bGVuIC0gU2l6ZU9mSGVhcEhlYWRlcjsKIAkJQXNzZXJ0KGRhdGFsZW4gPiBTaXplT2ZIZWFw SGVhZGVyICYmIG5ld2xlbiA8PSBNYXhIZWFwVHVwbGVTaXplKTsKLQkJbWVtY3B5KChjaGFy ICopICZ4bGhkciwgZGF0YSwgU2l6ZU9mSGVhcEhlYWRlcik7CisJCW1lbWNweSgmeGxoZHIs IGRhdGEsIFNpemVPZkhlYXBIZWFkZXIpOwogCQlkYXRhICs9IFNpemVPZkhlYXBIZWFkZXI7 CiAKIAkJaHR1cCA9ICZ0YnVmLmhkcjsKLQkJTWVtU2V0KChjaGFyICopIGh0dXAsIDAsIFNp emVvZkhlYXBUdXBsZUhlYWRlcik7CisJCU1lbVNldChodHVwLCAwLCBTaXplb2ZIZWFwVHVw bGVIZWFkZXIpOwogCQkvKiBQRzczRk9STUFUOiBnZXQgYml0bWFwIFsrIHBhZGRpbmddIFsr IG9pZF0gKyBkYXRhICovCiAJCW1lbWNweSgoY2hhciAqKSBodHVwICsgU2l6ZW9mSGVhcFR1 cGxlSGVhZGVyLAogCQkJICAgZGF0YSwKQEAgLTYyNSwxMCArNjI1LDEwIEBAIGhlYXBfeGxv Z19tdWx0aV9pbnNlcnQoWExvZ1JlYWRlclN0YXRlICpyZWNvcmQpCiAJCQluZXdsZW4gPSB4 bGhkci0+ZGF0YWxlbjsKIAkJCUFzc2VydChuZXdsZW4gPD0gTWF4SGVhcFR1cGxlU2l6ZSk7 CiAJCQlodHVwID0gJnRidWYuaGRyOwotCQkJTWVtU2V0KChjaGFyICopIGh0dXAsIDAsIFNp emVvZkhlYXBUdXBsZUhlYWRlcik7CisJCQlNZW1TZXQoaHR1cCwgMCwgU2l6ZW9mSGVhcFR1 cGxlSGVhZGVyKTsKIAkJCS8qIFBHNzNGT1JNQVQ6IGdldCBiaXRtYXAgWysgcGFkZGluZ10g Wysgb2lkXSArIGRhdGEgKi8KIAkJCW1lbWNweSgoY2hhciAqKSBodHVwICsgU2l6ZW9mSGVh cFR1cGxlSGVhZGVyLAotCQkJCSAgIChjaGFyICopIHR1cGRhdGEsCisJCQkJICAgdHVwZGF0 YSwKIAkJCQkgICBuZXdsZW4pOwogCQkJdHVwZGF0YSArPSBuZXdsZW47CiAKQEAgLTg1NCwx NCArODU0LDE0IEBAIGhlYXBfeGxvZ191cGRhdGUoWExvZ1JlYWRlclN0YXRlICpyZWNvcmQs IGJvb2wgaG90X3VwZGF0ZSkKIAkJCXJlY2RhdGEgKz0gc2l6ZW9mKHVpbnQxNik7CiAJCX0K IAotCQltZW1jcHkoKGNoYXIgKikgJnhsaGRyLCByZWNkYXRhLCBTaXplT2ZIZWFwSGVhZGVy KTsKKwkJbWVtY3B5KCZ4bGhkciwgcmVjZGF0YSwgU2l6ZU9mSGVhcEhlYWRlcik7CiAJCXJl Y2RhdGEgKz0gU2l6ZU9mSGVhcEhlYWRlcjsKIAogCQl0dXBsZW4gPSByZWNkYXRhX2VuZCAt IHJlY2RhdGE7CiAJCUFzc2VydCh0dXBsZW4gPD0gTWF4SGVhcFR1cGxlU2l6ZSk7CiAKIAkJ aHR1cCA9ICZ0YnVmLmhkcjsKLQkJTWVtU2V0KChjaGFyICopIGh0dXAsIDAsIFNpemVvZkhl YXBUdXBsZUhlYWRlcik7CisJCU1lbVNldChodHVwLCAwLCBTaXplb2ZIZWFwVHVwbGVIZWFk ZXIpOwogCiAJCS8qCiAJCSAqIFJlY29uc3RydWN0IHRoZSBuZXcgdHVwbGUgdXNpbmcgdGhl IHByZWZpeCBhbmQvb3Igc3VmZml4IGZyb20gdGhlCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9hY2Nlc3MvdGFibGUvdG9hc3RfaGVscGVyLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdGFi bGUvdG9hc3RfaGVscGVyLmMKaW5kZXggYzYzMDUyZjk2ZWIuLmI2MGZhYjBhNGQyIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvdGFibGUvdG9hc3RfaGVscGVyLmMKKysrIGIv c3JjL2JhY2tlbmQvYWNjZXNzL3RhYmxlL3RvYXN0X2hlbHBlci5jCkBAIC03NSw3ICs3NSw3 IEBAIHRvYXN0X3R1cGxlX2luaXQoVG9hc3RUdXBsZUNvbnRleHQgKnR0YykKIAkJCXsKIAkJ CQlpZiAodHRjLT50dGNfaXNudWxsW2ldIHx8CiAJCQkJCSFWQVJBVFRfSVNfRVhURVJOQUxf T05ESVNLKG5ld192YWx1ZSkgfHwKLQkJCQkJbWVtY21wKChjaGFyICopIG9sZF92YWx1ZSwg KGNoYXIgKikgbmV3X3ZhbHVlLAorCQkJCQltZW1jbXAob2xkX3ZhbHVlLCBuZXdfdmFsdWUs CiAJCQkJCQkgICBWQVJTSVpFX0VYVEVSTkFMKG9sZF92YWx1ZSkpICE9IDApCiAJCQkJewog CQkJCQkvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5j IGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jCmluZGV4IDljMjcwZTdkNDY2 Li5mZDM4OTU2NTEyMyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0v eGxvZy5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2cuYwpAQCAtMjA4 OSw3ICsyMDg5LDcgQEAgQWR2YW5jZVhMSW5zZXJ0QnVmZmVyKFhMb2dSZWNQdHIgdXB0bywg VGltZUxpbmVJRCB0bGksIGJvb2wgb3Bwb3J0dW5pc3RpYykKIAkJICogQmUgc3VyZSB0byBy ZS16ZXJvIHRoZSBidWZmZXIgc28gdGhhdCBieXRlcyBiZXlvbmQgd2hhdCB3ZSd2ZQogCQkg KiB3cml0dGVuIHdpbGwgbG9vayBsaWtlIHplcm9lcyBhbmQgbm90IHZhbGlkIFhMT0cgcmVj b3Jkcy4uLgogCQkgKi8KLQkJTWVtU2V0KChjaGFyICopIE5ld1BhZ2UsIDAsIFhMT0dfQkxD S1NaKTsKKwkJTWVtU2V0KE5ld1BhZ2UsIDAsIFhMT0dfQkxDS1NaKTsKIAogCQkvKgogCQkg KiBGaWxsIHRoZSBuZXcgcGFnZSdzIGhlYWRlcgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv YWNjZXNzL3RyYW5zYW0veGxvZ3JlYWRlci5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5z YW0veGxvZ3JlYWRlci5jCmluZGV4IDZjZjVlZjkwYmUwLi4zMWJmZmM2ZjUwMSAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZ3JlYWRlci5jCisrKyBiL3Ny Yy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2dyZWFkZXIuYwpAQCAtNzk0LDcgKzc5NCw3 IEBAIFhMb2dEZWNvZGVOZXh0UmVjb3JkKFhMb2dSZWFkZXJTdGF0ZSAqc3RhdGUsIGJvb2wg bm9uYmxvY2tpbmcpCiAJCQkJcmVhZE9mZiA9IFJlYWRQYWdlSW50ZXJuYWwoc3RhdGUsIHRh cmdldFBhZ2VQdHIsCiAJCQkJCQkJCQkJICAgcGFnZUhlYWRlclNpemUgKyBsZW4pOwogCi0J CQltZW1jcHkoYnVmZmVyLCAoY2hhciAqKSBjb250ZGF0YSwgbGVuKTsKKwkJCW1lbWNweShi dWZmZXIsIGNvbnRkYXRhLCBsZW4pOwogCQkJYnVmZmVyICs9IGxlbjsKIAkJCWdvdGxlbiAr PSBsZW47CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2Jvb3RzdHJhcC9ib290c3RyYXAu YyBiL3NyYy9iYWNrZW5kL2Jvb3RzdHJhcC9ib290c3RyYXAuYwppbmRleCAzNTlmNThhOGY5 NS4uNmRiODY0ODkyZDAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Jvb3RzdHJhcC9ib290 c3RyYXAuYworKysgYi9zcmMvYmFja2VuZC9ib290c3RyYXAvYm9vdHN0cmFwLmMKQEAgLTQ2 Myw4ICs0NjMsOCBAQCBib290X29wZW5yZWwoY2hhciAqcmVsbmFtZSkKIAl7CiAJCWlmIChh dHRydHlwZXNbaV0gPT0gTlVMTCkKIAkJCWF0dHJ0eXBlc1tpXSA9IEFsbG9jYXRlQXR0cmli dXRlKCk7Ci0JCW1lbW1vdmUoKGNoYXIgKikgYXR0cnR5cGVzW2ldLAotCQkJCShjaGFyICop IFR1cGxlRGVzY0F0dHIoYm9vdF9yZWxkZXNjLT5yZF9hdHQsIGkpLAorCQltZW1tb3ZlKGF0 dHJ0eXBlc1tpXSwKKwkJCQlUdXBsZURlc2NBdHRyKGJvb3RfcmVsZGVzYy0+cmRfYXR0LCBp KSwKIAkJCQlBVFRSSUJVVEVfRklYRURfUEFSVF9TSVpFKTsKIAogCQl7CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9saWJwcS9iZS1zZWN1cmUtZ3NzYXBpLmMgYi9zcmMvYmFja2VuZC9s aWJwcS9iZS1zZWN1cmUtZ3NzYXBpLmMKaW5kZXggYmNiNzUwZTI0MWEuLjEzZTVjYjBjODEx IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9saWJwcS9iZS1zZWN1cmUtZ3NzYXBpLmMKKysr IGIvc3JjL2JhY2tlbmQvbGlicHEvYmUtc2VjdXJlLWdzc2FwaS5jCkBAIC02NDEsNyArNjQx LDcgQEAgc2VjdXJlX29wZW5fZ3NzYXBpKFBvcnQgKnBvcnQpCiAJCQkJcmV0dXJuIC0xOwog CQkJfQogCi0JCQltZW1jcHkoUHFHU1NTZW5kQnVmZmVyLCAoY2hhciAqKSAmbmV0bGVuLCBz aXplb2YodWludDMyKSk7CisJCQltZW1jcHkoUHFHU1NTZW5kQnVmZmVyLCAmbmV0bGVuLCBz aXplb2YodWludDMyKSk7CiAJCQlQcUdTU1NlbmRMZW5ndGggKz0gc2l6ZW9mKHVpbnQzMik7 CiAKIAkJCW1lbWNweShQcUdTU1NlbmRCdWZmZXIgKyBQcUdTU1NlbmRMZW5ndGgsIG91dHB1 dC52YWx1ZSwgb3V0cHV0Lmxlbmd0aCk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBs aWNhdGlvbi9sb2dpY2FsL2RlY29kZS5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9n aWNhbC9kZWNvZGUuYwppbmRleCAwYmZmMGYxMDY1Mi4uMjRkODhmMzY4ZDggMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvZGVjb2RlLmMKKysrIGIvc3Jj L2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9kZWNvZGUuYwpAQCAtMTE3Nyw5ICsxMTc3 LDcgQEAgRGVjb2RlTXVsdGlJbnNlcnQoTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4LCBY TG9nUmVjb3JkQnVmZmVyICpidWYpCiAKIAkJbWVtc2V0KGhlYWRlciwgMCwgU2l6ZW9mSGVh cFR1cGxlSGVhZGVyKTsKIAotCQltZW1jcHkoKGNoYXIgKikgdHVwbGUtPnRfZGF0YSArIFNp emVvZkhlYXBUdXBsZUhlYWRlciwKLQkJCSAgIChjaGFyICopIGRhdGEsCi0JCQkgICBkYXRh bGVuKTsKKwkJbWVtY3B5KChjaGFyICopIHR1cGxlLT50X2RhdGEgKyBTaXplb2ZIZWFwVHVw bGVIZWFkZXIsIGRhdGEsIGRhdGFsZW4pOwogCQloZWFkZXItPnRfaW5mb21hc2sgPSB4bGhk ci0+dF9pbmZvbWFzazsKIAkJaGVhZGVyLT50X2luZm9tYXNrMiA9IHhsaGRyLT50X2luZm9t YXNrMjsKIAkJaGVhZGVyLT50X2hvZmYgPSB4bGhkci0+dF9ob2ZmOwpAQCAtMTI2NSw5ICsx MjYzLDcgQEAgRGVjb2RlWExvZ1R1cGxlKGNoYXIgKmRhdGEsIFNpemUgbGVuLCBIZWFwVHVw bGUgdHVwbGUpCiAJdHVwbGUtPnRfdGFibGVPaWQgPSBJbnZhbGlkT2lkOwogCiAJLyogZGF0 YSBpcyBub3Qgc3RvcmVkIGFsaWduZWQsIGNvcHkgdG8gYWxpZ25lZCBzdG9yYWdlICovCi0J bWVtY3B5KChjaGFyICopICZ4bGhkciwKLQkJICAgZGF0YSwKLQkJICAgU2l6ZU9mSGVhcEhl YWRlcik7CisJbWVtY3B5KCZ4bGhkciwgZGF0YSwgU2l6ZU9mSGVhcEhlYWRlcik7CiAKIAlt ZW1zZXQoaGVhZGVyLCAwLCBTaXplb2ZIZWFwVHVwbGVIZWFkZXIpOwogCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZlci9idWZtZ3IuYyBiL3NyYy9iYWNrZW5kL3N0 b3JhZ2UvYnVmZmVyL2J1Zm1nci5jCmluZGV4IGVlODM2Njk5OTJiLi5iNTkzOGYxYjQ3MyAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvYnVmbWdyLmMKKysrIGIv c3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvYnVmbWdyLmMKQEAgLTIyMjEsNyArMjIyMSw3 IEBAIEV4dGVuZEJ1ZmZlcmVkUmVsU2hhcmVkKEJ1ZmZlck1hbmFnZXJSZWxhdGlvbiBibXIs CiAJCWJ1Zl9ibG9jayA9IEJ1ZkhkckdldEJsb2NrKEdldEJ1ZmZlckRlc2NyaXB0b3IoYnVm ZmVyc1tpXSAtIDEpKTsKIAogCQkvKiBuZXcgYnVmZmVycyBhcmUgemVyby1maWxsZWQgKi8K LQkJTWVtU2V0KChjaGFyICopIGJ1Zl9ibG9jaywgMCwgQkxDS1NaKTsKKwkJTWVtU2V0KGJ1 Zl9ibG9jaywgMCwgQkxDS1NaKTsKIAl9CiAKIAkvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvc3RvcmFnZS9idWZmZXIvbG9jYWxidWYuYyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYnVm ZmVyL2xvY2FsYnVmLmMKaW5kZXggOGY4MTQyODk3MGIuLjY0OTMxZWZhYTc1IDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZlci9sb2NhbGJ1Zi5jCisrKyBiL3NyYy9i YWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2xvY2FsYnVmLmMKQEAgLTMzOCw3ICszMzgsNyBAQCBF eHRlbmRCdWZmZXJlZFJlbExvY2FsKEJ1ZmZlck1hbmFnZXJSZWxhdGlvbiBibXIsCiAJCWJ1 Zl9ibG9jayA9IExvY2FsQnVmSGRyR2V0QmxvY2soYnVmX2hkcik7CiAKIAkJLyogbmV3IGJ1 ZmZlcnMgYXJlIHplcm8tZmlsbGVkICovCi0JCU1lbVNldCgoY2hhciAqKSBidWZfYmxvY2ss IDAsIEJMQ0tTWik7CisJCU1lbVNldChidWZfYmxvY2ssIDAsIEJMQ0tTWik7CiAJfQogCiAJ Zmlyc3RfYmxvY2sgPSBzbWdybmJsb2NrcyhibXIuc21nciwgZm9yayk7CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9zdG9yYWdlL2ZpbGUvZmQuYyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2Uv ZmlsZS9mZC5jCmluZGV4IDg0M2QxMDIxY2Y5Li5lNDU0ZGI0YzAyMCAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvc3RvcmFnZS9maWxlL2ZkLmMKKysrIGIvc3JjL2JhY2tlbmQvc3RvcmFn ZS9maWxlL2ZkLmMKQEAgLTkxMCw3ICs5MTAsNyBAQCBJbml0RmlsZUFjY2Vzcyh2b2lkKQog CQkJCShlcnJjb2RlKEVSUkNPREVfT1VUX09GX01FTU9SWSksCiAJCQkJIGVycm1zZygib3V0 IG9mIG1lbW9yeSIpKSk7CiAKLQlNZW1TZXQoKGNoYXIgKikgJihWZmRDYWNoZVswXSksIDAs IHNpemVvZihWZmQpKTsKKwlNZW1TZXQoJihWZmRDYWNoZVswXSksIDAsIHNpemVvZihWZmQp KTsKIAlWZmRDYWNoZS0+ZmQgPSBWRkRfQ0xPU0VEOwogCiAJU2l6ZVZmZENhY2hlID0gMTsK QEAgLTE0NDcsNyArMTQ0Nyw3IEBAIEFsbG9jYXRlVmZkKHZvaWQpCiAJCSAqLwogCQlmb3Ig KGkgPSBTaXplVmZkQ2FjaGU7IGkgPCBuZXdDYWNoZVNpemU7IGkrKykKIAkJewotCQkJTWVt U2V0KChjaGFyICopICYoVmZkQ2FjaGVbaV0pLCAwLCBzaXplb2YoVmZkKSk7CisJCQlNZW1T ZXQoJihWZmRDYWNoZVtpXSksIDAsIHNpemVvZihWZmQpKTsKIAkJCVZmZENhY2hlW2ldLm5l eHRGcmVlID0gaSArIDE7CiAJCQlWZmRDYWNoZVtpXS5mZCA9IFZGRF9DTE9TRUQ7CiAJCX0K ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvcGFnZS9idWZwYWdlLmMgYi9zcmMv YmFja2VuZC9zdG9yYWdlL3BhZ2UvYnVmcGFnZS5jCmluZGV4IGE5MzFjZGJhMTUxLi40MjRk ZDNmNGJmYiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9wYWdlL2J1ZnBhZ2Uu YworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL3BhZ2UvYnVmcGFnZS5jCkBAIC00MTUsNyAr NDE1LDcgQEAgUGFnZVJlc3RvcmVUZW1wUGFnZShQYWdlIHRlbXBQYWdlLCBQYWdlIG9sZFBh Z2UpCiAJU2l6ZQkJcGFnZVNpemU7CiAKIAlwYWdlU2l6ZSA9IFBhZ2VHZXRQYWdlU2l6ZSh0 ZW1wUGFnZSk7Ci0JbWVtY3B5KChjaGFyICopIG9sZFBhZ2UsIChjaGFyICopIHRlbXBQYWdl LCBwYWdlU2l6ZSk7CisJbWVtY3B5KG9sZFBhZ2UsIHRlbXBQYWdlLCBwYWdlU2l6ZSk7CiAK IAlwZnJlZSh0ZW1wUGFnZSk7CiB9CkBAIC0xMDk0LDggKzEwOTQsOCBAQCBQYWdlSW5kZXhU dXBsZURlbGV0ZShQYWdlIHBhZ2UsIE9mZnNldE51bWJlciBvZmZudW0pCiAJCSgoY2hhciAq KSAmcGhkci0+cGRfbGlucFtvZmZpZHggKyAxXSAtIChjaGFyICopIHBoZHIpOwogCiAJaWYg KG5ieXRlcyA+IDApCi0JCW1lbW1vdmUoKGNoYXIgKikgJihwaGRyLT5wZF9saW5wW29mZmlk eF0pLAotCQkJCShjaGFyICopICYocGhkci0+cGRfbGlucFtvZmZpZHggKyAxXSksCisJCW1l bW1vdmUoJihwaGRyLT5wZF9saW5wW29mZmlkeF0pLAorCQkJCSYocGhkci0+cGRfbGlucFtv ZmZpZHggKyAxXSksCiAJCQkJbmJ5dGVzKTsKIAogCS8qCkBAIC0xNTE2LDcgKzE1MTYsNyBA QCBQYWdlU2V0Q2hlY2tzdW1Db3B5KFBhZ2UgcGFnZSwgQmxvY2tOdW1iZXIgYmxrbm8pCiAJ CQkJCQkJCQkJCSBQR19JT19BTElHTl9TSVpFLAogCQkJCQkJCQkJCQkgMCk7CiAKLQltZW1j cHkocGFnZUNvcHksIChjaGFyICopIHBhZ2UsIEJMQ0tTWik7CisJbWVtY3B5KHBhZ2VDb3B5 LCBwYWdlLCBCTENLU1opOwogCSgoUGFnZUhlYWRlcikgcGFnZUNvcHkpLT5wZF9jaGVja3N1 bSA9IHBnX2NoZWNrc3VtX3BhZ2UocGFnZUNvcHksIGJsa25vKTsKIAlyZXR1cm4gcGFnZUNv cHk7CiB9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC90Y29wL3Bvc3RncmVzLmMgYi9zcmMv YmFja2VuZC90Y29wL3Bvc3RncmVzLmMKaW5kZXggNTY1NTM0OGEyZTIuLjExNDlkODlkN2Ex IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC90Y29wL3Bvc3RncmVzLmMKKysrIGIvc3JjL2Jh Y2tlbmQvdGNvcC9wb3N0Z3Jlcy5jCkBAIC00OTkxLDggKzQ5OTEsOCBAQCBTaG93VXNhZ2Uo Y29uc3QgY2hhciAqdGl0bGUpCiAKIAlnZXRydXNhZ2UoUlVTQUdFX1NFTEYsICZyKTsKIAln ZXR0aW1lb2ZkYXkoJmVsYXBzZV90LCBOVUxMKTsKLQltZW1jcHkoKGNoYXIgKikgJnVzZXIs IChjaGFyICopICZyLnJ1X3V0aW1lLCBzaXplb2YodXNlcikpOwotCW1lbWNweSgoY2hhciAq KSAmc3lzLCAoY2hhciAqKSAmci5ydV9zdGltZSwgc2l6ZW9mKHN5cykpOworCW1lbWNweSgm dXNlciwgJnIucnVfdXRpbWUsIHNpemVvZih1c2VyKSk7CisJbWVtY3B5KCZzeXMsICZyLnJ1 X3N0aW1lLCBzaXplb2Yoc3lzKSk7CiAJaWYgKGVsYXBzZV90LnR2X3VzZWMgPCBTYXZlX3Qu dHZfdXNlYykKIAl7CiAJCWVsYXBzZV90LnR2X3NlYy0tOwpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvdXRpbHMvYWN0aXZpdHkvYmFja2VuZF9zdGF0dXMuYyBiL3NyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L2JhY2tlbmRfc3RhdHVzLmMKaW5kZXggYWU4ZTU0Yzc0NDIuLjVmNjhl ZjI2YWRjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9iYWNrZW5k X3N0YXR1cy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L2JhY2tlbmRfc3Rh dHVzLmMKQEAgLTU5Nyw3ICs1OTcsNyBAQCBwZ3N0YXRfcmVwb3J0X2FjdGl2aXR5KEJhY2tl bmRTdGF0ZSBzdGF0ZSwgY29uc3QgY2hhciAqY21kX3N0cikKIAogCWlmIChjbWRfc3RyICE9 IE5VTEwpCiAJewotCQltZW1jcHkoKGNoYXIgKikgYmVlbnRyeS0+c3RfYWN0aXZpdHlfcmF3 LCBjbWRfc3RyLCBsZW4pOworCQltZW1jcHkoYmVlbnRyeS0+c3RfYWN0aXZpdHlfcmF3LCBj bWRfc3RyLCBsZW4pOwogCQliZWVudHJ5LT5zdF9hY3Rpdml0eV9yYXdbbGVuXSA9ICdcMCc7 CiAJCWJlZW50cnktPnN0X2FjdGl2aXR5X3N0YXJ0X3RpbWVzdGFtcCA9IHN0YXJ0X3RpbWVz dGFtcDsKIAl9CkBAIC02NzAsNyArNjcwLDcgQEAgcGdzdGF0X3JlcG9ydF9hcHBuYW1lKGNv bnN0IGNoYXIgKmFwcG5hbWUpCiAJICovCiAJUEdTVEFUX0JFR0lOX1dSSVRFX0FDVElWSVRZ KGJlZW50cnkpOwogCi0JbWVtY3B5KChjaGFyICopIGJlZW50cnktPnN0X2FwcG5hbWUsIGFw cG5hbWUsIGxlbik7CisJbWVtY3B5KGJlZW50cnktPnN0X2FwcG5hbWUsIGFwcG5hbWUsIGxl bik7CiAJYmVlbnRyeS0+c3RfYXBwbmFtZVtsZW5dID0gJ1wwJzsKIAogCVBHU1RBVF9FTkRf V1JJVEVfQUNUSVZJVFkoYmVlbnRyeSk7CmRpZmYgLS1naXQgYS9zcmMvaW50ZXJmYWNlcy9l Y3BnL2NvbXBhdGxpYi9pbmZvcm1peC5jIGIvc3JjL2ludGVyZmFjZXMvZWNwZy9jb21wYXRs aWIvaW5mb3JtaXguYwppbmRleCA2NWEwYjJlNDZjNC4uZTgyOWQ3MjJmMjIgMTAwNjQ0Ci0t LSBhL3NyYy9pbnRlcmZhY2VzL2VjcGcvY29tcGF0bGliL2luZm9ybWl4LmMKKysrIGIvc3Jj L2ludGVyZmFjZXMvZWNwZy9jb21wYXRsaWIvaW5mb3JtaXguYwpAQCAtMTAzNSw3ICsxMDM1 LDcgQEAgRUNQR19pbmZvcm1peF9yZXNldF9zcWxjYSh2b2lkKQogCWlmIChzcWxjYSA9PSBO VUxMKQogCQlyZXR1cm47CiAKLQltZW1jcHkoKGNoYXIgKikgc3FsY2EsIChjaGFyICopICZz cWxjYV9pbml0LCBzaXplb2Yoc3RydWN0IHNxbGNhX3QpKTsKKwltZW1jcHkoc3FsY2EsICZz cWxjYV9pbml0LCBzaXplb2Yoc3RydWN0IHNxbGNhX3QpKTsKIH0KIAogaW50CmRpZmYgLS1n aXQgYS9zcmMvaW50ZXJmYWNlcy9lY3BnL2VjcGdsaWIvbWlzYy5jIGIvc3JjL2ludGVyZmFj ZXMvZWNwZy9lY3BnbGliL21pc2MuYwppbmRleCA4YjM4YzNlY2NmZC4uMTg4NTczMmE2NTIg MTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2VjcGcvZWNwZ2xpYi9taXNjLmMKKysrIGIv c3JjL2ludGVyZmFjZXMvZWNwZy9lY3BnbGliL21pc2MuYwpAQCAtNjYsNyArNjYsNyBAQCBz dGF0aWMgRklMRSAqZGVidWdzdHJlYW0gPSBOVUxMOwogdm9pZAogZWNwZ19pbml0X3NxbGNh KHN0cnVjdCBzcWxjYV90ICpzcWxjYSkKIHsKLQltZW1jcHkoKGNoYXIgKikgc3FsY2EsIChj aGFyICopICZzcWxjYV9pbml0LCBzaXplb2Yoc3RydWN0IHNxbGNhX3QpKTsKKwltZW1jcHko c3FsY2EsICZzcWxjYV9pbml0LCBzaXplb2Yoc3RydWN0IHNxbGNhX3QpKTsKIH0KIAogYm9v bApAQCAtMzE2LDEwICszMTYsMTAgQEAgRUNQR3NldF9ub2luZF9udWxsKGVudW0gRUNQR3R0 eXBlIHR5cGUsIHZvaWQgKnB0cikKIAkJCSooKGxvbmcgbG9uZyAqKSBwdHIpID0gTE9OR19M T05HX01JTjsKIAkJCWJyZWFrOwogCQljYXNlIEVDUEd0X2Zsb2F0OgotCQkJbWVtc2V0KChj aGFyICopIHB0ciwgMHhmZiwgc2l6ZW9mKGZsb2F0KSk7CisJCQltZW1zZXQocHRyLCAweGZm LCBzaXplb2YoZmxvYXQpKTsKIAkJCWJyZWFrOwogCQljYXNlIEVDUEd0X2RvdWJsZToKLQkJ CW1lbXNldCgoY2hhciAqKSBwdHIsIDB4ZmYsIHNpemVvZihkb3VibGUpKTsKKwkJCW1lbXNl dChwdHIsIDB4ZmYsIHNpemVvZihkb3VibGUpKTsKIAkJCWJyZWFrOwogCQljYXNlIEVDUEd0 X3ZhcmNoYXI6CiAJCQkqKCgoc3RydWN0IEVDUEdnZW5lcmljX3ZhcmNoYXIgKikgcHRyKS0+ YXJyKSA9IDB4MDA7CkBAIC0zMjksMTggKzMyOSwxOCBAQCBFQ1BHc2V0X25vaW5kX251bGwo ZW51bSBFQ1BHdHR5cGUgdHlwZSwgdm9pZCAqcHRyKQogCQkJKChzdHJ1Y3QgRUNQR2dlbmVy aWNfYnl0ZWEgKikgcHRyKS0+bGVuID0gMDsKIAkJCWJyZWFrOwogCQljYXNlIEVDUEd0X2Rl Y2ltYWw6Ci0JCQltZW1zZXQoKGNoYXIgKikgcHRyLCAwLCBzaXplb2YoZGVjaW1hbCkpOwor CQkJbWVtc2V0KHB0ciwgMCwgc2l6ZW9mKGRlY2ltYWwpKTsKIAkJCSgoZGVjaW1hbCAqKSBw dHIpLT5zaWduID0gTlVNRVJJQ19OVUxMOwogCQkJYnJlYWs7CiAJCWNhc2UgRUNQR3RfbnVt ZXJpYzoKLQkJCW1lbXNldCgoY2hhciAqKSBwdHIsIDAsIHNpemVvZihudW1lcmljKSk7CisJ CQltZW1zZXQocHRyLCAwLCBzaXplb2YobnVtZXJpYykpOwogCQkJKChudW1lcmljICopIHB0 ciktPnNpZ24gPSBOVU1FUklDX05VTEw7CiAJCQlicmVhazsKIAkJY2FzZSBFQ1BHdF9pbnRl cnZhbDoKLQkJCW1lbXNldCgoY2hhciAqKSBwdHIsIDB4ZmYsIHNpemVvZihpbnRlcnZhbCkp OworCQkJbWVtc2V0KHB0ciwgMHhmZiwgc2l6ZW9mKGludGVydmFsKSk7CiAJCQlicmVhazsK IAkJY2FzZSBFQ1BHdF90aW1lc3RhbXA6Ci0JCQltZW1zZXQoKGNoYXIgKikgcHRyLCAweGZm LCBzaXplb2YodGltZXN0YW1wKSk7CisJCQltZW1zZXQocHRyLCAweGZmLCBzaXplb2YodGlt ZXN0YW1wKSk7CiAJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCWJyZWFrOwpkaWZmIC0tZ2l0 IGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtbG9iai5jIGIvc3JjL2ludGVyZmFjZXMvbGli cHEvZmUtbG9iai5jCmluZGV4IDQ1ZWRiYWU2NzE3Li4wNGIzYWVmODg1NCAxMDA2NDQKLS0t IGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtbG9iai5jCisrKyBiL3NyYy9pbnRlcmZhY2Vz L2xpYnBxL2ZlLWxvYmouYwpAQCAtODcwLDcgKzg3MCw3IEBAIGxvX2luaXRpYWxpemUoUEdj b25uICpjb25uKQogCQlsaWJwcV9hcHBlbmRfY29ubl9lcnJvcihjb25uLCAib3V0IG9mIG1l bW9yeSIpOwogCQlyZXR1cm4gLTE7CiAJfQotCU1lbVNldCgoY2hhciAqKSBsb2JqZnVuY3Ms IDAsIHNpemVvZihQR2xvYmpmdW5jcykpOworCU1lbVNldChsb2JqZnVuY3MsIDAsIHNpemVv ZihQR2xvYmpmdW5jcykpOwogCiAJLyoKIAkgKiBFeGVjdXRlIHRoZSBxdWVyeSB0byBnZXQg YWxsIHRoZSBmdW5jdGlvbnMgYXQgb25jZS4gIChOb3QgYWxsIG9mIHRoZW0KZGlmZiAtLWdp dCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLXNlY3VyZS1nc3NhcGkuYyBiL3NyYy9pbnRl cmZhY2VzL2xpYnBxL2ZlLXNlY3VyZS1nc3NhcGkuYwppbmRleCAxOTBhODg5NGZmMC4uY2Ux ODNiYzA0YjQgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLXNlY3VyZS1n c3NhcGkuYworKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1zZWN1cmUtZ3NzYXBpLmMK QEAgLTY5OCw3ICs2OTgsNyBAQCBwcXNlY3VyZV9vcGVuX2dzcyhQR2Nvbm4gKmNvbm4pCiAJ LyogUXVldWUgdGhlIHRva2VuIGZvciB3cml0aW5nICovCiAJbmV0bGVuID0gcGdfaHRvbjMy KG91dHB1dC5sZW5ndGgpOwogCi0JbWVtY3B5KFBxR1NTU2VuZEJ1ZmZlciwgKGNoYXIgKikg Jm5ldGxlbiwgc2l6ZW9mKHVpbnQzMikpOworCW1lbWNweShQcUdTU1NlbmRCdWZmZXIsICZu ZXRsZW4sIHNpemVvZih1aW50MzIpKTsKIAlQcUdTU1NlbmRMZW5ndGggKz0gc2l6ZW9mKHVp bnQzMik7CiAKIAltZW1jcHkoUHFHU1NTZW5kQnVmZmVyICsgUHFHU1NTZW5kTGVuZ3RoLCBv dXRwdXQudmFsdWUsIG91dHB1dC5sZW5ndGgpOwotLSAKMi40OC4xCgo= --------------I3oyUgo30pfczihe9dmbqaUa Content-Type: text/plain; charset=UTF-8; name="0003-Remove-unnecessary-char-casts-checksum.patch" Content-Disposition: attachment; filename="0003-Remove-unnecessary-char-casts-checksum.patch" Content-Transfer-Encoding: base64 RnJvbSA0MjBjYWRmNTlkMzUzMjcxNTlmOThkMzk1NGYyOGViZjAyYThiZDczIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVHVlLCAyNCBTZXAgMjAyNCAxMjoyMDozOCArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggMDMvMTBdIFJlbW92ZSB1bm5lY2Vzc2FyeSAoY2hhciAqKSBjYXN0cyBbY2hl Y2tzdW1dCgpSZW1vdmUgc29tZSAoY2hhciAqKSBjYXN0cyByZWxhdGVkIHRvIHVzZXMgb2Yg dGhlIHBnX2NoZWNrc3VtX3BhZ2UoKQpmdW5jdGlvbi4gIFRoZXNlIGNhc3RzIGFyZSB1c2Vs ZXNzLCBiZWNhdXNlIGV2ZXJ5dGhpbmcgaW52b2x2ZWQKYWxyZWFkeSBoYXMgdGhlIHJpZ2h0 IHR5cGUuICBNb3Jlb3ZlciwgdGhlc2UgY2FzdHMgYWN0dWFsbHkgc2lsZW50bHkKZGlzY2Fy ZGVkIGEgY29uc3QgcXVhbGlmaWVyLiAgVGhlIGRlY2xhcmF0aW9uIG9mIGEgaGlnaGVyLWxl dmVsCmZ1bmN0aW9uIG5lZWRzIHRvIGJlIGFkanVzdGVkIHRvIGZpeCB0aGF0LgotLS0KIGNv bnRyaWIvcGFnZWluc3BlY3QvcmF3cGFnZS5jICAgICAgfCAyICstCiBzcmMvYmFja2VuZC9z dG9yYWdlL3BhZ2UvYnVmcGFnZS5jIHwgNiArKystLS0KIHNyYy9pbmNsdWRlL3N0b3JhZ2Uv YnVmcGFnZS5oICAgICAgfCAyICstCiAzIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygr KSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9jb250cmliL3BhZ2VpbnNwZWN0L3Jh d3BhZ2UuYyBiL2NvbnRyaWIvcGFnZWluc3BlY3QvcmF3cGFnZS5jCmluZGV4IDIwYTA0NDM4 ZGE1Li42MTdkZmY4MjFhNiAxMDA2NDQKLS0tIGEvY29udHJpYi9wYWdlaW5zcGVjdC9yYXdw YWdlLmMKKysrIGIvY29udHJpYi9wYWdlaW5zcGVjdC9yYXdwYWdlLmMKQEAgLTM1Nyw3ICsz NTcsNyBAQCBwYWdlX2NoZWNrc3VtX2ludGVybmFsKFBHX0ZVTkNUSU9OX0FSR1MsIGVudW0g cGFnZWluc3BlY3RfdmVyc2lvbiBleHRfdmVyc2lvbikKIAlpZiAoUGFnZUlzTmV3KHBhZ2Up KQogCQlQR19SRVRVUk5fTlVMTCgpOwogCi0JUEdfUkVUVVJOX0lOVDE2KHBnX2NoZWNrc3Vt X3BhZ2UoKGNoYXIgKikgcGFnZSwgYmxrbm8pKTsKKwlQR19SRVRVUk5fSU5UMTYocGdfY2hl Y2tzdW1fcGFnZShwYWdlLCBibGtubykpOwogfQogCiBEYXR1bQpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvc3RvcmFnZS9wYWdlL2J1ZnBhZ2UuYyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2Uv cGFnZS9idWZwYWdlLmMKaW5kZXggNDI0ZGQzZjRiZmIuLjkxZGE3M2RkYThiIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9zdG9yYWdlL3BhZ2UvYnVmcGFnZS5jCisrKyBiL3NyYy9iYWNr ZW5kL3N0b3JhZ2UvcGFnZS9idWZwYWdlLmMKQEAgLTg1LDcgKzg1LDcgQEAgUGFnZUluaXQo UGFnZSBwYWdlLCBTaXplIHBhZ2VTaXplLCBTaXplIHNwZWNpYWxTaXplKQogICogdG8gcGdz dGF0LgogICovCiBib29sCi1QYWdlSXNWZXJpZmllZEV4dGVuZGVkKGNvbnN0IFBhZ2VEYXRh ICpwYWdlLCBCbG9ja051bWJlciBibGtubywgaW50IGZsYWdzKQorUGFnZUlzVmVyaWZpZWRF eHRlbmRlZChQYWdlRGF0YSAqcGFnZSwgQmxvY2tOdW1iZXIgYmxrbm8sIGludCBmbGFncykK IHsKIAljb25zdCBQYWdlSGVhZGVyRGF0YSAqcCA9IChjb25zdCBQYWdlSGVhZGVyRGF0YSAq KSBwYWdlOwogCXNpemVfdAkgICAqcGFnZWJ5dGVzOwpAQCAtMTAwLDcgKzEwMCw3IEBAIFBh Z2VJc1ZlcmlmaWVkRXh0ZW5kZWQoY29uc3QgUGFnZURhdGEgKnBhZ2UsIEJsb2NrTnVtYmVy IGJsa25vLCBpbnQgZmxhZ3MpCiAJewogCQlpZiAoRGF0YUNoZWNrc3Vtc0VuYWJsZWQoKSkK IAkJewotCQkJY2hlY2tzdW0gPSBwZ19jaGVja3N1bV9wYWdlKChjaGFyICopIHBhZ2UsIGJs a25vKTsKKwkJCWNoZWNrc3VtID0gcGdfY2hlY2tzdW1fcGFnZShwYWdlLCBibGtubyk7CiAK IAkJCWlmIChjaGVja3N1bSAhPSBwLT5wZF9jaGVja3N1bSkKIAkJCQljaGVja3N1bV9mYWls dXJlID0gdHJ1ZTsKQEAgLTE1MzQsNSArMTUzNCw1IEBAIFBhZ2VTZXRDaGVja3N1bUlucGxh Y2UoUGFnZSBwYWdlLCBCbG9ja051bWJlciBibGtubykKIAlpZiAoUGFnZUlzTmV3KHBhZ2Up IHx8ICFEYXRhQ2hlY2tzdW1zRW5hYmxlZCgpKQogCQlyZXR1cm47CiAKLQkoKFBhZ2VIZWFk ZXIpIHBhZ2UpLT5wZF9jaGVja3N1bSA9IHBnX2NoZWNrc3VtX3BhZ2UoKGNoYXIgKikgcGFn ZSwgYmxrbm8pOworCSgoUGFnZUhlYWRlcikgcGFnZSktPnBkX2NoZWNrc3VtID0gcGdfY2hl Y2tzdW1fcGFnZShwYWdlLCBibGtubyk7CiB9CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9z dG9yYWdlL2J1ZnBhZ2UuaCBiL3NyYy9pbmNsdWRlL3N0b3JhZ2UvYnVmcGFnZS5oCmluZGV4 IGQwNjIwOGI3Y2U2Li42NjQ2YjZmNjM3MSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvc3Rv cmFnZS9idWZwYWdlLmgKKysrIGIvc3JjL2luY2x1ZGUvc3RvcmFnZS9idWZwYWdlLmgKQEAg LTQ4OSw3ICs0ODksNyBAQCBTdGF0aWNBc3NlcnREZWNsKEJMQ0tTWiA9PSAoKEJMQ0tTWiAv IHNpemVvZihzaXplX3QpKSAqIHNpemVvZihzaXplX3QpKSwKIAkJCQkgIkJMQ0tTWiBoYXMg dG8gYmUgYSBtdWx0aXBsZSBvZiBzaXplb2Yoc2l6ZV90KSIpOwogCiBleHRlcm4gdm9pZCBQ YWdlSW5pdChQYWdlIHBhZ2UsIFNpemUgcGFnZVNpemUsIFNpemUgc3BlY2lhbFNpemUpOwot ZXh0ZXJuIGJvb2wgUGFnZUlzVmVyaWZpZWRFeHRlbmRlZChjb25zdCBQYWdlRGF0YSAqcGFn ZSwgQmxvY2tOdW1iZXIgYmxrbm8sIGludCBmbGFncyk7CitleHRlcm4gYm9vbCBQYWdlSXNW ZXJpZmllZEV4dGVuZGVkKFBhZ2VEYXRhICpwYWdlLCBCbG9ja051bWJlciBibGtubywgaW50 IGZsYWdzKTsKIGV4dGVybiBPZmZzZXROdW1iZXIgUGFnZUFkZEl0ZW1FeHRlbmRlZChQYWdl IHBhZ2UsIEl0ZW0gaXRlbSwgU2l6ZSBzaXplLAogCQkJCQkJCQkJCU9mZnNldE51bWJlciBv ZmZzZXROdW1iZXIsIGludCBmbGFncyk7CiBleHRlcm4gUGFnZSBQYWdlR2V0VGVtcFBhZ2Uo Y29uc3QgUGFnZURhdGEgKnBhZ2UpOwotLSAKMi40OC4xCgo= --------------I3oyUgo30pfczihe9dmbqaUa Content-Type: text/plain; charset=UTF-8; name="0004-Remove-various-unnecessary-char-casts.patch" Content-Disposition: attachment; filename="0004-Remove-various-unnecessary-char-casts.patch" Content-Transfer-Encoding: base64 RnJvbSA3YjIxZTg5N2FmNGExYzk0NmQ5YzkzNTIyNGEyZmUzNzczMTFmZjIyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAxOSBEZWMgMjAyNCAyMzo0MToyMyArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMDQvMTBdIFJlbW92ZSB2YXJpb3VzIHVubmVjZXNzYXJ5IChjaGFyICopIGNh c3RzCgpSZW1vdmUgYSBudW1iZXIgb2YgKGNoYXIgKikgY2FzdHMgdGhhdCBhcmUgdW5uZWNl c3NhcnkuICBPciBpbiBzb21lCmNhc2VzLCByZXdyaXRlIHRoZSBjb2RlIHRvIG1ha2UgdGhl IHB1cnBvc2Ugb2YgdGhlIGNhc3QgY2xlYXJlci4KLS0tCiBjb250cmliL2x0cmVlL2x0eHRx dWVyeV9pby5jICAgICAgICAgICAgIHwgIDIgKy0KIGNvbnRyaWIvcGdfdHJnbS90cmdtX2dp c3QuYyAgICAgICAgICAgICAgfCAxMCArKysrKy0tLS0tCiBjb250cmliL3Bvc3RncmVzX2Zk dy9wb3N0Z3Jlc19mZHcuYyAgICAgIHwgIDggKysrKy0tLS0KIHNyYy9iYWNrZW5kL2FjY2Vz cy90cmFuc2FtL3hsb2cuYyAgICAgICAgfCAgNCArKy0tCiBzcmMvYmFja2VuZC9saWJwcS9h dXRoLmMgICAgICAgICAgICAgICAgIHwgIDggKysrKystLS0KIHNyYy9iYWNrZW5kL2xpYnBx L3BxY29tbS5jICAgICAgICAgICAgICAgfCAgMiArLQogc3JjL2JhY2tlbmQvbm9kZXMvY29w eWZ1bmNzLmMgICAgICAgICAgICB8ICAyICstCiBzcmMvYmFja2VuZC9ub2Rlcy9tYWtlZnVu Y3MuYyAgICAgICAgICAgIHwgIDIgKy0KIHNyYy9iYWNrZW5kL3N0b3JhZ2UvcGFnZS9idWZw YWdlLmMgICAgICAgfCAgMiArLQogc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvcmVsbWFwcGVy LmMgICAgICB8ICA0ICsrLS0KIHNyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2pzb25sb2cuYyAg ICAgICAgfCAgMiArLQogc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3BnX3JlY2VpdmV3YWwuYyAg ICB8ICAyICstCiBzcmMvYmluL3BnX2R1bXAvY29tcHJlc3NfZ3ppcC5jICAgICAgICAgIHwg IDIgKy0KIHNyYy9iaW4vcGdfcmV3aW5kL3BnX3Jld2luZC5jICAgICAgICAgICAgfCAgMiAr LQogc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMgICAgICAgICAgICAgICAgICB8ICAyICstCiBz cmMvY29tbW9uL2NvbnRyb2xkYXRhX3V0aWxzLmMgICAgICAgICAgIHwgIDQgKystLQogc3Jj L2ludGVyZmFjZXMvZWNwZy9lY3BnbGliL2Rlc2NyaXB0b3IuYyB8ICA0ICsrLS0KIHNyYy9p bnRlcmZhY2VzL2VjcGcvZWNwZ2xpYi9leGVjdXRlLmMgICAgfCAgMiArLQogc3JjL2ludGVy ZmFjZXMvZWNwZy9wZ3R5cGVzbGliL251bWVyaWMuYyB8ICA0ICsrLS0KIDE5IGZpbGVzIGNo YW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDMzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2NvbnRyaWIvbHRyZWUvbHR4dHF1ZXJ5X2lvLmMgYi9jb250cmliL2x0cmVlL2x0eHRxdWVy eV9pby5jCmluZGV4IDdiOGZiYTE3ZmYyLi5lYzMzMTYwNzc5MyAxMDA2NDQKLS0tIGEvY29u dHJpYi9sdHJlZS9sdHh0cXVlcnlfaW8uYworKysgYi9jb250cmliL2x0cmVlL2x0eHRxdWVy eV9pby5jCkBAIC00MTAsNyArNDEwLDcgQEAgbHR4dHFfaW4oUEdfRlVOQ1RJT05fQVJHUykK IHsKIAlsdHh0cXVlcnkgICpyZXM7CiAKLQlpZiAoKHJlcyA9IHF1ZXJ5aW4oKGNoYXIgKikg UEdfR0VUQVJHX1BPSU5URVIoMCksIGZjaW5mby0+Y29udGV4dCkpID09IE5VTEwpCisJaWYg KChyZXMgPSBxdWVyeWluKFBHX0dFVEFSR19QT0lOVEVSKDApLCBmY2luZm8tPmNvbnRleHQp KSA9PSBOVUxMKQogCQlQR19SRVRVUk5fTlVMTCgpOwogCVBHX1JFVFVSTl9QT0lOVEVSKHJl cyk7CiB9CmRpZmYgLS1naXQgYS9jb250cmliL3BnX3RyZ20vdHJnbV9naXN0LmMgYi9jb250 cmliL3BnX3RyZ20vdHJnbV9naXN0LmMKaW5kZXggMTQyODVhOTE5YWQuLjViYTg5NTIxN2Iw IDEwMDY0NAotLS0gYS9jb250cmliL3BnX3RyZ20vdHJnbV9naXN0LmMKKysrIGIvY29udHJp Yi9wZ190cmdtL3RyZ21fZ2lzdC5jCkBAIC0xMDYsNyArMTA2LDcgQEAgbWFrZXNpZ24oQklU VkVDUCBzaWduLCBUUkdNICphLCBpbnQgc2lnbGVuKQogCVNFVEJJVChzaWduLCBTSUdMRU5C SVQoc2lnbGVuKSk7CS8qIHNldCBsYXN0IHVudXNlZCBiaXQgKi8KIAlmb3IgKGsgPSAwOyBr IDwgbGVuOyBrKyspCiAJewotCQlDUFRSR00oKChjaGFyICopICZ0bXApLCBwdHIgKyBrKTsK KwkJQ1BUUkdNKCZ0bXAsIHB0ciArIGspOwogCQlIQVNIKHNpZ24sIHRtcCwgc2lnbGVuKTsK IAl9CiB9CkBAIC0xODYsNyArMTg2LDcgQEAgY250X3NtbF9zaWduX2NvbW1vbihUUkdNICpx dHJnLCBCSVRWRUNQIHNpZ24sIGludCBzaWdsZW4pCiAKIAlmb3IgKGsgPSAwOyBrIDwgbGVu OyBrKyspCiAJewotCQlDUFRSR00oKChjaGFyICopICZ0bXApLCBwdHIgKyBrKTsKKwkJQ1BU UkdNKCZ0bXAsIHB0ciArIGspOwogCQljb3VudCArPSBHRVRCSVQoc2lnbiwgSEFTSFZBTCh0 bXAsIHNpZ2xlbikpOwogCX0KIApAQCAtMzczLDcgKzM3Myw3IEBAIGd0cmdtX2NvbnNpc3Rl bnQoUEdfRlVOQ1RJT05fQVJHUykKIAkJCQlyZXMgPSB0cnVlOwogCQkJCWZvciAoayA9IDA7 IGsgPCBsZW47IGsrKykKIAkJCQl7Ci0JCQkJCUNQVFJHTSgoKGNoYXIgKikgJnRtcCksIHB0 ciArIGspOworCQkJCQlDUFRSR00oJnRtcCwgcHRyICsgayk7CiAJCQkJCWlmICghR0VUQklU KHNpZ24sIEhBU0hWQUwodG1wLCBzaWdsZW4pKSkKIAkJCQkJewogCQkJCQkJcmVzID0gZmFs c2U7CkBAIC00MjYsNyArNDI2LDcgQEAgZ3RyZ21fY29uc2lzdGVudChQR19GVU5DVElPTl9B UkdTKQogCQkJCQljaGVjayA9IChib29sICopIHBhbGxvYyhsZW4gKiBzaXplb2YoYm9vbCkp OwogCQkJCQlmb3IgKGsgPSAwOyBrIDwgbGVuOyBrKyspCiAJCQkJCXsKLQkJCQkJCUNQVFJH TSgoKGNoYXIgKikgJnRtcCksIHB0ciArIGspOworCQkJCQkJQ1BUUkdNKCZ0bXAsIHB0ciAr IGspOwogCQkJCQkJY2hlY2tba10gPSBHRVRCSVQoc2lnbiwgSEFTSFZBTCh0bXAsIHNpZ2xl bikpOwogCQkJCQl9CiAJCQkJCXJlcyA9IHRyaWdyYW1zTWF0Y2hHcmFwaChjYWNoZS0+Z3Jh cGgsIGNoZWNrKTsKQEAgLTU1Miw3ICs1NTIsNyBAQCB1bmlvbmtleShCSVRWRUNQIHNiYXNl LCBUUkdNICphZGQsIGludCBzaWdsZW4pCiAKIAkJZm9yIChpID0gMDsgaSA8IEFSUk5FTEVN KGFkZCk7IGkrKykKIAkJewotCQkJQ1BUUkdNKCgoY2hhciAqKSAmdG1wKSwgcHRyICsgaSk7 CisJCQlDUFRSR00oJnRtcCwgcHRyICsgaSk7CiAJCQlIQVNIKHNiYXNlLCB0bXAsIHNpZ2xl bik7CiAJCX0KIAl9CmRpZmYgLS1naXQgYS9jb250cmliL3Bvc3RncmVzX2Zkdy9wb3N0Z3Jl c19mZHcuYyBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy5jCmluZGV4IGI5 MmUyYTBmYzlmLi5kZTQzNzI3YTJhMCAxMDA2NDQKLS0tIGEvY29udHJpYi9wb3N0Z3Jlc19m ZHcvcG9zdGdyZXNfZmR3LmMKKysrIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvcG9zdGdyZXNf ZmR3LmMKQEAgLTU2NjAsMTMgKzU2NjAsMTMgQEAgcG9zdGdyZXNJbXBvcnRGb3JlaWduU2No ZW1hKEltcG9ydEZvcmVpZ25TY2hlbWFTdG10ICpzdG10LCBPaWQgc2VydmVyT2lkKQogCQkJ CWF0dG5hbWUgPSBQUWdldHZhbHVlKHJlcywgaSwgMSk7CiAJCQkJdHlwZW5hbWUgPSBQUWdl dHZhbHVlKHJlcywgaSwgMik7CiAJCQkJYXR0bm90bnVsbCA9IFBRZ2V0dmFsdWUocmVzLCBp LCAzKTsKLQkJCQlhdHRkZWZhdWx0ID0gUFFnZXRpc251bGwocmVzLCBpLCA0KSA/IChjaGFy ICopIE5VTEwgOgorCQkJCWF0dGRlZmF1bHQgPSBQUWdldGlzbnVsbChyZXMsIGksIDQpID8g TlVMTCA6CiAJCQkJCVBRZ2V0dmFsdWUocmVzLCBpLCA0KTsKLQkJCQlhdHRnZW5lcmF0ZWQg PSBQUWdldGlzbnVsbChyZXMsIGksIDUpID8gKGNoYXIgKikgTlVMTCA6CisJCQkJYXR0Z2Vu ZXJhdGVkID0gUFFnZXRpc251bGwocmVzLCBpLCA1KSA/IE5VTEwgOgogCQkJCQlQUWdldHZh bHVlKHJlcywgaSwgNSk7Ci0JCQkJY29sbG5hbWUgPSBQUWdldGlzbnVsbChyZXMsIGksIDYp ID8gKGNoYXIgKikgTlVMTCA6CisJCQkJY29sbG5hbWUgPSBQUWdldGlzbnVsbChyZXMsIGks IDYpID8gTlVMTCA6CiAJCQkJCVBRZ2V0dmFsdWUocmVzLCBpLCA2KTsKLQkJCQljb2xsbmFt ZXNwYWNlID0gUFFnZXRpc251bGwocmVzLCBpLCA3KSA/IChjaGFyICopIE5VTEwgOgorCQkJ CWNvbGxuYW1lc3BhY2UgPSBQUWdldGlzbnVsbChyZXMsIGksIDcpID8gTlVMTCA6CiAJCQkJ CVBRZ2V0dmFsdWUocmVzLCBpLCA3KTsKIAogCQkJCWlmIChmaXJzdF9pdGVtKQpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jIGIvc3JjL2JhY2tlbmQv YWNjZXNzL3RyYW5zYW0veGxvZy5jCmluZGV4IGZkMzg5NTY1MTIzLi4xMjQ2NzZiNDYwYSAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jCisrKyBiL3Ny Yy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2cuYwpAQCAtNDI4Nyw3ICs0Mjg3LDcgQEAg V3JpdGVDb250cm9sRmlsZSh2b2lkKQogCS8qIENvbnRlbnRzIGFyZSBwcm90ZWN0ZWQgd2l0 aCBhIENSQyAqLwogCUlOSVRfQ1JDMzJDKENvbnRyb2xGaWxlLT5jcmMpOwogCUNPTVBfQ1JD MzJDKENvbnRyb2xGaWxlLT5jcmMsCi0JCQkJKGNoYXIgKikgQ29udHJvbEZpbGUsCisJCQkJ Q29udHJvbEZpbGUsCiAJCQkJb2Zmc2V0b2YoQ29udHJvbEZpbGVEYXRhLCBjcmMpKTsKIAlG SU5fQ1JDMzJDKENvbnRyb2xGaWxlLT5jcmMpOwogCkBAIC00NDA1LDcgKzQ0MDUsNyBAQCBS ZWFkQ29udHJvbEZpbGUodm9pZCkKIAkvKiBOb3cgY2hlY2sgdGhlIENSQy4gKi8KIAlJTklU X0NSQzMyQyhjcmMpOwogCUNPTVBfQ1JDMzJDKGNyYywKLQkJCQkoY2hhciAqKSBDb250cm9s RmlsZSwKKwkJCQlDb250cm9sRmlsZSwKIAkJCQlvZmZzZXRvZihDb250cm9sRmlsZURhdGEs IGNyYykpOwogCUZJTl9DUkMzMkMoY3JjKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv bGlicHEvYXV0aC5jIGIvc3JjL2JhY2tlbmQvbGlicHEvYXV0aC5jCmluZGV4IGQ2ZWYzMmNj ODIzLi43ODg0ZmIxZGYwYyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvbGlicHEvYXV0aC5j CisrKyBiL3NyYy9iYWNrZW5kL2xpYnBxL2F1dGguYwpAQCAtMjkyNiw4ICsyOTI2LDggQEAg UGVyZm9ybVJhZGl1c1RyYW5zYWN0aW9uKGNvbnN0IGNoYXIgKnNlcnZlciwgY29uc3QgY2hh ciAqc2VjcmV0LCBjb25zdCBjaGFyICpwb3IKIAlyYWRpdXNfcGFja2V0IHJhZGl1c19yZWN2 X3BhY2s7CiAJcmFkaXVzX3BhY2tldCAqcGFja2V0ID0gJnJhZGl1c19zZW5kX3BhY2s7CiAJ cmFkaXVzX3BhY2tldCAqcmVjZWl2ZXBhY2tldCA9ICZyYWRpdXNfcmVjdl9wYWNrOwotCWNo YXIJICAgKnJhZGl1c19idWZmZXIgPSAoY2hhciAqKSAmcmFkaXVzX3NlbmRfcGFjazsKLQlj aGFyCSAgICpyZWNlaXZlX2J1ZmZlciA9IChjaGFyICopICZyYWRpdXNfcmVjdl9wYWNrOwor CXZvaWQJICAgKnJhZGl1c19idWZmZXIgPSAmcmFkaXVzX3NlbmRfcGFjazsKKwl2b2lkCSAg ICpyZWNlaXZlX2J1ZmZlciA9ICZyYWRpdXNfcmVjdl9wYWNrOwogCWludDMyCQlzZXJ2aWNl ID0gcGdfaHRvbjMyKFJBRElVU19BVVRIRU5USUNBVEVfT05MWSk7CiAJdWludDgJICAgKmNy eXB0dmVjdG9yOwogCWludAkJCWVuY3J5cHRlZHBhc3N3b3JkbGVuOwpAQCAtMzE5OCw3ICsz MTk4LDkgQEAgUGVyZm9ybVJhZGl1c1RyYW5zYWN0aW9uKGNvbnN0IGNoYXIgKnNlcnZlciwg Y29uc3QgY2hhciAqc2VjcmV0LCBjb25zdCBjaGFyICpwb3IKIAkJCQkJCQkJCQkJCQkJCQkJ CSAqIG9yaWdpbmFsIHBhY2tldCAqLwogCQlpZiAocGFja2V0bGVuZ3RoID4gUkFESVVTX0hF QURFUl9MRU5HVEgpCS8qIHRoZXJlIG1heSBiZSBubwogCQkJCQkJCQkJCQkJCSAqIGF0dHJp YnV0ZXMgYXQgYWxsICovCi0JCQltZW1jcHkoY3J5cHR2ZWN0b3IgKyBSQURJVVNfSEVBREVS X0xFTkdUSCwgcmVjZWl2ZV9idWZmZXIgKyBSQURJVVNfSEVBREVSX0xFTkdUSCwgcGFja2V0 bGVuZ3RoIC0gUkFESVVTX0hFQURFUl9MRU5HVEgpOworCQkJbWVtY3B5KGNyeXB0dmVjdG9y ICsgUkFESVVTX0hFQURFUl9MRU5HVEgsCisJCQkJICAgKGNoYXIgKikgcmVjZWl2ZV9idWZm ZXIgKyBSQURJVVNfSEVBREVSX0xFTkdUSCwKKwkJCQkgICBwYWNrZXRsZW5ndGggLSBSQURJ VVNfSEVBREVSX0xFTkdUSCk7CiAJCW1lbWNweShjcnlwdHZlY3RvciArIHBhY2tldGxlbmd0 aCwgc2VjcmV0LCBzdHJsZW4oc2VjcmV0KSk7CiAKIAkJaWYgKCFwZ19tZDVfYmluYXJ5KGNy eXB0dmVjdG9yLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvbGlicHEvcHFjb21tLmMgYi9z cmMvYmFja2VuZC9saWJwcS9wcWNvbW0uYwppbmRleCAxYmYyN2Q5M2NmYS4uOTM3YTJiMDJh NGYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2xpYnBxL3BxY29tbS5jCisrKyBiL3NyYy9i YWNrZW5kL2xpYnBxL3BxY29tbS5jCkBAIC0xMzY4LDcgKzEzNjgsNyBAQCBpbnRlcm5hbF9m bHVzaF9idWZmZXIoY29uc3QgY2hhciAqYnVmLCBzaXplX3QgKnN0YXJ0LCBzaXplX3QgKmVu ZCkKIAl7CiAJCWludAkJCXI7CiAKLQkJciA9IHNlY3VyZV93cml0ZShNeVByb2NQb3J0LCAo Y2hhciAqKSBidWZwdHIsIGJ1ZmVuZCAtIGJ1ZnB0cik7CisJCXIgPSBzZWN1cmVfd3JpdGUo TXlQcm9jUG9ydCwgdW5jb25zdGlmeShjaGFyICosIGJ1ZnB0ciksIGJ1ZmVuZCAtIGJ1ZnB0 cik7CiAKIAkJaWYgKHIgPD0gMCkKIAkJewpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvbm9k ZXMvY29weWZ1bmNzLmMgYi9zcmMvYmFja2VuZC9ub2Rlcy9jb3B5ZnVuY3MuYwppbmRleCA0 NTkxNTc2NzgyNS4uNDc1NjkzYjA4YmMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL25vZGVz L2NvcHlmdW5jcy5jCisrKyBiL3NyYy9iYWNrZW5kL25vZGVzL2NvcHlmdW5jcy5jCkBAIC00 MCw3ICs0MCw3IEBACiAKIC8qIENvcHkgYSBmaWVsZCB0aGF0IGlzIGEgcG9pbnRlciB0byBh IEMgc3RyaW5nLCBvciBwZXJoYXBzIE5VTEwgKi8KICNkZWZpbmUgQ09QWV9TVFJJTkdfRklF TEQoZmxkbmFtZSkgXAotCShuZXdub2RlLT5mbGRuYW1lID0gZnJvbS0+ZmxkbmFtZSA/IHBz dHJkdXAoZnJvbS0+ZmxkbmFtZSkgOiAoY2hhciAqKSBOVUxMKQorCShuZXdub2RlLT5mbGRu YW1lID0gZnJvbS0+ZmxkbmFtZSA/IHBzdHJkdXAoZnJvbS0+ZmxkbmFtZSkgOiBOVUxMKQog CiAvKiBDb3B5IGEgZmllbGQgdGhhdCBpcyBhbiBpbmxpbmUgYXJyYXkgKi8KICNkZWZpbmUg Q09QWV9BUlJBWV9GSUVMRChmbGRuYW1lKSBcCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9u b2Rlcy9tYWtlZnVuY3MuYyBiL3NyYy9iYWNrZW5kL25vZGVzL21ha2VmdW5jcy5jCmluZGV4 IDAwNzYxMjU2M2NhLi5kYmJjMmYxZTMwZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvbm9k ZXMvbWFrZWZ1bmNzLmMKKysrIGIvc3JjL2JhY2tlbmQvbm9kZXMvbWFrZWZ1bmNzLmMKQEAg LTUxLDcgKzUxLDcgQEAgbWFrZVNpbXBsZUFfRXhwcihBX0V4cHJfS2luZCBraW5kLCBjaGFy ICpuYW1lLAogCUFfRXhwcgkgICAqYSA9IG1ha2VOb2RlKEFfRXhwcik7CiAKIAlhLT5raW5k ID0ga2luZDsKLQlhLT5uYW1lID0gbGlzdF9tYWtlMShtYWtlU3RyaW5nKChjaGFyICopIG5h bWUpKTsKKwlhLT5uYW1lID0gbGlzdF9tYWtlMShtYWtlU3RyaW5nKG5hbWUpKTsKIAlhLT5s ZXhwciA9IGxleHByOwogCWEtPnJleHByID0gcmV4cHI7CiAJYS0+bG9jYXRpb24gPSBsb2Nh dGlvbjsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvcGFnZS9idWZwYWdlLmMg Yi9zcmMvYmFja2VuZC9zdG9yYWdlL3BhZ2UvYnVmcGFnZS5jCmluZGV4IDkxZGE3M2RkYThi Li5lY2M4MWFhY2ZjMyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9wYWdlL2J1 ZnBhZ2UuYworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL3BhZ2UvYnVmcGFnZS5jCkBAIC0x NTAyLDcgKzE1MDIsNyBAQCBQYWdlU2V0Q2hlY2tzdW1Db3B5KFBhZ2UgcGFnZSwgQmxvY2tO dW1iZXIgYmxrbm8pCiAKIAkvKiBJZiB3ZSBkb24ndCBuZWVkIGEgY2hlY2tzdW0sIGp1c3Qg cmV0dXJuIHRoZSBwYXNzZWQtaW4gZGF0YSAqLwogCWlmIChQYWdlSXNOZXcocGFnZSkgfHwg IURhdGFDaGVja3N1bXNFbmFibGVkKCkpCi0JCXJldHVybiAoY2hhciAqKSBwYWdlOworCQly ZXR1cm4gcGFnZTsKIAogCS8qCiAJICogV2UgYWxsb2NhdGUgdGhlIGNvcHkgc3BhY2Ugb25j ZSBhbmQgdXNlIGl0IG92ZXIgb24gZWFjaCBzdWJzZXF1ZW50CmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC91dGlscy9jYWNoZS9yZWxtYXBwZXIuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Nh Y2hlL3JlbG1hcHBlci5jCmluZGV4IDFlNzJhMmM3ZmQ2Li4zMGY5NjhjZDljZiAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvcmVsbWFwcGVyLmMKKysrIGIvc3JjL2Jh Y2tlbmQvdXRpbHMvY2FjaGUvcmVsbWFwcGVyLmMKQEAgLTg1NCw3ICs4NTQsNyBAQCByZWFk X3JlbG1hcF9maWxlKFJlbE1hcEZpbGUgKm1hcCwgY2hhciAqZGJwYXRoLCBib29sIGxvY2tf aGVsZCwgaW50IGVsZXZlbCkKIAogCS8qIHZlcmlmeSB0aGUgQ1JDICovCiAJSU5JVF9DUkMz MkMoY3JjKTsKLQlDT01QX0NSQzMyQyhjcmMsIChjaGFyICopIG1hcCwgb2Zmc2V0b2YoUmVs TWFwRmlsZSwgY3JjKSk7CisJQ09NUF9DUkMzMkMoY3JjLCBtYXAsIG9mZnNldG9mKFJlbE1h cEZpbGUsIGNyYykpOwogCUZJTl9DUkMzMkMoY3JjKTsKIAogCWlmICghRVFfQ1JDMzJDKGNy YywgbWFwLT5jcmMpKQpAQCAtOTEwLDcgKzkxMCw3IEBAIHdyaXRlX3JlbG1hcF9maWxlKFJl bE1hcEZpbGUgKm5ld21hcCwgYm9vbCB3cml0ZV93YWwsIGJvb2wgc2VuZF9zaW52YWwsCiAJ CWVsb2coRVJST1IsICJhdHRlbXB0IHRvIHdyaXRlIGJvZ3VzIHJlbGF0aW9uIG1hcHBpbmci KTsKIAogCUlOSVRfQ1JDMzJDKG5ld21hcC0+Y3JjKTsKLQlDT01QX0NSQzMyQyhuZXdtYXAt PmNyYywgKGNoYXIgKikgbmV3bWFwLCBvZmZzZXRvZihSZWxNYXBGaWxlLCBjcmMpKTsKKwlD T01QX0NSQzMyQyhuZXdtYXAtPmNyYywgbmV3bWFwLCBvZmZzZXRvZihSZWxNYXBGaWxlLCBj cmMpKTsKIAlGSU5fQ1JDMzJDKG5ld21hcC0+Y3JjKTsKIAogCS8qCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC91dGlscy9lcnJvci9qc29ubG9nLmMgYi9zcmMvYmFja2VuZC91dGlscy9l cnJvci9qc29ubG9nLmMKaW5kZXggNjUzM2YxZDY4ODguLjU0OWUwZjQ4ZWU4IDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC91dGlscy9lcnJvci9qc29ubG9nLmMKKysrIGIvc3JjL2JhY2tl bmQvdXRpbHMvZXJyb3IvanNvbmxvZy5jCkBAIC0yMDYsNyArMjA2LDcgQEAgd3JpdGVfanNv bmxvZyhFcnJvckRhdGEgKmVkYXRhKQogCS8qIEVycm9yIHNldmVyaXR5ICovCiAJaWYgKGVk YXRhLT5lbGV2ZWwpCiAJCWFwcGVuZEpTT05LZXlWYWx1ZSgmYnVmLCAiZXJyb3Jfc2V2ZXJp dHkiLAotCQkJCQkJICAgKGNoYXIgKikgZXJyb3Jfc2V2ZXJpdHkoZWRhdGEtPmVsZXZlbCks IHRydWUpOworCQkJCQkJICAgZXJyb3Jfc2V2ZXJpdHkoZWRhdGEtPmVsZXZlbCksIHRydWUp OwogCiAJLyogU1FMIHN0YXRlIGNvZGUgKi8KIAlpZiAoZWRhdGEtPnNxbGVycmNvZGUpCmRp ZmYgLS1naXQgYS9zcmMvYmluL3BnX2Jhc2ViYWNrdXAvcGdfcmVjZWl2ZXdhbC5jIGIvc3Jj L2Jpbi9wZ19iYXNlYmFja3VwL3BnX3JlY2VpdmV3YWwuYwppbmRleCAxNzZjNDBmYWNhZC4u ZGUzNTg0MDE4YjAgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfYmFzZWJhY2t1cC9wZ19yZWNl aXZld2FsLmMKKysrIGIvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3BnX3JlY2VpdmV3YWwuYwpA QCAtMzQyLDcgKzM0Miw3IEBAIEZpbmRTdHJlYW1pbmdTdGFydCh1aW50MzIgKnRsaSkKIAkJ CWlmIChsc2VlayhmZCwgKG9mZl90KSAoLTQpLCBTRUVLX0VORCkgPCAwKQogCQkJCXBnX2Zh dGFsKCJjb3VsZCBub3Qgc2VlayBpbiBjb21wcmVzc2VkIGZpbGUgXCIlc1wiOiAlbSIsCiAJ CQkJCQkgZnVsbHBhdGgpOwotCQkJciA9IHJlYWQoZmQsIChjaGFyICopIGJ1Ziwgc2l6ZW9m KGJ1ZikpOworCQkJciA9IHJlYWQoZmQsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOwogCQkJaWYgKHIg IT0gc2l6ZW9mKGJ1ZikpCiAJCQl7CiAJCQkJaWYgKHIgPCAwKQpkaWZmIC0tZ2l0IGEvc3Jj L2Jpbi9wZ19kdW1wL2NvbXByZXNzX2d6aXAuYyBiL3NyYy9iaW4vcGdfZHVtcC9jb21wcmVz c19nemlwLmMKaW5kZXggZjllNWYwMGFhYTEuLjIzZjYxNzIwOWU2IDEwMDY0NAotLS0gYS9z cmMvYmluL3BnX2R1bXAvY29tcHJlc3NfZ3ppcC5jCisrKyBiL3NyYy9iaW4vcGdfZHVtcC9j b21wcmVzc19nemlwLmMKQEAgLTEyOSw3ICsxMjksNyBAQCBEZWZsYXRlQ29tcHJlc3NvckNv bW1vbihBcmNoaXZlSGFuZGxlICpBSCwgQ29tcHJlc3NvclN0YXRlICpjcywgYm9vbCBmbHVz aCkKIAkJCQkgKi8KIAkJCQlzaXplX3QJCWxlbiA9IGd6aXBjcy0+b3V0c2l6ZSAtIHpwLT5h dmFpbF9vdXQ7CiAKLQkJCQljcy0+d3JpdGVGKEFILCAoY2hhciAqKSBvdXQsIGxlbik7CisJ CQkJY3MtPndyaXRlRihBSCwgb3V0LCBsZW4pOwogCQkJfQogCQkJenAtPm5leHRfb3V0ID0g b3V0OwogCQkJenAtPmF2YWlsX291dCA9IGd6aXBjcy0+b3V0c2l6ZTsKZGlmZiAtLWdpdCBh L3NyYy9iaW4vcGdfcmV3aW5kL3BnX3Jld2luZC5jIGIvc3JjL2Jpbi9wZ19yZXdpbmQvcGdf cmV3aW5kLmMKaW5kZXggY2FlODFjZDZjYjEuLjJjZTk5ZDA2ZDFkIDEwMDY0NAotLS0gYS9z cmMvYmluL3BnX3Jld2luZC9wZ19yZXdpbmQuYworKysgYi9zcmMvYmluL3BnX3Jld2luZC9w Z19yZXdpbmQuYwpAQCAtMTAwNyw3ICsxMDA3LDcgQEAgY2hlY2tDb250cm9sRmlsZShDb250 cm9sRmlsZURhdGEgKkNvbnRyb2xGaWxlKQogCiAJLyogQ2FsY3VsYXRlIENSQyAqLwogCUlO SVRfQ1JDMzJDKGNyYyk7Ci0JQ09NUF9DUkMzMkMoY3JjLCAoY2hhciAqKSBDb250cm9sRmls ZSwgb2Zmc2V0b2YoQ29udHJvbEZpbGVEYXRhLCBjcmMpKTsKKwlDT01QX0NSQzMyQyhjcmMs IENvbnRyb2xGaWxlLCBvZmZzZXRvZihDb250cm9sRmlsZURhdGEsIGNyYykpOwogCUZJTl9D UkMzMkMoY3JjKTsKIAogCS8qIEFuZCBzaW1wbHkgY29tcGFyZSBpdCAqLwpkaWZmIC0tZ2l0 IGEvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMgYi9zcmMvYmluL3BzcWwvZGVzY3JpYmUuYwpp bmRleCBhYTQzNjNiMjAwYS4uYjNkNDIxODUwYmYgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcHNx bC9kZXNjcmliZS5jCisrKyBiL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jCkBAIC0xNzQxLDcg KzE3NDEsNyBAQCBkZXNjcmliZU9uZVRhYmxlRGV0YWlscyhjb25zdCBjaGFyICpzY2hlbWFu YW1lLAogCQkqKFBRZ2V0dmFsdWUocmVzLCAwLCAxMykpIDogJ2QnOwogCWlmIChwc2V0LnN2 ZXJzaW9uID49IDEyMDAwMCkKIAkJdGFibGVpbmZvLnJlbGFtID0gUFFnZXRpc251bGwocmVz LCAwLCAxNCkgPwotCQkJKGNoYXIgKikgTlVMTCA6IHBnX3N0cmR1cChQUWdldHZhbHVlKHJl cywgMCwgMTQpKTsKKwkJCU5VTEwgOiBwZ19zdHJkdXAoUFFnZXR2YWx1ZShyZXMsIDAsIDE0 KSk7CiAJZWxzZQogCQl0YWJsZWluZm8ucmVsYW0gPSBOVUxMOwogCVBRY2xlYXIocmVzKTsK ZGlmZiAtLWdpdCBhL3NyYy9jb21tb24vY29udHJvbGRhdGFfdXRpbHMuYyBiL3NyYy9jb21t b24vY29udHJvbGRhdGFfdXRpbHMuYwppbmRleCAyN2NlMjdkNzY0Ny4uMzRkOGEzYTRlMzEg MTAwNjQ0Ci0tLSBhL3NyYy9jb21tb24vY29udHJvbGRhdGFfdXRpbHMuYworKysgYi9zcmMv Y29tbW9uL2NvbnRyb2xkYXRhX3V0aWxzLmMKQEAgLTEzNSw3ICsxMzUsNyBAQCBnZXRfY29u dHJvbGZpbGVfYnlfZXhhY3RfcGF0aChjb25zdCBjaGFyICpDb250cm9sRmlsZVBhdGgsIGJv b2wgKmNyY19va19wKQogCS8qIENoZWNrIHRoZSBDUkMuICovCiAJSU5JVF9DUkMzMkMoY3Jj KTsKIAlDT01QX0NSQzMyQyhjcmMsCi0JCQkJKGNoYXIgKikgQ29udHJvbEZpbGUsCisJCQkJ Q29udHJvbEZpbGUsCiAJCQkJb2Zmc2V0b2YoQ29udHJvbEZpbGVEYXRhLCBjcmMpKTsKIAlG SU5fQ1JDMzJDKGNyYyk7CiAKQEAgLTE5OSw3ICsxOTksNyBAQCB1cGRhdGVfY29udHJvbGZp bGUoY29uc3QgY2hhciAqRGF0YURpciwKIAkvKiBSZWNhbGN1bGF0ZSBDUkMgb2YgY29udHJv bCBmaWxlICovCiAJSU5JVF9DUkMzMkMoQ29udHJvbEZpbGUtPmNyYyk7CiAJQ09NUF9DUkMz MkMoQ29udHJvbEZpbGUtPmNyYywKLQkJCQkoY2hhciAqKSBDb250cm9sRmlsZSwKKwkJCQlD b250cm9sRmlsZSwKIAkJCQlvZmZzZXRvZihDb250cm9sRmlsZURhdGEsIGNyYykpOwogCUZJ Tl9DUkMzMkMoQ29udHJvbEZpbGUtPmNyYyk7CiAKZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZh Y2VzL2VjcGcvZWNwZ2xpYi9kZXNjcmlwdG9yLmMgYi9zcmMvaW50ZXJmYWNlcy9lY3BnL2Vj cGdsaWIvZGVzY3JpcHRvci5jCmluZGV4IDg1MjVhNjgxMmYyLi42NTFkNWM4YjJlZCAxMDA2 NDQKLS0tIGEvc3JjL2ludGVyZmFjZXMvZWNwZy9lY3BnbGliL2Rlc2NyaXB0b3IuYworKysg Yi9zcmMvaW50ZXJmYWNlcy9lY3BnL2VjcGdsaWIvZGVzY3JpcHRvci5jCkBAIC0xOTgsNyAr MTk4LDcgQEAgZ2V0X2NoYXJfaXRlbShpbnQgbGluZW5vLCB2b2lkICp2YXIsIGVudW0gRUNQ R3R0eXBlIHZhcnR5cGUsIGNoYXIgKnZhbHVlLCBpbnQgdmEKIAkJY2FzZSBFQ1BHdF9jaGFy OgogCQljYXNlIEVDUEd0X3Vuc2lnbmVkX2NoYXI6CiAJCWNhc2UgRUNQR3Rfc3RyaW5nOgot CQkJc3RybmNweSgoY2hhciAqKSB2YXIsIHZhbHVlLCB2YXJjaGFyc2l6ZSk7CisJCQlzdHJu Y3B5KHZhciwgdmFsdWUsIHZhcmNoYXJzaXplKTsKIAkJCWJyZWFrOwogCQljYXNlIEVDUEd0 X3ZhcmNoYXI6CiAJCQl7CkBAIC01OTcsNyArNTk3LDcgQEAgc2V0X2Rlc2NfYXR0cihzdHJ1 Y3QgZGVzY3JpcHRvcl9pdGVtICpkZXNjX2l0ZW0sIHN0cnVjdCB2YXJpYWJsZSAqdmFyLAog CX0KIAogCWVjcGdfZnJlZShkZXNjX2l0ZW0tPmRhdGEpOyAvKiBmcmVlKCkgdGFrZXMgY2Fy ZSBvZiBhIHBvdGVudGlhbCBOVUxMIHZhbHVlICovCi0JZGVzY19pdGVtLT5kYXRhID0gKGNo YXIgKikgdG9iZWluc2VydGVkOworCWRlc2NfaXRlbS0+ZGF0YSA9IHRvYmVpbnNlcnRlZDsK IH0KIAogCmRpZmYgLS1naXQgYS9zcmMvaW50ZXJmYWNlcy9lY3BnL2VjcGdsaWIvZXhlY3V0 ZS5jIGIvc3JjL2ludGVyZmFjZXMvZWNwZy9lY3BnbGliL2V4ZWN1dGUuYwppbmRleCBiNTA4 OWVhYzc4Ny4uZjUyZGEwNmRlOWEgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2VjcGcv ZWNwZ2xpYi9leGVjdXRlLmMKKysrIGIvc3JjL2ludGVyZmFjZXMvZWNwZy9lY3BnbGliL2V4 ZWN1dGUuYwpAQCAtMjc4LDcgKzI3OCw3IEBAIGVjcGdfaXNfdHlwZV9hbl9hcnJheShpbnQg dHlwZSwgY29uc3Qgc3RydWN0IHN0YXRlbWVudCAqc3RtdCwgY29uc3Qgc3RydWN0IHZhcmlh CiAJCQlpc2FycmF5ID0gRUNQR19BUlJBWV9OT05FOwogCQllbHNlCiAJCXsKLQkJCWlzYXJy YXkgPSAoYXRvaSgoY2hhciAqKSBQUWdldHZhbHVlKHF1ZXJ5LCAwLCAwKSkgPT0gLTEpID8g RUNQR19BUlJBWV9BUlJBWSA6IEVDUEdfQVJSQVlfVkVDVE9SOworCQkJaXNhcnJheSA9IChh dG9pKFBRZ2V0dmFsdWUocXVlcnksIDAsIDApKSA9PSAtMSkgPyBFQ1BHX0FSUkFZX0FSUkFZ IDogRUNQR19BUlJBWV9WRUNUT1I7CiAJCQlpZiAoZWNwZ19keW5hbWljX3R5cGUodHlwZSkg PT0gU1FMM19DSEFSQUNURVIgfHwKIAkJCQllY3BnX2R5bmFtaWNfdHlwZSh0eXBlKSA9PSBT UUwzX0NIQVJBQ1RFUl9WQVJZSU5HKQogCQkJewpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFj ZXMvZWNwZy9wZ3R5cGVzbGliL251bWVyaWMuYyBiL3NyYy9pbnRlcmZhY2VzL2VjcGcvcGd0 eXBlc2xpYi9udW1lcmljLmMKaW5kZXggMzVlN2I5MmRhNDAuLmJiMmE4Njk4MWNhIDEwMDY0 NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9lY3BnL3BndHlwZXNsaWIvbnVtZXJpYy5jCisrKyBi L3NyYy9pbnRlcmZhY2VzL2VjcGcvcGd0eXBlc2xpYi9udW1lcmljLmMKQEAgLTIzMiw3ICsy MzIsNyBAQCBnZXRfc3RyX2Zyb21fdmFyKG51bWVyaWMgKnZhciwgaW50IGRzY2FsZSkKIAog CWlmICh2YXItPnNpZ24gPT0gTlVNRVJJQ19OQU4pCiAJewotCQlzdHIgPSAoY2hhciAqKSBw Z3R5cGVzX2FsbG9jKDQpOworCQlzdHIgPSBwZ3R5cGVzX2FsbG9jKDQpOwogCQlpZiAoc3Ry ID09IE5VTEwpCiAJCQlyZXR1cm4gTlVMTDsKIAkJc3ByaW50ZihzdHIsICJOYU4iKTsKQEAg LTI2OSw3ICsyNjksNyBAQCBnZXRfc3RyX2Zyb21fdmFyKG51bWVyaWMgKnZhciwgaW50IGRz Y2FsZSkKIAkvKgogCSAqIEFsbG9jYXRlIHNwYWNlIGZvciB0aGUgcmVzdWx0CiAJICovCi0J aWYgKChzdHIgPSAoY2hhciAqKSBwZ3R5cGVzX2FsbG9jKE1heCgwLCBkc2NhbGUpICsgTWF4 KDAsIHZhci0+d2VpZ2h0KSArIDQpKSA9PSBOVUxMKQorCWlmICgoc3RyID0gcGd0eXBlc19h bGxvYyhNYXgoMCwgZHNjYWxlKSArIE1heCgwLCB2YXItPndlaWdodCkgKyA0KSkgPT0gTlVM TCkKIAkJcmV0dXJuIE5VTEw7CiAJY3AgPSBzdHI7CiAKLS0gCjIuNDguMQoK --------------I3oyUgo30pfczihe9dmbqaUa Content-Type: text/plain; charset=UTF-8; name="0005-backend-launchers-void-arguments-for-binary-data.patch" Content-Disposition: attachment; filename*0="0005-backend-launchers-void-arguments-for-binary-data.patch" Content-Transfer-Encoding: base64 RnJvbSAyMjhhOWUxYjE4Yjk1NTg1ODI5NzE4YzE5Mzc2ZjhkMWRkZTFkNTQxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVHVlLCAyNCBTZXAgMjAyNCAxMjoyNjo0OCArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggMDUvMTBdIGJhY2tlbmQgbGF1bmNoZXJzIHZvaWQgKiBhcmd1bWVudHMgZm9y IGJpbmFyeSBkYXRhCgpDaGFuZ2UgYmFja2VuZCBsYXVuY2hlciBmdW5jdGlvbnMgdG8gdGFr ZSB2b2lkICogZm9yIGJpbmFyeSBkYXRhCmluc3RlYWQgb2YgY2hhciAqLiAgVGhpcyByZW1v dmVzIHRoZSBuZWVkIGZvciBudW1lcm91cyBjYXN0cy4KLS0tCiBzcmMvYmFja2VuZC9wb3N0 bWFzdGVyL2F1dG92YWN1dW0uYyAgICAgICAgIHwgIDQgKystLQogc3JjL2JhY2tlbmQvcG9z dG1hc3Rlci9iZ3dvcmtlci5jICAgICAgICAgICB8ICAyICstCiBzcmMvYmFja2VuZC9wb3N0 bWFzdGVyL2Jnd3JpdGVyLmMgICAgICAgICAgIHwgIDIgKy0KIHNyYy9iYWNrZW5kL3Bvc3Rt YXN0ZXIvY2hlY2twb2ludGVyLmMgICAgICAgfCAgMiArLQogc3JjL2JhY2tlbmQvcG9zdG1h c3Rlci9sYXVuY2hfYmFja2VuZC5jICAgICB8IDIwICsrKysrKysrKystLS0tLS0tLS0tCiBz cmMvYmFja2VuZC9wb3N0bWFzdGVyL3BnYXJjaC5jICAgICAgICAgICAgIHwgIDIgKy0KIHNy Yy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5jICAgICAgICAgfCAgNCArKy0tCiBz cmMvYmFja2VuZC9wb3N0bWFzdGVyL3N0YXJ0dXAuYyAgICAgICAgICAgIHwgIDIgKy0KIHNy Yy9iYWNrZW5kL3Bvc3RtYXN0ZXIvc3lzbG9nZ2VyLmMgICAgICAgICAgfCAgNiArKystLS0K IHNyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvd2Fsc3VtbWFyaXplci5jICAgICAgfCAgMiArLQog c3JjL2JhY2tlbmQvcG9zdG1hc3Rlci93YWx3cml0ZXIuYyAgICAgICAgICB8ICAyICstCiBz cmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Nsb3RzeW5jLmMgIHwgIDIgKy0KIHNy Yy9iYWNrZW5kL3JlcGxpY2F0aW9uL3dhbHJlY2VpdmVyLmMgICAgICAgfCAgMiArLQogc3Jj L2JhY2tlbmQvdGNvcC9iYWNrZW5kX3N0YXJ0dXAuYyAgICAgICAgICB8ICA0ICsrLS0KIHNy Yy9pbmNsdWRlL3Bvc3RtYXN0ZXIvYXV0b3ZhY3V1bS5oICAgICAgICAgfCAgNCArKy0tCiBz cmMvaW5jbHVkZS9wb3N0bWFzdGVyL2Jnd29ya2VyX2ludGVybmFscy5oIHwgIDIgKy0KIHNy Yy9pbmNsdWRlL3Bvc3RtYXN0ZXIvYmd3cml0ZXIuaCAgICAgICAgICAgfCAgNCArKy0tCiBz cmMvaW5jbHVkZS9wb3N0bWFzdGVyL3BnYXJjaC5oICAgICAgICAgICAgIHwgIDIgKy0KIHNy Yy9pbmNsdWRlL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5oICAgICAgICAgfCAgMiArLQogc3Jj L2luY2x1ZGUvcG9zdG1hc3Rlci9zdGFydHVwLmggICAgICAgICAgICB8ICAyICstCiBzcmMv aW5jbHVkZS9wb3N0bWFzdGVyL3N5c2xvZ2dlci5oICAgICAgICAgIHwgIDIgKy0KIHNyYy9p bmNsdWRlL3Bvc3RtYXN0ZXIvd2Fsc3VtbWFyaXplci5oICAgICAgfCAgMiArLQogc3JjL2lu Y2x1ZGUvcG9zdG1hc3Rlci93YWx3cml0ZXIuaCAgICAgICAgICB8ICAyICstCiBzcmMvaW5j bHVkZS9yZXBsaWNhdGlvbi9zbG90c3luYy5oICAgICAgICAgIHwgIDIgKy0KIHNyYy9pbmNs dWRlL3JlcGxpY2F0aW9uL3dhbHJlY2VpdmVyLmggICAgICAgfCAgMiArLQogc3JjL2luY2x1 ZGUvdGNvcC9iYWNrZW5kX3N0YXJ0dXAuaCAgICAgICAgICB8ICAyICstCiAyNiBmaWxlcyBj aGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspLCA0MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2F1dG92YWN1dW0uYyBiL3NyYy9iYWNrZW5kL3Bv c3RtYXN0ZXIvYXV0b3ZhY3V1bS5jCmluZGV4IDBhYjkyMWExNjliLi5kODJiNjZkNzVjZSAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9hdXRvdmFjdXVtLmMKKysrIGIv c3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9hdXRvdmFjdXVtLmMKQEAgLTM2Myw3ICszNjMsNyBA QCBzdGF0aWMgdm9pZCBjaGVja19hdl93b3JrZXJfZ3Vjcyh2b2lkKTsKICAqIE1haW4gZW50 cnkgcG9pbnQgZm9yIHRoZSBhdXRvdmFjdXVtIGxhdW5jaGVyIHByb2Nlc3MuCiAgKi8KIHZv aWQKLUF1dG9WYWNMYXVuY2hlck1haW4oY2hhciAqc3RhcnR1cF9kYXRhLCBzaXplX3Qgc3Rh cnR1cF9kYXRhX2xlbikKK0F1dG9WYWNMYXVuY2hlck1haW4oY29uc3Qgdm9pZCAqc3RhcnR1 cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9kYXRhX2xlbikKIHsKIAlzaWdqbXBfYnVmCWxvY2Fs X3NpZ2ptcF9idWY7CiAKQEAgLTEzNzAsNyArMTM3MCw3IEBAIGF2bF9zaWd1c3IyX2hhbmRs ZXIoU0lHTkFMX0FSR1MpCiAgKiBNYWluIGVudHJ5IHBvaW50IGZvciBhdXRvdmFjdXVtIHdv cmtlciBwcm9jZXNzZXMuCiAgKi8KIHZvaWQKLUF1dG9WYWNXb3JrZXJNYWluKGNoYXIgKnN0 YXJ0dXBfZGF0YSwgc2l6ZV90IHN0YXJ0dXBfZGF0YV9sZW4pCitBdXRvVmFjV29ya2VyTWFp bihjb25zdCB2b2lkICpzdGFydHVwX2RhdGEsIHNpemVfdCBzdGFydHVwX2RhdGFfbGVuKQog ewogCXNpZ2ptcF9idWYJbG9jYWxfc2lnam1wX2J1ZjsKIAlPaWQJCQlkYmlkOwpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9iZ3dvcmtlci5jIGIvc3JjL2JhY2tlbmQv cG9zdG1hc3Rlci9iZ3dvcmtlci5jCmluZGV4IGIyODg5MTVjZWM4Li4xMTZkZGY3YjgzNSAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9iZ3dvcmtlci5jCisrKyBiL3Ny Yy9iYWNrZW5kL3Bvc3RtYXN0ZXIvYmd3b3JrZXIuYwpAQCAtNzE0LDcgKzcxNCw3IEBAIGJn d29ya2VyX2RpZShTSUdOQUxfQVJHUykKICAqIE1haW4gZW50cnkgcG9pbnQgZm9yIGJhY2tn cm91bmQgd29ya2VyIHByb2Nlc3Nlcy4KICAqLwogdm9pZAotQmFja2dyb3VuZFdvcmtlck1h aW4oY2hhciAqc3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9kYXRhX2xlbikKK0JhY2tn cm91bmRXb3JrZXJNYWluKGNvbnN0IHZvaWQgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90IHN0YXJ0 dXBfZGF0YV9sZW4pCiB7CiAJc2lnam1wX2J1Zglsb2NhbF9zaWdqbXBfYnVmOwogCUJhY2tn cm91bmRXb3JrZXIgKndvcmtlcjsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0 ZXIvYmd3cml0ZXIuYyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvYmd3cml0ZXIuYwppbmRl eCAzZWZmNWRjNmYwZS4uNjQ1MjRkMTgzMWIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bv c3RtYXN0ZXIvYmd3cml0ZXIuYworKysgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2Jnd3Jp dGVyLmMKQEAgLTg0LDcgKzg0LDcgQEAgc3RhdGljIFhMb2dSZWNQdHIgbGFzdF9zbmFwc2hv dF9sc24gPSBJbnZhbGlkWExvZ1JlY1B0cjsKICAqIGJhc2ljIGV4ZWN1dGlvbiBlbnZpcm9u bWVudCwgYnV0IG5vdCBlbmFibGVkIHNpZ25hbHMgeWV0LgogICovCiB2b2lkCi1CYWNrZ3Jv dW5kV3JpdGVyTWFpbihjaGFyICpzdGFydHVwX2RhdGEsIHNpemVfdCBzdGFydHVwX2RhdGFf bGVuKQorQmFja2dyb3VuZFdyaXRlck1haW4oY29uc3Qgdm9pZCAqc3RhcnR1cF9kYXRhLCBz aXplX3Qgc3RhcnR1cF9kYXRhX2xlbikKIHsKIAlzaWdqbXBfYnVmCWxvY2FsX3NpZ2ptcF9i dWY7CiAJTWVtb3J5Q29udGV4dCBiZ3dyaXRlcl9jb250ZXh0OwpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvcG9zdG1hc3Rlci9jaGVja3BvaW50ZXIuYyBiL3NyYy9iYWNrZW5kL3Bvc3Rt YXN0ZXIvY2hlY2twb2ludGVyLmMKaW5kZXggYjk0ZjljZGZmMjEuLjdhY2JiZDNlMjY3IDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2NoZWNrcG9pbnRlci5jCisrKyBi L3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvY2hlY2twb2ludGVyLmMKQEAgLTE3NSw3ICsxNzUs NyBAQCBzdGF0aWMgdm9pZCBSZXFTaHV0ZG93blhMT0coU0lHTkFMX0FSR1MpOwogICogYmFz aWMgZXhlY3V0aW9uIGVudmlyb25tZW50LCBidXQgbm90IGVuYWJsZWQgc2lnbmFscyB5ZXQu CiAgKi8KIHZvaWQKLUNoZWNrcG9pbnRlck1haW4oY2hhciAqc3RhcnR1cF9kYXRhLCBzaXpl X3Qgc3RhcnR1cF9kYXRhX2xlbikKK0NoZWNrcG9pbnRlck1haW4oY29uc3Qgdm9pZCAqc3Rh cnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9kYXRhX2xlbikKIHsKIAlzaWdqbXBfYnVmCWxv Y2FsX3NpZ2ptcF9idWY7CiAJTWVtb3J5Q29udGV4dCBjaGVja3BvaW50ZXJfY29udGV4dDsK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvbGF1bmNoX2JhY2tlbmQuYyBi L3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvbGF1bmNoX2JhY2tlbmQuYwppbmRleCBhOTdhMWVk YTZkYS4uNDczNzVlNWJmYWEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIv bGF1bmNoX2JhY2tlbmQuYworKysgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2xhdW5jaF9i YWNrZW5kLmMKQEAgLTE0OSw3ICsxNDksNyBAQCB0eXBlZGVmIHN0cnVjdAogCiAjZGVmaW5l IFNpemVPZkJhY2tlbmRQYXJhbWV0ZXJzKHN0YXJ0dXBfZGF0YV9sZW4pIChvZmZzZXRvZihC YWNrZW5kUGFyYW1ldGVycywgc3RhcnR1cF9kYXRhKSArIHN0YXJ0dXBfZGF0YV9sZW4pCiAK LXN0YXRpYyB2b2lkIHJlYWRfYmFja2VuZF92YXJpYWJsZXMoY2hhciAqaWQsIGNoYXIgKipz dGFydHVwX2RhdGEsIHNpemVfdCAqc3RhcnR1cF9kYXRhX2xlbik7CitzdGF0aWMgdm9pZCBy ZWFkX2JhY2tlbmRfdmFyaWFibGVzKGNoYXIgKmlkLCB2b2lkICoqc3RhcnR1cF9kYXRhLCBz aXplX3QgKnN0YXJ0dXBfZGF0YV9sZW4pOwogc3RhdGljIHZvaWQgcmVzdG9yZV9iYWNrZW5k X3ZhcmlhYmxlcyhCYWNrZW5kUGFyYW1ldGVycyAqcGFyYW0pOwogCiBzdGF0aWMgYm9vbCBz YXZlX2JhY2tlbmRfdmFyaWFibGVzKEJhY2tlbmRQYXJhbWV0ZXJzICpwYXJhbSwgaW50IGNo aWxkX3Nsb3QsCkBAIC0xNTcsMTAgKzE1NywxMCBAQCBzdGF0aWMgYm9vbCBzYXZlX2JhY2tl bmRfdmFyaWFibGVzKEJhY2tlbmRQYXJhbWV0ZXJzICpwYXJhbSwgaW50IGNoaWxkX3Nsb3Qs CiAjaWZkZWYgV0lOMzIKIAkJCQkJCQkJICAgSEFORExFIGNoaWxkUHJvY2VzcywgcGlkX3Qg Y2hpbGRQaWQsCiAjZW5kaWYKLQkJCQkJCQkJICAgY2hhciAqc3RhcnR1cF9kYXRhLCBzaXpl X3Qgc3RhcnR1cF9kYXRhX2xlbik7CisJCQkJCQkJCSAgIGNvbnN0IHZvaWQgKnN0YXJ0dXBf ZGF0YSwgc2l6ZV90IHN0YXJ0dXBfZGF0YV9sZW4pOwogCiBzdGF0aWMgcGlkX3QgaW50ZXJu YWxfZm9ya2V4ZWMoY29uc3QgY2hhciAqY2hpbGRfa2luZCwgaW50IGNoaWxkX3Nsb3QsCi0J CQkJCQkJICAgY2hhciAqc3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9kYXRhX2xlbiwK KwkJCQkJCQkgICBjb25zdCB2b2lkICpzdGFydHVwX2RhdGEsIHNpemVfdCBzdGFydHVwX2Rh dGFfbGVuLAogCQkJCQkJCSAgIENsaWVudFNvY2tldCAqY2xpZW50X3NvY2spOwogCiAjZW5k aWYJCQkJCQkJLyogRVhFQ19CQUNLRU5EICovCkBAIC0xNzEsNyArMTcxLDcgQEAgc3RhdGlj IHBpZF90IGludGVybmFsX2ZvcmtleGVjKGNvbnN0IGNoYXIgKmNoaWxkX2tpbmQsIGludCBj aGlsZF9zbG90LAogdHlwZWRlZiBzdHJ1Y3QKIHsKIAljb25zdCBjaGFyICpuYW1lOwotCXZv aWQJCSgqbWFpbl9mbikgKGNoYXIgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90IHN0YXJ0dXBfZGF0 YV9sZW4pIHBnX2F0dHJpYnV0ZV9ub3JldHVybigpOworCXZvaWQJCSgqbWFpbl9mbikgKGNv bnN0IHZvaWQgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90IHN0YXJ0dXBfZGF0YV9sZW4pIHBnX2F0 dHJpYnV0ZV9ub3JldHVybigpOwogCWJvb2wJCXNobWVtX2F0dGFjaDsKIH0gY2hpbGRfcHJv Y2Vzc19raW5kOwogCkBAIC0yMjUsNyArMjI1LDcgQEAgUG9zdG1hc3RlckNoaWxkTmFtZShC YWNrZW5kVHlwZSBjaGlsZF90eXBlKQogICovCiBwaWRfdAogcG9zdG1hc3Rlcl9jaGlsZF9s YXVuY2goQmFja2VuZFR5cGUgY2hpbGRfdHlwZSwgaW50IGNoaWxkX3Nsb3QsCi0JCQkJCQlj aGFyICpzdGFydHVwX2RhdGEsIHNpemVfdCBzdGFydHVwX2RhdGFfbGVuLAorCQkJCQkJY29u c3Qgdm9pZCAqc3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9kYXRhX2xlbiwKIAkJCQkJ CUNsaWVudFNvY2tldCAqY2xpZW50X3NvY2spCiB7CiAJcGlkX3QJCXBpZDsKQEAgLTI4OSw3 ICsyODksNyBAQCBwb3N0bWFzdGVyX2NoaWxkX2xhdW5jaChCYWNrZW5kVHlwZSBjaGlsZF90 eXBlLCBpbnQgY2hpbGRfc2xvdCwKICAqLwogc3RhdGljIHBpZF90CiBpbnRlcm5hbF9mb3Jr ZXhlYyhjb25zdCBjaGFyICpjaGlsZF9raW5kLCBpbnQgY2hpbGRfc2xvdCwKLQkJCQkgIGNo YXIgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90IHN0YXJ0dXBfZGF0YV9sZW4sIENsaWVudFNvY2tl dCAqY2xpZW50X3NvY2spCisJCQkJICBjb25zdCB2b2lkICpzdGFydHVwX2RhdGEsIHNpemVf dCBzdGFydHVwX2RhdGFfbGVuLCBDbGllbnRTb2NrZXQgKmNsaWVudF9zb2NrKQogewogCXN0 YXRpYyB1bnNpZ25lZCBsb25nIHRtcEJhY2tlbmRGaWxlTnVtID0gMDsKIAlwaWRfdAkJcGlk OwpAQCAtMzk5LDcgKzM5OSw3IEBAIGludGVybmFsX2ZvcmtleGVjKGNvbnN0IGNoYXIgKmNo aWxkX2tpbmQsIGludCBjaGlsZF9zbG90LAogICovCiBzdGF0aWMgcGlkX3QKIGludGVybmFs X2ZvcmtleGVjKGNvbnN0IGNoYXIgKmNoaWxkX2tpbmQsIGludCBjaGlsZF9zbG90LAotCQkJ CSAgY2hhciAqc3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9kYXRhX2xlbiwgQ2xpZW50 U29ja2V0ICpjbGllbnRfc29jaykKKwkJCQkgIGNvbnN0IHZvaWQgKnN0YXJ0dXBfZGF0YSwg c2l6ZV90IHN0YXJ0dXBfZGF0YV9sZW4sIENsaWVudFNvY2tldCAqY2xpZW50X3NvY2spCiB7 CiAJaW50CQkJcmV0cnlfY291bnQgPSAwOwogCVNUQVJUVVBJTkZPIHNpOwpAQCAtNTgxLDcg KzU4MSw3IEBAIGludGVybmFsX2ZvcmtleGVjKGNvbnN0IGNoYXIgKmNoaWxkX2tpbmQsIGlu dCBjaGlsZF9zbG90LAogdm9pZAogU3ViUG9zdG1hc3Rlck1haW4oaW50IGFyZ2MsIGNoYXIg KmFyZ3ZbXSkKIHsKLQljaGFyCSAgICpzdGFydHVwX2RhdGE7CisJdm9pZAkgICAqc3RhcnR1 cF9kYXRhOwogCXNpemVfdAkJc3RhcnR1cF9kYXRhX2xlbjsKIAljaGFyCSAgICpjaGlsZF9r aW5kOwogCUJhY2tlbmRUeXBlIGNoaWxkX3R5cGU7CkBAIC02OTksNyArNjk5LDcgQEAgc2F2 ZV9iYWNrZW5kX3ZhcmlhYmxlcyhCYWNrZW5kUGFyYW1ldGVycyAqcGFyYW0sCiAjaWZkZWYg V0lOMzIKIAkJCQkJICAgSEFORExFIGNoaWxkUHJvY2VzcywgcGlkX3QgY2hpbGRQaWQsCiAj ZW5kaWYKLQkJCQkJICAgY2hhciAqc3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9kYXRh X2xlbikKKwkJCQkJICAgY29uc3Qgdm9pZCAqc3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1 cF9kYXRhX2xlbikKIHsKIAlpZiAoY2xpZW50X3NvY2spCiAJCW1lbWNweSgmcGFyYW0tPmNs aWVudF9zb2NrLCBjbGllbnRfc29jaywgc2l6ZW9mKENsaWVudFNvY2tldCkpOwpAQCAtODY3 LDcgKzg2Nyw3IEBAIHJlYWRfaW5oZXJpdGFibGVfc29ja2V0KFNPQ0tFVCAqZGVzdCwgSW5o ZXJpdGFibGVTb2NrZXQgKnNyYykKICNlbmRpZgogCiBzdGF0aWMgdm9pZAotcmVhZF9iYWNr ZW5kX3ZhcmlhYmxlcyhjaGFyICppZCwgY2hhciAqKnN0YXJ0dXBfZGF0YSwgc2l6ZV90ICpz dGFydHVwX2RhdGFfbGVuKQorcmVhZF9iYWNrZW5kX3ZhcmlhYmxlcyhjaGFyICppZCwgdm9p ZCAqKnN0YXJ0dXBfZGF0YSwgc2l6ZV90ICpzdGFydHVwX2RhdGFfbGVuKQogewogCUJhY2tl bmRQYXJhbWV0ZXJzIHBhcmFtOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wb3N0bWFz dGVyL3BnYXJjaC5jIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wZ2FyY2guYwppbmRleCAx MmVlODE1YTYyNi4uZTZjZDc4Njc5Y2UgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bvc3Rt YXN0ZXIvcGdhcmNoLmMKKysrIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wZ2FyY2guYwpA QCAtMjE0LDcgKzIxNCw3IEBAIFBnQXJjaENhblJlc3RhcnQodm9pZCkKIAogLyogTWFpbiBl bnRyeSBwb2ludCBmb3IgYXJjaGl2ZXIgcHJvY2VzcyAqLwogdm9pZAotUGdBcmNoaXZlck1h aW4oY2hhciAqc3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9kYXRhX2xlbikKK1BnQXJj aGl2ZXJNYWluKGNvbnN0IHZvaWQgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90IHN0YXJ0dXBfZGF0 YV9sZW4pCiB7CiAJQXNzZXJ0KHN0YXJ0dXBfZGF0YV9sZW4gPT0gMCk7CiAKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5jIGIvc3JjL2JhY2tlbmQv cG9zdG1hc3Rlci9wb3N0bWFzdGVyLmMKaW5kZXggYmIyMmIxM2FkZWYuLjVkZDNiNmE0ZmQ0 IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bvc3RtYXN0ZXIuYworKysg Yi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bvc3RtYXN0ZXIuYwpAQCAtMzUxNyw3ICszNTE3 LDcgQEAgQmFja2VuZFN0YXJ0dXAoQ2xpZW50U29ja2V0ICpjbGllbnRfc29jaykKIAlibi0+ Ymd3b3JrZXJfbm90aWZ5ID0gZmFsc2U7CiAKIAlwaWQgPSBwb3N0bWFzdGVyX2NoaWxkX2xh dW5jaChibi0+YmtlbmRfdHlwZSwgYm4tPmNoaWxkX3Nsb3QsCi0JCQkJCQkJCSAgKGNoYXIg KikgJnN0YXJ0dXBfZGF0YSwgc2l6ZW9mKHN0YXJ0dXBfZGF0YSksCisJCQkJCQkJCSAgJnN0 YXJ0dXBfZGF0YSwgc2l6ZW9mKHN0YXJ0dXBfZGF0YSksCiAJCQkJCQkJCSAgY2xpZW50X3Nv Y2spOwogCWlmIChwaWQgPCAwKQogCXsKQEAgLTQwODAsNyArNDA4MCw3IEBAIFN0YXJ0QmFj a2dyb3VuZFdvcmtlcihSZWdpc3RlcmVkQmdXb3JrZXIgKnJ3KQogCQkJCQkJCSBydy0+cndf d29ya2VyLmJnd19uYW1lKSkpOwogCiAJd29ya2VyX3BpZCA9IHBvc3RtYXN0ZXJfY2hpbGRf bGF1bmNoKEJfQkdfV09SS0VSLCBibi0+Y2hpbGRfc2xvdCwKLQkJCQkJCQkJCQkgKGNoYXIg KikgJnJ3LT5yd193b3JrZXIsIHNpemVvZihCYWNrZ3JvdW5kV29ya2VyKSwgTlVMTCk7CisJ CQkJCQkJCQkJICZydy0+cndfd29ya2VyLCBzaXplb2YoQmFja2dyb3VuZFdvcmtlciksIE5V TEwpOwogCWlmICh3b3JrZXJfcGlkID09IC0xKQogCXsKIAkJLyogaW4gcG9zdG1hc3Rlciwg Zm9yayBmYWlsZWQgLi4uICovCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVy L3N0YXJ0dXAuYyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvc3RhcnR1cC5jCmluZGV4IDU5 ZDIxMzAzMWIzLi44OGVhYjNkMGJhZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcG9zdG1h c3Rlci9zdGFydHVwLmMKKysrIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9zdGFydHVwLmMK QEAgLTIxMyw3ICsyMTMsNyBAQCBTdGFydHVwUHJvY0V4aXQoaW50IGNvZGUsIERhdHVtIGFy ZykKICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwogdm9pZAot U3RhcnR1cFByb2Nlc3NNYWluKGNoYXIgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90IHN0YXJ0dXBf ZGF0YV9sZW4pCitTdGFydHVwUHJvY2Vzc01haW4oY29uc3Qgdm9pZCAqc3RhcnR1cF9kYXRh LCBzaXplX3Qgc3RhcnR1cF9kYXRhX2xlbikKIHsKIAlBc3NlcnQoc3RhcnR1cF9kYXRhX2xl biA9PSAwKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9zeXNsb2dn ZXIuYyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvc3lzbG9nZ2VyLmMKaW5kZXggN2U5YjNm MmEwZmQuLjUwYzJlZGVjMWY2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVy L3N5c2xvZ2dlci5jCisrKyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvc3lzbG9nZ2VyLmMK QEAgLTE2Miw3ICsxNjIsNyBAQCB0eXBlZGVmIHN0cnVjdAogICogYXJnYy9hcmd2IHBhcmFt ZXRlcnMgYXJlIHZhbGlkIG9ubHkgaW4gRVhFQ19CQUNLRU5EIGNhc2UuCiAgKi8KIHZvaWQK LVN5c0xvZ2dlck1haW4oY2hhciAqc3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9kYXRh X2xlbikKK1N5c0xvZ2dlck1haW4oY29uc3Qgdm9pZCAqc3RhcnR1cF9kYXRhLCBzaXplX3Qg c3RhcnR1cF9kYXRhX2xlbikKIHsKICNpZm5kZWYgV0lOMzIKIAljaGFyCQlsb2didWZmZXJb UkVBRF9CVUZfU0laRV07CkBAIC0xODMsNyArMTgzLDcgQEAgU3lzTG9nZ2VyTWFpbihjaGFy ICpzdGFydHVwX2RhdGEsIHNpemVfdCBzdGFydHVwX2RhdGFfbGVuKQogCSAqLwogI2lmZGVm IEVYRUNfQkFDS0VORAogCXsKLQkJU3lzbG9nZ2VyU3RhcnR1cERhdGEgKnNsc2RhdGEgPSAo U3lzbG9nZ2VyU3RhcnR1cERhdGEgKikgc3RhcnR1cF9kYXRhOworCQljb25zdCBTeXNsb2dn ZXJTdGFydHVwRGF0YSAqc2xzZGF0YSA9IHN0YXJ0dXBfZGF0YTsKIAogCQlBc3NlcnQoc3Rh cnR1cF9kYXRhX2xlbiA9PSBzaXplb2YoKnNsc2RhdGEpKTsKIAkJc3lzbG9nRmlsZSA9IHN5 c2xvZ2dlcl9mZG9wZW4oc2xzZGF0YS0+c3lzbG9nRmlsZSk7CkBAIC02OTksNyArNjk5LDcg QEAgU3lzTG9nZ2VyX1N0YXJ0KGludCBjaGlsZF9zbG90KQogCXN0YXJ0dXBfZGF0YS5jc3Zs b2dGaWxlID0gc3lzbG9nZ2VyX2ZkZ2V0KGNzdmxvZ0ZpbGUpOwogCXN0YXJ0dXBfZGF0YS5q c29ubG9nRmlsZSA9IHN5c2xvZ2dlcl9mZGdldChqc29ubG9nRmlsZSk7CiAJc3lzbG9nZ2Vy UGlkID0gcG9zdG1hc3Rlcl9jaGlsZF9sYXVuY2goQl9MT0dHRVIsIGNoaWxkX3Nsb3QsCi0J CQkJCQkJCQkJICAgKGNoYXIgKikgJnN0YXJ0dXBfZGF0YSwgc2l6ZW9mKHN0YXJ0dXBfZGF0 YSksIE5VTEwpOworCQkJCQkJCQkJCSAgICZzdGFydHVwX2RhdGEsIHNpemVvZihzdGFydHVw X2RhdGEpLCBOVUxMKTsKICNlbHNlCiAJc3lzbG9nZ2VyUGlkID0gcG9zdG1hc3Rlcl9jaGls ZF9sYXVuY2goQl9MT0dHRVIsIGNoaWxkX3Nsb3QsCiAJCQkJCQkJCQkJICAgTlVMTCwgMCwg TlVMTCk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3dhbHN1bW1hcml6 ZXIuYyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvd2Fsc3VtbWFyaXplci5jCmluZGV4IGZm YmYwNDM5MzU4Li5mNGQ2MWMxZjNiYiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcG9zdG1h c3Rlci93YWxzdW1tYXJpemVyLmMKKysrIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci93YWxz dW1tYXJpemVyLmMKQEAgLTIwOCw3ICsyMDgsNyBAQCBXYWxTdW1tYXJpemVyU2htZW1Jbml0 KHZvaWQpCiAgKiBFbnRyeSBwb2ludCBmb3Igd2Fsc3VtbWFyaXplciBwcm9jZXNzLgogICov CiB2b2lkCi1XYWxTdW1tYXJpemVyTWFpbihjaGFyICpzdGFydHVwX2RhdGEsIHNpemVfdCBz dGFydHVwX2RhdGFfbGVuKQorV2FsU3VtbWFyaXplck1haW4oY29uc3Qgdm9pZCAqc3RhcnR1 cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9kYXRhX2xlbikKIHsKIAlzaWdqbXBfYnVmCWxvY2Fs X3NpZ2ptcF9idWY7CiAJTWVtb3J5Q29udGV4dCBjb250ZXh0OwpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvcG9zdG1hc3Rlci93YWx3cml0ZXIuYyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0 ZXIvd2Fsd3JpdGVyLmMKaW5kZXggZGY0Zjc2MzQ5NjkuLjE1YTcxYWQ2ODRkIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3dhbHdyaXRlci5jCisrKyBiL3NyYy9iYWNr ZW5kL3Bvc3RtYXN0ZXIvd2Fsd3JpdGVyLmMKQEAgLTg0LDcgKzg0LDcgQEAgaW50CQkJV2Fs V3JpdGVyRmx1c2hBZnRlciA9IERFRkFVTFRfV0FMX1dSSVRFUl9GTFVTSF9BRlRFUjsKICAq IGJhc2ljIGV4ZWN1dGlvbiBlbnZpcm9ubWVudCwgYnV0IG5vdCBlbmFibGVkIHNpZ25hbHMg eWV0LgogICovCiB2b2lkCi1XYWxXcml0ZXJNYWluKGNoYXIgKnN0YXJ0dXBfZGF0YSwgc2l6 ZV90IHN0YXJ0dXBfZGF0YV9sZW4pCitXYWxXcml0ZXJNYWluKGNvbnN0IHZvaWQgKnN0YXJ0 dXBfZGF0YSwgc2l6ZV90IHN0YXJ0dXBfZGF0YV9sZW4pCiB7CiAJc2lnam1wX2J1Zglsb2Nh bF9zaWdqbXBfYnVmOwogCU1lbW9yeUNvbnRleHQgd2Fsd3JpdGVyX2NvbnRleHQ7CmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Nsb3RzeW5jLmMgYi9z cmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Nsb3RzeW5jLmMKaW5kZXggOTg3ODU3 Yjk0OTEuLjJjMGE3NDM5YmU0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlv bi9sb2dpY2FsL3Nsb3RzeW5jLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9n aWNhbC9zbG90c3luYy5jCkBAIC0xMzI2LDcgKzEzMjYsNyBAQCByZXNldF9zeW5jaW5nX2Zs YWcoKQogICogaW5mb3JtYXRpb24gcGVyaW9kaWNhbGx5IGluIG9yZGVyIHRvIGNyZWF0ZSBh bmQgc3luYyB0aGUgc2xvdHMuCiAgKi8KIHZvaWQKLVJlcGxTbG90U3luY1dvcmtlck1haW4o Y2hhciAqc3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9kYXRhX2xlbikKK1JlcGxTbG90 U3luY1dvcmtlck1haW4oY29uc3Qgdm9pZCAqc3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1 cF9kYXRhX2xlbikKIHsKIAlXYWxSZWNlaXZlckNvbm4gKndyY29ubiA9IE5VTEw7CiAJY2hh cgkgICAqZGJuYW1lOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vd2Fs cmVjZWl2ZXIuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3dhbHJlY2VpdmVyLmMKaW5k ZXggYmQwOTI2MmUyN2QuLjgyZjczMDJmZjlmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9y ZXBsaWNhdGlvbi93YWxyZWNlaXZlci5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9u L3dhbHJlY2VpdmVyLmMKQEAgLTE4MCw3ICsxODAsNyBAQCBQcm9jZXNzV2FsUmN2SW50ZXJy dXB0cyh2b2lkKQogCiAvKiBNYWluIGVudHJ5IHBvaW50IGZvciB3YWxyZWNlaXZlciBwcm9j ZXNzICovCiB2b2lkCi1XYWxSZWNlaXZlck1haW4oY2hhciAqc3RhcnR1cF9kYXRhLCBzaXpl X3Qgc3RhcnR1cF9kYXRhX2xlbikKK1dhbFJlY2VpdmVyTWFpbihjb25zdCB2b2lkICpzdGFy dHVwX2RhdGEsIHNpemVfdCBzdGFydHVwX2RhdGFfbGVuKQogewogCWNoYXIJCWNvbm5pbmZv W01BWENPTk5JTkZPXTsKIAljaGFyCSAgICp0bXBfY29ubmluZm87CmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC90Y29wL2JhY2tlbmRfc3RhcnR1cC5jIGIvc3JjL2JhY2tlbmQvdGNvcC9i YWNrZW5kX3N0YXJ0dXAuYwppbmRleCBiZDk2NDBkMGViMS4uOWVlNzM4ZWIxZTAgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL3Rjb3AvYmFja2VuZF9zdGFydHVwLmMKKysrIGIvc3JjL2Jh Y2tlbmQvdGNvcC9iYWNrZW5kX3N0YXJ0dXAuYwpAQCAtNTYsOSArNTYsOSBAQCBzdGF0aWMg dm9pZCBTdGFydHVwUGFja2V0VGltZW91dEhhbmRsZXIodm9pZCk7CiAgKiBjbGllbnQsIGFu ZCBzdGFydCB0aGUgbWFpbiBwcm9jZXNzaW5nIGxvb3AuCiAgKi8KIHZvaWQKLUJhY2tlbmRN YWluKGNoYXIgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90IHN0YXJ0dXBfZGF0YV9sZW4pCitCYWNr ZW5kTWFpbihjb25zdCB2b2lkICpzdGFydHVwX2RhdGEsIHNpemVfdCBzdGFydHVwX2RhdGFf bGVuKQogewotCUJhY2tlbmRTdGFydHVwRGF0YSAqYnNkYXRhID0gKEJhY2tlbmRTdGFydHVw RGF0YSAqKSBzdGFydHVwX2RhdGE7CisJY29uc3QgQmFja2VuZFN0YXJ0dXBEYXRhICpic2Rh dGEgPSBzdGFydHVwX2RhdGE7CiAKIAlBc3NlcnQoc3RhcnR1cF9kYXRhX2xlbiA9PSBzaXpl b2YoQmFja2VuZFN0YXJ0dXBEYXRhKSk7CiAJQXNzZXJ0KE15Q2xpZW50U29ja2V0ICE9IE5V TEwpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcG9zdG1hc3Rlci9hdXRvdmFjdXVtLmgg Yi9zcmMvaW5jbHVkZS9wb3N0bWFzdGVyL2F1dG92YWN1dW0uaAppbmRleCA1NGUwMWM4MWQ2 OC4uYzBiNmNlOTA3MmQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3Bvc3RtYXN0ZXIvYXV0 b3ZhY3V1bS5oCisrKyBiL3NyYy9pbmNsdWRlL3Bvc3RtYXN0ZXIvYXV0b3ZhY3V1bS5oCkBA IC01Nyw4ICs1Nyw4IEBAIGV4dGVybiB2b2lkIGF1dG92YWNfaW5pdCh2b2lkKTsKIC8qIGNh bGxlZCBmcm9tIHBvc3RtYXN0ZXIgd2hlbiBhIHdvcmtlciBjb3VsZCBub3QgYmUgZm9ya2Vk ICovCiBleHRlcm4gdm9pZCBBdXRvVmFjV29ya2VyRmFpbGVkKHZvaWQpOwogCi1leHRlcm4g dm9pZCBBdXRvVmFjTGF1bmNoZXJNYWluKGNoYXIgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90IHN0 YXJ0dXBfZGF0YV9sZW4pIHBnX2F0dHJpYnV0ZV9ub3JldHVybigpOwotZXh0ZXJuIHZvaWQg QXV0b1ZhY1dvcmtlck1haW4oY2hhciAqc3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9k YXRhX2xlbikgcGdfYXR0cmlidXRlX25vcmV0dXJuKCk7CitleHRlcm4gdm9pZCBBdXRvVmFj TGF1bmNoZXJNYWluKGNvbnN0IHZvaWQgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90IHN0YXJ0dXBf ZGF0YV9sZW4pIHBnX2F0dHJpYnV0ZV9ub3JldHVybigpOworZXh0ZXJuIHZvaWQgQXV0b1Zh Y1dvcmtlck1haW4oY29uc3Qgdm9pZCAqc3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9k YXRhX2xlbikgcGdfYXR0cmlidXRlX25vcmV0dXJuKCk7CiAKIGV4dGVybiBib29sIEF1dG9W YWN1dW1SZXF1ZXN0V29yayhBdXRvVmFjdXVtV29ya0l0ZW1UeXBlIHR5cGUsCiAJCQkJCQkJ CSAgT2lkIHJlbGF0aW9uSWQsIEJsb2NrTnVtYmVyIGJsa25vKTsKZGlmZiAtLWdpdCBhL3Ny Yy9pbmNsdWRlL3Bvc3RtYXN0ZXIvYmd3b3JrZXJfaW50ZXJuYWxzLmggYi9zcmMvaW5jbHVk ZS9wb3N0bWFzdGVyL2Jnd29ya2VyX2ludGVybmFscy5oCmluZGV4IDA5MmIxNjEwNjYzLi4y OWU2ZjQ0Y2YwOCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcG9zdG1hc3Rlci9iZ3dvcmtl cl9pbnRlcm5hbHMuaAorKysgYi9zcmMvaW5jbHVkZS9wb3N0bWFzdGVyL2Jnd29ya2VyX2lu dGVybmFscy5oCkBAIC01Miw2ICs1Miw2IEBAIGV4dGVybiB2b2lkIEZvcmdldFVuc3RhcnRl ZEJhY2tncm91bmRXb3JrZXJzKHZvaWQpOwogZXh0ZXJuIHZvaWQgUmVzZXRCYWNrZ3JvdW5k V29ya2VyQ3Jhc2hUaW1lcyh2b2lkKTsKIAogLyogRW50cnkgcG9pbnQgZm9yIGJhY2tncm91 bmQgd29ya2VyIHByb2Nlc3NlcyAqLwotZXh0ZXJuIHZvaWQgQmFja2dyb3VuZFdvcmtlck1h aW4oY2hhciAqc3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9kYXRhX2xlbikgcGdfYXR0 cmlidXRlX25vcmV0dXJuKCk7CitleHRlcm4gdm9pZCBCYWNrZ3JvdW5kV29ya2VyTWFpbihj b25zdCB2b2lkICpzdGFydHVwX2RhdGEsIHNpemVfdCBzdGFydHVwX2RhdGFfbGVuKSBwZ19h dHRyaWJ1dGVfbm9yZXR1cm4oKTsKIAogI2VuZGlmCQkJCQkJCS8qIEJHV09SS0VSX0lOVEVS TkFMU19IICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wb3N0bWFzdGVyL2Jnd3JpdGVy LmggYi9zcmMvaW5jbHVkZS9wb3N0bWFzdGVyL2Jnd3JpdGVyLmgKaW5kZXggMmQ1ODU0ZTY4 NzkuLjRmZDcxNzE2OWYwIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wb3N0bWFzdGVyL2Jn d3JpdGVyLmgKKysrIGIvc3JjL2luY2x1ZGUvcG9zdG1hc3Rlci9iZ3dyaXRlci5oCkBAIC0y Nyw4ICsyNyw4IEBAIGV4dGVybiBQR0RMTElNUE9SVCBpbnQgQ2hlY2tQb2ludFRpbWVvdXQ7 CiBleHRlcm4gUEdETExJTVBPUlQgaW50IENoZWNrUG9pbnRXYXJuaW5nOwogZXh0ZXJuIFBH RExMSU1QT1JUIGRvdWJsZSBDaGVja1BvaW50Q29tcGxldGlvblRhcmdldDsKIAotZXh0ZXJu IHZvaWQgQmFja2dyb3VuZFdyaXRlck1haW4oY2hhciAqc3RhcnR1cF9kYXRhLCBzaXplX3Qg c3RhcnR1cF9kYXRhX2xlbikgcGdfYXR0cmlidXRlX25vcmV0dXJuKCk7Ci1leHRlcm4gdm9p ZCBDaGVja3BvaW50ZXJNYWluKGNoYXIgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90IHN0YXJ0dXBf ZGF0YV9sZW4pIHBnX2F0dHJpYnV0ZV9ub3JldHVybigpOworZXh0ZXJuIHZvaWQgQmFja2dy b3VuZFdyaXRlck1haW4oY29uc3Qgdm9pZCAqc3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1 cF9kYXRhX2xlbikgcGdfYXR0cmlidXRlX25vcmV0dXJuKCk7CitleHRlcm4gdm9pZCBDaGVj a3BvaW50ZXJNYWluKGNvbnN0IHZvaWQgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90IHN0YXJ0dXBf ZGF0YV9sZW4pIHBnX2F0dHJpYnV0ZV9ub3JldHVybigpOwogCiBleHRlcm4gdm9pZCBSZXF1 ZXN0Q2hlY2twb2ludChpbnQgZmxhZ3MpOwogZXh0ZXJuIHZvaWQgQ2hlY2twb2ludFdyaXRl RGVsYXkoaW50IGZsYWdzLCBkb3VibGUgcHJvZ3Jlc3MpOwpkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvcG9zdG1hc3Rlci9wZ2FyY2guaCBiL3NyYy9pbmNsdWRlL3Bvc3RtYXN0ZXIvcGdh cmNoLmgKaW5kZXggOGZjNmJmZWVjMWIuLmEzMmQ3OGZlYjI3IDEwMDY0NAotLS0gYS9zcmMv aW5jbHVkZS9wb3N0bWFzdGVyL3BnYXJjaC5oCisrKyBiL3NyYy9pbmNsdWRlL3Bvc3RtYXN0 ZXIvcGdhcmNoLmgKQEAgLTI5LDcgKzI5LDcgQEAKIGV4dGVybiBTaXplIFBnQXJjaFNobWVt U2l6ZSh2b2lkKTsKIGV4dGVybiB2b2lkIFBnQXJjaFNobWVtSW5pdCh2b2lkKTsKIGV4dGVy biBib29sIFBnQXJjaENhblJlc3RhcnQodm9pZCk7Ci1leHRlcm4gdm9pZCBQZ0FyY2hpdmVy TWFpbihjaGFyICpzdGFydHVwX2RhdGEsIHNpemVfdCBzdGFydHVwX2RhdGFfbGVuKSBwZ19h dHRyaWJ1dGVfbm9yZXR1cm4oKTsKK2V4dGVybiB2b2lkIFBnQXJjaGl2ZXJNYWluKGNvbnN0 IHZvaWQgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90IHN0YXJ0dXBfZGF0YV9sZW4pIHBnX2F0dHJp YnV0ZV9ub3JldHVybigpOwogZXh0ZXJuIHZvaWQgUGdBcmNoV2FrZXVwKHZvaWQpOwogZXh0 ZXJuIHZvaWQgUGdBcmNoRm9yY2VEaXJTY2FuKHZvaWQpOwogCmRpZmYgLS1naXQgYS9zcmMv aW5jbHVkZS9wb3N0bWFzdGVyL3Bvc3RtYXN0ZXIuaCBiL3NyYy9pbmNsdWRlL3Bvc3RtYXN0 ZXIvcG9zdG1hc3Rlci5oCmluZGV4IDE4OGEwNmUyMzc5Li5kOGE5ZjE0YjNiOCAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvcG9zdG1hc3Rlci9wb3N0bWFzdGVyLmgKKysrIGIvc3JjL2lu Y2x1ZGUvcG9zdG1hc3Rlci9wb3N0bWFzdGVyLmgKQEAgLTEwOSw3ICsxMDksNyBAQCBleHRl cm4gUEdETExJTVBPUlQgc3RydWN0IENsaWVudFNvY2tldCAqTXlDbGllbnRTb2NrZXQ7CiAv KiBwcm90b3R5cGVzIGZvciBmdW5jdGlvbnMgaW4gbGF1bmNoX2JhY2tlbmQuYyAqLwogZXh0 ZXJuIHBpZF90IHBvc3RtYXN0ZXJfY2hpbGRfbGF1bmNoKEJhY2tlbmRUeXBlIGNoaWxkX3R5 cGUsCiAJCQkJCQkJCQkgaW50IGNoaWxkX3Nsb3QsCi0JCQkJCQkJCQkgY2hhciAqc3RhcnR1 cF9kYXRhLAorCQkJCQkJCQkJIGNvbnN0IHZvaWQgKnN0YXJ0dXBfZGF0YSwKIAkJCQkJCQkJ CSBzaXplX3Qgc3RhcnR1cF9kYXRhX2xlbiwKIAkJCQkJCQkJCSBzdHJ1Y3QgQ2xpZW50U29j a2V0ICpjbGllbnRfc29jayk7CiBjb25zdCBjaGFyICpQb3N0bWFzdGVyQ2hpbGROYW1lKEJh Y2tlbmRUeXBlIGNoaWxkX3R5cGUpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcG9zdG1h c3Rlci9zdGFydHVwLmggYi9zcmMvaW5jbHVkZS9wb3N0bWFzdGVyL3N0YXJ0dXAuaAppbmRl eCA3MzZjOTdkMTIxYS4uYWUwZjYzNDdmYzAgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3Bv c3RtYXN0ZXIvc3RhcnR1cC5oCisrKyBiL3NyYy9pbmNsdWRlL3Bvc3RtYXN0ZXIvc3RhcnR1 cC5oCkBAIC0yNiw3ICsyNiw3IEBACiBleHRlcm4gUEdETExJTVBPUlQgaW50IGxvZ19zdGFy dHVwX3Byb2dyZXNzX2ludGVydmFsOwogCiBleHRlcm4gdm9pZCBIYW5kbGVTdGFydHVwUHJv Y0ludGVycnVwdHModm9pZCk7Ci1leHRlcm4gdm9pZCBTdGFydHVwUHJvY2Vzc01haW4oY2hh ciAqc3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9kYXRhX2xlbikgcGdfYXR0cmlidXRl X25vcmV0dXJuKCk7CitleHRlcm4gdm9pZCBTdGFydHVwUHJvY2Vzc01haW4oY29uc3Qgdm9p ZCAqc3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9kYXRhX2xlbikgcGdfYXR0cmlidXRl X25vcmV0dXJuKCk7CiBleHRlcm4gdm9pZCBQcmVSZXN0b3JlQ29tbWFuZCh2b2lkKTsKIGV4 dGVybiB2b2lkIFBvc3RSZXN0b3JlQ29tbWFuZCh2b2lkKTsKIGV4dGVybiBib29sIElzUHJv bW90ZVNpZ25hbGVkKHZvaWQpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcG9zdG1hc3Rl ci9zeXNsb2dnZXIuaCBiL3NyYy9pbmNsdWRlL3Bvc3RtYXN0ZXIvc3lzbG9nZ2VyLmgKaW5k ZXggZTkyZDg1MzE0NzguLjE5N2Q4ZTQzZmRkIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9w b3N0bWFzdGVyL3N5c2xvZ2dlci5oCisrKyBiL3NyYy9pbmNsdWRlL3Bvc3RtYXN0ZXIvc3lz bG9nZ2VyLmgKQEAgLTkwLDcgKzkwLDcgQEAgZXh0ZXJuIGludAlTeXNMb2dnZXJfU3RhcnQo aW50IGNoaWxkX3Nsb3QpOwogCiBleHRlcm4gdm9pZCB3cml0ZV9zeXNsb2dnZXJfZmlsZShj b25zdCBjaGFyICpidWZmZXIsIGludCBjb3VudCwgaW50IGRlc3RpbmF0aW9uKTsKIAotZXh0 ZXJuIHZvaWQgU3lzTG9nZ2VyTWFpbihjaGFyICpzdGFydHVwX2RhdGEsIHNpemVfdCBzdGFy dHVwX2RhdGFfbGVuKSBwZ19hdHRyaWJ1dGVfbm9yZXR1cm4oKTsKK2V4dGVybiB2b2lkIFN5 c0xvZ2dlck1haW4oY29uc3Qgdm9pZCAqc3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9k YXRhX2xlbikgcGdfYXR0cmlidXRlX25vcmV0dXJuKCk7CiAKIGV4dGVybiBib29sIENoZWNr TG9ncm90YXRlU2lnbmFsKHZvaWQpOwogZXh0ZXJuIHZvaWQgUmVtb3ZlTG9ncm90YXRlU2ln bmFsRmlsZXModm9pZCk7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wb3N0bWFzdGVyL3dh bHN1bW1hcml6ZXIuaCBiL3NyYy9pbmNsdWRlL3Bvc3RtYXN0ZXIvd2Fsc3VtbWFyaXplci5o CmluZGV4IGJmZTg2NjYzY2NiLi5lMTA4NmQwMmM4YiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1 ZGUvcG9zdG1hc3Rlci93YWxzdW1tYXJpemVyLmgKKysrIGIvc3JjL2luY2x1ZGUvcG9zdG1h c3Rlci93YWxzdW1tYXJpemVyLmgKQEAgLTIxLDcgKzIxLDcgQEAgZXh0ZXJuIFBHRExMSU1Q T1JUIGludCB3YWxfc3VtbWFyeV9rZWVwX3RpbWU7CiAKIGV4dGVybiBTaXplIFdhbFN1bW1h cml6ZXJTaG1lbVNpemUodm9pZCk7CiBleHRlcm4gdm9pZCBXYWxTdW1tYXJpemVyU2htZW1J bml0KHZvaWQpOwotZXh0ZXJuIHZvaWQgV2FsU3VtbWFyaXplck1haW4oY2hhciAqc3RhcnR1 cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9kYXRhX2xlbikgcGdfYXR0cmlidXRlX25vcmV0dXJu KCk7CitleHRlcm4gdm9pZCBXYWxTdW1tYXJpemVyTWFpbihjb25zdCB2b2lkICpzdGFydHVw X2RhdGEsIHNpemVfdCBzdGFydHVwX2RhdGFfbGVuKSBwZ19hdHRyaWJ1dGVfbm9yZXR1cm4o KTsKIAogZXh0ZXJuIHZvaWQgR2V0V2FsU3VtbWFyaXplclN0YXRlKFRpbWVMaW5lSUQgKnN1 bW1hcml6ZWRfdGxpLAogCQkJCQkJCQkgIFhMb2dSZWNQdHIgKnN1bW1hcml6ZWRfbHNuLApk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcG9zdG1hc3Rlci93YWx3cml0ZXIuaCBiL3NyYy9p bmNsdWRlL3Bvc3RtYXN0ZXIvd2Fsd3JpdGVyLmgKaW5kZXggOWZjM2M2NjU3NzQuLmVhOGMy MmIxNzRmIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wb3N0bWFzdGVyL3dhbHdyaXRlci5o CisrKyBiL3NyYy9pbmNsdWRlL3Bvc3RtYXN0ZXIvd2Fsd3JpdGVyLmgKQEAgLTE4LDYgKzE4 LDYgQEAKIGV4dGVybiBQR0RMTElNUE9SVCBpbnQgV2FsV3JpdGVyRGVsYXk7CiBleHRlcm4g UEdETExJTVBPUlQgaW50IFdhbFdyaXRlckZsdXNoQWZ0ZXI7CiAKLWV4dGVybiB2b2lkIFdh bFdyaXRlck1haW4oY2hhciAqc3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9kYXRhX2xl bikgcGdfYXR0cmlidXRlX25vcmV0dXJuKCk7CitleHRlcm4gdm9pZCBXYWxXcml0ZXJNYWlu KGNvbnN0IHZvaWQgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90IHN0YXJ0dXBfZGF0YV9sZW4pIHBn X2F0dHJpYnV0ZV9ub3JldHVybigpOwogCiAjZW5kaWYJCQkJCQkJLyogX1dBTFdSSVRFUl9I ICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9zbG90c3luYy5oIGIv c3JjL2luY2x1ZGUvcmVwbGljYXRpb24vc2xvdHN5bmMuaAppbmRleCAzZmFkMjdmMGE2My4u NmNkZTdmODFjZWMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3Nsb3Rz eW5jLmgKKysrIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vc2xvdHN5bmMuaApAQCAtMjYs NyArMjYsNyBAQCBleHRlcm4gUEdETExJTVBPUlQgY2hhciAqUHJpbWFyeVNsb3ROYW1lOwog ZXh0ZXJuIGNoYXIgKkNoZWNrQW5kR2V0RGJuYW1lRnJvbUNvbm5pbmZvKHZvaWQpOwogZXh0 ZXJuIGJvb2wgVmFsaWRhdGVTbG90U3luY1BhcmFtcyhpbnQgZWxldmVsKTsKIAotZXh0ZXJu IHZvaWQgUmVwbFNsb3RTeW5jV29ya2VyTWFpbihjaGFyICpzdGFydHVwX2RhdGEsIHNpemVf dCBzdGFydHVwX2RhdGFfbGVuKSBwZ19hdHRyaWJ1dGVfbm9yZXR1cm4oKTsKK2V4dGVybiB2 b2lkIFJlcGxTbG90U3luY1dvcmtlck1haW4oY29uc3Qgdm9pZCAqc3RhcnR1cF9kYXRhLCBz aXplX3Qgc3RhcnR1cF9kYXRhX2xlbikgcGdfYXR0cmlidXRlX25vcmV0dXJuKCk7CiAKIGV4 dGVybiB2b2lkIFNodXREb3duU2xvdFN5bmModm9pZCk7CiBleHRlcm4gYm9vbCBTbG90U3lu Y1dvcmtlckNhblJlc3RhcnQodm9pZCk7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9yZXBs aWNhdGlvbi93YWxyZWNlaXZlci5oIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vd2FscmVj ZWl2ZXIuaAppbmRleCAyMDQ0MTliZDhhMy4uOTkyYmU5M2NjZTggMTAwNjQ0Ci0tLSBhL3Ny Yy9pbmNsdWRlL3JlcGxpY2F0aW9uL3dhbHJlY2VpdmVyLmgKKysrIGIvc3JjL2luY2x1ZGUv cmVwbGljYXRpb24vd2FscmVjZWl2ZXIuaApAQCAtNDg2LDcgKzQ4Niw3IEBAIHdhbHJjdl9j bGVhcl9yZXN1bHQoV2FsUmN2RXhlY1Jlc3VsdCAqd2FscmVzKQogfQogCiAvKiBwcm90b3R5 cGVzIGZvciBmdW5jdGlvbnMgaW4gd2FscmVjZWl2ZXIuYyAqLwotZXh0ZXJuIHZvaWQgV2Fs UmVjZWl2ZXJNYWluKGNoYXIgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90IHN0YXJ0dXBfZGF0YV9s ZW4pIHBnX2F0dHJpYnV0ZV9ub3JldHVybigpOworZXh0ZXJuIHZvaWQgV2FsUmVjZWl2ZXJN YWluKGNvbnN0IHZvaWQgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90IHN0YXJ0dXBfZGF0YV9sZW4p IHBnX2F0dHJpYnV0ZV9ub3JldHVybigpOwogZXh0ZXJuIHZvaWQgUHJvY2Vzc1dhbFJjdklu dGVycnVwdHModm9pZCk7CiBleHRlcm4gdm9pZCBXYWxSY3ZGb3JjZVJlcGx5KHZvaWQpOwog CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS90Y29wL2JhY2tlbmRfc3RhcnR1cC5oIGIvc3Jj L2luY2x1ZGUvdGNvcC9iYWNrZW5kX3N0YXJ0dXAuaAppbmRleCAwMWJhZjRhYWQ3NS4uNzMy ODU2MTEyMDMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3Rjb3AvYmFja2VuZF9zdGFydHVw LmgKKysrIGIvc3JjL2luY2x1ZGUvdGNvcC9iYWNrZW5kX3N0YXJ0dXAuaApAQCAtMzksNiAr MzksNiBAQCB0eXBlZGVmIHN0cnVjdCBCYWNrZW5kU3RhcnR1cERhdGEKIAlDQUNfc3RhdGUJ Y2FuQWNjZXB0Q29ubmVjdGlvbnM7CiB9IEJhY2tlbmRTdGFydHVwRGF0YTsKIAotZXh0ZXJu IHZvaWQgQmFja2VuZE1haW4oY2hhciAqc3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9k YXRhX2xlbikgcGdfYXR0cmlidXRlX25vcmV0dXJuKCk7CitleHRlcm4gdm9pZCBCYWNrZW5k TWFpbihjb25zdCB2b2lkICpzdGFydHVwX2RhdGEsIHNpemVfdCBzdGFydHVwX2RhdGFfbGVu KSBwZ19hdHRyaWJ1dGVfbm9yZXR1cm4oKTsKIAogI2VuZGlmCQkJCQkJCS8qIEJBQ0tFTkRf U1RBUlRVUF9IICovCi0tIAoyLjQ4LjEKCg== --------------I3oyUgo30pfczihe9dmbqaUa Content-Type: text/plain; charset=UTF-8; name="0006-backend-libpq-void-argument-for-binary-data.patch" Content-Disposition: attachment; filename="0006-backend-libpq-void-argument-for-binary-data.patch" Content-Transfer-Encoding: base64 RnJvbSBjMGJmMGU4MTA2N2QwOTU4ZTlhYThmMTEzMDJkNTIxODVmMDA5ZWM3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVHVlLCAyNCBTZXAgMjAyNCAxMjoxMTo0OSArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggMDYvMTBdIGJhY2tlbmQgbGlicHEgdm9pZCAqIGFyZ3VtZW50IGZvciBiaW5h cnkgZGF0YQoKQ2hhbmdlIHNvbWUgYmFja2VuZCBsaWJwcSBmdW5jdGlvbnMgdG8gdGFrZSB2 b2lkICogZm9yIGJpbmFyeSBkYXRhCmluc3RlYWQgb2YgY2hhciAqLiAgVGhpcyByZW1vdmVz IHRoZSBuZWVkIGZvciBudW1lcm91cyBjYXN0cy4KCmdldGJ5dGVzL3B1dGJ5dGVzIHZvaWQg KiBhcmd1bWVudAotLS0KIHNyYy9iYWNrZW5kL2xpYnBxL3BxY29tbS5jICAgICAgICAgfCAx MyArKysrKysrKy0tLS0tCiBzcmMvYmFja2VuZC9saWJwcS9wcWZvcm1hdC5jICAgICAgIHwg MTAgKysrKystLS0tLQogc3JjL2JhY2tlbmQvdGNvcC9iYWNrZW5kX3N0YXJ0dXAuYyB8ICAy ICstCiBzcmMvYmFja2VuZC91dGlscy9hZHQvdmFyYml0LmMgICAgIHwgIDQgKystLQogc3Jj L2luY2x1ZGUvbGlicHEvbGlicHEuaCAgICAgICAgICB8ICAyICstCiBzcmMvaW5jbHVkZS9s aWJwcS9wcWZvcm1hdC5oICAgICAgIHwgIDIgKy0KIDYgZmlsZXMgY2hhbmdlZCwgMTggaW5z ZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv bGlicHEvcHFjb21tLmMgYi9zcmMvYmFja2VuZC9saWJwcS9wcWNvbW0uYwppbmRleCA5Mzdh MmIwMmE0Zi4uYWYwMThiMjFmOWQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2xpYnBxL3Bx Y29tbS5jCisrKyBiL3NyYy9iYWNrZW5kL2xpYnBxL3BxY29tbS5jCkBAIC0xNDQsNyArMTQ0 LDcgQEAgc3RhdGljIGludAlzb2NrZXRfZmx1c2hfaWZfd3JpdGFibGUodm9pZCk7CiBzdGF0 aWMgYm9vbCBzb2NrZXRfaXNfc2VuZF9wZW5kaW5nKHZvaWQpOwogc3RhdGljIGludAlzb2Nr ZXRfcHV0bWVzc2FnZShjaGFyIG1zZ3R5cGUsIGNvbnN0IGNoYXIgKnMsIHNpemVfdCBsZW4p Owogc3RhdGljIHZvaWQgc29ja2V0X3B1dG1lc3NhZ2Vfbm9ibG9jayhjaGFyIG1zZ3R5cGUs IGNvbnN0IGNoYXIgKnMsIHNpemVfdCBsZW4pOwotc3RhdGljIGlubGluZSBpbnQgaW50ZXJu YWxfcHV0Ynl0ZXMoY29uc3QgY2hhciAqcywgc2l6ZV90IGxlbik7CitzdGF0aWMgaW5saW5l IGludCBpbnRlcm5hbF9wdXRieXRlcyhjb25zdCB2b2lkICpiLCBzaXplX3QgbGVuKTsKIHN0 YXRpYyBpbmxpbmUgaW50IGludGVybmFsX2ZsdXNoKHZvaWQpOwogc3RhdGljIHBnX25vaW5s aW5lIGludCBpbnRlcm5hbF9mbHVzaF9idWZmZXIoY29uc3QgY2hhciAqYnVmLCBzaXplX3Qg KnN0YXJ0LAogCQkJCQkJCQkJCQkgc2l6ZV90ICplbmQpOwpAQCAtMTA2MCw4ICsxMDYwLDkg QEAgcHFfZ2V0Ynl0ZV9pZl9hdmFpbGFibGUodW5zaWduZWQgY2hhciAqYykKICAqIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKi8KIGludAotcHFfZ2V0Ynl0ZXMoY2hh ciAqcywgc2l6ZV90IGxlbikKK3BxX2dldGJ5dGVzKHZvaWQgKmIsIHNpemVfdCBsZW4pCiB7 CisJY2hhcgkgICAqcyA9IGI7CiAJc2l6ZV90CQlhbW91bnQ7CiAKIAlBc3NlcnQoUHFDb21t UmVhZGluZ01zZyk7CkBAIC0xMjA5LDcgKzEyMTAsNyBAQCBwcV9nZXRtZXNzYWdlKFN0cmlu Z0luZm8gcywgaW50IG1heGxlbikKIAlyZXNldFN0cmluZ0luZm8ocyk7CiAKIAkvKiBSZWFk IG1lc3NhZ2UgbGVuZ3RoIHdvcmQgKi8KLQlpZiAocHFfZ2V0Ynl0ZXMoKGNoYXIgKikgJmxl biwgNCkgPT0gRU9GKQorCWlmIChwcV9nZXRieXRlcygmbGVuLCA0KSA9PSBFT0YpCiAJewog CQllcmVwb3J0KENPTU1FUlJPUiwKIAkJCQkoZXJyY29kZShFUlJDT0RFX1BST1RPQ09MX1ZJ T0xBVElPTiksCkBAIC0xMjc0LDggKzEyNzUsMTAgQEAgcHFfZ2V0bWVzc2FnZShTdHJpbmdJ bmZvIHMsIGludCBtYXhsZW4pCiAKIAogc3RhdGljIGlubGluZSBpbnQKLWludGVybmFsX3B1 dGJ5dGVzKGNvbnN0IGNoYXIgKnMsIHNpemVfdCBsZW4pCitpbnRlcm5hbF9wdXRieXRlcyhj b25zdCB2b2lkICpiLCBzaXplX3QgbGVuKQogeworCWNvbnN0IGNoYXIgKnMgPSBiOworCiAJ d2hpbGUgKGxlbiA+IDApCiAJewogCQkvKiBJZiBidWZmZXIgaXMgZnVsbCwgdGhlbiBmbHVz aCBpdCBvdXQgKi8KQEAgLTE0OTksNyArMTUwMiw3IEBAIHNvY2tldF9wdXRtZXNzYWdlKGNo YXIgbXNndHlwZSwgY29uc3QgY2hhciAqcywgc2l6ZV90IGxlbikKIAkJZ290byBmYWlsOwog CiAJbjMyID0gcGdfaHRvbjMyKCh1aW50MzIpIChsZW4gKyA0KSk7Ci0JaWYgKGludGVybmFs X3B1dGJ5dGVzKChjaGFyICopICZuMzIsIDQpKQorCWlmIChpbnRlcm5hbF9wdXRieXRlcygm bjMyLCA0KSkKIAkJZ290byBmYWlsOwogCiAJaWYgKGludGVybmFsX3B1dGJ5dGVzKHMsIGxl bikpCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9saWJwcS9wcWZvcm1hdC5jIGIvc3JjL2Jh Y2tlbmQvbGlicHEvcHFmb3JtYXQuYwppbmRleCAyOTUyOTdjYjU1OS4uMWNjMTI2NzcyZjcg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2xpYnBxL3BxZm9ybWF0LmMKKysrIGIvc3JjL2Jh Y2tlbmQvbGlicHEvcHFmb3JtYXQuYwpAQCAtNDIyLDE1ICs0MjIsMTUgQEAgcHFfZ2V0bXNn aW50KFN0cmluZ0luZm8gbXNnLCBpbnQgYikKIAlzd2l0Y2ggKGIpCiAJewogCQljYXNlIDE6 Ci0JCQlwcV9jb3B5bXNnYnl0ZXMobXNnLCAoY2hhciAqKSAmbjgsIDEpOworCQkJcHFfY29w eW1zZ2J5dGVzKG1zZywgJm44LCAxKTsKIAkJCXJlc3VsdCA9IG44OwogCQkJYnJlYWs7CiAJ CWNhc2UgMjoKLQkJCXBxX2NvcHltc2dieXRlcyhtc2csIChjaGFyICopICZuMTYsIDIpOwor CQkJcHFfY29weW1zZ2J5dGVzKG1zZywgJm4xNiwgMik7CiAJCQlyZXN1bHQgPSBwZ19udG9o MTYobjE2KTsKIAkJCWJyZWFrOwogCQljYXNlIDQ6Ci0JCQlwcV9jb3B5bXNnYnl0ZXMobXNn LCAoY2hhciAqKSAmbjMyLCA0KTsKKwkJCXBxX2NvcHltc2dieXRlcyhtc2csICZuMzIsIDQp OwogCQkJcmVzdWx0ID0gcGdfbnRvaDMyKG4zMik7CiAJCQlicmVhazsKIAkJZGVmYXVsdDoK QEAgLTQ1NCw3ICs0NTQsNyBAQCBwcV9nZXRtc2dpbnQ2NChTdHJpbmdJbmZvIG1zZykKIHsK IAl1aW50NjQJCW42NDsKIAotCXBxX2NvcHltc2dieXRlcyhtc2csIChjaGFyICopICZuNjQs IHNpemVvZihuNjQpKTsKKwlwcV9jb3B5bXNnYnl0ZXMobXNnLCAmbjY0LCBzaXplb2YobjY0 KSk7CiAKIAlyZXR1cm4gcGdfbnRvaDY0KG42NCk7CiB9CkBAIC01MjUsNyArNTI1LDcgQEAg cHFfZ2V0bXNnYnl0ZXMoU3RyaW5nSW5mbyBtc2csIGludCBkYXRhbGVuKQogICogLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwogdm9pZAotcHFfY29weW1zZ2J5dGVz KFN0cmluZ0luZm8gbXNnLCBjaGFyICpidWYsIGludCBkYXRhbGVuKQorcHFfY29weW1zZ2J5 dGVzKFN0cmluZ0luZm8gbXNnLCB2b2lkICpidWYsIGludCBkYXRhbGVuKQogewogCWlmIChk YXRhbGVuIDwgMCB8fCBkYXRhbGVuID4gKG1zZy0+bGVuIC0gbXNnLT5jdXJzb3IpKQogCQll cmVwb3J0KEVSUk9SLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdGNvcC9iYWNrZW5kX3N0 YXJ0dXAuYyBiL3NyYy9iYWNrZW5kL3Rjb3AvYmFja2VuZF9zdGFydHVwLmMKaW5kZXggOWVl NzM4ZWIxZTAuLmM3MDc0NmZhNTYyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC90Y29wL2Jh Y2tlbmRfc3RhcnR1cC5jCisrKyBiL3NyYy9iYWNrZW5kL3Rjb3AvYmFja2VuZF9zdGFydHVw LmMKQEAgLTQ4MCw3ICs0ODAsNyBAQCBQcm9jZXNzU3RhcnR1cFBhY2tldChQb3J0ICpwb3J0 LCBib29sIHNzbF9kb25lLCBib29sIGdzc19kb25lKQogCSAqIHNvdW5kIGluZWZmaWNpZW50 LCBidXQgaXQncyBub3QgcmVhbGx5LCBiZWNhdXNlIG9mIGJ1ZmZlcmluZyBpbgogCSAqIHBx Y29tbS5jLikKIAkgKi8KLQlpZiAocHFfZ2V0Ynl0ZXMoKGNoYXIgKikgJmxlbiwgMSkgPT0g RU9GKQorCWlmIChwcV9nZXRieXRlcygmbGVuLCAxKSA9PSBFT0YpCiAJewogCQkvKgogCQkg KiBJZiB3ZSBnZXQgbm8gZGF0YSBhdCBhbGwsIGRvbid0IGNsdXR0ZXIgdGhlIGxvZyB3aXRo IGEgY29tcGxhaW50OwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3ZhcmJp dC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3ZhcmJpdC5jCmluZGV4IDAwNzFlMDI2ZjAx Li4yMDVhNjdkYWZjNSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3ZhcmJp dC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC92YXJiaXQuYwpAQCAtMzYxLDcgKzM2 MSw3IEBAIGJpdF9yZWN2KFBHX0ZVTkNUSU9OX0FSR1MpCiAJU0VUX1ZBUlNJWkUocmVzdWx0 LCBsZW4pOwogCVZBUkJJVExFTihyZXN1bHQpID0gYml0bGVuOwogCi0JcHFfY29weW1zZ2J5 dGVzKGJ1ZiwgKGNoYXIgKikgVkFSQklUUyhyZXN1bHQpLCBWQVJCSVRCWVRFUyhyZXN1bHQp KTsKKwlwcV9jb3B5bXNnYnl0ZXMoYnVmLCBWQVJCSVRTKHJlc3VsdCksIFZBUkJJVEJZVEVT KHJlc3VsdCkpOwogCiAJLyogTWFrZSBzdXJlIGxhc3QgYnl0ZSBpcyBjb3JyZWN0bHkgemVy by1wYWRkZWQgKi8KIAlWQVJCSVRfUEFEKHJlc3VsdCk7CkBAIC02NjYsNyArNjY2LDcgQEAg dmFyYml0X3JlY3YoUEdfRlVOQ1RJT05fQVJHUykKIAlTRVRfVkFSU0laRShyZXN1bHQsIGxl bik7CiAJVkFSQklUTEVOKHJlc3VsdCkgPSBiaXRsZW47CiAKLQlwcV9jb3B5bXNnYnl0ZXMo YnVmLCAoY2hhciAqKSBWQVJCSVRTKHJlc3VsdCksIFZBUkJJVEJZVEVTKHJlc3VsdCkpOwor CXBxX2NvcHltc2dieXRlcyhidWYsIFZBUkJJVFMocmVzdWx0KSwgVkFSQklUQllURVMocmVz dWx0KSk7CiAKIAkvKiBNYWtlIHN1cmUgbGFzdCBieXRlIGlzIGNvcnJlY3RseSB6ZXJvLXBh ZGRlZCAqLwogCVZBUkJJVF9QQUQocmVzdWx0KTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L2xpYnBxL2xpYnBxLmggYi9zcmMvaW5jbHVkZS9saWJwcS9saWJwcS5oCmluZGV4IDEzZDgx NDNhODkzLi42YzkyOTQ5Y2IwYSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbGlicHEvbGli cHEuaAorKysgYi9zcmMvaW5jbHVkZS9saWJwcS9saWJwcS5oCkBAIC03MSw3ICs3MSw3IEBA IGV4dGVybiBpbnQJQWNjZXB0Q29ubmVjdGlvbihwZ3NvY2tldCBzZXJ2ZXJfZmQsIENsaWVu dFNvY2tldCAqY2xpZW50X3NvY2spOwogZXh0ZXJuIHZvaWQgVG91Y2hTb2NrZXRGaWxlcyh2 b2lkKTsKIGV4dGVybiB2b2lkIFJlbW92ZVNvY2tldEZpbGVzKHZvaWQpOwogZXh0ZXJuIFBv cnQgKnBxX2luaXQoQ2xpZW50U29ja2V0ICpjbGllbnRfc29jayk7Ci1leHRlcm4gaW50CXBx X2dldGJ5dGVzKGNoYXIgKnMsIHNpemVfdCBsZW4pOworZXh0ZXJuIGludAlwcV9nZXRieXRl cyh2b2lkICpiLCBzaXplX3QgbGVuKTsKIGV4dGVybiB2b2lkIHBxX3N0YXJ0bXNncmVhZCh2 b2lkKTsKIGV4dGVybiB2b2lkIHBxX2VuZG1zZ3JlYWQodm9pZCk7CiBleHRlcm4gYm9vbCBw cV9pc19yZWFkaW5nX21zZyh2b2lkKTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2xpYnBx L3BxZm9ybWF0LmggYi9zcmMvaW5jbHVkZS9saWJwcS9wcWZvcm1hdC5oCmluZGV4IDZiMWEz MWY4NTQxLi45YTE1MzRiZTUyMSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbGlicHEvcHFm b3JtYXQuaAorKysgYi9zcmMvaW5jbHVkZS9saWJwcS9wcWZvcm1hdC5oCkBAIC0yMDAsNyAr MjAwLDcgQEAgZXh0ZXJuIGludDY0IHBxX2dldG1zZ2ludDY0KFN0cmluZ0luZm8gbXNnKTsK IGV4dGVybiBmbG9hdDQgcHFfZ2V0bXNnZmxvYXQ0KFN0cmluZ0luZm8gbXNnKTsKIGV4dGVy biBmbG9hdDggcHFfZ2V0bXNnZmxvYXQ4KFN0cmluZ0luZm8gbXNnKTsKIGV4dGVybiBjb25z dCBjaGFyICpwcV9nZXRtc2dieXRlcyhTdHJpbmdJbmZvIG1zZywgaW50IGRhdGFsZW4pOwot ZXh0ZXJuIHZvaWQgcHFfY29weW1zZ2J5dGVzKFN0cmluZ0luZm8gbXNnLCBjaGFyICpidWYs IGludCBkYXRhbGVuKTsKK2V4dGVybiB2b2lkIHBxX2NvcHltc2dieXRlcyhTdHJpbmdJbmZv IG1zZywgdm9pZCAqYnVmLCBpbnQgZGF0YWxlbik7CiBleHRlcm4gY2hhciAqcHFfZ2V0bXNn dGV4dChTdHJpbmdJbmZvIG1zZywgaW50IHJhd2J5dGVzLCBpbnQgKm5ieXRlcyk7CiBleHRl cm4gY29uc3QgY2hhciAqcHFfZ2V0bXNnc3RyaW5nKFN0cmluZ0luZm8gbXNnKTsKIGV4dGVy biBjb25zdCBjaGFyICpwcV9nZXRtc2dyYXdzdHJpbmcoU3RyaW5nSW5mbyBtc2cpOwotLSAK Mi40OC4xCgo= --------------I3oyUgo30pfczihe9dmbqaUa Content-Type: text/plain; charset=UTF-8; name="0007-jsonb-internal-API-void-argument-for-binary-data.patch" Content-Disposition: attachment; filename*0="0007-jsonb-internal-API-void-argument-for-binary-data.patch" Content-Transfer-Encoding: base64 RnJvbSBiNTQ0NjUwZjU3ZGJkNGI0OTI4Y2Q4ODM5MmVlY2Q0ZTQzNDhkNjkyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVHVlLCAyNCBTZXAgMjAyNCAxMjoxNDozOCArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggMDcvMTBdIGpzb25iIGludGVybmFsIEFQSSB2b2lkICogYXJndW1lbnQgZm9y IGJpbmFyeSBkYXRhCgpDaGFuZ2Ugc29tZSBpbnRlcm5hbCBqc29uYiBBUEkgZnVuY3Rpb25z IHRvIHRha2Ugdm9pZCAqIGZvciBiaW5hcnkKZGF0YSBpbnN0ZWFkIG9mIGNoYXIgKi4gIFRo aXMgcmVtb3ZlcyB0aGUgbmVlZCBmb3IgbnVtZXJvdXMgY2FzdHMuCi0tLQogc3JjL2JhY2tl bmQvdXRpbHMvYWR0L2pzb25iX3V0aWwuYyB8IDIwICsrKysrKysrKystLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2pzb25iX3V0aWwuYyBiL3NyYy9iYWNr ZW5kL3V0aWxzL2FkdC9qc29uYl91dGlsLmMKaW5kZXggNzczZjM2OTBjN2IuLmM4YjZjMTVl MDU5IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvanNvbmJfdXRpbC5jCisr KyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9qc29uYl91dGlsLmMKQEAgLTQ4LDggKzQ4LDgg QEAgc3RhdGljIHZvaWQgY29udmVydEpzb25iT2JqZWN0KFN0cmluZ0luZm8gYnVmZmVyLCBK RW50cnkgKmhlYWRlciwgSnNvbmJWYWx1ZSAqdmEKIHN0YXRpYyB2b2lkIGNvbnZlcnRKc29u YlNjYWxhcihTdHJpbmdJbmZvIGJ1ZmZlciwgSkVudHJ5ICpoZWFkZXIsIEpzb25iVmFsdWUg KnNjYWxhclZhbCk7CiAKIHN0YXRpYyBpbnQJcmVzZXJ2ZUZyb21CdWZmZXIoU3RyaW5nSW5m byBidWZmZXIsIGludCBsZW4pOwotc3RhdGljIHZvaWQgYXBwZW5kVG9CdWZmZXIoU3RyaW5n SW5mbyBidWZmZXIsIGNvbnN0IGNoYXIgKmRhdGEsIGludCBsZW4pOwotc3RhdGljIHZvaWQg Y29weVRvQnVmZmVyKFN0cmluZ0luZm8gYnVmZmVyLCBpbnQgb2Zmc2V0LCBjb25zdCBjaGFy ICpkYXRhLCBpbnQgbGVuKTsKK3N0YXRpYyB2b2lkIGFwcGVuZFRvQnVmZmVyKFN0cmluZ0lu Zm8gYnVmZmVyLCBjb25zdCB2b2lkICpkYXRhLCBpbnQgbGVuKTsKK3N0YXRpYyB2b2lkIGNv cHlUb0J1ZmZlcihTdHJpbmdJbmZvIGJ1ZmZlciwgaW50IG9mZnNldCwgY29uc3Qgdm9pZCAq ZGF0YSwgaW50IGxlbik7CiBzdGF0aWMgc2hvcnQgcGFkQnVmZmVyVG9JbnQoU3RyaW5nSW5m byBidWZmZXIpOwogCiBzdGF0aWMgSnNvbmJJdGVyYXRvciAqaXRlcmF0b3JGcm9tQ29udGFp bmVyKEpzb25iQ29udGFpbmVyICpjb250YWluZXIsIEpzb25iSXRlcmF0b3IgKnBhcmVudCk7 CkBAIC0xNTA4LDcgKzE1MDgsNyBAQCByZXNlcnZlRnJvbUJ1ZmZlcihTdHJpbmdJbmZvIGJ1 ZmZlciwgaW50IGxlbikKICAqIENvcHkgJ2xlbicgYnl0ZXMgdG8gYSBwcmV2aW91c2x5IHJl c2VydmVkIGFyZWEgaW4gYnVmZmVyLgogICovCiBzdGF0aWMgdm9pZAotY29weVRvQnVmZmVy KFN0cmluZ0luZm8gYnVmZmVyLCBpbnQgb2Zmc2V0LCBjb25zdCBjaGFyICpkYXRhLCBpbnQg bGVuKQorY29weVRvQnVmZmVyKFN0cmluZ0luZm8gYnVmZmVyLCBpbnQgb2Zmc2V0LCBjb25z dCB2b2lkICpkYXRhLCBpbnQgbGVuKQogewogCW1lbWNweShidWZmZXItPmRhdGEgKyBvZmZz ZXQsIGRhdGEsIGxlbik7CiB9CkBAIC0xNTE3LDcgKzE1MTcsNyBAQCBjb3B5VG9CdWZmZXIo U3RyaW5nSW5mbyBidWZmZXIsIGludCBvZmZzZXQsIGNvbnN0IGNoYXIgKmRhdGEsIGludCBs ZW4pCiAgKiBBIHNob3J0aGFuZCBmb3IgcmVzZXJ2ZUZyb21CdWZmZXIgKyBjb3B5VG9CdWZm ZXIuCiAgKi8KIHN0YXRpYyB2b2lkCi1hcHBlbmRUb0J1ZmZlcihTdHJpbmdJbmZvIGJ1ZmZl ciwgY29uc3QgY2hhciAqZGF0YSwgaW50IGxlbikKK2FwcGVuZFRvQnVmZmVyKFN0cmluZ0lu Zm8gYnVmZmVyLCBjb25zdCB2b2lkICpkYXRhLCBpbnQgbGVuKQogewogCWludAkJCW9mZnNl dDsKIApAQCAtMTY0Niw3ICsxNjQ2LDcgQEAgY29udmVydEpzb25iQXJyYXkoU3RyaW5nSW5m byBidWZmZXIsIEpFbnRyeSAqaGVhZGVyLCBKc29uYlZhbHVlICp2YWwsIGludCBsZXZlbCkK IAkJY29udGFpbmVyaGVhZCB8PSBKQl9GU0NBTEFSOwogCX0KIAotCWFwcGVuZFRvQnVmZmVy KGJ1ZmZlciwgKGNoYXIgKikgJmNvbnRhaW5lcmhlYWQsIHNpemVvZih1aW50MzIpKTsKKwlh cHBlbmRUb0J1ZmZlcihidWZmZXIsICZjb250YWluZXJoZWFkLCBzaXplb2YodWludDMyKSk7 CiAKIAkvKiBSZXNlcnZlIHNwYWNlIGZvciB0aGUgSkVudHJpZXMgb2YgdGhlIGVsZW1lbnRz LiAqLwogCWplbnRyeV9vZmZzZXQgPSByZXNlcnZlRnJvbUJ1ZmZlcihidWZmZXIsIHNpemVv ZihKRW50cnkpICogbkVsZW1zKTsKQEAgLTE2ODQsNyArMTY4NCw3IEBAIGNvbnZlcnRKc29u YkFycmF5KFN0cmluZ0luZm8gYnVmZmVyLCBKRW50cnkgKmhlYWRlciwgSnNvbmJWYWx1ZSAq dmFsLCBpbnQgbGV2ZWwpCiAJCWlmICgoaSAlIEpCX09GRlNFVF9TVFJJREUpID09IDApCiAJ CQltZXRhID0gKG1ldGEgJiBKRU5UUllfVFlQRU1BU0spIHwgdG90YWxsZW4gfCBKRU5UUllf SEFTX09GRjsKIAotCQljb3B5VG9CdWZmZXIoYnVmZmVyLCBqZW50cnlfb2Zmc2V0LCAoY2hh ciAqKSAmbWV0YSwgc2l6ZW9mKEpFbnRyeSkpOworCQljb3B5VG9CdWZmZXIoYnVmZmVyLCBq ZW50cnlfb2Zmc2V0LCAmbWV0YSwgc2l6ZW9mKEpFbnRyeSkpOwogCQlqZW50cnlfb2Zmc2V0 ICs9IHNpemVvZihKRW50cnkpOwogCX0KIApAQCAtMTcyMyw3ICsxNzIzLDcgQEAgY29udmVy dEpzb25iT2JqZWN0KFN0cmluZ0luZm8gYnVmZmVyLCBKRW50cnkgKmhlYWRlciwgSnNvbmJW YWx1ZSAqdmFsLCBpbnQgbGV2ZWwKIAkgKiB2YXJpYWJsZS1sZW5ndGggcGF5bG9hZC4KIAkg Ki8KIAljb250YWluZXJoZWFkZXIgPSBuUGFpcnMgfCBKQl9GT0JKRUNUOwotCWFwcGVuZFRv QnVmZmVyKGJ1ZmZlciwgKGNoYXIgKikgJmNvbnRhaW5lcmhlYWRlciwgc2l6ZW9mKHVpbnQz MikpOworCWFwcGVuZFRvQnVmZmVyKGJ1ZmZlciwgJmNvbnRhaW5lcmhlYWRlciwgc2l6ZW9m KHVpbnQzMikpOwogCiAJLyogUmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIEpFbnRyaWVzIG9mIHRo ZSBrZXlzIGFuZCB2YWx1ZXMuICovCiAJamVudHJ5X29mZnNldCA9IHJlc2VydmVGcm9tQnVm ZmVyKGJ1ZmZlciwgc2l6ZW9mKEpFbnRyeSkgKiBuUGFpcnMgKiAyKTsKQEAgLTE3NjUsNyAr MTc2NSw3IEBAIGNvbnZlcnRKc29uYk9iamVjdChTdHJpbmdJbmZvIGJ1ZmZlciwgSkVudHJ5 ICpoZWFkZXIsIEpzb25iVmFsdWUgKnZhbCwgaW50IGxldmVsCiAJCWlmICgoaSAlIEpCX09G RlNFVF9TVFJJREUpID09IDApCiAJCQltZXRhID0gKG1ldGEgJiBKRU5UUllfVFlQRU1BU0sp IHwgdG90YWxsZW4gfCBKRU5UUllfSEFTX09GRjsKIAotCQljb3B5VG9CdWZmZXIoYnVmZmVy LCBqZW50cnlfb2Zmc2V0LCAoY2hhciAqKSAmbWV0YSwgc2l6ZW9mKEpFbnRyeSkpOworCQlj b3B5VG9CdWZmZXIoYnVmZmVyLCBqZW50cnlfb2Zmc2V0LCAmbWV0YSwgc2l6ZW9mKEpFbnRy eSkpOwogCQlqZW50cnlfb2Zmc2V0ICs9IHNpemVvZihKRW50cnkpOwogCX0KIAlmb3IgKGkg PSAwOyBpIDwgblBhaXJzOyBpKyspCkBAIC0xODAwLDcgKzE4MDAsNyBAQCBjb252ZXJ0SnNv bmJPYmplY3QoU3RyaW5nSW5mbyBidWZmZXIsIEpFbnRyeSAqaGVhZGVyLCBKc29uYlZhbHVl ICp2YWwsIGludCBsZXZlbAogCQlpZiAoKChpICsgblBhaXJzKSAlIEpCX09GRlNFVF9TVFJJ REUpID09IDApCiAJCQltZXRhID0gKG1ldGEgJiBKRU5UUllfVFlQRU1BU0spIHwgdG90YWxs ZW4gfCBKRU5UUllfSEFTX09GRjsKIAotCQljb3B5VG9CdWZmZXIoYnVmZmVyLCBqZW50cnlf b2Zmc2V0LCAoY2hhciAqKSAmbWV0YSwgc2l6ZW9mKEpFbnRyeSkpOworCQljb3B5VG9CdWZm ZXIoYnVmZmVyLCBqZW50cnlfb2Zmc2V0LCAmbWV0YSwgc2l6ZW9mKEpFbnRyeSkpOwogCQlq ZW50cnlfb2Zmc2V0ICs9IHNpemVvZihKRW50cnkpOwogCX0KIApAQCAtMTg0MCw3ICsxODQw LDcgQEAgY29udmVydEpzb25iU2NhbGFyKFN0cmluZ0luZm8gYnVmZmVyLCBKRW50cnkgKmhl YWRlciwgSnNvbmJWYWx1ZSAqc2NhbGFyVmFsKQogCQkJbnVtbGVuID0gVkFSU0laRV9BTlko c2NhbGFyVmFsLT52YWwubnVtZXJpYyk7CiAJCQlwYWRsZW4gPSBwYWRCdWZmZXJUb0ludChi dWZmZXIpOwogCi0JCQlhcHBlbmRUb0J1ZmZlcihidWZmZXIsIChjaGFyICopIHNjYWxhclZh bC0+dmFsLm51bWVyaWMsIG51bWxlbik7CisJCQlhcHBlbmRUb0J1ZmZlcihidWZmZXIsIHNj YWxhclZhbC0+dmFsLm51bWVyaWMsIG51bWxlbik7CiAKIAkJCSpoZWFkZXIgPSBKRU5UUllf SVNOVU1FUklDIHwgKHBhZGxlbiArIG51bWxlbik7CiAJCQlicmVhazsKLS0gCjIuNDguMQoK --------------I3oyUgo30pfczihe9dmbqaUa Content-Type: text/plain; charset=UTF-8; name="0008-SnapBuildRestoreContents-void-argument-for-binary-da.patch" Content-Disposition: attachment; filename*0="0008-SnapBuildRestoreContents-void-argument-for-binary-da.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA2ZjZmZWVjZjg0MzhlNzlhMWYzYzc3MDEwN2QzY2I3NzlmZmI3ODhjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVHVlLCAyNCBTZXAgMjAyNCAxMjoxODozMSArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggMDgvMTBdIFNuYXBCdWlsZFJlc3RvcmVDb250ZW50cygpIHZvaWQgKiBhcmd1 bWVudCBmb3IgYmluYXJ5CiBkYXRhCgpDaGFuZ2UgaW50ZXJuYWwgc25hcGJ1aWxkIEFQSSBm dW5jdGlvbiB0byB0YWtlIHZvaWQgKiBmb3IgYmluYXJ5IGRhdGEKaW5zdGVhZCBvZiBjaGFy ICouICBUaGlzIHJlbW92ZXMgdGhlIG5lZWQgZm9yIG51bWVyb3VzIGNhc3RzLgotLS0KIHNy Yy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvc25hcGJ1aWxkLmMgfCAxMiArKysrKyst LS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9zbmFwYnVp bGQuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvc25hcGJ1aWxkLmMKaW5k ZXggYmJlZGQzZGUzMTguLjk4MzllYjc3MzVjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9y ZXBsaWNhdGlvbi9sb2dpY2FsL3NuYXBidWlsZC5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxp Y2F0aW9uL2xvZ2ljYWwvc25hcGJ1aWxkLmMKQEAgLTE3Myw3ICsxNzMsNyBAQCBzdGF0aWMg dm9pZCBTbmFwQnVpbGRXYWl0U25hcHNob3QoeGxfcnVubmluZ194YWN0cyAqcnVubmluZywg VHJhbnNhY3Rpb25JZCBjdXRvZgogLyogc2VyaWFsaXphdGlvbiBmdW5jdGlvbnMgKi8KIHN0 YXRpYyB2b2lkIFNuYXBCdWlsZFNlcmlhbGl6ZShTbmFwQnVpbGQgKmJ1aWxkZXIsIFhMb2dS ZWNQdHIgbHNuKTsKIHN0YXRpYyBib29sIFNuYXBCdWlsZFJlc3RvcmUoU25hcEJ1aWxkICpi dWlsZGVyLCBYTG9nUmVjUHRyIGxzbik7Ci1zdGF0aWMgdm9pZCBTbmFwQnVpbGRSZXN0b3Jl Q29udGVudHMoaW50IGZkLCBjaGFyICpkZXN0LCBTaXplIHNpemUsIGNvbnN0IGNoYXIgKnBh dGgpOworc3RhdGljIHZvaWQgU25hcEJ1aWxkUmVzdG9yZUNvbnRlbnRzKGludCBmZCwgdm9p ZCAqZGVzdCwgU2l6ZSBzaXplLCBjb25zdCBjaGFyICpwYXRoKTsKIAogLyoKICAqIEFsbG9j YXRlIGEgbmV3IHNuYXBzaG90IGJ1aWxkZXIuCkBAIC0xNzIyLDcgKzE3MjIsNyBAQCBTbmFw QnVpbGRSZXN0b3JlU25hcHNob3QoU25hcEJ1aWxkT25EaXNrICpvbmRpc2ssIGNvbnN0IGNo YXIgKnBhdGgsCiAJZnN5bmNfZm5hbWUoUEdfTE9HSUNBTF9TTkFQU0hPVFNfRElSLCB0cnVl KTsKIAogCS8qIHJlYWQgc3RhdGljYWxseSBzaXplZCBwb3J0aW9uIG9mIHNuYXBzaG90ICov Ci0JU25hcEJ1aWxkUmVzdG9yZUNvbnRlbnRzKGZkLCAoY2hhciAqKSBvbmRpc2ssIFNuYXBC dWlsZE9uRGlza0NvbnN0YW50U2l6ZSwgcGF0aCk7CisJU25hcEJ1aWxkUmVzdG9yZUNvbnRl bnRzKGZkLCBvbmRpc2ssIFNuYXBCdWlsZE9uRGlza0NvbnN0YW50U2l6ZSwgcGF0aCk7CiAK IAlpZiAob25kaXNrLT5tYWdpYyAhPSBTTkFQQlVJTERfTUFHSUMpCiAJCWVyZXBvcnQoRVJS T1IsCkBAIC0xNzQyLDcgKzE3NDIsNyBAQCBTbmFwQnVpbGRSZXN0b3JlU25hcHNob3QoU25h cEJ1aWxkT25EaXNrICpvbmRpc2ssIGNvbnN0IGNoYXIgKnBhdGgsCiAJCQkJU25hcEJ1aWxk T25EaXNrQ29uc3RhbnRTaXplIC0gU25hcEJ1aWxkT25EaXNrTm90Q2hlY2tzdW1tZWRTaXpl KTsKIAogCS8qIHJlYWQgU25hcEJ1aWxkICovCi0JU25hcEJ1aWxkUmVzdG9yZUNvbnRlbnRz KGZkLCAoY2hhciAqKSAmb25kaXNrLT5idWlsZGVyLCBzaXplb2YoU25hcEJ1aWxkKSwgcGF0 aCk7CisJU25hcEJ1aWxkUmVzdG9yZUNvbnRlbnRzKGZkLCAmb25kaXNrLT5idWlsZGVyLCBz aXplb2YoU25hcEJ1aWxkKSwgcGF0aCk7CiAJQ09NUF9DUkMzMkMoY2hlY2tzdW0sICZvbmRp c2stPmJ1aWxkZXIsIHNpemVvZihTbmFwQnVpbGQpKTsKIAogCS8qIHJlc3RvcmUgY29tbWl0 dGVkIHhhY3RzIGluZm9ybWF0aW9uICovCkBAIC0xNzUwLDcgKzE3NTAsNyBAQCBTbmFwQnVp bGRSZXN0b3JlU25hcHNob3QoU25hcEJ1aWxkT25EaXNrICpvbmRpc2ssIGNvbnN0IGNoYXIg KnBhdGgsCiAJewogCQlzeiA9IHNpemVvZihUcmFuc2FjdGlvbklkKSAqIG9uZGlzay0+YnVp bGRlci5jb21taXR0ZWQueGNudDsKIAkJb25kaXNrLT5idWlsZGVyLmNvbW1pdHRlZC54aXAg PSBNZW1vcnlDb250ZXh0QWxsb2NaZXJvKGNvbnRleHQsIHN6KTsKLQkJU25hcEJ1aWxkUmVz dG9yZUNvbnRlbnRzKGZkLCAoY2hhciAqKSBvbmRpc2stPmJ1aWxkZXIuY29tbWl0dGVkLnhp cCwgc3osIHBhdGgpOworCQlTbmFwQnVpbGRSZXN0b3JlQ29udGVudHMoZmQsIG9uZGlzay0+ YnVpbGRlci5jb21taXR0ZWQueGlwLCBzeiwgcGF0aCk7CiAJCUNPTVBfQ1JDMzJDKGNoZWNr c3VtLCBvbmRpc2stPmJ1aWxkZXIuY29tbWl0dGVkLnhpcCwgc3opOwogCX0KIApAQCAtMTc1 OSw3ICsxNzU5LDcgQEAgU25hcEJ1aWxkUmVzdG9yZVNuYXBzaG90KFNuYXBCdWlsZE9uRGlz ayAqb25kaXNrLCBjb25zdCBjaGFyICpwYXRoLAogCXsKIAkJc3ogPSBzaXplb2YoVHJhbnNh Y3Rpb25JZCkgKiBvbmRpc2stPmJ1aWxkZXIuY2F0Y2hhbmdlLnhjbnQ7CiAJCW9uZGlzay0+ YnVpbGRlci5jYXRjaGFuZ2UueGlwID0gTWVtb3J5Q29udGV4dEFsbG9jWmVybyhjb250ZXh0 LCBzeik7Ci0JCVNuYXBCdWlsZFJlc3RvcmVDb250ZW50cyhmZCwgKGNoYXIgKikgb25kaXNr LT5idWlsZGVyLmNhdGNoYW5nZS54aXAsIHN6LCBwYXRoKTsKKwkJU25hcEJ1aWxkUmVzdG9y ZUNvbnRlbnRzKGZkLCBvbmRpc2stPmJ1aWxkZXIuY2F0Y2hhbmdlLnhpcCwgc3osIHBhdGgp OwogCQlDT01QX0NSQzMyQyhjaGVja3N1bSwgb25kaXNrLT5idWlsZGVyLmNhdGNoYW5nZS54 aXAsIHN6KTsKIAl9CiAKQEAgLTE4ODIsNyArMTg4Miw3IEBAIFNuYXBCdWlsZFJlc3RvcmUo U25hcEJ1aWxkICpidWlsZGVyLCBYTG9nUmVjUHRyIGxzbikKICAqIFJlYWQgdGhlIGNvbnRl bnRzIG9mIHRoZSBzZXJpYWxpemVkIHNuYXBzaG90IHRvICdkZXN0Jy4KICAqLwogc3RhdGlj IHZvaWQKLVNuYXBCdWlsZFJlc3RvcmVDb250ZW50cyhpbnQgZmQsIGNoYXIgKmRlc3QsIFNp emUgc2l6ZSwgY29uc3QgY2hhciAqcGF0aCkKK1NuYXBCdWlsZFJlc3RvcmVDb250ZW50cyhp bnQgZmQsIHZvaWQgKmRlc3QsIFNpemUgc2l6ZSwgY29uc3QgY2hhciAqcGF0aCkKIHsKIAlp bnQJCQlyZWFkQnl0ZXM7CiAKLS0gCjIuNDguMQoK --------------I3oyUgo30pfczihe9dmbqaUa Content-Type: text/plain; charset=UTF-8; name="0009-XLogRegisterData-XLogRegisterBufData-void-argument-f.patch" Content-Disposition: attachment; filename*0="0009-XLogRegisterData-XLogRegisterBufData-void-argument-f.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBlMmQxN2FhZGVhMjM5NTkzMTkxZmRhYmQ5MmE4NDI5OTJkYTNkZjQwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogTW9uLCAzMCBEZWMgMjAyNCAxNjoxMDo0MSArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMDkvMTBdIFhMb2dSZWdpc3RlckRhdGEsIFhMb2dSZWdpc3RlckJ1ZkRhdGEg dm9pZCAqIGFyZ3VtZW50CiBmb3IgYmluYXJ5IGRhdGEKCkNoYW5nZSBYTG9nUmVnaXN0ZXJE YXRhKCkgYW5kIFhMb2dSZWdpc3RlckJ1ZkRhdGEoKSBmdW5jdGlvbnMgdG8gdGFrZQp2b2lk ICogZm9yIGJpbmFyeSBkYXRhIGluc3RlYWQgb2YgY2hhciAqLiAgVGhpcyB3aWxsIHJlbW92 ZSB0aGUgbmVlZApmb3IgbnVtZXJvdXMgY2FzdHMuCi0tLQogc3JjL2JhY2tlbmQvYWNjZXNz L3RyYW5zYW0vUkVBRE1FICAgICAgIHwgNCArKy0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvdHJh bnNhbS94bG9naW5zZXJ0LmMgfCA0ICsrLS0KIHNyYy9pbmNsdWRlL2FjY2Vzcy94bG9nX2lu dGVybmFsLmggICAgICB8IDIgKy0KIHNyYy9pbmNsdWRlL2FjY2Vzcy94bG9naW5zZXJ0Lmgg ICAgICAgICB8IDQgKystLQogNCBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDcg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0v UkVBRE1FIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vUkVBRE1FCmluZGV4IDZlNDcx MWRhY2U3Li4yMzExMDYyNzBmZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL3Ry YW5zYW0vUkVBRE1FCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL1JFQURNRQpA QCAtNTg2LDEzICs1ODYsMTMgQEAgdm9pZCBYTG9nUmVnaXN0ZXJCdWZmZXIodWludDggYmxv Y2tfaWQsIEJ1ZmZlciBidWYsIHVpbnQ4IGZsYWdzKTsKICAgICBYTG9nUmVnaXN0ZXJCdWZE YXRhKCkgaXMgaW5jbHVkZWQgaW4gdGhlIFdBTCByZWNvcmQgZXZlbiBpZiBhIGZ1bGwtcGFn ZQogICAgIGltYWdlIGlzIHRha2VuLgogCi12b2lkIFhMb2dSZWdpc3RlckRhdGEoY29uc3Qg Y2hhciAqZGF0YSwgaW50IGxlbik7Cit2b2lkIFhMb2dSZWdpc3RlckRhdGEoY29uc3Qgdm9p ZCAqZGF0YSwgaW50IGxlbik7CiAKICAgICBYTG9nUmVnaXN0ZXJEYXRhIGlzIHVzZWQgdG8g aW5jbHVkZSBhcmJpdHJhcnkgZGF0YSBpbiB0aGUgV0FMIHJlY29yZC4gIElmCiAgICAgWExv Z1JlZ2lzdGVyRGF0YSgpIGlzIGNhbGxlZCBtdWx0aXBsZSB0aW1lcywgdGhlIGRhdGEgYXJl IGFwcGVuZGVkLCBhbmQKICAgICB3aWxsIGJlIG1hZGUgYXZhaWxhYmxlIHRvIHRoZSByZWRv IHJvdXRpbmUgYXMgb25lIGNvbnRpZ3VvdXMgY2h1bmsuCiAKLXZvaWQgWExvZ1JlZ2lzdGVy QnVmRGF0YSh1aW50OCBibG9ja19pZCwgY29uc3QgY2hhciAqZGF0YSwgaW50IGxlbik7Cit2 b2lkIFhMb2dSZWdpc3RlckJ1ZkRhdGEodWludDggYmxvY2tfaWQsIGNvbnN0IHZvaWQgKmRh dGEsIGludCBsZW4pOwogCiAgICAgWExvZ1JlZ2lzdGVyQnVmRGF0YSBpcyB1c2VkIHRvIGlu Y2x1ZGUgZGF0YSBhc3NvY2lhdGVkIHdpdGggYSBwYXJ0aWN1bGFyCiAgICAgYnVmZmVyIHRo YXQgd2FzIHJlZ2lzdGVyZWQgZWFybGllciB3aXRoIFhMb2dSZWdpc3RlckJ1ZmZlcigpLiAg SWYKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2dpbnNlcnQu YyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2dpbnNlcnQuYwppbmRleCBjNjYw MTJjM2E4Yi4uMTRkNTgzYWU3YWUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90 cmFuc2FtL3hsb2dpbnNlcnQuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94 bG9naW5zZXJ0LmMKQEAgLTM2MSw3ICszNjEsNyBAQCBYTG9nUmVnaXN0ZXJCbG9jayh1aW50 OCBibG9ja19pZCwgUmVsRmlsZUxvY2F0b3IgKnJsb2NhdG9yLCBGb3JrTnVtYmVyIGZvcmtu dW0sCiAgKiBYTG9nUmVjR2V0RGF0YSgpLgogICovCiB2b2lkCi1YTG9nUmVnaXN0ZXJEYXRh KGNvbnN0IGNoYXIgKmRhdGEsIHVpbnQzMiBsZW4pCitYTG9nUmVnaXN0ZXJEYXRhKGNvbnN0 IHZvaWQgKmRhdGEsIHVpbnQzMiBsZW4pCiB7CiAJWExvZ1JlY0RhdGEgKnJkYXRhOwogCkBA IC00MDIsNyArNDAyLDcgQEAgWExvZ1JlZ2lzdGVyRGF0YShjb25zdCBjaGFyICpkYXRhLCB1 aW50MzIgbGVuKQogICogbGltaXRlZCkKICAqLwogdm9pZAotWExvZ1JlZ2lzdGVyQnVmRGF0 YSh1aW50OCBibG9ja19pZCwgY29uc3QgY2hhciAqZGF0YSwgdWludDMyIGxlbikKK1hMb2dS ZWdpc3RlckJ1ZkRhdGEodWludDggYmxvY2tfaWQsIGNvbnN0IHZvaWQgKmRhdGEsIHVpbnQz MiBsZW4pCiB7CiAJcmVnaXN0ZXJlZF9idWZmZXIgKnJlZ2J1ZjsKIAlYTG9nUmVjRGF0YSAq cmRhdGE7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9hY2Nlc3MveGxvZ19pbnRlcm5hbC5o IGIvc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2dfaW50ZXJuYWwuaAppbmRleCAwYjdjNTYzMzJi NS4uMmNmOGQ1NWQ3MDYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2FjY2Vzcy94bG9nX2lu dGVybmFsLmgKKysrIGIvc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2dfaW50ZXJuYWwuaApAQCAt MzEyLDcgKzMxMiw3IEBAIHR5cGVkZWYgc3RydWN0IHhsX2VuZF9vZl9yZWNvdmVyeQogdHlw ZWRlZiBzdHJ1Y3QgWExvZ1JlY0RhdGEKIHsKIAlzdHJ1Y3QgWExvZ1JlY0RhdGEgKm5leHQ7 CS8qIG5leHQgc3RydWN0IGluIGNoYWluLCBvciBOVUxMICovCi0JY29uc3QgY2hhciAqZGF0 YTsJCQkvKiBzdGFydCBvZiBybWdyIGRhdGEgdG8gaW5jbHVkZSAqLworCWNvbnN0IHZvaWQg KmRhdGE7CQkJLyogc3RhcnQgb2Ygcm1nciBkYXRhIHRvIGluY2x1ZGUgKi8KIAl1aW50MzIJ CWxlbjsJCQkvKiBsZW5ndGggb2Ygcm1nciBkYXRhIHRvIGluY2x1ZGUgKi8KIH0gWExvZ1Jl Y0RhdGE7CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2FjY2Vzcy94bG9naW5zZXJ0Lmgg Yi9zcmMvaW5jbHVkZS9hY2Nlc3MveGxvZ2luc2VydC5oCmluZGV4IDNmNmIzNTEwNTI3Li5j ZjA1N2YwMzNhMiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2dpbnNlcnQu aAorKysgYi9zcmMvaW5jbHVkZS9hY2Nlc3MveGxvZ2luc2VydC5oCkBAIC00NSwxMiArNDUs MTIgQEAgZXh0ZXJuIHZvaWQgWExvZ0JlZ2luSW5zZXJ0KHZvaWQpOwogZXh0ZXJuIHZvaWQg WExvZ1NldFJlY29yZEZsYWdzKHVpbnQ4IGZsYWdzKTsKIGV4dGVybiBYTG9nUmVjUHRyIFhM b2dJbnNlcnQoUm1ncklkIHJtaWQsIHVpbnQ4IGluZm8pOwogZXh0ZXJuIHZvaWQgWExvZ0Vu c3VyZVJlY29yZFNwYWNlKGludCBtYXhfYmxvY2tfaWQsIGludCBuZGF0YXMpOwotZXh0ZXJu IHZvaWQgWExvZ1JlZ2lzdGVyRGF0YShjb25zdCBjaGFyICpkYXRhLCB1aW50MzIgbGVuKTsK K2V4dGVybiB2b2lkIFhMb2dSZWdpc3RlckRhdGEoY29uc3Qgdm9pZCAqZGF0YSwgdWludDMy IGxlbik7CiBleHRlcm4gdm9pZCBYTG9nUmVnaXN0ZXJCdWZmZXIodWludDggYmxvY2tfaWQs IEJ1ZmZlciBidWZmZXIsIHVpbnQ4IGZsYWdzKTsKIGV4dGVybiB2b2lkIFhMb2dSZWdpc3Rl ckJsb2NrKHVpbnQ4IGJsb2NrX2lkLCBSZWxGaWxlTG9jYXRvciAqcmxvY2F0b3IsCiAJCQkJ CQkJICBGb3JrTnVtYmVyIGZvcmtudW0sIEJsb2NrTnVtYmVyIGJsa251bSwgY29uc3QgUGFn ZURhdGEgKnBhZ2UsCiAJCQkJCQkJICB1aW50OCBmbGFncyk7Ci1leHRlcm4gdm9pZCBYTG9n UmVnaXN0ZXJCdWZEYXRhKHVpbnQ4IGJsb2NrX2lkLCBjb25zdCBjaGFyICpkYXRhLCB1aW50 MzIgbGVuKTsKK2V4dGVybiB2b2lkIFhMb2dSZWdpc3RlckJ1ZkRhdGEodWludDggYmxvY2tf aWQsIGNvbnN0IHZvaWQgKmRhdGEsIHVpbnQzMiBsZW4pOwogZXh0ZXJuIHZvaWQgWExvZ1Jl c2V0SW5zZXJ0aW9uKHZvaWQpOwogZXh0ZXJuIGJvb2wgWExvZ0NoZWNrQnVmZmVyTmVlZHNC YWNrdXAoQnVmZmVyIGJ1ZmZlcik7CiAKLS0gCjIuNDguMQoK --------------I3oyUgo30pfczihe9dmbqaUa Content-Type: text/plain; charset=UTF-8; name="0010-Remove-unnecessary-char-casts-xlog.patch" Content-Disposition: attachment; filename="0010-Remove-unnecessary-char-casts-xlog.patch" Content-Transfer-Encoding: base64 RnJvbSAwZWYwYWEwY2IzODVjOWNjOTIwZTYzMGQwZWNmMGJiMjMyM2UwYTM1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogTW9uLCAzMCBEZWMgMjAyNCAxNjo0MzoyNiArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMTAvMTBdIFJlbW92ZSB1bm5lY2Vzc2FyeSAoY2hhciAqKSBjYXN0cyBbeGxv Z10KClJlbW92ZSAoY2hhciAqKSBjYXN0cyBubyBsb25nZXIgbmVlZGVkIGFmdGVyIFhMb2dS ZWdpc3RlckRhdGEoKSBhbmQKWExvZ1JlZ2lzdGVyQnVmRGF0YSgpIGFyZ3VtZW50IHR5cGUg Y2hhbmdlLgotLS0KIGNvbnRyaWIvcGdfdmlzaWJpbGl0eS9wZ192aXNpYmlsaXR5LmMgICAg ICAgICB8ICAyICstCiBzcmMvYmFja2VuZC9hY2Nlc3MvYnJpbi9icmluLmMgICAgICAgICAg ICAgICAgfCAgMiArLQogc3JjL2JhY2tlbmQvYWNjZXNzL2JyaW4vYnJpbl9wYWdlb3BzLmMg ICAgICAgIHwgMTIgKystLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9icmluL2JyaW5fcmV2bWFw LmMgICAgICAgICB8ICA0ICstCiBzcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbmJ0cmVlLmMg ICAgICAgICAgICAgfCAgNiArLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2luZGF0YXBh Z2UuYyAgICAgICAgICB8ICA4ICstLQogc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW5lbnRy eXBhZ2UuYyAgICAgICAgIHwgIDQgKy0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2luZmFz dC5jICAgICAgICAgICAgICB8ICA2ICstLQogc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW51 dGlsLmMgICAgICAgICAgICAgIHwgIDIgKy0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2lu dmFjdXVtLmMgICAgICAgICAgICB8ICAyICstCiBzcmMvYmFja2VuZC9hY2Nlc3MvZ2lzdC9n aXN0eGxvZy5jICAgICAgICAgICAgfCAyMiArKysrLS0tLQogc3JjL2JhY2tlbmQvYWNjZXNz L2hhc2gvaGFzaC5jICAgICAgICAgICAgICAgIHwgIDYgKy0tCiBzcmMvYmFja2VuZC9hY2Nl c3MvaGFzaC9oYXNoaW5zZXJ0LmMgICAgICAgICAgfCAgOCArLS0KIHNyYy9iYWNrZW5kL2Fj Y2Vzcy9oYXNoL2hhc2hvdmZsLmMgICAgICAgICAgICB8IDI2ICsrKysrLS0tLS0KIHNyYy9i YWNrZW5kL2FjY2Vzcy9oYXNoL2hhc2hwYWdlLmMgICAgICAgICAgICB8IDE2ICsrKy0tLQog c3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvaGVhcGFtLmMgICAgICAgICAgICAgIHwgNDYgKysr KysrKystLS0tLS0tLQogc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvcHJ1bmVoZWFwLmMgICAg ICAgICAgIHwgMjIgKysrKy0tLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3Jld3JpdGVo ZWFwLmMgICAgICAgICB8ICAyICstCiBzcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idGRl ZHVwLmMgICAgICAgICAgfCAgNCArLQogc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRp bnNlcnQuYyAgICAgICAgIHwgMjYgKysrKystLS0tLQogc3JjL2JhY2tlbmQvYWNjZXNzL25i dHJlZS9uYnRwYWdlLmMgICAgICAgICAgIHwgMjYgKysrKystLS0tLQogc3JjL2JhY2tlbmQv YWNjZXNzL3NwZ2lzdC9zcGdkb2luc2VydC5jICAgICAgIHwgMzYgKysrKysrLS0tLS0tLQog c3JjL2JhY2tlbmQvYWNjZXNzL3NwZ2lzdC9zcGd2YWN1dW0uYyAgICAgICAgIHwgMjIgKysr Ky0tLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL2Nsb2cuYyAgICAgICAgICAgICB8 ICA0ICstCiBzcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9jb21taXRfdHMuYyAgICAgICAg fCAgNCArLQogc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vbXVsdGl4YWN0LmMgICAgICAg IHwgIDggKy0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94YWN0LmMgICAgICAgICAg ICAgfCA1MiArKysrKysrKystLS0tLS0tLS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNh bS94bG9nLmMgICAgICAgICAgICAgfCAxOCArKystLS0tCiBzcmMvYmFja2VuZC9jYXRhbG9n L3N0b3JhZ2UuYyAgICAgICAgICAgICAgICAgfCAgNCArLQogc3JjL2JhY2tlbmQvY29tbWFu ZHMvZGJjb21tYW5kcy5jICAgICAgICAgICAgIHwgMTQgKystLS0KIHNyYy9iYWNrZW5kL2Nv bW1hbmRzL3NlcXVlbmNlLmMgICAgICAgICAgICAgICB8IDEyICsrLS0tCiBzcmMvYmFja2Vu ZC9jb21tYW5kcy90YWJsZWNtZHMuYyAgICAgICAgICAgICAgfCAgNCArLQogc3JjL2JhY2tl bmQvY29tbWFuZHMvdGFibGVzcGFjZS5jICAgICAgICAgICAgIHwgIDYgKy0tCiBzcmMvYmFj a2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL21lc3NhZ2UuYyAgICAgfCAgMiArLQogc3JjL2Jh Y2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9vcmlnaW4uYyAgICAgIHwgIDQgKy0KIHNyYy9i YWNrZW5kL3N0b3JhZ2UvaXBjL3N0YW5kYnkuYyAgICAgICAgICAgICB8IDEyICsrLS0tCiBz cmMvYmFja2VuZC91dGlscy9jYWNoZS9pbnZhbC5jICAgICAgICAgICAgICAgfCAgNiArLS0K IHNyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL3JlbG1hcHBlci5jICAgICAgICAgICB8ICA0ICst CiAuLi4vdGVzdF9jdXN0b21fcm1ncnMvdGVzdF9jdXN0b21fcm1ncnMuYyAgICAgfCAgNCAr LQogMzkgZmlsZXMgY2hhbmdlZCwgMjM0IGluc2VydGlvbnMoKyksIDIzNCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9jb250cmliL3BnX3Zpc2liaWxpdHkvcGdfdmlzaWJpbGl0eS5j IGIvY29udHJpYi9wZ192aXNpYmlsaXR5L3BnX3Zpc2liaWxpdHkuYwppbmRleCBjOTAwY2Zj ZWE0MC4uN2YyNjhhMThhNzQgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcGdfdmlzaWJpbGl0eS9w Z192aXNpYmlsaXR5LmMKKysrIGIvY29udHJpYi9wZ192aXNpYmlsaXR5L3BnX3Zpc2liaWxp dHkuYwpAQCAtNDI0LDcgKzQyNCw3IEBAIHBnX3RydW5jYXRlX3Zpc2liaWxpdHlfbWFwKFBH X0ZVTkNUSU9OX0FSR1MpCiAJCXhscmVjLmZsYWdzID0gU01HUl9UUlVOQ0FURV9WTTsKIAog CQlYTG9nQmVnaW5JbnNlcnQoKTsKLQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAmeGxy ZWMsIHNpemVvZih4bHJlYykpOworCQlYTG9nUmVnaXN0ZXJEYXRhKCZ4bHJlYywgc2l6ZW9m KHhscmVjKSk7CiAKIAkJbHNuID0gWExvZ0luc2VydChSTV9TTUdSX0lELAogCQkJCQkJIFhM T0dfU01HUl9UUlVOQ0FURSB8IFhMUl9TUEVDSUFMX1JFTF9VUERBVEUpOwpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2JyaW4vYnJpbi5jIGIvc3JjL2JhY2tlbmQvYWNjZXNz L2JyaW4vYnJpbi5jCmluZGV4IGNjZjgyNGJiZGIyLi40MjY1Njg3YWZhNCAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2JyaW4vYnJpbi5jCisrKyBiL3NyYy9iYWNrZW5kL2Fj Y2Vzcy9icmluL2JyaW4uYwpAQCAtMTEzNSw3ICsxMTM1LDcgQEAgYnJpbmJ1aWxkKFJlbGF0 aW9uIGhlYXAsIFJlbGF0aW9uIGluZGV4LCBJbmRleEluZm8gKmluZGV4SW5mbykKIAkJeGxy ZWMucGFnZXNQZXJSYW5nZSA9IEJyaW5HZXRQYWdlc1BlclJhbmdlKGluZGV4KTsKIAogCQlY TG9nQmVnaW5JbnNlcnQoKTsKLQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAmeGxyZWMs IFNpemVPZkJyaW5DcmVhdGVJZHgpOworCQlYTG9nUmVnaXN0ZXJEYXRhKCZ4bHJlYywgU2l6 ZU9mQnJpbkNyZWF0ZUlkeCk7CiAJCVhMb2dSZWdpc3RlckJ1ZmZlcigwLCBtZXRhLCBSRUdC VUZfV0lMTF9JTklUIHwgUkVHQlVGX1NUQU5EQVJEKTsKIAogCQlyZWNwdHIgPSBYTG9nSW5z ZXJ0KFJNX0JSSU5fSUQsIFhMT0dfQlJJTl9DUkVBVEVfSU5ERVgpOwpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvYWNjZXNzL2JyaW4vYnJpbl9wYWdlb3BzLmMgYi9zcmMvYmFja2VuZC9h Y2Nlc3MvYnJpbi9icmluX3BhZ2VvcHMuYwppbmRleCA0YmZmMjgwYTEzNS4uNmQ4ZGQxNTEy ZDYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9icmluL2JyaW5fcGFnZW9wcy5j CisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9icmluL2JyaW5fcGFnZW9wcy5jCkBAIC0xOTAs MTAgKzE5MCwxMCBAQCBicmluX2RvdXBkYXRlKFJlbGF0aW9uIGlkeHJlbCwgQmxvY2tOdW1i ZXIgcGFnZXNQZXJSYW5nZSwKIAkJCXhscmVjLm9mZm51bSA9IG9sZG9mZjsKIAogCQkJWExv Z0JlZ2luSW5zZXJ0KCk7Ci0JCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZ4bHJlYywg U2l6ZU9mQnJpblNhbWVwYWdlVXBkYXRlKTsKKwkJCVhMb2dSZWdpc3RlckRhdGEoJnhscmVj LCBTaXplT2ZCcmluU2FtZXBhZ2VVcGRhdGUpOwogCiAJCQlYTG9nUmVnaXN0ZXJCdWZmZXIo MCwgb2xkYnVmLCBSRUdCVUZfU1RBTkRBUkQpOwotCQkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgw LCAoY29uc3QgY2hhciAqKSBuZXd0dXAsIG5ld3N6KTsKKwkJCVhMb2dSZWdpc3RlckJ1ZkRh dGEoMCwgbmV3dHVwLCBuZXdzeik7CiAKIAkJCXJlY3B0ciA9IFhMb2dJbnNlcnQoUk1fQlJJ Tl9JRCwgaW5mbyk7CiAKQEAgLTI4MiwxMCArMjgyLDEwIEBAIGJyaW5fZG91cGRhdGUoUmVs YXRpb24gaWR4cmVsLCBCbG9ja051bWJlciBwYWdlc1BlclJhbmdlLAogCQkJWExvZ0JlZ2lu SW5zZXJ0KCk7CiAKIAkJCS8qIG5ldyBwYWdlICovCi0JCQlYTG9nUmVnaXN0ZXJEYXRhKChj aGFyICopICZ4bHJlYywgU2l6ZU9mQnJpblVwZGF0ZSk7CisJCQlYTG9nUmVnaXN0ZXJEYXRh KCZ4bHJlYywgU2l6ZU9mQnJpblVwZGF0ZSk7CiAKIAkJCVhMb2dSZWdpc3RlckJ1ZmZlcigw LCBuZXdidWYsIFJFR0JVRl9TVEFOREFSRCB8IChleHRlbmRlZCA/IFJFR0JVRl9XSUxMX0lO SVQgOiAwKSk7Ci0JCQlYTG9nUmVnaXN0ZXJCdWZEYXRhKDAsIChjb25zdCBjaGFyICopIG5l d3R1cCwgbmV3c3opOworCQkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgwLCBuZXd0dXAsIG5ld3N6 KTsKIAogCQkJLyogcmV2bWFwIHBhZ2UgKi8KIAkJCVhMb2dSZWdpc3RlckJ1ZmZlcigxLCBy ZXZtYXBidWYsIDApOwpAQCAtNDM1LDEwICs0MzUsMTAgQEAgYnJpbl9kb2luc2VydChSZWxh dGlvbiBpZHhyZWwsIEJsb2NrTnVtYmVyIHBhZ2VzUGVyUmFuZ2UsCiAJCXhscmVjLm9mZm51 bSA9IG9mZjsKIAogCQlYTG9nQmVnaW5JbnNlcnQoKTsKLQkJWExvZ1JlZ2lzdGVyRGF0YSgo Y2hhciAqKSAmeGxyZWMsIFNpemVPZkJyaW5JbnNlcnQpOworCQlYTG9nUmVnaXN0ZXJEYXRh KCZ4bHJlYywgU2l6ZU9mQnJpbkluc2VydCk7CiAKIAkJWExvZ1JlZ2lzdGVyQnVmZmVyKDAs ICpidWZmZXIsIFJFR0JVRl9TVEFOREFSRCB8IChleHRlbmRlZCA/IFJFR0JVRl9XSUxMX0lO SVQgOiAwKSk7Ci0JCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMCwgKGNoYXIgKikgdHVwLCBpdGVt c3opOworCQlYTG9nUmVnaXN0ZXJCdWZEYXRhKDAsIHR1cCwgaXRlbXN6KTsKIAogCQlYTG9n UmVnaXN0ZXJCdWZmZXIoMSwgcmV2bWFwYnVmLCAwKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvYWNjZXNzL2JyaW4vYnJpbl9yZXZtYXAuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9i cmluL2JyaW5fcmV2bWFwLmMKaW5kZXggZWE3MjJkOTVlYmMuLjRlMzgwZWNjNzEwIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvYnJpbi9icmluX3Jldm1hcC5jCisrKyBiL3Ny Yy9iYWNrZW5kL2FjY2Vzcy9icmluL2JyaW5fcmV2bWFwLmMKQEAgLTQxNiw3ICs0MTYsNyBA QCBicmluUmV2bWFwRGVzdW1tYXJpemVSYW5nZShSZWxhdGlvbiBpZHhyZWwsIEJsb2NrTnVt YmVyIGhlYXBCbGspCiAJCXhscmVjLnJlZ09mZnNldCA9IHJlZ09mZnNldDsKIAogCQlYTG9n QmVnaW5JbnNlcnQoKTsKLQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAmeGxyZWMsIFNp emVPZkJyaW5EZXN1bW1hcml6ZSk7CisJCVhMb2dSZWdpc3RlckRhdGEoJnhscmVjLCBTaXpl T2ZCcmluRGVzdW1tYXJpemUpOwogCQlYTG9nUmVnaXN0ZXJCdWZmZXIoMCwgcmV2bWFwQnVm LCAwKTsKIAkJWExvZ1JlZ2lzdGVyQnVmZmVyKDEsIHJlZ0J1ZiwgUkVHQlVGX1NUQU5EQVJE KTsKIAkJcmVjcHRyID0gWExvZ0luc2VydChSTV9CUklOX0lELCBYTE9HX0JSSU5fREVTVU1N QVJJWkUpOwpAQCAtNjI3LDcgKzYyNyw3IEBAIHJldm1hcF9waHlzaWNhbF9leHRlbmQoQnJp blJldm1hcCAqcmV2bWFwKQogCQl4bHJlYy50YXJnZXRCbGsgPSBtYXBCbGs7CiAKIAkJWExv Z0JlZ2luSW5zZXJ0KCk7Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgJnhscmVjLCBT aXplT2ZCcmluUmV2bWFwRXh0ZW5kKTsKKwkJWExvZ1JlZ2lzdGVyRGF0YSgmeGxyZWMsIFNp emVPZkJyaW5SZXZtYXBFeHRlbmQpOwogCQlYTG9nUmVnaXN0ZXJCdWZmZXIoMCwgcmV2bWFw LT5ybV9tZXRhQnVmLCBSRUdCVUZfU1RBTkRBUkQpOwogCiAJCVhMb2dSZWdpc3RlckJ1ZmZl cigxLCBidWYsIFJFR0JVRl9XSUxMX0lOSVQpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv YWNjZXNzL2dpbi9naW5idHJlZS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW5idHJl ZS5jCmluZGV4IDU3NzQxMjYzYWJkLi4yNmEwYmRjMjA2MyAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvYWNjZXNzL2dpbi9naW5idHJlZS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9n aW4vZ2luYnRyZWUuYwpAQCAtNDIzLDcgKzQyMyw3IEBAIGdpblBsYWNlVG9QYWdlKEdpbkJ0 cmVlIGJ0cmVlLCBHaW5CdHJlZVN0YWNrICpzdGFjaywKIAogCQkJeGxyZWMuZmxhZ3MgPSB4 bGZsYWdzOwogCi0JCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZ4bHJlYywgc2l6ZW9m KGdpbnhsb2dJbnNlcnQpKTsKKwkJCVhMb2dSZWdpc3RlckRhdGEoJnhscmVjLCBzaXplb2Yo Z2lueGxvZ0luc2VydCkpOwogCiAJCQkvKgogCQkJICogTG9nIGluZm9ybWF0aW9uIGFib3V0 IGNoaWxkIGlmIHRoaXMgd2FzIGFuIGluc2VydGlvbiBvZiBhCkBAIC00MzMsNyArNDMzLDcg QEAgZ2luUGxhY2VUb1BhZ2UoR2luQnRyZWUgYnRyZWUsIEdpbkJ0cmVlU3RhY2sgKnN0YWNr LAogCQkJewogCQkJCUJsb2NrSWRTZXQoJmNoaWxkYmxrbm9zWzBdLCBCdWZmZXJHZXRCbG9j a051bWJlcihjaGlsZGJ1ZikpOwogCQkJCUJsb2NrSWRTZXQoJmNoaWxkYmxrbm9zWzFdLCBH aW5QYWdlR2V0T3BhcXVlKGNoaWxkcGFnZSktPnJpZ2h0bGluayk7Ci0JCQkJWExvZ1JlZ2lz dGVyRGF0YSgoY2hhciAqKSBjaGlsZGJsa25vcywKKwkJCQlYTG9nUmVnaXN0ZXJEYXRhKGNo aWxkYmxrbm9zLAogCQkJCQkJCQkgc2l6ZW9mKEJsb2NrSWREYXRhKSAqIDIpOwogCQkJfQog CkBAIC02MTcsNyArNjE3LDcgQEAgZ2luUGxhY2VUb1BhZ2UoR2luQnRyZWUgYnRyZWUsIEdp bkJ0cmVlU3RhY2sgKnN0YWNrLAogCQkJaWYgKEJ1ZmZlcklzVmFsaWQoY2hpbGRidWYpKQog CQkJCVhMb2dSZWdpc3RlckJ1ZmZlcigzLCBjaGlsZGJ1ZiwgUkVHQlVGX1NUQU5EQVJEKTsK IAotCQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAmZGF0YSwgc2l6ZW9mKGdpbnhsb2dT cGxpdCkpOworCQkJWExvZ1JlZ2lzdGVyRGF0YSgmZGF0YSwgc2l6ZW9mKGdpbnhsb2dTcGxp dCkpOwogCiAJCQlyZWNwdHIgPSBYTG9nSW5zZXJ0KFJNX0dJTl9JRCwgWExPR19HSU5fU1BM SVQpOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbmRhdGFwYWdl LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbmRhdGFwYWdlLmMKaW5kZXggNjYyNjI2 ZWZkODIuLjZjMmM2MTk0NzIwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2lu L2dpbmRhdGFwYWdlLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW5kYXRhcGFn ZS5jCkBAIC02Myw3ICs2Myw3IEBAIHR5cGVkZWYgc3RydWN0CiAJICogSWYgd2UgbmVlZCBX QUwgZGF0YSByZXByZXNlbnRpbmcgdGhlIHJlY29uc3RydWN0ZWQgbGVhZiBwYWdlLCBpdCdz CiAJICogc3RvcmVkIGhlcmUgYnkgY29tcHV0ZUxlYWZSZWNvbXByZXNzV0FMRGF0YS4KIAkg Ki8KLQljaGFyCSAgICp3YWxpbmZvOwkJLyogYnVmZmVyIHN0YXJ0ICovCisJdm9pZAkgICAq d2FsaW5mbzsJCS8qIGJ1ZmZlciBzdGFydCAqLwogCWludAkJCXdhbGluZm9sZW47CQkvKiBh bmQgbGVuZ3RoICovCiB9IGRpc2Fzc2VtYmxlZExlYWY7CiAKQEAgLTExNzMsNyArMTE3Myw3 IEBAIGRhdGFFeGVjUGxhY2VUb1BhZ2VJbnRlcm5hbChHaW5CdHJlZSBidHJlZSwgQnVmZmVy IGJ1ZiwgR2luQnRyZWVTdGFjayAqc3RhY2ssCiAJCWRhdGEubmV3aXRlbSA9ICpwaXRlbTsK IAogCQlYTG9nUmVnaXN0ZXJCdWZmZXIoMCwgYnVmLCBSRUdCVUZfU1RBTkRBUkQpOwotCQlY TG9nUmVnaXN0ZXJCdWZEYXRhKDAsIChjaGFyICopICZkYXRhLAorCQlYTG9nUmVnaXN0ZXJC dWZEYXRhKDAsICZkYXRhLAogCQkJCQkJCXNpemVvZihnaW54bG9nSW5zZXJ0RGF0YUludGVy bmFsKSk7CiAJfQogfQpAQCAtMTg0NCw5ICsxODQ0LDkgQEAgY3JlYXRlUG9zdGluZ1RyZWUo UmVsYXRpb24gaW5kZXgsIEl0ZW1Qb2ludGVyRGF0YSAqaXRlbXMsIHVpbnQzMiBuaXRlbXMs CiAJCWRhdGEuc2l6ZSA9IHJvb3RzaXplOwogCiAJCVhMb2dCZWdpbkluc2VydCgpOwotCQlY TG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZkYXRhLCBzaXplb2YoZ2lueGxvZ0NyZWF0ZVBv c3RpbmdUcmVlKSk7CisJCVhMb2dSZWdpc3RlckRhdGEoJmRhdGEsIHNpemVvZihnaW54bG9n Q3JlYXRlUG9zdGluZ1RyZWUpKTsKIAotCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopIEdp bkRhdGFMZWFmUGFnZUdldFBvc3RpbmdMaXN0KHBhZ2UpLAorCQlYTG9nUmVnaXN0ZXJEYXRh KEdpbkRhdGFMZWFmUGFnZUdldFBvc3RpbmdMaXN0KHBhZ2UpLAogCQkJCQkJIHJvb3RzaXpl KTsKIAkJWExvZ1JlZ2lzdGVyQnVmZmVyKDAsIGJ1ZmZlciwgUkVHQlVGX1dJTExfSU5JVCk7 CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2luZW50cnlwYWdlLmMg Yi9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbmVudHJ5cGFnZS5jCmluZGV4IGM2NjhkODA5 ZjYwLi5iYTZiYmQ1NjJkZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9n aW5lbnRyeXBhZ2UuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbmVudHJ5cGFn ZS5jCkBAIC01ODUsOSArNTg1LDkgQEAgZW50cnlFeGVjUGxhY2VUb1BhZ2UoR2luQnRyZWUg YnRyZWUsIEJ1ZmZlciBidWYsIEdpbkJ0cmVlU3RhY2sgKnN0YWNrLAogCQlkYXRhLm9mZnNl dCA9IG9mZjsKIAogCQlYTG9nUmVnaXN0ZXJCdWZmZXIoMCwgYnVmLCBSRUdCVUZfU1RBTkRB UkQpOwotCQlYTG9nUmVnaXN0ZXJCdWZEYXRhKDAsIChjaGFyICopICZkYXRhLAorCQlYTG9n UmVnaXN0ZXJCdWZEYXRhKDAsICZkYXRhLAogCQkJCQkJCW9mZnNldG9mKGdpbnhsb2dJbnNl cnRFbnRyeSwgdHVwbGUpKTsKLQkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgwLCAoY2hhciAqKSBp bnNlcnREYXRhLT5lbnRyeSwKKwkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgwLCBpbnNlcnREYXRh LT5lbnRyeSwKIAkJCQkJCQlJbmRleFR1cGxlU2l6ZShpbnNlcnREYXRhLT5lbnRyeSkpOwog CX0KIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2luZmFzdC5jIGIv c3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW5mYXN0LmMKaW5kZXggNGFiODE1ZmVmZTAuLmY0 ZWQ5NDliOTBiIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbmZhc3Qu YworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbmZhc3QuYwpAQCAtMTIyLDcgKzEy Miw3IEBAIHdyaXRlTGlzdFBhZ2UoUmVsYXRpb24gaW5kZXgsIEJ1ZmZlciBidWZmZXIsCiAJ CWRhdGEubnR1cGxlcyA9IG50dXBsZXM7CiAKIAkJWExvZ0JlZ2luSW5zZXJ0KCk7Ci0JCVhM b2dSZWdpc3RlckRhdGEoKGNoYXIgKikgJmRhdGEsIHNpemVvZihnaW54bG9nSW5zZXJ0TGlz dFBhZ2UpKTsKKwkJWExvZ1JlZ2lzdGVyRGF0YSgmZGF0YSwgc2l6ZW9mKGdpbnhsb2dJbnNl cnRMaXN0UGFnZSkpOwogCiAJCVhMb2dSZWdpc3RlckJ1ZmZlcigwLCBidWZmZXIsIFJFR0JV Rl9XSUxMX0lOSVQpOwogCQlYTG9nUmVnaXN0ZXJCdWZEYXRhKDAsIHdvcmtzcGFjZS5kYXRh LCBzaXplKTsKQEAgLTQzMSw3ICs0MzEsNyBAQCBnaW5IZWFwVHVwbGVGYXN0SW5zZXJ0KEdp blN0YXRlICpnaW5zdGF0ZSwgR2luVHVwbGVDb2xsZWN0b3IgKmNvbGxlY3RvcikKIAkJbWVt Y3B5KCZkYXRhLm1ldGFkYXRhLCBtZXRhZGF0YSwgc2l6ZW9mKEdpbk1ldGFQYWdlRGF0YSkp OwogCiAJCVhMb2dSZWdpc3RlckJ1ZmZlcigwLCBtZXRhYnVmZmVyLCBSRUdCVUZfV0lMTF9J TklUIHwgUkVHQlVGX1NUQU5EQVJEKTsKLQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAm ZGF0YSwgc2l6ZW9mKGdpbnhsb2dVcGRhdGVNZXRhKSk7CisJCVhMb2dSZWdpc3RlckRhdGEo JmRhdGEsIHNpemVvZihnaW54bG9nVXBkYXRlTWV0YSkpOwogCiAJCXJlY3B0ciA9IFhMb2dJ bnNlcnQoUk1fR0lOX0lELCBYTE9HX0dJTl9VUERBVEVfTUVUQV9QQUdFKTsKIAkJUGFnZVNl dExTTihtZXRhcGFnZSwgcmVjcHRyKTsKQEAgLTY0Niw3ICs2NDYsNyBAQCBzaGlmdExpc3Qo UmVsYXRpb24gaW5kZXgsIEJ1ZmZlciBtZXRhYnVmZmVyLCBCbG9ja051bWJlciBuZXdIZWFk LAogCiAJCQltZW1jcHkoJmRhdGEubWV0YWRhdGEsIG1ldGFkYXRhLCBzaXplb2YoR2luTWV0 YVBhZ2VEYXRhKSk7CiAKLQkJCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgJmRhdGEsCisJ CQlYTG9nUmVnaXN0ZXJEYXRhKCZkYXRhLAogCQkJCQkJCSBzaXplb2YoZ2lueGxvZ0RlbGV0 ZUxpc3RQYWdlcykpOwogCiAJCQlyZWNwdHIgPSBYTG9nSW5zZXJ0KFJNX0dJTl9JRCwgWExP R19HSU5fREVMRVRFX0xJU1RQQUdFKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vz cy9naW4vZ2ludXRpbC5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW51dGlsLmMKaW5k ZXggMjUwMGQxNmI3YmMuLjFmOWU1OGM0ZjFmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9h Y2Nlc3MvZ2luL2dpbnV0aWwuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbnV0 aWwuYwpAQCAtNjg5LDcgKzY4OSw3IEBAIGdpblVwZGF0ZVN0YXRzKFJlbGF0aW9uIGluZGV4 LCBjb25zdCBHaW5TdGF0c0RhdGEgKnN0YXRzLCBib29sIGlzX2J1aWxkKQogCQltZW1jcHko JmRhdGEubWV0YWRhdGEsIG1ldGFkYXRhLCBzaXplb2YoR2luTWV0YVBhZ2VEYXRhKSk7CiAK IAkJWExvZ0JlZ2luSW5zZXJ0KCk7Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgJmRh dGEsIHNpemVvZihnaW54bG9nVXBkYXRlTWV0YSkpOworCQlYTG9nUmVnaXN0ZXJEYXRhKCZk YXRhLCBzaXplb2YoZ2lueGxvZ1VwZGF0ZU1ldGEpKTsKIAkJWExvZ1JlZ2lzdGVyQnVmZmVy KDAsIG1ldGFidWZmZXIsIFJFR0JVRl9XSUxMX0lOSVQgfCBSRUdCVUZfU1RBTkRBUkQpOwog CiAJCXJlY3B0ciA9IFhMb2dJbnNlcnQoUk1fR0lOX0lELCBYTE9HX0dJTl9VUERBVEVfTUVU QV9QQUdFKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2ludmFjdXVt LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbnZhY3V1bS5jCmluZGV4IGQ5OGM1NGI3 Y2Y3Li44OGQ5YjhkYzEzZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9n aW52YWN1dW0uYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbnZhY3V1bS5jCkBA IC0yMTYsNyArMjE2LDcgQEAgZ2luRGVsZXRlUGFnZShHaW5WYWN1dW1TdGF0ZSAqZ3ZzLCBC bG9ja051bWJlciBkZWxldGVCbGtubywgQmxvY2tOdW1iZXIgbGVmdEJsa24KIAkJZGF0YS5y aWdodExpbmsgPSBHaW5QYWdlR2V0T3BhcXVlKHBhZ2UpLT5yaWdodGxpbms7CiAJCWRhdGEu ZGVsZXRlWGlkID0gR2luUGFnZUdldERlbGV0ZVhpZChwYWdlKTsKIAotCQlYTG9nUmVnaXN0 ZXJEYXRhKChjaGFyICopICZkYXRhLCBzaXplb2YoZ2lueGxvZ0RlbGV0ZVBhZ2UpKTsKKwkJ WExvZ1JlZ2lzdGVyRGF0YSgmZGF0YSwgc2l6ZW9mKGdpbnhsb2dEZWxldGVQYWdlKSk7CiAK IAkJcmVjcHRyID0gWExvZ0luc2VydChSTV9HSU5fSUQsIFhMT0dfR0lOX0RFTEVURV9QQUdF KTsKIAkJUGFnZVNldExTTihwYWdlLCByZWNwdHIpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvYWNjZXNzL2dpc3QvZ2lzdHhsb2cuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9naXN0L2dp c3R4bG9nLmMKaW5kZXggOWQ1NGU2NDc4N2EuLmIzNTRlNGJhNWQxIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9hY2Nlc3MvZ2lzdC9naXN0eGxvZy5jCisrKyBiL3NyYy9iYWNrZW5kL2Fj Y2Vzcy9naXN0L2dpc3R4bG9nLmMKQEAgLTUyOCwxNCArNTI4LDE0IEBAIGdpc3RYTG9nU3Bs aXQoYm9vbCBwYWdlX2lzX2xlYWYsCiAJICogb2YgYnVmZmVyIG9yIGRhdGEgcmVnaXN0cmF0 aW9ucyBoZXJlLCBtYWtlIHN1cmUgeW91IG1vZGlmeSB0aGUKIAkgKiBYTG9nRW5zdXJlUmVj b3JkU3BhY2UoKSBjYWxscyBhY2NvcmRpbmdseSEKIAkgKi8KLQlYTG9nUmVnaXN0ZXJEYXRh KChjaGFyICopICZ4bHJlYywgc2l6ZW9mKGdpc3R4bG9nUGFnZVNwbGl0KSk7CisJWExvZ1Jl Z2lzdGVyRGF0YSgmeGxyZWMsIHNpemVvZihnaXN0eGxvZ1BhZ2VTcGxpdCkpOwogCiAJaSA9 IDE7CiAJZm9yIChwdHIgPSBkaXN0OyBwdHI7IHB0ciA9IHB0ci0+bmV4dCkKIAl7CiAJCVhM b2dSZWdpc3RlckJ1ZmZlcihpLCBwdHItPmJ1ZmZlciwgUkVHQlVGX1dJTExfSU5JVCk7Ci0J CVhMb2dSZWdpc3RlckJ1ZkRhdGEoaSwgKGNoYXIgKikgJihwdHItPmJsb2NrLm51bSksIHNp emVvZihpbnQpKTsKLQkJWExvZ1JlZ2lzdGVyQnVmRGF0YShpLCAoY2hhciAqKSBwdHItPmxp c3QsIHB0ci0+bGVubGlzdCk7CisJCVhMb2dSZWdpc3RlckJ1ZkRhdGEoaSwgJihwdHItPmJs b2NrLm51bSksIHNpemVvZihpbnQpKTsKKwkJWExvZ1JlZ2lzdGVyQnVmRGF0YShpLCBwdHIt Pmxpc3QsIHB0ci0+bGVubGlzdCk7CiAJCWkrKzsKIAl9CiAKQEAgLTU1OSw3ICs1NTksNyBA QCBnaXN0WExvZ1BhZ2VEZWxldGUoQnVmZmVyIGJ1ZmZlciwgRnVsbFRyYW5zYWN0aW9uSWQg eGlkLAogCXhscmVjLmRvd25saW5rT2Zmc2V0ID0gZG93bmxpbmtPZmZzZXQ7CiAKIAlYTG9n QmVnaW5JbnNlcnQoKTsKLQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZ4bHJlYywgU2l6 ZU9mR2lzdHhsb2dQYWdlRGVsZXRlKTsKKwlYTG9nUmVnaXN0ZXJEYXRhKCZ4bHJlYywgU2l6 ZU9mR2lzdHhsb2dQYWdlRGVsZXRlKTsKIAogCVhMb2dSZWdpc3RlckJ1ZmZlcigwLCBidWZm ZXIsIFJFR0JVRl9TVEFOREFSRCk7CiAJWExvZ1JlZ2lzdGVyQnVmZmVyKDEsIHBhcmVudEJ1 ZmZlciwgUkVHQlVGX1NUQU5EQVJEKTsKQEAgLTU4Myw3ICs1ODMsNyBAQCBnaXN0WExvZ0Fz c2lnbkxTTih2b2lkKQogCSAqLwogCVhMb2dCZWdpbkluc2VydCgpOwogCVhMb2dTZXRSZWNv cmRGbGFncyhYTE9HX01BUktfVU5JTVBPUlRBTlQpOwotCVhMb2dSZWdpc3RlckRhdGEoKGNo YXIgKikgJmR1bW15LCBzaXplb2YoZHVtbXkpKTsKKwlYTG9nUmVnaXN0ZXJEYXRhKCZkdW1t eSwgc2l6ZW9mKGR1bW15KSk7CiAJcmV0dXJuIFhMb2dJbnNlcnQoUk1fR0lTVF9JRCwgWExP R19HSVNUX0FTU0lHTl9MU04pOwogfQogCkBAIC02MDksNyArNjA5LDcgQEAgZ2lzdFhMb2dQ YWdlUmV1c2UoUmVsYXRpb24gcmVsLCBSZWxhdGlvbiBoZWFwcmVsLAogCXhscmVjX3JldXNl LnNuYXBzaG90Q29uZmxpY3RIb3Jpem9uID0gZGVsZXRlWGlkOwogCiAJWExvZ0JlZ2luSW5z ZXJ0KCk7Ci0JWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAmeGxyZWNfcmV1c2UsIFNpemVP Zkdpc3R4bG9nUGFnZVJldXNlKTsKKwlYTG9nUmVnaXN0ZXJEYXRhKCZ4bHJlY19yZXVzZSwg U2l6ZU9mR2lzdHhsb2dQYWdlUmV1c2UpOwogCiAJWExvZ0luc2VydChSTV9HSVNUX0lELCBY TE9HX0dJU1RfUEFHRV9SRVVTRSk7CiB9CkBAIC02MzksMTQgKzYzOSwxNCBAQCBnaXN0WExv Z1VwZGF0ZShCdWZmZXIgYnVmZmVyLAogCXhscmVjLm50b2luc2VydCA9IGl0dXBsZW47CiAK IAlYTG9nQmVnaW5JbnNlcnQoKTsKLQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZ4bHJl Yywgc2l6ZW9mKGdpc3R4bG9nUGFnZVVwZGF0ZSkpOworCVhMb2dSZWdpc3RlckRhdGEoJnhs cmVjLCBzaXplb2YoZ2lzdHhsb2dQYWdlVXBkYXRlKSk7CiAKIAlYTG9nUmVnaXN0ZXJCdWZm ZXIoMCwgYnVmZmVyLCBSRUdCVUZfU1RBTkRBUkQpOwotCVhMb2dSZWdpc3RlckJ1ZkRhdGEo MCwgKGNoYXIgKikgdG9kZWxldGUsIHNpemVvZihPZmZzZXROdW1iZXIpICogbnRvZGVsZXRl KTsKKwlYTG9nUmVnaXN0ZXJCdWZEYXRhKDAsIHRvZGVsZXRlLCBzaXplb2YoT2Zmc2V0TnVt YmVyKSAqIG50b2RlbGV0ZSk7CiAKIAkvKiBuZXcgdHVwbGVzICovCiAJZm9yIChpID0gMDsg aSA8IGl0dXBsZW47IGkrKykKLQkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgwLCAoY2hhciAqKSAo aXR1cFtpXSksIEluZGV4VHVwbGVTaXplKGl0dXBbaV0pKTsKKwkJWExvZ1JlZ2lzdGVyQnVm RGF0YSgwLCBpdHVwW2ldLCBJbmRleFR1cGxlU2l6ZShpdHVwW2ldKSk7CiAKIAkvKgogCSAq IEluY2x1ZGUgYSBmdWxsIHBhZ2UgaW1hZ2Ugb2YgdGhlIGNoaWxkIGJ1Zi4gKG9ubHkgbmVj ZXNzYXJ5IGlmIGEKQEAgLTY3OCwxNCArNjc4LDE0IEBAIGdpc3RYTG9nRGVsZXRlKEJ1ZmZl ciBidWZmZXIsIE9mZnNldE51bWJlciAqdG9kZWxldGUsIGludCBudG9kZWxldGUsCiAJeGxy ZWMubnRvZGVsZXRlID0gbnRvZGVsZXRlOwogCiAJWExvZ0JlZ2luSW5zZXJ0KCk7Ci0JWExv Z1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAmeGxyZWMsIFNpemVPZkdpc3R4bG9nRGVsZXRlKTsK KwlYTG9nUmVnaXN0ZXJEYXRhKCZ4bHJlYywgU2l6ZU9mR2lzdHhsb2dEZWxldGUpOwogCiAJ LyoKIAkgKiBXZSBuZWVkIHRoZSB0YXJnZXQtb2Zmc2V0cyBhcnJheSB3aGV0aGVyIG9yIG5v dCB3ZSBzdG9yZSB0aGUgd2hvbGUKIAkgKiBidWZmZXIsIHRvIGFsbG93IHVzIHRvIGZpbmQg dGhlIHNuYXBzaG90Q29uZmxpY3RIb3Jpem9uIG9uIGEgc3RhbmRieQogCSAqIHNlcnZlci4K IAkgKi8KLQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopIHRvZGVsZXRlLCBudG9kZWxldGUg KiBzaXplb2YoT2Zmc2V0TnVtYmVyKSk7CisJWExvZ1JlZ2lzdGVyRGF0YSh0b2RlbGV0ZSwg bnRvZGVsZXRlICogc2l6ZW9mKE9mZnNldE51bWJlcikpOwogCiAJWExvZ1JlZ2lzdGVyQnVm ZmVyKDAsIGJ1ZmZlciwgUkVHQlVGX1NUQU5EQVJEKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvYWNjZXNzL2hhc2gvaGFzaC5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hhc2gvaGFz aC5jCmluZGV4IDYzYjU2OGU3ZjI0Li4wM2NiOGZiYjcwYyAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvYWNjZXNzL2hhc2gvaGFzaC5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oYXNo L2hhc2guYwpAQCAtNjE2LDcgKzYxNiw3IEBAIGhhc2hidWxrZGVsZXRlKEluZGV4VmFjdXVt SW5mbyAqaW5mbywgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpzdGF0cywKIAkJeGxyZWMubnR1 cGxlcyA9IG1ldGFwLT5oYXNobV9udHVwbGVzOwogCiAJCVhMb2dCZWdpbkluc2VydCgpOwot CQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZ4bHJlYywgU2l6ZU9mSGFzaFVwZGF0ZU1l dGFQYWdlKTsKKwkJWExvZ1JlZ2lzdGVyRGF0YSgmeGxyZWMsIFNpemVPZkhhc2hVcGRhdGVN ZXRhUGFnZSk7CiAKIAkJWExvZ1JlZ2lzdGVyQnVmZmVyKDAsIG1ldGFidWYsIFJFR0JVRl9T VEFOREFSRCk7CiAKQEAgLTgyMyw3ICs4MjMsNyBAQCBoYXNoYnVja2V0Y2xlYW51cChSZWxh dGlvbiByZWwsIEJ1Y2tldCBjdXJfYnVja2V0LCBCdWZmZXIgYnVja2V0X2J1ZiwKIAkJCQl4 bHJlYy5pc19wcmltYXJ5X2J1Y2tldF9wYWdlID0gKGJ1ZiA9PSBidWNrZXRfYnVmKTsKIAog CQkJCVhMb2dCZWdpbkluc2VydCgpOwotCQkJCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikg JnhscmVjLCBTaXplT2ZIYXNoRGVsZXRlKTsKKwkJCQlYTG9nUmVnaXN0ZXJEYXRhKCZ4bHJl YywgU2l6ZU9mSGFzaERlbGV0ZSk7CiAKIAkJCQkvKgogCQkJCSAqIGJ1Y2tldCBidWZmZXIg d2FzIG5vdCBjaGFuZ2VkLCBidXQgc3RpbGwgbmVlZHMgdG8gYmUKQEAgLTgzOCw3ICs4Mzgs NyBAQCBoYXNoYnVja2V0Y2xlYW51cChSZWxhdGlvbiByZWwsIEJ1Y2tldCBjdXJfYnVja2V0 LCBCdWZmZXIgYnVja2V0X2J1ZiwKIAkJCQl9CiAKIAkJCQlYTG9nUmVnaXN0ZXJCdWZmZXIo MSwgYnVmLCBSRUdCVUZfU1RBTkRBUkQpOwotCQkJCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMSwg KGNoYXIgKikgZGVsZXRhYmxlLAorCQkJCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMSwgZGVsZXRh YmxlLAogCQkJCQkJCQkJbmRlbGV0YWJsZSAqIHNpemVvZihPZmZzZXROdW1iZXIpKTsKIAog CQkJCXJlY3B0ciA9IFhMb2dJbnNlcnQoUk1fSEFTSF9JRCwgWExPR19IQVNIX0RFTEVURSk7 CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGFzaC9oYXNoaW5zZXJ0LmMgYi9z cmMvYmFja2VuZC9hY2Nlc3MvaGFzaC9oYXNoaW5zZXJ0LmMKaW5kZXggODdmYWIxMzkwMGIu LjEwZGUxNTgwZGMyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGFzaC9oYXNo aW5zZXJ0LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hhc2gvaGFzaGluc2VydC5jCkBA IC0yMjEsMTIgKzIyMSwxMiBAQCBfaGFzaF9kb2luc2VydChSZWxhdGlvbiByZWwsIEluZGV4 VHVwbGUgaXR1cCwgUmVsYXRpb24gaGVhcFJlbCwgYm9vbCBzb3J0ZWQpCiAJCXhscmVjLm9m Zm51bSA9IGl0dXBfb2ZmOwogCiAJCVhMb2dCZWdpbkluc2VydCgpOwotCQlYTG9nUmVnaXN0 ZXJEYXRhKChjaGFyICopICZ4bHJlYywgU2l6ZU9mSGFzaEluc2VydCk7CisJCVhMb2dSZWdp c3RlckRhdGEoJnhscmVjLCBTaXplT2ZIYXNoSW5zZXJ0KTsKIAogCQlYTG9nUmVnaXN0ZXJC dWZmZXIoMSwgbWV0YWJ1ZiwgUkVHQlVGX1NUQU5EQVJEKTsKIAogCQlYTG9nUmVnaXN0ZXJC dWZmZXIoMCwgYnVmLCBSRUdCVUZfU1RBTkRBUkQpOwotCQlYTG9nUmVnaXN0ZXJCdWZEYXRh KDAsIChjaGFyICopIGl0dXAsIEluZGV4VHVwbGVTaXplKGl0dXApKTsKKwkJWExvZ1JlZ2lz dGVyQnVmRGF0YSgwLCBpdHVwLCBJbmRleFR1cGxlU2l6ZShpdHVwKSk7CiAKIAkJcmVjcHRy ID0gWExvZ0luc2VydChSTV9IQVNIX0lELCBYTE9HX0hBU0hfSU5TRVJUKTsKIApAQCAtNDM2 LDE0ICs0MzYsMTQgQEAgX2hhc2hfdmFjdXVtX29uZV9wYWdlKFJlbGF0aW9uIHJlbCwgUmVs YXRpb24gaHJlbCwgQnVmZmVyIG1ldGFidWYsIEJ1ZmZlciBidWYpCiAKIAkJCVhMb2dCZWdp bkluc2VydCgpOwogCQkJWExvZ1JlZ2lzdGVyQnVmZmVyKDAsIGJ1ZiwgUkVHQlVGX1NUQU5E QVJEKTsKLQkJCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgJnhscmVjLCBTaXplT2ZIYXNo VmFjdXVtT25lUGFnZSk7CisJCQlYTG9nUmVnaXN0ZXJEYXRhKCZ4bHJlYywgU2l6ZU9mSGFz aFZhY3V1bU9uZVBhZ2UpOwogCiAJCQkvKgogCQkJICogV2UgbmVlZCB0aGUgdGFyZ2V0LW9m ZnNldHMgYXJyYXkgd2hldGhlciBvciBub3Qgd2Ugc3RvcmUgdGhlCiAJCQkgKiB3aG9sZSBi dWZmZXIsIHRvIGFsbG93IHVzIHRvIGZpbmQgdGhlIHNuYXBzaG90Q29uZmxpY3RIb3Jpem9u CiAJCQkgKiBvbiBhIHN0YW5kYnkgc2VydmVyLgogCQkJICovCi0JCQlYTG9nUmVnaXN0ZXJE YXRhKChjaGFyICopIGRlbGV0YWJsZSwKKwkJCVhMb2dSZWdpc3RlckRhdGEoZGVsZXRhYmxl LAogCQkJCQkJCSBuZGVsZXRhYmxlICogc2l6ZW9mKE9mZnNldE51bWJlcikpOwogCiAJCQlY TG9nUmVnaXN0ZXJCdWZmZXIoMSwgbWV0YWJ1ZiwgUkVHQlVGX1NUQU5EQVJEKTsKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oYXNoL2hhc2hvdmZsLmMgYi9zcmMvYmFja2Vu ZC9hY2Nlc3MvaGFzaC9oYXNob3ZmbC5jCmluZGV4IDNmYTJjNWZlMmVmLi40ZjVmZDNiMjgz NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hhc2gvaGFzaG92ZmwuYworKysg Yi9zcmMvYmFja2VuZC9hY2Nlc3MvaGFzaC9oYXNob3ZmbC5jCkBAIC0zODgsMjQgKzM4OCwy NCBAQCBfaGFzaF9hZGRvdmZscGFnZShSZWxhdGlvbiByZWwsIEJ1ZmZlciBtZXRhYnVmLCBC dWZmZXIgYnVmLCBib29sIHJldGFpbl9waW4pCiAJCXhscmVjLmJtc2l6ZSA9IG1ldGFwLT5o YXNobV9ibXNpemU7CiAKIAkJWExvZ0JlZ2luSW5zZXJ0KCk7Ci0JCVhMb2dSZWdpc3RlckRh dGEoKGNoYXIgKikgJnhscmVjLCBTaXplT2ZIYXNoQWRkT3ZmbFBhZ2UpOworCQlYTG9nUmVn aXN0ZXJEYXRhKCZ4bHJlYywgU2l6ZU9mSGFzaEFkZE92ZmxQYWdlKTsKIAogCQlYTG9nUmVn aXN0ZXJCdWZmZXIoMCwgb3ZmbGJ1ZiwgUkVHQlVGX1dJTExfSU5JVCk7Ci0JCVhMb2dSZWdp c3RlckJ1ZkRhdGEoMCwgKGNoYXIgKikgJnBhZ2VvcGFxdWUtPmhhc2hvX2J1Y2tldCwgc2l6 ZW9mKEJ1Y2tldCkpOworCQlYTG9nUmVnaXN0ZXJCdWZEYXRhKDAsICZwYWdlb3BhcXVlLT5o YXNob19idWNrZXQsIHNpemVvZihCdWNrZXQpKTsKIAogCQlYTG9nUmVnaXN0ZXJCdWZmZXIo MSwgYnVmLCBSRUdCVUZfU1RBTkRBUkQpOwogCiAJCWlmIChCdWZmZXJJc1ZhbGlkKG1hcGJ1 ZikpCiAJCXsKIAkJCVhMb2dSZWdpc3RlckJ1ZmZlcigyLCBtYXBidWYsIFJFR0JVRl9TVEFO REFSRCk7Ci0JCQlYTG9nUmVnaXN0ZXJCdWZEYXRhKDIsIChjaGFyICopICZiaXRtYXBfcGFn ZV9iaXQsIHNpemVvZih1aW50MzIpKTsKKwkJCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMiwgJmJp dG1hcF9wYWdlX2JpdCwgc2l6ZW9mKHVpbnQzMikpOwogCQl9CiAKIAkJaWYgKEJ1ZmZlcklz VmFsaWQobmV3bWFwYnVmKSkKIAkJCVhMb2dSZWdpc3RlckJ1ZmZlcigzLCBuZXdtYXBidWYs IFJFR0JVRl9XSUxMX0lOSVQpOwogCiAJCVhMb2dSZWdpc3RlckJ1ZmZlcig0LCBtZXRhYnVm LCBSRUdCVUZfU1RBTkRBUkQpOwotCQlYTG9nUmVnaXN0ZXJCdWZEYXRhKDQsIChjaGFyICop ICZtZXRhcC0+aGFzaG1fZmlyc3RmcmVlLCBzaXplb2YodWludDMyKSk7CisJCVhMb2dSZWdp c3RlckJ1ZkRhdGEoNCwgJm1ldGFwLT5oYXNobV9maXJzdGZyZWUsIHNpemVvZih1aW50MzIp KTsKIAogCQlyZWNwdHIgPSBYTG9nSW5zZXJ0KFJNX0hBU0hfSUQsIFhMT0dfSEFTSF9BRERf T1ZGTF9QQUdFKTsKIApAQCAtNjU2LDcgKzY1Niw3IEBAIF9oYXNoX2ZyZWVvdmZscGFnZShS ZWxhdGlvbiByZWwsIEJ1ZmZlciBidWNrZXRidWYsIEJ1ZmZlciBvdmZsYnVmLAogCQl4bHJl Yy5pc19wcmV2X2J1Y2tldF9zYW1lX3dydCA9ICh3YnVmID09IHByZXZidWYpOwogCiAJCVhM b2dCZWdpbkluc2VydCgpOwotCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZ4bHJlYywg U2l6ZU9mSGFzaFNxdWVlemVQYWdlKTsKKwkJWExvZ1JlZ2lzdGVyRGF0YSgmeGxyZWMsIFNp emVPZkhhc2hTcXVlZXplUGFnZSk7CiAKIAkJLyoKIAkJICogYnVja2V0IGJ1ZmZlciB3YXMg bm90IGNoYW5nZWQsIGJ1dCBzdGlsbCBuZWVkcyB0byBiZSByZWdpc3RlcmVkIHRvCkBAIC02 NzYsMTAgKzY3NiwxMCBAQCBfaGFzaF9mcmVlb3ZmbHBhZ2UoUmVsYXRpb24gcmVsLCBCdWZm ZXIgYnVja2V0YnVmLCBCdWZmZXIgb3ZmbGJ1ZiwKIAkJCS8qIFJlbWVtYmVyIHRoYXQgd2J1 ZiBpcyBtb2RpZmllZC4gKi8KIAkJCW1vZF93YnVmID0gdHJ1ZTsKIAotCQkJWExvZ1JlZ2lz dGVyQnVmRGF0YSgxLCAoY2hhciAqKSBpdHVwX29mZnNldHMsCisJCQlYTG9nUmVnaXN0ZXJC dWZEYXRhKDEsIGl0dXBfb2Zmc2V0cywKIAkJCQkJCQkJbml0dXBzICogc2l6ZW9mKE9mZnNl dE51bWJlcikpOwogCQkJZm9yIChpID0gMDsgaSA8IG5pdHVwczsgaSsrKQotCQkJCVhMb2dS ZWdpc3RlckJ1ZkRhdGEoMSwgKGNoYXIgKikgaXR1cHNbaV0sIHR1cHNfc2l6ZVtpXSk7CisJ CQkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgxLCBpdHVwc1tpXSwgdHVwc19zaXplW2ldKTsKIAkJ fQogCQllbHNlIGlmICh4bHJlYy5pc19wcmltX2J1Y2tldF9zYW1lX3dydCB8fCB4bHJlYy5p c19wcmV2X2J1Y2tldF9zYW1lX3dydCkKIAkJewpAQCAtNzIxLDEyICs3MjEsMTIgQEAgX2hh c2hfZnJlZW92ZmxwYWdlKFJlbGF0aW9uIHJlbCwgQnVmZmVyIGJ1Y2tldGJ1ZiwgQnVmZmVy IG92ZmxidWYsCiAJCQlYTG9nUmVnaXN0ZXJCdWZmZXIoNCwgbmV4dGJ1ZiwgUkVHQlVGX1NU QU5EQVJEKTsKIAogCQlYTG9nUmVnaXN0ZXJCdWZmZXIoNSwgbWFwYnVmLCBSRUdCVUZfU1RB TkRBUkQpOwotCQlYTG9nUmVnaXN0ZXJCdWZEYXRhKDUsIChjaGFyICopICZiaXRtYXBiaXQs IHNpemVvZih1aW50MzIpKTsKKwkJWExvZ1JlZ2lzdGVyQnVmRGF0YSg1LCAmYml0bWFwYml0 LCBzaXplb2YodWludDMyKSk7CiAKIAkJaWYgKHVwZGF0ZV9tZXRhcCkKIAkJewogCQkJWExv Z1JlZ2lzdGVyQnVmZmVyKDYsIG1ldGFidWYsIFJFR0JVRl9TVEFOREFSRCk7Ci0JCQlYTG9n UmVnaXN0ZXJCdWZEYXRhKDYsIChjaGFyICopICZtZXRhcC0+aGFzaG1fZmlyc3RmcmVlLCBz aXplb2YodWludDMyKSk7CisJCQlYTG9nUmVnaXN0ZXJCdWZEYXRhKDYsICZtZXRhcC0+aGFz aG1fZmlyc3RmcmVlLCBzaXplb2YodWludDMyKSk7CiAJCX0KIAogCQlyZWNwdHIgPSBYTG9n SW5zZXJ0KFJNX0hBU0hfSUQsIFhMT0dfSEFTSF9TUVVFRVpFX1BBR0UpOwpAQCAtOTkzLDcg Kzk5Myw3IEBAIF9oYXNoX3NxdWVlemVidWNrZXQoUmVsYXRpb24gcmVsLAogCQkJCQkJeGxy ZWMuaXNfcHJpbV9idWNrZXRfc2FtZV93cnQgPSAod2J1ZiA9PSBidWNrZXRfYnVmKTsKIAog CQkJCQkJWExvZ0JlZ2luSW5zZXJ0KCk7Ci0JCQkJCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFy ICopICZ4bHJlYywgU2l6ZU9mSGFzaE1vdmVQYWdlQ29udGVudHMpOworCQkJCQkJWExvZ1Jl Z2lzdGVyRGF0YSgmeGxyZWMsIFNpemVPZkhhc2hNb3ZlUGFnZUNvbnRlbnRzKTsKIAogCQkJ CQkJLyoKIAkJCQkJCSAqIGJ1Y2tldCBidWZmZXIgd2FzIG5vdCBjaGFuZ2VkLCBidXQgc3Rp bGwgbmVlZHMgdG8KQEAgLTEwMDgsMTMgKzEwMDgsMTMgQEAgX2hhc2hfc3F1ZWV6ZWJ1Y2tl dChSZWxhdGlvbiByZWwsCiAJCQkJCQl9CiAKIAkJCQkJCVhMb2dSZWdpc3RlckJ1ZmZlcigx LCB3YnVmLCBSRUdCVUZfU1RBTkRBUkQpOwotCQkJCQkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgx LCAoY2hhciAqKSBpdHVwX29mZnNldHMsCisJCQkJCQlYTG9nUmVnaXN0ZXJCdWZEYXRhKDEs IGl0dXBfb2Zmc2V0cywKIAkJCQkJCQkJCQkJbml0dXBzICogc2l6ZW9mKE9mZnNldE51bWJl cikpOwogCQkJCQkJZm9yIChpID0gMDsgaSA8IG5pdHVwczsgaSsrKQotCQkJCQkJCVhMb2dS ZWdpc3RlckJ1ZkRhdGEoMSwgKGNoYXIgKikgaXR1cHNbaV0sIHR1cHNfc2l6ZVtpXSk7CisJ CQkJCQkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgxLCBpdHVwc1tpXSwgdHVwc19zaXplW2ldKTsK IAogCQkJCQkJWExvZ1JlZ2lzdGVyQnVmZmVyKDIsIHJidWYsIFJFR0JVRl9TVEFOREFSRCk7 Ci0JCQkJCQlYTG9nUmVnaXN0ZXJCdWZEYXRhKDIsIChjaGFyICopIGRlbGV0YWJsZSwKKwkJ CQkJCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMiwgZGVsZXRhYmxlLAogCQkJCQkJCQkJCQluZGVs ZXRhYmxlICogc2l6ZW9mKE9mZnNldE51bWJlcikpOwogCiAJCQkJCQlyZWNwdHIgPSBYTG9n SW5zZXJ0KFJNX0hBU0hfSUQsIFhMT0dfSEFTSF9NT1ZFX1BBR0VfQ09OVEVOVFMpOwpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hhc2gvaGFzaHBhZ2UuYyBiL3NyYy9iYWNr ZW5kL2FjY2Vzcy9oYXNoL2hhc2hwYWdlLmMKaW5kZXggOTdlZmQ0ZTE0YWIuLmI4ZTViZDAw NWU1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGFzaC9oYXNocGFnZS5jCisr KyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oYXNoL2hhc2hwYWdlLmMKQEAgLTM5NCw3ICszOTQs NyBAQCBfaGFzaF9pbml0KFJlbGF0aW9uIHJlbCwgZG91YmxlIG51bV90dXBsZXMsIEZvcmtO dW1iZXIgZm9ya051bSkKIAkJeGxyZWMuZmZhY3RvciA9IG1ldGFwLT5oYXNobV9mZmFjdG9y OwogCiAJCVhMb2dCZWdpbkluc2VydCgpOwotCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICop ICZ4bHJlYywgU2l6ZU9mSGFzaEluaXRNZXRhUGFnZSk7CisJCVhMb2dSZWdpc3RlckRhdGEo JnhscmVjLCBTaXplT2ZIYXNoSW5pdE1ldGFQYWdlKTsKIAkJWExvZ1JlZ2lzdGVyQnVmZmVy KDAsIG1ldGFidWYsIFJFR0JVRl9XSUxMX0lOSVQgfCBSRUdCVUZfU1RBTkRBUkQpOwogCiAJ CXJlY3B0ciA9IFhMb2dJbnNlcnQoUk1fSEFTSF9JRCwgWExPR19IQVNIX0lOSVRfTUVUQV9Q QUdFKTsKQEAgLTQ2OCw3ICs0NjgsNyBAQCBfaGFzaF9pbml0KFJlbGF0aW9uIHJlbCwgZG91 YmxlIG51bV90dXBsZXMsIEZvcmtOdW1iZXIgZm9ya051bSkKIAkJeGxyZWMuYm1zaXplID0g bWV0YXAtPmhhc2htX2Jtc2l6ZTsKIAogCQlYTG9nQmVnaW5JbnNlcnQoKTsKLQkJWExvZ1Jl Z2lzdGVyRGF0YSgoY2hhciAqKSAmeGxyZWMsIFNpemVPZkhhc2hJbml0Qml0bWFwUGFnZSk7 CisJCVhMb2dSZWdpc3RlckRhdGEoJnhscmVjLCBTaXplT2ZIYXNoSW5pdEJpdG1hcFBhZ2Up OwogCQlYTG9nUmVnaXN0ZXJCdWZmZXIoMCwgYml0bWFwYnVmLCBSRUdCVUZfV0lMTF9JTklU KTsKIAogCQkvKgpAQCAtOTE2LDIxICs5MTYsMjEgQEAgX2hhc2hfZXhwYW5kdGFibGUoUmVs YXRpb24gcmVsLCBCdWZmZXIgbWV0YWJ1ZikKIAkJaWYgKG1ldGFwX3VwZGF0ZV9tYXNrcykK IAkJewogCQkJeGxyZWMuZmxhZ3MgfD0gWExIX1NQTElUX01FVEFfVVBEQVRFX01BU0tTOwot CQkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgyLCAoY2hhciAqKSAmbWV0YXAtPmhhc2htX2xvd21h c2ssIHNpemVvZih1aW50MzIpKTsKLQkJCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMiwgKGNoYXIg KikgJm1ldGFwLT5oYXNobV9oaWdobWFzaywgc2l6ZW9mKHVpbnQzMikpOworCQkJWExvZ1Jl Z2lzdGVyQnVmRGF0YSgyLCAmbWV0YXAtPmhhc2htX2xvd21hc2ssIHNpemVvZih1aW50MzIp KTsKKwkJCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMiwgJm1ldGFwLT5oYXNobV9oaWdobWFzaywg c2l6ZW9mKHVpbnQzMikpOwogCQl9CiAKIAkJaWYgKG1ldGFwX3VwZGF0ZV9zcGxpdHBvaW50 KQogCQl7CiAJCQl4bHJlYy5mbGFncyB8PSBYTEhfU1BMSVRfTUVUQV9VUERBVEVfU1BMSVRQ T0lOVDsKLQkJCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMiwgKGNoYXIgKikgJm1ldGFwLT5oYXNo bV9vdmZscG9pbnQsCisJCQlYTG9nUmVnaXN0ZXJCdWZEYXRhKDIsICZtZXRhcC0+aGFzaG1f b3ZmbHBvaW50LAogCQkJCQkJCQlzaXplb2YodWludDMyKSk7CiAJCQlYTG9nUmVnaXN0ZXJC dWZEYXRhKDIsCi0JCQkJCQkJCShjaGFyICopICZtZXRhcC0+aGFzaG1fc3BhcmVzW21ldGFw LT5oYXNobV9vdmZscG9pbnRdLAorCQkJCQkJCQkmbWV0YXAtPmhhc2htX3NwYXJlc1ttZXRh cC0+aGFzaG1fb3ZmbHBvaW50XSwKIAkJCQkJCQkJc2l6ZW9mKHVpbnQzMikpOwogCQl9CiAK LQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAmeGxyZWMsIFNpemVPZkhhc2hTcGxpdEFs bG9jUGFnZSk7CisJCVhMb2dSZWdpc3RlckRhdGEoJnhscmVjLCBTaXplT2ZIYXNoU3BsaXRB bGxvY1BhZ2UpOwogCiAJCXJlY3B0ciA9IFhMb2dJbnNlcnQoUk1fSEFTSF9JRCwgWExPR19I QVNIX1NQTElUX0FMTE9DQVRFX1BBR0UpOwogCkBAIC0xMzA0LDcgKzEzMDQsNyBAQCBfaGFz aF9zcGxpdGJ1Y2tldChSZWxhdGlvbiByZWwsCiAKIAkJWExvZ0JlZ2luSW5zZXJ0KCk7CiAK LQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAmeGxyZWMsIFNpemVPZkhhc2hTcGxpdENv bXBsZXRlKTsKKwkJWExvZ1JlZ2lzdGVyRGF0YSgmeGxyZWMsIFNpemVPZkhhc2hTcGxpdENv bXBsZXRlKTsKIAogCQlYTG9nUmVnaXN0ZXJCdWZmZXIoMCwgYnVja2V0X29idWYsIFJFR0JV Rl9TVEFOREFSRCk7CiAJCVhMb2dSZWdpc3RlckJ1ZmZlcigxLCBidWNrZXRfbmJ1ZiwgUkVH QlVGX1NUQU5EQVJEKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL2hl YXBhbS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvaGVhcGFtLmMKaW5kZXggZWEwYTEy YjM5YWYuLjYzMzhhMmY4MGQ1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVh cC9oZWFwYW0uYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC9oZWFwYW0uYwpAQCAt MjEzMyw3ICsyMTMzLDcgQEAgaGVhcF9pbnNlcnQoUmVsYXRpb24gcmVsYXRpb24sIEhlYXBU dXBsZSB0dXAsIENvbW1hbmRJZCBjaWQsCiAJCX0KIAogCQlYTG9nQmVnaW5JbnNlcnQoKTsK LQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAmeGxyZWMsIFNpemVPZkhlYXBJbnNlcnQp OworCQlYTG9nUmVnaXN0ZXJEYXRhKCZ4bHJlYywgU2l6ZU9mSGVhcEluc2VydCk7CiAKIAkJ eGxoZHIudF9pbmZvbWFzazIgPSBoZWFwdHVwLT50X2RhdGEtPnRfaW5mb21hc2syOwogCQl4 bGhkci50X2luZm9tYXNrID0gaGVhcHR1cC0+dF9kYXRhLT50X2luZm9tYXNrOwpAQCAtMjE0 NSwxMCArMjE0NSwxMCBAQCBoZWFwX2luc2VydChSZWxhdGlvbiByZWxhdGlvbiwgSGVhcFR1 cGxlIHR1cCwgQ29tbWFuZElkIGNpZCwKIAkJICogeGxfaGVhcF9oZWFkZXIgaW4gdGhlIHhs b2cuCiAJCSAqLwogCQlYTG9nUmVnaXN0ZXJCdWZmZXIoMCwgYnVmZmVyLCBSRUdCVUZfU1RB TkRBUkQgfCBidWZmbGFncyk7Ci0JCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMCwgKGNoYXIgKikg JnhsaGRyLCBTaXplT2ZIZWFwSGVhZGVyKTsKKwkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgwLCAm eGxoZHIsIFNpemVPZkhlYXBIZWFkZXIpOwogCQkvKiBQRzczRk9STUFUOiB3cml0ZSBiaXRt YXAgWysgcGFkZGluZ10gWysgb2lkXSArIGRhdGEgKi8KIAkJWExvZ1JlZ2lzdGVyQnVmRGF0 YSgwLAotCQkJCQkJCShjaGFyICopIGhlYXB0dXAtPnRfZGF0YSArIFNpemVvZkhlYXBUdXBs ZUhlYWRlciwKKwkJCQkJCQkoKGNoYXIgKikgaGVhcHR1cC0+dF9kYXRhKSArIFNpemVvZkhl YXBUdXBsZUhlYWRlciwKIAkJCQkJCQloZWFwdHVwLT50X2xlbiAtIFNpemVvZkhlYXBUdXBs ZUhlYWRlcik7CiAKIAkJLyogZmlsdGVyaW5nIGJ5IG9yaWdpbiBvbiBhIHJvdyBsZXZlbCBp cyBtdWNoIG1vcmUgZWZmaWNpZW50ICovCkBAIC0yNTQyLDcgKzI1NDIsNyBAQCBoZWFwX211 bHRpX2luc2VydChSZWxhdGlvbiByZWxhdGlvbiwgVHVwbGVUYWJsZVNsb3QgKipzbG90cywg aW50IG50dXBsZXMsCiAJCQkJYnVmZmxhZ3MgfD0gUkVHQlVGX0tFRVBfREFUQTsKIAogCQkJ WExvZ0JlZ2luSW5zZXJ0KCk7Ci0JCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopIHhscmVj LCB0dXBsZWRhdGEgLSBzY3JhdGNoLmRhdGEpOworCQkJWExvZ1JlZ2lzdGVyRGF0YSh4bHJl YywgdHVwbGVkYXRhIC0gc2NyYXRjaC5kYXRhKTsKIAkJCVhMb2dSZWdpc3RlckJ1ZmZlcigw LCBidWZmZXIsIFJFR0JVRl9TVEFOREFSRCB8IGJ1ZmZsYWdzKTsKIAogCQkJWExvZ1JlZ2lz dGVyQnVmRGF0YSgwLCB0dXBsZWRhdGEsIHRvdGFsZGF0YWxlbik7CkBAIC0zMDMyLDcgKzMw MzIsNyBAQCBoZWFwX2RlbGV0ZShSZWxhdGlvbiByZWxhdGlvbiwgSXRlbVBvaW50ZXIgdGlk LAogCQl9CiAKIAkJWExvZ0JlZ2luSW5zZXJ0KCk7Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNo YXIgKikgJnhscmVjLCBTaXplT2ZIZWFwRGVsZXRlKTsKKwkJWExvZ1JlZ2lzdGVyRGF0YSgm eGxyZWMsIFNpemVPZkhlYXBEZWxldGUpOwogCiAJCVhMb2dSZWdpc3RlckJ1ZmZlcigwLCBi dWZmZXIsIFJFR0JVRl9TVEFOREFSRCk7CiAKQEAgLTMwNDUsOCArMzA0NSw4IEBAIGhlYXBf ZGVsZXRlKFJlbGF0aW9uIHJlbGF0aW9uLCBJdGVtUG9pbnRlciB0aWQsCiAJCQl4bGhkci50 X2luZm9tYXNrID0gb2xkX2tleV90dXBsZS0+dF9kYXRhLT50X2luZm9tYXNrOwogCQkJeGxo ZHIudF9ob2ZmID0gb2xkX2tleV90dXBsZS0+dF9kYXRhLT50X2hvZmY7CiAKLQkJCVhMb2dS ZWdpc3RlckRhdGEoKGNoYXIgKikgJnhsaGRyLCBTaXplT2ZIZWFwSGVhZGVyKTsKLQkJCVhM b2dSZWdpc3RlckRhdGEoKGNoYXIgKikgb2xkX2tleV90dXBsZS0+dF9kYXRhCisJCQlYTG9n UmVnaXN0ZXJEYXRhKCZ4bGhkciwgU2l6ZU9mSGVhcEhlYWRlcik7CisJCQlYTG9nUmVnaXN0 ZXJEYXRhKCgoY2hhciAqKSBvbGRfa2V5X3R1cGxlLT50X2RhdGEpCiAJCQkJCQkJICsgU2l6 ZW9mSGVhcFR1cGxlSGVhZGVyLAogCQkJCQkJCSBvbGRfa2V5X3R1cGxlLT50X2xlbgogCQkJ CQkJCSAtIFNpemVvZkhlYXBUdXBsZUhlYWRlcik7CkBAIC0zODExLDcgKzM4MTEsNyBAQCBo ZWFwX3VwZGF0ZShSZWxhdGlvbiByZWxhdGlvbiwgSXRlbVBvaW50ZXIgb3RpZCwgSGVhcFR1 cGxlIG5ld3R1cCwKIAkJCQkJCQkJCQkJCSAgb2xkdHVwLnRfZGF0YS0+dF9pbmZvbWFzazIp OwogCQkJeGxyZWMuZmxhZ3MgPQogCQkJCWNsZWFyZWRfYWxsX2Zyb3plbiA/IFhMSF9MT0NL X0FMTF9GUk9aRU5fQ0xFQVJFRCA6IDA7Ci0JCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICop ICZ4bHJlYywgU2l6ZU9mSGVhcExvY2spOworCQkJWExvZ1JlZ2lzdGVyRGF0YSgmeGxyZWMs IFNpemVPZkhlYXBMb2NrKTsKIAkJCXJlY3B0ciA9IFhMb2dJbnNlcnQoUk1fSEVBUF9JRCwg WExPR19IRUFQX0xPQ0spOwogCQkJUGFnZVNldExTTihwYWdlLCByZWNwdHIpOwogCQl9CkBA IC01MTQyLDcgKzUxNDIsNyBAQCBoZWFwX2xvY2tfdHVwbGUoUmVsYXRpb24gcmVsYXRpb24s IEhlYXBUdXBsZSB0dXBsZSwKIAkJeGxyZWMuaW5mb2JpdHNfc2V0ID0gY29tcHV0ZV9pbmZv Yml0cyhuZXdfaW5mb21hc2ssCiAJCQkJCQkJCQkJCSAgdHVwbGUtPnRfZGF0YS0+dF9pbmZv bWFzazIpOwogCQl4bHJlYy5mbGFncyA9IGNsZWFyZWRfYWxsX2Zyb3plbiA/IFhMSF9MT0NL X0FMTF9GUk9aRU5fQ0xFQVJFRCA6IDA7Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikg JnhscmVjLCBTaXplT2ZIZWFwTG9jayk7CisJCVhMb2dSZWdpc3RlckRhdGEoJnhscmVjLCBT aXplT2ZIZWFwTG9jayk7CiAKIAkJLyogd2UgZG9uJ3QgZGVjb2RlIHJvdyBsb2NrcyBhdG0s IHNvIG5vIG5lZWQgdG8gbG9nIHRoZSBvcmlnaW4gKi8KIApAQCAtNTg5NSw3ICs1ODk1LDcg QEAgaGVhcF9sb2NrX3VwZGF0ZWRfdHVwbGVfcmVjKFJlbGF0aW9uIHJlbCwgSXRlbVBvaW50 ZXIgdGlkLCBUcmFuc2FjdGlvbklkIHhpZCwKIAkJCXhscmVjLmZsYWdzID0KIAkJCQljbGVh cmVkX2FsbF9mcm96ZW4gPyBYTEhfTE9DS19BTExfRlJPWkVOX0NMRUFSRUQgOiAwOwogCi0J CQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZ4bHJlYywgU2l6ZU9mSGVhcExvY2tVcGRh dGVkKTsKKwkJCVhMb2dSZWdpc3RlckRhdGEoJnhscmVjLCBTaXplT2ZIZWFwTG9ja1VwZGF0 ZWQpOwogCiAJCQlyZWNwdHIgPSBYTG9nSW5zZXJ0KFJNX0hFQVAyX0lELCBYTE9HX0hFQVAy X0xPQ0tfVVBEQVRFRCk7CiAKQEAgLTYwNDgsNyArNjA0OCw3IEBAIGhlYXBfZmluaXNoX3Nw ZWN1bGF0aXZlKFJlbGF0aW9uIHJlbGF0aW9uLCBJdGVtUG9pbnRlciB0aWQpCiAJCS8qIFdl IHdhbnQgdGhlIHNhbWUgZmlsdGVyaW5nIG9uIHRoaXMgYXMgb24gYSBwbGFpbiBpbnNlcnQg Ki8KIAkJWExvZ1NldFJlY29yZEZsYWdzKFhMT0dfSU5DTFVERV9PUklHSU4pOwogCi0JCVhM b2dSZWdpc3RlckRhdGEoKGNoYXIgKikgJnhscmVjLCBTaXplT2ZIZWFwQ29uZmlybSk7CisJ CVhMb2dSZWdpc3RlckRhdGEoJnhscmVjLCBTaXplT2ZIZWFwQ29uZmlybSk7CiAJCVhMb2dS ZWdpc3RlckJ1ZmZlcigwLCBidWZmZXIsIFJFR0JVRl9TVEFOREFSRCk7CiAKIAkJcmVjcHRy ID0gWExvZ0luc2VydChSTV9IRUFQX0lELCBYTE9HX0hFQVBfQ09ORklSTSk7CkBAIC02MTkz LDcgKzYxOTMsNyBAQCBoZWFwX2Fib3J0X3NwZWN1bGF0aXZlKFJlbGF0aW9uIHJlbGF0aW9u LCBJdGVtUG9pbnRlciB0aWQpCiAJCXhscmVjLnhtYXggPSB4aWQ7CiAKIAkJWExvZ0JlZ2lu SW5zZXJ0KCk7Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgJnhscmVjLCBTaXplT2ZI ZWFwRGVsZXRlKTsKKwkJWExvZ1JlZ2lzdGVyRGF0YSgmeGxyZWMsIFNpemVPZkhlYXBEZWxl dGUpOwogCQlYTG9nUmVnaXN0ZXJCdWZmZXIoMCwgYnVmZmVyLCBSRUdCVUZfU1RBTkRBUkQp OwogCiAJCS8qIE5vIHJlcGxpY2EgaWRlbnRpdHkgJiByZXBsaWNhdGlvbiBvcmlnaW4gbG9n Z2VkICovCkBAIC02NDg5LDkgKzY0ODksOSBAQCBoZWFwX2lucGxhY2VfdXBkYXRlX2FuZF91 bmxvY2soUmVsYXRpb24gcmVsYXRpb24sCiAJCXhscmVjLm5tc2dzID0gbm1zZ3M7CiAKIAkJ WExvZ0JlZ2luSW5zZXJ0KCk7Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgJnhscmVj LCBNaW5TaXplT2ZIZWFwSW5wbGFjZSk7CisJCVhMb2dSZWdpc3RlckRhdGEoJnhscmVjLCBN aW5TaXplT2ZIZWFwSW5wbGFjZSk7CiAJCWlmIChubXNncyAhPSAwKQotCQkJWExvZ1JlZ2lz dGVyRGF0YSgoY2hhciAqKSBpbnZhbE1lc3NhZ2VzLAorCQkJWExvZ1JlZ2lzdGVyRGF0YShp bnZhbE1lc3NhZ2VzLAogCQkJCQkJCSBubXNncyAqIHNpemVvZihTaGFyZWRJbnZhbGlkYXRp b25NZXNzYWdlKSk7CiAKIAkJLyogcmVnaXN0ZXIgYmxvY2sgbWF0Y2hpbmcgd2hhdCBidWZm ZXIgd2lsbCBsb29rIGxpa2UgYWZ0ZXIgY2hhbmdlcyAqLwpAQCAtODcyMiw3ICs4NzIyLDcg QEAgbG9nX2hlYXBfdmlzaWJsZShSZWxhdGlvbiByZWwsIEJ1ZmZlciBoZWFwX2J1ZmZlciwg QnVmZmVyIHZtX2J1ZmZlciwKIAlpZiAoUmVsYXRpb25Jc0FjY2Vzc2libGVJbkxvZ2ljYWxE ZWNvZGluZyhyZWwpKQogCQl4bHJlYy5mbGFncyB8PSBWSVNJQklMSVRZTUFQX1hMT0dfQ0FU QUxPR19SRUw7CiAJWExvZ0JlZ2luSW5zZXJ0KCk7Ci0JWExvZ1JlZ2lzdGVyRGF0YSgoY2hh ciAqKSAmeGxyZWMsIFNpemVPZkhlYXBWaXNpYmxlKTsKKwlYTG9nUmVnaXN0ZXJEYXRhKCZ4 bHJlYywgU2l6ZU9mSGVhcFZpc2libGUpOwogCiAJWExvZ1JlZ2lzdGVyQnVmZmVyKDAsIHZt X2J1ZmZlciwgMCk7CiAKQEAgLTg4NzMsNyArODg3Myw3IEBAIGxvZ19oZWFwX3VwZGF0ZShS ZWxhdGlvbiByZWxuLCBCdWZmZXIgb2xkYnVmLAogCWlmIChvbGRidWYgIT0gbmV3YnVmKQog CQlYTG9nUmVnaXN0ZXJCdWZmZXIoMSwgb2xkYnVmLCBSRUdCVUZfU1RBTkRBUkQpOwogCi0J WExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAmeGxyZWMsIFNpemVPZkhlYXBVcGRhdGUpOwor CVhMb2dSZWdpc3RlckRhdGEoJnhscmVjLCBTaXplT2ZIZWFwVXBkYXRlKTsKIAogCS8qCiAJ ICogUHJlcGFyZSBXQUwgZGF0YSBmb3IgdGhlIG5ldyB0dXBsZS4KQEAgLTg4ODQsMTUgKzg4 ODQsMTUgQEAgbG9nX2hlYXBfdXBkYXRlKFJlbGF0aW9uIHJlbG4sIEJ1ZmZlciBvbGRidWYs CiAJCXsKIAkJCXByZWZpeF9zdWZmaXhbMF0gPSBwcmVmaXhsZW47CiAJCQlwcmVmaXhfc3Vm Zml4WzFdID0gc3VmZml4bGVuOwotCQkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgwLCAoY2hhciAq KSAmcHJlZml4X3N1ZmZpeCwgc2l6ZW9mKHVpbnQxNikgKiAyKTsKKwkJCVhMb2dSZWdpc3Rl ckJ1ZkRhdGEoMCwgJnByZWZpeF9zdWZmaXgsIHNpemVvZih1aW50MTYpICogMik7CiAJCX0K IAkJZWxzZSBpZiAocHJlZml4bGVuID4gMCkKIAkJewotCQkJWExvZ1JlZ2lzdGVyQnVmRGF0 YSgwLCAoY2hhciAqKSAmcHJlZml4bGVuLCBzaXplb2YodWludDE2KSk7CisJCQlYTG9nUmVn aXN0ZXJCdWZEYXRhKDAsICZwcmVmaXhsZW4sIHNpemVvZih1aW50MTYpKTsKIAkJfQogCQll bHNlCiAJCXsKLQkJCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMCwgKGNoYXIgKikgJnN1ZmZpeGxl biwgc2l6ZW9mKHVpbnQxNikpOworCQkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgwLCAmc3VmZml4 bGVuLCBzaXplb2YodWludDE2KSk7CiAJCX0KIAl9CiAKQEAgLTg5MDYsNyArODkwNiw3IEBA IGxvZ19oZWFwX3VwZGF0ZShSZWxhdGlvbiByZWxuLCBCdWZmZXIgb2xkYnVmLAogCSAqCiAJ ICogVGhlICdkYXRhJyBkb2Vzbid0IGluY2x1ZGUgdGhlIGNvbW1vbiBwcmVmaXggb3Igc3Vm Zml4LgogCSAqLwotCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMCwgKGNoYXIgKikgJnhsaGRyLCBT aXplT2ZIZWFwSGVhZGVyKTsKKwlYTG9nUmVnaXN0ZXJCdWZEYXRhKDAsICZ4bGhkciwgU2l6 ZU9mSGVhcEhlYWRlcik7CiAJaWYgKHByZWZpeGxlbiA9PSAwKQogCXsKIAkJWExvZ1JlZ2lz dGVyQnVmRGF0YSgwLApAQCAtODk0MSwxMCArODk0MSwxMCBAQCBsb2dfaGVhcF91cGRhdGUo UmVsYXRpb24gcmVsbiwgQnVmZmVyIG9sZGJ1ZiwKIAkJeGxoZHJfaWR4LnRfaW5mb21hc2sg PSBvbGRfa2V5X3R1cGxlLT50X2RhdGEtPnRfaW5mb21hc2s7CiAJCXhsaGRyX2lkeC50X2hv ZmYgPSBvbGRfa2V5X3R1cGxlLT50X2RhdGEtPnRfaG9mZjsKIAotCQlYTG9nUmVnaXN0ZXJE YXRhKChjaGFyICopICZ4bGhkcl9pZHgsIFNpemVPZkhlYXBIZWFkZXIpOworCQlYTG9nUmVn aXN0ZXJEYXRhKCZ4bGhkcl9pZHgsIFNpemVPZkhlYXBIZWFkZXIpOwogCiAJCS8qIFBHNzNG T1JNQVQ6IHdyaXRlIGJpdG1hcCBbKyBwYWRkaW5nXSBbKyBvaWRdICsgZGF0YSAqLwotCQlY TG9nUmVnaXN0ZXJEYXRhKChjaGFyICopIG9sZF9rZXlfdHVwbGUtPnRfZGF0YSArIFNpemVv ZkhlYXBUdXBsZUhlYWRlciwKKwkJWExvZ1JlZ2lzdGVyRGF0YSgoKGNoYXIgKikgb2xkX2tl eV90dXBsZS0+dF9kYXRhKSArIFNpemVvZkhlYXBUdXBsZUhlYWRlciwKIAkJCQkJCSBvbGRf a2V5X3R1cGxlLT50X2xlbiAtIFNpemVvZkhlYXBUdXBsZUhlYWRlcik7CiAJfQogCkBAIC05 MDIxLDcgKzkwMjEsNyBAQCBsb2dfaGVhcF9uZXdfY2lkKFJlbGF0aW9uIHJlbGF0aW9uLCBI ZWFwVHVwbGUgdHVwKQogCSAqIGNhbGxlZCB1cyBjZXJ0YWlubHkgZGlkLCBidXQgdGhhdCdz IFdBTC1sb2dnZWQgc2VwYXJhdGVseS4KIAkgKi8KIAlYTG9nQmVnaW5JbnNlcnQoKTsKLQlY TG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZ4bHJlYywgU2l6ZU9mSGVhcE5ld0NpZCk7CisJ WExvZ1JlZ2lzdGVyRGF0YSgmeGxyZWMsIFNpemVPZkhlYXBOZXdDaWQpOwogCiAJLyogd2ls bCBiZSBsb29rZWQgYXQgaXJyZXNwZWN0aXZlIG9mIG9yaWdpbiAqLwogCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC9wcnVuZWhlYXAuYyBiL3NyYy9iYWNrZW5kL2Fj Y2Vzcy9oZWFwL3BydW5laGVhcC5jCmluZGV4IDVlMmQyNjQ1ZGQyLi5hODAyNTg4OWJlMCAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvcHJ1bmVoZWFwLmMKKysrIGIv c3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvcHJ1bmVoZWFwLmMKQEAgLTIwOTMsOSArMjA5Myw5 IEBAIGxvZ19oZWFwX3BydW5lX2FuZF9mcmVlemUoUmVsYXRpb24gcmVsYXRpb24sIEJ1ZmZl ciBidWZmZXIsCiAJCW5wbGFucyA9IGhlYXBfbG9nX2ZyZWV6ZV9wbGFuKGZyb3plbiwgbmZy b3plbiwgcGxhbnMsIGZyel9vZmZzZXRzKTsKIAogCQlmcmVlemVfcGxhbnMubnBsYW5zID0g bnBsYW5zOwotCQlYTG9nUmVnaXN0ZXJCdWZEYXRhKDAsIChjaGFyICopICZmcmVlemVfcGxh bnMsCisJCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMCwgJmZyZWV6ZV9wbGFucywKIAkJCQkJCQlv ZmZzZXRvZih4bGhwX2ZyZWV6ZV9wbGFucywgcGxhbnMpKTsKLQkJWExvZ1JlZ2lzdGVyQnVm RGF0YSgwLCAoY2hhciAqKSBwbGFucywKKwkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgwLCBwbGFu cywKIAkJCQkJCQlzaXplb2YoeGxocF9mcmVlemVfcGxhbikgKiBucGxhbnMpOwogCX0KIAlp ZiAobnJlZGlyZWN0ZWQgPiAwKQpAQCAtMjEwMyw5ICsyMTAzLDkgQEAgbG9nX2hlYXBfcHJ1 bmVfYW5kX2ZyZWV6ZShSZWxhdGlvbiByZWxhdGlvbiwgQnVmZmVyIGJ1ZmZlciwKIAkJeGxy ZWMuZmxhZ3MgfD0gWExIUF9IQVNfUkVESVJFQ1RJT05TOwogCiAJCXJlZGlyZWN0X2l0ZW1z Lm50YXJnZXRzID0gbnJlZGlyZWN0ZWQ7Ci0JCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMCwgKGNo YXIgKikgJnJlZGlyZWN0X2l0ZW1zLAorCQlYTG9nUmVnaXN0ZXJCdWZEYXRhKDAsICZyZWRp cmVjdF9pdGVtcywKIAkJCQkJCQlvZmZzZXRvZih4bGhwX3BydW5lX2l0ZW1zLCBkYXRhKSk7 Ci0JCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMCwgKGNoYXIgKikgcmVkaXJlY3RlZCwKKwkJWExv Z1JlZ2lzdGVyQnVmRGF0YSgwLCByZWRpcmVjdGVkLAogCQkJCQkJCXNpemVvZihPZmZzZXRO dW1iZXJbMl0pICogbnJlZGlyZWN0ZWQpOwogCX0KIAlpZiAobmRlYWQgPiAwKQpAQCAtMjEx Myw5ICsyMTEzLDkgQEAgbG9nX2hlYXBfcHJ1bmVfYW5kX2ZyZWV6ZShSZWxhdGlvbiByZWxh dGlvbiwgQnVmZmVyIGJ1ZmZlciwKIAkJeGxyZWMuZmxhZ3MgfD0gWExIUF9IQVNfREVBRF9J VEVNUzsKIAogCQlkZWFkX2l0ZW1zLm50YXJnZXRzID0gbmRlYWQ7Ci0JCVhMb2dSZWdpc3Rl ckJ1ZkRhdGEoMCwgKGNoYXIgKikgJmRlYWRfaXRlbXMsCisJCVhMb2dSZWdpc3RlckJ1ZkRh dGEoMCwgJmRlYWRfaXRlbXMsCiAJCQkJCQkJb2Zmc2V0b2YoeGxocF9wcnVuZV9pdGVtcywg ZGF0YSkpOwotCQlYTG9nUmVnaXN0ZXJCdWZEYXRhKDAsIChjaGFyICopIGRlYWQsCisJCVhM b2dSZWdpc3RlckJ1ZkRhdGEoMCwgZGVhZCwKIAkJCQkJCQlzaXplb2YoT2Zmc2V0TnVtYmVy KSAqIG5kZWFkKTsKIAl9CiAJaWYgKG51bnVzZWQgPiAwKQpAQCAtMjEyMywxMyArMjEyMywx MyBAQCBsb2dfaGVhcF9wcnVuZV9hbmRfZnJlZXplKFJlbGF0aW9uIHJlbGF0aW9uLCBCdWZm ZXIgYnVmZmVyLAogCQl4bHJlYy5mbGFncyB8PSBYTEhQX0hBU19OT1dfVU5VU0VEX0lURU1T OwogCiAJCXVudXNlZF9pdGVtcy5udGFyZ2V0cyA9IG51bnVzZWQ7Ci0JCVhMb2dSZWdpc3Rl ckJ1ZkRhdGEoMCwgKGNoYXIgKikgJnVudXNlZF9pdGVtcywKKwkJWExvZ1JlZ2lzdGVyQnVm RGF0YSgwLCAmdW51c2VkX2l0ZW1zLAogCQkJCQkJCW9mZnNldG9mKHhsaHBfcHJ1bmVfaXRl bXMsIGRhdGEpKTsKLQkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgwLCAoY2hhciAqKSB1bnVzZWQs CisJCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMCwgdW51c2VkLAogCQkJCQkJCXNpemVvZihPZmZz ZXROdW1iZXIpICogbnVudXNlZCk7CiAJfQogCWlmIChuZnJvemVuID4gMCkKLQkJWExvZ1Jl Z2lzdGVyQnVmRGF0YSgwLCAoY2hhciAqKSBmcnpfb2Zmc2V0cywKKwkJWExvZ1JlZ2lzdGVy QnVmRGF0YSgwLCBmcnpfb2Zmc2V0cywKIAkJCQkJCQlzaXplb2YoT2Zmc2V0TnVtYmVyKSAq IG5mcm96ZW4pOwogCiAJLyoKQEAgLTIxNDcsOSArMjE0Nyw5IEBAIGxvZ19oZWFwX3BydW5l X2FuZF9mcmVlemUoUmVsYXRpb24gcmVsYXRpb24sIEJ1ZmZlciBidWZmZXIsCiAJCUFzc2Vy dChucmVkaXJlY3RlZCA9PSAwICYmIG5kZWFkID09IDApOwogCQkvKiBhbHNvLCBhbnkgaXRl bXMgaW4gJ3VudXNlZCcgbXVzdCd2ZSBiZWVuIExQX0RFQUQgcHJldmlvdXNseSAqLwogCX0K LQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZ4bHJlYywgU2l6ZU9mSGVhcFBydW5lKTsK KwlYTG9nUmVnaXN0ZXJEYXRhKCZ4bHJlYywgU2l6ZU9mSGVhcFBydW5lKTsKIAlpZiAoVHJh bnNhY3Rpb25JZElzVmFsaWQoY29uZmxpY3RfeGlkKSkKLQkJWExvZ1JlZ2lzdGVyRGF0YSgo Y2hhciAqKSAmY29uZmxpY3RfeGlkLCBzaXplb2YoVHJhbnNhY3Rpb25JZCkpOworCQlYTG9n UmVnaXN0ZXJEYXRhKCZjb25mbGljdF94aWQsIHNpemVvZihUcmFuc2FjdGlvbklkKSk7CiAK IAlzd2l0Y2ggKHJlYXNvbikKIAl7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3Mv aGVhcC9yZXdyaXRlaGVhcC5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvcmV3cml0ZWhl YXAuYwppbmRleCAwNWExY2I0ZjVlNi4uZTZkMmI1ZmNlZDEgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL2FjY2Vzcy9oZWFwL3Jld3JpdGVoZWFwLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNj ZXNzL2hlYXAvcmV3cml0ZWhlYXAuYwpAQCAtODg3LDcgKzg4Nyw3IEBAIGxvZ2ljYWxfaGVh cF9yZXdyaXRlX2ZsdXNoX21hcHBpbmdzKFJld3JpdGVTdGF0ZSBzdGF0ZSkKIAkJc3JjLT5v ZmYgKz0gbGVuOwogCiAJCVhMb2dCZWdpbkluc2VydCgpOwotCQlYTG9nUmVnaXN0ZXJEYXRh KChjaGFyICopICgmeGxyZWMpLCBzaXplb2YoeGxyZWMpKTsKKwkJWExvZ1JlZ2lzdGVyRGF0 YSgmeGxyZWMsIHNpemVvZih4bHJlYykpOwogCQlYTG9nUmVnaXN0ZXJEYXRhKHdhbGRhdGFf c3RhcnQsIGxlbik7CiAKIAkJLyogd3JpdGUgeGxvZyByZWNvcmQgKi8KZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0ZGVkdXAuYyBiL3NyYy9iYWNrZW5kL2Fj Y2Vzcy9uYnRyZWUvbmJ0ZGVkdXAuYwppbmRleCA1MzM2M2VlNjk1YS4uY2JlNzM2NzVmODYg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0ZGVkdXAuYworKysg Yi9zcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idGRlZHVwLmMKQEAgLTI1MiwxNCArMjUy LDE0IEBAIF9idF9kZWR1cF9wYXNzKFJlbGF0aW9uIHJlbCwgQnVmZmVyIGJ1ZiwgSW5kZXhU dXBsZSBuZXdpdGVtLCBTaXplIG5ld2l0ZW1zeiwKIAogCQlYTG9nQmVnaW5JbnNlcnQoKTsK IAkJWExvZ1JlZ2lzdGVyQnVmZmVyKDAsIGJ1ZiwgUkVHQlVGX1NUQU5EQVJEKTsKLQkJWExv Z1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAmeGxyZWNfZGVkdXAsIFNpemVPZkJ0cmVlRGVkdXAp OworCQlYTG9nUmVnaXN0ZXJEYXRhKCZ4bHJlY19kZWR1cCwgU2l6ZU9mQnRyZWVEZWR1cCk7 CiAKIAkJLyoKIAkJICogVGhlIGludGVydmFscyBhcnJheSBpcyBub3QgaW4gdGhlIGJ1ZmZl ciwgYnV0IHByZXRlbmQgdGhhdCBpdCBpcy4KIAkJICogV2hlbiBYTG9nSW5zZXJ0IHN0b3Jl cyB0aGUgd2hvbGUgYnVmZmVyLCB0aGUgYXJyYXkgbmVlZCBub3QgYmUKIAkJICogc3RvcmVk IHRvby4KIAkJICovCi0JCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMCwgKGNoYXIgKikgc3RhdGUt PmludGVydmFscywKKwkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgwLCBzdGF0ZS0+aW50ZXJ2YWxz LAogCQkJCQkJCXN0YXRlLT5uaW50ZXJ2YWxzICogc2l6ZW9mKEJURGVkdXBJbnRlcnZhbCkp OwogCiAJCXJlY3B0ciA9IFhMb2dJbnNlcnQoUk1fQlRSRUVfSUQsIFhMT0dfQlRSRUVfREVE VVApOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRpbnNlcnQu YyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0aW5zZXJ0LmMKaW5kZXggM2VkZGJj ZjNhODIuLjE5Y2U3OTIyN2I3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvbmJ0 cmVlL25idGluc2VydC5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0aW5z ZXJ0LmMKQEAgLTEzMjAsNyArMTMyMCw3IEBAIF9idF9pbnNlcnRvbnBnKFJlbGF0aW9uIHJl bCwKIAkJCXhscmVjLm9mZm51bSA9IG5ld2l0ZW1vZmY7CiAKIAkJCVhMb2dCZWdpbkluc2Vy dCgpOwotCQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAmeGxyZWMsIFNpemVPZkJ0cmVl SW5zZXJ0KTsKKwkJCVhMb2dSZWdpc3RlckRhdGEoJnhscmVjLCBTaXplT2ZCdHJlZUluc2Vy dCk7CiAKIAkJCWlmIChpc2xlYWYgJiYgcG9zdGluZ29mZiA9PSAwKQogCQkJewpAQCAtMTM1 OCw3ICsxMzU4LDcgQEAgX2J0X2luc2VydG9ucGcoUmVsYXRpb24gcmVsLAogCiAJCQkJCVhM b2dSZWdpc3RlckJ1ZmZlcigyLCBtZXRhYnVmLAogCQkJCQkJCQkJICAgUkVHQlVGX1dJTExf SU5JVCB8IFJFR0JVRl9TVEFOREFSRCk7Ci0JCQkJCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMiwg KGNoYXIgKikgJnhsbWV0YSwKKwkJCQkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgyLCAmeGxtZXRh LAogCQkJCQkJCQkJCXNpemVvZih4bF9idHJlZV9tZXRhZGF0YSkpOwogCQkJCX0KIAkJCX0K QEAgLTEzNjcsNyArMTM2Nyw3IEBAIF9idF9pbnNlcnRvbnBnKFJlbGF0aW9uIHJlbCwKIAkJ CWlmIChwb3N0aW5nb2ZmID09IDApCiAJCQl7CiAJCQkJLyogSnVzdCBsb2cgaXR1cCBmcm9t IGNhbGxlciAqLwotCQkJCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMCwgKGNoYXIgKikgaXR1cCwg SW5kZXhUdXBsZVNpemUoaXR1cCkpOworCQkJCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMCwgaXR1 cCwgSW5kZXhUdXBsZVNpemUoaXR1cCkpOwogCQkJfQogCQkJZWxzZQogCQkJewpAQCAtMTM4 MSw4ICsxMzgxLDggQEAgX2J0X2luc2VydG9ucGcoUmVsYXRpb24gcmVsLAogCQkJCSAqLwog CQkJCXVwb3N0aW5nb2ZmID0gcG9zdGluZ29mZjsKIAotCQkJCVhMb2dSZWdpc3RlckJ1ZkRh dGEoMCwgKGNoYXIgKikgJnVwb3N0aW5nb2ZmLCBzaXplb2YodWludDE2KSk7Ci0JCQkJWExv Z1JlZ2lzdGVyQnVmRGF0YSgwLCAoY2hhciAqKSBvcmlnaXR1cCwKKwkJCQlYTG9nUmVnaXN0 ZXJCdWZEYXRhKDAsICZ1cG9zdGluZ29mZiwgc2l6ZW9mKHVpbnQxNikpOworCQkJCVhMb2dS ZWdpc3RlckJ1ZkRhdGEoMCwgb3JpZ2l0dXAsCiAJCQkJCQkJCQlJbmRleFR1cGxlU2l6ZShv cmlnaXR1cCkpOwogCQkJfQogCkBAIC0xOTc5LDcgKzE5NzksNyBAQCBfYnRfc3BsaXQoUmVs YXRpb24gcmVsLCBSZWxhdGlvbiBoZWFwcmVsLCBCVFNjYW5JbnNlcnQgaXR1cF9rZXksIEJ1 ZmZlciBidWYsCiAJCQl4bHJlYy5wb3N0aW5nb2ZmID0gcG9zdGluZ29mZjsKIAogCQlYTG9n QmVnaW5JbnNlcnQoKTsKLQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAmeGxyZWMsIFNp emVPZkJ0cmVlU3BsaXQpOworCQlYTG9nUmVnaXN0ZXJEYXRhKCZ4bHJlYywgU2l6ZU9mQnRy ZWVTcGxpdCk7CiAKIAkJWExvZ1JlZ2lzdGVyQnVmZmVyKDAsIGJ1ZiwgUkVHQlVGX1NUQU5E QVJEKTsKIAkJWExvZ1JlZ2lzdGVyQnVmZmVyKDEsIHJidWYsIFJFR0JVRl9XSUxMX0lOSVQp OwpAQCAtMjAxNywxMyArMjAxNywxMyBAQCBfYnRfc3BsaXQoUmVsYXRpb24gcmVsLCBSZWxh dGlvbiBoZWFwcmVsLCBCVFNjYW5JbnNlcnQgaXR1cF9rZXksIEJ1ZmZlciBidWYsCiAJCSAq IG5ld2l0ZW0tbG9nZ2VkIGNhc2UpLgogCQkgKi8KIAkJaWYgKG5ld2l0ZW1vbmxlZnQgJiYg eGxyZWMucG9zdGluZ29mZiA9PSAwKQotCQkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgwLCAoY2hh ciAqKSBuZXdpdGVtLCBuZXdpdGVtc3opOworCQkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgwLCBu ZXdpdGVtLCBuZXdpdGVtc3opOwogCQllbHNlIGlmICh4bHJlYy5wb3N0aW5nb2ZmICE9IDAp CiAJCXsKIAkJCUFzc2VydChpc2xlYWYpOwogCQkJQXNzZXJ0KG5ld2l0ZW1vbmxlZnQgfHwg Zmlyc3RyaWdodG9mZiA9PSBuZXdpdGVtb2ZmKTsKIAkJCUFzc2VydChuZXdpdGVtc3ogPT0g SW5kZXhUdXBsZVNpemUob3JpZ25ld2l0ZW0pKTsKLQkJCVhMb2dSZWdpc3RlckJ1ZkRhdGEo MCwgKGNoYXIgKikgb3JpZ25ld2l0ZW0sIG5ld2l0ZW1zeik7CisJCQlYTG9nUmVnaXN0ZXJC dWZEYXRhKDAsIG9yaWduZXdpdGVtLCBuZXdpdGVtc3opOwogCQl9CiAKIAkJLyogTG9nIHRo ZSBsZWZ0IHBhZ2UncyBuZXcgaGlnaCBrZXkgKi8KQEAgLTIwMzMsNyArMjAzMyw3IEBAIF9i dF9zcGxpdChSZWxhdGlvbiByZWwsIFJlbGF0aW9uIGhlYXByZWwsIEJUU2Nhbkluc2VydCBp dHVwX2tleSwgQnVmZmVyIGJ1ZiwKIAkJCWl0ZW1pZCA9IFBhZ2VHZXRJdGVtSWQob3JpZ3Bh Z2UsIFBfSElLRVkpOwogCQkJbGVmdGhpZ2hrZXkgPSAoSW5kZXhUdXBsZSkgUGFnZUdldEl0 ZW0ob3JpZ3BhZ2UsIGl0ZW1pZCk7CiAJCX0KLQkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgwLCAo Y2hhciAqKSBsZWZ0aGlnaGtleSwKKwkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgwLCBsZWZ0aGln aGtleSwKIAkJCQkJCQlNQVhBTElHTihJbmRleFR1cGxlU2l6ZShsZWZ0aGlnaGtleSkpKTsK IAogCQkvKgpAQCAtMjA0Nyw3ICsyMDQ3LDcgQEAgX2J0X3NwbGl0KFJlbGF0aW9uIHJlbCwg UmVsYXRpb24gaGVhcHJlbCwgQlRTY2FuSW5zZXJ0IGl0dXBfa2V5LCBCdWZmZXIgYnVmLAog CQkgKiBfYnRfcmVzdG9yZV9wYWdlKCkuCiAJCSAqLwogCQlYTG9nUmVnaXN0ZXJCdWZEYXRh KDEsCi0JCQkJCQkJKGNoYXIgKikgcmlnaHRwYWdlICsgKChQYWdlSGVhZGVyKSByaWdodHBh Z2UpLT5wZF91cHBlciwKKwkJCQkJCQkoKGNoYXIgKikgcmlnaHRwYWdlKSArICgoUGFnZUhl YWRlcikgcmlnaHRwYWdlKS0+cGRfdXBwZXIsCiAJCQkJCQkJKChQYWdlSGVhZGVyKSByaWdo dHBhZ2UpLT5wZF9zcGVjaWFsIC0gKChQYWdlSGVhZGVyKSByaWdodHBhZ2UpLT5wZF91cHBl cik7CiAKIAkJeGxpbmZvID0gbmV3aXRlbW9ubGVmdCA/IFhMT0dfQlRSRUVfU1BMSVRfTCA6 IFhMT0dfQlRSRUVfU1BMSVRfUjsKQEAgLTI1NjQsNyArMjU2NCw3IEBAIF9idF9uZXdsZXZl bChSZWxhdGlvbiByZWwsIFJlbGF0aW9uIGhlYXByZWwsIEJ1ZmZlciBsYnVmLCBCdWZmZXIg cmJ1ZikKIAkJeGxyZWMubGV2ZWwgPSBtZXRhZC0+YnRtX2xldmVsOwogCiAJCVhMb2dCZWdp bkluc2VydCgpOwotCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZ4bHJlYywgU2l6ZU9m QnRyZWVOZXdyb290KTsKKwkJWExvZ1JlZ2lzdGVyRGF0YSgmeGxyZWMsIFNpemVPZkJ0cmVl TmV3cm9vdCk7CiAKIAkJWExvZ1JlZ2lzdGVyQnVmZmVyKDAsIHJvb3RidWYsIFJFR0JVRl9X SUxMX0lOSVQpOwogCQlYTG9nUmVnaXN0ZXJCdWZmZXIoMSwgbGJ1ZiwgUkVHQlVGX1NUQU5E QVJEKTsKQEAgLTI1NzksMTQgKzI1NzksMTQgQEAgX2J0X25ld2xldmVsKFJlbGF0aW9uIHJl bCwgUmVsYXRpb24gaGVhcHJlbCwgQnVmZmVyIGxidWYsIEJ1ZmZlciByYnVmKQogCQltZC5s YXN0X2NsZWFudXBfbnVtX2RlbHBhZ2VzID0gbWV0YWQtPmJ0bV9sYXN0X2NsZWFudXBfbnVt X2RlbHBhZ2VzOwogCQltZC5hbGxlcXVhbGltYWdlID0gbWV0YWQtPmJ0bV9hbGxlcXVhbGlt YWdlOwogCi0JCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMiwgKGNoYXIgKikgJm1kLCBzaXplb2Yo eGxfYnRyZWVfbWV0YWRhdGEpKTsKKwkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgyLCAmbWQsIHNp emVvZih4bF9idHJlZV9tZXRhZGF0YSkpOwogCiAJCS8qCiAJCSAqIERpcmVjdCBhY2Nlc3Mg dG8gcGFnZSBpcyBub3QgZ29vZCBidXQgZmFzdGVyIC0gd2Ugc2hvdWxkIGltcGxlbWVudAog CQkgKiBzb21lIG5ldyBmdW5jIGluIHBhZ2UgQVBJLgogCQkgKi8KIAkJWExvZ1JlZ2lzdGVy QnVmRGF0YSgwLAotCQkJCQkJCShjaGFyICopIHJvb3RwYWdlICsgKChQYWdlSGVhZGVyKSBy b290cGFnZSktPnBkX3VwcGVyLAorCQkJCQkJCSgoY2hhciAqKSByb290cGFnZSkgKyAoKFBh Z2VIZWFkZXIpIHJvb3RwYWdlKS0+cGRfdXBwZXIsCiAJCQkJCQkJKChQYWdlSGVhZGVyKSBy b290cGFnZSktPnBkX3NwZWNpYWwgLQogCQkJCQkJCSgoUGFnZUhlYWRlcikgcm9vdHBhZ2Up LT5wZF91cHBlcik7CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUv bmJ0cGFnZS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRwYWdlLmMKaW5kZXgg NTMyMWUyNTZiMWEuLmM3OWRkMzhlZTE4IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nl c3MvbmJ0cmVlL25idHBhZ2UuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25i dHBhZ2UuYwpAQCAtMjk5LDcgKzI5OSw3IEBAIF9idF9zZXRfY2xlYW51cF9pbmZvKFJlbGF0 aW9uIHJlbCwgQmxvY2tOdW1iZXIgbnVtX2RlbHBhZ2VzKQogCQltZC5sYXN0X2NsZWFudXBf bnVtX2RlbHBhZ2VzID0gbnVtX2RlbHBhZ2VzOwogCQltZC5hbGxlcXVhbGltYWdlID0gbWV0 YWQtPmJ0bV9hbGxlcXVhbGltYWdlOwogCi0JCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMCwgKGNo YXIgKikgJm1kLCBzaXplb2YoeGxfYnRyZWVfbWV0YWRhdGEpKTsKKwkJWExvZ1JlZ2lzdGVy QnVmRGF0YSgwLCAmbWQsIHNpemVvZih4bF9idHJlZV9tZXRhZGF0YSkpOwogCiAJCXJlY3B0 ciA9IFhMb2dJbnNlcnQoUk1fQlRSRUVfSUQsIFhMT0dfQlRSRUVfTUVUQV9DTEVBTlVQKTsK IApAQCAtNDg4LDEyICs0ODgsMTIgQEAgX2J0X2dldHJvb3QoUmVsYXRpb24gcmVsLCBSZWxh dGlvbiBoZWFwcmVsLCBpbnQgYWNjZXNzKQogCQkJbWQubGFzdF9jbGVhbnVwX251bV9kZWxw YWdlcyA9IDA7CiAJCQltZC5hbGxlcXVhbGltYWdlID0gbWV0YWQtPmJ0bV9hbGxlcXVhbGlt YWdlOwogCi0JCQlYTG9nUmVnaXN0ZXJCdWZEYXRhKDIsIChjaGFyICopICZtZCwgc2l6ZW9m KHhsX2J0cmVlX21ldGFkYXRhKSk7CisJCQlYTG9nUmVnaXN0ZXJCdWZEYXRhKDIsICZtZCwg c2l6ZW9mKHhsX2J0cmVlX21ldGFkYXRhKSk7CiAKIAkJCXhscmVjLnJvb3RibGsgPSByb290 Ymxrbm87CiAJCQl4bHJlYy5sZXZlbCA9IDA7CiAKLQkJCVhMb2dSZWdpc3RlckRhdGEoKGNo YXIgKikgJnhscmVjLCBTaXplT2ZCdHJlZU5ld3Jvb3QpOworCQkJWExvZ1JlZ2lzdGVyRGF0 YSgmeGxyZWMsIFNpemVPZkJ0cmVlTmV3cm9vdCk7CiAKIAkJCXJlY3B0ciA9IFhMb2dJbnNl cnQoUk1fQlRSRUVfSUQsIFhMT0dfQlRSRUVfTkVXUk9PVCk7CiAKQEAgLTk0OCw3ICs5NDgs NyBAQCBfYnRfYWxsb2NidWYoUmVsYXRpb24gcmVsLCBSZWxhdGlvbiBoZWFwcmVsKQogCQkJ CQkJUmVsYXRpb25Jc0FjY2Vzc2libGVJbkxvZ2ljYWxEZWNvZGluZyhoZWFwcmVsKTsKIAog CQkJCQlYTG9nQmVnaW5JbnNlcnQoKTsKLQkJCQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAq KSAmeGxyZWNfcmV1c2UsIFNpemVPZkJ0cmVlUmV1c2VQYWdlKTsKKwkJCQkJWExvZ1JlZ2lz dGVyRGF0YSgmeGxyZWNfcmV1c2UsIFNpemVPZkJ0cmVlUmV1c2VQYWdlKTsKIAogCQkJCQlY TG9nSW5zZXJ0KFJNX0JUUkVFX0lELCBYTE9HX0JUUkVFX1JFVVNFX1BBR0UpOwogCQkJCX0K QEAgLTEyMzQsMTUgKzEyMzQsMTUgQEAgX2J0X2RlbGl0ZW1zX3ZhY3V1bShSZWxhdGlvbiBy ZWwsIEJ1ZmZlciBidWYsCiAKIAkJWExvZ0JlZ2luSW5zZXJ0KCk7CiAJCVhMb2dSZWdpc3Rl ckJ1ZmZlcigwLCBidWYsIFJFR0JVRl9TVEFOREFSRCk7Ci0JCVhMb2dSZWdpc3RlckRhdGEo KGNoYXIgKikgJnhscmVjX3ZhY3V1bSwgU2l6ZU9mQnRyZWVWYWN1dW0pOworCQlYTG9nUmVn aXN0ZXJEYXRhKCZ4bHJlY192YWN1dW0sIFNpemVPZkJ0cmVlVmFjdXVtKTsKIAogCQlpZiAo bmRlbGV0YWJsZSA+IDApCi0JCQlYTG9nUmVnaXN0ZXJCdWZEYXRhKDAsIChjaGFyICopIGRl bGV0YWJsZSwKKwkJCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMCwgZGVsZXRhYmxlLAogCQkJCQkJ CQluZGVsZXRhYmxlICogc2l6ZW9mKE9mZnNldE51bWJlcikpOwogCiAJCWlmIChudXBkYXRh YmxlID4gMCkKIAkJewotCQkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgwLCAoY2hhciAqKSB1cGRh dGVkb2Zmc2V0cywKKwkJCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMCwgdXBkYXRlZG9mZnNldHMs CiAJCQkJCQkJCW51cGRhdGFibGUgKiBzaXplb2YoT2Zmc2V0TnVtYmVyKSk7CiAJCQlYTG9n UmVnaXN0ZXJCdWZEYXRhKDAsIHVwZGF0ZWRidWYsIHVwZGF0ZWRidWZsZW4pOwogCQl9CkBA IC0xMzUzLDE1ICsxMzUzLDE1IEBAIF9idF9kZWxpdGVtc19kZWxldGUoUmVsYXRpb24gcmVs LCBCdWZmZXIgYnVmLAogCiAJCVhMb2dCZWdpbkluc2VydCgpOwogCQlYTG9nUmVnaXN0ZXJC dWZmZXIoMCwgYnVmLCBSRUdCVUZfU1RBTkRBUkQpOwotCQlYTG9nUmVnaXN0ZXJEYXRhKChj aGFyICopICZ4bHJlY19kZWxldGUsIFNpemVPZkJ0cmVlRGVsZXRlKTsKKwkJWExvZ1JlZ2lz dGVyRGF0YSgmeGxyZWNfZGVsZXRlLCBTaXplT2ZCdHJlZURlbGV0ZSk7CiAKIAkJaWYgKG5k ZWxldGFibGUgPiAwKQotCQkJWExvZ1JlZ2lzdGVyQnVmRGF0YSgwLCAoY2hhciAqKSBkZWxl dGFibGUsCisJCQlYTG9nUmVnaXN0ZXJCdWZEYXRhKDAsIGRlbGV0YWJsZSwKIAkJCQkJCQkJ bmRlbGV0YWJsZSAqIHNpemVvZihPZmZzZXROdW1iZXIpKTsKIAogCQlpZiAobnVwZGF0YWJs ZSA+IDApCiAJCXsKLQkJCVhMb2dSZWdpc3RlckJ1ZkRhdGEoMCwgKGNoYXIgKikgdXBkYXRl ZG9mZnNldHMsCisJCQlYTG9nUmVnaXN0ZXJCdWZEYXRhKDAsIHVwZGF0ZWRvZmZzZXRzLAog CQkJCQkJCQludXBkYXRhYmxlICogc2l6ZW9mKE9mZnNldE51bWJlcikpOwogCQkJWExvZ1Jl Z2lzdGVyQnVmRGF0YSgwLCB1cGRhdGVkYnVmLCB1cGRhdGVkYnVmbGVuKTsKIAkJfQpAQCAt MjI2OSw3ICsyMjY5LDcgQEAgX2J0X21hcmtfcGFnZV9oYWxmZGVhZChSZWxhdGlvbiByZWws IFJlbGF0aW9uIGhlYXByZWwsIEJ1ZmZlciBsZWFmYnVmLAogCQl4bHJlYy5sZWZ0YmxrID0g b3BhcXVlLT5idHBvX3ByZXY7CiAJCXhscmVjLnJpZ2h0YmxrID0gb3BhcXVlLT5idHBvX25l eHQ7CiAKLQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAmeGxyZWMsIFNpemVPZkJ0cmVl TWFya1BhZ2VIYWxmRGVhZCk7CisJCVhMb2dSZWdpc3RlckRhdGEoJnhscmVjLCBTaXplT2ZC dHJlZU1hcmtQYWdlSGFsZkRlYWQpOwogCiAJCXJlY3B0ciA9IFhMb2dJbnNlcnQoUk1fQlRS RUVfSUQsIFhMT0dfQlRSRUVfTUFSS19QQUdFX0hBTEZERUFEKTsKIApAQCAtMjY5NCw3ICsy Njk0LDcgQEAgX2J0X3VubGlua19oYWxmZGVhZF9wYWdlKFJlbGF0aW9uIHJlbCwgQnVmZmVy IGxlYWZidWYsIEJsb2NrTnVtYmVyIHNjYW5ibGtubywKIAkJeGxyZWMubGVhZnJpZ2h0c2li ID0gbGVhZnJpZ2h0c2liOwogCQl4bHJlYy5sZWFmdG9wcGFyZW50ID0gbGVhZnRvcHBhcmVu dDsKIAotCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZ4bHJlYywgU2l6ZU9mQnRyZWVV bmxpbmtQYWdlKTsKKwkJWExvZ1JlZ2lzdGVyRGF0YSgmeGxyZWMsIFNpemVPZkJ0cmVlVW5s aW5rUGFnZSk7CiAKIAkJaWYgKEJ1ZmZlcklzVmFsaWQobWV0YWJ1ZikpCiAJCXsKQEAgLTI3 MDksNyArMjcwOSw3IEBAIF9idF91bmxpbmtfaGFsZmRlYWRfcGFnZShSZWxhdGlvbiByZWws IEJ1ZmZlciBsZWFmYnVmLCBCbG9ja051bWJlciBzY2FuYmxrbm8sCiAJCQl4bG1ldGEubGFz dF9jbGVhbnVwX251bV9kZWxwYWdlcyA9IG1ldGFkLT5idG1fbGFzdF9jbGVhbnVwX251bV9k ZWxwYWdlczsKIAkJCXhsbWV0YS5hbGxlcXVhbGltYWdlID0gbWV0YWQtPmJ0bV9hbGxlcXVh bGltYWdlOwogCi0JCQlYTG9nUmVnaXN0ZXJCdWZEYXRhKDQsIChjaGFyICopICZ4bG1ldGEs IHNpemVvZih4bF9idHJlZV9tZXRhZGF0YSkpOworCQkJWExvZ1JlZ2lzdGVyQnVmRGF0YSg0 LCAmeGxtZXRhLCBzaXplb2YoeGxfYnRyZWVfbWV0YWRhdGEpKTsKIAkJCXhsaW5mbyA9IFhM T0dfQlRSRUVfVU5MSU5LX1BBR0VfTUVUQTsKIAkJfQogCQllbHNlCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9hY2Nlc3Mvc3BnaXN0L3NwZ2RvaW5zZXJ0LmMgYi9zcmMvYmFja2VuZC9h Y2Nlc3Mvc3BnaXN0L3NwZ2RvaW5zZXJ0LmMKaW5kZXggNThjMDZlZjJkYzQuLmFmNmIyN2Iy MTM1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3Mvc3BnaXN0L3NwZ2RvaW5zZXJ0 LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3NwZ2lzdC9zcGdkb2luc2VydC5jCkBAIC0y OTUsOCArMjk1LDggQEAgYWRkTGVhZlR1cGxlKFJlbGF0aW9uIGluZGV4LCBTcEdpc3RTdGF0 ZSAqc3RhdGUsIFNwR2lzdExlYWZUdXBsZSBsZWFmVHVwbGUsCiAJCWludAkJCWZsYWdzOwog CiAJCVhMb2dCZWdpbkluc2VydCgpOwotCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZ4 bHJlYywgc2l6ZW9mKHhscmVjKSk7Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgbGVh ZlR1cGxlLCBsZWFmVHVwbGUtPnNpemUpOworCQlYTG9nUmVnaXN0ZXJEYXRhKCZ4bHJlYywg c2l6ZW9mKHhscmVjKSk7CisJCVhMb2dSZWdpc3RlckRhdGEobGVhZlR1cGxlLCBsZWFmVHVw bGUtPnNpemUpOwogCiAJCWZsYWdzID0gUkVHQlVGX1NUQU5EQVJEOwogCQlpZiAoeGxyZWMu bmV3UGFnZSkKQEAgLTUzMiwxMiArNTMyLDEyIEBAIG1vdmVMZWFmcyhSZWxhdGlvbiBpbmRl eCwgU3BHaXN0U3RhdGUgKnN0YXRlLAogCQl4bHJlYy5ub2RlSSA9IHBhcmVudC0+bm9kZTsK IAogCQlYTG9nQmVnaW5JbnNlcnQoKTsKLQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAm eGxyZWMsIFNpemVPZlNwZ3hsb2dNb3ZlTGVhZnMpOwotCQlYTG9nUmVnaXN0ZXJEYXRhKChj aGFyICopIHRvRGVsZXRlLAorCQlYTG9nUmVnaXN0ZXJEYXRhKCZ4bHJlYywgU2l6ZU9mU3Bn eGxvZ01vdmVMZWFmcyk7CisJCVhMb2dSZWdpc3RlckRhdGEodG9EZWxldGUsCiAJCQkJCQkg c2l6ZW9mKE9mZnNldE51bWJlcikgKiBuRGVsZXRlKTsKLQkJWExvZ1JlZ2lzdGVyRGF0YSgo Y2hhciAqKSB0b0luc2VydCwKKwkJWExvZ1JlZ2lzdGVyRGF0YSh0b0luc2VydCwKIAkJCQkJ CSBzaXplb2YoT2Zmc2V0TnVtYmVyKSAqIG5JbnNlcnQpOwotCQlYTG9nUmVnaXN0ZXJEYXRh KChjaGFyICopIGxlYWZkYXRhLCBsZWFmcHRyIC0gbGVhZmRhdGEpOworCQlYTG9nUmVnaXN0 ZXJEYXRhKGxlYWZkYXRhLCBsZWFmcHRyIC0gbGVhZmRhdGEpOwogCiAJCVhMb2dSZWdpc3Rl ckJ1ZmZlcigwLCBjdXJyZW50LT5idWZmZXIsIFJFR0JVRl9TVEFOREFSRCk7CiAJCVhMb2dS ZWdpc3RlckJ1ZmZlcigxLCBuYnVmLCBSRUdCVUZfU1RBTkRBUkQgfCAoeGxyZWMubmV3UGFn ZSA/IFJFR0JVRl9XSUxMX0lOSVQgOiAwKSk7CkBAIC0xMzY1LDE1ICsxMzY1LDE1IEBAIGRv UGlja1NwbGl0KFJlbGF0aW9uIGluZGV4LCBTcEdpc3RTdGF0ZSAqc3RhdGUsCiAJCVhMb2dC ZWdpbkluc2VydCgpOwogCiAJCXhscmVjLm5JbnNlcnQgPSBuVG9JbnNlcnQ7Ci0JCVhMb2dS ZWdpc3RlckRhdGEoKGNoYXIgKikgJnhscmVjLCBTaXplT2ZTcGd4bG9nUGlja1NwbGl0KTsK KwkJWExvZ1JlZ2lzdGVyRGF0YSgmeGxyZWMsIFNpemVPZlNwZ3hsb2dQaWNrU3BsaXQpOwog Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgdG9EZWxldGUsCisJCVhMb2dSZWdpc3Rl ckRhdGEodG9EZWxldGUsCiAJCQkJCQkgc2l6ZW9mKE9mZnNldE51bWJlcikgKiB4bHJlYy5u RGVsZXRlKTsKLQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSB0b0luc2VydCwKKwkJWExv Z1JlZ2lzdGVyRGF0YSh0b0luc2VydCwKIAkJCQkJCSBzaXplb2YoT2Zmc2V0TnVtYmVyKSAq IHhscmVjLm5JbnNlcnQpOwotCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopIGxlYWZQYWdl U2VsZWN0LAorCQlYTG9nUmVnaXN0ZXJEYXRhKGxlYWZQYWdlU2VsZWN0LAogCQkJCQkJIHNp emVvZih1aW50OCkgKiB4bHJlYy5uSW5zZXJ0KTsKLQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hh ciAqKSBpbm5lclR1cGxlLCBpbm5lclR1cGxlLT5zaXplKTsKKwkJWExvZ1JlZ2lzdGVyRGF0 YShpbm5lclR1cGxlLCBpbm5lclR1cGxlLT5zaXplKTsKIAkJWExvZ1JlZ2lzdGVyRGF0YShs ZWFmZGF0YSwgbGVhZnB0ciAtIGxlYWZkYXRhKTsKIAogCQkvKiBPbGQgbGVhZiBwYWdlICov CkBAIC0xNTU5LDggKzE1NTksOCBAQCBzcGdBZGROb2RlQWN0aW9uKFJlbGF0aW9uIGluZGV4 LCBTcEdpc3RTdGF0ZSAqc3RhdGUsCiAJCQlYTG9nUmVjUHRyCXJlY3B0cjsKIAogCQkJWExv Z0JlZ2luSW5zZXJ0KCk7Ci0JCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZ4bHJlYywg c2l6ZW9mKHhscmVjKSk7Ci0JCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopIG5ld0lubmVy VHVwbGUsIG5ld0lubmVyVHVwbGUtPnNpemUpOworCQkJWExvZ1JlZ2lzdGVyRGF0YSgmeGxy ZWMsIHNpemVvZih4bHJlYykpOworCQkJWExvZ1JlZ2lzdGVyRGF0YShuZXdJbm5lclR1cGxl LCBuZXdJbm5lclR1cGxlLT5zaXplKTsKIAogCQkJWExvZ1JlZ2lzdGVyQnVmZmVyKDAsIGN1 cnJlbnQtPmJ1ZmZlciwgUkVHQlVGX1NUQU5EQVJEKTsKIApAQCAtMTY4NSw4ICsxNjg1LDgg QEAgc3BnQWRkTm9kZUFjdGlvbihSZWxhdGlvbiBpbmRleCwgU3BHaXN0U3RhdGUgKnN0YXRl LAogCQkJaWYgKHhscmVjLnBhcmVudEJsayA9PSAyKQogCQkJCVhMb2dSZWdpc3RlckJ1ZmZl cigyLCBwYXJlbnQtPmJ1ZmZlciwgUkVHQlVGX1NUQU5EQVJEKTsKIAotCQkJWExvZ1JlZ2lz dGVyRGF0YSgoY2hhciAqKSAmeGxyZWMsIHNpemVvZih4bHJlYykpOwotCQkJWExvZ1JlZ2lz dGVyRGF0YSgoY2hhciAqKSBuZXdJbm5lclR1cGxlLCBuZXdJbm5lclR1cGxlLT5zaXplKTsK KwkJCVhMb2dSZWdpc3RlckRhdGEoJnhscmVjLCBzaXplb2YoeGxyZWMpKTsKKwkJCVhMb2dS ZWdpc3RlckRhdGEobmV3SW5uZXJUdXBsZSwgbmV3SW5uZXJUdXBsZS0+c2l6ZSk7CiAKIAkJ CXJlY3B0ciA9IFhMb2dJbnNlcnQoUk1fU1BHSVNUX0lELCBYTE9HX1NQR0lTVF9BRERfTk9E RSk7CiAKQEAgLTE4NjgsOSArMTg2OCw5IEBAIHNwZ1NwbGl0Tm9kZUFjdGlvbihSZWxhdGlv biBpbmRleCwgU3BHaXN0U3RhdGUgKnN0YXRlLAogCQlYTG9nUmVjUHRyCXJlY3B0cjsKIAog CQlYTG9nQmVnaW5JbnNlcnQoKTsKLQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAmeGxy ZWMsIHNpemVvZih4bHJlYykpOwotCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopIHByZWZp eFR1cGxlLCBwcmVmaXhUdXBsZS0+c2l6ZSk7Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIg KikgcG9zdGZpeFR1cGxlLCBwb3N0Zml4VHVwbGUtPnNpemUpOworCQlYTG9nUmVnaXN0ZXJE YXRhKCZ4bHJlYywgc2l6ZW9mKHhscmVjKSk7CisJCVhMb2dSZWdpc3RlckRhdGEocHJlZml4 VHVwbGUsIHByZWZpeFR1cGxlLT5zaXplKTsKKwkJWExvZ1JlZ2lzdGVyRGF0YShwb3N0Zml4 VHVwbGUsIHBvc3RmaXhUdXBsZS0+c2l6ZSk7CiAKIAkJWExvZ1JlZ2lzdGVyQnVmZmVyKDAs IGN1cnJlbnQtPmJ1ZmZlciwgUkVHQlVGX1NUQU5EQVJEKTsKIAkJaWYgKG5ld0J1ZmZlciAh PSBJbnZhbGlkQnVmZmVyKQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3NwZ2lz dC9zcGd2YWN1dW0uYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9zcGdpc3Qvc3BndmFjdXVtLmMK aW5kZXggODk0YWVmYTE5ZTEuLjU4MzZmNTU4YjY5IDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9hY2Nlc3Mvc3BnaXN0L3NwZ3ZhY3V1bS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9z cGdpc3Qvc3BndmFjdXVtLmMKQEAgLTM4MCwxNCArMzgwLDE0IEBAIHZhY3V1bUxlYWZQYWdl KHNwZ0J1bGtEZWxldGVTdGF0ZSAqYmRzLCBSZWxhdGlvbiBpbmRleCwgQnVmZmVyIGJ1ZmZl ciwKIAogCQlTVE9SRV9TVEFURSgmYmRzLT5zcGdzdGF0ZSwgeGxyZWMuc3RhdGVTcmMpOwog Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgJnhscmVjLCBTaXplT2ZTcGd4bG9nVmFj dXVtTGVhZik7CisJCVhMb2dSZWdpc3RlckRhdGEoJnhscmVjLCBTaXplT2ZTcGd4bG9nVmFj dXVtTGVhZik7CiAJCS8qIHNpemVvZih4bHJlYykgc2hvdWxkIGJlIGEgbXVsdGlwbGUgb2Yg c2l6ZW9mKE9mZnNldE51bWJlcikgKi8KLQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSB0 b0RlYWQsIHNpemVvZihPZmZzZXROdW1iZXIpICogeGxyZWMubkRlYWQpOwotCQlYTG9nUmVn aXN0ZXJEYXRhKChjaGFyICopIHRvUGxhY2Vob2xkZXIsIHNpemVvZihPZmZzZXROdW1iZXIp ICogeGxyZWMublBsYWNlaG9sZGVyKTsKLQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSBt b3ZlU3JjLCBzaXplb2YoT2Zmc2V0TnVtYmVyKSAqIHhscmVjLm5Nb3ZlKTsKLQkJWExvZ1Jl Z2lzdGVyRGF0YSgoY2hhciAqKSBtb3ZlRGVzdCwgc2l6ZW9mKE9mZnNldE51bWJlcikgKiB4 bHJlYy5uTW92ZSk7Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgY2hhaW5TcmMsIHNp emVvZihPZmZzZXROdW1iZXIpICogeGxyZWMubkNoYWluKTsKLQkJWExvZ1JlZ2lzdGVyRGF0 YSgoY2hhciAqKSBjaGFpbkRlc3QsIHNpemVvZihPZmZzZXROdW1iZXIpICogeGxyZWMubkNo YWluKTsKKwkJWExvZ1JlZ2lzdGVyRGF0YSh0b0RlYWQsIHNpemVvZihPZmZzZXROdW1iZXIp ICogeGxyZWMubkRlYWQpOworCQlYTG9nUmVnaXN0ZXJEYXRhKHRvUGxhY2Vob2xkZXIsIHNp emVvZihPZmZzZXROdW1iZXIpICogeGxyZWMublBsYWNlaG9sZGVyKTsKKwkJWExvZ1JlZ2lz dGVyRGF0YShtb3ZlU3JjLCBzaXplb2YoT2Zmc2V0TnVtYmVyKSAqIHhscmVjLm5Nb3ZlKTsK KwkJWExvZ1JlZ2lzdGVyRGF0YShtb3ZlRGVzdCwgc2l6ZW9mKE9mZnNldE51bWJlcikgKiB4 bHJlYy5uTW92ZSk7CisJCVhMb2dSZWdpc3RlckRhdGEoY2hhaW5TcmMsIHNpemVvZihPZmZz ZXROdW1iZXIpICogeGxyZWMubkNoYWluKTsKKwkJWExvZ1JlZ2lzdGVyRGF0YShjaGFpbkRl c3QsIHNpemVvZihPZmZzZXROdW1iZXIpICogeGxyZWMubkNoYWluKTsKIAogCQlYTG9nUmVn aXN0ZXJCdWZmZXIoMCwgYnVmZmVyLCBSRUdCVUZfU1RBTkRBUkQpOwogCkBAIC00NjUsOSAr NDY1LDkgQEAgdmFjdXVtTGVhZlJvb3Qoc3BnQnVsa0RlbGV0ZVN0YXRlICpiZHMsIFJlbGF0 aW9uIGluZGV4LCBCdWZmZXIgYnVmZmVyKQogCQkvKiBQcmVwYXJlIFdBTCByZWNvcmQgKi8K IAkJU1RPUkVfU1RBVEUoJmJkcy0+c3Bnc3RhdGUsIHhscmVjLnN0YXRlU3JjKTsKIAotCQlY TG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZ4bHJlYywgU2l6ZU9mU3BneGxvZ1ZhY3V1bVJv b3QpOworCQlYTG9nUmVnaXN0ZXJEYXRhKCZ4bHJlYywgU2l6ZU9mU3BneGxvZ1ZhY3V1bVJv b3QpOwogCQkvKiBzaXplb2YoeGxyZWMpIHNob3VsZCBiZSBhIG11bHRpcGxlIG9mIHNpemVv ZihPZmZzZXROdW1iZXIpICovCi0JCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgdG9EZWxl dGUsCisJCVhMb2dSZWdpc3RlckRhdGEodG9EZWxldGUsCiAJCQkJCQkgc2l6ZW9mKE9mZnNl dE51bWJlcikgKiB4bHJlYy5uRGVsZXRlKTsKIAogCQlYTG9nUmVnaXN0ZXJCdWZmZXIoMCwg YnVmZmVyLCBSRUdCVUZfU1RBTkRBUkQpOwpAQCAtNjAwLDggKzYwMCw4IEBAIHZhY3V1bVJl ZGlyZWN0QW5kUGxhY2Vob2xkZXIoUmVsYXRpb24gaW5kZXgsIFJlbGF0aW9uIGhlYXByZWws IEJ1ZmZlciBidWZmZXIpCiAKIAkJWExvZ0JlZ2luSW5zZXJ0KCk7CiAKLQkJWExvZ1JlZ2lz dGVyRGF0YSgoY2hhciAqKSAmeGxyZWMsIFNpemVPZlNwZ3hsb2dWYWN1dW1SZWRpcmVjdCk7 Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgaXRlbVRvUGxhY2Vob2xkZXIsCisJCVhM b2dSZWdpc3RlckRhdGEoJnhscmVjLCBTaXplT2ZTcGd4bG9nVmFjdXVtUmVkaXJlY3QpOwor CQlYTG9nUmVnaXN0ZXJEYXRhKGl0ZW1Ub1BsYWNlaG9sZGVyLAogCQkJCQkJIHNpemVvZihP ZmZzZXROdW1iZXIpICogeGxyZWMublRvUGxhY2Vob2xkZXIpOwogCiAJCVhMb2dSZWdpc3Rl ckJ1ZmZlcigwLCBidWZmZXIsIFJFR0JVRl9TVEFOREFSRCk7CmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9jbG9nLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJh bnNhbS9jbG9nLmMKaW5kZXggMGQ1NTZjMDBiOGMuLjQ4ZjEwYmVjOTFlIDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9jbG9nLmMKKysrIGIvc3JjL2JhY2tlbmQv YWNjZXNzL3RyYW5zYW0vY2xvZy5jCkBAIC0xMDc0LDcgKzEwNzQsNyBAQCBzdGF0aWMgdm9p ZAogV3JpdGVaZXJvUGFnZVhsb2dSZWMoaW50NjQgcGFnZW5vKQogewogCVhMb2dCZWdpbklu c2VydCgpOwotCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgKCZwYWdlbm8pLCBzaXplb2Yo cGFnZW5vKSk7CisJWExvZ1JlZ2lzdGVyRGF0YSgmcGFnZW5vLCBzaXplb2YocGFnZW5vKSk7 CiAJKHZvaWQpIFhMb2dJbnNlcnQoUk1fQ0xPR19JRCwgQ0xPR19aRVJPUEFHRSk7CiB9CiAK QEAgLTEwOTUsNyArMTA5NSw3IEBAIFdyaXRlVHJ1bmNhdGVYbG9nUmVjKGludDY0IHBhZ2Vu bywgVHJhbnNhY3Rpb25JZCBvbGRlc3RYYWN0LCBPaWQgb2xkZXN0WGFjdERiKQogCXhscmVj Lm9sZGVzdFhhY3REYiA9IG9sZGVzdFhhY3REYjsKIAogCVhMb2dCZWdpbkluc2VydCgpOwot CVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgKCZ4bHJlYyksIHNpemVvZih4bF9jbG9nX3Ry dW5jYXRlKSk7CisJWExvZ1JlZ2lzdGVyRGF0YSgmeGxyZWMsIHNpemVvZih4bF9jbG9nX3Ry dW5jYXRlKSk7CiAJcmVjcHRyID0gWExvZ0luc2VydChSTV9DTE9HX0lELCBDTE9HX1RSVU5D QVRFKTsKIAlYTG9nRmx1c2gocmVjcHRyKTsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L2FjY2Vzcy90cmFuc2FtL2NvbW1pdF90cy5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5z YW0vY29tbWl0X3RzLmMKaW5kZXggOTUwNDlhY2QwYjUuLjExM2ZhZTE0MzdhIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9jb21taXRfdHMuYworKysgYi9zcmMv YmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9jb21taXRfdHMuYwpAQCAtOTg5LDcgKzk4OSw3IEBA IHN0YXRpYyB2b2lkCiBXcml0ZVplcm9QYWdlWGxvZ1JlYyhpbnQ2NCBwYWdlbm8pCiB7CiAJ WExvZ0JlZ2luSW5zZXJ0KCk7Ci0JWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAoJnBhZ2Vu byksIHNpemVvZihwYWdlbm8pKTsKKwlYTG9nUmVnaXN0ZXJEYXRhKCZwYWdlbm8sIHNpemVv ZihwYWdlbm8pKTsKIAkodm9pZCkgWExvZ0luc2VydChSTV9DT01NSVRfVFNfSUQsIENPTU1J VF9UU19aRVJPUEFHRSk7CiB9CiAKQEAgLTEwMDUsNyArMTAwNSw3IEBAIFdyaXRlVHJ1bmNh dGVYbG9nUmVjKGludDY0IHBhZ2VubywgVHJhbnNhY3Rpb25JZCBvbGRlc3RYaWQpCiAJeGxy ZWMub2xkZXN0WGlkID0gb2xkZXN0WGlkOwogCiAJWExvZ0JlZ2luSW5zZXJ0KCk7Ci0JWExv Z1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAoJnhscmVjKSwgU2l6ZU9mQ29tbWl0VHNUcnVuY2F0 ZSk7CisJWExvZ1JlZ2lzdGVyRGF0YSgmeGxyZWMsIFNpemVPZkNvbW1pdFRzVHJ1bmNhdGUp OwogCSh2b2lkKSBYTG9nSW5zZXJ0KFJNX0NPTU1JVF9UU19JRCwgQ09NTUlUX1RTX1RSVU5D QVRFKTsKIH0KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vbXVs dGl4YWN0LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9tdWx0aXhhY3QuYwppbmRl eCAyN2NjZGY5NTAwZi4uYzFlMmM0MmUxYmIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Fj Y2Vzcy90cmFuc2FtL211bHRpeGFjdC5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFu c2FtL211bHRpeGFjdC5jCkBAIC04ODYsOCArODg2LDggQEAgTXVsdGlYYWN0SWRDcmVhdGVG cm9tTWVtYmVycyhpbnQgbm1lbWJlcnMsIE11bHRpWGFjdE1lbWJlciAqbWVtYmVycykKIAkg KiBOb3QgY2xlYXIgdGhhdCBpdCdzIHdvcnRoIHRoZSB0cm91YmxlIHRob3VnaC4KIAkgKi8K IAlYTG9nQmVnaW5JbnNlcnQoKTsKLQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICgmeGxy ZWMpLCBTaXplT2ZNdWx0aVhhY3RDcmVhdGUpOwotCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIg KikgbWVtYmVycywgbm1lbWJlcnMgKiBzaXplb2YoTXVsdGlYYWN0TWVtYmVyKSk7CisJWExv Z1JlZ2lzdGVyRGF0YSgmeGxyZWMsIFNpemVPZk11bHRpWGFjdENyZWF0ZSk7CisJWExvZ1Jl Z2lzdGVyRGF0YShtZW1iZXJzLCBubWVtYmVycyAqIHNpemVvZihNdWx0aVhhY3RNZW1iZXIp KTsKIAogCSh2b2lkKSBYTG9nSW5zZXJ0KFJNX01VTFRJWEFDVF9JRCwgWExPR19NVUxUSVhB Q1RfQ1JFQVRFX0lEKTsKIApAQCAtMzM1NSw3ICszMzU1LDcgQEAgc3RhdGljIHZvaWQKIFdy aXRlTVplcm9QYWdlWGxvZ1JlYyhpbnQ2NCBwYWdlbm8sIHVpbnQ4IGluZm8pCiB7CiAJWExv Z0JlZ2luSW5zZXJ0KCk7Ci0JWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAoJnBhZ2Vubyks IHNpemVvZihwYWdlbm8pKTsKKwlYTG9nUmVnaXN0ZXJEYXRhKCZwYWdlbm8sIHNpemVvZihw YWdlbm8pKTsKIAkodm9pZCkgWExvZ0luc2VydChSTV9NVUxUSVhBQ1RfSUQsIGluZm8pOwog fQogCkBAIC0zMzgyLDcgKzMzODIsNyBAQCBXcml0ZU1UcnVuY2F0ZVhsb2dSZWMoT2lkIG9s ZGVzdE11bHRpREIsCiAJeGxyZWMuZW5kVHJ1bmNNZW1iID0gZW5kVHJ1bmNNZW1iOwogCiAJ WExvZ0JlZ2luSW5zZXJ0KCk7Ci0JWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAoJnhscmVj KSwgU2l6ZU9mTXVsdGlYYWN0VHJ1bmNhdGUpOworCVhMb2dSZWdpc3RlckRhdGEoJnhscmVj LCBTaXplT2ZNdWx0aVhhY3RUcnVuY2F0ZSk7CiAJcmVjcHRyID0gWExvZ0luc2VydChSTV9N VUxUSVhBQ1RfSUQsIFhMT0dfTVVMVElYQUNUX1RSVU5DQVRFX0lEKTsKIAlYTG9nRmx1c2go cmVjcHRyKTsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hh Y3QuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hhY3QuYwppbmRleCBkMzMxYWI5 MGQ3OC4uMWI0ZjIxYTg4ZDMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFu c2FtL3hhY3QuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94YWN0LmMKQEAg LTc3MCw4ICs3NzAsOCBAQCBBc3NpZ25UcmFuc2FjdGlvbklkKFRyYW5zYWN0aW9uU3RhdGUg cykKIAkJCXhscmVjLm5zdWJ4YWN0cyA9IG5VbnJlcG9ydGVkWGlkczsKIAogCQkJWExvZ0Jl Z2luSW5zZXJ0KCk7Ci0JCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZ4bHJlYywgTWlu U2l6ZU9mWGFjdEFzc2lnbm1lbnQpOwotCQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSB1 bnJlcG9ydGVkWGlkcywKKwkJCVhMb2dSZWdpc3RlckRhdGEoJnhscmVjLCBNaW5TaXplT2ZY YWN0QXNzaWdubWVudCk7CisJCQlYTG9nUmVnaXN0ZXJEYXRhKHVucmVwb3J0ZWRYaWRzLAog CQkJCQkJCSBuVW5yZXBvcnRlZFhpZHMgKiBzaXplb2YoVHJhbnNhY3Rpb25JZCkpOwogCiAJ CQkodm9pZCkgWExvZ0luc2VydChSTV9YQUNUX0lELCBYTE9HX1hBQ1RfQVNTSUdOTUVOVCk7 CkBAIC01OTA5LDU0ICs1OTA5LDU0IEBAIFhhY3RMb2dDb21taXRSZWNvcmQoVGltZXN0YW1w VHogY29tbWl0X3RpbWUsCiAKIAlYTG9nQmVnaW5JbnNlcnQoKTsKIAotCVhMb2dSZWdpc3Rl ckRhdGEoKGNoYXIgKikgKCZ4bHJlYyksIHNpemVvZih4bF94YWN0X2NvbW1pdCkpOworCVhM b2dSZWdpc3RlckRhdGEoJnhscmVjLCBzaXplb2YoeGxfeGFjdF9jb21taXQpKTsKIAogCWlm ICh4bF94aW5mby54aW5mbyAhPSAwKQotCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICgm eGxfeGluZm8ueGluZm8pLCBzaXplb2YoeGxfeGluZm8ueGluZm8pKTsKKwkJWExvZ1JlZ2lz dGVyRGF0YSgmeGxfeGluZm8ueGluZm8sIHNpemVvZih4bF94aW5mby54aW5mbykpOwogCiAJ aWYgKHhsX3hpbmZvLnhpbmZvICYgWEFDVF9YSU5GT19IQVNfREJJTkZPKQotCQlYTG9nUmVn aXN0ZXJEYXRhKChjaGFyICopICgmeGxfZGJpbmZvKSwgc2l6ZW9mKHhsX2RiaW5mbykpOwor CQlYTG9nUmVnaXN0ZXJEYXRhKCZ4bF9kYmluZm8sIHNpemVvZih4bF9kYmluZm8pKTsKIAog CWlmICh4bF94aW5mby54aW5mbyAmIFhBQ1RfWElORk9fSEFTX1NVQlhBQ1RTKQogCXsKLQkJ WExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAoJnhsX3N1YnhhY3RzKSwKKwkJWExvZ1JlZ2lz dGVyRGF0YSgmeGxfc3VieGFjdHMsCiAJCQkJCQkgTWluU2l6ZU9mWGFjdFN1YnhhY3RzKTsK LQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSBzdWJ4YWN0cywKKwkJWExvZ1JlZ2lzdGVy RGF0YShzdWJ4YWN0cywKIAkJCQkJCSBuc3VieGFjdHMgKiBzaXplb2YoVHJhbnNhY3Rpb25J ZCkpOwogCX0KIAogCWlmICh4bF94aW5mby54aW5mbyAmIFhBQ1RfWElORk9fSEFTX1JFTEZJ TEVMT0NBVE9SUykKIAl7Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgKCZ4bF9yZWxm aWxlbG9jYXRvcnMpLAorCQlYTG9nUmVnaXN0ZXJEYXRhKCZ4bF9yZWxmaWxlbG9jYXRvcnMs CiAJCQkJCQkgTWluU2l6ZU9mWGFjdFJlbGZpbGVMb2NhdG9ycyk7Ci0JCVhMb2dSZWdpc3Rl ckRhdGEoKGNoYXIgKikgcmVscywKKwkJWExvZ1JlZ2lzdGVyRGF0YShyZWxzLAogCQkJCQkJ IG5yZWxzICogc2l6ZW9mKFJlbEZpbGVMb2NhdG9yKSk7CiAJfQogCiAJaWYgKHhsX3hpbmZv LnhpbmZvICYgWEFDVF9YSU5GT19IQVNfRFJPUFBFRF9TVEFUUykKIAl7Ci0JCVhMb2dSZWdp c3RlckRhdGEoKGNoYXIgKikgKCZ4bF9kcm9wcGVkX3N0YXRzKSwKKwkJWExvZ1JlZ2lzdGVy RGF0YSgmeGxfZHJvcHBlZF9zdGF0cywKIAkJCQkJCSBNaW5TaXplT2ZYYWN0U3RhdHNJdGVt cyk7Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgZHJvcHBlZHN0YXRzLAorCQlYTG9n UmVnaXN0ZXJEYXRhKGRyb3BwZWRzdGF0cywKIAkJCQkJCSBuZHJvcHBlZHN0YXRzICogc2l6 ZW9mKHhsX3hhY3Rfc3RhdHNfaXRlbSkpOwogCX0KIAogCWlmICh4bF94aW5mby54aW5mbyAm IFhBQ1RfWElORk9fSEFTX0lOVkFMUykKIAl7Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIg KikgKCZ4bF9pbnZhbHMpLCBNaW5TaXplT2ZYYWN0SW52YWxzKTsKLQkJWExvZ1JlZ2lzdGVy RGF0YSgoY2hhciAqKSBtc2dzLAorCQlYTG9nUmVnaXN0ZXJEYXRhKCZ4bF9pbnZhbHMsIE1p blNpemVPZlhhY3RJbnZhbHMpOworCQlYTG9nUmVnaXN0ZXJEYXRhKG1zZ3MsCiAJCQkJCQkg bm1zZ3MgKiBzaXplb2YoU2hhcmVkSW52YWxpZGF0aW9uTWVzc2FnZSkpOwogCX0KIAogCWlm ICh4bF94aW5mby54aW5mbyAmIFhBQ1RfWElORk9fSEFTX1RXT1BIQVNFKQogCXsKLQkJWExv Z1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAoJnhsX3R3b3BoYXNlKSwgc2l6ZW9mKHhsX3hhY3Rf dHdvcGhhc2UpKTsKKwkJWExvZ1JlZ2lzdGVyRGF0YSgmeGxfdHdvcGhhc2UsIHNpemVvZih4 bF94YWN0X3R3b3BoYXNlKSk7CiAJCWlmICh4bF94aW5mby54aW5mbyAmIFhBQ1RfWElORk9f SEFTX0dJRCkKIAkJCVhMb2dSZWdpc3RlckRhdGEodHdvcGhhc2VfZ2lkLCBzdHJsZW4odHdv cGhhc2VfZ2lkKSArIDEpOwogCX0KIAogCWlmICh4bF94aW5mby54aW5mbyAmIFhBQ1RfWElO Rk9fSEFTX09SSUdJTikKLQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAoJnhsX29yaWdp biksIHNpemVvZih4bF94YWN0X29yaWdpbikpOworCQlYTG9nUmVnaXN0ZXJEYXRhKCZ4bF9v cmlnaW4sIHNpemVvZih4bF94YWN0X29yaWdpbikpOwogCiAJLyogd2UgYWxsb3cgZmlsdGVy aW5nIGJ5IHhhY3RzICovCiAJWExvZ1NldFJlY29yZEZsYWdzKFhMT0dfSU5DTFVERV9PUklH SU4pOwpAQCAtNjA2Miw0NyArNjA2Miw0NyBAQCBYYWN0TG9nQWJvcnRSZWNvcmQoVGltZXN0 YW1wVHogYWJvcnRfdGltZSwKIAogCVhMb2dCZWdpbkluc2VydCgpOwogCi0JWExvZ1JlZ2lz dGVyRGF0YSgoY2hhciAqKSAoJnhscmVjKSwgTWluU2l6ZU9mWGFjdEFib3J0KTsKKwlYTG9n UmVnaXN0ZXJEYXRhKCZ4bHJlYywgTWluU2l6ZU9mWGFjdEFib3J0KTsKIAogCWlmICh4bF94 aW5mby54aW5mbyAhPSAwKQotCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICgmeGxfeGlu Zm8pLCBzaXplb2YoeGxfeGluZm8pKTsKKwkJWExvZ1JlZ2lzdGVyRGF0YSgmeGxfeGluZm8s IHNpemVvZih4bF94aW5mbykpOwogCiAJaWYgKHhsX3hpbmZvLnhpbmZvICYgWEFDVF9YSU5G T19IQVNfREJJTkZPKQotCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICgmeGxfZGJpbmZv KSwgc2l6ZW9mKHhsX2RiaW5mbykpOworCQlYTG9nUmVnaXN0ZXJEYXRhKCZ4bF9kYmluZm8s IHNpemVvZih4bF9kYmluZm8pKTsKIAogCWlmICh4bF94aW5mby54aW5mbyAmIFhBQ1RfWElO Rk9fSEFTX1NVQlhBQ1RTKQogCXsKLQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAoJnhs X3N1YnhhY3RzKSwKKwkJWExvZ1JlZ2lzdGVyRGF0YSgmeGxfc3VieGFjdHMsCiAJCQkJCQkg TWluU2l6ZU9mWGFjdFN1YnhhY3RzKTsKLQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSBz dWJ4YWN0cywKKwkJWExvZ1JlZ2lzdGVyRGF0YShzdWJ4YWN0cywKIAkJCQkJCSBuc3VieGFj dHMgKiBzaXplb2YoVHJhbnNhY3Rpb25JZCkpOwogCX0KIAogCWlmICh4bF94aW5mby54aW5m byAmIFhBQ1RfWElORk9fSEFTX1JFTEZJTEVMT0NBVE9SUykKIAl7Ci0JCVhMb2dSZWdpc3Rl ckRhdGEoKGNoYXIgKikgKCZ4bF9yZWxmaWxlbG9jYXRvcnMpLAorCQlYTG9nUmVnaXN0ZXJE YXRhKCZ4bF9yZWxmaWxlbG9jYXRvcnMsCiAJCQkJCQkgTWluU2l6ZU9mWGFjdFJlbGZpbGVM b2NhdG9ycyk7Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgcmVscywKKwkJWExvZ1Jl Z2lzdGVyRGF0YShyZWxzLAogCQkJCQkJIG5yZWxzICogc2l6ZW9mKFJlbEZpbGVMb2NhdG9y KSk7CiAJfQogCiAJaWYgKHhsX3hpbmZvLnhpbmZvICYgWEFDVF9YSU5GT19IQVNfRFJPUFBF RF9TVEFUUykKIAl7Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgKCZ4bF9kcm9wcGVk X3N0YXRzKSwKKwkJWExvZ1JlZ2lzdGVyRGF0YSgmeGxfZHJvcHBlZF9zdGF0cywKIAkJCQkJ CSBNaW5TaXplT2ZYYWN0U3RhdHNJdGVtcyk7Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIg KikgZHJvcHBlZHN0YXRzLAorCQlYTG9nUmVnaXN0ZXJEYXRhKGRyb3BwZWRzdGF0cywKIAkJ CQkJCSBuZHJvcHBlZHN0YXRzICogc2l6ZW9mKHhsX3hhY3Rfc3RhdHNfaXRlbSkpOwogCX0K IAogCWlmICh4bF94aW5mby54aW5mbyAmIFhBQ1RfWElORk9fSEFTX1RXT1BIQVNFKQogCXsK LQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAoJnhsX3R3b3BoYXNlKSwgc2l6ZW9mKHhs X3hhY3RfdHdvcGhhc2UpKTsKKwkJWExvZ1JlZ2lzdGVyRGF0YSgmeGxfdHdvcGhhc2UsIHNp emVvZih4bF94YWN0X3R3b3BoYXNlKSk7CiAJCWlmICh4bF94aW5mby54aW5mbyAmIFhBQ1Rf WElORk9fSEFTX0dJRCkKIAkJCVhMb2dSZWdpc3RlckRhdGEodHdvcGhhc2VfZ2lkLCBzdHJs ZW4odHdvcGhhc2VfZ2lkKSArIDEpOwogCX0KIAogCWlmICh4bF94aW5mby54aW5mbyAmIFhB Q1RfWElORk9fSEFTX09SSUdJTikKLQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAoJnhs X29yaWdpbiksIHNpemVvZih4bF94YWN0X29yaWdpbikpOworCQlYTG9nUmVnaXN0ZXJEYXRh KCZ4bF9vcmlnaW4sIHNpemVvZih4bF94YWN0X29yaWdpbikpOwogCiAJLyogSW5jbHVkZSB0 aGUgcmVwbGljYXRpb24gb3JpZ2luICovCiAJWExvZ1NldFJlY29yZEZsYWdzKFhMT0dfSU5D TFVERV9PUklHSU4pOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0v eGxvZy5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jCmluZGV4IDEyNDY3 NmI0NjBhLi5kMTIzODgyZmZhMSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL3Ry YW5zYW0veGxvZy5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2cuYwpA QCAtNzA3OCw3ICs3MDc4LDcgQEAgQ3JlYXRlQ2hlY2tQb2ludChpbnQgZmxhZ3MpCiAJewog CQkvKiBJbmNsdWRlIFdBTCBsZXZlbCBpbiByZWNvcmQgZm9yIFdBTCBzdW1tYXJpemVyJ3Mg YmVuZWZpdC4gKi8KIAkJWExvZ0JlZ2luSW5zZXJ0KCk7Ci0JCVhMb2dSZWdpc3RlckRhdGEo KGNoYXIgKikgJndhbF9sZXZlbCwgc2l6ZW9mKHdhbF9sZXZlbCkpOworCQlYTG9nUmVnaXN0 ZXJEYXRhKCZ3YWxfbGV2ZWwsIHNpemVvZih3YWxfbGV2ZWwpKTsKIAkJKHZvaWQpIFhMb2dJ bnNlcnQoUk1fWExPR19JRCwgWExPR19DSEVDS1BPSU5UX1JFRE8pOwogCiAJCS8qCkBAIC03 MjMxLDcgKzcyMzEsNyBAQCBDcmVhdGVDaGVja1BvaW50KGludCBmbGFncykKIAkgKiBOb3cg aW5zZXJ0IHRoZSBjaGVja3BvaW50IHJlY29yZCBpbnRvIFhMT0cuCiAJICovCiAJWExvZ0Jl Z2luSW5zZXJ0KCk7Ci0JWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAoJmNoZWNrUG9pbnQp LCBzaXplb2YoY2hlY2tQb2ludCkpOworCVhMb2dSZWdpc3RlckRhdGEoJmNoZWNrUG9pbnQs IHNpemVvZihjaGVja1BvaW50KSk7CiAJcmVjcHRyID0gWExvZ0luc2VydChSTV9YTE9HX0lE LAogCQkJCQkJc2h1dGRvd24gPyBYTE9HX0NIRUNLUE9JTlRfU0hVVERPV04gOgogCQkJCQkJ WExPR19DSEVDS1BPSU5UX09OTElORSk7CkBAIC03NDEzLDcgKzc0MTMsNyBAQCBDcmVhdGVF bmRPZlJlY292ZXJ5UmVjb3JkKHZvaWQpCiAJU1RBUlRfQ1JJVF9TRUNUSU9OKCk7CiAKIAlY TG9nQmVnaW5JbnNlcnQoKTsKLQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZ4bHJlYywg c2l6ZW9mKHhsX2VuZF9vZl9yZWNvdmVyeSkpOworCVhMb2dSZWdpc3RlckRhdGEoJnhscmVj LCBzaXplb2YoeGxfZW5kX29mX3JlY292ZXJ5KSk7CiAJcmVjcHRyID0gWExvZ0luc2VydChS TV9YTE9HX0lELCBYTE9HX0VORF9PRl9SRUNPVkVSWSk7CiAKIAlYTG9nRmx1c2gocmVjcHRy KTsKQEAgLTc1MDYsNyArNzUwNiw3IEBAIENyZWF0ZU92ZXJ3cml0ZUNvbnRyZWNvcmRSZWNv cmQoWExvZ1JlY1B0ciBhYm9ydGVkX2xzbiwgWExvZ1JlY1B0ciBwYWdlUHRyLAogCVhMb2dC ZWdpbkluc2VydCgpOwogCXhscmVjLm92ZXJ3cml0dGVuX2xzbiA9IGFib3J0ZWRfbHNuOwog CXhscmVjLm92ZXJ3cml0ZV90aW1lID0gR2V0Q3VycmVudFRpbWVzdGFtcCgpOwotCVhMb2dS ZWdpc3RlckRhdGEoKGNoYXIgKikgJnhscmVjLCBzaXplb2YoeGxfb3ZlcndyaXRlX2NvbnRy ZWNvcmQpKTsKKwlYTG9nUmVnaXN0ZXJEYXRhKCZ4bHJlYywgc2l6ZW9mKHhsX292ZXJ3cml0 ZV9jb250cmVjb3JkKSk7CiAJcmVjcHRyID0gWExvZ0luc2VydChSTV9YTE9HX0lELCBYTE9H X09WRVJXUklURV9DT05UUkVDT1JEKTsKIAogCS8qIGNoZWNrIHRoYXQgdGhlIHJlY29yZCB3 YXMgaW5zZXJ0ZWQgdG8gdGhlIHJpZ2h0IHBsYWNlICovCkBAIC04MDQ0LDcgKzgwNDQsNyBA QCB2b2lkCiBYTG9nUHV0TmV4dE9pZChPaWQgbmV4dE9pZCkKIHsKIAlYTG9nQmVnaW5JbnNl cnQoKTsKLQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICgmbmV4dE9pZCksIHNpemVvZihP aWQpKTsKKwlYTG9nUmVnaXN0ZXJEYXRhKCZuZXh0T2lkLCBzaXplb2YoT2lkKSk7CiAJKHZv aWQpIFhMb2dJbnNlcnQoUk1fWExPR19JRCwgWExPR19ORVhUT0lEKTsKIAogCS8qCkBAIC04 MTA1LDcgKzgxMDUsNyBAQCBYTG9nUmVzdG9yZVBvaW50KGNvbnN0IGNoYXIgKnJwTmFtZSkK IAlzdHJsY3B5KHhscmVjLnJwX25hbWUsIHJwTmFtZSwgTUFYRk5BTUVMRU4pOwogCiAJWExv Z0JlZ2luSW5zZXJ0KCk7Ci0JWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAmeGxyZWMsIHNp emVvZih4bF9yZXN0b3JlX3BvaW50KSk7CisJWExvZ1JlZ2lzdGVyRGF0YSgmeGxyZWMsIHNp emVvZih4bF9yZXN0b3JlX3BvaW50KSk7CiAKIAlSZWNQdHIgPSBYTG9nSW5zZXJ0KFJNX1hM T0dfSUQsIFhMT0dfUkVTVE9SRV9QT0lOVCk7CiAKQEAgLTgxNTQsNyArODE1NCw3IEBAIFhM b2dSZXBvcnRQYXJhbWV0ZXJzKHZvaWQpCiAJCQl4bHJlYy50cmFja19jb21taXRfdGltZXN0 YW1wID0gdHJhY2tfY29tbWl0X3RpbWVzdGFtcDsKIAogCQkJWExvZ0JlZ2luSW5zZXJ0KCk7 Ci0JCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZ4bHJlYywgc2l6ZW9mKHhscmVjKSk7 CisJCQlYTG9nUmVnaXN0ZXJEYXRhKCZ4bHJlYywgc2l6ZW9mKHhscmVjKSk7CiAKIAkJCXJl Y3B0ciA9IFhMb2dJbnNlcnQoUk1fWExPR19JRCwgWExPR19QQVJBTUVURVJfQ0hBTkdFKTsK IAkJCVhMb2dGbHVzaChyZWNwdHIpOwpAQCAtODIyOSw3ICs4MjI5LDcgQEAgVXBkYXRlRnVs bFBhZ2VXcml0ZXModm9pZCkKIAlpZiAoWExvZ1N0YW5kYnlJbmZvQWN0aXZlKCkgJiYgIXJl Y292ZXJ5SW5Qcm9ncmVzcykKIAl7CiAJCVhMb2dCZWdpbkluc2VydCgpOwotCQlYTG9nUmVn aXN0ZXJEYXRhKChjaGFyICopICgmZnVsbFBhZ2VXcml0ZXMpLCBzaXplb2YoYm9vbCkpOwor CQlYTG9nUmVnaXN0ZXJEYXRhKCZmdWxsUGFnZVdyaXRlcywgc2l6ZW9mKGJvb2wpKTsKIAog CQlYTG9nSW5zZXJ0KFJNX1hMT0dfSUQsIFhMT0dfRlBXX0NIQU5HRSk7CiAJfQpAQCAtOTI3 Miw3ICs5MjcyLDcgQEAgZG9fcGdfYmFja3VwX3N0b3AoQmFja3VwU3RhdGUgKnN0YXRlLCBi b29sIHdhaXRmb3JhcmNoaXZlKQogCQkgKiBXcml0ZSB0aGUgYmFja3VwLWVuZCB4bG9nIHJl Y29yZAogCQkgKi8KIAkJWExvZ0JlZ2luSW5zZXJ0KCk7Ci0JCVhMb2dSZWdpc3RlckRhdGEo KGNoYXIgKikgKCZzdGF0ZS0+c3RhcnRwb2ludCksCisJCVhMb2dSZWdpc3RlckRhdGEoJnN0 YXRlLT5zdGFydHBvaW50LAogCQkJCQkJIHNpemVvZihzdGF0ZS0+c3RhcnRwb2ludCkpOwog CQlzdGF0ZS0+c3RvcHBvaW50ID0gWExvZ0luc2VydChSTV9YTE9HX0lELCBYTE9HX0JBQ0tV UF9FTkQpOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N0b3JhZ2UuYyBi L3NyYy9iYWNrZW5kL2NhdGFsb2cvc3RvcmFnZS5jCmluZGV4IGViYTBlNzE2NTQ5Li42OTBi MWRiYzZlZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zdG9yYWdlLmMKKysr IGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zdG9yYWdlLmMKQEAgLTE5NCw3ICsxOTQsNyBAQCBs b2dfc21ncmNyZWF0ZShjb25zdCBSZWxGaWxlTG9jYXRvciAqcmxvY2F0b3IsIEZvcmtOdW1i ZXIgZm9ya051bSkKIAl4bHJlYy5mb3JrTnVtID0gZm9ya051bTsKIAogCVhMb2dCZWdpbklu c2VydCgpOwotCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgJnhscmVjLCBzaXplb2YoeGxy ZWMpKTsKKwlYTG9nUmVnaXN0ZXJEYXRhKCZ4bHJlYywgc2l6ZW9mKHhscmVjKSk7CiAJWExv Z0luc2VydChSTV9TTUdSX0lELCBYTE9HX1NNR1JfQ1JFQVRFIHwgWExSX1NQRUNJQUxfUkVM X1VQREFURSk7CiB9CiAKQEAgLTM5Nyw3ICszOTcsNyBAQCBSZWxhdGlvblRydW5jYXRlKFJl bGF0aW9uIHJlbCwgQmxvY2tOdW1iZXIgbmJsb2NrcykKIAkJeGxyZWMuZmxhZ3MgPSBTTUdS X1RSVU5DQVRFX0FMTDsKIAogCQlYTG9nQmVnaW5JbnNlcnQoKTsKLQkJWExvZ1JlZ2lzdGVy RGF0YSgoY2hhciAqKSAmeGxyZWMsIHNpemVvZih4bHJlYykpOworCQlYTG9nUmVnaXN0ZXJE YXRhKCZ4bHJlYywgc2l6ZW9mKHhscmVjKSk7CiAKIAkJbHNuID0gWExvZ0luc2VydChSTV9T TUdSX0lELAogCQkJCQkJIFhMT0dfU01HUl9UUlVOQ0FURSB8IFhMUl9TUEVDSUFMX1JFTF9V UERBVEUpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvZGJjb21tYW5kcy5j IGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvZGJjb21tYW5kcy5jCmluZGV4IDQ2MzEwYWRkNDU5 Li4xNzUzYjI4OTA3NCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvZGJjb21t YW5kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2RiY29tbWFuZHMuYwpAQCAtNTI5 LDcgKzUyOSw3IEBAIENyZWF0ZURpckFuZFZlcnNpb25GaWxlKGNoYXIgKmRicGF0aCwgT2lk IGRiaWQsIE9pZCB0c2lkLCBib29sIGlzUmVkbykKIAkJeGxyZWMudGFibGVzcGFjZV9pZCA9 IHRzaWQ7CiAKIAkJWExvZ0JlZ2luSW5zZXJ0KCk7Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNo YXIgKikgKCZ4bHJlYyksCisJCVhMb2dSZWdpc3RlckRhdGEoJnhscmVjLAogCQkJCQkJIHNp emVvZih4bF9kYmFzZV9jcmVhdGVfd2FsX2xvZ19yZWMpKTsKIAogCQkodm9pZCkgWExvZ0lu c2VydChSTV9EQkFTRV9JRCwgWExPR19EQkFTRV9DUkVBVEVfV0FMX0xPRyk7CkBAIC02MjUs NyArNjI1LDcgQEAgQ3JlYXRlRGF0YWJhc2VVc2luZ0ZpbGVDb3B5KE9pZCBzcmNfZGJvaWQs IE9pZCBkc3RfZGJvaWQsIE9pZCBzcmNfdHNpZCwKIAkJCXhscmVjLnNyY190YWJsZXNwYWNl X2lkID0gc3JjdGFibGVzcGFjZTsKIAogCQkJWExvZ0JlZ2luSW5zZXJ0KCk7Ci0JCQlYTG9n UmVnaXN0ZXJEYXRhKChjaGFyICopICZ4bHJlYywKKwkJCVhMb2dSZWdpc3RlckRhdGEoJnhs cmVjLAogCQkJCQkJCSBzaXplb2YoeGxfZGJhc2VfY3JlYXRlX2ZpbGVfY29weV9yZWMpKTsK IAogCQkJKHZvaWQpIFhMb2dJbnNlcnQoUk1fREJBU0VfSUQsCkBAIC0yMTgzLDcgKzIxODMs NyBAQCBtb3ZlZGIoY29uc3QgY2hhciAqZGJuYW1lLCBjb25zdCBjaGFyICp0YmxzcGNuYW1l KQogCQkJeGxyZWMuc3JjX3RhYmxlc3BhY2VfaWQgPSBzcmNfdGJsc3Bjb2lkOwogCiAJCQlY TG9nQmVnaW5JbnNlcnQoKTsKLQkJCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgJnhscmVj LAorCQkJWExvZ1JlZ2lzdGVyRGF0YSgmeGxyZWMsCiAJCQkJCQkJIHNpemVvZih4bF9kYmFz ZV9jcmVhdGVfZmlsZV9jb3B5X3JlYykpOwogCiAJCQkodm9pZCkgWExvZ0luc2VydChSTV9E QkFTRV9JRCwKQEAgLTIyNzksOCArMjI3OSw4IEBAIG1vdmVkYihjb25zdCBjaGFyICpkYm5h bWUsIGNvbnN0IGNoYXIgKnRibHNwY25hbWUpCiAJCXhscmVjLm50YWJsZXNwYWNlcyA9IDE7 CiAKIAkJWExvZ0JlZ2luSW5zZXJ0KCk7Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikg JnhscmVjLCBzaXplb2YoeGxfZGJhc2VfZHJvcF9yZWMpKTsKLQkJWExvZ1JlZ2lzdGVyRGF0 YSgoY2hhciAqKSAmc3JjX3RibHNwY29pZCwgc2l6ZW9mKE9pZCkpOworCQlYTG9nUmVnaXN0 ZXJEYXRhKCZ4bHJlYywgc2l6ZW9mKHhsX2RiYXNlX2Ryb3BfcmVjKSk7CisJCVhMb2dSZWdp c3RlckRhdGEoJnNyY190YmxzcGNvaWQsIHNpemVvZihPaWQpKTsKIAogCQkodm9pZCkgWExv Z0luc2VydChSTV9EQkFTRV9JRCwKIAkJCQkJCSAgWExPR19EQkFTRV9EUk9QIHwgWExSX1NQ RUNJQUxfUkVMX1VQREFURSk7CkBAIC0zMDM3LDggKzMwMzcsOCBAQCByZW1vdmVfZGJ0YWJs ZXNwYWNlcyhPaWQgZGJfaWQpCiAJCXhscmVjLm50YWJsZXNwYWNlcyA9IG50YmxzcGM7CiAK IAkJWExvZ0JlZ2luSW5zZXJ0KCk7Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgJnhs cmVjLCBNaW5TaXplT2ZEYmFzZURyb3BSZWMpOwotCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFy ICopIHRhYmxlc3BhY2VfaWRzLCBudGJsc3BjICogc2l6ZW9mKE9pZCkpOworCQlYTG9nUmVn aXN0ZXJEYXRhKCZ4bHJlYywgTWluU2l6ZU9mRGJhc2VEcm9wUmVjKTsKKwkJWExvZ1JlZ2lz dGVyRGF0YSh0YWJsZXNwYWNlX2lkcywgbnRibHNwYyAqIHNpemVvZihPaWQpKTsKIAogCQko dm9pZCkgWExvZ0luc2VydChSTV9EQkFTRV9JRCwKIAkJCQkJCSAgWExPR19EQkFTRV9EUk9Q IHwgWExSX1NQRUNJQUxfUkVMX1VQREFURSk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9j b21tYW5kcy9zZXF1ZW5jZS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2VxdWVuY2UuYwpp bmRleCBiMTNlZTJiNzQ1ZC4uNGI3YzUxMTNhYWIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L2NvbW1hbmRzL3NlcXVlbmNlLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2VxdWVu Y2UuYwpAQCAtNDE1LDggKzQxNSw4IEBAIGZpbGxfc2VxX2Zvcmtfd2l0aF9kYXRhKFJlbGF0 aW9uIHJlbCwgSGVhcFR1cGxlIHR1cGxlLCBGb3JrTnVtYmVyIGZvcmtOdW0pCiAKIAkJeGxy ZWMubG9jYXRvciA9IHJlbC0+cmRfbG9jYXRvcjsKIAotCQlYTG9nUmVnaXN0ZXJEYXRhKChj aGFyICopICZ4bHJlYywgc2l6ZW9mKHhsX3NlcV9yZWMpKTsKLQkJWExvZ1JlZ2lzdGVyRGF0 YSgoY2hhciAqKSB0dXBsZS0+dF9kYXRhLCB0dXBsZS0+dF9sZW4pOworCQlYTG9nUmVnaXN0 ZXJEYXRhKCZ4bHJlYywgc2l6ZW9mKHhsX3NlcV9yZWMpKTsKKwkJWExvZ1JlZ2lzdGVyRGF0 YSh0dXBsZS0+dF9kYXRhLCB0dXBsZS0+dF9sZW4pOwogCiAJCXJlY3B0ciA9IFhMb2dJbnNl cnQoUk1fU0VRX0lELCBYTE9HX1NFUV9MT0cpOwogCkBAIC04NDAsOCArODQwLDggQEAgbmV4 dHZhbF9pbnRlcm5hbChPaWQgcmVsaWQsIGJvb2wgY2hlY2tfcGVybWlzc2lvbnMpCiAKIAkJ eGxyZWMubG9jYXRvciA9IHNlcXJlbC0+cmRfbG9jYXRvcjsKIAotCQlYTG9nUmVnaXN0ZXJE YXRhKChjaGFyICopICZ4bHJlYywgc2l6ZW9mKHhsX3NlcV9yZWMpKTsKLQkJWExvZ1JlZ2lz dGVyRGF0YSgoY2hhciAqKSBzZXFkYXRhdHVwbGUudF9kYXRhLCBzZXFkYXRhdHVwbGUudF9s ZW4pOworCQlYTG9nUmVnaXN0ZXJEYXRhKCZ4bHJlYywgc2l6ZW9mKHhsX3NlcV9yZWMpKTsK KwkJWExvZ1JlZ2lzdGVyRGF0YShzZXFkYXRhdHVwbGUudF9kYXRhLCBzZXFkYXRhdHVwbGUu dF9sZW4pOwogCiAJCXJlY3B0ciA9IFhMb2dJbnNlcnQoUk1fU0VRX0lELCBYTE9HX1NFUV9M T0cpOwogCkBAIC0xMDI2LDggKzEwMjYsOCBAQCBkb19zZXR2YWwoT2lkIHJlbGlkLCBpbnQ2 NCBuZXh0LCBib29sIGlzY2FsbGVkKQogCQlYTG9nUmVnaXN0ZXJCdWZmZXIoMCwgYnVmLCBS RUdCVUZfV0lMTF9JTklUKTsKIAogCQl4bHJlYy5sb2NhdG9yID0gc2VxcmVsLT5yZF9sb2Nh dG9yOwotCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZ4bHJlYywgc2l6ZW9mKHhsX3Nl cV9yZWMpKTsKLQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSBzZXFkYXRhdHVwbGUudF9k YXRhLCBzZXFkYXRhdHVwbGUudF9sZW4pOworCQlYTG9nUmVnaXN0ZXJEYXRhKCZ4bHJlYywg c2l6ZW9mKHhsX3NlcV9yZWMpKTsKKwkJWExvZ1JlZ2lzdGVyRGF0YShzZXFkYXRhdHVwbGUu dF9kYXRhLCBzZXFkYXRhdHVwbGUudF9sZW4pOwogCiAJCXJlY3B0ciA9IFhMb2dJbnNlcnQo Uk1fU0VRX0lELCBYTE9HX1NFUV9MT0cpOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9j b21tYW5kcy90YWJsZWNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5j CmluZGV4IDE4ZjY0ZGI2ZTM5Li4xNzNhZWVkYjY4ZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvY29tbWFuZHMvdGFibGVjbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFi bGVjbWRzLmMKQEAgLTIyODMsOCArMjI4Myw4IEBAIEV4ZWN1dGVUcnVuY2F0ZUd1dHMoTGlz dCAqZXhwbGljaXRfcmVscywKIAkJCXhscmVjLmZsYWdzIHw9IFhMSF9UUlVOQ0FURV9SRVNU QVJUX1NFUVM7CiAKIAkJWExvZ0JlZ2luSW5zZXJ0KCk7Ci0JCVhMb2dSZWdpc3RlckRhdGEo KGNoYXIgKikgJnhscmVjLCBTaXplT2ZIZWFwVHJ1bmNhdGUpOwotCQlYTG9nUmVnaXN0ZXJE YXRhKChjaGFyICopIGxvZ3JlbGlkcywgbGlzdF9sZW5ndGgocmVsaWRzX2xvZ2dlZCkgKiBz aXplb2YoT2lkKSk7CisJCVhMb2dSZWdpc3RlckRhdGEoJnhscmVjLCBTaXplT2ZIZWFwVHJ1 bmNhdGUpOworCQlYTG9nUmVnaXN0ZXJEYXRhKGxvZ3JlbGlkcywgbGlzdF9sZW5ndGgocmVs aWRzX2xvZ2dlZCkgKiBzaXplb2YoT2lkKSk7CiAKIAkJWExvZ1NldFJlY29yZEZsYWdzKFhM T0dfSU5DTFVERV9PUklHSU4pOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5k cy90YWJsZXNwYWNlLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZXNwYWNlLmMKaW5k ZXggNGFjMjc2M2M3ZjMuLmE5MDA1Y2M3MjEyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9j b21tYW5kcy90YWJsZXNwYWNlLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVz cGFjZS5jCkBAIC0zNjMsOSArMzYzLDkgQEAgQ3JlYXRlVGFibGVTcGFjZShDcmVhdGVUYWJs ZVNwYWNlU3RtdCAqc3RtdCkKIAkJeGxyZWMudHNfaWQgPSB0YWJsZXNwYWNlb2lkOwogCiAJ CVhMb2dCZWdpbkluc2VydCgpOwotCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZ4bHJl YywKKwkJWExvZ1JlZ2lzdGVyRGF0YSgmeGxyZWMsCiAJCQkJCQkgb2Zmc2V0b2YoeGxfdGJs c3BjX2NyZWF0ZV9yZWMsIHRzX3BhdGgpKTsKLQkJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAq KSBsb2NhdGlvbiwgc3RybGVuKGxvY2F0aW9uKSArIDEpOworCQlYTG9nUmVnaXN0ZXJEYXRh KGxvY2F0aW9uLCBzdHJsZW4obG9jYXRpb24pICsgMSk7CiAKIAkJKHZvaWQpIFhMb2dJbnNl cnQoUk1fVEJMU1BDX0lELCBYTE9HX1RCTFNQQ19DUkVBVEUpOwogCX0KQEAgLTUzMyw3ICs1 MzMsNyBAQCBEcm9wVGFibGVTcGFjZShEcm9wVGFibGVTcGFjZVN0bXQgKnN0bXQpCiAJCXhs cmVjLnRzX2lkID0gdGFibGVzcGFjZW9pZDsKIAogCQlYTG9nQmVnaW5JbnNlcnQoKTsKLQkJ WExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAmeGxyZWMsIHNpemVvZih4bF90YmxzcGNfZHJv cF9yZWMpKTsKKwkJWExvZ1JlZ2lzdGVyRGF0YSgmeGxyZWMsIHNpemVvZih4bF90YmxzcGNf ZHJvcF9yZWMpKTsKIAogCQkodm9pZCkgWExvZ0luc2VydChSTV9UQkxTUENfSUQsIFhMT0df VEJMU1BDX0RST1ApOwogCX0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9u L2xvZ2ljYWwvbWVzc2FnZS5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9t ZXNzYWdlLmMKaW5kZXggMGQ2Y2Y2N2MxMDcuLmViYzg0NTRiYWQ5IDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL21lc3NhZ2UuYworKysgYi9zcmMvYmFj a2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL21lc3NhZ2UuYwpAQCAtNjIsNyArNjIsNyBAQCBM b2dMb2dpY2FsTWVzc2FnZShjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKm1lc3Nh Z2UsIHNpemVfdCBzaXplLAogCXhscmVjLm1lc3NhZ2Vfc2l6ZSA9IHNpemU7CiAKIAlYTG9n QmVnaW5JbnNlcnQoKTsKLQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZ4bHJlYywgU2l6 ZU9mTG9naWNhbE1lc3NhZ2UpOworCVhMb2dSZWdpc3RlckRhdGEoJnhscmVjLCBTaXplT2ZM b2dpY2FsTWVzc2FnZSk7CiAJWExvZ1JlZ2lzdGVyRGF0YShwcmVmaXgsIHhscmVjLnByZWZp eF9zaXplKTsKIAlYTG9nUmVnaXN0ZXJEYXRhKG1lc3NhZ2UsIHNpemUpOwogCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL29yaWdpbi5jIGIvc3JjL2Jh Y2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9vcmlnaW4uYwppbmRleCAxYjU4NmNiMWNmMi4u YzNjMWQ3YTJhNTEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2lj YWwvb3JpZ2luLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9vcmln aW4uYwpAQCAtMzkxLDcgKzM5MSw3IEBAIHJlcGxvcmlnaW5fc3RhdGVfY2xlYXIoUmVwT3Jp Z2luSWQgcm9pZGVudCwgYm9vbCBub3dhaXQpCiAKIAkJCQl4bHJlYy5ub2RlX2lkID0gcm9p ZGVudDsKIAkJCQlYTG9nQmVnaW5JbnNlcnQoKTsKLQkJCQlYTG9nUmVnaXN0ZXJEYXRhKChj aGFyICopICgmeGxyZWMpLCBzaXplb2YoeGxyZWMpKTsKKwkJCQlYTG9nUmVnaXN0ZXJEYXRh KCZ4bHJlYywgc2l6ZW9mKHhscmVjKSk7CiAJCQkJWExvZ0luc2VydChSTV9SRVBMT1JJR0lO X0lELCBYTE9HX1JFUExPUklHSU5fRFJPUCk7CiAJCQl9CiAKQEAgLTk4Niw3ICs5ODYsNyBA QCByZXBsb3JpZ2luX2FkdmFuY2UoUmVwT3JpZ2luSWQgbm9kZSwKIAkJeGxyZWMuZm9yY2Ug PSBnb19iYWNrd2FyZDsKIAogCQlYTG9nQmVnaW5JbnNlcnQoKTsKLQkJWExvZ1JlZ2lzdGVy RGF0YSgoY2hhciAqKSAoJnhscmVjKSwgc2l6ZW9mKHhscmVjKSk7CisJCVhMb2dSZWdpc3Rl ckRhdGEoJnhscmVjLCBzaXplb2YoeGxyZWMpKTsKIAogCQlYTG9nSW5zZXJ0KFJNX1JFUExP UklHSU5fSUQsIFhMT0dfUkVQTE9SSUdJTl9TRVQpOwogCX0KZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL3N0b3JhZ2UvaXBjL3N0YW5kYnkuYyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBj L3N0YW5kYnkuYwppbmRleCAyMDM5MDYyNTU0ZC4uNWFjYjQ1MDhmODUgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3N0YW5kYnkuYworKysgYi9zcmMvYmFja2VuZC9z dG9yYWdlL2lwYy9zdGFuZGJ5LmMKQEAgLTEzNTMsMTEgKzEzNTMsMTEgQEAgTG9nQ3VycmVu dFJ1bm5pbmdYYWN0cyhSdW5uaW5nVHJhbnNhY3Rpb25zIEN1cnJSdW5uaW5nWGFjdHMpCiAJ LyogSGVhZGVyICovCiAJWExvZ0JlZ2luSW5zZXJ0KCk7CiAJWExvZ1NldFJlY29yZEZsYWdz KFhMT0dfTUFSS19VTklNUE9SVEFOVCk7Ci0JWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAo JnhscmVjKSwgTWluU2l6ZU9mWGFjdFJ1bm5pbmdYYWN0cyk7CisJWExvZ1JlZ2lzdGVyRGF0 YSgmeGxyZWMsIE1pblNpemVPZlhhY3RSdW5uaW5nWGFjdHMpOwogCiAJLyogYXJyYXkgb2Yg VHJhbnNhY3Rpb25JZHMgKi8KIAlpZiAoeGxyZWMueGNudCA+IDApCi0JCVhMb2dSZWdpc3Rl ckRhdGEoKGNoYXIgKikgQ3VyclJ1bm5pbmdYYWN0cy0+eGlkcywKKwkJWExvZ1JlZ2lzdGVy RGF0YShDdXJyUnVubmluZ1hhY3RzLT54aWRzLAogCQkJCQkJICh4bHJlYy54Y250ICsgeGxy ZWMuc3VieGNudCkgKiBzaXplb2YoVHJhbnNhY3Rpb25JZCkpOwogCiAJcmVjcHRyID0gWExv Z0luc2VydChSTV9TVEFOREJZX0lELCBYTE9HX1JVTk5JTkdfWEFDVFMpOwpAQCAtMTQwNSw4 ICsxNDA1LDggQEAgTG9nQWNjZXNzRXhjbHVzaXZlTG9ja3MoaW50IG5sb2NrcywgeGxfc3Rh bmRieV9sb2NrICpsb2NrcykKIAl4bHJlYy5ubG9ja3MgPSBubG9ja3M7CiAKIAlYTG9nQmVn aW5JbnNlcnQoKTsKLQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICZ4bHJlYywgb2Zmc2V0 b2YoeGxfc3RhbmRieV9sb2NrcywgbG9ja3MpKTsKLQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFy ICopIGxvY2tzLCBubG9ja3MgKiBzaXplb2YoeGxfc3RhbmRieV9sb2NrKSk7CisJWExvZ1Jl Z2lzdGVyRGF0YSgmeGxyZWMsIG9mZnNldG9mKHhsX3N0YW5kYnlfbG9ja3MsIGxvY2tzKSk7 CisJWExvZ1JlZ2lzdGVyRGF0YShsb2NrcywgbmxvY2tzICogc2l6ZW9mKHhsX3N0YW5kYnlf bG9jaykpOwogCVhMb2dTZXRSZWNvcmRGbGFncyhYTE9HX01BUktfVU5JTVBPUlRBTlQpOwog CiAJKHZvaWQpIFhMb2dJbnNlcnQoUk1fU1RBTkRCWV9JRCwgWExPR19TVEFOREJZX0xPQ0sp OwpAQCAtMTQ2OSw4ICsxNDY5LDggQEAgTG9nU3RhbmRieUludmFsaWRhdGlvbnMoaW50IG5t c2dzLCBTaGFyZWRJbnZhbGlkYXRpb25NZXNzYWdlICptc2dzLAogCiAJLyogcGVyZm9ybSBp bnNlcnRpb24gKi8KIAlYTG9nQmVnaW5JbnNlcnQoKTsKLQlYTG9nUmVnaXN0ZXJEYXRhKChj aGFyICopICgmeGxyZWMpLCBNaW5TaXplT2ZJbnZhbGlkYXRpb25zKTsKLQlYTG9nUmVnaXN0 ZXJEYXRhKChjaGFyICopIG1zZ3MsCisJWExvZ1JlZ2lzdGVyRGF0YSgmeGxyZWMsIE1pblNp emVPZkludmFsaWRhdGlvbnMpOworCVhMb2dSZWdpc3RlckRhdGEobXNncywKIAkJCQkJIG5t c2dzICogc2l6ZW9mKFNoYXJlZEludmFsaWRhdGlvbk1lc3NhZ2UpKTsKIAlYTG9nSW5zZXJ0 KFJNX1NUQU5EQllfSUQsIFhMT0dfSU5WQUxJREFUSU9OUyk7CiB9CmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC91dGlscy9jYWNoZS9pbnZhbC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvY2Fj aGUvaW52YWwuYwppbmRleCAzMmNmMjhiYjhiYy4uNmFmZjFlYzAxZDcgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL2ludmFsLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRp bHMvY2FjaGUvaW52YWwuYwpAQCAtMTgxMywxMiArMTgxMywxMiBAQCBMb2dMb2dpY2FsSW52 YWxpZGF0aW9ucyh2b2lkKQogCiAJCS8qIHBlcmZvcm0gaW5zZXJ0aW9uICovCiAJCVhMb2dC ZWdpbkluc2VydCgpOwotCQlYTG9nUmVnaXN0ZXJEYXRhKChjaGFyICopICgmeGxyZWMpLCBN aW5TaXplT2ZYYWN0SW52YWxzKTsKKwkJWExvZ1JlZ2lzdGVyRGF0YSgmeGxyZWMsIE1pblNp emVPZlhhY3RJbnZhbHMpOwogCQlQcm9jZXNzTWVzc2FnZVN1Ykdyb3VwTXVsdGkoZ3JvdXAs IENhdENhY2hlTXNncywKLQkJCQkJCQkJCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgbXNn cywKKwkJCQkJCQkJCVhMb2dSZWdpc3RlckRhdGEobXNncywKIAkJCQkJCQkJCQkJCQkgbiAq IHNpemVvZihTaGFyZWRJbnZhbGlkYXRpb25NZXNzYWdlKSkpOwogCQlQcm9jZXNzTWVzc2Fn ZVN1Ykdyb3VwTXVsdGkoZ3JvdXAsIFJlbENhY2hlTXNncywKLQkJCQkJCQkJCVhMb2dSZWdp c3RlckRhdGEoKGNoYXIgKikgbXNncywKKwkJCQkJCQkJCVhMb2dSZWdpc3RlckRhdGEobXNn cywKIAkJCQkJCQkJCQkJCQkgbiAqIHNpemVvZihTaGFyZWRJbnZhbGlkYXRpb25NZXNzYWdl KSkpOwogCQlYTG9nSW5zZXJ0KFJNX1hBQ1RfSUQsIFhMT0dfWEFDVF9JTlZBTElEQVRJT05T KTsKIAl9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9jYWNoZS9yZWxtYXBwZXIu YyBiL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL3JlbG1hcHBlci5jCmluZGV4IDMwZjk2OGNk OWNmLi5hYmY4OWYwNzc2ZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUv cmVsbWFwcGVyLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvcmVsbWFwcGVyLmMK QEAgLTk2OSw4ICs5NjksOCBAQCB3cml0ZV9yZWxtYXBfZmlsZShSZWxNYXBGaWxlICpuZXdt YXAsIGJvb2wgd3JpdGVfd2FsLCBib29sIHNlbmRfc2ludmFsLAogCQl4bHJlYy5uYnl0ZXMg PSBzaXplb2YoUmVsTWFwRmlsZSk7CiAKIAkJWExvZ0JlZ2luSW5zZXJ0KCk7Ci0JCVhMb2dS ZWdpc3RlckRhdGEoKGNoYXIgKikgKCZ4bHJlYyksIE1pblNpemVPZlJlbG1hcFVwZGF0ZSk7 Ci0JCVhMb2dSZWdpc3RlckRhdGEoKGNoYXIgKikgbmV3bWFwLCBzaXplb2YoUmVsTWFwRmls ZSkpOworCQlYTG9nUmVnaXN0ZXJEYXRhKCZ4bHJlYywgTWluU2l6ZU9mUmVsbWFwVXBkYXRl KTsKKwkJWExvZ1JlZ2lzdGVyRGF0YShuZXdtYXAsIHNpemVvZihSZWxNYXBGaWxlKSk7CiAK IAkJbHNuID0gWExvZ0luc2VydChSTV9SRUxNQVBfSUQsIFhMT0dfUkVMTUFQX1VQREFURSk7 CiAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jdXN0b21fcm1ncnMvdGVz dF9jdXN0b21fcm1ncnMuYyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jdXN0b21fcm1ncnMv dGVzdF9jdXN0b21fcm1ncnMuYwppbmRleCBiOTg5YTM1ZjgwMS4uMWE0MjRhZDU1YTggMTAw NjQ0Ci0tLSBhL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jdXN0b21fcm1ncnMvdGVzdF9jdXN0 b21fcm1ncnMuYworKysgYi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3VzdG9tX3JtZ3JzL3Rl c3RfY3VzdG9tX3JtZ3JzLmMKQEAgLTEyOCw4ICsxMjgsOCBAQCB0ZXN0X2N1c3RvbV9ybWdy c19pbnNlcnRfd2FsX3JlY29yZChQR19GVU5DVElPTl9BUkdTKQogCXhscmVjLm1lc3NhZ2Vf c2l6ZSA9IGxlbjsKIAogCVhMb2dCZWdpbkluc2VydCgpOwotCVhMb2dSZWdpc3RlckRhdGEo KGNoYXIgKikgJnhscmVjLCBTaXplT2ZUZXN0Q3VzdG9tUm1ncnNNZXNzYWdlKTsKLQlYTG9n UmVnaXN0ZXJEYXRhKChjaGFyICopIHBheWxvYWQsIGxlbik7CisJWExvZ1JlZ2lzdGVyRGF0 YSgmeGxyZWMsIFNpemVPZlRlc3RDdXN0b21SbWdyc01lc3NhZ2UpOworCVhMb2dSZWdpc3Rl ckRhdGEocGF5bG9hZCwgbGVuKTsKIAogCS8qIExldCdzIG1hcmsgdGhpcyByZWNvcmQgYXMg dW5pbXBvcnRhbnQsIGp1c3QgaW4gY2FzZS4gKi8KIAlYTG9nU2V0UmVjb3JkRmxhZ3MoWExP R19NQVJLX1VOSU1QT1JUQU5UKTsKLS0gCjIuNDguMQoK --------------I3oyUgo30pfczihe9dmbqaUa--