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.98.2) (envelope-from ) id 1xBlzT-00000003NRm-1m4N for pgsql-hackers@arkaria.postgresql.org; Wed, 30 Sep 2026 04:32:23 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.98.2) (envelope-from ) id 1xBlzS-000000009E6-1lYJ for pgsql-hackers@arkaria.postgresql.org; Wed, 30 Sep 2026 04:32:22 +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.98.2) (envelope-from ) id 1xBlzR-000000009Dx-3gop for pgsql-hackers@lists.postgresql.org; Wed, 30 Sep 2026 04:32:22 +0000 Received: from mail-pz2-x29.google.com ([2607:f8b0:4864:3b::29]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1xBlzP-00000001yh6-1l7o for pgsql-hackers@lists.postgresql.org; Wed, 30 Sep 2026 04:32:21 +0000 Received: by mail-pz2-x29.google.com with SMTP id 41be03b00d2f7-cc7cc70890fso581412a12.1 for ; Tue, 29 Sep 2026 21:32:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790742738; x=1791347538; darn=lists.postgresql.org; h=content-type:mime-version:references:in-reply-to:message-id:date :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to :content-type; bh=ALoBy0sJea4RVild0oXoaZwE7KnTAj5EbXkTDBmNISM=; b=MicLg07V68pBja3iP6VV1nI89mkaZhN3G2PP83B5Yn7KOaRFO6VYLkD3/gUJdfgrq3 hh7+Lc0rCskbUPgCJJSi98eeMBC4xPAIVrb+oI1xbk4b9tkSx+AEjWEWIGudM3aMMOVs 4KAbco7TkhyIBmCXaYjc/VpMtZSmyvcUVpLlpgwE2DO5XdXQhOv7dCSzFQKPlIejZpS3 1NsFZzpmFFWn3/bLxI+bchvHFAOqwe+kMdECTH8wqVhvcohtX05ga7n2o0zoo07fNRe2 5uAVGaZIP1143EMmj4hot8xS863aZzqiLKEhbrOdCBAu1BFv1fC+HoHEt3aIajV690aN snww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790742738; x=1791347538; h=content-type:mime-version:references:in-reply-to:message-id:date :subject:cc:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to:content-type; bh=ALoBy0sJea4RVild0oXoaZwE7KnTAj5EbXkTDBmNISM=; b=zuEzq5ekbd86UPA2+g+yt6cmKmkx6eQrwSyF8vdlZhQancYmgMi/3oES7LtiVeV98J rj1AUW4TpnVdTTTvWT3Jg4df4kUgQKVFculWwY6r0eYfMm8LCsO3b7y52CevduEvc6Px ZvqR3LGMbyG9gvAFPvRYUnyC5nKcqVYTtB/rl/KfhRD4o+ilQgmshqpa5QOUEPoPz/hu imJidAxVxLmEafX2+YqDZvg4G18ouc2JJD4xeHUHakNN5P+ecq0r0FIZZb5+bNtGYEX7 thzueiU4fHFumsCTEdoYeVu6IqRao2Vti2eo2sBYIp9WCZ14S+jAieQ/2uALQtqStnIt sTwg== X-Forwarded-Encrypted: i=1; AKwUvBxmgFREROCTJRqTdPa5sMP0N7pT1LpBVl7UWwb93q02mQHWdMiYa1rF+izmXAFY/zyvNry47+IWhRSDkYbl@lists.postgresql.org X-Gm-Message-State: AFuF++lhfyvHdxENJXqhMowJJj8ccAPgmgYY7SdVLXLt7/jhTx7m2JVj FlZ5s1yAX9LaG3G32Q9AKy0RZGPWtSXmNe6IMOx/4aDHbi2YoRV5A2MM X-Gm-Gg: AYBFou2ZxAUqhYthYW1QjDbAkFHLEH1m5ch3PHDUJ/KRgqRPyfDjwdxa9CA9jtFxjMs UGj8S+rxnclAA8C4TpJh/RswTD5e7Y2ndzW4OvtMI0MzpU6J6iurwB6gLiqqktRhv2so4w7fpGx /G6hNacZOpLyd1XJAHkDBcIaj5cCnwJELsfNL2t70bV7+QMwrKilsIqdZuzRozdLpe24JrkKrbF Y2P/97AqTNRomjYy3FLez31cTaXqUkXjc7i5uPyLz4n7OcCdM/zUIDEeJkRbzjtgEuMXZTivPLk zLUn0DhbcdLRec5+u5kcV1kXX2V3N0Zk8CEdgFuFXwz9R0YhJtjizRTA5gsKk5DuA5dWV6Uf6XG WkI1frGy69XypfABethhy1LFDK2eyVlFbj21VpW8lh1edTfpbd8ta0Gjt2ostdWUtf6dXd1VpI0 OkycK+twBxuuhGp/YvXg8JTStKXv7PmO/mO2AAyaDhyRJHVX+N0ySLwldlMmm50IWSPlgFWZciT wSJ8ZPgLTOWOKTIjJpQhExV16GREr1Tq0/a1bOMwSC9iXLA5R5Sqw4j6mag1cfUrpQmCDZisngC fZd7ewASeLjQRsE= X-Received: by 2002:a05:6a21:9191:b0:3de:76da:6b9 with SMTP id adf61e73a8af0-3de9e87ef5amr239099637.68.1790742738051; Tue, 29 Sep 2026 21:32:18 -0700 (PDT) Received: from 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa ([61.98.119.142]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-cc7da1514ccsm90308a12.16.2026.09.29.21.32.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Sep 2026 21:32:17 -0700 (PDT) From: Paul Kim To: jacob.champion@enterprisedb.com Cc: reshkekirill@gmail.com, ayushtiwari.slg01@gmail.com, pgsql-hackers@lists.postgresql.org Subject: Re: REVOKE's CASCADE protection doesn't work with INHERITed table owners Date: Wed, 30 Sep 2026 13:32:14 +0900 Message-ID: <179074273441.6180.2515281464552050662@mail.gmail.com> In-Reply-To: References: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0812947924676626743==" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============0812947924676626743== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Hi, I reproduced the superuser case on PostgreSQL 18.4 and master (5e592904025). Starting as a superuser: CREATE ROLE o; CREATE ROLE g; CREATE ROLE r; GRANT CREATE ON SCHEMA public TO o; SET SESSION AUTHORIZATION o; CREATE TABLE t (a int); GRANT SELECT ON t TO g WITH GRANT OPTION; SET SESSION AUTHORIZATION g; GRANT SELECT ON t TO r; RESET SESSION AUTHORIZATION; ALTER ROLE g SUPERUSER; REVOKE GRANT OPTION FOR SELECT ON t FROM g; -- no error ALTER ROLE g NOSUPERUSER; The REVOKE succeeds and leaves r=r/g in relacl, although g no longer has the grant option. pg_dump emits the dependent grant under SET SESSION AUTHORIZATION g. Restoring into a fresh database reports "WARNING: no privileges were granted" and leaves r without SELECT. With your patch, REVOKE fails with "dependent privileges exist"; with CASCADE, it removes r's grant. Without GRANTED BY, a superuser's GRANT is recorded under the object owner, which is why the sequence above has g grant before it is promoted. On master, GRANTED BY g can also record the grant under g while it is already a superuser. I added a test for this case next to the atest4_groupowned tests. Reverting just the acl.c change makes it fail: REVOKE succeeds, and r keeps SELECT after CASCADE. The attached 0001 is your v1 rebased onto master, with no changes to the code or tests; 0002 adds the superuser test. Please feel free to fold 0002 into your patch. I labeled them v2 only so the two apply as a set; renumber as you like. The pair applies with git am on REL_16_STABLE through REL_18_STABLE. On 14 and 15, the acl.c prototype hunk needs git am -3. The core regression suite passes on all five branches, and on master. This sequence does not self-grant, so it does not exercise the check_circularity issue discussed earlier in the thread. Regards, Paul Kim --===============0812947924676626743== Content-Type: text/x-patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="v2-0001-Prevent-broken-grant-chains-when-indirect-grant-o.patch" MIME-Version: 1.0 RnJvbSAwYTgxMWRlNDBmM2I0YmI3ZmU1ZDRlNDNlYTJmNTgzYTUyNzVjMGY2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNvYiBDaGFtcGlvbiA8amFjb2IuY2hhbXBpb25AZW50ZXJw cmlzZWRiLmNvbT4KRGF0ZTogVGh1LCAyNSBKdW4gMjAyNiAxMToxODoyMCAtMDcwMApTdWJqZWN0 OiBbUEFUQ0ggdjIgMS8yXSBQcmV2ZW50IGJyb2tlbiBncmFudCBjaGFpbnMgd2hlbiBpbmRpcmVj dCBncmFudAogb3B0aW9ucyBhcmUgaGVsZAoKcmVjdXJzaXZlX3Jldm9rZSgpIGlzIG1lYW50IHRv IHByb3RlY3QgYWdhaW5zdCBjYXNlcyB3aGVyZSBhIGdyYW50b3IKbG9zZXMgdGhlaXIgZ3JhbnQg b3B0aW9uIGFmdGVyIGlzc3VpbmcgZGVwZW5kZW50IGdyYW50cyB0byBvdGhlciByb2xlcy4KSW4g dGhhdCBjYXNlLCB0aGUgdXNlciBtdXN0IHNwZWNpZnkgQ0FTQ0FERSB0byBwcnVuZSB0aGUgZGVw ZW5kZW50IEFDTHMuCgpIb3dldmVyLCBpZiBhIGdyYW50b3IgaGFwcGVucyB0byBob2xkIGdyYW50 IG9wdGlvbnMgKG9yIHRhYmxlIG93bmVyc2hpcCkKaW5kaXJlY3RseSwgd2hldGhlciB2aWEgSU5I RVJJVCBvciBTVVBFUlVTRVIsIHJlY3Vyc2l2ZV9yZXZva2UoKQpzaG9ydC1jaXJjdWl0cyBhbmQg YWxsb3dzIHRoZSBSRVZPS0UgdG8gYnJlYWsgdGhlIGdyYW50IGNoYWluLiBTeW1wdG9tcwppbmNs dWRlIGdlbmVyYWwgdXNlciBjb25mdXNpb24gYXMgd2VsbCBhcyBwcm9ibGVtcyBkdXJpbmcgZHVt cC9yZXN0b3JlLAp3aGljaCBjYW5ub3QgcmVjcmVhdGUgdGhlIG9yaWdpbmFsIHN0YXRlLgoKVG8g Zml4LCBzd2l0Y2ggZnJvbSBhY2xtYXNrKCkgdG8gYWNsbWFza19kaXJlY3QoKS4KCkRpc2N1c3Np b246IGh0dHBzOi8vcG9zdGdyLmVzL20vQ0FPWW1pJTJCJTNES1RMZCUyQlhzRVAlM0RURGlaNDhp VmYtQ0VjN0pyWmQ1dWhXUFlXS0VmT2d5eVElNDBtYWlsLmdtYWlsLmNvbQpCYWNrcGF0Y2gtdGhy b3VnaDogMTQKLS0tCiBzcmMvYmFja2VuZC91dGlscy9hZHQvYWNsLmMgICAgICAgICAgICAgIHwg MTkgKysrLS0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQgfCA4OCAr KysrKysrKysrKysrKysrKysrKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ByaXZpbGVnZXMu c3FsICAgICAgfCA0NCArKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTQ3IGluc2VydGlv bnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L2FjbC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2FjbC5jCmluZGV4IDkxM2Q3MTVhOGM4Li44 YmNkYTcxOWU0YyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2FjbC5jCisrKyBi L3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9hY2wuYwpAQCAtMTAyLDYgKzEwMiw4IEBAIHN0YXRpYyB2 b2lkIGNoZWNrX2NpcmN1bGFyaXR5KGNvbnN0IEFjbCAqb2xkX2FjbCwgY29uc3QgQWNsSXRlbSAq bW9kX2FpcCwKIAkJCQkJCQkgIE9pZCBvd25lcklkKTsKIHN0YXRpYyBBY2wgKnJlY3Vyc2l2ZV9y ZXZva2UoQWNsICphY2wsIE9pZCBncmFudGVlLCBBY2xNb2RlIHJldm9rZV9wcml2cywKIAkJCQkJ CQkgT2lkIG93bmVySWQsIERyb3BCZWhhdmlvciBiZWhhdmlvcik7CitzdGF0aWMgQWNsTW9kZSBh Y2xtYXNrX2RpcmVjdChjb25zdCBBY2wgKmFjbCwgT2lkIHJvbGVpZCwgT2lkIG93bmVySWQsCisJ CQkJCQkJICBBY2xNb2RlIG1hc2ssIEFjbE1hc2tIb3cgaG93KTsKIAogc3RhdGljIEFjbE1vZGUg Y29udmVydF9hbnlfcHJpdl9zdHJpbmcodGV4dCAqcHJpdl90eXBlX3RleHQsCiAJCQkJCQkJCQkg ICBjb25zdCBwcml2X21hcCAqcHJpdmlsZWdlcyk7CkBAIC0xMzQ5LDEwICsxMzUxLDE5IEBAIHJl Y3Vyc2l2ZV9yZXZva2UoQWNsICphY2wsCiAJaWYgKGdyYW50ZWUgPT0gb3duZXJJZCkKIAkJcmV0 dXJuIGFjbDsKIAotCS8qIFRoZSBncmFudGVlIG1pZ2h0IHN0aWxsIGhhdmUgc29tZSBncmFudCBv cHRpb25zIHZpYSBhbm90aGVyIGdyYW50b3IgKi8KLQlzdGlsbF9oYXMgPSBhY2xtYXNrKGFjbCwg Z3JhbnRlZSwgb3duZXJJZCwKLQkJCQkJCUFDTF9HUkFOVF9PUFRJT05fRk9SKHJldm9rZV9wcml2 cyksCi0JCQkJCQlBQ0xNQVNLX0FMTCk7CisJLyoKKwkgKiBUaGUgZ3JhbnRlZSBtaWdodCBzdGls bCBoYXZlIHNvbWUgZ3JhbnQgb3B0aW9ucyB2aWEgYW5vdGhlciBncmFudG9yLAorCSAqIGtlZXBp bmcgdGhlIGNoYWluIGludGFjdCBmb3IgdGhvc2UgcHJpdmlsZWdlcy4gQW5kIGlmIF9hbGxfIG9m IHRoZQorCSAqIHJlbWFpbmluZyBwcml2aWxlZ2VzIGNhbiBzdGlsbCBiZSBncmFudGVkIGJ5IGFu eSByb2xlIG9uIHRoZSBjaGFpbiwKKwkgKiB3ZSdyZSBkb25lLgorCSAqCisJICogSW5kaXJlY3Rs eSBoZWxkIGdyYW50IG9wdGlvbnMgY2Fubm90IGtlZXAgdGhlIGNoYWluIGFsaXZlLCBzbyBjb25z dWx0CisJICogYWNsbWFza19kaXJlY3QoKSByYXRoZXIgdGhhbiBhY2xtYXNrKCkuIChPdGhlcndp c2UsIGZvciBleGFtcGxlLCBhCisJICogY2hhaW4gY291bGQgYmUgYnJva2VuIHdoZXJldmVyIHRo ZSBncmFudGVlIHdhcyBhIHN1cGVydXNlcikuCisJICovCisJc3RpbGxfaGFzID0gYWNsbWFza19k aXJlY3QoYWNsLCBncmFudGVlLCBvd25lcklkLAorCQkJCQkJCSAgIEFDTF9HUkFOVF9PUFRJT05f Rk9SKHJldm9rZV9wcml2cyksCisJCQkJCQkJICAgQUNMTUFTS19BTEwpOwogCXJldm9rZV9wcml2 cyAmPSB+QUNMX09QVElPTl9UT19QUklWUyhzdGlsbF9oYXMpOwogCWlmIChyZXZva2VfcHJpdnMg PT0gQUNMX05PX1JJR0hUUykKIAkJcmV0dXJuIGFjbDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3ByaXZpbGVnZXMub3V0CmluZGV4IDliNzE1M2M5Y2Q1Li40ZGU5ZDc0OTU3NCAxMDA2NDQKLS0t IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wcml2aWxlZ2VzLm91dAorKysgYi9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3ByaXZpbGVnZXMub3V0CkBAIC0xODg1LDYgKzE4ODUsOCBAQCBD UkVBVEUgVEFCTEUgYXRlc3Q0IChhIGludCk7CiBHUkFOVCBTRUxFQ1QgT04gYXRlc3Q0IFRPIHJl Z3Jlc3NfcHJpdl91c2VyMiBXSVRIIEdSQU5UIE9QVElPTjsKIEdSQU5UIFVQREFURSBPTiBhdGVz dDQgVE8gcmVncmVzc19wcml2X3VzZXIyOwogR1JBTlQgU0VMRUNUIE9OIGF0ZXN0NCBUTyBHUk9V UCByZWdyZXNzX3ByaXZfZ3JvdXAxIFdJVEggR1JBTlQgT1BUSU9OOworR1JBTlQgU0VMRUNUIE9O IGF0ZXN0NCBUTyBQVUJMSUMgV0lUSCBHUkFOVCBPUFRJT047IC0tIGZhaWwKK0VSUk9SOiAgZ3Jh bnQgb3B0aW9ucyBjYW4gb25seSBiZSBncmFudGVkIHRvIHJvbGVzCiBTRVQgU0VTU0lPTiBBVVRI T1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMjsKIEdSQU5UIFNFTEVDVCBPTiBhdGVzdDQgVE8g cmVncmVzc19wcml2X3VzZXIzOwogR1JBTlQgVVBEQVRFIE9OIGF0ZXN0NCBUTyByZWdyZXNzX3By aXZfdXNlcjM7IC0tIGZhaWwKQEAgLTE5MTksNiArMTkyMSw5MSBAQCBTRUxFQ1QgaGFzX3RhYmxl X3ByaXZpbGVnZSgncmVncmVzc19wcml2X3VzZXIxJywgJ2F0ZXN0NCcsICdTRUxFQ1QgV0lUSCBH UkFOVCBPUAogIHQKICgxIHJvdykKIAorLS0gVGVzdCBHUkFOVCBPUFRJT04gY2hhaW5zIHdoZXJl IHRoZSBpbnRlcm1lZGlhdGUgZ3JhbnRvciBoYXMgdGhlIHByaXZpbGVnZXMgb2YKKy0tIHRoZSBv d25lciAocmVncmVzc19wcml2X2dyb3VwMSAtPiByZWdyZXNzX3ByaXZfdXNlcjQgLT4gcmVncmVz c19wcml2X3VzZXIyKQorLS0gb3IgaW5oZXJpdHMgdGhlIG9wdGlvbiAocmVncmVzc19wcml2X2dy b3VwMiAtPiByZWdyZXNzX3ByaXZfdXNlcjEgLT4KKy0tIHJlZ3Jlc3NfcHJpdl91c2VyMykuCist LSBwaW4gdGhlIGdyb3VwIG1lbWJlcnNoaXAgdGhhdCB3ZSByZWx5IG9uIGJlbG93CitTRUxFQ1Qg cGdfaGFzX3JvbGUoJ3JlZ3Jlc3NfcHJpdl91c2VyNCcsICdyZWdyZXNzX3ByaXZfZ3JvdXAxJywg J01FTUJFUicpLAorCSAgIHBnX2hhc19yb2xlKCdyZWdyZXNzX3ByaXZfdXNlcjEnLCAncmVncmVz c19wcml2X2dyb3VwMicsICdNRU1CRVInKTsKKyBwZ19oYXNfcm9sZSB8IHBnX2hhc19yb2xlIAor LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgdCAgICAgICAgICAgfCB0CisoMSByb3cpCisK K1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X2dyb3VwMTsKK0NSRUFURSBU QUJMRSBhdGVzdDRfZ3JvdXBvd25lZCAoYSBpbnQpOworR1JBTlQgU0VMRUNUIE9OIGF0ZXN0NF9n cm91cG93bmVkIFRPIHJlZ3Jlc3NfcHJpdl91c2VyNCBXSVRIIEdSQU5UIE9QVElPTjsKK0dSQU5U IFVQREFURSBPTiBhdGVzdDRfZ3JvdXBvd25lZCBUTyByZWdyZXNzX3ByaXZfZ3JvdXAyIFdJVEgg R1JBTlQgT1BUSU9OOworR1JBTlQgVVBEQVRFIE9OIGF0ZXN0NF9ncm91cG93bmVkIFRPIHJlZ3Jl c3NfcHJpdl91c2VyMSBXSVRIIEdSQU5UIE9QVElPTjsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJ T04gcmVncmVzc19wcml2X3VzZXI0OworR1JBTlQgU0VMRUNUIE9OIGF0ZXN0NF9ncm91cG93bmVk IFRPIHJlZ3Jlc3NfcHJpdl91c2VyMjsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVz c19wcml2X3VzZXIxOworR1JBTlQgVVBEQVRFIE9OIGF0ZXN0NF9ncm91cG93bmVkIFRPIHJlZ3Jl c3NfcHJpdl91c2VyMzsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X2dy b3VwMTsKK1JFVk9LRSBTRUxFQ1QgT04gYXRlc3Q0X2dyb3Vwb3duZWQgRlJPTSByZWdyZXNzX3By aXZfdXNlcjQ7IC0tIGZhaWwKK0VSUk9SOiAgZGVwZW5kZW50IHByaXZpbGVnZXMgZXhpc3QKK0hJ TlQ6ICBVc2UgQ0FTQ0FERSB0byByZXZva2UgdGhlbSB0b28uCitTRUxFQ1QgaGFzX3RhYmxlX3By aXZpbGVnZSgncmVncmVzc19wcml2X3VzZXIyJywgJ2F0ZXN0NF9ncm91cG93bmVkJywgJ1NFTEVD VCcpOyAtLSB0cnVlCisgaGFzX3RhYmxlX3ByaXZpbGVnZSAKKy0tLS0tLS0tLS0tLS0tLS0tLS0t LQorIHQKKygxIHJvdykKKworU0VMRUNUIGhhc190YWJsZV9wcml2aWxlZ2UoJ3JlZ3Jlc3NfcHJp dl91c2VyNCcsICdhdGVzdDRfZ3JvdXBvd25lZCcsICdTRUxFQ1QnKTsgLS0gdHJ1ZQorIGhhc190 YWJsZV9wcml2aWxlZ2UgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB0CisoMSByb3cpCisKK1JF Vk9LRSBTRUxFQ1QgT04gYXRlc3Q0X2dyb3Vwb3duZWQgRlJPTSByZWdyZXNzX3ByaXZfdXNlcjQg Q0FTQ0FERTsgLS0gb2sKK1NFTEVDVCBoYXNfdGFibGVfcHJpdmlsZWdlKCdyZWdyZXNzX3ByaXZf dXNlcjInLCAnYXRlc3Q0X2dyb3Vwb3duZWQnLCAnU0VMRUNUJyk7IC0tIGZhbHNlCisgaGFzX3Rh YmxlX3ByaXZpbGVnZSAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGYKKygxIHJvdykKKworU0VM RUNUIGhhc190YWJsZV9wcml2aWxlZ2UoJ3JlZ3Jlc3NfcHJpdl91c2VyNCcsICdhdGVzdDRfZ3Jv dXBvd25lZCcsICdTRUxFQ1QnKTsgLS0gc3RpbGwgdHJ1ZSAoaW5oZXJpdGVkKQorIGhhc190YWJs ZV9wcml2aWxlZ2UgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB0CisoMSByb3cpCisKK1JFVk9L RSBVUERBVEUgT04gYXRlc3Q0X2dyb3Vwb3duZWQgRlJPTSByZWdyZXNzX3ByaXZfdXNlcjE7IC0t IGZhaWwKK0VSUk9SOiAgZGVwZW5kZW50IHByaXZpbGVnZXMgZXhpc3QKK0hJTlQ6ICBVc2UgQ0FT Q0FERSB0byByZXZva2UgdGhlbSB0b28uCitTRUxFQ1QgaGFzX3RhYmxlX3ByaXZpbGVnZSgncmVn cmVzc19wcml2X3VzZXIzJywgJ2F0ZXN0NF9ncm91cG93bmVkJywgJ1VQREFURScpOyAtLSB0cnVl CisgaGFzX3RhYmxlX3ByaXZpbGVnZSAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHQKKygxIHJv dykKKworU0VMRUNUIGhhc190YWJsZV9wcml2aWxlZ2UoJ3JlZ3Jlc3NfcHJpdl91c2VyMScsICdh dGVzdDRfZ3JvdXBvd25lZCcsICdVUERBVEUnKTsgLS0gdHJ1ZQorIGhhc190YWJsZV9wcml2aWxl Z2UgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB0CisoMSByb3cpCisKK1JFVk9LRSBVUERBVEUg T04gYXRlc3Q0X2dyb3Vwb3duZWQgRlJPTSByZWdyZXNzX3ByaXZfdXNlcjEgQ0FTQ0FERTsgLS0g b2sKK1NFTEVDVCBoYXNfdGFibGVfcHJpdmlsZWdlKCdyZWdyZXNzX3ByaXZfdXNlcjMnLCAnYXRl c3Q0X2dyb3Vwb3duZWQnLCAnVVBEQVRFJyk7IC0tIGZhbHNlCisgaGFzX3RhYmxlX3ByaXZpbGVn ZSAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGYKKygxIHJvdykKKworU0VMRUNUIGhhc190YWJs ZV9wcml2aWxlZ2UoJ3JlZ3Jlc3NfcHJpdl91c2VyMScsICdhdGVzdDRfZ3JvdXBvd25lZCcsICdV UERBVEUnKTsgLS0gc3RpbGwgdHJ1ZSAoaW5oZXJpdGVkKQorIGhhc190YWJsZV9wcml2aWxlZ2Ug CistLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB0CisoMSByb3cpCisKK1JFVk9LRSBVUERBVEUgT04g YXRlc3Q0X2dyb3Vwb3duZWQgRlJPTSByZWdyZXNzX3ByaXZfZ3JvdXAyIFJFU1RSSUNUOyAtLSBv aworU0VMRUNUIGhhc190YWJsZV9wcml2aWxlZ2UoJ3JlZ3Jlc3NfcHJpdl91c2VyMScsICdhdGVz dDRfZ3JvdXBvd25lZCcsICdVUERBVEUnKTsgLS0gZmFsc2UKKyBoYXNfdGFibGVfcHJpdmlsZWdl IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgZgorKDEgcm93KQorCiAtLSBzZWN1cml0eS1yZXN0 cmljdGVkIG9wZXJhdGlvbnMKIFxjIC0KIENSRUFURSBST0xFIHJlZ3Jlc3Nfc3JvX3VzZXI7CkBA IC0zMjI4LDYgKzMzMTUsNyBAQCBEUk9QIFRBQkxFIGF0ZXN0MTsKIERST1AgVEFCTEUgYXRlc3Qy OwogRFJPUCBUQUJMRSBhdGVzdDM7CiBEUk9QIFRBQkxFIGF0ZXN0NDsKK0RST1AgVEFCTEUgYXRl c3Q0X2dyb3Vwb3duZWQ7CiBEUk9QIFRBQkxFIGF0ZXN0NTsKIERST1AgVEFCTEUgYXRlc3Q2Owog RFJPUCBUQUJMRSBhdGVzdGM7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wcml2 aWxlZ2VzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ByaXZpbGVnZXMuc3FsCmluZGV4IDAx MTNkZmE1ZGFiLi5jMzRmNTE5NmZlNSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwv cHJpdmlsZWdlcy5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcHJpdmlsZWdlcy5zcWwK QEAgLTEyMjYsNiArMTIyNiw3IEBAIENSRUFURSBUQUJMRSBhdGVzdDQgKGEgaW50KTsKIEdSQU5U IFNFTEVDVCBPTiBhdGVzdDQgVE8gcmVncmVzc19wcml2X3VzZXIyIFdJVEggR1JBTlQgT1BUSU9O OwogR1JBTlQgVVBEQVRFIE9OIGF0ZXN0NCBUTyByZWdyZXNzX3ByaXZfdXNlcjI7CiBHUkFOVCBT RUxFQ1QgT04gYXRlc3Q0IFRPIEdST1VQIHJlZ3Jlc3NfcHJpdl9ncm91cDEgV0lUSCBHUkFOVCBP UFRJT047CitHUkFOVCBTRUxFQ1QgT04gYXRlc3Q0IFRPIFBVQkxJQyBXSVRIIEdSQU5UIE9QVElP TjsgLS0gZmFpbAogCiBTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2Vy MjsKIApAQCAtMTI0Myw2ICsxMjQ0LDQ4IEBAIFNFTEVDVCBoYXNfdGFibGVfcHJpdmlsZWdlKCdy ZWdyZXNzX3ByaXZfdXNlcjMnLCAnYXRlc3Q0JywgJ1NFTEVDVCcpOyAtLSBmYWxzZQogCiBTRUxF Q1QgaGFzX3RhYmxlX3ByaXZpbGVnZSgncmVncmVzc19wcml2X3VzZXIxJywgJ2F0ZXN0NCcsICdT RUxFQ1QgV0lUSCBHUkFOVCBPUFRJT04nKTsgLS0gdHJ1ZQogCistLSBUZXN0IEdSQU5UIE9QVElP TiBjaGFpbnMgd2hlcmUgdGhlIGludGVybWVkaWF0ZSBncmFudG9yIGhhcyB0aGUgcHJpdmlsZWdl cyBvZgorLS0gdGhlIG93bmVyIChyZWdyZXNzX3ByaXZfZ3JvdXAxIC0+IHJlZ3Jlc3NfcHJpdl91 c2VyNCAtPiByZWdyZXNzX3ByaXZfdXNlcjIpCistLSBvciBpbmhlcml0cyB0aGUgb3B0aW9uIChy ZWdyZXNzX3ByaXZfZ3JvdXAyIC0+IHJlZ3Jlc3NfcHJpdl91c2VyMSAtPgorLS0gcmVncmVzc19w cml2X3VzZXIzKS4KKworLS0gcGluIHRoZSBncm91cCBtZW1iZXJzaGlwIHRoYXQgd2UgcmVseSBv biBiZWxvdworU0VMRUNUIHBnX2hhc19yb2xlKCdyZWdyZXNzX3ByaXZfdXNlcjQnLCAncmVncmVz c19wcml2X2dyb3VwMScsICdNRU1CRVInKSwKKwkgICBwZ19oYXNfcm9sZSgncmVncmVzc19wcml2 X3VzZXIxJywgJ3JlZ3Jlc3NfcHJpdl9ncm91cDInLCAnTUVNQkVSJyk7CisKK1NFVCBTRVNTSU9O IEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X2dyb3VwMTsKKworQ1JFQVRFIFRBQkxFIGF0ZXN0 NF9ncm91cG93bmVkIChhIGludCk7CisKK0dSQU5UIFNFTEVDVCBPTiBhdGVzdDRfZ3JvdXBvd25l ZCBUTyByZWdyZXNzX3ByaXZfdXNlcjQgV0lUSCBHUkFOVCBPUFRJT047CitHUkFOVCBVUERBVEUg T04gYXRlc3Q0X2dyb3Vwb3duZWQgVE8gcmVncmVzc19wcml2X2dyb3VwMiBXSVRIIEdSQU5UIE9Q VElPTjsKK0dSQU5UIFVQREFURSBPTiBhdGVzdDRfZ3JvdXBvd25lZCBUTyByZWdyZXNzX3ByaXZf dXNlcjEgV0lUSCBHUkFOVCBPUFRJT047CisKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVn cmVzc19wcml2X3VzZXI0OworCitHUkFOVCBTRUxFQ1QgT04gYXRlc3Q0X2dyb3Vwb3duZWQgVE8g cmVncmVzc19wcml2X3VzZXIyOworCitTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3Nf cHJpdl91c2VyMTsKKworR1JBTlQgVVBEQVRFIE9OIGF0ZXN0NF9ncm91cG93bmVkIFRPIHJlZ3Jl c3NfcHJpdl91c2VyMzsKKworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZf Z3JvdXAxOworCitSRVZPS0UgU0VMRUNUIE9OIGF0ZXN0NF9ncm91cG93bmVkIEZST00gcmVncmVz c19wcml2X3VzZXI0OyAtLSBmYWlsCitTRUxFQ1QgaGFzX3RhYmxlX3ByaXZpbGVnZSgncmVncmVz c19wcml2X3VzZXIyJywgJ2F0ZXN0NF9ncm91cG93bmVkJywgJ1NFTEVDVCcpOyAtLSB0cnVlCitT RUxFQ1QgaGFzX3RhYmxlX3ByaXZpbGVnZSgncmVncmVzc19wcml2X3VzZXI0JywgJ2F0ZXN0NF9n cm91cG93bmVkJywgJ1NFTEVDVCcpOyAtLSB0cnVlCitSRVZPS0UgU0VMRUNUIE9OIGF0ZXN0NF9n cm91cG93bmVkIEZST00gcmVncmVzc19wcml2X3VzZXI0IENBU0NBREU7IC0tIG9rCitTRUxFQ1Qg aGFzX3RhYmxlX3ByaXZpbGVnZSgncmVncmVzc19wcml2X3VzZXIyJywgJ2F0ZXN0NF9ncm91cG93 bmVkJywgJ1NFTEVDVCcpOyAtLSBmYWxzZQorU0VMRUNUIGhhc190YWJsZV9wcml2aWxlZ2UoJ3Jl Z3Jlc3NfcHJpdl91c2VyNCcsICdhdGVzdDRfZ3JvdXBvd25lZCcsICdTRUxFQ1QnKTsgLS0gc3Rp bGwgdHJ1ZSAoaW5oZXJpdGVkKQorCitSRVZPS0UgVVBEQVRFIE9OIGF0ZXN0NF9ncm91cG93bmVk IEZST00gcmVncmVzc19wcml2X3VzZXIxOyAtLSBmYWlsCitTRUxFQ1QgaGFzX3RhYmxlX3ByaXZp bGVnZSgncmVncmVzc19wcml2X3VzZXIzJywgJ2F0ZXN0NF9ncm91cG93bmVkJywgJ1VQREFURScp OyAtLSB0cnVlCitTRUxFQ1QgaGFzX3RhYmxlX3ByaXZpbGVnZSgncmVncmVzc19wcml2X3VzZXIx JywgJ2F0ZXN0NF9ncm91cG93bmVkJywgJ1VQREFURScpOyAtLSB0cnVlCitSRVZPS0UgVVBEQVRF IE9OIGF0ZXN0NF9ncm91cG93bmVkIEZST00gcmVncmVzc19wcml2X3VzZXIxIENBU0NBREU7IC0t IG9rCitTRUxFQ1QgaGFzX3RhYmxlX3ByaXZpbGVnZSgncmVncmVzc19wcml2X3VzZXIzJywgJ2F0 ZXN0NF9ncm91cG93bmVkJywgJ1VQREFURScpOyAtLSBmYWxzZQorU0VMRUNUIGhhc190YWJsZV9w cml2aWxlZ2UoJ3JlZ3Jlc3NfcHJpdl91c2VyMScsICdhdGVzdDRfZ3JvdXBvd25lZCcsICdVUERB VEUnKTsgLS0gc3RpbGwgdHJ1ZSAoaW5oZXJpdGVkKQorUkVWT0tFIFVQREFURSBPTiBhdGVzdDRf Z3JvdXBvd25lZCBGUk9NIHJlZ3Jlc3NfcHJpdl9ncm91cDIgUkVTVFJJQ1Q7IC0tIG9rCitTRUxF Q1QgaGFzX3RhYmxlX3ByaXZpbGVnZSgncmVncmVzc19wcml2X3VzZXIxJywgJ2F0ZXN0NF9ncm91 cG93bmVkJywgJ1VQREFURScpOyAtLSBmYWxzZQogCiAtLSBzZWN1cml0eS1yZXN0cmljdGVkIG9w ZXJhdGlvbnMKIFxjIC0KQEAgLTE5MTgsNiArMTk2MSw3IEBAIERST1AgVEFCTEUgYXRlc3QxOwog RFJPUCBUQUJMRSBhdGVzdDI7CiBEUk9QIFRBQkxFIGF0ZXN0MzsKIERST1AgVEFCTEUgYXRlc3Q0 OworRFJPUCBUQUJMRSBhdGVzdDRfZ3JvdXBvd25lZDsKIERST1AgVEFCTEUgYXRlc3Q1OwogRFJP UCBUQUJMRSBhdGVzdDY7CiBEUk9QIFRBQkxFIGF0ZXN0YzsKLS0gCjIuNTAuMSAoQXBwbGUgR2l0 LTE1NSkKCg== --===============0812947924676626743== Content-Type: text/x-patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="v2-0002-Test-grant-option-chains-through-a-grantor-that-b.patch" MIME-Version: 1.0 RnJvbSBhOTk5M2Y5YTRmZjkwMjY0YWExMGNiNzQ3ZDgzY2E1OGE0NTM4ZmVkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEtpbSA8bW9rMDMxMjdAZ21haWwuY29tPgpEYXRlOiBN b24sIDI4IFNlcCAyMDI2IDEwOjE3OjM0ICswOTAwClN1YmplY3Q6IFtQQVRDSCB2MiAyLzJdIFRl c3QgZ3JhbnQgb3B0aW9uIGNoYWlucyB0aHJvdWdoIGEgZ3JhbnRvciB0aGF0IGJlY2FtZQogc3Vw ZXJ1c2VyCgpUaGUgcHJldmlvdXMgY29tbWl0IHRlc3RzIGluaGVyaXRlZCBvd25lcnNoaXAgYW5k IGdyYW50IG9wdGlvbnMuCkFkZCBjb3ZlcmFnZSBmb3IgYW4gaW50ZXJtZWRpYXRlIGdyYW50b3Ig dGhhdCBiZWNvbWVzIGEgc3VwZXJ1c2VyCmFmdGVyIGlzc3VpbmcgYSBncmFudC4KCldpdGhvdXQg dGhlIGZpeCwgcmV2b2tpbmcgdGhhdCByb2xlJ3MgZ3JhbnQgb3B0aW9uIHN1Y2NlZWRzIGFuZCBs ZWF2ZXMKaXRzIGRlcGVuZGVudCBncmFudCBpbiB0aGUgQUNMLiBBZnRlciB0aGUgcm9sZSBsb3Nl cyBTVVBFUlVTRVIsCmR1bXAvcmVzdG9yZSBsb3NlcyB0aGUgZGVwZW5kZW50IGdyYW50IHdpdGgg YSB3YXJuaW5nLiBDaGVjayB0aGF0ClJFU1RSSUNUICh0aGUgZGVmYXVsdCkgcmVqZWN0cyB0aGUg cmV2b2NhdGlvbiBhbmQgQ0FTQ0FERSByZW1vdmVzCnRoZSBkZXBlbmRlbnQgZ3JhbnQuCgpEaXNj dXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tL0NBT1ltaSUyQiUzREtUTGQlMkJYc0VQJTNEVERp WjQ4aVZmLUNFYzdKclpkNXVoV1BZV0tFZk9neXlRJTQwbWFpbC5nbWFpbC5jb20KLS0tCiBzcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ByaXZpbGVnZXMub3V0IHwgMzEgKysrKysrKysrKysrKysr KysrKysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9wcml2aWxlZ2VzLnNxbCAgICAgIHwgMjkg KysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCsp CgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wcml2aWxlZ2VzLm91dCBi L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQKaW5kZXggNGRlOWQ3NDk1 NzQuLmI2Mjc2YjMwZDE1IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3By aXZpbGVnZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5v dXQKQEAgLTIwMDYsNiArMjAwNiwzNyBAQCBTRUxFQ1QgaGFzX3RhYmxlX3ByaXZpbGVnZSgncmVn cmVzc19wcml2X3VzZXIxJywgJ2F0ZXN0NF9ncm91cG93bmVkJywgJ1VQREFURScpOwogIGYKICgx IHJvdykKIAorLS0gU2FtZSwgYnV0IHRoZSBpbnRlcm1lZGlhdGUgZ3JhbnRvciBoYXMgYmVjb21l IGEgc3VwZXJ1c2VyIHNpbmNlIGlzc3VpbmcgaXRzCistLSBncmFudCAocmVncmVzc19wcml2X3Vz ZXIxIC0+IHJlZ3Jlc3NfcHJpdl9zdSAtPiByZWdyZXNzX3ByaXZfdXNlcjIpLgorUkVTRVQgU0VT U0lPTiBBVVRIT1JJWkFUSU9OOworQ1JFQVRFIFJPTEUgcmVncmVzc19wcml2X3N1OworU0VUIFNF U1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjE7CitDUkVBVEUgVEFCTEUgYXRl c3Q0X3N1IChhIGludCk7CitHUkFOVCBTRUxFQ1QgT04gYXRlc3Q0X3N1IFRPIHJlZ3Jlc3NfcHJp dl9zdSBXSVRIIEdSQU5UIE9QVElPTjsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVz c19wcml2X3N1OworR1JBTlQgU0VMRUNUIE9OIGF0ZXN0NF9zdSBUTyByZWdyZXNzX3ByaXZfdXNl cjI7CitSRVNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT047CitBTFRFUiBST0xFIHJlZ3Jlc3NfcHJp dl9zdSBTVVBFUlVTRVI7CitTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91 c2VyMTsKK1JFVk9LRSBHUkFOVCBPUFRJT04gRk9SIFNFTEVDVCBPTiBhdGVzdDRfc3UgRlJPTSBy ZWdyZXNzX3ByaXZfc3U7IC0tIGZhaWwKK0VSUk9SOiAgZGVwZW5kZW50IHByaXZpbGVnZXMgZXhp c3QKK0hJTlQ6ICBVc2UgQ0FTQ0FERSB0byByZXZva2UgdGhlbSB0b28uCitTRUxFQ1QgaGFzX3Rh YmxlX3ByaXZpbGVnZSgncmVncmVzc19wcml2X3VzZXIyJywgJ2F0ZXN0NF9zdScsICdTRUxFQ1Qn KTsgLS0gdHJ1ZQorIGhhc190YWJsZV9wcml2aWxlZ2UgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyB0CisoMSByb3cpCisKK1JFVk9LRSBHUkFOVCBPUFRJT04gRk9SIFNFTEVDVCBPTiBhdGVzdDRf c3UgRlJPTSByZWdyZXNzX3ByaXZfc3UgQ0FTQ0FERTsgLS0gb2sKK1NFTEVDVCBoYXNfdGFibGVf cHJpdmlsZWdlKCdyZWdyZXNzX3ByaXZfdXNlcjInLCAnYXRlc3Q0X3N1JywgJ1NFTEVDVCcpOyAt LSBmYWxzZQorIGhhc190YWJsZV9wcml2aWxlZ2UgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBm CisoMSByb3cpCisKK1JFU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTjsKK0RST1AgVEFCTEUgYXRl c3Q0X3N1OworRFJPUCBST0xFIHJlZ3Jlc3NfcHJpdl9zdTsKIC0tIHNlY3VyaXR5LXJlc3RyaWN0 ZWQgb3BlcmF0aW9ucwogXGMgLQogQ1JFQVRFIFJPTEUgcmVncmVzc19zcm9fdXNlcjsKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ByaXZpbGVnZXMuc3FsIGIvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvcHJpdmlsZWdlcy5zcWwKaW5kZXggYzM0ZjUxOTZmZTUuLmEwNWFhZTM0YjZiIDEw MDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wcml2aWxlZ2VzLnNxbAorKysgYi9zcmMv dGVzdC9yZWdyZXNzL3NxbC9wcml2aWxlZ2VzLnNxbApAQCAtMTI4Nyw2ICsxMjg3LDM1IEBAIFNF TEVDVCBoYXNfdGFibGVfcHJpdmlsZWdlKCdyZWdyZXNzX3ByaXZfdXNlcjEnLCAnYXRlc3Q0X2dy b3Vwb3duZWQnLCAnVVBEQVRFJyk7CiBSRVZPS0UgVVBEQVRFIE9OIGF0ZXN0NF9ncm91cG93bmVk IEZST00gcmVncmVzc19wcml2X2dyb3VwMiBSRVNUUklDVDsgLS0gb2sKIFNFTEVDVCBoYXNfdGFi bGVfcHJpdmlsZWdlKCdyZWdyZXNzX3ByaXZfdXNlcjEnLCAnYXRlc3Q0X2dyb3Vwb3duZWQnLCAn VVBEQVRFJyk7IC0tIGZhbHNlCiAKKy0tIFNhbWUsIGJ1dCB0aGUgaW50ZXJtZWRpYXRlIGdyYW50 b3IgaGFzIGJlY29tZSBhIHN1cGVydXNlciBzaW5jZSBpc3N1aW5nIGl0cworLS0gZ3JhbnQgKHJl Z3Jlc3NfcHJpdl91c2VyMSAtPiByZWdyZXNzX3ByaXZfc3UgLT4gcmVncmVzc19wcml2X3VzZXIy KS4KK1JFU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTjsKK0NSRUFURSBST0xFIHJlZ3Jlc3NfcHJp dl9zdTsKKworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjE7CisK K0NSRUFURSBUQUJMRSBhdGVzdDRfc3UgKGEgaW50KTsKKworR1JBTlQgU0VMRUNUIE9OIGF0ZXN0 NF9zdSBUTyByZWdyZXNzX3ByaXZfc3UgV0lUSCBHUkFOVCBPUFRJT047CisKK1NFVCBTRVNTSU9O IEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3N1OworCitHUkFOVCBTRUxFQ1QgT04gYXRlc3Q0 X3N1IFRPIHJlZ3Jlc3NfcHJpdl91c2VyMjsKKworUkVTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9O OworQUxURVIgUk9MRSByZWdyZXNzX3ByaXZfc3UgU1VQRVJVU0VSOworCitTRVQgU0VTU0lPTiBB VVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMTsKKworUkVWT0tFIEdSQU5UIE9QVElPTiBG T1IgU0VMRUNUIE9OIGF0ZXN0NF9zdSBGUk9NIHJlZ3Jlc3NfcHJpdl9zdTsgLS0gZmFpbAorU0VM RUNUIGhhc190YWJsZV9wcml2aWxlZ2UoJ3JlZ3Jlc3NfcHJpdl91c2VyMicsICdhdGVzdDRfc3Un LCAnU0VMRUNUJyk7IC0tIHRydWUKK1JFVk9LRSBHUkFOVCBPUFRJT04gRk9SIFNFTEVDVCBPTiBh dGVzdDRfc3UgRlJPTSByZWdyZXNzX3ByaXZfc3UgQ0FTQ0FERTsgLS0gb2sKK1NFTEVDVCBoYXNf dGFibGVfcHJpdmlsZWdlKCdyZWdyZXNzX3ByaXZfdXNlcjInLCAnYXRlc3Q0X3N1JywgJ1NFTEVD VCcpOyAtLSBmYWxzZQorCitSRVNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT047CitEUk9QIFRBQkxF IGF0ZXN0NF9zdTsKK0RST1AgUk9MRSByZWdyZXNzX3ByaXZfc3U7CisKIC0tIHNlY3VyaXR5LXJl c3RyaWN0ZWQgb3BlcmF0aW9ucwogXGMgLQogQ1JFQVRFIFJPTEUgcmVncmVzc19zcm9fdXNlcjsK LS0gCjIuNTAuMSAoQXBwbGUgR2l0LTE1NSkKCg== --===============0812947924676626743==--