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.96) (envelope-from ) id 1vVClG-00Ftj2-22 for pgsql-hackers@arkaria.postgresql.org; Mon, 15 Dec 2025 17:53:31 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vVCkG-001d0u-1F for pgsql-hackers@arkaria.postgresql.org; Mon, 15 Dec 2025 17:52:29 +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.96) (envelope-from ) id 1vVCkF-001d0l-2C for pgsql-hackers@lists.postgresql.org; Mon, 15 Dec 2025 17:52:28 +0000 Received: from fhigh-b2-smtp.messagingengine.com ([202.12.124.153]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vVCkC-000tpJ-2z for pgsql-hackers@postgresql.org; Mon, 15 Dec 2025 17:52:28 +0000 Received: from phl-compute-06.internal (phl-compute-06.internal [10.202.2.46]) by mailfhigh.stl.internal (Postfix) with ESMTP id 4AA207A0145; Mon, 15 Dec 2025 12:52:22 -0500 (EST) Received: from phl-imap-05 ([10.202.2.95]) by phl-compute-06.internal (MEProxy); Mon, 15 Dec 2025 12:52:22 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eulerto.com; h= cc:cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm2; t=1765821141; x=1765907541; bh=Wo8MT82N1E 5JPQO1CYFc4ZwrWCDRjnf07I9MJggIPJA=; b=VFL3wjSD0Wkdf3mkFere+bK/H9 FaKFcgmZ0NQTpmbMm9zx4h6IRsD+oL9ViERAwBB3evBGSuxCY+T3Q+ct69L4MkgQ bkIis7+V1vNx09mvdEQHoPz64+mV5ic5grOUaFP38DRpFbii8xuvURKUcCDVfT0Q uAnqejijHyzKw6+nXNdM8PhmVza9S78lH0DgbbWpp9uv3EGWEFJ9ZFarjW3ij64p W3Q4+XizQ2a615UEHYWHudYt/yDtNc9ZIyajtrNDE0zzPdMHTvoORqIdeBMtDuiP ccgXG+BcTq4sKchZGpPRVwaOKPQKj1JuWJLnVO84NoSQBD4vleTfk400Ycwg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1765821141; x=1765907541; bh=Wo8MT82N1E5JPQO1CYFc4ZwrWCDRjnf07I9 MJggIPJA=; b=Cu6LjM7oFWeQUhOXF1uttkk1R0T1GlKNg+zTuFUQEFEmFTxKaCO 9g/nPgangH3ZfP/pdzeVCC/YhIK+FWMBL+sZkpA7lQfCmkHcJvFaSpmk2YZNhnd6 MWccIaTZo6qzeYTHrjFhhd4cfEbxo94ey6oGLPbd7Obw2++a0m7JIzfsbeAFu6pZ XRf5MpxXwVf32zAsaygbyrO4hQ2WoLhEeJtIncAV/MJ8ZgUonD214Lo8ctvHAnEK iVi2Sbhx2NiPkCZKYxM9KuMSOvAyu9nLPaYXzJrjOI4W3lkdRUtQtZskAjMZp3I1 afgF78dLYE6kUjxhfK/trMqjdK7+31TaoLg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdefjeegiecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug hrpefoggffhffvvefkjghfufgtsehmtderreertddtnecuhfhrohhmpedfgfhulhgvrhcu vfgrvhgvihhrrgdfuceovghulhgvrhesvghulhgvrhhtohdrtghomheqnecuggftrfgrth htvghrnhepudefjeehveejfeeugfdugfefteelkefghedugeelgfduffefleegleelhedt jeetnecuffhomhgrihhnpeguvggsihgrnhdrnhgvthdpghhithhhuhgsrdgtohhmpdgvnh htvghrphhrihhsvggusgdrtghomhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgr mhepmhgrihhlfhhrohhmpegvuhhlvghrsegvuhhlvghrthhordgtohhmpdhnsggprhgtph htthhopeegpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopegurghvihgurdhgrdhj ohhhnhhsthhonhesghhmrghilhdrtghomhdprhgtphhtthhopehjihgrnhdruhhnihhvvg hrshgrlhhithihsehgmhgrihhlrdgtohhmpdhrtghpthhtohepnhgrthhhrghnuggsohhs shgrrhhtsehgmhgrihhlrdgtohhmpdhrtghpthhtohepphhgshhqlhdqhhgrtghkvghrsh esphhoshhtghhrvghsqhhlrdhorhhg X-ME-Proxy: Feedback-ID: i0c21471d:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id A9F421820086; Mon, 15 Dec 2025 12:52:21 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface MIME-Version: 1.0 X-ThreadId: A3OB9pCCWXQR Date: Mon, 15 Dec 2025 14:51:49 -0300 From: "Euler Taveira" To: "jian he" , "Nathan Bossart" Cc: "David G. Johnston" , pgsql-hackers Message-Id: In-Reply-To: References: Subject: Re: create table like including storage parameter Content-Type: multipart/mixed; boundary=d3071d8a20d0485eb1ddb7e95b78d59c List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --d3071d8a20d0485eb1ddb7e95b78d59c Content-Type: text/plain Content-Transfer-Encoding: 7bit On Mon, Dec 15, 2025, at 5:48 AM, jian he wrote: > rebased, with minor comment polishing. > I started reviewing this patch. Why don't you reuse untransformRelOptions()? Even if this function is used by various extensions [1][2], that's not an excuse to duplicate code. I adjusted the code in the fixup. I did a bunch of stylish changes and fixed a few typos. I also ran pgindent. I removed some superfluous comments ("Fetch heap tuple", "Get the toast reloptions",). Don't think they are saying something important. Coverage looks good. As a homework, add a nice commit message. Showing how it works is not a good commit message. This v6 is your v5 plus my suggestions. [1] https://codesearch.debian.net/search?q=untransformRelOptions&literal=1 [2] https://github.com/search?q=untransformRelOptions&type=code -- Euler Taveira EDB https://www.enterprisedb.com/ --d3071d8a20d0485eb1ddb7e95b78d59c Content-Disposition: attachment; filename*0="v6-0001-create-table-like-incluing-parameters.patch" Content-Type: text/x-patch; name="=?UTF-8?Q?v6-0001-create-table-like-incluing-parameters.patch?=" Content-Transfer-Encoding: base64 RnJvbSA0MjNlZWFlZWYwNjllZTNjMWZhOTcyNWUyMGJiZmNmYTA0NjQ5MTZkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFp bC5jb20+CkRhdGU6IE1vbiwgMTUgRGVjIDIwMjUgMTY6NDE6NTkgKzA4MDAKU3ViamVjdDog W1BBVENIIHY2IDEvMl0gY3JlYXRlIHRhYmxlIGxpa2UgaW5jbHVpbmcgcGFyYW1ldGVycwoK ZGVtbzoKY3JlYXRlIHRhYmxlIHQoYSB0ZXh0KSB3aXRoIChmaWxsZmFjdG9yID0gMTAwLCB0 b2FzdC52YWN1dW1fdHJ1bmNhdGU9dHJ1ZSk7CmNyZWF0ZSB0YWJsZSB0MihsaWtlIHQgaW5j bHVkaW5nIHBhcmFtZXRlcnMpOwpcZCsgdDIKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgVGFibGUgInB1YmxpYy50MiIKIENvbHVtbiB8IFR5cGUgfCBDb2xs YXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgfCBTdG9yYWdlICB8IENvbXByZXNzaW9uIHwg U3RhdHMgdGFyZ2V0IHwgRGVzY3JpcHRpb24KLS0tLS0tLS0rLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tCiBhICAgICAgfCB0ZXh0IHwgICAgICAgICAgIHwgICAg ICAgICAgfCAgICAgICAgIHwgZXh0ZW5kZWQgfCAgICAgICAgICAgICB8ICAgICAgICAgICAg ICB8CkFjY2VzcyBtZXRob2Q6IGhlYXAKT3B0aW9uczogZmlsbGZhY3Rvcj0xMDAsIHRvYXN0 LnZhY3V1bV90cnVuY2F0ZT10cnVlCgpjb21taXRmZXN0OiBodHRwczovL2NvbW1pdGZlc3Qu cG9zdGdyZXNxbC5vcmcvcGF0Y2gvNjA4OApkaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5l cy9tL0NBQ0p1ZnhIcj1uS0VzUzY2TTdyVEhnQittWGRROTQ4PV9lSjFqenRBYzdQVC1lSmVm QUBtYWlsLmdtYWlsLmNvbQotLS0KIGRvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3RhYmxlLnNn bWwgICAgICAgICAgICB8IDE0ICsrKy0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9jb21tb24vcmVs b3B0aW9ucy5jICAgICAgICB8IDUwICsrKysrKysrKysrKwogc3JjL2JhY2tlbmQvcGFyc2Vy L2dyYW0ueSAgICAgICAgICAgICAgICAgICAgIHwgIDUgKy0KIHNyYy9iYWNrZW5kL3BhcnNl ci9wYXJzZV91dGlsY21kLmMgICAgICAgICAgICB8IDc2ICsrKysrKysrKysrKysrKysrKysK IHNyYy9pbmNsdWRlL2FjY2Vzcy9yZWxvcHRpb25zLmggICAgICAgICAgICAgICB8ICAxICsK IHNyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCAgICAgICAgICAgICAgICB8ICAxICsK IHNyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaCAgICAgICAgICAgICAgICAgICB8ICAxICsK IC4uLi9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV90YWJsZV9saWtlLm91dCAgICB8IDM5ICsr KysrKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV90YWJsZV9saWtlLnNxbCAg ICB8IDI4ICsrKysrKysKIDkgZmlsZXMgY2hhbmdlZCwgMjEzIGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFi bGUuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3RhYmxlLnNnbWwKaW5kZXggNzdj NWE3NjNkNDUuLmQ2NDVhYjRlZDMxIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2Ny ZWF0ZV90YWJsZS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3RhYmxlLnNn bWwKQEAgLTg4LDcgKzg4LDcgQEAgY2xhc3M9InBhcmFtZXRlciI+cmVmZXJlbnRpYWxfYWN0 aW9uPC9yZXBsYWNlYWJsZT4gXSBbIE9OIFVQREFURSA8cmVwbGFjZWFibGUgY2wKIAogPHBo cmFzZT5hbmQgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmxpa2Vfb3B0aW9uPC9y ZXBsYWNlYWJsZT4gaXM6PC9waHJhc2U+CiAKLXsgSU5DTFVESU5HIHwgRVhDTFVESU5HIH0g eyBDT01NRU5UUyB8IENPTVBSRVNTSU9OIHwgQ09OU1RSQUlOVFMgfCBERUZBVUxUUyB8IEdF TkVSQVRFRCB8IElERU5USVRZIHwgSU5ERVhFUyB8IFNUQVRJU1RJQ1MgfCBTVE9SQUdFIHwg QUxMIH0KK3sgSU5DTFVESU5HIHwgRVhDTFVESU5HIH0geyBDT01NRU5UUyB8IENPTVBSRVNT SU9OIHwgQ09OU1RSQUlOVFMgfCBERUZBVUxUUyB8IEdFTkVSQVRFRCB8IElERU5USVRZIHwg SU5ERVhFUyB8IFNUQVRJU1RJQ1MgfCBTVE9SQUdFIHwgUEFSQU1FVEVSUyB8IEFMTCB9CiAK IDxwaHJhc2U+YW5kIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXJ0aXRpb25f Ym91bmRfc3BlYzwvcmVwbGFjZWFibGU+IGlzOjwvcGhyYXNlPgogCkBAIC03NTMsNiArNzUz LDE4IEBAIFdJVEggKCBNT0RVTFVTIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5u dW1lcmljX2xpdGVyYWw8L3JlcGxhY2VhYmxlPiwgUkVNCiAgICAgICAgIDwvbGlzdGl0ZW0+ CiAgICAgICAgPC92YXJsaXN0ZW50cnk+CiAKKyAgICAgICA8dmFybGlzdGVudHJ5IGlkPSJz cWwtY3JlYXRldGFibGUtcGFybXMtbGlrZS1vcHQtc3RvcmFnZS1wYXJhbXRlciI+CisgICAg ICAgIDx0ZXJtPjxsaXRlcmFsPklOQ0xVRElORyBQQVJBTUVURVJTPC9saXRlcmFsPjwvdGVy bT4KKyAgICAgICAgPGxpc3RpdGVtPgorICAgICAgICAgPHBhcmE+CisgICAgICAgICAgQWxs IHRhYmxlIHBhcmFtZXRlcnMsIHN1Y2ggYXMgdGhlIDxsaXRlcmFsPnN0b3JhZ2UgcGFyYW1l dGVyPC9saXRlcmFsPgorICAgICAgICAgIHNldHRpbmdzIG9mIHRoZSBzb3VyY2UgdGFibGUs IHdpbGwgYmUgY29waWVkLiAgRm9yIHRhYmxlIHN0b3JhZ2UKKyAgICAgICAgICBwYXJhbWV0 ZXJzLCBzZWUgPHhyZWYgbGlua2VuZD0ic3FsLWNyZWF0ZXRhYmxlLXN0b3JhZ2UtcGFyYW1l dGVycyIvPgorICAgICAgICAgIGJlbG93IGZvciBtb3JlIGluZm9ybWF0aW9uLgorICAgICAg ICAgPC9wYXJhPgorICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgIDwvdmFybGlzdGVudHJ5 PgorCiAgICAgICAgPHZhcmxpc3RlbnRyeSBpZD0ic3FsLWNyZWF0ZXRhYmxlLXBhcm1zLWxp a2Utb3B0LXN0YXRpc3RpY3MiPgogICAgICAgICA8dGVybT48bGl0ZXJhbD5JTkNMVURJTkcg U1RBVElTVElDUzwvbGl0ZXJhbD48L3Rlcm0+CiAgICAgICAgIDxsaXN0aXRlbT4KZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9jb21tb24vcmVsb3B0aW9ucy5jIGIvc3JjL2Jh Y2tlbmQvYWNjZXNzL2NvbW1vbi9yZWxvcHRpb25zLmMKaW5kZXggMzE5MjZkOGEzNjguLjky ODljYWVmN2JhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvY29tbW9uL3JlbG9w dGlvbnMuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvY29tbW9uL3JlbG9wdGlvbnMuYwpA QCAtMTM5Miw2ICsxMzkyLDU2IEBAIHVudHJhbnNmb3JtUmVsT3B0aW9ucyhEYXR1bSBvcHRp b25zKQogCXJldHVybiByZXN1bHQ7CiB9CiAKKy8qCisgKiBDb252ZXJ0IHRoZSByZWxvcHRp b25zIGZyb20gdGV4dC1hcnJheSBmb3JtYXQgaW50byBhIExpc3Qgb2YgRGVmRWxlbS4gIFRo aXMKKyAqIGlzIHRoZSByZXZlcnNlIG9wZXJhdGlvbiBvZiB0cmFuc2Zvcm1SZWxPcHRpb25z KCkuCisgKgorICogSWYgYW55IG9wdGlvbiBpbmNsdWRlcyBhIG5hbWVzcGFjZSBxdWFsaWZp Y2F0aW9uLCBjcmVhdGUgdGhlIERlZkVsZW0gaW4gdGhhdAorICogbmFtZXNwYWNlLCBvdGhl cndpc2UgdGhpcyBiZWhhdmUgdGhlIHNhbWUgYXMgdW50cmFuc2Zvcm1SZWxPcHRpb25zLgor ICovCitMaXN0ICoKK3VudHJhbnNmb3JtUmVsT3B0aW9uc0V4dGVuZGVkKERhdHVtIG9wdGlv bnMsIGNoYXIqIG5hbWVTcGFjZSkKK3sKKwlMaXN0CSAgICpyZXN1bHQgPSBOSUw7CisJQXJy YXlUeXBlICAqYXJyYXk7CisJRGF0dW0JICAgKm9wdGlvbmRhdHVtczsKKwlpbnQJCQlub3B0 aW9uczsKKwlpbnQJCQlpOworCisJLyogTm90aGluZyB0byBkbyBpZiBubyBvcHRpb25zICov CisJaWYgKERhdHVtR2V0UG9pbnRlcihvcHRpb25zKSA9PSBOVUxMKQorCQlyZXR1cm4gcmVz dWx0OworCisJYXJyYXkgPSBEYXR1bUdldEFycmF5VHlwZVAob3B0aW9ucyk7CisKKwlkZWNv bnN0cnVjdF9hcnJheV9idWlsdGluKGFycmF5LCBURVhUT0lELCAmb3B0aW9uZGF0dW1zLCBO VUxMLCAmbm9wdGlvbnMpOworCisJZm9yIChpID0gMDsgaSA8IG5vcHRpb25zOyBpKyspCisJ eworCQljaGFyCSAgICpzOworCQljaGFyCSAgICpwOworCQlOb2RlCSAgICp2YWwgPSBOVUxM OworCisJCXMgPSBUZXh0RGF0dW1HZXRDU3RyaW5nKG9wdGlvbmRhdHVtc1tpXSk7CisJCXAg PSBzdHJjaHIocywgJz0nKTsKKwkJaWYgKHApCisJCXsKKwkJCSpwKysgPSAnXDAnOworCQkJ dmFsID0gKE5vZGUgKikgbWFrZVN0cmluZyhwKTsKKwkJfQorCisJCWlmIChuYW1lU3BhY2Ug PT0gTlVMTCkKKwkJCXJlc3VsdCA9IGxhcHBlbmQocmVzdWx0LCBtYWtlRGVmRWxlbShzLCB2 YWwsIC0xKSk7CisJCWVsc2UKKwkJCXJlc3VsdCA9IGxhcHBlbmQocmVzdWx0LCBtYWtlRGVm RWxlbUV4dGVuZGVkKG5hbWVTcGFjZSwgcywgdmFsLAorCQkJCQkJCQkJCQkJCQkgREVGRUxF TV9VTlNQRUMsCisJCQkJCQkJCQkJCQkJCSAtMSkpOworCX0KKworCXJldHVybiByZXN1bHQ7 Cit9CisKKwogLyoKICAqIEV4dHJhY3QgYW5kIHBhcnNlIHJlbG9wdGlvbnMgZnJvbSBhIHBn X2NsYXNzIHR1cGxlLgogICoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFt LnkgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CmluZGV4IDI4ZjRlMTFlMzBmLi43MzJj YmU4ZGJhYiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQorKysgYi9z cmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CkBAIC03NjUsNyArNzY1LDcgQEAgc3RhdGljIE5v ZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5hbWUsIExpc3QgKmFsaWFz ZXMsIE5vZGUgKnF1ZXJ5KTsKIAlPUkRFUiBPUkRJTkFMSVRZIE9USEVSUyBPVVRfUCBPVVRF Ul9QCiAJT1ZFUiBPVkVSTEFQUyBPVkVSTEFZIE9WRVJSSURJTkcgT1dORUQgT1dORVIKIAot CVBBUkFMTEVMIFBBUkFNRVRFUiBQQVJTRVIgUEFSVElBTCBQQVJUSVRJT04gUEFSVElUSU9O UyBQQVNTSU5HIFBBU1NXT1JEIFBBVEgKKwlQQVJBTExFTCBQQVJBTUVURVIgUEFSQU1FVEVS UyBQQVJTRVIgUEFSVElBTCBQQVJUSVRJT04gUEFSVElUSU9OUyBQQVNTSU5HIFBBU1NXT1JE IFBBVEgKIAlQRVJJT0QgUExBQ0lORyBQTEFOIFBMQU5TIFBPTElDWQogCVBPU0lUSU9OIFBS RUNFRElORyBQUkVDSVNJT04gUFJFU0VSVkUgUFJFUEFSRSBQUkVQQVJFRCBQUklNQVJZCiAJ UFJJT1IgUFJJVklMRUdFUyBQUk9DRURVUkFMIFBST0NFRFVSRSBQUk9DRURVUkVTIFBST0dS QU0gUFVCTElDQVRJT04KQEAgLTQyOTYsNiArNDI5Niw3IEBAIFRhYmxlTGlrZU9wdGlvbjoK IAkJCQl8IElOREVYRVMJCQl7ICQkID0gQ1JFQVRFX1RBQkxFX0xJS0VfSU5ERVhFUzsgfQog CQkJCXwgU1RBVElTVElDUwkJeyAkJCA9IENSRUFURV9UQUJMRV9MSUtFX1NUQVRJU1RJQ1M7 IH0KIAkJCQl8IFNUT1JBR0UJCQl7ICQkID0gQ1JFQVRFX1RBQkxFX0xJS0VfU1RPUkFHRTsg fQorCQkJCXwgUEFSQU1FVEVSUyAJCXsgJCQgPSBDUkVBVEVfVEFCTEVfTElLRV9QQVJBTUVU RVJTOyB9CiAJCQkJfCBBTEwJCQkJeyAkJCA9IENSRUFURV9UQUJMRV9MSUtFX0FMTDsgfQog CQk7CiAKQEAgLTE4MDg3LDYgKzE4MDg4LDcgQEAgdW5yZXNlcnZlZF9rZXl3b3JkOgogCQkJ fCBPV05FUgogCQkJfCBQQVJBTExFTAogCQkJfCBQQVJBTUVURVIKKwkJCXwgUEFSQU1FVEVS UwogCQkJfCBQQVJTRVIKIAkJCXwgUEFSVElBTAogCQkJfCBQQVJUSVRJT04KQEAgLTE4NzE5 LDYgKzE4NzIxLDcgQEAgYmFyZV9sYWJlbF9rZXl3b3JkOgogCQkJfCBPV05FUgogCQkJfCBQ QVJBTExFTAogCQkJfCBQQVJBTUVURVIKKwkJCXwgUEFSQU1FVEVSUwogCQkJfCBQQVJTRVIK IAkJCXwgUEFSVElBTAogCQkJfCBQQVJUSVRJT04KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L3BhcnNlci9wYXJzZV91dGlsY21kLmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRp bGNtZC5jCmluZGV4IDM3NWI0MGIyOWFmLi4yZTc3YzJkYjE5YiAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYworKysgYi9zcmMvYmFja2VuZC9wYXJz ZXIvcGFyc2VfdXRpbGNtZC5jCkBAIC04OCw2ICs4OCw3IEBAIHR5cGVkZWYgc3RydWN0CiAJ TGlzdAkgICAqZmtjb25zdHJhaW50czsJLyogRk9SRUlHTiBLRVkgY29uc3RyYWludHMgKi8K IAlMaXN0CSAgICppeGNvbnN0cmFpbnRzOwkvKiBpbmRleC1jcmVhdGluZyBjb25zdHJhaW50 cyAqLwogCUxpc3QJICAgKmxpa2VjbGF1c2VzOwkvKiBMSUtFIGNsYXVzZXMgdGhhdCBuZWVk IHBvc3QtcHJvY2Vzc2luZyAqLworCUxpc3QJICAgKm9wdGlvbnM7CQkvKiBvcHRpb25zIGZy b20gV0lUSCBjbGF1c2UsIHRhYmxlIEFNIHNwZWNpZmljIHBhcmFtZXRlcnMgKi8KIAlMaXN0 CSAgICpibGlzdDsJCQkvKiAiYmVmb3JlIGxpc3QiIG9mIHRoaW5ncyB0byBkbyBiZWZvcmUK IAkJCQkJCQkJICogY3JlYXRpbmcgdGhlIHRhYmxlICovCiAJTGlzdAkgICAqYWxpc3Q7CQkJ LyogImFmdGVyIGxpc3QiIG9mIHRoaW5ncyB0byBkbyBhZnRlciBjcmVhdGluZwpAQCAtMjQ4 LDYgKzI0OSw3IEBAIHRyYW5zZm9ybUNyZWF0ZVN0bXQoQ3JlYXRlU3RtdCAqc3RtdCwgY29u c3QgY2hhciAqcXVlcnlTdHJpbmcpCiAJY3h0LmZrY29uc3RyYWludHMgPSBOSUw7CiAJY3h0 Lml4Y29uc3RyYWludHMgPSBOSUw7CiAJY3h0Lmxpa2VjbGF1c2VzID0gTklMOworCWN4dC5v cHRpb25zID0gc3RtdC0+b3B0aW9uczsKIAljeHQuYmxpc3QgPSBOSUw7CiAJY3h0LmFsaXN0 ID0gTklMOwogCWN4dC5wa2V5ID0gTlVMTDsKQEAgLTM3Miw2ICszNzQsNyBAQCB0cmFuc2Zv cm1DcmVhdGVTdG10KENyZWF0ZVN0bXQgKnN0bXQsIGNvbnN0IGNoYXIgKnF1ZXJ5U3RyaW5n KQogCXN0bXQtPnRhYmxlRWx0cyA9IGN4dC5jb2x1bW5zOwogCXN0bXQtPmNvbnN0cmFpbnRz ID0gY3h0LmNrY29uc3RyYWludHM7CiAJc3RtdC0+bm5jb25zdHJhaW50cyA9IGN4dC5ubmNv bnN0cmFpbnRzOworCXN0bXQtPm9wdGlvbnMgPSBjeHQub3B0aW9uczsKIAogCXJlc3VsdCA9 IGxhcHBlbmQoY3h0LmJsaXN0LCBzdG10KTsKIAlyZXN1bHQgPSBsaXN0X2NvbmNhdChyZXN1 bHQsIGN4dC5hbGlzdCk7CkBAIC0xMjcxLDYgKzEyNzQsNzggQEAgdHJhbnNmb3JtVGFibGVM aWtlQ2xhdXNlKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIFRhYmxlTGlrZUNsYXVzZSAqdGFi bGVfbGlrZV9jbGEKIAkJfQogCX0KIAorCS8qIExpa2V3aXNlLCBjb3B5IHN0b2FyZ2UgcGFy YW10ZXJzIGlmIHJlcXVlc3RlZCAqLworCWlmICgodGFibGVfbGlrZV9jbGF1c2UtPm9wdGlv bnMgJiBDUkVBVEVfVEFCTEVfTElLRV9QQVJBTUVURVJTKSAmJgorCQkhY3h0LT5pc2ZvcmVp Z24pCisJeworCQlIZWFwVHVwbGUJdHVwbGU7CisJCUhlYXBUdXBsZQl0b2FzdF90dXBsZTsK KwkJRGF0dW0JCXJlbG9wdGlvbnM7CisJCWJvb2wJCWlzbnVsbDsKKwkJT2lkCQkJcmVsaWQ7 CisJCUxpc3QJCSpvbGRvcHRpb25zID0gTklMOworCQlMaXN0CQkqb2xkdG9hc3RvcHRpb25z ID0gTklMOworCisJCXJlbGlkID0gUmVsYXRpb25HZXRSZWxpZChyZWxhdGlvbik7CisJCXR1 cGxlID0gU2VhcmNoU3lzQ2FjaGUxKFJFTE9JRCwgT2JqZWN0SWRHZXREYXR1bShyZWxpZCkp OworCisJCWlmICghSGVhcFR1cGxlSXNWYWxpZCh0dXBsZSkpCisJCQllbG9nKEVSUk9SLCAi Y2FjaGUgbG9va3VwIGZhaWxlZCBmb3IgcmVsYXRpb24gJXUiLCByZWxpZCk7CisKKwkJcmVs b3B0aW9ucyA9IFN5c0NhY2hlR2V0QXR0cihSRUxPSUQsIHR1cGxlLAorCQkJCQkJCQkJIEFu dW1fcGdfY2xhc3NfcmVsb3B0aW9ucywgJmlzbnVsbCk7CisJCWlmICghaXNudWxsKQorCQl7 CisJCQlvbGRvcHRpb25zID0gdW50cmFuc2Zvcm1SZWxPcHRpb25zKHJlbG9wdGlvbnMpOwor CisJCQlmb3JlYWNoX25vZGUoRGVmRWxlbSwgb3B0aW9uLCBvbGRvcHRpb25zKQorCQkJCWN4 dC0+b3B0aW9ucyA9IGxhcHBlbmQoY3h0LT5vcHRpb25zLCBvcHRpb24pOworCQl9CisKKwkJ UmVsZWFzZVN5c0NhY2hlKHR1cGxlKTsKKworCQkvKiBnZXQgdGhlIHRvYXN0IHJlbGF0aW9u J3MgcmVsb3B0aW9ucyAqLworCQlpZiAoT2lkSXNWYWxpZChyZWxhdGlvbi0+cmRfcmVsLT5y ZWx0b2FzdHJlbGlkKSkKKwkJeworCQkJUmVsYXRpb24JdG9hc3RyZWw7CisKKwkJCU9pZAkJ CXRvYXN0aWQgPSByZWxhdGlvbi0+cmRfcmVsLT5yZWx0b2FzdHJlbGlkOworCisJCQkvKgor CQkJICogVGhlIHJlZmVyZW5jZWQgdGFibGUgaXMgYWxyZWFkeSBsb2NrZWQ7IGFjcXVpcmUg dGhlIGxvY2sgb24gaXRzCisJCQkgKiBhc3NvY2lhdGVkIFRPQVNUIHJlbGF0aW9uIG5vdy4K KwkJCSAqLworCQkJdG9hc3RyZWwgPSB0YWJsZV9vcGVuKHRvYXN0aWQsIEFjY2Vzc1NoYXJl TG9jayk7CisKKwkJCS8qIEZldGNoIGhlYXAgdHVwbGUgKi8KKwkJCXRvYXN0X3R1cGxlID0g U2VhcmNoU3lzQ2FjaGUxKFJFTE9JRCwgT2JqZWN0SWRHZXREYXR1bSh0b2FzdGlkKSk7CisK KwkJCWlmICghSGVhcFR1cGxlSXNWYWxpZCh0b2FzdF90dXBsZSkpCisJCQkJZWxvZyhFUlJP UiwgImNhY2hlIGxvb2t1cCBmYWlsZWQgZm9yIHRvYXN0IHJlbGF0aW9uICV1IiwgdG9hc3Rp ZCk7CisKKwkJCS8qIEdldCB0aGUgdG9hc3QgcmVsb3B0aW9ucyAqLworCQkJcmVsb3B0aW9u cyA9IFN5c0NhY2hlR2V0QXR0cihSRUxPSUQsIHRvYXN0X3R1cGxlLCBBbnVtX3BnX2NsYXNz X3JlbG9wdGlvbnMsCisJCQkJCQkJCQkJICZpc251bGwpOworCQkJaWYgKCFpc251bGwpCisJ CQl7CisJCQkJb2xkdG9hc3RvcHRpb25zID0gdW50cmFuc2Zvcm1SZWxPcHRpb25zRXh0ZW5k ZWQocmVsb3B0aW9ucywgInRvYXN0Iik7CisKKwkJCQlmb3JlYWNoX25vZGUoRGVmRWxlbSwg b3B0aW9uLCBvbGR0b2FzdG9wdGlvbnMpCisJCQkJCWN4dC0+b3B0aW9ucyA9IGxhcHBlbmQo Y3h0LT5vcHRpb25zLCBvcHRpb24pOworCQkJfQorCisJCQlSZWxlYXNlU3lzQ2FjaGUodG9h c3RfdHVwbGUpOworCisJCQkvKgorCQkJICogQ2xvc2UgdGhlIHBhcmVudCBUT0FTVCByZWws IGJ1dCBrZWVwIG91ciBBY2Nlc3NTaGFyZUxvY2sgb24gaXQKKwkJCSAqIHVudGlsIHhhY3Qg Y29tbWl0LiAgVGhhdCB3aWxsIHByZXZlbnQgc29tZW9uZSBlbHNlIGZyb20gZGVsZXRpbmcK KwkJCSAqIG9yIEFMVEVSaW5nIHRoZSBwYXJlbnQgVE9BU1QgYmVmb3JlIHdlIGNhbiBydW4K KwkJCSAqIGV4cGFuZFRhYmxlTGlrZUNsYXVzZS4KKwkJCSAqLworCQkJdGFibGVfY2xvc2Uo dG9hc3RyZWwsIE5vTG9jayk7CisJCX0KKwl9CisKIAkvKgogCSAqIFJlcHJvZHVjZSBub3Qt bnVsbCBjb25zdHJhaW50cywgaWYgYW55LCBieSBjb3B5aW5nIHRoZW0uICBXZSBkbyB0aGlz CiAJICogcmVnYXJkbGVzcyBvZiBvcHRpb25zIGdpdmVuLgpAQCAtMzg2MCw2ICszOTM1LDcg QEAgdHJhbnNmb3JtQWx0ZXJUYWJsZVN0bXQoT2lkIHJlbGlkLCBBbHRlclRhYmxlU3RtdCAq c3RtdCwKIAljeHQuZmtjb25zdHJhaW50cyA9IE5JTDsKIAljeHQuaXhjb25zdHJhaW50cyA9 IE5JTDsKIAljeHQubGlrZWNsYXVzZXMgPSBOSUw7CisJY3h0Lm9wdGlvbnMgPSBOSUw7CiAJ Y3h0LmJsaXN0ID0gTklMOwogCWN4dC5hbGlzdCA9IE5JTDsKIAljeHQucGtleSA9IE5VTEw7 CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9hY2Nlc3MvcmVsb3B0aW9ucy5oIGIvc3JjL2lu Y2x1ZGUvYWNjZXNzL3JlbG9wdGlvbnMuaAppbmRleCBhNjA0YTQ3MDJjMy4uODU4OTYxNmQw OGIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2FjY2Vzcy9yZWxvcHRpb25zLmgKKysrIGIv c3JjL2luY2x1ZGUvYWNjZXNzL3JlbG9wdGlvbnMuaApAQCAtMjM2LDYgKzIzNiw3IEBAIGV4 dGVybiBEYXR1bSB0cmFuc2Zvcm1SZWxPcHRpb25zKERhdHVtIG9sZE9wdGlvbnMsIExpc3Qg KmRlZkxpc3QsCiAJCQkJCQkJCSBjb25zdCBjaGFyICpuYW1lU3BhY2UsIGNvbnN0IGNoYXIg KmNvbnN0IHZhbGlkbnNwc1tdLAogCQkJCQkJCQkgYm9vbCBhY2NlcHRPaWRzT2ZmLCBib29s IGlzUmVzZXQpOwogZXh0ZXJuIExpc3QgKnVudHJhbnNmb3JtUmVsT3B0aW9ucyhEYXR1bSBv cHRpb25zKTsKK2V4dGVybiBMaXN0ICp1bnRyYW5zZm9ybVJlbE9wdGlvbnNFeHRlbmRlZChE YXR1bSBvcHRpb25zLCBjaGFyKiBuYW1lU3BhY2UpOwogZXh0ZXJuIGJ5dGVhICpleHRyYWN0 UmVsT3B0aW9ucyhIZWFwVHVwbGUgdHVwbGUsIFR1cGxlRGVzYyB0dXBkZXNjLAogCQkJCQkJ CQlhbW9wdGlvbnNfZnVuY3Rpb24gYW1vcHRpb25zKTsKIGV4dGVybiB2b2lkICpidWlsZF9y ZWxvcHRpb25zKERhdHVtIHJlbG9wdGlvbnMsIGJvb2wgdmFsaWRhdGUsCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9w YXJzZW5vZGVzLmgKaW5kZXggYmM3YWRiYTRhMGYuLjllMDI5NmFlZTM5IDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKKysrIGIvc3JjL2luY2x1ZGUvbm9k ZXMvcGFyc2Vub2Rlcy5oCkBAIC03OTUsNiArNzk1LDcgQEAgdHlwZWRlZiBlbnVtIFRhYmxl TGlrZU9wdGlvbgogCUNSRUFURV9UQUJMRV9MSUtFX0lOREVYRVMgPSAxIDw8IDYsCiAJQ1JF QVRFX1RBQkxFX0xJS0VfU1RBVElTVElDUyA9IDEgPDwgNywKIAlDUkVBVEVfVEFCTEVfTElL RV9TVE9SQUdFID0gMSA8PCA4LAorCUNSRUFURV9UQUJMRV9MSUtFX1BBUkFNRVRFUlMgPSAx IDw8IDksCiAJQ1JFQVRFX1RBQkxFX0xJS0VfQUxMID0gUEdfSU5UMzJfTUFYCiB9IFRhYmxl TGlrZU9wdGlvbjsKIApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5o IGIvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oCmluZGV4IDlmZGU1OGY1NDFjLi5hYWQ2 NGU3Y2NjYSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oCisrKyBi L3NyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaApAQCAtMzM2LDYgKzMzNiw3IEBAIFBHX0tF WVdPUkQoIm93bmVkIiwgT1dORUQsIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkK IFBHX0tFWVdPUkQoIm93bmVyIiwgT1dORVIsIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9M QUJFTCkKIFBHX0tFWVdPUkQoInBhcmFsbGVsIiwgUEFSQUxMRUwsIFVOUkVTRVJWRURfS0VZ V09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInBhcmFtZXRlciIsIFBBUkFNRVRFUiwg VU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQorUEdfS0VZV09SRCgicGFyYW1ldGVy cyIsIFBBUkFNRVRFUlMsIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tF WVdPUkQoInBhcnNlciIsIFBBUlNFUiwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVM KQogUEdfS0VZV09SRCgicGFydGlhbCIsIFBBUlRJQUwsIFVOUkVTRVJWRURfS0VZV09SRCwg QkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInBhcnRpdGlvbiIsIFBBUlRJVElPTiwgVU5SRVNF UlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9jcmVhdGVfdGFibGVfbGlrZS5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL2NyZWF0ZV90YWJsZV9saWtlLm91dAppbmRleCBkM2MzNWMxNDg0Ny4uM2ViMDc5 ZTI0ZWQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3Rh YmxlX2xpa2Uub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3Rh YmxlX2xpa2Uub3V0CkBAIC02OTksMyArNjk5LDQyIEBAIERST1AgRk9SRUlHTiBUQUJMRSBj dGxfZm9yZWlnbl90YWJsZTE7CiBEUk9QIEZPUkVJR04gVEFCTEUgY3RsX2ZvcmVpZ25fdGFi bGUyOwogRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiBjdGxfZHVtbXkgQ0FTQ0FERTsKIE5P VElDRTogIGRyb3AgY2FzY2FkZXMgdG8gc2VydmVyIGN0bF9zMAorLS1DUkVBVEUgVEFCTEUg TElLRSB3aXRoIFBBUkFNRVRFUlMKK2NyZWF0ZSB0YWJsZSB0X3NwKGEgdGV4dCkgd2l0aCAo CisgICAgZmlsbGZhY3RvciA9IDEwMCwKKyAgICB0b2FzdF90dXBsZV90YXJnZXQgPSAxMjgs CisgICAgdmFjdXVtX2luZGV4X2NsZWFudXAgPSBhdXRvLAorICAgIHRvYXN0LnZhY3V1bV9p bmRleF9jbGVhbnVwID0gYXV0bywKKyAgICB2YWN1dW1fdHJ1bmNhdGUgPSB0cnVlLAorICAg IHRvYXN0LnZhY3V1bV90cnVuY2F0ZSA9IGZhbHNlLAorICAgIGxvZ19hdXRvdmFjdXVtX21p bl9kdXJhdGlvbiA9IDEwMCwKKyAgICB0b2FzdC5sb2dfYXV0b3ZhY3V1bV9taW5fZHVyYXRp b24gPSAxMDApOworY3JlYXRlIHRhYmxlIHRfc3AxKGxpa2UgdF9zcCBpbmNsdWRpbmcgcGFy YW1ldGVycykgd2l0aCAoZmlsbGZhY3RvciA9IDEwMCk7IC0tZXJyb3IKK0VSUk9SOiAgcGFy YW1ldGVyICJmaWxsZmFjdG9yIiBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UKK2NyZWF0ZSB0 YWJsZSB0X3NwMShsaWtlIHRfc3AgZXhjbHVkaW5nIHBhcmFtZXRlcnMpIHdpdGggKGZpbGxm YWN0b3IgPSAxMDApOyAtLW9rCitcZCsgdF9zcDEKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBUYWJsZSAicHVibGljLnRfc3AxIgorIENvbHVtbiB8IFR5cGUgfCBDb2xs YXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgfCBTdG9yYWdlICB8IFN0YXRzIHRhcmdldCB8 IERlc2NyaXB0aW9uIAorLS0tLS0tLS0rLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIGEg ICAgICB8IHRleHQgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfCBleHRlbmRl ZCB8ICAgICAgICAgICAgICB8IAorT3B0aW9uczogZmlsbGZhY3Rvcj0xMDAKKworY3JlYXRl IHRhYmxlIHRfc3AyKGxpa2UgdF9zcCBpbmNsdWRpbmcgcGFyYW1ldGVycykgd2l0aCAoCisg IHBhcmFsbGVsX3dvcmtlcnMgPSAzLAorICB0b2FzdC5hdXRvdmFjdXVtX3ZhY3V1bV90aHJl c2hvbGQgPSAxMDEsCisgIHRvYXN0LmF1dG92YWN1dW1fdmFjdXVtX3NjYWxlX2ZhY3RvciA9 IDAuMyk7CitzZWxlY3QgICAgYy5yZWxuYW1lLCBjLnJlbG9wdGlvbnMsIHRjLnJlbG9wdGlv bnMgYXMgdG9hc3Rfb3B0aW9ucworZnJvbSAgICAgIHBnX2NhdGFsb2cucGdfY2xhc3MgYwor bGVmdCBqb2luIHBnX2NhdGFsb2cucGdfY2xhc3MgdGMgT04gKGMucmVsdG9hc3RyZWxpZCA9 IHRjLm9pZCkKK3doZXJlICAgICBjLnJlbG5hbWUgaW4gKCd0X3NwMScsICd0X3NwMicpCitv cmRlciBieSAgYy5yZWxuYW1lIFxneAorLVsgUkVDT1JEIDEgXS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK3JlbG5hbWUgICAgICAgfCB0X3NwMQorcmVs b3B0aW9ucyAgICB8IHtmaWxsZmFjdG9yPTEwMH0KK3RvYXN0X29wdGlvbnMgfCAKKy1bIFJF Q09SRCAyIF0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCity ZWxuYW1lICAgICAgIHwgdF9zcDIKK3JlbG9wdGlvbnMgICAgfCB7cGFyYWxsZWxfd29ya2Vy cz0zLGZpbGxmYWN0b3I9MTAwLHRvYXN0X3R1cGxlX3RhcmdldD0xMjgsdmFjdXVtX2luZGV4 X2NsZWFudXA9YXV0byx2YWN1dW1fdHJ1bmNhdGU9dHJ1ZSxsb2dfYXV0b3ZhY3V1bV9taW5f ZHVyYXRpb249MTAwfQordG9hc3Rfb3B0aW9ucyB8IHthdXRvdmFjdXVtX3ZhY3V1bV90aHJl c2hvbGQ9MTAxLGF1dG92YWN1dW1fdmFjdXVtX3NjYWxlX2ZhY3Rvcj0wLjMsdmFjdXVtX2lu ZGV4X2NsZWFudXA9YXV0byx2YWN1dW1fdHJ1bmNhdGU9ZmFsc2UsbG9nX2F1dG92YWN1dW1f bWluX2R1cmF0aW9uPTEwMH0KKworZHJvcCB0YWJsZSB0X3NwLCB0X3NwMSwgdF9zcDI7CmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfdGFibGVfbGlrZS5zcWwg Yi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfdGFibGVfbGlrZS5zcWwKaW5kZXggOTMz ODliNTdkYmYuLmFmYzhmZmU2YWQ1IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3Nx bC9jcmVhdGVfdGFibGVfbGlrZS5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY3Jl YXRlX3RhYmxlX2xpa2Uuc3FsCkBAIC0yODAsMyArMjgwLDMxIEBAIERST1AgVEFCTEUgY3Rs X3RhYmxlOwogRFJPUCBGT1JFSUdOIFRBQkxFIGN0bF9mb3JlaWduX3RhYmxlMTsKIERST1Ag Rk9SRUlHTiBUQUJMRSBjdGxfZm9yZWlnbl90YWJsZTI7CiBEUk9QIEZPUkVJR04gREFUQSBX UkFQUEVSIGN0bF9kdW1teSBDQVNDQURFOworCistLUNSRUFURSBUQUJMRSBMSUtFIHdpdGgg UEFSQU1FVEVSUworY3JlYXRlIHRhYmxlIHRfc3AoYSB0ZXh0KSB3aXRoICgKKyAgICBmaWxs ZmFjdG9yID0gMTAwLAorICAgIHRvYXN0X3R1cGxlX3RhcmdldCA9IDEyOCwKKyAgICB2YWN1 dW1faW5kZXhfY2xlYW51cCA9IGF1dG8sCisgICAgdG9hc3QudmFjdXVtX2luZGV4X2NsZWFu dXAgPSBhdXRvLAorICAgIHZhY3V1bV90cnVuY2F0ZSA9IHRydWUsCisgICAgdG9hc3QudmFj dXVtX3RydW5jYXRlID0gZmFsc2UsCisgICAgbG9nX2F1dG92YWN1dW1fbWluX2R1cmF0aW9u ID0gMTAwLAorICAgIHRvYXN0LmxvZ19hdXRvdmFjdXVtX21pbl9kdXJhdGlvbiA9IDEwMCk7 CisKK2NyZWF0ZSB0YWJsZSB0X3NwMShsaWtlIHRfc3AgaW5jbHVkaW5nIHBhcmFtZXRlcnMp IHdpdGggKGZpbGxmYWN0b3IgPSAxMDApOyAtLWVycm9yCitjcmVhdGUgdGFibGUgdF9zcDEo bGlrZSB0X3NwIGV4Y2x1ZGluZyBwYXJhbWV0ZXJzKSB3aXRoIChmaWxsZmFjdG9yID0gMTAw KTsgLS1vaworXGQrIHRfc3AxCisKK2NyZWF0ZSB0YWJsZSB0X3NwMihsaWtlIHRfc3AgaW5j bHVkaW5nIHBhcmFtZXRlcnMpIHdpdGggKAorICBwYXJhbGxlbF93b3JrZXJzID0gMywKKyAg dG9hc3QuYXV0b3ZhY3V1bV92YWN1dW1fdGhyZXNob2xkID0gMTAxLAorICB0b2FzdC5hdXRv dmFjdXVtX3ZhY3V1bV9zY2FsZV9mYWN0b3IgPSAwLjMpOworCitzZWxlY3QgICAgYy5yZWxu YW1lLCBjLnJlbG9wdGlvbnMsIHRjLnJlbG9wdGlvbnMgYXMgdG9hc3Rfb3B0aW9ucworZnJv bSAgICAgIHBnX2NhdGFsb2cucGdfY2xhc3MgYworbGVmdCBqb2luIHBnX2NhdGFsb2cucGdf Y2xhc3MgdGMgT04gKGMucmVsdG9hc3RyZWxpZCA9IHRjLm9pZCkKK3doZXJlICAgICBjLnJl bG5hbWUgaW4gKCd0X3NwMScsICd0X3NwMicpCitvcmRlciBieSAgYy5yZWxuYW1lIFxneAor Citkcm9wIHRhYmxlIHRfc3AsIHRfc3AxLCB0X3NwMjsKLS0gCjIuMzkuNQoK --d3071d8a20d0485eb1ddb7e95b78d59c Content-Disposition: attachment; filename*0="v6-0002-fixup-create-table-like-incluing-parameters.patch" Content-Type: text/x-patch; name="=?UTF-8?Q?v6-0002-fixup-create-table-like-incluing-parameters.patch?=" Content-Transfer-Encoding: base64 RnJvbSBhODdkYTg5ZGVhOTUxYzc4YjYyZTc5NmViMTNlNGY3NWYxNzFhNmM4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFdWxlciBUYXZlaXJhIDxldWxlckBldWxlcnRvLmNv bT4KRGF0ZTogTW9uLCAxNSBEZWMgMjAyNSAxMToxMTo0MyAtMDMwMApTdWJqZWN0OiBbUEFU Q0ggdjYgMi8yXSBmaXh1cCEgY3JlYXRlIHRhYmxlIGxpa2UgaW5jbHVpbmcgcGFyYW1ldGVy cwoKLS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvY29tbW9uL3JlbG9wdGlvbnMuYyAgICAgICAg fCA0MCArKy0tLS0tLS0tLS0tLS0KIHNyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21k LmMgICAgICAgICAgICB8IDMzICsrKysrKy0tLS0tLS0KIHNyYy9pbmNsdWRlL2FjY2Vzcy9y ZWxvcHRpb25zLmggICAgICAgICAgICAgICB8ICAyICstCiAuLi4vcmVncmVzcy9leHBlY3Rl ZC9jcmVhdGVfdGFibGVfbGlrZS5vdXQgICAgfCA0OSArKysrKysrKystLS0tLS0tLS0tCiBz cmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfdGFibGVfbGlrZS5zcWwgICAgfCAzNiArKysr KysrLS0tLS0tLQogNSBmaWxlcyBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCspLCAxMDAgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2NvbW1vbi9yZWxv cHRpb25zLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvY29tbW9uL3JlbG9wdGlvbnMuYwppbmRl eCA5Mjg5Y2FlZjdiYS4uOTNkYjg2YWNhZDMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Fj Y2Vzcy9jb21tb24vcmVsb3B0aW9ucy5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9jb21t b24vcmVsb3B0aW9ucy5jCkBAIC0xMzU5LDQ4ICsxMzU5LDE0IEBAIHRyYW5zZm9ybVJlbE9w dGlvbnMoRGF0dW0gb2xkT3B0aW9ucywgTGlzdCAqZGVmTGlzdCwgY29uc3QgY2hhciAqbmFt ZVNwYWNlLAogTGlzdCAqCiB1bnRyYW5zZm9ybVJlbE9wdGlvbnMoRGF0dW0gb3B0aW9ucykK IHsKLQlMaXN0CSAgICpyZXN1bHQgPSBOSUw7Ci0JQXJyYXlUeXBlICAqYXJyYXk7Ci0JRGF0 dW0JICAgKm9wdGlvbmRhdHVtczsKLQlpbnQJCQlub3B0aW9uczsKLQlpbnQJCQlpOwotCi0J LyogTm90aGluZyB0byBkbyBpZiBubyBvcHRpb25zICovCi0JaWYgKERhdHVtR2V0UG9pbnRl cihvcHRpb25zKSA9PSBOVUxMKQotCQlyZXR1cm4gcmVzdWx0OwotCi0JYXJyYXkgPSBEYXR1 bUdldEFycmF5VHlwZVAob3B0aW9ucyk7Ci0KLQlkZWNvbnN0cnVjdF9hcnJheV9idWlsdGlu KGFycmF5LCBURVhUT0lELCAmb3B0aW9uZGF0dW1zLCBOVUxMLCAmbm9wdGlvbnMpOwotCi0J Zm9yIChpID0gMDsgaSA8IG5vcHRpb25zOyBpKyspCi0JewotCQljaGFyCSAgICpzOwotCQlj aGFyCSAgICpwOwotCQlOb2RlCSAgICp2YWwgPSBOVUxMOwotCi0JCXMgPSBUZXh0RGF0dW1H ZXRDU3RyaW5nKG9wdGlvbmRhdHVtc1tpXSk7Ci0JCXAgPSBzdHJjaHIocywgJz0nKTsKLQkJ aWYgKHApCi0JCXsKLQkJCSpwKysgPSAnXDAnOwotCQkJdmFsID0gKE5vZGUgKikgbWFrZVN0 cmluZyhwKTsKLQkJfQotCQlyZXN1bHQgPSBsYXBwZW5kKHJlc3VsdCwgbWFrZURlZkVsZW0o cywgdmFsLCAtMSkpOwotCX0KLQotCXJldHVybiByZXN1bHQ7CisJcmV0dXJuIHVudHJhbnNm b3JtUmVsT3B0aW9uc0V4dGVuZGVkKG9wdGlvbnMsIE5VTEwpOwogfQogCiAvKgotICogQ29u dmVydCB0aGUgcmVsb3B0aW9ucyBmcm9tIHRleHQtYXJyYXkgZm9ybWF0IGludG8gYSBMaXN0 IG9mIERlZkVsZW0uICBUaGlzCi0gKiBpcyB0aGUgcmV2ZXJzZSBvcGVyYXRpb24gb2YgdHJh bnNmb3JtUmVsT3B0aW9ucygpLgotICoKLSAqIElmIGFueSBvcHRpb24gaW5jbHVkZXMgYSBu YW1lc3BhY2UgcXVhbGlmaWNhdGlvbiwgY3JlYXRlIHRoZSBEZWZFbGVtIGluIHRoYXQKLSAq IG5hbWVzcGFjZSwgb3RoZXJ3aXNlIHRoaXMgYmVoYXZlIHRoZSBzYW1lIGFzIHVudHJhbnNm b3JtUmVsT3B0aW9ucy4KKyAqIFNhbWUgYXMgdW50cmFuc2Zvcm1SZWxPcHRpb25zKCkgYnV0 IGluY2x1ZGVzIGEgbmFtZXNwYWNlIGludG8gRGVmRWxlbS4KICAqLwogTGlzdCAqCi11bnRy YW5zZm9ybVJlbE9wdGlvbnNFeHRlbmRlZChEYXR1bSBvcHRpb25zLCBjaGFyKiBuYW1lU3Bh Y2UpCit1bnRyYW5zZm9ybVJlbE9wdGlvbnNFeHRlbmRlZChEYXR1bSBvcHRpb25zLCBjaGFy ICpuYW1lU3BhY2UpCiB7CiAJTGlzdAkgICAqcmVzdWx0ID0gTklMOwogCUFycmF5VHlwZSAg KmFycmF5OwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQu YyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMKaW5kZXggMmU3N2MyZGIx OWIuLmM5MDU2YzRmMjJlIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2Vf dXRpbGNtZC5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMKQEAg LTg4LDcgKzg4LDggQEAgdHlwZWRlZiBzdHJ1Y3QKIAlMaXN0CSAgICpma2NvbnN0cmFpbnRz OwkvKiBGT1JFSUdOIEtFWSBjb25zdHJhaW50cyAqLwogCUxpc3QJICAgKml4Y29uc3RyYWlu dHM7CS8qIGluZGV4LWNyZWF0aW5nIGNvbnN0cmFpbnRzICovCiAJTGlzdAkgICAqbGlrZWNs YXVzZXM7CS8qIExJS0UgY2xhdXNlcyB0aGF0IG5lZWQgcG9zdC1wcm9jZXNzaW5nICovCi0J TGlzdAkgICAqb3B0aW9uczsJCS8qIG9wdGlvbnMgZnJvbSBXSVRIIGNsYXVzZSwgdGFibGUg QU0gc3BlY2lmaWMgcGFyYW1ldGVycyAqLworCUxpc3QJICAgKm9wdGlvbnM7CQkvKiBvcHRp b25zIGZyb20gV0lUSCBjbGF1c2UsIHRhYmxlIEFNIHNwZWNpZmljCisJCQkJCQkJCSAqIHBh cmFtZXRlcnMgKi8KIAlMaXN0CSAgICpibGlzdDsJCQkvKiAiYmVmb3JlIGxpc3QiIG9mIHRo aW5ncyB0byBkbyBiZWZvcmUKIAkJCQkJCQkJICogY3JlYXRpbmcgdGhlIHRhYmxlICovCiAJ TGlzdAkgICAqYWxpc3Q7CQkJLyogImFmdGVyIGxpc3QiIG9mIHRoaW5ncyB0byBkbyBhZnRl ciBjcmVhdGluZwpAQCAtMTEyNSw4ICsxMTI2LDggQEAgdHJhbnNmb3JtVGFibGVDb25zdHJh aW50KENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIENvbnN0cmFpbnQgKmNvbnN0cmFpbnQpCiAg KiB0YWJsZSBoYXMgYmVlbiBjcmVhdGVkLgogICoKICAqIFNvbWUgb3B0aW9ucyBhcmUgaWdu b3JlZC4gIEZvciBleGFtcGxlLCBhcyBmb3JlaWduIHRhYmxlcyBoYXZlIG5vIHN0b3JhZ2Us Ci0gKiB0aGVzZSBJTkNMVURJTkcgb3B0aW9ucyBoYXZlIG5vIGVmZmVjdDogU1RPUkFHRSwg Q09NUFJFU1NJT04sIElERU5USVRZCi0gKiBhbmQgSU5ERVhFUy4gIFNpbWlsYXJseSwgSU5D TFVESU5HIElOREVYRVMgaXMgaWdub3JlZCBmcm9tIGEgdmlldy4KKyAqIHRoZXNlIElOQ0xV RElORyBvcHRpb25zIGhhdmUgbm8gZWZmZWN0OiBTVE9SQUdFLCBDT01QUkVTU0lPTiwgSURF TlRJVFksCisgKiBJTkRFWEVTIGFuZCBQQVJBTUVURVJTLiAgU2ltaWxhcmx5LCBJTkNMVURJ TkcgSU5ERVhFUyBpcyBpZ25vcmVkIGZyb20gYSB2aWV3LgogICovCiBzdGF0aWMgdm9pZAog dHJhbnNmb3JtVGFibGVMaWtlQ2xhdXNlKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIFRhYmxl TGlrZUNsYXVzZSAqdGFibGVfbGlrZV9jbGF1c2UpCkBAIC0xMjc0LDE3ICsxMjc1LDE2IEBA IHRyYW5zZm9ybVRhYmxlTGlrZUNsYXVzZShDcmVhdGVTdG10Q29udGV4dCAqY3h0LCBUYWJs ZUxpa2VDbGF1c2UgKnRhYmxlX2xpa2VfY2xhCiAJCX0KIAl9CiAKLQkvKiBMaWtld2lzZSwg Y29weSBzdG9hcmdlIHBhcmFtdGVycyBpZiByZXF1ZXN0ZWQgKi8KKwkvKiBMaWtld2lzZSwg Y29weSBzdG9yYWdlIHBhcmFtZXRlcnMgaWYgcmVxdWVzdGVkICovCiAJaWYgKCh0YWJsZV9s aWtlX2NsYXVzZS0+b3B0aW9ucyAmIENSRUFURV9UQUJMRV9MSUtFX1BBUkFNRVRFUlMpICYm CiAJCSFjeHQtPmlzZm9yZWlnbikKIAl7CiAJCUhlYXBUdXBsZQl0dXBsZTsKLQkJSGVhcFR1 cGxlCXRvYXN0X3R1cGxlOwogCQlEYXR1bQkJcmVsb3B0aW9uczsKIAkJYm9vbAkJaXNudWxs OwogCQlPaWQJCQlyZWxpZDsKLQkJTGlzdAkJKm9sZG9wdGlvbnMgPSBOSUw7Ci0JCUxpc3QJ CSpvbGR0b2FzdG9wdGlvbnMgPSBOSUw7CisJCUxpc3QJICAgKm9sZG9wdGlvbnMgPSBOSUw7 CisJCUxpc3QJICAgKm9sZHRvYXN0b3B0aW9ucyA9IE5JTDsKIAogCQlyZWxpZCA9IFJlbGF0 aW9uR2V0UmVsaWQocmVsYXRpb24pOwogCQl0dXBsZSA9IFNlYXJjaFN5c0NhY2hlMShSRUxP SUQsIE9iamVjdElkR2V0RGF0dW0ocmVsaWQpKTsKQEAgLTEzMDgsNyArMTMwOCw2IEBAIHRy YW5zZm9ybVRhYmxlTGlrZUNsYXVzZShDcmVhdGVTdG10Q29udGV4dCAqY3h0LCBUYWJsZUxp a2VDbGF1c2UgKnRhYmxlX2xpa2VfY2xhCiAJCWlmIChPaWRJc1ZhbGlkKHJlbGF0aW9uLT5y ZF9yZWwtPnJlbHRvYXN0cmVsaWQpKQogCQl7CiAJCQlSZWxhdGlvbgl0b2FzdHJlbDsKLQog CQkJT2lkCQkJdG9hc3RpZCA9IHJlbGF0aW9uLT5yZF9yZWwtPnJlbHRvYXN0cmVsaWQ7CiAK IAkJCS8qCkBAIC0xMzE3LDE0ICsxMzE2LDEyIEBAIHRyYW5zZm9ybVRhYmxlTGlrZUNsYXVz ZShDcmVhdGVTdG10Q29udGV4dCAqY3h0LCBUYWJsZUxpa2VDbGF1c2UgKnRhYmxlX2xpa2Vf Y2xhCiAJCQkgKi8KIAkJCXRvYXN0cmVsID0gdGFibGVfb3Blbih0b2FzdGlkLCBBY2Nlc3NT aGFyZUxvY2spOwogCi0JCQkvKiBGZXRjaCBoZWFwIHR1cGxlICovCi0JCQl0b2FzdF90dXBs ZSA9IFNlYXJjaFN5c0NhY2hlMShSRUxPSUQsIE9iamVjdElkR2V0RGF0dW0odG9hc3RpZCkp OworCQkJdHVwbGUgPSBTZWFyY2hTeXNDYWNoZTEoUkVMT0lELCBPYmplY3RJZEdldERhdHVt KHRvYXN0aWQpKTsKIAotCQkJaWYgKCFIZWFwVHVwbGVJc1ZhbGlkKHRvYXN0X3R1cGxlKSkK LQkJCQllbG9nKEVSUk9SLCAiY2FjaGUgbG9va3VwIGZhaWxlZCBmb3IgdG9hc3QgcmVsYXRp b24gJXUiLCB0b2FzdGlkKTsKKwkJCWlmICghSGVhcFR1cGxlSXNWYWxpZCh0dXBsZSkpCisJ CQkJZWxvZyhFUlJPUiwgImNhY2hlIGxvb2t1cCBmYWlsZWQgZm9yIHJlbGF0aW9uICV1Iiwg dG9hc3RpZCk7CiAKLQkJCS8qIEdldCB0aGUgdG9hc3QgcmVsb3B0aW9ucyAqLwotCQkJcmVs b3B0aW9ucyA9IFN5c0NhY2hlR2V0QXR0cihSRUxPSUQsIHRvYXN0X3R1cGxlLCBBbnVtX3Bn X2NsYXNzX3JlbG9wdGlvbnMsCisJCQlyZWxvcHRpb25zID0gU3lzQ2FjaGVHZXRBdHRyKFJF TE9JRCwgdHVwbGUsIEFudW1fcGdfY2xhc3NfcmVsb3B0aW9ucywKIAkJCQkJCQkJCQkgJmlz bnVsbCk7CiAJCQlpZiAoIWlzbnVsbCkKIAkJCXsKQEAgLTEzMzQsMTIgKzEzMzEsMTIgQEAg dHJhbnNmb3JtVGFibGVMaWtlQ2xhdXNlKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIFRhYmxl TGlrZUNsYXVzZSAqdGFibGVfbGlrZV9jbGEKIAkJCQkJY3h0LT5vcHRpb25zID0gbGFwcGVu ZChjeHQtPm9wdGlvbnMsIG9wdGlvbik7CiAJCQl9CiAKLQkJCVJlbGVhc2VTeXNDYWNoZSh0 b2FzdF90dXBsZSk7CisJCQlSZWxlYXNlU3lzQ2FjaGUodHVwbGUpOwogCiAJCQkvKgotCQkJ ICogQ2xvc2UgdGhlIHBhcmVudCBUT0FTVCByZWwsIGJ1dCBrZWVwIG91ciBBY2Nlc3NTaGFy ZUxvY2sgb24gaXQKLQkJCSAqIHVudGlsIHhhY3QgY29tbWl0LiAgVGhhdCB3aWxsIHByZXZl bnQgc29tZW9uZSBlbHNlIGZyb20gZGVsZXRpbmcKLQkJCSAqIG9yIEFMVEVSaW5nIHRoZSBw YXJlbnQgVE9BU1QgYmVmb3JlIHdlIGNhbiBydW4KKwkJCSAqIENsb3NlIHRoZSB0b2FzdCBy ZWxhdGlvbiwgYnV0IGtlZXAgb3VyIEFjY2Vzc1NoYXJlTG9jayBvbiBpdAorCQkJICogdW50 aWwgeGFjdCBjb21taXQuICBUaGF0IHdpbGwgcHJldmVudCBzb21lb25lIGVsc2UgZnJvbQor CQkJICogZGVsZXRpbmcgb3IgQUxURVJpbmcgdGhlIHBhcmVudCBUT0FTVCBiZWZvcmUgd2Ug Y2FuIHJ1bgogCQkJICogZXhwYW5kVGFibGVMaWtlQ2xhdXNlLgogCQkJICovCiAJCQl0YWJs ZV9jbG9zZSh0b2FzdHJlbCwgTm9Mb2NrKTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2Fj Y2Vzcy9yZWxvcHRpb25zLmggYi9zcmMvaW5jbHVkZS9hY2Nlc3MvcmVsb3B0aW9ucy5oCmlu ZGV4IDg1ODk2MTZkMDhiLi4wYzI5ZjVkZjIyOSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUv YWNjZXNzL3JlbG9wdGlvbnMuaAorKysgYi9zcmMvaW5jbHVkZS9hY2Nlc3MvcmVsb3B0aW9u cy5oCkBAIC0yMzYsNyArMjM2LDcgQEAgZXh0ZXJuIERhdHVtIHRyYW5zZm9ybVJlbE9wdGlv bnMoRGF0dW0gb2xkT3B0aW9ucywgTGlzdCAqZGVmTGlzdCwKIAkJCQkJCQkJIGNvbnN0IGNo YXIgKm5hbWVTcGFjZSwgY29uc3QgY2hhciAqY29uc3QgdmFsaWRuc3BzW10sCiAJCQkJCQkJ CSBib29sIGFjY2VwdE9pZHNPZmYsIGJvb2wgaXNSZXNldCk7CiBleHRlcm4gTGlzdCAqdW50 cmFuc2Zvcm1SZWxPcHRpb25zKERhdHVtIG9wdGlvbnMpOwotZXh0ZXJuIExpc3QgKnVudHJh bnNmb3JtUmVsT3B0aW9uc0V4dGVuZGVkKERhdHVtIG9wdGlvbnMsIGNoYXIqIG5hbWVTcGFj ZSk7CitleHRlcm4gTGlzdCAqdW50cmFuc2Zvcm1SZWxPcHRpb25zRXh0ZW5kZWQoRGF0dW0g b3B0aW9ucywgY2hhciAqbmFtZVNwYWNlKTsKIGV4dGVybiBieXRlYSAqZXh0cmFjdFJlbE9w dGlvbnMoSGVhcFR1cGxlIHR1cGxlLCBUdXBsZURlc2MgdHVwZGVzYywKIAkJCQkJCQkJYW1v cHRpb25zX2Z1bmN0aW9uIGFtb3B0aW9ucyk7CiBleHRlcm4gdm9pZCAqYnVpbGRfcmVsb3B0 aW9ucyhEYXR1bSByZWxvcHRpb25zLCBib29sIHZhbGlkYXRlLApkaWZmIC0tZ2l0IGEvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfdGFibGVfbGlrZS5vdXQgYi9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV90YWJsZV9saWtlLm91dAppbmRleCAzZWIwNzll MjRlZC4uODkxNDU4ODJhZWYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvY3JlYXRlX3RhYmxlX2xpa2Uub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvY3JlYXRlX3RhYmxlX2xpa2Uub3V0CkBAIC03MDAsMTggKzcwMCwxOCBAQCBEUk9QIEZP UkVJR04gVEFCTEUgY3RsX2ZvcmVpZ25fdGFibGUyOwogRFJPUCBGT1JFSUdOIERBVEEgV1JB UFBFUiBjdGxfZHVtbXkgQ0FTQ0FERTsKIE5PVElDRTogIGRyb3AgY2FzY2FkZXMgdG8gc2Vy dmVyIGN0bF9zMAogLS1DUkVBVEUgVEFCTEUgTElLRSB3aXRoIFBBUkFNRVRFUlMKLWNyZWF0 ZSB0YWJsZSB0X3NwKGEgdGV4dCkgd2l0aCAoCi0gICAgZmlsbGZhY3RvciA9IDEwMCwKLSAg ICB0b2FzdF90dXBsZV90YXJnZXQgPSAxMjgsCi0gICAgdmFjdXVtX2luZGV4X2NsZWFudXAg PSBhdXRvLAotICAgIHRvYXN0LnZhY3V1bV9pbmRleF9jbGVhbnVwID0gYXV0bywKLSAgICB2 YWN1dW1fdHJ1bmNhdGUgPSB0cnVlLAotICAgIHRvYXN0LnZhY3V1bV90cnVuY2F0ZSA9IGZh bHNlLAotICAgIGxvZ19hdXRvdmFjdXVtX21pbl9kdXJhdGlvbiA9IDEwMCwKLSAgICB0b2Fz dC5sb2dfYXV0b3ZhY3V1bV9taW5fZHVyYXRpb24gPSAxMDApOwotY3JlYXRlIHRhYmxlIHRf c3AxKGxpa2UgdF9zcCBpbmNsdWRpbmcgcGFyYW1ldGVycykgd2l0aCAoZmlsbGZhY3RvciA9 IDEwMCk7IC0tZXJyb3IKK0NSRUFURSBUQUJMRSB0X3NwIChhIHRleHQpIFdJVEggKAorICBm aWxsZmFjdG9yID0gMTAwLAorICB0b2FzdF90dXBsZV90YXJnZXQgPSAxMjgsCisgIHZhY3V1 bV9pbmRleF9jbGVhbnVwID0gYXV0bywKKyAgdG9hc3QudmFjdXVtX2luZGV4X2NsZWFudXAg PSBhdXRvLAorICB2YWN1dW1fdHJ1bmNhdGUgPSB0cnVlLAorICB0b2FzdC52YWN1dW1fdHJ1 bmNhdGUgPSBmYWxzZSwKKyAgbG9nX2F1dG92YWN1dW1fbWluX2R1cmF0aW9uID0gMTAwLAor ICB0b2FzdC5sb2dfYXV0b3ZhY3V1bV9taW5fZHVyYXRpb24gPSAxMDApOworQ1JFQVRFIFRB QkxFIHRfc3AxIChMSUtFIHRfc3AgSU5DTFVESU5HIFBBUkFNRVRFUlMpIFdJVEggKGZpbGxm YWN0b3IgPSAxMDApOyAtLSBmYWlsCiBFUlJPUjogIHBhcmFtZXRlciAiZmlsbGZhY3RvciIg c3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlCi1jcmVhdGUgdGFibGUgdF9zcDEobGlrZSB0X3Nw IGV4Y2x1ZGluZyBwYXJhbWV0ZXJzKSB3aXRoIChmaWxsZmFjdG9yID0gMTAwKTsgLS1vawor Q1JFQVRFIFRBQkxFIFRfc3AxIChMSUtFIHRfc3AgRVhDTFVESU5HIFBBUkFNRVRFUlMpIFdJ VEggKGZpbGxmYWN0b3IgPSAxMDApOyAtLSBvawogXGQrIHRfc3AxCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgVGFibGUgInB1YmxpYy50X3NwMSIKICBDb2x1bW4gfCBU eXBlIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IHwgU3RvcmFnZSAgfCBTdGF0 cyB0YXJnZXQgfCBEZXNjcmlwdGlvbiAKQEAgLTcxOSwyMiArNzE5LDE5IEBAIGNyZWF0ZSB0 YWJsZSB0X3NwMShsaWtlIHRfc3AgZXhjbHVkaW5nIHBhcmFtZXRlcnMpIHdpdGggKGZpbGxm YWN0b3IgPSAxMDApOyAtLW9rCiAgYSAgICAgIHwgdGV4dCB8ICAgICAgICAgICB8ICAgICAg ICAgIHwgICAgICAgICB8IGV4dGVuZGVkIHwgICAgICAgICAgICAgIHwgCiBPcHRpb25zOiBm aWxsZmFjdG9yPTEwMAogCi1jcmVhdGUgdGFibGUgdF9zcDIobGlrZSB0X3NwIGluY2x1ZGlu ZyBwYXJhbWV0ZXJzKSB3aXRoICgKK0NSRUFURSBUQUJMRSB0X3NwMiAoTElLRSB0X3NwIElO Q0xVRElORyBQQVJBTUVURVJTKSBXSVRIICgKICAgcGFyYWxsZWxfd29ya2VycyA9IDMsCiAg IHRvYXN0LmF1dG92YWN1dW1fdmFjdXVtX3RocmVzaG9sZCA9IDEwMSwKICAgdG9hc3QuYXV0 b3ZhY3V1bV92YWN1dW1fc2NhbGVfZmFjdG9yID0gMC4zKTsKLXNlbGVjdCAgICBjLnJlbG5h bWUsIGMucmVsb3B0aW9ucywgdGMucmVsb3B0aW9ucyBhcyB0b2FzdF9vcHRpb25zCi1mcm9t ICAgICAgcGdfY2F0YWxvZy5wZ19jbGFzcyBjCi1sZWZ0IGpvaW4gcGdfY2F0YWxvZy5wZ19j bGFzcyB0YyBPTiAoYy5yZWx0b2FzdHJlbGlkID0gdGMub2lkKQotd2hlcmUgICAgIGMucmVs bmFtZSBpbiAoJ3Rfc3AxJywgJ3Rfc3AyJykKLW9yZGVyIGJ5ICBjLnJlbG5hbWUgXGd4Ci0t WyBSRUNPUkQgMSBdLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQotcmVsbmFtZSAgICAgICB8IHRfc3AxCi1yZWxvcHRpb25zICAgIHwge2ZpbGxmYWN0b3I9 MTAwfQotdG9hc3Rfb3B0aW9ucyB8IAotLVsgUkVDT1JEIDIgXS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLXJlbG5hbWUgICAgICAgfCB0X3NwMgotcmVs b3B0aW9ucyAgICB8IHtwYXJhbGxlbF93b3JrZXJzPTMsZmlsbGZhY3Rvcj0xMDAsdG9hc3Rf dHVwbGVfdGFyZ2V0PTEyOCx2YWN1dW1faW5kZXhfY2xlYW51cD1hdXRvLHZhY3V1bV90cnVu Y2F0ZT10cnVlLGxvZ19hdXRvdmFjdXVtX21pbl9kdXJhdGlvbj0xMDB9Ci10b2FzdF9vcHRp b25zIHwge2F1dG92YWN1dW1fdmFjdXVtX3RocmVzaG9sZD0xMDEsYXV0b3ZhY3V1bV92YWN1 dW1fc2NhbGVfZmFjdG9yPTAuMyx2YWN1dW1faW5kZXhfY2xlYW51cD1hdXRvLHZhY3V1bV90 cnVuY2F0ZT1mYWxzZSxsb2dfYXV0b3ZhY3V1bV9taW5fZHVyYXRpb249MTAwfQorU0VMRUNU IGMucmVsbmFtZSwgYy5yZWxvcHRpb25zLCB0LnJlbG9wdGlvbnMgYXMgdG9hc3RfcmVsb3B0 aW9ucworICBGUk9NIHBnX2NhdGFsb2cucGdfY2xhc3MgYworICBMRUZUIEpPSU4gcGdfY2F0 YWxvZy5wZ19jbGFzcyB0IE9OIChjLnJlbHRvYXN0cmVsaWQgPSB0Lm9pZCkKKyAgV0hFUkUg Yy5yZWxuYW1lIElOICgndF9zcDEnLCAndF9zcDInKQorICBPUkRFUiBCWSBjLnJlbG5hbWU7 CisgcmVsbmFtZSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHJlbG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdG9hc3RfcmVsb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorIHRfc3AxICAgfCB7ZmlsbGZhY3Rvcj0xMDB9ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IAorIHRfc3AyICAgfCB7cGFyYWxsZWxfd29ya2Vycz0zLGZpbGxmYWN0b3I9MTAwLHRvYXN0 X3R1cGxlX3RhcmdldD0xMjgsdmFjdXVtX2luZGV4X2NsZWFudXA9YXV0byx2YWN1dW1fdHJ1 bmNhdGU9dHJ1ZSxsb2dfYXV0b3ZhY3V1bV9taW5fZHVyYXRpb249MTAwfSB8IHthdXRvdmFj dXVtX3ZhY3V1bV90aHJlc2hvbGQ9MTAxLGF1dG92YWN1dW1fdmFjdXVtX3NjYWxlX2ZhY3Rv cj0wLjMsdmFjdXVtX2luZGV4X2NsZWFudXA9YXV0byx2YWN1dW1fdHJ1bmNhdGU9ZmFsc2Us bG9nX2F1dG92YWN1dW1fbWluX2R1cmF0aW9uPTEwMH0KKygyIHJvd3MpCiAKLWRyb3AgdGFi bGUgdF9zcCwgdF9zcDEsIHRfc3AyOworRFJPUCBUQUJMRSB0X3NwLCB0X3NwMSwgdF9zcDI7 CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfdGFibGVfbGlrZS5z cWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfdGFibGVfbGlrZS5zcWwKaW5kZXgg YWZjOGZmZTZhZDUuLmMzNTdjMmRlYzBkIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNz L3NxbC9jcmVhdGVfdGFibGVfbGlrZS5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwv Y3JlYXRlX3RhYmxlX2xpa2Uuc3FsCkBAIC0yODIsMjkgKzI4MiwyOSBAQCBEUk9QIEZPUkVJ R04gVEFCTEUgY3RsX2ZvcmVpZ25fdGFibGUyOwogRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBF UiBjdGxfZHVtbXkgQ0FTQ0FERTsKIAogLS1DUkVBVEUgVEFCTEUgTElLRSB3aXRoIFBBUkFN RVRFUlMKLWNyZWF0ZSB0YWJsZSB0X3NwKGEgdGV4dCkgd2l0aCAoCi0gICAgZmlsbGZhY3Rv ciA9IDEwMCwKLSAgICB0b2FzdF90dXBsZV90YXJnZXQgPSAxMjgsCi0gICAgdmFjdXVtX2lu ZGV4X2NsZWFudXAgPSBhdXRvLAotICAgIHRvYXN0LnZhY3V1bV9pbmRleF9jbGVhbnVwID0g YXV0bywKLSAgICB2YWN1dW1fdHJ1bmNhdGUgPSB0cnVlLAotICAgIHRvYXN0LnZhY3V1bV90 cnVuY2F0ZSA9IGZhbHNlLAotICAgIGxvZ19hdXRvdmFjdXVtX21pbl9kdXJhdGlvbiA9IDEw MCwKLSAgICB0b2FzdC5sb2dfYXV0b3ZhY3V1bV9taW5fZHVyYXRpb24gPSAxMDApOworQ1JF QVRFIFRBQkxFIHRfc3AgKGEgdGV4dCkgV0lUSCAoCisgIGZpbGxmYWN0b3IgPSAxMDAsCisg IHRvYXN0X3R1cGxlX3RhcmdldCA9IDEyOCwKKyAgdmFjdXVtX2luZGV4X2NsZWFudXAgPSBh dXRvLAorICB0b2FzdC52YWN1dW1faW5kZXhfY2xlYW51cCA9IGF1dG8sCisgIHZhY3V1bV90 cnVuY2F0ZSA9IHRydWUsCisgIHRvYXN0LnZhY3V1bV90cnVuY2F0ZSA9IGZhbHNlLAorICBs b2dfYXV0b3ZhY3V1bV9taW5fZHVyYXRpb24gPSAxMDAsCisgIHRvYXN0LmxvZ19hdXRvdmFj dXVtX21pbl9kdXJhdGlvbiA9IDEwMCk7CiAKLWNyZWF0ZSB0YWJsZSB0X3NwMShsaWtlIHRf c3AgaW5jbHVkaW5nIHBhcmFtZXRlcnMpIHdpdGggKGZpbGxmYWN0b3IgPSAxMDApOyAtLWVy cm9yCi1jcmVhdGUgdGFibGUgdF9zcDEobGlrZSB0X3NwIGV4Y2x1ZGluZyBwYXJhbWV0ZXJz KSB3aXRoIChmaWxsZmFjdG9yID0gMTAwKTsgLS1vaworQ1JFQVRFIFRBQkxFIHRfc3AxIChM SUtFIHRfc3AgSU5DTFVESU5HIFBBUkFNRVRFUlMpIFdJVEggKGZpbGxmYWN0b3IgPSAxMDAp OyAtLSBmYWlsCitDUkVBVEUgVEFCTEUgVF9zcDEgKExJS0UgdF9zcCBFWENMVURJTkcgUEFS QU1FVEVSUykgV0lUSCAoZmlsbGZhY3RvciA9IDEwMCk7IC0tIG9rCiBcZCsgdF9zcDEKIAot Y3JlYXRlIHRhYmxlIHRfc3AyKGxpa2UgdF9zcCBpbmNsdWRpbmcgcGFyYW1ldGVycykgd2l0 aCAoCitDUkVBVEUgVEFCTEUgdF9zcDIgKExJS0UgdF9zcCBJTkNMVURJTkcgUEFSQU1FVEVS UykgV0lUSCAoCiAgIHBhcmFsbGVsX3dvcmtlcnMgPSAzLAogICB0b2FzdC5hdXRvdmFjdXVt X3ZhY3V1bV90aHJlc2hvbGQgPSAxMDEsCiAgIHRvYXN0LmF1dG92YWN1dW1fdmFjdXVtX3Nj YWxlX2ZhY3RvciA9IDAuMyk7CiAKLXNlbGVjdCAgICBjLnJlbG5hbWUsIGMucmVsb3B0aW9u cywgdGMucmVsb3B0aW9ucyBhcyB0b2FzdF9vcHRpb25zCi1mcm9tICAgICAgcGdfY2F0YWxv Zy5wZ19jbGFzcyBjCi1sZWZ0IGpvaW4gcGdfY2F0YWxvZy5wZ19jbGFzcyB0YyBPTiAoYy5y ZWx0b2FzdHJlbGlkID0gdGMub2lkKQotd2hlcmUgICAgIGMucmVsbmFtZSBpbiAoJ3Rfc3Ax JywgJ3Rfc3AyJykKLW9yZGVyIGJ5ICBjLnJlbG5hbWUgXGd4CitTRUxFQ1QgYy5yZWxuYW1l LCBjLnJlbG9wdGlvbnMsIHQucmVsb3B0aW9ucyBhcyB0b2FzdF9yZWxvcHRpb25zCisgIEZS T00gcGdfY2F0YWxvZy5wZ19jbGFzcyBjCisgIExFRlQgSk9JTiBwZ19jYXRhbG9nLnBnX2Ns YXNzIHQgT04gKGMucmVsdG9hc3RyZWxpZCA9IHQub2lkKQorICBXSEVSRSBjLnJlbG5hbWUg SU4gKCd0X3NwMScsICd0X3NwMicpCisgIE9SREVSIEJZIGMucmVsbmFtZTsKIAotZHJvcCB0 YWJsZSB0X3NwLCB0X3NwMSwgdF9zcDI7CitEUk9QIFRBQkxFIHRfc3AsIHRfc3AxLCB0X3Nw MjsKLS0gCjIuMzkuNQoK --d3071d8a20d0485eb1ddb7e95b78d59c--