Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pf2vl-00054A-4m for pgsql-hackers@arkaria.postgresql.org; Wed, 22 Mar 2023 18:11:25 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pf2vj-0007i3-9y for pgsql-hackers@arkaria.postgresql.org; Wed, 22 Mar 2023 18:11:23 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pf2vi-0007ht-JV for pgsql-hackers@lists.postgresql.org; Wed, 22 Mar 2023 18:11:23 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by makus.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pf2ve-0005V7-Tc for pgsql-hackers@lists.postgresql.org; Wed, 22 Mar 2023 18:11:21 +0000 Received: from [192.168.0.101] (unknown [62.217.188.29]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mail.postgrespro.ru (Postfix) with ESMTPSA id 876E321CE5E2; Wed, 22 Mar 2023 21:11:16 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mail; t=1679508676; bh=nek23SmQOPe7zFc0knWE5/sfwFcXW5HG7YcH9N2Qgnw=; h=Date:Subject:From:To:Cc:References:In-Reply-To; b=mlCyu78UJt2R3+ldqxSGv+fEia8mxmba4j0kiKb3blUmWkUgxH6vtwf0c2dSYFa50 GR+KnyaRXAZVc2ZqbVtc0NsQEo9fCp6h4n2hjbUijIBx9ZxNyq/+4WaQYq5FqP3uR2 cFGzhb5kVFoNiu+rignuSgjw9ucNkxKKM45vx30A= Content-Type: multipart/mixed; boundary="------------gFK7N3Wh0W2GwOmoEvVXL0SC" Message-ID: <80fb0807-b55b-ccda-7f74-d7d90a553846@postgrespro.ru> Date: Wed, 22 Mar 2023 21:11:16 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: Re: psql: Add role's membership options to the \du+ command From: Pavel Luzanov To: "David G. Johnston" Cc: David Zhang , "pgsql-hackers@lists.postgresql.org" References: <01620d6b-9efe-b199-b619-8450d865ec83@postgrespro.ru> <94ce7392-fa90-bc1c-4dc2-677161bbff58@postgrespro.ru> <20824093-d94f-e5d6-b611-8cec7fc6e95e@postgrespro.ru> <42678ca5-f3c6-db1b-e0c5-c63c3ce8997e@postgrespro.ru> Content-Language: en-US, ru-RU In-Reply-To: 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. --------------gFK7N3Wh0W2GwOmoEvVXL0SC Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit In the previous version, I didn't notice (unlike cfbot) the compiler warning. Fixed in version 6. ----- Pavel Luzanov --------------gFK7N3Wh0W2GwOmoEvVXL0SC Content-Type: text/x-patch; charset=UTF-8; name="v6-0001-psql-show-membership-options-in-the-du-command.patch" Content-Disposition: attachment; filename*0="v6-0001-psql-show-membership-options-in-the-du-command.patch" Content-Transfer-Encoding: base64 RnJvbSAxYjhiNTc0M2RmMjM2MzdiNzBlOGQ0YWQwZGYwZTFmODkyYzU5NWYzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXZlbCBMdXphbm92IDxwLmx1emFub3ZAcG9zdGdy ZXNwcm8ucnU+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMjA6NTQ6NDEgKzAzMDAKU3ViamVj dDogW1BBVENIIHY2XSBwc3FsOiBzaG93IG1lbWJlcnNoaXAgb3B0aW9ucyBpbiB0aGUgXGR1 IGNvbW1hbmQKCkZvcm1hdCBmb3IgdGhlICJNZW1iZXIgb2YiIGNvbHVtbiBjb21wbGV0ZWx5 IHJlZGVzaWduZWQuClNob3duIHdpdGhpbiBlYWNoIHJvdywgaW4gbmV3bGluZS1zZXBhcmF0 ZWQgZm9ybWF0LCBhcmUgdGhlIG1lbWJlcnNoaXBzIGdyYW50ZWQgdG8KdGhlIHJvbGUuICBU aGUgcHJlc2VudGF0aW9uIGluY2x1ZGVzIGJvdGggdGhlIG5hbWUgb2YgdGhlIGdyYW50b3IK YXMgd2VsbCBhcyB0aGUgbWVtYmVyc2hpcCBwZXJtaXNzaW9ucyAoaW4gYW4gYWJicmV2aWF0 ZWQgZm9ybWF0OgphIGZvciBhZG1pbiBvcHRpb24sIGkgZm9yIGluaGVyaXQgb3B0aW9uLCBz IGZvciBzZXQgb3B0aW9uLikKVGhlIHdvcmQgJ2VtcHR5JyBpcyBwcmludGVkIGluIHRoZSBj YXNlIHRoYXQgbm9uZSBvZiB0aG9zZSBwZXJtaXNzaW9ucyBhcmUgZ3JhbnRlZC4KLS0tCiBk b2Mvc3JjL3NnbWwvcmVmL3BzcWwtcmVmLnNnbWwgICAgIHwgMzAgKysrKysrKysrKystLS0K IHNyYy9iaW4vcHNxbC9kZXNjcmliZS5jICAgICAgICAgICAgfCA2MyArKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHNxbC5vdXQg fCA0OSArKysrKysrKysrKysrKysrKysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9zcWwvcHNx bC5zcWwgICAgICB8IDMwICsrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDE0NiBp bnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3Nn bWwvcmVmL3BzcWwtcmVmLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL3BzcWwtcmVmLnNnbWwK aW5kZXggN2I4YWU5ZmFjMy4uMDNlN2RhOTNkZSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21s L3JlZi9wc3FsLXJlZi5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvcHNxbC1yZWYuc2dt bApAQCAtMTcyNyw5ICsxNzI3LDE4IEBAIElOU0VSVCBJTlRPIHRibDEgVkFMVUVTICgkMSwg JDIpIFxiaW5kICdmaXJzdCB2YWx1ZScgJ3NlY29uZCB2YWx1ZScgXGcKICAgICAgICAgPGxp dGVyYWw+UzwvbGl0ZXJhbD4gbW9kaWZpZXIgdG8gaW5jbHVkZSBzeXN0ZW0gcm9sZXMuCiAg ICAgICAgIElmIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXR0ZXJuPC9yZXBs YWNlYWJsZT4gaXMgc3BlY2lmaWVkLAogICAgICAgICBvbmx5IHRob3NlIHJvbGVzIHdob3Nl IG5hbWVzIG1hdGNoIHRoZSBwYXR0ZXJuIGFyZSBsaXN0ZWQuCi0gICAgICAgIElmIHRoZSBm b3JtIDxsaXRlcmFsPlxkZys8L2xpdGVyYWw+IGlzIHVzZWQsIGFkZGl0aW9uYWwgaW5mb3Jt YXRpb24KLSAgICAgICAgaXMgc2hvd24gYWJvdXQgZWFjaCByb2xlOyBjdXJyZW50bHkgdGhp cyBhZGRzIHRoZSBjb21tZW50IGZvciBlYWNoCi0gICAgICAgIHJvbGUuCisgICAgICAgIDwv cGFyYT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgIFNob3duIHdpdGhpbiBlYWNoIHJvdywg aW4gbmV3bGluZS1zZXBhcmF0ZWQgZm9ybWF0LCBhcmUgdGhlIG1lbWJlcnNoaXBzIGdyYW50 ZWQgdG8KKyAgICAgICAgdGhlIHJvbGUuICBUaGUgcHJlc2VudGF0aW9uIGluY2x1ZGVzIGJv dGggdGhlIG5hbWUgb2YgdGhlIGdyYW50b3IKKyAgICAgICAgYXMgd2VsbCBhcyB0aGUgbWVt YmVyc2hpcCBwZXJtaXNzaW9ucyAoaW4gYW4gYWJicmV2aWF0ZWQgZm9ybWF0OgorICAgICAg ICA8bGl0ZXJhbD5hPC9saXRlcmFsPiBmb3IgYWRtaW4gb3B0aW9uLCA8bGl0ZXJhbD5pPC9s aXRlcmFsPiBmb3IgaW5oZXJpdCBvcHRpb24sCisgICAgICAgIDxsaXRlcmFsPnM8L2xpdGVy YWw+IGZvciBzZXQgb3B0aW9uLikgVGhlIHdvcmQgPGxpdGVyYWw+ZW1wdHk8L2xpdGVyYWw+ IGlzIHByaW50ZWQgaW4KKyAgICAgICAgdGhlIGNhc2UgdGhhdCBub25lIG9mIHRob3NlIHBl cm1pc3Npb25zIGFyZSBncmFudGVkLgorICAgICAgICBTZWUgdGhlIDxsaW5rIGxpbmtlbmQ9 InNxbC1ncmFudCI+PGNvbW1hbmQ+R1JBTlQ8L2NvbW1hbmQ+PC9saW5rPiBjb21tYW5kIGZv ciB0aGVpciBtZWFuaW5nLgorICAgICAgICA8L3BhcmE+CisgICAgICAgIDxwYXJhPgorICAg ICAgICBJZiB0aGUgZm9ybSA8bGl0ZXJhbD5cZGcrPC9saXRlcmFsPiBpcyB1c2VkIHRoZSBj b21tZW50IGF0dGFjaGVkIHRvIHRoZSByb2xlIGlzIHNob3duLgogICAgICAgICA8L3BhcmE+ CiAgICAgICAgIDwvbGlzdGl0ZW0+CiAgICAgICA8L3Zhcmxpc3RlbnRyeT4KQEAgLTE5Njks OSArMTk3OCwxOCBAQCBJTlNFUlQgSU5UTyB0YmwxIFZBTFVFUyAoJDEsICQyKSBcYmluZCAn Zmlyc3QgdmFsdWUnICdzZWNvbmQgdmFsdWUnIFxnCiAgICAgICAgIDxsaXRlcmFsPlM8L2xp dGVyYWw+IG1vZGlmaWVyIHRvIGluY2x1ZGUgc3lzdGVtIHJvbGVzLgogICAgICAgICBJZiA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0dGVybjwvcmVwbGFjZWFibGU+IGlz IHNwZWNpZmllZCwKICAgICAgICAgb25seSB0aG9zZSByb2xlcyB3aG9zZSBuYW1lcyBtYXRj aCB0aGUgcGF0dGVybiBhcmUgbGlzdGVkLgotICAgICAgICBJZiB0aGUgZm9ybSA8bGl0ZXJh bD5cZHUrPC9saXRlcmFsPiBpcyB1c2VkLCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uCi0gICAg ICAgIGlzIHNob3duIGFib3V0IGVhY2ggcm9sZTsgY3VycmVudGx5IHRoaXMgYWRkcyB0aGUg Y29tbWVudCBmb3IgZWFjaAotICAgICAgICByb2xlLgorICAgICAgICA8L3BhcmE+CisgICAg ICAgIDxwYXJhPgorICAgICAgICBTaG93biB3aXRoaW4gZWFjaCByb3csIGluIG5ld2xpbmUt c2VwYXJhdGVkIGZvcm1hdCwgYXJlIHRoZSBtZW1iZXJzaGlwcyBncmFudGVkIHRvCisgICAg ICAgIHRoZSByb2xlLiAgVGhlIHByZXNlbnRhdGlvbiBpbmNsdWRlcyBib3RoIHRoZSBuYW1l IG9mIHRoZSBncmFudG9yCisgICAgICAgIGFzIHdlbGwgYXMgdGhlIG1lbWJlcnNoaXAgcGVy bWlzc2lvbnMgKGluIGFuIGFiYnJldmlhdGVkIGZvcm1hdDoKKyAgICAgICAgPGxpdGVyYWw+ YTwvbGl0ZXJhbD4gZm9yIGFkbWluIG9wdGlvbiwgPGxpdGVyYWw+aTwvbGl0ZXJhbD4gZm9y IGluaGVyaXQgb3B0aW9uLAorICAgICAgICA8bGl0ZXJhbD5zPC9saXRlcmFsPiBmb3Igc2V0 IG9wdGlvbi4pIFRoZSB3b3JkIDxsaXRlcmFsPmVtcHR5PC9saXRlcmFsPiBpcyBwcmludGVk IGluCisgICAgICAgIHRoZSBjYXNlIHRoYXQgbm9uZSBvZiB0aG9zZSBwZXJtaXNzaW9ucyBh cmUgZ3JhbnRlZC4KKyAgICAgICAgU2VlIHRoZSA8bGluayBsaW5rZW5kPSJzcWwtZ3JhbnQi Pjxjb21tYW5kPkdSQU5UPC9jb21tYW5kPjwvbGluaz4gY29tbWFuZCBmb3IgdGhlaXIgbWVh bmluZy4KKyAgICAgICAgPC9wYXJhPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgSWYgdGhl IGZvcm0gPGxpdGVyYWw+XGR1KzwvbGl0ZXJhbD4gaXMgdXNlZCB0aGUgY29tbWVudCBhdHRh Y2hlZCB0byB0aGUgcm9sZSBpcyBzaG93bi4KICAgICAgICAgPC9wYXJhPgogICAgICAgICA8 L2xpc3RpdGVtPgogICAgICAgPC92YXJsaXN0ZW50cnk+CmRpZmYgLS1naXQgYS9zcmMvYmlu L3BzcWwvZGVzY3JpYmUuYyBiL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jCmluZGV4IDk5ZTI4 ZjYwN2UuLjdmMmI3YzkzNjMgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5j CisrKyBiL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jCkBAIC0zNjMxLDI0ICszNjMxLDQyIEBA IGRlc2NyaWJlUm9sZXMoY29uc3QgY2hhciAqcGF0dGVybiwgYm9vbCB2ZXJib3NlLCBib29s IHNob3dTeXN0ZW0pCiAJcHJpbnRmUFFFeHBCdWZmZXIoJmJ1ZiwKIAkJCQkJICAiU0VMRUNU IHIucm9sbmFtZSwgci5yb2xzdXBlciwgci5yb2xpbmhlcml0LFxuIgogCQkJCQkgICIgIHIu cm9sY3JlYXRlcm9sZSwgci5yb2xjcmVhdGVkYiwgci5yb2xjYW5sb2dpbixcbiIKLQkJCQkJ ICAiICByLnJvbGNvbm5saW1pdCwgci5yb2x2YWxpZHVudGlsLFxuIgotCQkJCQkgICIgIEFS UkFZKFNFTEVDVCBiLnJvbG5hbWVcbiIKLQkJCQkJICAiICAgICAgICBGUk9NIHBnX2NhdGFs b2cucGdfYXV0aF9tZW1iZXJzIG1cbiIKLQkJCQkJICAiICAgICAgICBKT0lOIHBnX2NhdGFs b2cucGdfcm9sZXMgYiBPTiAobS5yb2xlaWQgPSBiLm9pZClcbiIKLQkJCQkJICAiICAgICAg ICBXSEVSRSBtLm1lbWJlciA9IHIub2lkKSBhcyBtZW1iZXJvZiIpOworCQkJCQkgICIgIHIu cm9sY29ubmxpbWl0LCByLnJvbHZhbGlkdW50aWwsIHIucm9scmVwbGljYXRpb24sXG4iKTsK IAotCWlmICh2ZXJib3NlKQotCXsKLQkJYXBwZW5kUFFFeHBCdWZmZXJTdHIoJmJ1ZiwgIlxu LCBwZ19jYXRhbG9nLnNob2JqX2Rlc2NyaXB0aW9uKHIub2lkLCAncGdfYXV0aGlkJykgQVMg ZGVzY3JpcHRpb24iKTsKLQkJbmNvbHMrKzsKLQl9Ci0JYXBwZW5kUFFFeHBCdWZmZXJTdHIo JmJ1ZiwgIlxuLCByLnJvbHJlcGxpY2F0aW9uIik7CisJaWYgKHBzZXQuc3ZlcnNpb24gPj0g MTYwMDAwKQorCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cigmYnVmLAorCQkJCQkJCSAiICAoU0VM RUNUIHBnX2NhdGFsb2cuc3RyaW5nX2FnZyhcbiIKKwkJCQkJCQkgIiAgICBwZ19jYXRhbG9n LmZvcm1hdCgnJUkgZnJvbSAlSSAoJXMpJyxcbiIKKwkJCQkJCQkgIiAgICAgIGIucm9sbmFt ZSwgbS5ncmFudG9yOjpwZ19jYXRhbG9nLnJlZ3JvbGU6OnBnX2NhdGFsb2cudGV4dCxcbiIK KwkJCQkJCQkgIiAgICAgIHBnX2NhdGFsb2cucmVnZXhwX3JlcGxhY2UoXG4iCisJCQkJCQkJ ICIgICAgICAgIHBnX2NhdGFsb2cuY29uY2F0X3dzKCcsICcsXG4iCisJCQkJCQkJICIgICAg ICAgICAgQ0FTRSBXSEVOIG0uYWRtaW5fb3B0aW9uIFRIRU4gJ2EnIEVORCxcbiIKKwkJCQkJ CQkgIiAgICAgICAgICBDQVNFIFdIRU4gbS5pbmhlcml0X29wdGlvbiBUSEVOICdpJyBFTkQs XG4iCisJCQkJCQkJICIgICAgICAgICAgQ0FTRSBXSEVOIG0uc2V0X29wdGlvbiBUSEVOICdz JyBFTkQpLFxuIgorCQkJCQkJCSAiICAgICAgJ14kJywgJ2VtcHR5JylcbiIKKwkJCQkJCQkg IiAgICApLCBFJ1xcbidcbiIKKwkJCQkJCQkgIiAgICBPUkRFUiBCWSBiLnJvbG5hbWUsIG0u Z3JhbnRvcjo6cGdfY2F0YWxvZy5yZWdyb2xlOjpwZ19jYXRhbG9nLnRleHQpXG4iCisJCQkJ CQkJICIgIEZST00gcGdfY2F0YWxvZy5wZ19hdXRoX21lbWJlcnMgbVxuIgorCQkJCQkJCSAi ICAgICAgIEpPSU4gcGdfY2F0YWxvZy5wZ19yb2xlcyBiIE9OIChtLnJvbGVpZCA9IGIub2lk KVxuIgorCQkJCQkJCSAiICBXSEVSRSBtLm1lbWJlciA9IHIub2lkKSBhcyBtZW1iZXJvZiIp OworCWVsc2UKKwkJYXBwZW5kUFFFeHBCdWZmZXJTdHIoJmJ1ZiwKKwkJCQkJCQkgIiAgQVJS QVkoU0VMRUNUIGIucm9sbmFtZVxuIgorCQkJCQkJCSAiICAgICAgICBGUk9NIHBnX2NhdGFs b2cucGdfYXV0aF9tZW1iZXJzIG1cbiIKKwkJCQkJCQkgIiAgICAgICAgSk9JTiBwZ19jYXRh bG9nLnBnX3JvbGVzIGIgT04gKG0ucm9sZWlkID0gYi5vaWQpXG4iCisJCQkJCQkJICIgICAg ICAgIFdIRVJFIG0ubWVtYmVyID0gci5vaWQpIGFzIG1lbWJlcm9mIik7CiAKIAlpZiAocHNl dC5zdmVyc2lvbiA+PSA5MDUwMCkKIAl7CiAJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKCZidWYs ICJcbiwgci5yb2xieXBhc3NybHMiKTsKIAl9CiAKKwlpZiAodmVyYm9zZSkKKwl7CisJCWFw cGVuZFBRRXhwQnVmZmVyU3RyKCZidWYsICJcbiwgcGdfY2F0YWxvZy5zaG9ial9kZXNjcmlw dGlvbihyLm9pZCwgJ3BnX2F1dGhpZCcpIEFTIGRlc2NyaXB0aW9uIik7CisJCW5jb2xzKys7 CisJfQorCiAJYXBwZW5kUFFFeHBCdWZmZXJTdHIoJmJ1ZiwgIlxuRlJPTSBwZ19jYXRhbG9n LnBnX3JvbGVzIHJcbiIpOwogCiAJaWYgKCFzaG93U3lzdGVtICYmICFwYXR0ZXJuKQpAQCAt MzcwMSwxMyArMzcxOSw2IEBAIGRlc2NyaWJlUm9sZXMoY29uc3QgY2hhciAqcGF0dGVybiwg Ym9vbCB2ZXJib3NlLCBib29sIHNob3dTeXN0ZW0pCiAJCWlmIChzdHJjbXAoUFFnZXR2YWx1 ZShyZXMsIGksIDUpLCAidCIpICE9IDApCiAJCQlhZGRfcm9sZV9hdHRyaWJ1dGUoJmJ1Ziwg XygiQ2Fubm90IGxvZ2luIikpOwogCi0JCWlmIChzdHJjbXAoUFFnZXR2YWx1ZShyZXMsIGks ICh2ZXJib3NlID8gMTAgOiA5KSksICJ0IikgPT0gMCkKLQkJCWFkZF9yb2xlX2F0dHJpYnV0 ZSgmYnVmLCBfKCJSZXBsaWNhdGlvbiIpKTsKLQotCQlpZiAocHNldC5zdmVyc2lvbiA+PSA5 MDUwMCkKLQkJCWlmIChzdHJjbXAoUFFnZXR2YWx1ZShyZXMsIGksICh2ZXJib3NlID8gMTEg OiAxMCkpLCAidCIpID09IDApCi0JCQkJYWRkX3JvbGVfYXR0cmlidXRlKCZidWYsIF8oIkJ5 cGFzcyBSTFMiKSk7Ci0KIAkJY29ubnMgPSBhdG9pKFBRZ2V0dmFsdWUocmVzLCBpLCA2KSk7 CiAJCWlmIChjb25ucyA+PSAwKQogCQl7CkBAIC0zNzM1LDEwICszNzQ2LDIyIEBAIGRlc2Ny aWJlUm9sZXMoY29uc3QgY2hhciAqcGF0dGVybiwgYm9vbCB2ZXJib3NlLCBib29sIHNob3dT eXN0ZW0pCiAKIAkJcHJpbnRUYWJsZUFkZENlbGwoJmNvbnQsIGF0dHJbaV0sIGZhbHNlLCBm YWxzZSk7CiAKLQkJcHJpbnRUYWJsZUFkZENlbGwoJmNvbnQsIFBRZ2V0dmFsdWUocmVzLCBp LCA4KSwgZmFsc2UsIGZhbHNlKTsKKwkJaWYgKHN0cmNtcChQUWdldHZhbHVlKHJlcywgaSwg OCksICJ0IikgPT0gMCkKKwkJCWFkZF9yb2xlX2F0dHJpYnV0ZSgmYnVmLCBfKCJSZXBsaWNh dGlvbiIpKTsKKworCQlwcmludFRhYmxlQWRkQ2VsbCgmY29udCwgUFFnZXR2YWx1ZShyZXMs IGksIDkpLCBmYWxzZSwgZmFsc2UpOworCisJCWlmIChwc2V0LnN2ZXJzaW9uID49IDkwNTAw KQorCQkJaWYgKHN0cmNtcChQUWdldHZhbHVlKHJlcywgaSwgMTApLCAidCIpID09IDApCisJ CQkJYWRkX3JvbGVfYXR0cmlidXRlKCZidWYsIF8oIkJ5cGFzcyBSTFMiKSk7CiAKIAkJaWYg KHZlcmJvc2UpCi0JCQlwcmludFRhYmxlQWRkQ2VsbCgmY29udCwgUFFnZXR2YWx1ZShyZXMs IGksIDkpLCBmYWxzZSwgZmFsc2UpOworCQl7CisJCQlpZiAocHNldC5zdmVyc2lvbiA+PSA5 MDUwMCkKKwkJCQlwcmludFRhYmxlQWRkQ2VsbCgmY29udCwgUFFnZXR2YWx1ZShyZXMsIGks IDExKSwgZmFsc2UsIGZhbHNlKTsKKwkJCWVsc2UKKwkJCQlwcmludFRhYmxlQWRkQ2VsbCgm Y29udCwgUFFnZXR2YWx1ZShyZXMsIGksIDEwKSwgZmFsc2UsIGZhbHNlKTsKKwkJfQogCX0K IAl0ZXJtUFFFeHBCdWZmZXIoJmJ1Zik7CiAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvcHNxbC5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BzcWwu b3V0CmluZGV4IGMwMGUyODM2MWMuLmQ1ZjMxYjIwODIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvcHNxbC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9wc3FsLm91dApAQCAtNjYwNywzICs2NjA3LDUyIEBAIGNyb3NzLWRhdGFiYXNlIHJl ZmVyZW5jZXMgYXJlIG5vdCBpbXBsZW1lbnRlZDogIm5vLnN1Y2guZGF0YWJhc2UiLiJuby5z dWNoLnNjaGVtCiBjcm9zcy1kYXRhYmFzZSByZWZlcmVuY2VzIGFyZSBub3QgaW1wbGVtZW50 ZWQ6ICJuby5zdWNoLmRhdGFiYXNlIi4ibm8uc3VjaC5zY2hlbWEiLiJuby5zdWNoLmRhdGEu dHlwZSIKIFxkWCAibm8uc3VjaC5kYXRhYmFzZSIuIm5vLnN1Y2guc2NoZW1hIi4ibm8uc3Vj aC5leHRlbmRlZC5zdGF0aXN0aWNzIgogY3Jvc3MtZGF0YWJhc2UgcmVmZXJlbmNlcyBhcmUg bm90IGltcGxlbWVudGVkOiAibm8uc3VjaC5kYXRhYmFzZSIuIm5vLnN1Y2guc2NoZW1hIi4i bm8uc3VjaC5leHRlbmRlZC5zdGF0aXN0aWNzIgorLS0gY2hlY2sgXGR1CitDUkVBVEUgUk9M RSByZWdyZXNzX2R1X3JvbGUwOworQ1JFQVRFIFJPTEUgcmVncmVzc19kdV9yb2xlMTsKK0NS RUFURSBST0xFIHJlZ3Jlc3NfZHVfcm9sZTI7CitDUkVBVEUgUk9MRSByZWdyZXNzX2R1X2Fk bWluIExPR0lOIENSRUFURVJPTEU7CitDT01NRU5UIE9OIFJPTEUgcmVncmVzc19kdV9yb2xl MCBJUyAnRGVzY3JpcHRpb24gZm9yIHJlZ3Jlc3NfZHVfcm9sZTAnOworQ09NTUVOVCBPTiBS T0xFIHJlZ3Jlc3NfZHVfcm9sZTEgSVMgJ0Rlc2NyaXB0aW9uIGZvciByZWdyZXNzX2R1X3Jv bGUxJzsKK0NPTU1FTlQgT04gUk9MRSByZWdyZXNzX2R1X3JvbGUyIElTICdEZXNjcmlwdGlv biBmb3IgcmVncmVzc19kdV9yb2xlMic7CitDT01NRU5UIE9OIFJPTEUgcmVncmVzc19kdV9h ZG1pbiBJUyAnRGVzY3JpcHRpb24gZm9yIHJlZ3Jlc3NfZHVfYWRtaW4nOworR1JBTlQgcmVn cmVzc19kdV9yb2xlMCBUTyByZWdyZXNzX2R1X2FkbWluIFdJVEggQURNSU4gVFJVRTsKK0dS QU5UIHJlZ3Jlc3NfZHVfcm9sZTEgVE8gcmVncmVzc19kdV9hZG1pbiBXSVRIIEFETUlOIFRS VUU7CitHUkFOVCByZWdyZXNzX2R1X3JvbGUyIFRPIHJlZ3Jlc3NfZHVfYWRtaW4gV0lUSCBB RE1JTiBUUlVFOworR1JBTlQgcmVncmVzc19kdV9yb2xlMCBUTyByZWdyZXNzX2R1X3JvbGUx IFdJVEggQURNSU4gVFJVRSwgIElOSEVSSVQgVFJVRSwgIFNFVCBUUlVFICBHUkFOVEVEIEJZ IHJlZ3Jlc3NfZHVfYWRtaW47CitHUkFOVCByZWdyZXNzX2R1X3JvbGUwIFRPIHJlZ3Jlc3Nf ZHVfcm9sZTIgV0lUSCBBRE1JTiBUUlVFLCAgSU5IRVJJVCBGQUxTRSwgU0VUIEZBTFNFIEdS QU5URUQgQlkgcmVncmVzc19kdV9hZG1pbjsKK0dSQU5UIHJlZ3Jlc3NfZHVfcm9sZTEgVE8g cmVncmVzc19kdV9yb2xlMiBXSVRIIEFETUlOIFRSVUUgLCBJTkhFUklUIEZBTFNFLCBTRVQg VFJVRSAgR1JBTlRFRCBCWSByZWdyZXNzX2R1X2FkbWluOworR1JBTlQgcmVncmVzc19kdV9y b2xlMCBUTyByZWdyZXNzX2R1X3JvbGUxIFdJVEggQURNSU4gRkFMU0UsIElOSEVSSVQgVFJV RSwgIFNFVCBGQUxTRSBHUkFOVEVEIEJZIHJlZ3Jlc3NfZHVfcm9sZTE7CitHUkFOVCByZWdy ZXNzX2R1X3JvbGUwIFRPIHJlZ3Jlc3NfZHVfcm9sZTIgV0lUSCBBRE1JTiBGQUxTRSwgSU5I RVJJVCBUUlVFICwgU0VUIFRSVUUgIEdSQU5URUQgQlkgcmVncmVzc19kdV9yb2xlMTsKK0dS QU5UIHJlZ3Jlc3NfZHVfcm9sZTAgVE8gcmVncmVzc19kdV9yb2xlMSBXSVRIIEFETUlOIEZB TFNFLCBJTkhFUklUIEZBTFNFLCBTRVQgVFJVRSAgR1JBTlRFRCBCWSByZWdyZXNzX2R1X3Jv bGUyOworR1JBTlQgcmVncmVzc19kdV9yb2xlMCBUTyByZWdyZXNzX2R1X3JvbGUyIFdJVEgg QURNSU4gRkFMU0UsIElOSEVSSVQgRkFMU0UsIFNFVCBGQUxTRSBHUkFOVEVEIEJZIHJlZ3Jl c3NfZHVfcm9sZTI7CitcZHUgcmVncmVzc19kdV9yb2xlKgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBMaXN0IG9mIHJvbGVzCisgICAgUm9sZSBuYW1lICAgICB8ICBB dHRyaWJ1dGVzICB8ICAgICAgICAgICAgICAgICAgICBNZW1iZXIgb2YgICAgICAgICAgICAg ICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfZHVf cm9sZTAgfCBDYW5ub3QgbG9naW4gfCAKKyByZWdyZXNzX2R1X3JvbGUxIHwgQ2Fubm90IGxv Z2luIHwgcmVncmVzc19kdV9yb2xlMCBmcm9tIHJlZ3Jlc3NfZHVfYWRtaW4gKGEsIGksIHMp KworICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgfCByZWdyZXNzX2R1X3JvbGUw IGZyb20gcmVncmVzc19kdV9yb2xlMSAoaSkgICAgICArCisgICAgICAgICAgICAgICAgICB8 ICAgICAgICAgICAgICB8IHJlZ3Jlc3NfZHVfcm9sZTAgZnJvbSByZWdyZXNzX2R1X3JvbGUy IChzKQorIHJlZ3Jlc3NfZHVfcm9sZTIgfCBDYW5ub3QgbG9naW4gfCByZWdyZXNzX2R1X3Jv bGUwIGZyb20gcmVncmVzc19kdV9hZG1pbiAoYSkgICAgICArCisgICAgICAgICAgICAgICAg ICB8ICAgICAgICAgICAgICB8IHJlZ3Jlc3NfZHVfcm9sZTAgZnJvbSByZWdyZXNzX2R1X3Jv bGUxIChpLCBzKSAgICsKKyAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgIHwgcmVn cmVzc19kdV9yb2xlMCBmcm9tIHJlZ3Jlc3NfZHVfcm9sZTIgKGVtcHR5KSAgKworICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgfCByZWdyZXNzX2R1X3JvbGUxIGZyb20gcmVn cmVzc19kdV9hZG1pbiAoYSwgcykKKworXGR1KyByZWdyZXNzX2R1X3JvbGUqCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Yg cm9sZXMKKyAgICBSb2xlIG5hbWUgICAgIHwgIEF0dHJpYnV0ZXMgIHwgICAgICAgICAgICAg ICAgICAgIE1lbWJlciBvZiAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgIERlc2Ny aXB0aW9uICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfZHVfcm9sZTAgfCBD YW5ub3QgbG9naW4gfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCBEZXNjcmlwdGlvbiBmb3IgcmVncmVzc19kdV9yb2xlMAorIHJlZ3Jlc3Nf ZHVfcm9sZTEgfCBDYW5ub3QgbG9naW4gfCByZWdyZXNzX2R1X3JvbGUwIGZyb20gcmVncmVz c19kdV9hZG1pbiAoYSwgaSwgcykrfCBEZXNjcmlwdGlvbiBmb3IgcmVncmVzc19kdV9yb2xl MQorICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgfCByZWdyZXNzX2R1X3JvbGUw IGZyb20gcmVncmVzc19kdV9yb2xlMSAoaSkgICAgICArfCAKKyAgICAgICAgICAgICAgICAg IHwgICAgICAgICAgICAgIHwgcmVncmVzc19kdV9yb2xlMCBmcm9tIHJlZ3Jlc3NfZHVfcm9s ZTIgKHMpICAgICAgIHwgCisgcmVncmVzc19kdV9yb2xlMiB8IENhbm5vdCBsb2dpbiB8IHJl Z3Jlc3NfZHVfcm9sZTAgZnJvbSByZWdyZXNzX2R1X2FkbWluIChhKSAgICAgICt8IERlc2Ny aXB0aW9uIGZvciByZWdyZXNzX2R1X3JvbGUyCisgICAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgICB8IHJlZ3Jlc3NfZHVfcm9sZTAgZnJvbSByZWdyZXNzX2R1X3JvbGUxIChpLCBz KSAgICt8IAorICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgfCByZWdyZXNzX2R1 X3JvbGUwIGZyb20gcmVncmVzc19kdV9yb2xlMiAoZW1wdHkpICArfCAKKyAgICAgICAgICAg ICAgICAgIHwgICAgICAgICAgICAgIHwgcmVncmVzc19kdV9yb2xlMSBmcm9tIHJlZ3Jlc3Nf ZHVfYWRtaW4gKGEsIHMpICAgIHwgCisKK0RST1AgUk9MRSByZWdyZXNzX2R1X3JvbGUwOwor RFJPUCBST0xFIHJlZ3Jlc3NfZHVfcm9sZTE7CitEUk9QIFJPTEUgcmVncmVzc19kdV9yb2xl MjsKK0RST1AgUk9MRSByZWdyZXNzX2R1X2FkbWluOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv cmVncmVzcy9zcWwvcHNxbC5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wc3FsLnNxbApp bmRleCA5NjE3ODNkNmVhLi4xZThkNDY4ODJiIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdy ZXNzL3NxbC9wc3FsLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wc3FsLnNxbApA QCAtMTgxNSwzICsxODE1LDMzIEBAIERST1AgRlVOQ1RJT04gcHNxbF9lcnJvcjsKIFxkUCAi bm8uc3VjaC5kYXRhYmFzZSIuIm5vLnN1Y2guc2NoZW1hIi4ibm8uc3VjaC5wYXJ0aXRpb25l ZC5yZWxhdGlvbiIKIFxkVCAibm8uc3VjaC5kYXRhYmFzZSIuIm5vLnN1Y2guc2NoZW1hIi4i bm8uc3VjaC5kYXRhLnR5cGUiCiBcZFggIm5vLnN1Y2guZGF0YWJhc2UiLiJuby5zdWNoLnNj aGVtYSIuIm5vLnN1Y2guZXh0ZW5kZWQuc3RhdGlzdGljcyIKKworLS0gY2hlY2sgXGR1CitD UkVBVEUgUk9MRSByZWdyZXNzX2R1X3JvbGUwOworQ1JFQVRFIFJPTEUgcmVncmVzc19kdV9y b2xlMTsKK0NSRUFURSBST0xFIHJlZ3Jlc3NfZHVfcm9sZTI7CitDUkVBVEUgUk9MRSByZWdy ZXNzX2R1X2FkbWluIExPR0lOIENSRUFURVJPTEU7CitDT01NRU5UIE9OIFJPTEUgcmVncmVz c19kdV9yb2xlMCBJUyAnRGVzY3JpcHRpb24gZm9yIHJlZ3Jlc3NfZHVfcm9sZTAnOworQ09N TUVOVCBPTiBST0xFIHJlZ3Jlc3NfZHVfcm9sZTEgSVMgJ0Rlc2NyaXB0aW9uIGZvciByZWdy ZXNzX2R1X3JvbGUxJzsKK0NPTU1FTlQgT04gUk9MRSByZWdyZXNzX2R1X3JvbGUyIElTICdE ZXNjcmlwdGlvbiBmb3IgcmVncmVzc19kdV9yb2xlMic7CitDT01NRU5UIE9OIFJPTEUgcmVn cmVzc19kdV9hZG1pbiBJUyAnRGVzY3JpcHRpb24gZm9yIHJlZ3Jlc3NfZHVfYWRtaW4nOwor CitHUkFOVCByZWdyZXNzX2R1X3JvbGUwIFRPIHJlZ3Jlc3NfZHVfYWRtaW4gV0lUSCBBRE1J TiBUUlVFOworR1JBTlQgcmVncmVzc19kdV9yb2xlMSBUTyByZWdyZXNzX2R1X2FkbWluIFdJ VEggQURNSU4gVFJVRTsKK0dSQU5UIHJlZ3Jlc3NfZHVfcm9sZTIgVE8gcmVncmVzc19kdV9h ZG1pbiBXSVRIIEFETUlOIFRSVUU7CisKK0dSQU5UIHJlZ3Jlc3NfZHVfcm9sZTAgVE8gcmVn cmVzc19kdV9yb2xlMSBXSVRIIEFETUlOIFRSVUUsICBJTkhFUklUIFRSVUUsICBTRVQgVFJV RSAgR1JBTlRFRCBCWSByZWdyZXNzX2R1X2FkbWluOworR1JBTlQgcmVncmVzc19kdV9yb2xl MCBUTyByZWdyZXNzX2R1X3JvbGUyIFdJVEggQURNSU4gVFJVRSwgIElOSEVSSVQgRkFMU0Us IFNFVCBGQUxTRSBHUkFOVEVEIEJZIHJlZ3Jlc3NfZHVfYWRtaW47CitHUkFOVCByZWdyZXNz X2R1X3JvbGUxIFRPIHJlZ3Jlc3NfZHVfcm9sZTIgV0lUSCBBRE1JTiBUUlVFICwgSU5IRVJJ VCBGQUxTRSwgU0VUIFRSVUUgIEdSQU5URUQgQlkgcmVncmVzc19kdV9hZG1pbjsKK0dSQU5U IHJlZ3Jlc3NfZHVfcm9sZTAgVE8gcmVncmVzc19kdV9yb2xlMSBXSVRIIEFETUlOIEZBTFNF LCBJTkhFUklUIFRSVUUsICBTRVQgRkFMU0UgR1JBTlRFRCBCWSByZWdyZXNzX2R1X3JvbGUx OworR1JBTlQgcmVncmVzc19kdV9yb2xlMCBUTyByZWdyZXNzX2R1X3JvbGUyIFdJVEggQURN SU4gRkFMU0UsIElOSEVSSVQgVFJVRSAsIFNFVCBUUlVFICBHUkFOVEVEIEJZIHJlZ3Jlc3Nf ZHVfcm9sZTE7CitHUkFOVCByZWdyZXNzX2R1X3JvbGUwIFRPIHJlZ3Jlc3NfZHVfcm9sZTEg V0lUSCBBRE1JTiBGQUxTRSwgSU5IRVJJVCBGQUxTRSwgU0VUIFRSVUUgIEdSQU5URUQgQlkg cmVncmVzc19kdV9yb2xlMjsKK0dSQU5UIHJlZ3Jlc3NfZHVfcm9sZTAgVE8gcmVncmVzc19k dV9yb2xlMiBXSVRIIEFETUlOIEZBTFNFLCBJTkhFUklUIEZBTFNFLCBTRVQgRkFMU0UgR1JB TlRFRCBCWSByZWdyZXNzX2R1X3JvbGUyOworCitcZHUgcmVncmVzc19kdV9yb2xlKgorXGR1 KyByZWdyZXNzX2R1X3JvbGUqCisKK0RST1AgUk9MRSByZWdyZXNzX2R1X3JvbGUwOworRFJP UCBST0xFIHJlZ3Jlc3NfZHVfcm9sZTE7CitEUk9QIFJPTEUgcmVncmVzc19kdV9yb2xlMjsK K0RST1AgUk9MRSByZWdyZXNzX2R1X2FkbWluOwotLSAKMi4zNC4xCgo= --------------gFK7N3Wh0W2GwOmoEvVXL0SC--