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 1qfXOl-00Bni7-PG for pgsql-bugs@arkaria.postgresql.org; Mon, 11 Sep 2023 03:15:40 +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 1qfXOk-00CtyU-Cf for pgsql-bugs@arkaria.postgresql.org; Mon, 11 Sep 2023 03:15:38 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qfXOj-00CtyD-S4 for pgsql-bugs@lists.postgresql.org; Mon, 11 Sep 2023 03:15:37 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by magus.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1qfXOb-004N4W-2L for pgsql-bugs@lists.postgresql.org; Mon, 11 Sep 2023 03:15:36 +0000 Received: from auth2-smtp.messagingengine.com (auth2-smtp.messagingengine.com [66.111.4.228]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: a.lepikhov@postgrespro.ru) by mail.postgrespro.ru (Postfix/587) with ESMTPSA id 095B1E20E67; Mon, 11 Sep 2023 06:15:26 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1694402127; bh=o6GYUnK+Rov3s/c9Qb18o1Pk2W//zAvt0GzZ1sFasns=; h=User-Agent:Message-Id:In-Reply-To:References:Date:From:To:Cc: Subject:From; b=cltPhAIIWRDRvc2bC2MuWc1kpngMh7iSH+gzmeh/CP4rSxodOdqRymyx30g5ZzIO4 4afrno2t8jSO9LE4Hs9XRvQDXoi3ul4zsFMlZx8TsdELqJC4tHhAhI4i93hnJnnz/A 0CPcJI9tBmFUR8HfqixgabgcTDgi5iuvO9bzR4ZIVjO5zYgf6H89Z/T7u0CqIV2XMs YrT3ZojMpSTBHwPtEBTIOWTWqC2tWAFTyfJEJVND519RqRu88zqE8jTZhi6z3/waTf gmo97Dyq53uSoAjBLxFIQb06Ae8gC9ozREb6e8nSp64ox1rG4eZVUJNhxb0+N0GxcL 5Hw+SW57vgB/g== Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailauth.nyi.internal (Postfix) with ESMTP id 1086127C0054; Sun, 10 Sep 2023 23:15:24 -0400 (EDT) Received: from imap53 ([10.202.2.103]) by compute1.internal (MEProxy); Sun, 10 Sep 2023 23:15:25 -0400 X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrudeifedgieekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtsehmtderreerredtnecuhfhrohhmpedfnfgv phhikhhhohhvucetnhgurhgvihdfuceorgdrlhgvphhikhhhohhvsehpohhsthhgrhgvsh hprhhordhruheqnecuggftrfgrthhtvghrnhepkeefgfekhefhtdegleekgffhveevgedt geekkeevjeeiveekueefffffteetiefhnecuffhomhgrihhnpehgihhthhhusgdrtghomh enucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehlvghp ihhkhhhovhdomhgvshhmthhprghuthhhphgvrhhsohhnrghlihhthidqudefleegheduje ehvddqfedttdeitdekfedvqdgrrdhlvghpihhkhhhovheppehpohhsthhgrhgvshhprhho rdhruhesfhgrshhtmhgrihhlrdgtohhm X-ME-Proxy: Feedback-ID: ie8b149e1:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 94D6488005E; Sun, 10 Sep 2023 23:15:24 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.9.0-alpha0-711-g440737448e-fm-20230828.001-g44073744 Mime-Version: 1.0 Message-Id: In-Reply-To: References: <18077-b9db97c6e0ab45d8@postgresql.org> <694541.1693600870@sss.pgh.pa.us> <1237514.1693879473@sss.pgh.pa.us> <3f7bcdb7-c263-4c06-a138-140f5c3898ed@app.fastmail.com> <3933834e-b657-4ad1-bf4e-5f3fbba7ba14@app.fastmail.com> Date: Mon, 11 Sep 2023 10:15:02 +0700 From: "Lepikhov Andrei" To: "Michael Paquier" Cc: "Richard Guo" , "Tom Lane" , fuboat@outlook.com, pgsql-bugs@lists.postgresql.org Subject: Re: BUG #18077: PostgreSQL server subprocess crashed by a SELECT statement with WITH clause Content-Type: multipart/mixed; boundary=9ddebaa8bea84744b3a867392be11726 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --9ddebaa8bea84744b3a867392be11726 Content-Type: text/plain On Thu, Sep 7, 2023, at 4:46 PM, Michael Paquier wrote: > On Thu, Sep 07, 2023 at 03:25:36PM +0700, Lepikhov Andrei wrote: >> I invented a dummy extension "pg_extension" [1], commit 4199a0c, >> which adds CustomScan over the first non-parameterized HashJoin at >> the pathlist. >> The example presented in my letter earlier causes the ERROR on >> CTE. Moreover, if you remove the word 'materialized', you will find >> the same error on Subquery. >> >> [1] https://github.com/danolivo/pg_extension/tree/main > > Digressing a bit here about this point.. In the long-term I think > that it would be a good idea to have a template module in > src/test/modules/ that shows how to use a CustomScan so as it is able > to demonstrate how this stuff works, and to check if it is works as > intended. With regression tests, of course. I agree. I often use it in different situations: for scan, join purposes, as a stat gathering tool and others. Having some templates in the code base would be comfortable. Also, We should remember to add some examples of extensible node usage ... In the attachment - rewritten code of the CustomScan node, as mentioned earlier, as a test module with one regression test. It shows both CTE and Subquery problems (they have different sources of error). Also, I have attached a patch that fixes the problem's symptoms - not the origins of the problem, just for demonstration. -- Regards, Andrei Lepikhov --9ddebaa8bea84744b3a867392be11726 Content-Disposition: attachment; filename*0="0001-CustomScan-node-as-a-test-module.patch" Content-Type: application/octet-stream; name="=?UTF-8?Q?0001-CustomScan-node-as-a-test-module.patch?=" Content-Transfer-Encoding: BASE64 RnJvbSAzZTI1NmM3MmM1ZDE4NzQzZDYxNThiZmVlZTUxYTJjYjJjNjdlOTVkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV5IFYuIExlcGlraG92IiA8YS5sZXBpa2hv dkBwb3N0Z3Jlc3Byby5ydT4KRGF0ZTogTW9uLCAxMSBTZXAgMjAyMyAxMDowMjowMyArMDcw MApTdWJqZWN0OiBbUEFUQ0hdIEN1c3RvbVNjYW4gbm9kZSBhcyBhIHRlc3QgbW9kdWxlCgot LS0KIHNyYy90ZXN0L21vZHVsZXMvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICB8ICAg MSArCiBzcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3VzdG9tX25vZGVzL01ha2VmaWxlICAgfCAg MTkgKysKIC4uLi90ZXN0X2N1c3RvbV9ub2Rlcy9leHBlY3RlZC9iYXNpYy5vdXQgICAgICB8 ICA2MiArKysrKwogLi4uL21vZHVsZXMvdGVzdF9jdXN0b21fbm9kZXMvc3FsL2Jhc2ljLnNx bCAgIHwgIDI1ICsrCiAuLi4vdGVzdF9jdXN0b21fbm9kZXMvdGVzdF9jdXN0b21fbm9kZXMu YyAgICAgfCAyMzcgKysrKysrKysrKysrKysrKysrCiAuLi4vdGVzdF9jdXN0b21fbm9kZXMu Y29udHJvbCAgICAgICAgICAgICAgICAgfCAgIDUgKwogNiBmaWxlcyBjaGFuZ2VkLCAzNDkg aW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L21vZHVsZXMvdGVz dF9jdXN0b21fbm9kZXMvTWFrZWZpbGUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9t b2R1bGVzL3Rlc3RfY3VzdG9tX25vZGVzL2V4cGVjdGVkL2Jhc2ljLm91dAogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyYy90ZXN0L21vZHVsZXMvdGVzdF9jdXN0b21fbm9kZXMvc3FsL2Jhc2lj LnNxbAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L21vZHVsZXMvdGVzdF9jdXN0b21f bm9kZXMvdGVzdF9jdXN0b21fbm9kZXMuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0 L21vZHVsZXMvdGVzdF9jdXN0b21fbm9kZXMvdGVzdF9jdXN0b21fbm9kZXMuY29udHJvbAoK ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvTWFrZWZpbGUgYi9zcmMvdGVzdC9tb2R1 bGVzL01ha2VmaWxlCmluZGV4IDYzMzFjOTc2ZGMuLmVjOWMxZWMwMGEgMTAwNjQ0Ci0tLSBh L3NyYy90ZXN0L21vZHVsZXMvTWFrZWZpbGUKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy9NYWtl ZmlsZQpAQCAtMTYsNiArMTYsNyBAQCBTVUJESVJTID0gXAogCQkgIHNwZ2lzdF9uYW1lX29w cyBcCiAJCSAgdGVzdF9ibG9vbWZpbHRlciBcCiAJCSAgdGVzdF9jb3B5X2NhbGxiYWNrcyBc CisJCSAgdGVzdF9jdXN0b21fbm9kZXMJXAogCQkgIHRlc3RfY3VzdG9tX3JtZ3JzIFwKIAkJ ICB0ZXN0X2RkbF9kZXBhcnNlIFwKIAkJICB0ZXN0X2V4dGVuc2lvbnMgXApkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2N1c3RvbV9ub2Rlcy9NYWtlZmlsZSBiL3NyYy90 ZXN0L21vZHVsZXMvdGVzdF9jdXN0b21fbm9kZXMvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMmU0MWJhZGViNAotLS0gL2Rldi9udWxsCisrKyBi L3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jdXN0b21fbm9kZXMvTWFrZWZpbGUKQEAgLTAsMCAr MSwxOSBAQAorIyBzcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3VzdG9tX25vZGVzL01ha2VmaWxl CisKK01PRFVMRVMgPSB0ZXN0X2N1c3RvbV9ub2RlcworCitFWFRFTlNJT04gPSB0ZXN0X2N1 c3RvbV9ub2RlcworUEdGSUxFREVTQyA9ICJ0ZXN0X2N1c3RvbV9ub2RlcyAtIGN1c3RvbSBu b2RlcyB1c2FnZSBleGFtcGxlcyIKKworUkVHUkVTUyA9IGJhc2ljCisKK2lmZGVmIFVTRV9Q R1hTCitQR19DT05GSUcgPSBwZ19jb25maWcKK1BHWFMgOj0gJChzaGVsbCAkKFBHX0NPTkZJ RykgLS1wZ3hzKQoraW5jbHVkZSAkKFBHWFMpCitlbHNlCitzdWJkaXIgPSBzcmMvdGVzdC9t b2R1bGVzL3Rlc3RfY3VzdG9tX25vZGVzCit0b3BfYnVpbGRkaXIgPSAuLi8uLi8uLi8uLgor aW5jbHVkZSAkKHRvcF9idWlsZGRpcikvc3JjL01ha2VmaWxlLmdsb2JhbAoraW5jbHVkZSAk KHRvcF9zcmNkaXIpL2NvbnRyaWIvY29udHJpYi1nbG9iYWwubWsKK2VuZGlmCmRpZmYgLS1n aXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3VzdG9tX25vZGVzL2V4cGVjdGVkL2Jhc2lj Lm91dCBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jdXN0b21fbm9kZXMvZXhwZWN0ZWQvYmFz aWMub3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjE5MGE3ZDY3 MDQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3VzdG9tX25v ZGVzL2V4cGVjdGVkL2Jhc2ljLm91dApAQCAtMCwwICsxLDYyIEBACistLQorLS0gQ29weXJp Z2h0IChjKSAyMDIzLCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorLS0K Ky0tIFNldCBvZiBiYXNpYyByZWdyZXNzaW9uIHRlc3RzIG9uIEN1c3RvbSBub2RlCistLQor TE9BRCAndGVzdF9jdXN0b21fbm9kZXMnOworLS0gQ1RFIGlzc3VlCitjcmVhdGUgdmlldyB0 dDI0diBhcword2l0aCBjdGUgYXMgbWF0ZXJpYWxpemVkIChzZWxlY3QgciBmcm9tICh2YWx1 ZXMoMSwyKSwoMyw0KSkgcikKK3NlbGVjdCAocikuY29sdW1uMiBhcyBjb2xfYSwgKHJyKS5j b2x1bW4yIGFzIGNvbF9iIGZyb20KKyAgY3RlIGpvaW4gKHNlbGVjdCByciBmcm9tICh2YWx1 ZXMoMSw3KSwoMyw4KSkgcnIgbGltaXQgMikgc3MKKyAgb24gKHIpLmNvbHVtbjEgPSAocnIp LmNvbHVtbjE7CitleHBsYWluICh2ZXJib3NlLCBjb3N0cyBvZmYpIHNlbGVjdCAqIGZyb20g dHQyNHY7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UVVFUlkgUExBTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor IFJlc3VsdAorICAgT3V0cHV0OiAoY3RlLnIpLmNvbHVtbjIsIChzcy5ycikuY29sdW1uMgor ICAgQ1RFIGN0ZQorICAgICAtPiAgVmFsdWVzIFNjYW4gb24gIipWQUxVRVMqXzEiCisgICAg ICAgICAgIE91dHB1dDogUk9XKCIqVkFMVUVTKl8xIi5jb2x1bW4xLCAiKlZBTFVFUypfMSIu Y29sdW1uMikKKyAgIC0+ICBDdXN0b20gU2NhbiAoQ3VzdG9tTWF0ZXJpYWxpemVPdmVySGFz aEpvaW4pCisgICAgICAgICBPdXRwdXQ6IGN0ZS5yLCBzcy5ycgorICAgICAgICAgLT4gIEhh c2ggSm9pbgorICAgICAgICAgICAgICAgT3V0cHV0OiBjdGUuciwgKFJPVygiKlZBTFVFUyoi LmNvbHVtbjEsICIqVkFMVUVTKiIuY29sdW1uMikpCisgICAgICAgICAgICAgICBIYXNoIENv bmQ6ICgoY3RlLnIpLmNvbHVtbjEgPSAoKFJPVygiKlZBTFVFUyoiLmNvbHVtbjEsICIqVkFM VUVTKiIuY29sdW1uMikpKS5jb2x1bW4xKQorICAgICAgICAgICAgICAgLT4gIENURSBTY2Fu IG9uIGN0ZQorICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBjdGUucgorICAgICAgICAg ICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogKFJPVygiKlZB TFVFUyoiLmNvbHVtbjEsICIqVkFMVUVTKiIuY29sdW1uMikpCisgICAgICAgICAgICAgICAg ICAgICAtPiAgTGltaXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogKFJP VygiKlZBTFVFUyoiLmNvbHVtbjEsICIqVkFMVUVTKiIuY29sdW1uMikpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAtPiAgVmFsdWVzIFNjYW4gb24gIipWQUxVRVMqIgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBST1coIipWQUxVRVMqIi5jb2x1 bW4xLCAiKlZBTFVFUyoiLmNvbHVtbjIpCisoMTggcm93cykKKworRFJPUCBWSUVXIElGIEVY SVNUUyB0dDI0diBDQVNDQURFOworLS0gU3VicXVlcnkgaXNzdWUKK2NyZWF0ZSB2aWV3IHR0 MjR2IGFzCit3aXRoIGN0ZSBhcyAoc2VsZWN0IHIgZnJvbSAodmFsdWVzKDEsMiksKDMsNCkp IHIpCitzZWxlY3QgKHIpLmNvbHVtbjIgYXMgY29sX2EsIChycikuY29sdW1uMiBhcyBjb2xf YiBmcm9tCisgIGN0ZSBqb2luIChzZWxlY3QgcnIgZnJvbSAodmFsdWVzKDEsNyksKDMsOCkp IHJyIGxpbWl0IDIpIHNzCisgIG9uIChyKS5jb2x1bW4xID0gKHJyKS5jb2x1bW4xOworZXhw bGFpbiAodmVyYm9zZSwgY29zdHMgb2ZmKSBzZWxlY3QgKiBmcm9tIHR0MjR2OworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor IFJlc3VsdAorICAgT3V0cHV0OiAiKlZBTFVFUyoiLmNvbHVtbjIsIChzcy5ycikuY29sdW1u MgorICAgLT4gIEN1c3RvbSBTY2FuIChDdXN0b21NYXRlcmlhbGl6ZU92ZXJIYXNoSm9pbikK KyAgICAgICAgIE91dHB1dDogIipWQUxVRVMqIi5jb2x1bW4yLCBzcy5ycgorICAgICAgICAg LT4gIEhhc2ggSm9pbgorICAgICAgICAgICAgICAgT3V0cHV0OiAiKlZBTFVFUyoiLmNvbHVt bjIsIChST1coIipWQUxVRVMqXzEiLmNvbHVtbjEsICIqVkFMVUVTKl8xIi5jb2x1bW4yKSkK KyAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCIqVkFMVUVTKiIuY29sdW1uMSA9ICgoUk9X KCIqVkFMVUVTKl8xIi5jb2x1bW4xLCAiKlZBTFVFUypfMSIuY29sdW1uMikpKS5jb2x1bW4x KQorICAgICAgICAgICAgICAgLT4gIFZhbHVlcyBTY2FuIG9uICIqVkFMVUVTKiIKKyAgICAg ICAgICAgICAgICAgICAgIE91dHB1dDogIipWQUxVRVMqIi5jb2x1bW4xLCAiKlZBTFVFUyoi LmNvbHVtbjIKKyAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAg ICBPdXRwdXQ6IChST1coIipWQUxVRVMqXzEiLmNvbHVtbjEsICIqVkFMVUVTKl8xIi5jb2x1 bW4yKSkKKyAgICAgICAgICAgICAgICAgICAgIC0+ICBMaW1pdAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgT3V0cHV0OiAoUk9XKCIqVkFMVUVTKl8xIi5jb2x1bW4xLCAiKlZBTFVF UypfMSIuY29sdW1uMikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgVmFsdWVz IFNjYW4gb24gIipWQUxVRVMqXzEiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPdXRwdXQ6IFJPVygiKlZBTFVFUypfMSIuY29sdW1uMSwgIipWQUxVRVMqXzEiLmNvbHVt bjIpCisoMTUgcm93cykKKwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2N1 c3RvbV9ub2Rlcy9zcWwvYmFzaWMuc3FsIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2N1c3Rv bV9ub2Rlcy9zcWwvYmFzaWMuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAuLjAyNGM1ZjA0MjAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9tb2R1bGVz L3Rlc3RfY3VzdG9tX25vZGVzL3NxbC9iYXNpYy5zcWwKQEAgLTAsMCArMSwyNSBAQAorLS0K Ky0tIENvcHlyaWdodCAoYykgMjAyMywgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQg R3JvdXAKKy0tCistLSBTZXQgb2YgYmFzaWMgcmVncmVzc2lvbiB0ZXN0cyBvbiBDdXN0b20g bm9kZQorLS0KKworTE9BRCAndGVzdF9jdXN0b21fbm9kZXMnOworCistLSBDVEUgaXNzdWUK K2NyZWF0ZSB2aWV3IHR0MjR2IGFzCit3aXRoIGN0ZSBhcyBtYXRlcmlhbGl6ZWQgKHNlbGVj dCByIGZyb20gKHZhbHVlcygxLDIpLCgzLDQpKSByKQorc2VsZWN0IChyKS5jb2x1bW4yIGFz IGNvbF9hLCAocnIpLmNvbHVtbjIgYXMgY29sX2IgZnJvbQorICBjdGUgam9pbiAoc2VsZWN0 IHJyIGZyb20gKHZhbHVlcygxLDcpLCgzLDgpKSByciBsaW1pdCAyKSBzcworICBvbiAociku Y29sdW1uMSA9IChycikuY29sdW1uMTsKK2V4cGxhaW4gKHZlcmJvc2UsIGNvc3RzIG9mZikg c2VsZWN0ICogZnJvbSB0dDI0djsKKworRFJPUCBWSUVXIElGIEVYSVNUUyB0dDI0diBDQVND QURFOworCistLSBTdWJxdWVyeSBpc3N1ZQorY3JlYXRlIHZpZXcgdHQyNHYgYXMKK3dpdGgg Y3RlIGFzIChzZWxlY3QgciBmcm9tICh2YWx1ZXMoMSwyKSwoMyw0KSkgcikKK3NlbGVjdCAo cikuY29sdW1uMiBhcyBjb2xfYSwgKHJyKS5jb2x1bW4yIGFzIGNvbF9iIGZyb20KKyAgY3Rl IGpvaW4gKHNlbGVjdCByciBmcm9tICh2YWx1ZXMoMSw3KSwoMyw4KSkgcnIgbGltaXQgMikg c3MKKyAgb24gKHIpLmNvbHVtbjEgPSAocnIpLmNvbHVtbjE7CitleHBsYWluICh2ZXJib3Nl LCBjb3N0cyBvZmYpIHNlbGVjdCAqIGZyb20gdHQyNHY7CmRpZmYgLS1naXQgYS9zcmMvdGVz dC9tb2R1bGVzL3Rlc3RfY3VzdG9tX25vZGVzL3Rlc3RfY3VzdG9tX25vZGVzLmMgYi9zcmMv dGVzdC9tb2R1bGVzL3Rlc3RfY3VzdG9tX25vZGVzL3Rlc3RfY3VzdG9tX25vZGVzLmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNjgxNDZkMjAzMAotLS0gL2Rl di9udWxsCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jdXN0b21fbm9kZXMvdGVzdF9j dXN0b21fbm9kZXMuYwpAQCAtMCwwICsxLDIzNyBAQAorLyogLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorICoKKyAqIGN1c3RvbV9zY2FuLmMKKyAqCQlTYW1wbGUgY3VzdG9tIHNjYW4gY29kZSB0 aGF0IGRlbW9uc3RyYXRlcyB2YXJpb3VzIGNvZGluZyAuLi4KKyAqCisgKiBDb3B5cmlnaHQg KGMpIDIwMTMtMjAyMywgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQgR3JvdXAKKyAq CisgKiBJREVOVElGSUNBVElPTgorICoJCXNyYy90ZXN0L21vZHVsZXMvd29ya2VyX3NwaS9j dXN0b21fc2Nhbi5jCisgKgorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisjaW5jbHVk ZSAicG9zdGdyZXMuaCIKKworI2luY2x1ZGUgImV4ZWN1dG9yL2V4ZWN1dG9yLmgiCisjaW5j bHVkZSAibm9kZXMvZXh0ZW5zaWJsZS5oIgorI2luY2x1ZGUgIm9wdGltaXplci9wYXRobm9k ZS5oIgorI2luY2x1ZGUgIm9wdGltaXplci9wYXRocy5oIgorCitQR19NT0RVTEVfTUFHSUM7 CisKKyNkZWZpbmUgQ1VTVE9NX05PREVfTkFNRSAiQ3VzdG9tTWF0ZXJpYWxpemVPdmVySGFz aEpvaW4iCisKK3N0YXRpYyBQbGFuICpDcmVhdGVDTlBsYW4oUGxhbm5lckluZm8gKnJvb3Qs IFJlbE9wdEluZm8gKnJlbCwKKwkJCQkJCQlDdXN0b21QYXRoICpiZXN0X3BhdGgsIExpc3Qg KnRsaXN0LAorCQkJCQkJCUxpc3QgKnNjYW5fY2xhdXNlcywgTGlzdCAqY3VzdG9tX3BsYW5z KTsKK3N0YXRpYyBOb2RlICpDcmVhdGVDTlNjYW5TdGF0ZShDdXN0b21TY2FuICpjc2Nhbik7 CisKKy8qIEV4ZWMgbWV0aG9kcyAqLworc3RhdGljIHZvaWQgQmVnaW5DTlNjYW4oQ3VzdG9t U2NhblN0YXRlICpub2RlLCBFU3RhdGUgKmVzdGF0ZSwgaW50IGVmbGFncyk7CitzdGF0aWMg VHVwbGVUYWJsZVNsb3QgKkV4ZWNDTlNjYW4oQ3VzdG9tU2NhblN0YXRlICpub2RlKTsKK3N0 YXRpYyB2b2lkIEVuZENOU2NhbihDdXN0b21TY2FuU3RhdGUgKm5vZGUpOworc3RhdGljIHZv aWQgUmVTY2FuQ05TY2FuKEN1c3RvbVNjYW5TdGF0ZSAqbm9kZSk7CisKK3N0YXRpYyBDdXN0 b21QYXRoTWV0aG9kcyBwYXRoX21ldGhvZHMgPQoreworCS5DdXN0b21OYW1lID0gQ1VTVE9N X05PREVfTkFNRSwKKwkuUGxhbkN1c3RvbVBhdGggPSBDcmVhdGVDTlBsYW4sCisJLlJlcGFy YW1ldGVyaXplQ3VzdG9tUGF0aEJ5Q2hpbGQgPSBOVUxMCit9Oworc3RhdGljIEN1c3RvbVNj YW5NZXRob2RzIHBsYW5fbWV0aG9kcyA9Cit7CisJLkN1c3RvbU5hbWUgPSBDVVNUT01fTk9E RV9OQU1FLAorCS5DcmVhdGVDdXN0b21TY2FuU3RhdGUgPSBDcmVhdGVDTlNjYW5TdGF0ZQor fTsKK3N0YXRpYyBDdXN0b21FeGVjTWV0aG9kcyBleGVjX21ldGhvZHMgPQoreworCS5DdXN0 b21OYW1lID0gQ1VTVE9NX05PREVfTkFNRSwKKworCS8qIFJlcXVpcmVkIGV4ZWN1dG9yIG1l dGhvZHMgKi8KKwkuQmVnaW5DdXN0b21TY2FuID0gQmVnaW5DTlNjYW4sCisJLkV4ZWNDdXN0 b21TY2FuID0gRXhlY0NOU2NhbiwKKwkuRW5kQ3VzdG9tU2NhbiA9IEVuZENOU2NhbiwKKwku UmVTY2FuQ3VzdG9tU2NhbiA9IFJlU2NhbkNOU2NhbiwKKworCS8qIE9wdGlvbmFsIG1ldGhv ZHM6IG5lZWRlZCBpZiBtYXJrL3Jlc3RvcmUgaXMgc3VwcG9ydGVkICovCisJLk1hcmtQb3ND dXN0b21TY2FuID0gTlVMTCwKKwkuUmVzdHJQb3NDdXN0b21TY2FuID0gTlVMTCwKKworCS8q IE9wdGlvbmFsIG1ldGhvZHM6IG5lZWRlZCBpZiBwYXJhbGxlbCBleGVjdXRpb24gaXMgc3Vw cG9ydGVkICovCisJLkVzdGltYXRlRFNNQ3VzdG9tU2NhbiA9IE5VTEwsCisJLkluaXRpYWxp emVEU01DdXN0b21TY2FuID0gTlVMTCwKKwkuUmVJbml0aWFsaXplRFNNQ3VzdG9tU2NhbiA9 IE5VTEwsCisJLkluaXRpYWxpemVXb3JrZXJDdXN0b21TY2FuID0gTlVMTCwKKwkuU2h1dGRv d25DdXN0b21TY2FuID0gTlVMTCwKKwkuRXhwbGFpbkN1c3RvbVNjYW4gPSBOVUxMCit9Owor CitzdGF0aWMgc2V0X2pvaW5fcGF0aGxpc3RfaG9va190eXBlIHByZXZfc2V0X2pvaW5fcGF0 aGxpc3RfaG9vayA9IE5VTEw7CisKKwordm9pZCBfUEdfaW5pdCh2b2lkKTsKK3N0YXRpYyB2 b2lkIGN1c3RvbV9ob29rKFBsYW5uZXJJbmZvICpyb290LCBSZWxPcHRJbmZvICpqb2lucmVs LAorCQkJCQkJCSBSZWxPcHRJbmZvICpvdXRlcnJlbCwgUmVsT3B0SW5mbyAqaW5uZXJyZWws CisJCQkJCQkJIEpvaW5UeXBlIGpvaW50eXBlLCBKb2luUGF0aEV4dHJhRGF0YSAqZXh0cmEp OworCisKK3ZvaWQKK19QR19pbml0KHZvaWQpCit7CisJcHJldl9zZXRfam9pbl9wYXRobGlz dF9ob29rID0gc2V0X2pvaW5fcGF0aGxpc3RfaG9vazsKKwlzZXRfam9pbl9wYXRobGlzdF9o b29rID0gY3VzdG9tX2hvb2s7Cit9CisKK3N0YXRpYyB2b2lkCitjdXN0b21faG9vayhQbGFu bmVySW5mbyAqcm9vdCwgUmVsT3B0SW5mbyAqam9pbnJlbCwgUmVsT3B0SW5mbyAqb3V0ZXJy ZWwsCisJCQlSZWxPcHRJbmZvICppbm5lcnJlbCwgSm9pblR5cGUgam9pbnR5cGUsCisJCQlK b2luUGF0aEV4dHJhRGF0YSAqZXh0cmEpCit7CisJQ3VzdG9tUGF0aCAqY3BhdGg7CisJUGF0 aAkgICAqcGF0aG5vZGU7CisJUGF0aAkgICAqc3JjX3BhdGggPSBOVUxMOworCUxpc3RDZWxs ICAgKmxjOworCisJLyoKKwkgKiBTb21lIGV4dGVuc2lvbiBpbnRlcmNlcHQgdGhpcyBob29r IGVhcmxpZXIuIEFsbG93IGl0IHRvIGRvIGEgd29yaworCSAqIGJlZm9yZSB1cy4KKwkgKi8K KwlpZiAocHJldl9zZXRfam9pbl9wYXRobGlzdF9ob29rKQorCQkoKnByZXZfc2V0X2pvaW5f cGF0aGxpc3RfaG9vaykocm9vdCwgam9pbnJlbCwgb3V0ZXJyZWwsIGlubmVycmVsLAorCQkJ CQkJCQkJICAgam9pbnR5cGUsIGV4dHJhKTsKKworCWlmIChqb2ludHlwZSAhPSBKT0lOX0lO TkVSIHx8IGlzX2R1bW15X3JlbChqb2lucmVsKSkKKwkJcmV0dXJuOworCisJLyoKKwkgKiBY WFg6IHJlYWQgdXAgb24gdGhlIFJPV0lEX1ZBUiBlbnRpdHkgYW5kIHdoYXQgaXMgdGhlIHJl YXNvbiB0byBzdXBwcmVzcworCSAqIHRoaXMgY2FzZS4KKwkgKi8KKwlmb3JlYWNoKGxjLCBq b2lucmVsLT5yZWx0YXJnZXQtPmV4cHJzKQorCXsKKwkJRXhwciAqZXhwciA9IGxmaXJzdChs Yyk7CisKKwkJaWYgKElzQShleHByLCBWYXIpICYmICgoVmFyICopZXhwciktPnZhcm5vID09 IFJPV0lEX1ZBUikKKwkJCXJldHVybjsKKwl9CisKKwlmb3JlYWNoIChsYywgam9pbnJlbC0+ cGF0aGxpc3QpCisJeworCQlQYXRoICpwID0gKFBhdGggKikgbGZpcnN0KGxjKTsKKworCQlp ZiAoIUlzQShwLCBIYXNoUGF0aCkgfHwgcC0+cGFyYW1faW5mbyAhPSBOVUxMKQorCQkJY29u dGludWU7CisJCXNyY19wYXRoID0gcDsKKwkJYnJlYWs7CisJfQorCisJaWYgKCFzcmNfcGF0 aCkKKwkJcmV0dXJuOworCisJY3BhdGggPSBtYWtlTm9kZShDdXN0b21QYXRoKTsKKwljcGF0 aC0+cGF0aC50eXBlID0gVF9DdXN0b21QYXRoOworCXBhdGhub2RlID0gJmNwYXRoLT5wYXRo OworCXBhdGhub2RlLT5wYXRodHlwZSA9IFRfQ3VzdG9tU2NhbjsKKwlwYXRobm9kZS0+cGFy ZW50ID0gam9pbnJlbDsKKwlwYXRobm9kZS0+cGF0aHRhcmdldCA9IGpvaW5yZWwtPnJlbHRh cmdldDsKKwlwYXRobm9kZS0+cGFyYW1faW5mbyA9IE5VTEw7CisJcGF0aG5vZGUtPnBhcmFs bGVsX2F3YXJlID0gZmFsc2U7CisJcGF0aG5vZGUtPnBhcmFsbGVsX3NhZmUgPSBmYWxzZTsK KwlwYXRobm9kZS0+cGFyYWxsZWxfd29ya2VycyA9IDA7CisJcGF0aG5vZGUtPnBhdGhrZXlz ID0gTklMOworCisJcGF0aG5vZGUtPnJvd3MgPSBqb2lucmVsLT5yb3dzOworCXBhdGhub2Rl LT5zdGFydHVwX2Nvc3QgPSBzcmNfcGF0aC0+c3RhcnR1cF9jb3N0OworCXBhdGhub2RlLT50 b3RhbF9jb3N0ID0gc3JjX3BhdGgtPnRvdGFsX2Nvc3Q7CisKKwljcGF0aC0+bWV0aG9kcyA9 ICZwYXRoX21ldGhvZHM7CisJY3BhdGgtPmN1c3RvbV9wYXRocyA9IGxpc3RfbWFrZTEoKHZv aWQgKikgc3JjX3BhdGgpOworCWNwYXRoLT5jdXN0b21fcHJpdmF0ZSA9IE5JTDsKKworCWpv aW5yZWwtPnBhdGhsaXN0ID0gbGlzdF9kZWxldGVfcHRyKGpvaW5yZWwtPnBhdGhsaXN0LCBz cmNfcGF0aCk7CisJYWRkX3BhdGgoam9pbnJlbCwgKFBhdGggKikgY3BhdGgpOworfQorCitz dGF0aWMgUGxhbiAqCitDcmVhdGVDTlBsYW4oUGxhbm5lckluZm8gKnJvb3QsIFJlbE9wdElu Zm8gKnJlbCwgQ3VzdG9tUGF0aCAqYmVzdF9wYXRoLAorCQkJICAgTGlzdCAqdGxpc3QsTGlz dCAqc2Nhbl9jbGF1c2VzLCBMaXN0ICpjdXN0b21fcGxhbnMpCit7CisJQ3VzdG9tU2NhbiAq Y3NjYW47CisKKwljc2NhbiA9IG1ha2VOb2RlKEN1c3RvbVNjYW4pOworCWNzY2FuLT5zY2Fu LnBsYW4udGFyZ2V0bGlzdCA9IGNzY2FuLT5jdXN0b21fc2Nhbl90bGlzdCA9IHRsaXN0Owor CWNzY2FuLT5zY2FuLnNjYW5yZWxpZCA9IDA7CisJY3NjYW4tPmN1c3RvbV9leHBycyA9IE5J TDsKKwljc2Nhbi0+Y3VzdG9tX3BsYW5zID0gY3VzdG9tX3BsYW5zOworCWNzY2FuLT5tZXRo b2RzID0gJnBsYW5fbWV0aG9kczsKKwljc2Nhbi0+ZmxhZ3MgPSBiZXN0X3BhdGgtPmZsYWdz OworCWNzY2FuLT5jdXN0b21fcHJpdmF0ZSA9IGJlc3RfcGF0aC0+Y3VzdG9tX3ByaXZhdGU7 CisKKwlyZXR1cm4gJmNzY2FuLT5zY2FuLnBsYW47Cit9CisKK3N0YXRpYyBOb2RlICoKK0Ny ZWF0ZUNOU2NhblN0YXRlKEN1c3RvbVNjYW4gKmNzY2FuKQoreworCUN1c3RvbVNjYW5TdGF0 ZQkgICAqY3N0YXRlID0gbWFrZU5vZGUoQ3VzdG9tU2NhblN0YXRlKTsKKworCWNzdGF0ZS0+ bWV0aG9kcyA9ICZleGVjX21ldGhvZHM7CisKKwlyZXR1cm4gKE5vZGUgKikgY3N0YXRlOwor fQorCitzdGF0aWMgdm9pZAorQmVnaW5DTlNjYW4oQ3VzdG9tU2NhblN0YXRlICpub2RlLCBF U3RhdGUgKmVzdGF0ZSwgaW50IGVmbGFncykKK3sKKwlDdXN0b21TY2FuCQkgICAqY3NjYW4g PSAoQ3VzdG9tU2NhbiAqKSBub2RlLT5zcy5wcy5wbGFuOworCUxpc3RDZWxsCQkgICAqbGM7 CisKKwlmb3JlYWNoIChsYywgY3NjYW4tPmN1c3RvbV9wbGFucykKKwl7CisJCVBsYW4JICAg KmNoaWxkID0gKFBsYW4gKikgbGZpcnN0KGxjKTsKKwkJUGxhblN0YXRlICAqY2hpbGRfc3Rh dGU7CisKKwkJY2hpbGRfc3RhdGUgPSBFeGVjSW5pdE5vZGUoY2hpbGQsIGVzdGF0ZSwgZWZs YWdzKTsKKwkJbm9kZS0+Y3VzdG9tX3BzID0gbGFwcGVuZChub2RlLT5jdXN0b21fcHMsICh2 b2lkICopIGNoaWxkX3N0YXRlKTsKKwl9Cit9CisKK3N0YXRpYyBUdXBsZVRhYmxlU2xvdCAq CitFeGVjQ05TY2FuKEN1c3RvbVNjYW5TdGF0ZSAqbm9kZSkKK3sKKwlyZXR1cm4gRXhlY1By b2NOb2RlKChQbGFuU3RhdGUgKikgbGlzdF9udGgobm9kZS0+Y3VzdG9tX3BzLCAwKSk7Cit9 CisKK3N0YXRpYyB2b2lkCitFbmRDTlNjYW4oQ3VzdG9tU2NhblN0YXRlICpub2RlKQorewor CUxpc3RDZWxsCQkgICAqbGM7CisKKwlFeGVjQ2xlYXJUdXBsZShub2RlLT5zcy5zc19TY2Fu VHVwbGVTbG90KTsKKwlmb3JlYWNoIChsYywgbm9kZS0+Y3VzdG9tX3BzKQorCXsKKwkJRXhl Y0VuZE5vZGUoKFBsYW5TdGF0ZSAqKSBsZmlyc3QobGMpKTsKKwl9Cit9CisKK3N0YXRpYyB2 b2lkCitSZVNjYW5DTlNjYW4oQ3VzdG9tU2NhblN0YXRlICpub2RlKQoreworCUxpc3RDZWxs CQkgICAqbGM7CisKKwlFeGVjQ2xlYXJUdXBsZShub2RlLT5zcy5wcy5wc19SZXN1bHRUdXBs ZVNsb3QpOworCisJZm9yZWFjaCAobGMsIG5vZGUtPmN1c3RvbV9wcykKKwl7CisJCVBsYW5T dGF0ZSAqY2hpbGQgPSAoUGxhblN0YXRlICopIGxmaXJzdChsYyk7CisKKwkJLyoKKwkJICog RXhlY1JlU2NhbiBkb2Vzbid0IGtub3cgYWJvdXQgbXkgc3VicGxhbnMsIHNvIEkgaGF2ZSB0 byBkbworCQkgKiBjaGFuZ2VkLXBhcmFtZXRlciBzaWduYWxpbmcgbXlzZWxmLgorCQkgKi8K KwkJaWYgKG5vZGUtPnNzLnBzLmNoZ1BhcmFtICE9IE5VTEwpCisJCQlVcGRhdGVDaGFuZ2Vk UGFyYW1TZXQoY2hpbGQsIG5vZGUtPnNzLnBzLmNoZ1BhcmFtKTsKKworCQlFeGVjUmVTY2Fu KGNoaWxkKTsKKwl9Cit9CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3Vz dG9tX25vZGVzL3Rlc3RfY3VzdG9tX25vZGVzLmNvbnRyb2wgYi9zcmMvdGVzdC9tb2R1bGVz L3Rlc3RfY3VzdG9tX25vZGVzL3Rlc3RfY3VzdG9tX25vZGVzLmNvbnRyb2wKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNjlkNjk5N2RkOQotLS0gL2Rldi9udWxs CisrKyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jdXN0b21fbm9kZXMvdGVzdF9jdXN0b21f bm9kZXMuY29udHJvbApAQCAtMCwwICsxLDUgQEAKKyMgdGVzdF9jdXN0b21fbm9kZXMKK2Nv bW1lbnQgPSAnU2FtcGxlIGN1c3RvbSBub2RlcycKK2RlZmF1bHRfdmVyc2lvbiA9ICcxLjAn Cittb2R1bGVfcGF0aG5hbWUgPSAnJGxpYmRpci90ZXN0X2N1c3RvbV9ub2RlcycKK3JlbG9j YXRhYmxlID0gdHJ1ZQotLSAKMi40Mi4wCgo= --9ddebaa8bea84744b3a867392be11726 Content-Disposition: attachment; filename="quickfix.diff" Content-Type: application/octet-stream; name="quickfix.diff" Content-Transfer-Encoding: BASE64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3NldHJlZnMuYyBiL3Ny Yy9iYWNrZW5kL29wdGltaXplci9wbGFuL3NldHJlZnMuYwppbmRleCA5N2ZhNTYxZTRlLi45 ZGVlYjdkMzM3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9zZXRy ZWZzLmMKKysrIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vc2V0cmVmcy5jCkBAIC01 NDcsNyArNTQ3LDcgQEAgYWRkX3J0ZV90b19mbGF0X3J0YWJsZShQbGFubmVyR2xvYmFsICpn bG9iLCBMaXN0ICpydGVwZXJtaW5mb3MsCiAKIAkvKiB6YXAgdW5uZWVkZWQgc3ViLXN0cnVj dHVyZSAqLwogCW5ld3J0ZS0+dGFibGVzYW1wbGUgPSBOVUxMOwotCW5ld3J0ZS0+c3VicXVl cnkgPSBOVUxMOworLy8JbmV3cnRlLT5zdWJxdWVyeSA9IE5VTEw7CiAJbmV3cnRlLT5qb2lu YWxpYXN2YXJzID0gTklMOwogCW5ld3J0ZS0+am9pbmxlZnRjb2xzID0gTklMOwogCW5ld3J0 ZS0+am9pbnJpZ2h0Y29scyA9IE5JTDsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxz L2FkdC9ydWxldXRpbHMuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9ydWxldXRpbHMuYwpp bmRleCA5N2IwZWYyMmFjLi44MmQzM2ZlNTk1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91 dGlscy9hZHQvcnVsZXV0aWxzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3J1bGV1 dGlscy5jCkBAIC01MDA0LDYgKzUwMDQsOCBAQCBzZXRfZGVwYXJzZV9wbGFuKGRlcGFyc2Vf bmFtZXNwYWNlICpkcG5zLCBQbGFuICpwbGFuKQogCWVsc2UgaWYgKElzQShwbGFuLCBXb3Jr VGFibGVTY2FuKSkKIAkJZHBucy0+aW5uZXJfcGxhbiA9IGZpbmRfcmVjdXJzaXZlX3VuaW9u KGRwbnMsCiAJCQkJCQkJCQkJCQkoV29ya1RhYmxlU2NhbiAqKSBwbGFuKTsKKwllbHNlIGlm IChJc0EocGxhbiwgQ3VzdG9tU2NhbikgJiYgZHBucy0+c3VicGxhbnMgIT0gTlVMTCkKKwkJ ZHBucy0+aW5uZXJfcGxhbiA9IChQbGFuICopIGxpbml0aWFsKGRwbnMtPnN1YnBsYW5zKTsK IAllbHNlIGlmIChJc0EocGxhbiwgTW9kaWZ5VGFibGUpKQogCQlkcG5zLT5pbm5lcl9wbGFu ID0gcGxhbjsKIAllbHNlCg== --9ddebaa8bea84744b3a867392be11726--