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 1qhxVw-004nSJ-5P for pgsql-hackers@arkaria.postgresql.org; Sun, 17 Sep 2023 19:33:05 +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 1qhxUu-00CCOx-UT for pgsql-hackers@arkaria.postgresql.org; Sun, 17 Sep 2023 19:32:00 +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 1qhxUu-00CCOX-8L for pgsql-hackers@lists.postgresql.org; Sun, 17 Sep 2023 19:32:00 +0000 Received: from mout-u-204.mailbox.org ([80.241.59.204]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qhxUq-0057Or-6f for pgsql-hackers@lists.postgresql.org; Sun, 17 Sep 2023 19:31:58 +0000 Received: from smtp1.mailbox.org (smtp1.mailbox.org [10.196.197.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-u-204.mailbox.org (Postfix) with ESMTPS id 4RpdN70hlBz9sS7 for ; Sun, 17 Sep 2023 21:31:51 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ewie.name; s=MBO0001; t=1694979111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=BukXWpMsSKkwM+r0wHuESd9FuaMh24FGsbz4QDNWnwY=; b=HcsbPu4HgRo1cD5wy0dcz+6CeLGD+3c5yoJnytY8BE2aqQVh4NaBZpQjTzg6FAw7MHVaa+ dtZILTn2u7WU1Zc6bRzJwKpyu/segEIP73+P3UG2rDBWcclwc9dONMNB7IKUk4cgW1Kj8N 4pBCrF/X9/fXxiOEAd/JddfqiN6MKRRmEVsYMxRuq/X1UeFOdONW121ylPBD0E59Cmc8PX 7YmLOAiHhbCHDes1o0B7KbynmMupHbCim0qs0STHOmi01hExl4pBcXbVu4kmzi4HoOlymg mZNGRcs4DkhRJtK5zQh18tqkJP5Bs+Jj1LL6AOCehaMvy1xrBasZktcrdYzBqQ== Date: Sun, 17 Sep 2023 21:31:50 +0200 (CEST) From: Erik Wienhold To: PostgreSQL Hackers Message-ID: <1966228777.127452.1694979110595@office.mailbox.org> Subject: Fix output of zero privileges in psql MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_127451_880655061.1694979110595" X-Priority: 3 Importance: Normal List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk ------=_Part_127451_880655061.1694979110595 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit I wrote a patch to change psql's display of zero privileges after a user's reported confusion with the psql output for zero vs. default privileges [1]. Admittedly, zero privileges is a rare use case [2] but I think psql should not confuse the user in the off chance that this happens. With this change psql now prints "(none)" for zero privileges instead of nothing. This affects the following meta commands: \db+ \dD+ \df+ \dL+ \dl+ \dn+ \dp \dT+ \l Default privileges start as NULL::aclitem[] in various catalog columns but revoking the default privileges leaves an empty aclitem array. Using \pset null '(null)' as a workaround to spot default privileges does not work because the meta commands ignore this setting. The privileges shown by \dconfig+ and \ddp as well as the column privileges shown by \dp are not affected by this change because those privileges are reset to NULL instead of leaving empty arrays. Commands \des+ and \dew+ are not covered in src/test/regress because no foreign data wrapper is available at this point to create a foreign server. [1] https://www.postgresql.org/message-id/efdd465d-a795-6188-7f71-7cdb4b2be031%40mtneva.com [2] https://www.postgresql.org/message-id/31246.1693337238%40sss.pgh.pa.us -- Erik ------=_Part_127451_880655061.1694979110595 Content-Type: text/x-patch; charset=UTF-8; name=v1-0001-Fix-output-of-zero-privileges-in-psql.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v1-0001-Fix-output-of-zero-privileges-in-psql.patch X-Part-Id: 7ac10c9c79494aada6ab3cdae2701d32 RnJvbSAxNmFmOTk1YWNiNGMwZTVmYjU5ODEzMDg2MTBhNzZiN2U4N2MzMzU4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFcmlrIFdpZW5ob2xkIDxld2llQGV3aWUubmFtZT4KRGF0ZTog U3VuLCAxNyBTZXAgMjAyMyAyMDo1NDo0OCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggdjFdIEZpeCBv dXRwdXQgb2YgemVybyBwcml2aWxlZ2VzIGluIHBzcWwKClByaW50ICIobm9uZSkiIGZvciB6ZXJv IHByaXZpbGVnZXMgaW5zdGVhZCBvZiBub3RoaW5nIHNvIHRoYXQgdGhlIHVzZXIKaXMgYWJsZSB0 byBkaXN0aW5ndWlzaCB6ZXJvIGZyb20gZGVmYXVsdCBwcml2aWxlZ2VzLiAgVGhpcyBhZmZlY3Rz IHRoZQpmb2xsb3dpbmcgbWV0YSBjb21tYW5kczoKCiAgICBcZGIrIFxkRCsgXGRlcysgXGRldysg XGRmKyBcZEwrIFxkbCsgXGRuKyBcZHAgXGRUKyBcbAoKRGVmYXVsdCBwcml2aWxlZ2VzIHN0YXJ0 IGFzIE5VTEw6OmFjbGl0ZW1bXSBpbiB2YXJpb3VzIGNhdGFsb2cgY29sdW1ucwpidXQgcmV2b2tp bmcgdGhlIGRlZmF1bHQgcHJpdmlsZWdlcyBsZWF2ZXMgYW4gZW1wdHkgYWNsaXRlbSBhcnJheS4K VXNpbmcgXHBzZXQgbnVsbCAnKG51bGwpJyBhcyBhIHdvcmthcm91bmQgdG8gc3BvdCBkZWZhdWx0 IHByaXZpbGVnZXMKZG9lcyBub3Qgd29yayBiZWNhdXNlIHRoZSBtZXRhIGNvbW1hbmRzIGlnbm9y ZSB0aGlzIHNldHRpbmcuCgpUaGUgcHJpdmlsZWdlcyBzaG93biBieSBcZGNvbmZpZysgYW5kIFxk ZHAgYXMgd2VsbCBhcyB0aGUgY29sdW1uCnByaXZpbGVnZXMgc2hvd24gYnkgXGRwIGFyZSBub3Qg YWZmZWN0ZWQgYnkgdGhpcyBjaGFuZ2UgYmVjYXVzZSB0aG9zZQpwcml2aWxlZ2VzIGFyZSByZXNl dCB0byBOVUxMIGluc3RlYWQgb2YgbGVhdmluZyBlbXB0eSBhcnJheXMuCgpDb21tYW5kcyBcZGVz KyBhbmQgXGRldysgYXJlIG5vdCBjb3ZlcmVkIGluIHNyYy90ZXN0L3JlZ3Jlc3MgYmVjYXVzZSBu bwpmb3JlaWduIGRhdGEgd3JhcHBlciBpcyBhdmFpbGFibGUgYXQgdGhpcyBwb2ludCB0byBjcmVh dGUgYSBmb3JlaWduCnNlcnZlci4KLS0tCiBzcmMvYmluL3BzcWwvZGVzY3JpYmUuYyAgICAgICAg ICAgICAgICAgIHwgIDYgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5v dXQgfCA5MyArKysrKysrKysrKysrKysrKysrKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3By aXZpbGVnZXMuc3FsICAgICAgfCA0NiArKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTQ0 IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmMvYmluL3BzcWwv ZGVzY3JpYmUuYyBiL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jCmluZGV4IGJhYzk0YTMzOGMuLjE1 NGQyNDRkOTcgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jCisrKyBiL3NyYy9i aW4vcHNxbC9kZXNjcmliZS5jCkBAIC02NzE4LDcgKzY3MTgsMTEgQEAgc3RhdGljIHZvaWQKIHBy aW50QUNMQ29sdW1uKFBRRXhwQnVmZmVyIGJ1ZiwgY29uc3QgY2hhciAqY29sbmFtZSkKIHsKIAlh cHBlbmRQUUV4cEJ1ZmZlcihidWYsCi0JCQkJCSAgInBnX2NhdGFsb2cuYXJyYXlfdG9fc3RyaW5n KCVzLCBFJ1xcbicpIEFTIFwiJXNcIiIsCisJCQkJCSAgIkNBU0UgcGdfY2F0YWxvZy5jYXJkaW5h bGl0eSglcylcbiIKKwkJCQkJICAiICBXSEVOIDAgVEhFTiAnJXMnXG4iCisJCQkJCSAgIiAgRUxT RSBwZ19jYXRhbG9nLmFycmF5X3RvX3N0cmluZyglcywgRSdcXG4nKVxuIgorCQkJCQkgICJFTkQg QVMgXCIlc1wiIiwKKwkJCQkJICBjb2xuYW1lLCBnZXR0ZXh0X25vb3AoIihub25lKSIpLAogCQkJ CQkgIGNvbG5hbWUsIGdldHRleHRfbm9vcCgiQWNjZXNzIHByaXZpbGVnZXMiKSk7CiB9CiAKZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ByaXZpbGVnZXMub3V0CmluZGV4IGMxZTYxMGU2MmYuLmI5 ZWI1MmY3YjEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdl cy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wcml2aWxlZ2VzLm91dApAQCAt Mjg5NSwzICsyODk1LDk2IEBAIERST1AgU0NIRU1BIHJlZ3Jlc3Nfcm9sZW9wdGlvbjsKIERST1Ag Uk9MRSByZWdyZXNzX3JvbGVvcHRpb25fcHJvdGFnb25pc3Q7CiBEUk9QIFJPTEUgcmVncmVzc19y b2xlb3B0aW9uX2Rvbm9yOwogRFJPUCBST0xFIHJlZ3Jlc3Nfcm9sZW9wdGlvbl9yZWNpcGllbnQ7 CistLSBUZXN0IHplcm8gcHJpdmlsZWdlcy4KK0JFR0lOOworLS0gQ3JlYXRlIGFuIG93bmVyIGZv ciB0ZXN0ZWQgb2JqZWN0cyBiZWNhdXNlIG91dHB1dCBjb250YWlucyBvd25lciBpbmZvLgorLS0g TXVzdCBiZSBzdXBlcnVzZXIgdG8gYmUgb3duZXIgb2YgdGFibGVzcGFjZS4KK0NSRUFURSBST0xF IHJlZ3Jlc3NfemVyb3ByaXZfb3duZXIgU1VQRVJVU0VSOworU0VUIExPQ0FMIFJPTEUgcmVncmVz c196ZXJvcHJpdl9vd25lcjsKK0FMVEVSIFRBQkxFU1BBQ0UgcmVncmVzc190YmxzcGFjZSBPV05F UiBUTyBDVVJSRU5UX1VTRVI7CitSRVZPS0UgQUxMIE9OIFRBQkxFU1BBQ0UgcmVncmVzc190Ymxz cGFjZSBGUk9NIENVUlJFTlRfVVNFUjsKK1xkYisgcmVncmVzc190YmxzcGFjZQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiB0YWJsZXNwYWNl cworICAgICAgIE5hbWUgICAgICAgfCAgICAgICAgIE93bmVyICAgICAgICAgIHwgICAgTG9jYXRp b24gICAgIHwgQWNjZXNzIHByaXZpbGVnZXMgfCBPcHRpb25zIHwgIFNpemUgICB8IERlc2NyaXB0 aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0tLQorIHJlZ3Jlc3NfdGJsc3BhY2UgfCByZWdyZXNzX3plcm9wcml2X293bmVyIHwgcGdf dGJsc3BjLzE2Mzg1IHwgKG5vbmUpICAgICAgICAgICAgfCAgICAgICAgIHwgMCBieXRlcyB8IAor KDEgcm93KQorCitDUkVBVEUgRE9NQUlOIHJlZ3Jlc3NfemVyb3ByaXZfZG9tYWluIEFTIGludDsK K1JFVk9LRSBBTEwgT04gRE9NQUlOIHJlZ3Jlc3NfemVyb3ByaXZfZG9tYWluIEZST00gQ1VSUkVO VF9VU0VSLCBQVUJMSUM7CitcZEQrIHJlZ3Jlc3NfemVyb3ByaXZfZG9tYWluCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBkb21haW5z CisgU2NoZW1hIHwgICAgICAgICAgTmFtZSAgICAgICAgICAgfCAgVHlwZSAgIHwgQ29sbGF0aW9u IHwgTnVsbGFibGUgfCBEZWZhdWx0IHwgQ2hlY2sgfCBBY2Nlc3MgcHJpdmlsZWdlcyB8IERlc2Ny aXB0aW9uIAorLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0KKyBwdWJsaWMgfCByZWdyZXNzX3plcm9wcml2X2RvbWFpbiB8IGludGVn ZXIgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfCAgICAgICB8IChub25lKSAgICAg ICAgICAgIHwgCisoMSByb3cpCisKK0NSRUFURSBQUk9DRURVUkUgcmVncmVzc196ZXJvcHJpdl9w cm9jKCkgTEFOR1VBR0Ugc3FsIEFTICcnOworUkVWT0tFIEFMTCBPTiBQUk9DRURVUkUgcmVncmVz c196ZXJvcHJpdl9wcm9jKCkgRlJPTSBDVVJSRU5UX1VTRVIsIFBVQkxJQzsKK1xkZisgcmVncmVz c196ZXJvcHJpdl9wcm9jCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qg b2YgZnVuY3Rpb25zCisgU2NoZW1hIHwgICAgICAgICBOYW1lICAgICAgICAgIHwgUmVzdWx0IGRh dGEgdHlwZSB8IEFyZ3VtZW50IGRhdGEgdHlwZXMgfCBUeXBlIHwgVm9sYXRpbGl0eSB8IFBhcmFs bGVsIHwgICAgICAgICBPd25lciAgICAgICAgICB8IFNlY3VyaXR5IHwgQWNjZXNzIHByaXZpbGVn ZXMgfCBMYW5ndWFnZSB8IEludGVybmFsIG5hbWUgfCBEZXNjcmlwdGlvbiAKKy0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLQorIHB1YmxpYyB8IHJlZ3Jlc3NfemVyb3ByaXZfcHJvYyB8ICAg ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHwgcHJvYyB8IHZvbGF0aWxlICAg fCB1bnNhZmUgICB8IHJlZ3Jlc3NfemVyb3ByaXZfb3duZXIgfCBpbnZva2VyICB8IChub25lKSAg ICAgICAgICAgIHwgc3FsICAgICAgfCAgICAgICAgICAgICAgIHwgCisoMSByb3cpCisKK0FMVEVS IExBTkdVQUdFIHBscGdzcWwgT1dORVIgVE8gQ1VSUkVOVF9VU0VSOworUkVWT0tFIEFMTCBPTiBM QU5HVUFHRSBwbHBnc3FsIEZST00gQ1VSUkVOVF9VU0VSLCBQVUJMSUM7CitcZEwrIHBscGdzcWwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIGxhbmd1YWdlcworICBO YW1lICAgfCAgICAgICAgIE93bmVyICAgICAgICAgIHwgVHJ1c3RlZCB8IEludGVybmFsIGxhbmd1 YWdlIHwgICAgICBDYWxsIGhhbmRsZXIgICAgICB8ICAgICAgIFZhbGlkYXRvciAgICAgICAgfCAg ICAgICAgICBJbmxpbmUgaGFuZGxlciAgICAgICAgICB8IEFjY2VzcyBwcml2aWxlZ2VzIHwgICAg ICAgICBEZXNjcmlwdGlvbiAgICAgICAgICAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisgcGxwZ3NxbCB8IHJlZ3Jlc3NfemVyb3ByaXZfb3duZXIgfCB0ICAgICAgIHwgZiAgICAgICAg ICAgICAgICAgfCBwbHBnc3FsX2NhbGxfaGFuZGxlcigpIHwgcGxwZ3NxbF92YWxpZGF0b3Iob2lk KSB8IHBscGdzcWxfaW5saW5lX2hhbmRsZXIoaW50ZXJuYWwpIHwgKG5vbmUpICAgICAgICAgICAg fCBQTC9wZ1NRTCBwcm9jZWR1cmFsIGxhbmd1YWdlCisoMSByb3cpCisKK1NFTEVDVCBsb19jcmVh dGUoMzAwMSk7CisgbG9fY3JlYXRlIAorLS0tLS0tLS0tLS0KKyAgICAgIDMwMDEKKygxIHJvdykK KworUkVWT0tFIEFMTCBPTiBMQVJHRSBPQkpFQ1QgMzAwMSBGUk9NIENVUlJFTlRfVVNFUjsKK1xk bCsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgTGFyZ2Ugb2JqZWN0cworICBJRCAgfCAgICAg ICAgIE93bmVyICAgICAgICAgIHwgQWNjZXNzIHByaXZpbGVnZXMgfCBEZXNjcmlwdGlvbiAKKy0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tCisgMzAwMSB8IHJlZ3Jlc3NfemVyb3ByaXZfb3duZXIgfCAobm9uZSkgICAgICAgICAg ICB8IAorKDEgcm93KQorCitDUkVBVEUgU0NIRU1BIHJlZ3Jlc3NfemVyb3ByaXZfc2NoZW1hOwor UkVWT0tFIEFMTCBPTiBTQ0hFTUEgcmVncmVzc196ZXJvcHJpdl9zY2hlbWEgRlJPTSBDVVJSRU5U X1VTRVI7CitcZG4rIHJlZ3Jlc3NfemVyb3ByaXZfc2NoZW1hCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTGlzdCBvZiBzY2hlbWFzCisgICAgICAgICAgTmFtZSAgICAgICAgICAg fCAgICAgICAgIE93bmVyICAgICAgICAgIHwgQWNjZXNzIHByaXZpbGVnZXMgfCBEZXNjcmlwdGlv biAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfemVyb3ByaXZfc2NoZW1h IHwgcmVncmVzc196ZXJvcHJpdl9vd25lciB8IChub25lKSAgICAgICAgICAgIHwgCisoMSByb3cp CisKK0NSRUFURSBUQUJMRSByZWdyZXNzX3plcm9wcml2X3RibCAoYSBpbnQpOworUkVWT0tFIEFM TCBPTiBUQUJMRSByZWdyZXNzX3plcm9wcml2X3RibCBGUk9NIENVUlJFTlRfVVNFUjsKK1xkcCBy ZWdyZXNzX3plcm9wcml2X3RibAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg QWNjZXNzIHByaXZpbGVnZXMKKyBTY2hlbWEgfCAgICAgICAgIE5hbWUgICAgICAgICB8IFR5cGUg IHwgQWNjZXNzIHByaXZpbGVnZXMgfCBDb2x1bW4gcHJpdmlsZWdlcyB8IFBvbGljaWVzIAorLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCisgcHVibGljIHwgcmVncmVzc196ZXJvcHJp dl90YmwgfCB0YWJsZSB8IChub25lKSAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAK KygxIHJvdykKKworQ1JFQVRFIFRZUEUgcmVncmVzc196ZXJvcHJpdl90eXBlIEFTIChhIGludCk7 CitSRVZPS0UgQUxMIE9OIFRZUEUgcmVncmVzc196ZXJvcHJpdl90eXBlIEZST00gQ1VSUkVOVF9V U0VSLCBQVUJMSUM7CitcZFQrIHJlZ3Jlc3NfemVyb3ByaXZfdHlwZQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZGF0YSB0 eXBlcworIFNjaGVtYSB8ICAgICAgICAgTmFtZSAgICAgICAgICB8ICAgICBJbnRlcm5hbCBuYW1l ICAgICB8IFNpemUgIHwgRWxlbWVudHMgfCAgICAgICAgIE93bmVyICAgICAgICAgIHwgQWNjZXNz IHByaXZpbGVnZXMgfCBEZXNjcmlwdGlvbiAKKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcHVibGlj IHwgcmVncmVzc196ZXJvcHJpdl90eXBlIHwgcmVncmVzc196ZXJvcHJpdl90eXBlIHwgdHVwbGUg fCAgICAgICAgICB8IHJlZ3Jlc3NfemVyb3ByaXZfb3duZXIgfCAobm9uZSkgICAgICAgICAgICB8 IAorKDEgcm93KQorCitBTFRFUiBEQVRBQkFTRSA6IkRCTkFNRSIgT1dORVIgVE8gQ1VSUkVOVF9V U0VSOworUkVWT0tFIEFMTCBPTiBEQVRBQkFTRSA6IkRCTkFNRSIgRlJPTSBDVVJSRU5UX1VTRVIs IFBVQkxJQzsKK1xsIDoiREJOQU1FIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIGRhdGFiYXNlcworICAgIE5hbWUgICAgfCAg ICAgICAgIE93bmVyICAgICAgICAgIHwgRW5jb2RpbmcgIHwgTG9jYWxlIFByb3ZpZGVyIHwgQ29s bGF0ZSB8IEN0eXBlIHwgSUNVIExvY2FsZSB8IElDVSBSdWxlcyB8IEFjY2VzcyBwcml2aWxlZ2Vz IAorLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Npb24gfCByZWdyZXNzX3plcm9wcml2X293bmVy IHwgU1FMX0FTQ0lJIHwgbGliYyAgICAgICAgICAgIHwgQyAgICAgICB8IEMgICAgIHwgICAgICAg ICAgICB8ICAgICAgICAgICB8IChub25lKQorKDEgcm93KQorCitST0xMQkFDSzsKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ByaXZpbGVnZXMuc3FsIGIvc3JjL3Rlc3QvcmVncmVz cy9zcWwvcHJpdmlsZWdlcy5zcWwKaW5kZXggYmYwMDM1ZDk2ZC4uNzBjMDZiMmZhNCAxMDA2NDQK LS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcHJpdmlsZWdlcy5zcWwKKysrIGIvc3JjL3Rlc3Qv cmVncmVzcy9zcWwvcHJpdmlsZWdlcy5zcWwKQEAgLTE4NjEsMyArMTg2MSw0OSBAQCBEUk9QIFND SEVNQSByZWdyZXNzX3JvbGVvcHRpb247CiBEUk9QIFJPTEUgcmVncmVzc19yb2xlb3B0aW9uX3By b3RhZ29uaXN0OwogRFJPUCBST0xFIHJlZ3Jlc3Nfcm9sZW9wdGlvbl9kb25vcjsKIERST1AgUk9M RSByZWdyZXNzX3JvbGVvcHRpb25fcmVjaXBpZW50OworCisKKy0tIFRlc3QgemVybyBwcml2aWxl Z2VzLgorQkVHSU47CistLSBDcmVhdGUgYW4gb3duZXIgZm9yIHRlc3RlZCBvYmplY3RzIGJlY2F1 c2Ugb3V0cHV0IGNvbnRhaW5zIG93bmVyIGluZm8uCistLSBNdXN0IGJlIHN1cGVydXNlciB0byBi ZSBvd25lciBvZiB0YWJsZXNwYWNlLgorQ1JFQVRFIFJPTEUgcmVncmVzc196ZXJvcHJpdl9vd25l ciBTVVBFUlVTRVI7CitTRVQgTE9DQUwgUk9MRSByZWdyZXNzX3plcm9wcml2X293bmVyOworCitB TFRFUiBUQUJMRVNQQUNFIHJlZ3Jlc3NfdGJsc3BhY2UgT1dORVIgVE8gQ1VSUkVOVF9VU0VSOwor UkVWT0tFIEFMTCBPTiBUQUJMRVNQQUNFIHJlZ3Jlc3NfdGJsc3BhY2UgRlJPTSBDVVJSRU5UX1VT RVI7CitcZGIrIHJlZ3Jlc3NfdGJsc3BhY2UKKworQ1JFQVRFIERPTUFJTiByZWdyZXNzX3plcm9w cml2X2RvbWFpbiBBUyBpbnQ7CitSRVZPS0UgQUxMIE9OIERPTUFJTiByZWdyZXNzX3plcm9wcml2 X2RvbWFpbiBGUk9NIENVUlJFTlRfVVNFUiwgUFVCTElDOworXGREKyByZWdyZXNzX3plcm9wcml2 X2RvbWFpbgorCitDUkVBVEUgUFJPQ0VEVVJFIHJlZ3Jlc3NfemVyb3ByaXZfcHJvYygpIExBTkdV QUdFIHNxbCBBUyAnJzsKK1JFVk9LRSBBTEwgT04gUFJPQ0VEVVJFIHJlZ3Jlc3NfemVyb3ByaXZf cHJvYygpIEZST00gQ1VSUkVOVF9VU0VSLCBQVUJMSUM7CitcZGYrIHJlZ3Jlc3NfemVyb3ByaXZf cHJvYworCitBTFRFUiBMQU5HVUFHRSBwbHBnc3FsIE9XTkVSIFRPIENVUlJFTlRfVVNFUjsKK1JF Vk9LRSBBTEwgT04gTEFOR1VBR0UgcGxwZ3NxbCBGUk9NIENVUlJFTlRfVVNFUiwgUFVCTElDOwor XGRMKyBwbHBnc3FsCisKK1NFTEVDVCBsb19jcmVhdGUoMzAwMSk7CitSRVZPS0UgQUxMIE9OIExB UkdFIE9CSkVDVCAzMDAxIEZST00gQ1VSUkVOVF9VU0VSOworXGRsKworCitDUkVBVEUgU0NIRU1B IHJlZ3Jlc3NfemVyb3ByaXZfc2NoZW1hOworUkVWT0tFIEFMTCBPTiBTQ0hFTUEgcmVncmVzc196 ZXJvcHJpdl9zY2hlbWEgRlJPTSBDVVJSRU5UX1VTRVI7CitcZG4rIHJlZ3Jlc3NfemVyb3ByaXZf c2NoZW1hCisKK0NSRUFURSBUQUJMRSByZWdyZXNzX3plcm9wcml2X3RibCAoYSBpbnQpOworUkVW T0tFIEFMTCBPTiBUQUJMRSByZWdyZXNzX3plcm9wcml2X3RibCBGUk9NIENVUlJFTlRfVVNFUjsK K1xkcCByZWdyZXNzX3plcm9wcml2X3RibAorCitDUkVBVEUgVFlQRSByZWdyZXNzX3plcm9wcml2 X3R5cGUgQVMgKGEgaW50KTsKK1JFVk9LRSBBTEwgT04gVFlQRSByZWdyZXNzX3plcm9wcml2X3R5 cGUgRlJPTSBDVVJSRU5UX1VTRVIsIFBVQkxJQzsKK1xkVCsgcmVncmVzc196ZXJvcHJpdl90eXBl CisKK0FMVEVSIERBVEFCQVNFIDoiREJOQU1FIiBPV05FUiBUTyBDVVJSRU5UX1VTRVI7CitSRVZP S0UgQUxMIE9OIERBVEFCQVNFIDoiREJOQU1FIiBGUk9NIENVUlJFTlRfVVNFUiwgUFVCTElDOwor XGwgOiJEQk5BTUUiCisKK1JPTExCQUNLOwotLSAKMi40Mi4wCgo= ------=_Part_127451_880655061.1694979110595--